From ce61f4abe57edf4451ee7276cb1371afc6d429cc Mon Sep 17 00:00:00 2001 From: October CMS Date: Sun, 28 May 2023 15:20:43 +1000 Subject: [PATCH 01/19] Dark mode fix --- assets/less/treeview.less | 3 +-- docs/documentation.md | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/assets/less/treeview.less b/assets/less/treeview.less index 906d991..3313b21 100644 --- a/assets/less/treeview.less +++ b/assets/less/treeview.less @@ -11,7 +11,6 @@ @color-treeview-item-active-comment: #ffffff; @color-treeview-light-submenu-bg: lighten(@brand-primary, 5%); @color-treeview-light-submenu-border: @brand-primary; -@color-panel-light: #f0f4f8; @font-size-base: 14px; .control-treeview { @@ -39,7 +38,7 @@ font-size: @font-size-base; font-weight: normal; background: @color-treeview-item-bg; - border-bottom: 1px solid @color-panel-light; + border-bottom: 1px solid @tertiary-bg; position: relative; > a { diff --git a/docs/documentation.md b/docs/documentation.md index c6f83d3..28c16d1 100644 --- a/docs/documentation.md +++ b/docs/documentation.md @@ -380,7 +380,7 @@ In addition, properties can be passed to the partial components using an [extern ###### Snippets created from components -Any component can be registered as a snippet and be used in Static Pages. To register a snippet, add the `registerPageSnippets()` method to your plugin class in the [registration file](https://octobercms.com/docs/plugin/registration#registration-file). The API for registering a snippet is similar to the one for [registering components](https://octobercms.com/docs/plugin/registration#component-registration) - the method should return an array with class names in keys and aliases in values: +Any component can be registered as a snippet and be used in Static Pages. To register a snippet, add the `registerPageSnippets()` method to your plugin class in the [registration file](https://octobercms.com/docs/plugin/registration#registration-file). The API for registering a snippet is similar to the one for [registering components](https://octobercms.com/docs/plugin/registration#component-registration) - the method should return an array with class names in keys and aliases in values: public function registerPageSnippets() { From 6ede93a1efbae6a5f166b6974e5a12925aecce1f Mon Sep 17 00:00:00 2001 From: October CMS Date: Sat, 3 Jun 2023 12:39:44 +1000 Subject: [PATCH 02/19] Porting snippets docs --- README.md | 8 +--- docs/component-childpages.md | 2 +- docs/component-staticbreadcrumbs.md | 2 +- docs/component-staticmenu.md | 7 ++-- docs/documentation.md | 65 ----------------------------- 5 files changed, 7 insertions(+), 77 deletions(-) diff --git a/README.md b/README.md index ccb9768..5a95e88 100644 --- a/README.md +++ b/README.md @@ -18,13 +18,7 @@ If a static layout contains [placeholders](https://octobercms.com/docs/cms/layou ## Snippets -Snippets are elements that can be added by a Static Page, in the rich text editor. They allow to inject complex (and interactive) areas to pages. There are many possible applications and examples of using Snippets: - -* Google Maps snippet - outputs a map centered on specific coordinates with predefined zoom factor. That snippet would be great for static pages that explain directions. -* Universal commenting system - allows visitors to post comments to any static page. -* Third-party integrations - for example with Yelp or TripAdvisor for displaying extra information on a static page. - -Snippets are displayed in the sidebar list on the Static Pages and can be added into a rich editor with a mouse click. Snippets are configurable and have properties that users can manage with the Inspector. +Snippets is a [featured included with October CMS](https://docs.octobercms.com/3.x/cms/themes/snippets.html), with elements that can be added by a Static Page, in the rich text editor. They allow you to inject complex (and interactive) areas to pages. Snippets are configurable and have properties that users can manage with the Inspector. ![image](https://raw.githubusercontent.com/rainlab/pages-plugin/master/docs/images/snippets-backend.png) diff --git a/docs/component-childpages.md b/docs/component-childpages.md index 55268c1..94e588b 100644 --- a/docs/component-childpages.md +++ b/docs/component-childpages.md @@ -32,4 +32,4 @@ Property | Type | Description {% for page in childPages.pages %}
  • {{ page.title }}
  • {% endfor %} -``` \ No newline at end of file +``` diff --git a/docs/component-staticbreadcrumbs.md b/docs/component-staticbreadcrumbs.md index 27db415..c3de30f 100644 --- a/docs/component-staticbreadcrumbs.md +++ b/docs/component-staticbreadcrumbs.md @@ -41,4 +41,4 @@ Property | Type | Description {% for item in staticBreadCrumbs.breadcrumbs %}
  • {{ item.title }}
  • {% endfor %} -``` \ No newline at end of file +``` diff --git a/docs/component-staticmenu.md b/docs/component-staticmenu.md index d7d2360..2e0e398 100644 --- a/docs/component-staticmenu.md +++ b/docs/component-staticmenu.md @@ -1,21 +1,22 @@ # Component: Static Menu (staticMenu) ## Purpose + Outputs a single menu -## Available properties: +## Available Properties Property | Inspector Name | Description -------- | -------------- | ----------- `code` | Menu | The code (identifier) for the menu that should be displayed by the component -## Page variables +## Page Variables Variable | Type | Description -------- | ---- | ----------- `menuItems` | `array` | Array of `RainLab\Pages\Classes\MenuItemReference` objects representing the defined menu -## Default output +## Default Output The default component partial outputs a simple nested unordered list for menus: diff --git a/docs/documentation.md b/docs/documentation.md index 28c16d1..e2c65aa 100644 --- a/docs/documentation.md +++ b/docs/documentation.md @@ -344,71 +344,6 @@ To determine whether an item is active just compare it with the `$url` argument In order to override generated references you can listen to `pages.menu.referencesGenerated` event that fires right before injecting to page object. For example you can filter the unwanted menu entries. -#### Snippets - -Snippets are elements that can be added by non-technical user to a Static Page, in the rich text editor. They allow to inject complex (and interactive) areas to pages. There are many possible applications and examples of using Snippets: - -* Google Maps snippet - outputs a map centered on specific coordinates with predefined zoom factor. That snippet would be great for static pages that explain directions. -* Universal commenting system - allows visitors to post comments to any static page. -* Third-party integrations - for example with Yelp or TripAdvisor for displaying extra information on a static page. - -Snippets are displayed in the sidebar list on the Static Pages and can be added into a rich editor with a mouse click. Snippets are configurable and have properties that users can manage with the Inspector. - -Snippets can be created from partials or programmatically in plugins. Conceptually snippets are similar to CMS components (and technically, components can act as snippets). - -###### Snippets created from partials - -Partial-based snippets provide simpler functionality and usually are just containers for HTML markup (or markup generated with Twig in a snippet). - -To create snippet from a partial just enter the snippet code and snippet name in the partial form. - -![image](https://raw.githubusercontent.com/rainlab/pages-plugin/master/docs/images/snippets-partial.png) - -The snippet properties are optional and can be defined with the grid control on the partial settings form. The table has the following columns: - -* Property title - specifies the property title. The property title will be visible to the end user in the snippet inspector popup window. -* Property code - specifies the property code. The property code is used for accessing the property values in the partial markup. See the example below. The property code should start with a Latin letter and can contain Latin letters and digits. -* Type - the property type. Available types are String, Dropdown and Checkbox. -* Default - the default property value. For Checkbox properties use 0 and 1 values. -* Options - the option list for the drop-down properties. The option list should have the following format: `key:Value | key2:Value`. The keys represent the internal option value, and values represent the string that users see in the drop-down list. The pipe character separates individual options. Example: `us:US | ca:Canada`. The key is optional, if it's omitted (`US | Canada`), the internal option value will be zero-based integer (0, 1, ...). It's recommended to always use explicit option keys. The keys can contain only Latin letters, digits and characters - and _. - -Any property defined in the property list can be accessed within the partial markdown as a usual variable, for example: - - The country name is {{ country }} - -In addition, properties can be passed to the partial components using an [external property value](http://octobercms.com/docs/cms/components#external-property-values). - -###### Snippets created from components - -Any component can be registered as a snippet and be used in Static Pages. To register a snippet, add the `registerPageSnippets()` method to your plugin class in the [registration file](https://octobercms.com/docs/plugin/registration#registration-file). The API for registering a snippet is similar to the one for [registering components](https://octobercms.com/docs/plugin/registration#component-registration) - the method should return an array with class names in keys and aliases in values: - - public function registerPageSnippets() - { - return [ - '\RainLab\Weather\Components\Weather' => 'weather' - ]; - } - -A same component can be registered with registerPageSnippets() and registerComponents() and used in CMS pages and Static Pages. - -###### Extending the list of snippets - -If you want to dynamically extend the list of the snippets you can bind to the `pages.snippets.listSnippets` event. - -An example usage to add a snippet to the list: - - Event::listen('pages.snippets.listSnippets', function($manager) { - $snippet = new \RainLab\Pages\Classes\Snippet(); - $snippet->initFromComponentInfo('\Example\Plugin\Components\ComponentClass', 'snippetCode'); - $manager->addSnippet($snippet); - }); - -An example usage to remove a snippet from the list: - - Event::listen('pages.snippets.listSnippets', function($manager) { - $manager->removeSnippet('snippetCode'); - }); - ##### Custom page fields There is a special syntax you can use inside your layout to add custom fields to the page editor form, called *Syntax Fields*. For example, if you add the following markup to a Layout that uses Static Pages: From 220205402a51ab74e0b1c89425c3133f6ed51b39 Mon Sep 17 00:00:00 2001 From: October CMS Date: Sat, 3 Jun 2023 13:42:26 +1000 Subject: [PATCH 03/19] Refactor docs --- docs/documentation.md => DOCS.md | 615 ++++++++++++++++-------- README.md | 36 +- docs/component-childpages.md | 35 -- docs/component-staticbreadcrumbs.md | 44 -- docs/component-staticmenu.md | 66 --- docs/component-staticpage.md | 39 -- docs/{images => }/menu-item.png | Bin docs/{images => }/menu-management.png | Bin docs/{images => }/snippets-backend.png | Bin docs/{images => }/snippets-frontend.png | Bin docs/{images => }/snippets-partial.png | Bin docs/{images => }/static-layout.png | Bin docs/{images => }/static-page.png | Bin 13 files changed, 445 insertions(+), 390 deletions(-) rename docs/documentation.md => DOCS.md (50%) delete mode 100644 docs/component-childpages.md delete mode 100644 docs/component-staticbreadcrumbs.md delete mode 100644 docs/component-staticmenu.md delete mode 100644 docs/component-staticpage.md rename docs/{images => }/menu-item.png (100%) rename docs/{images => }/menu-management.png (100%) rename docs/{images => }/snippets-backend.png (100%) rename docs/{images => }/snippets-frontend.png (100%) rename docs/{images => }/snippets-partial.png (100%) rename docs/{images => }/static-layout.png (100%) rename docs/{images => }/static-page.png (100%) diff --git a/docs/documentation.md b/DOCS.md similarity index 50% rename from docs/documentation.md rename to DOCS.md index e2c65aa..9b8167d 100644 --- a/docs/documentation.md +++ b/DOCS.md @@ -1,75 +1,85 @@ +# Pages Plugin Documentation + The plugin currently includes three components: Static Page, Static Menu and Static Breadcrumbs. -### Integrating the Static Pages plugin +## Integrating the Static Pages Plugin In the simplest case you could create a [layout](https://octobercms.com/docs/cms/layouts) in the CMS area and include the plugin's components to its body. The next example layout outputs a menu, breadcrumbs and a static page: - - - {{ this.page.title }} - - - {% component 'staticMenu' %} - {% component 'staticBreadcrumbs' %} - {% page %} - - +```twig + + + {{ this.page.title }} + + + {% component 'staticMenu' %} + {% component 'staticBreadcrumbs' %} + {% page %} + + +``` -![image](https://raw.githubusercontent.com/rainlab/pages-plugin/master/docs/images/static-layout.png) {.img-responsive .frame} +![image](https://raw.githubusercontent.com/rainlab/pages-plugin/master/docs/static-layout.png) {.img-responsive .frame} -##### Static pages +## Static Pages Include the Static Page [component](http://octobercms.com/docs/cms/components) to the layout. The Static Page component has two public properties: * `title` - specifies the static page title. * `content` - the static page content. -##### Static menus +## Static Menus Add the staticMenu component to the static page layout to output a menu. The static menu component has the `code` property that should refer a code of a static menu the component should display. In the Inspector the `code` field is displayed as Menu. The static menu component injects the `menuItems` page variable. The default component partial outputs a simple nested unordered list for menus: - +```html + +``` You might want to render the menus with your own code. The `menuItems` variable is an array of the `RainLab\Pages\Classes\MenuItemReference` objects. Each object has the following properties: -* `title` - specifies the menu item title. -* `url` - specifies the absolute menu item URL. -* `isActive` - indicates whether the item corresponds to a page currently being viewed. -* `isChildActive` - indicates whether the item contains an active subitem. -* `items` - an array of the menu item subitems, if any. If there are no subitems, the array is empty +- `title` - specifies the menu item title. +- `url` - specifies the absolute menu item URL. +- `isActive` - indicates whether the item corresponds to a page currently being viewed. +- `isChildActive` - indicates whether the item contains an active subitem. +- `items` - an array of the menu item subitems, if any. If there are no subitems, the array is empty The static menu component also has the `menuItems` property that you can access in the Twig code using the component's alias, for example: - {% for item in staticMenu.menuItems %} -
  • {{ item.title }}
  • - {% endfor %} +```twig +{% for item in staticMenu.menuItems %} +
  • {{ item.title }}
  • +{% endfor %} +``` -##### Breadcrumbs +## Breadcrumbs The staticBreadcrumbs component outputs breadcrumbs for static pages. This component doesn't have any properties. The default component partial outputs a simple unordered list for the breadcrumbs: - +```html + +``` The component injects the `breadcrumbs` page variable that contains an array of the `MenuItemReference` objects described above. -##### Setting the active menu item explicitly +## Setting the Active Menu Item Explicitly In some cases you might want to mark a specific menu item as active explicitly. You can do that in the page's [`onInit()`](http://octobercms.com/docs/cms/pages#dynamic-pages) function with assigning the `activeMenuItem` page variable a value matching the menu item code you want to make active. Menu item codes are managed in the Edit Menu Item popup. @@ -80,7 +90,7 @@ function onInit() } ``` -##### Linking to static pages +## Linking to Static Pages When a static page is first created it will be assigned a file name based on the URL. For example, a page with the URL **/chairs** will create a content file called **static-pages/chairs.htm** in the theme. This file will not change even if the URL is changed at a later time. @@ -108,7 +118,7 @@ Linking to the current page, if the component name is called `staticPage`: ​{{ staticPage.page.baseFileName|staticPage }} ``` -##### Manually displaying a static menu +## Manually Displaying a Static Menu When a static menu is first created it will be assigned a file name based on the menu name (menu code can also be manually defined). For example, a menu with the name **Primary Nav** will create a meta file called **menus/primary-nav.yaml** in the theme. This file will not change even if the menu name is changed at a later time. @@ -132,31 +142,37 @@ Or, use the resetMenu method on the staticMenu component, so we can manually con ``` -##### Backend forms +## Form Widgets If you need to select from a list of static pages in your own backend forms, you can use the `staticpagepicker` widget: - fields: - field_name: - label: Static Page - type: staticpagepicker +```yaml +fields: + field_name: + label: Static Page + type: staticpagepicker +``` The field's assigned value will be the static page's file name, which can be used to link to the page as described above. If you need to select from a list of static menus in your own backend forms, you can use the `staticmenupicker` widget: - fields: - field_name: - label: Static Menu - type: staticmenupicker +```yaml +fields: + field_name: + label: Static Menu + type: staticmenupicker +``` The field's assigned value will be the static menu's code, which can be used to link to the menu as described above. -### Placeholders +## Placeholders [Placeholders](https://octobercms.com/docs/cms/layouts#placeholders) defined in the layout are automatically detected by the Static Pages plugin. The Edit Static Page form displays a tab for each placeholder defined in the layout used by the page. Placeholders are defined in the layout in the usual way: - {% placeholder ordering %} +```twig +{% placeholder ordering %} +``` The `placeholder` tag accepts some optional attributes: @@ -165,126 +181,144 @@ The `placeholder` tag accepts some optional attributes: The content of text placeholders is escaped before it's displayed. Text placeholders are edited with a regular (non-WYSIWYG) text editor. The title and type attributes should be defined after the placeholder code: - {% placeholder ordering title="Ordering information" type="text" %} +```twig +{% placeholder ordering title="Ordering information" type="text" %} +``` They should also appear after the `default` attribute, if it's presented. - {% placeholder ordering default title="Ordering information" type="text" %} - There is no ordering information for this product. - {% endplaceholder %} +```twig +{% placeholder ordering default title="Ordering information" type="text" %} + There is no ordering information for this product. +{% endplaceholder %} +``` To prevent a placeholder from appearing in the editor set the `type` attribute to **hidden**. - {% placeholder systemInfo type="hidden" %} +```twig +{% placeholder systemInfo type="hidden" %} +``` -### Creating new menu item types +## Creating New Menu Item Types Plugins can extend the Static Pages plugin with new menu item types. Please refer to the [Blog plugin](https://octobercms.com/plugin/rainlab-blog) for the integration example. New item types are registered with the API events triggered by the Static Pages plugin. The event handlers should be defined in the `boot()` method of the [plugin registration file](https://octobercms.com/docs/plugin/registration#registration-file). There are three events that should be handled in the plugin. -* `pages.menuitem.listType` event handler should return a list of new menu item types supported by the plugin. -* `pages.menuitem.getTypeInfo` event handler returns detailed information about a menu item type. -* `pages.menuitem.resolveItem` event handler "resolves" a menu item information and returns the actual item URL, title, an indicator whether the item is currently active, and subitems, if any. +- `pages.menuitem.listType` event handler should return a list of new menu item types supported by the plugin. +- `pages.menuitem.getTypeInfo` event handler returns detailed information about a menu item type. +- `pages.menuitem.resolveItem` event handler "resolves" a menu item information and returns the actual item URL, title, an indicator whether the item is currently active, and subitems, if any. The next example shows an event handler registration code for the Blog plugin. The Blog plugin registers two item types. As you can see, the Blog plugin uses the Category class to handle the events. That's a recommended approach. - public function boot() - { - Event::listen('pages.menuitem.listTypes', function() { - return [ - 'blog-category'=>'Blog category', - 'all-blog-categories'=>'All blog categories', - ]; - }); - - Event::listen('pages.menuitem.getTypeInfo', function($type) { - if ($type == 'blog-category' || $type == 'all-blog-categories') { - return Category::getMenuTypeInfo($type); - } - }); - - Event::listen('pages.menuitem.resolveItem', function($type, $item, $url, $theme) { - if ($type == 'blog-category' || $type == 'all-blog-categories') { - return Category::resolveMenuItem($item, $url, $theme); - } - }); - } +```php +public function boot() +{ + Event::listen('pages.menuitem.listTypes', function() { + return [ + 'blog-category'=>'Blog category', + 'all-blog-categories'=>'All blog categories', + ]; + }); + + Event::listen('pages.menuitem.getTypeInfo', function($type) { + if ($type == 'blog-category' || $type == 'all-blog-categories') { + return Category::getMenuTypeInfo($type); + } + }); + + Event::listen('pages.menuitem.resolveItem', function($type, $item, $url, $theme) { + if ($type == 'blog-category' || $type == 'all-blog-categories') { + return Category::resolveMenuItem($item, $url, $theme); + } + }); +} +``` -##### Registering new menu item types +### Registering New Menu Item Types New menu item types are registered with the `pages.menuitem.listTypes` event handlers. The handler should return an associative array with the type codes in indexes and type names in values. It's highly recommended to use the plugin name in the type codes, to avoid conflicts with other menu item type providers. Example: - [ - `my-plugin-item-type` => 'My plugin menu item type' - ] +```php +[ + `my-plugin-item-type` => 'My plugin menu item type' +] +``` -##### Returning information about an item type +### Returning Information About an Item Type Plugins should provide detailed information about the supported menu item types with the `pages.menuitem.getTypeInfo` event handlers. The handler gets a single parameter - the menu item type code (one of the codes you registered with the `pages.menuitem.listTypes` handler). The handler code must check whether the requested item type code belongs to the plugin. The handler should return an associative array in the following format: - Array ( - [dynamicItems] => 0, - [nesting] => 0, - [references] => Array ( - [11] => News, - [12] => Tutorials, - [33] => Philosophy - ) - [cmsPages] => Array ( - [0] => Cms\Classes\Page object, - [1] => Cms\Classes\Page object - ) +``` +Array ( + [dynamicItems] => 0, + [nesting] => 0, + [references] => Array ( + [11] => News, + [12] => Tutorials, + [33] => Philosophy ) + [cmsPages] => Array ( + [0] => Cms\Classes\Page object, + [1] => Cms\Classes\Page object + ) +) +``` All elements of the array are optional and depend on the menu item type. The default values for `dynamicItems` and `nesting` are `false` and these keys can be omitted. -###### dynamicItems element +#### dynamicItems element The `dynamicItems` element is a Boolean value indicating whether the item type could generate new menu items. Optional, false if omitted. Examples of menu item types that generate new menu items: **All blog categories**, **Static page**. Examples of item types that don't generate new menu items: **URL**, **Blog category**. -###### nesting element +#### nesting element The `nesting` element is a Boolean value indicating whether the item type supports nested items. Optional, `false` if omitted. Examples of item types that support nesting: **Static page**, **All static pages**. Examples of item types that don't support nesting: **Blog category**, **URL**. -###### references element +#### references element The `references` element is a list objects the menu item could refer to. For example, the **Blog category** menu item type returns a list of the blog categories. Some object supports nesting, for example static pages. Other objects don't support nesting, for example the blog categories. The format of the `references` value depends on whether the references have subitems or not. The format for references that don't support subitems is - ['item-key' => 'Item title'] +``` +['item-key' => 'Item title'] +``` The format for references with subitems is - ['item-key' => ['title'=>'Item title', 'items'=>[...]]] +``` +['item-key' => ['title'=>'Item title', 'items'=>[...]]] +``` The reference keys should reflect the object identifier they represent. For blog categories keys match the category identifiers. A plugin should be able to load an object by its key in the `pages.menuitem.resolveItem` event handler. The references element is optional, it is required only if a menu item type supports the Reference drop-down, or, in other words, if the user should be able to select an object the menu item refers to. -###### cmsPages element +#### cmsPages element The `cmsPages` is a list of CMS pages that can display objects supported by the menu item type. For example, for the **Blog category** item type the page list contains pages that host the `blogPosts` component. That component can display a blog category contents. The `cmsPages` element should be an array of the `Cms\Classes\Page` objects. The next code snippet shows how to return a list of pages hosting a specific component. - use Cms\Classes\Page as CmsPage; - use Cms\Classes\Theme; +```php +use Cms\Classes\Page as CmsPage; +use Cms\Classes\Theme; - ... +// ... - $result = []; - ... - $theme = Theme::getActiveTheme(); - $pages = CmsPage::listInTheme($theme, true); +$result = []; +// ... +$theme = Theme::getActiveTheme(); +$pages = CmsPage::listInTheme($theme, true); - $cmsPages = []; - foreach ($pages as $page) { - if (!$page->hasComponent('blogPosts')) { - continue; - } - - $cmsPages[] = $page; +$cmsPages = []; +foreach ($pages as $page) { + if (!$page->hasComponent('blogPosts')) { + continue; } - $result['cmsPages'] = $cmsPages; - ... - return $result; + $cmsPages[] = $page; +} -##### Resolving menu items +$result['cmsPages'] = $cmsPages; +// ... +return $result; +``` + +### Resolving Menu Items When the Static Pages plugin generates a menu on the front-end, every menu item should **resolved** by the plugin that supplies the menu item type. The process of resolving involves generating the real item URL, determining whether the menu item is active, and generating the subitems (if required). Plugins should register the `pages.menuitem.resolveItem` event handler in order to resolve menu items. The event handler takes four arguments: @@ -295,23 +329,25 @@ When the Static Pages plugin generates a menu on the front-end, every menu item The event handler should return an array. The array keys depend on whether the menu item contains subitems or not. Expected result format: - Array ( - [url] => https://example.com/blog/category/another-category - [isActive] => 1, - [items] => Array ( - [0] => Array ( - [title] => Another category - [url] => https://example.com/blog/category/another-category - [isActive] => 1 - ) - - [1] => Array ( - [title] => News - [url] => https://example.com/blog/category/news - [isActive] => 0 - ) +``` +Array ( + [url] => https://example.com/blog/category/another-category + [isActive] => 1, + [items] => Array ( + [0] => Array ( + [title] => Another category + [url] => https://example.com/blog/category/another-category + [isActive] => 1 + ) + + [1] => Array ( + [title] => News + [url] => https://example.com/blog/category/news + [isActive] => 0 ) ) +) +``` The `url` and `isActive` elements are required for menu items that point to a specific page, but it's not always the case. For example, the **All blog categories** menu item type doesn't have a specific page to point to. It generates multiple menu items. In this case the items should be listed in the `items` element. The `items` element should only be provided if the menu item's `nesting` property is `true`. @@ -319,96 +355,283 @@ As the resolving process occurs every time when the front-end page is rendered, If your item type requires a CMS page to resolve item URLs, you might need to return the selected page's URL, and sometimes pass parameters to the page through the URL. The next code example shows how to load a blog category CMS page referred by a menu item and how to generate an URL to this page. The blog category page has the `blogPosts` component that can load the requested category slug from the URL. We assume that the URL parameter is called 'slug', although it can be edited manually. We skip the part that loads the real parameter name for the simplicity. Please refer to the [Blog plugin](https://octobercms.com/plugin/rainlab-blog) for the reference. - use Cms\Classes\Page as CmsPage; - use October\Rain\Router\Helper as RouterHelper; - use Str; - use Url; +```php +use Cms\Classes\Page as CmsPage; +use October\Rain\Router\Helper as RouterHelper; +use Str; +use Url; - ... +... - $page = CmsPage::loadCached($theme, $item->cmsPage); +$page = CmsPage::loadCached($theme, $item->cmsPage); - // Always check if the page can be resolved - if (!$page) { - return; - } +// Always check if the page can be resolved +if (!$page) { + return; +} - // Generate the URL - $url = CmsPage::url($page->getBaseFileName(), ['slug' => $category->slug]); +// Generate the URL +$url = CmsPage::url($page->getBaseFileName(), ['slug' => $category->slug]); - $url = Url::to(Str::lower(RouterHelper::normalizeUrl($url))); +$url = Url::to(Str::lower(RouterHelper::normalizeUrl($url))); +``` To determine whether an item is active just compare it with the `$url` argument of the event handler. -#### Overriding generated references +### Overriding Generated References In order to override generated references you can listen to `pages.menu.referencesGenerated` event that fires right before injecting to page object. For example you can filter the unwanted menu entries. -##### Custom page fields +## Custom Page Fields There is a special syntax you can use inside your layout to add custom fields to the page editor form, called *Syntax Fields*. For example, if you add the following markup to a Layout that uses Static Pages: - {variable name="tagline" label="Tagline" tab="Header" type="text"}{/variable} - {variable name="banner" label="Banner" tab="Header" type="mediafinder" mode="image"}{/variable} - {variable name="color" label="Color" tab="Header" type="dropdown" - options="blue:Blue | orange:Orange | red:Red" - }{/variable} +``` +{variable name="tagline" label="Tagline" tab="Header" type="text"}{/variable} +{variable name="banner" label="Banner" tab="Header" type="mediafinder" mode="image"}{/variable} +{variable name="color" label="Color" tab="Header" type="dropdown" + options="blue:Blue | orange:Orange | red:Red" +}{/variable} +``` These act just like regular form field definitions. Accessing the variables inside the markup is just as easy: -

    {{ tagline }}

    - +```twig +

    {{ tagline }}

    + +``` All custom fields are placed in the Secondary tabs container (next to Content field). If you need to place them in the Primary tabs container, use *placement="primary"* attribute. - {variable name="tagline" label="Tagline" tab="Header" type="text" placement="primary"}{/variable} +``` +{variable name="tagline" label="Tagline" tab="Header" type="text" placement="primary"}{/variable} +``` Alternatively you may use the field type as the tag name, here we use the `{text}` tag to directly render the `tagline` variable: -

    {text name="tagline" label="Tagline"}Our wonderful website{/text}

    +```html +

    {text name="tagline" label="Tagline"}Our wonderful website{/text}

    +``` You may also use the `{repeater}` tag for repeating content: - {repeater name="content_sections" prompt="Add another content section"} -

    - {text name="content_header" label="Content section" placeholder="Type in a heading and enter some content for it below"}{/text} -

    -
    - {richeditor name="content_body" size="large"}{/richeditor} -
    - {/repeater} +```html +{repeater name="content_sections" prompt="Add another content section"} +

    + {text name="content_header" label="Content section" placeholder="Type in a heading and enter some content for it below"}{/text} +

    +
    + {richeditor name="content_body" size="large"}{/richeditor} +
    +{/repeater} +``` For more details on syntax fields, see the [Parser section](https://octobercms.com/docs/services/parser#dynamic-syntax-parser) of the October documentation. -##### Custom menu item form fields +## Custom Menu Item Form Fields Just like CMS objects have the view bag component to store arbitrary values, you may use the `viewBag` property of the `MenuItem` class to store custom data values and add corresponding form fields. - Event::listen('backend.form.extendFields', function ($widget) { - if ( - !$widget->getController() instanceof \RainLab\Pages\Controllers\Index || - !$widget->model instanceof \RainLab\Pages\Classes\MenuItem - ) { - return; - } +```php +Event::listen('backend.form.extendFields', function ($widget) { + if ( + !$widget->getController() instanceof \RainLab\Pages\Controllers\Index || + !$widget->model instanceof \RainLab\Pages\Classes\MenuItem + ) { + return; + } - $widget->addTabFields([ - 'viewBag[featured]' => [ - 'tab' => 'Display', - 'label' => 'Featured', - 'comment' => 'Mark this menu item as featured', - 'type' => 'checkbox' - ] - ]); - }); + $widget->addTabFields([ + 'viewBag[featured]' => [ + 'tab' => 'Display', + 'label' => 'Featured', + 'comment' => 'Mark this menu item as featured', + 'type' => 'checkbox' + ] + ]); +}); +``` This value can then be accessed in Twig using the `{{ item.viewBag }}` property on the menu item. For example: - {% for item in items %} -
  • - - {{ item.title }} - -
  • - {% endfor %} +```twig +{% for item in items %} +
  • + + {{ item.title }} + +
  • +{% endfor %} +``` + +## Components + +### Child Pages (`childPages`) + +Outputs a list of child pages of the current page. The default component partial outputs a simple nested unordered list: + +```html + +``` + +You might want to render the list with your own code. The `childPages.pages` variable is an array of arrays representing the child pages. Each of the arrays has the following items: + +Property | Type | Description +-------- | ---- | ----------- +`url` | `string` | The relative URL for the page (use `{{ url | app }}` to get the absolute URL) +`title` | `string` | Page title +`page` | `RainLab\Pages\Classes\Page` | The page object itself +`viewBag` | `array` | Contains all the extra data used by the page +`is_hidden` | `bool` | Whether the page is hidden (only accessible to backend users) +`navigation_hidden` | `bool` | Whether the page is hidden in automaticaly generated contexts (i.e menu) + +#### Example of Custom Markup for Component + +```html +{% for page in childPages.pages %} +
  • {{ page.title }}
  • +{% endfor %} +``` + +### Static Breadcrumbs (`staticBreadcrumbs`) + +Outputs a breadcrumb navigation for the current static page. The default component partial outputs a simple unordered list for breadcrumbs: + +```twig +{% if breadcrumbs %} + +{% endif %} +``` + +The following page variables are available: + +Variable | Type | Description +-------- | ---- | ----------- +`breadcrumbs` | `array` | Array of `RainLab\Pages\Classes\MenuItemReference` objects representing the defined menu + +You might want to render the breadcrumbs with your own code. The `breadcrumbs` variable is an array of the `RainLab\Pages\Classes\MenuItemReference` objects. Each object has the following properties: +Property | Type | Description +-------- | ---- | ----------- +`title` | `string` | Menu item title +`url` | `string` | Absolute menu item URL +`isActive` | `bool` | Indicates whether the item corresponds to a page currently being viewed +`isChildActive` | `bool` | Indicates whether the item contains an active subitem. +`items` | `array` | The menu item subitems, if any. If there are no subitems, the array is empty + +#### Example of Custom Markup for Component + +```html +{% for item in staticBreadCrumbs.breadcrumbs %} +
  • {{ item.title }}
  • +{% endfor %} +``` + +### Static Menu (`staticMenu`) + +Outputs a single menu. The default component partial outputs a simple nested unordered list for menus: + +```html + +``` + +The following properties are available: + +Property | Inspector Name | Description +-------- | -------------- | ----------- +`code` | Menu | The code (identifier) for the menu that should be displayed by the component + +The following page variables are available: + +Variable | Type | Description +-------- | ---- | ----------- +`menuItems` | `array` | Array of `RainLab\Pages\Classes\MenuItemReference` objects representing the defined menu + +You might want to render the menus with your own code. The `menuItems` variable is an array of the `RainLab\Pages\Classes\MenuItemReference` objects. Each object has the following properties: + +Property | Type | Description +-------- | ---- | ----------- +`title` | `string` | Menu item title +`url` | `string` | Absolute menu item URL +`isActive` | `bool` | Indicates whether the item corresponds to a page currently being viewed +`isChildActive` | `bool` | Indicates whether the item contains an active subitem. +`items` | `array` | The menu item subitems, if any. If there are no subitems, the array is empty + +#### Example of Custom Markup for Component + +```html +{% for item in staticMenu.menuItems %} +
  • {{ item.title }}
  • +{% endfor %} +``` + +#### Setting the Active Menu Item Explicitly + +In some cases you might want to mark a specific menu item as active explicitly. You can do that in the page's [`onInit()`](https://octobercms.com/docs/cms/pages#dynamic-pages) function with assigning the `activeMenuItem` page variable a value matching the menu item code you want to make active. Menu item codes are managed in the Edit Menu Item popup. + +```php +function onInit() +{ + $this['activeMenuItem'] = 'blog'; +} +``` + +### Static Page (`staticPage`) + +Enables Static Pages to use the layout that includes this component. The default component partial outputs the rendered contents of the current Static Page. However, it's recommended to just use `{% page %}` to render the contents of the page instead to match up with how CMS pages are rendered. + +The following properties are available: + +Property | Inspector Name | Description +-------- | -------------- | ----------- +`useContent` | Use page content field | If false, the content section will not appear when editing the static page. Page content will be determined solely through placeholders and variables. +`default` | Default layout | If true, defines this layout (the layout this component is included on) as the default for new pages +`childLayout` | Subpage layout | The layout to use as the default for any new subpages created from pages that use this layout + +The following page variables are available: + +Variable | Type | Description +-------- | ---- | ----------- +`page` | `RainLab\Pages\Classes\Page` | Reference to the current static page object +`title` | `string` | The title of the current static page +`extraData` | `array` | Any extra data defined in the page object (i.e. placeholders & variables defined in the layout) + +#### Default Page Layout + +If adding a new subpage, the parent page's layout is checked for a `childLayout` property, and the new subpage's layout will default to that property value. Otherwise, the theme layouts will be searched for the `default` component property and that layout will be selected by default. + +Example `/themes/mytheme/layouts/layout1.htm`: + +```twig +[staticPage] +default = true +childLayout = "child" +``` + +Example `/themes/mytheme/layouts/child.htm`: + +``` +[staticPage] +``` diff --git a/README.md b/README.md index 5a95e88..f4ea614 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,8 @@ -# Pages plugin +# Pages Plugin This plugin allows end users to create and edit static pages and menus with a simple WYSIWYG user interface. -## Managing static pages +## Managing Static Pages Static pages are managed on the Pages tab of the Static Pages plugin. Static pages have three required parameters - **Title**, **URL** and **Layout**. The URL is generated automatically when the Title is entered, but it could be changed manually. URLs must start with the forward slash character. The Layout drop-down allows to select a layout created with the CMS. Only layouts that include the `staticPage` component are displayed in the drop-down. @@ -24,7 +24,7 @@ Snippets is a [featured included with October CMS](https://docs.octobercms.com/3 ![image](https://raw.githubusercontent.com/rainlab/pages-plugin/master/docs/images/snippets-frontend.png) -## Managing menus +## Managing Menus You can manage menus on the Menus tab of the Static Pages plugin. A website can contain multiple menus, for example the main menu, footer menu, sidebar menu, etc. A theme developer can include menus on a page layout with the `staticMenu` component. @@ -36,50 +36,66 @@ Menus can contain multiple **menu items**, and menu items can be nested. Each me ![image](https://raw.githubusercontent.com/rainlab/pages-plugin/master/docs/images/menu-item.png) {.img-responsive .frame} -#### Standard menu item types +#### Standard Menu Item Types + The available menu item types depend on the installed plugins, but there are three basic item types that are supported out of the box. ###### Header {.subheader} + Items of this type are used for displaying text and don't link to anything. The text could be used as a category heading for other menu items. This type will only show a title property. ###### URL {.subheader} + Items of this type are links to a specific fixed URL. That could be an URL of an or internal page. Items of this type don't have any other properties - just the title and URL. ###### Static Page {.subheader} + Items of this type refer to static pages. The static page should be selected in the **Reference** drop-down list described below. ###### All Static Pages {.subheader} + Items of this type expand to create links to all static pages defined in the theme. Nested pages are represented with nested menu items. -#### Custom menu item types +#### Custom Menu Item Types + Other plugins can supply new menu item types. For example, the [Blog plugin](https://octobercms.com/plugin/rainlab-blog) by [RainLab](https://octobercms.com/author/RainLab) supplies two more types: ###### Blog Category {.subheader} + An item of this type represents a link to a specific blog category. The category should be selected in the **Reference** drop-down. This menu type also requires selecting a **CMS page** that outputs a blog category. ###### All Blog Categories {.subheader} + An item of this time expands into multiple items representing all blog existing categories. This menu type also requires selecting a **CMS page**. -#### Menu item properties +#### Menu Item Properties + Depending on the selected menu item time you might need to provide other properties of the menu item. The available properties are described below. ###### Reference {.subheader} + A drop-down list of objects the menu item should refer to. The list content depends on the menu item type. For the **Static page** item type the list displays all static pages defined in the system. For the **Blog category** item type the list displays a list of blog categories. -###### Allow nested items {.subheader} +###### Allow Nested Items {.subheader} + This checkbox is available only for menu item types that suppose nested objects. For example, static pages are hierarchical, and this property is available for the **Static page** item type. On the other hand, blog categories are not hierarchical, and the checkbox is hidden. -###### Replace this item with its generated children {.subheader} +###### Replace This Item With Its Generated Children {.subheader} + A checkbox determining whether the menu item should be replaced with generated menu items. This property is available only for menu item types that suppose automatic item generating, for example for the **Static page** menu item type. The **Blog category** menu item type doesn't have this property because blog categories cannot be nested and menu items of this type always point to a specific blog category. This property is very handy when you want to include generated menu items to the root of the menu. For example, you can create the **All blog categories** menu item and enable the replacing. As a result you will get a menu that lists all blog categories on the first level of the menu. If you didn't enable the replacing, there would be a root menu item, with blog categories listed under it. ###### CMS Page {.subheader} + This drop-down is available for menu item types that require a special CMS page to refer to. For example, the **Blog category** menu item type requires a CMS page that hosts the `blogPosts` component. The CMS Page drop-down for this item type will only display pages that include this component. ###### Code {.subheader} + The Code field allows to assign the API code that you can use to set the active menu item explicitly in the page's `onInit()` handler described in the documentation. +## Documentation + +Read the [documentation](./DOCS.md) to learn more about this plugin. + ## See also Read the [Getting started with Static Pages](https://octobercms.com/blog/post/getting-started-static-pages) tutorial in the Blog. - -Read the [documentation](/docs/documentation.md). diff --git a/docs/component-childpages.md b/docs/component-childpages.md deleted file mode 100644 index 94e588b..0000000 --- a/docs/component-childpages.md +++ /dev/null @@ -1,35 +0,0 @@ -# Component: Child Pages (childPages) - -## Purpose -Outputs a list of child pages of the current page - -## Default output - -The default component partial outputs a simple nested unordered list: - -```html - -``` - -You might want to render the list with your own code. The `childPages.pages` variable is an array of arrays representing the child pages. Each of the arrays has the following items: - -Property | Type | Description --------- | ---- | ----------- -`url` | `string` | The relative URL for the page (use `{{ url | app }}` to get the absolute URL) -`title` | `string` | Page title -`page` | `RainLab\Pages\Classes\Page` | The page object itself -`viewBag` | `array` | Contains all the extra data used by the page -`is_hidden` | `bool` | Whether the page is hidden (only accessible to backend users) -`navigation_hidden` | `bool` | Whether the page is hidden in automaticaly generated contexts (i.e menu) - -## Example of custom markup for component - -```html -{% for page in childPages.pages %} -
  • {{ page.title }}
  • -{% endfor %} -``` diff --git a/docs/component-staticbreadcrumbs.md b/docs/component-staticbreadcrumbs.md deleted file mode 100644 index c3de30f..0000000 --- a/docs/component-staticbreadcrumbs.md +++ /dev/null @@ -1,44 +0,0 @@ -# Component: Static Menu (staticMenu) - -## Purpose -Outputs a breadcrumb navigation for the current static page - -## Page variables - -Variable | Type | Description --------- | ---- | ----------- -`breadcrumbs` | `array` | Array of `RainLab\Pages\Classes\MenuItemReference` objects representing the defined menu - -## Default output - -The default component partial outputs a simple unordered list for breadcrumbs: - -```twig -{% if breadcrumbs %} - -{% endif %} -``` - -You might want to render the breadcrumbs with your own code. The `breadcrumbs` variable is an array of the `RainLab\Pages\Classes\MenuItemReference` objects. Each object has the following properties: - -Property | Type | Description --------- | ---- | ----------- -`title` | `string` | Menu item title -`url` | `string` | Absolute menu item URL -`isActive` | `bool` | Indicates whether the item corresponds to a page currently being viewed -`isChildActive` | `bool` | Indicates whether the item contains an active subitem. -`items` | `array` | The menu item subitems, if any. If there are no subitems, the array is empty - -## Example of custom markup for component - -```html -{% for item in staticBreadCrumbs.breadcrumbs %} -
  • {{ item.title }}
  • -{% endfor %} -``` diff --git a/docs/component-staticmenu.md b/docs/component-staticmenu.md deleted file mode 100644 index 2e0e398..0000000 --- a/docs/component-staticmenu.md +++ /dev/null @@ -1,66 +0,0 @@ -# Component: Static Menu (staticMenu) - -## Purpose - -Outputs a single menu - -## Available Properties - -Property | Inspector Name | Description --------- | -------------- | ----------- -`code` | Menu | The code (identifier) for the menu that should be displayed by the component - -## Page Variables - -Variable | Type | Description --------- | ---- | ----------- -`menuItems` | `array` | Array of `RainLab\Pages\Classes\MenuItemReference` objects representing the defined menu - -## Default Output - -The default component partial outputs a simple nested unordered list for menus: - -```html - -``` - -You might want to render the menus with your own code. The `menuItems` variable is an array of the `RainLab\Pages\Classes\MenuItemReference` objects. Each object has the following properties: - -Property | Type | Description --------- | ---- | ----------- -`title` | `string` | Menu item title -`url` | `string` | Absolute menu item URL -`isActive` | `bool` | Indicates whether the item corresponds to a page currently being viewed -`isChildActive` | `bool` | Indicates whether the item contains an active subitem. -`items` | `array` | The menu item subitems, if any. If there are no subitems, the array is empty - -## Example of custom markup for component - -```html -{% for item in staticMenu.menuItems %} -
  • {{ item.title }}
  • -{% endfor %} -``` - -## Setting the active menu item explicitly - -In some cases you might want to mark a specific menu item as active explicitly. You can do that in the page's [`onInit()`](https://octobercms.com/docs/cms/pages#dynamic-pages) function with assigning the `activeMenuItem` page variable a value matching the menu item code you want to make active. Menu item codes are managed in the Edit Menu Item popup. - -```php -function onInit() -{ - $this['activeMenuItem'] = 'blog'; -} -``` \ No newline at end of file diff --git a/docs/component-staticpage.md b/docs/component-staticpage.md deleted file mode 100644 index 5c42831..0000000 --- a/docs/component-staticpage.md +++ /dev/null @@ -1,39 +0,0 @@ -# Component: Static Page (staticPage) - -## Purpose -Enables Static Pages to use the layout that includes this component. - -## Available properties - -Property | Inspector Name | Description --------- | -------------- | ----------- -`useContent` | Use page content field | If false, the content section will not appear when editing the static page. Page content will be determined solely through placeholders and variables. -`default` | Default layout | If true, defines this layout (the layout this component is included on) as the default for new pages -`childLayout` | Subpage layout | The layout to use as the default for any new subpages created from pages that use this layout - -## Page variables - -Variable | Type | Description --------- | ---- | ----------- -`page` | `RainLab\Pages\Classes\Page` | Reference to the current static page object -`title` | `string` | The title of the current static page -`extraData` | `array` | Any extra data defined in the page object (i.e. placeholders & variables defined in the layout) - -## Default output - -The default component partial outputs the rendered contents of the current Static Page. However, it's recommended to just use `{% page %}` to render the contents of the page instead to match up with how CMS pages are rendered. - -## Default page layout - -If adding a new subpage, the parent page's layout is checked for a `childLayout` property, and the new subpage's layout will default to that property value. Otherwise, the theme layouts will be searched for the `default` component property and that layout will be selected by default. - -Example: -``` -# /themes/mytheme/layouts/layout1.htm -[staticPage] -default = true -childLayout = "child" - -# /themes/mytheme/layouts/child.htm -[staticPage] -``` \ No newline at end of file diff --git a/docs/images/menu-item.png b/docs/menu-item.png similarity index 100% rename from docs/images/menu-item.png rename to docs/menu-item.png diff --git a/docs/images/menu-management.png b/docs/menu-management.png similarity index 100% rename from docs/images/menu-management.png rename to docs/menu-management.png diff --git a/docs/images/snippets-backend.png b/docs/snippets-backend.png similarity index 100% rename from docs/images/snippets-backend.png rename to docs/snippets-backend.png diff --git a/docs/images/snippets-frontend.png b/docs/snippets-frontend.png similarity index 100% rename from docs/images/snippets-frontend.png rename to docs/snippets-frontend.png diff --git a/docs/images/snippets-partial.png b/docs/snippets-partial.png similarity index 100% rename from docs/images/snippets-partial.png rename to docs/snippets-partial.png diff --git a/docs/images/static-layout.png b/docs/static-layout.png similarity index 100% rename from docs/images/static-layout.png rename to docs/static-layout.png diff --git a/docs/images/static-page.png b/docs/static-page.png similarity index 100% rename from docs/images/static-page.png rename to docs/static-page.png From b8cdc5c088648e9480040c1299c0d2889d77f503 Mon Sep 17 00:00:00 2001 From: October CMS Date: Mon, 5 Jun 2023 09:50:59 +1000 Subject: [PATCH 04/19] Cleanup migrations --- DOCS.md | 4 +-- formwidgets/PagePicker.php | 4 +-- .../snippets_rename_viewbag_properties.php | 34 ------------------- updates/version.yaml | 4 +-- 4 files changed, 5 insertions(+), 41 deletions(-) delete mode 100644 updates/snippets_rename_viewbag_properties.php diff --git a/DOCS.md b/DOCS.md index 9b8167d..cca0617 100644 --- a/DOCS.md +++ b/DOCS.md @@ -25,8 +25,8 @@ In the simplest case you could create a [layout](https://octobercms.com/docs/cms Include the Static Page [component](http://octobercms.com/docs/cms/components) to the layout. The Static Page component has two public properties: -* `title` - specifies the static page title. -* `content` - the static page content. +- `title` - specifies the static page title. +- `content` - the static page content. ## Static Menus diff --git a/formwidgets/PagePicker.php b/formwidgets/PagePicker.php index c6c5f30..5c6e011 100644 --- a/formwidgets/PagePicker.php +++ b/formwidgets/PagePicker.php @@ -44,7 +44,7 @@ protected function makeFormField() // Flatten page tree for dropdown options $options = []; - $iterator = function($items, $depth=0) use(&$iterator, &$tree, &$options, $indent) { + $iterator = function($items, $depth = 0) use (&$iterator, &$tree, &$options, $indent) { foreach ($items as $code) { $itemData = $tree[$code]; @@ -61,4 +61,4 @@ protected function makeFormField() return $field; } -} \ No newline at end of file +} diff --git a/updates/snippets_rename_viewbag_properties.php b/updates/snippets_rename_viewbag_properties.php deleted file mode 100644 index cdca387..0000000 --- a/updates/snippets_rename_viewbag_properties.php +++ /dev/null @@ -1,34 +0,0 @@ -all(); - foreach ($partials as $partial) { - try { - $path = $partial->getFilePath(); - $contents = File::get($path); - if (strpos($contents, 'staticPageSnippetCode') === false) continue; - $contents = str_replace('staticPageSnippetName', 'snippetName', $contents); - $contents = str_replace('staticPageSnippetCode', 'snippetCode', $contents); - $contents = str_replace('staticPageSnippetProperties', 'snippetProperties', $contents); - File::put($path, $contents); - } - catch (\Exception $ex) { continue; } - } - } - } - - public function down() - { - } -} diff --git a/updates/version.yaml b/updates/version.yaml index 389493b..c9a4388 100644 --- a/updates/version.yaml +++ b/updates/version.yaml @@ -10,9 +10,7 @@ v1.0.9: Fixes issue where Snippet tab is missing from the Partials form. v1.0.10: Add translations for various locales. v1.0.11: Fixes issue where placeholders tabs were missing from Page form. v1.0.12: Implement Media Manager support. -v1.1.0: - - Adds meta title and description to pages. Adds |staticPage filter. - - snippets_rename_viewbag_properties.php +v1.1.0: Adds meta title and description to pages. Adds |staticPage filter. v1.1.1: Add support for Syntax Fields. v1.1.2: Static Breadcrumbs component now respects the hide from navigation setting. v1.1.3: Minor back-end styling fix. From c5fa6bd724068408688b7d63c66166f93b5748e9 Mon Sep 17 00:00:00 2001 From: October CMS Date: Mon, 5 Jun 2023 10:01:25 +1000 Subject: [PATCH 05/19] Moves snippet logic to core --- Plugin.php | 15 +- classes/Snippet.php | 687 --------------------- classes/SnippetManager.php | 278 --------- controllers/Index.php | 63 +- widgets/SnippetList.php | 109 ---- widgets/snippetlist/partials/_body.htm | 8 - widgets/snippetlist/partials/_items.htm | 28 - widgets/snippetlist/partials/_snippets.htm | 10 - widgets/snippetlist/partials/_toolbar.htm | 20 - 9 files changed, 2 insertions(+), 1216 deletions(-) delete mode 100644 classes/Snippet.php delete mode 100644 classes/SnippetManager.php delete mode 100644 widgets/SnippetList.php delete mode 100644 widgets/snippetlist/partials/_body.htm delete mode 100644 widgets/snippetlist/partials/_items.htm delete mode 100644 widgets/snippetlist/partials/_snippets.htm delete mode 100644 widgets/snippetlist/partials/_toolbar.htm diff --git a/Plugin.php b/Plugin.php index a10f8e5..20b1c51 100644 --- a/Plugin.php +++ b/Plugin.php @@ -6,7 +6,6 @@ use RainLab\Pages\Classes\Page as StaticPage; use RainLab\Pages\Classes\Router; use RainLab\Pages\Classes\Snippet; -use RainLab\Pages\Classes\SnippetManager; use Cms\Classes\Theme; use Cms\Classes\Controller as CmsController; use System\Classes\PluginBase; @@ -51,11 +50,6 @@ public function registerPermissions() 'tab' => 'rainlab.pages::lang.page.tab', 'order' => 200, 'label' => 'rainlab.pages::lang.page.manage_content' - ], - 'rainlab.pages.access_snippets' => [ - 'tab' => 'rainlab.pages::lang.page.tab', - 'order' => 200, - 'label' => 'rainlab.pages::lang.page.access_snippets' ] ]; } @@ -93,13 +87,6 @@ public function registerNavigation() 'url' => 'javascript:;', 'attributes' => ['data-menu-item'=>'content'], 'permissions' => ['rainlab.pages.manage_content'] - ], - 'snippets' => [ - 'label' => 'rainlab.pages::lang.snippet.menu_label', - 'icon' => 'icon-newspaper-o', - 'url' => 'javascript:;', - 'attributes' => ['data-menu-item'=>'snippet'], - 'permissions' => ['rainlab.pages.access_snippets'] ] ] ] @@ -255,6 +242,6 @@ public static function clearCache() $router->clearCache(); StaticPage::clearMenuCache($theme); - SnippetManager::clearCache($theme); + // SnippetManager::clearCache($theme); } } diff --git a/classes/Snippet.php b/classes/Snippet.php deleted file mode 100644 index 9b89b0d..0000000 --- a/classes/Snippet.php +++ /dev/null @@ -1,687 +0,0 @@ -getViewBag(); - - $this->code = $viewBag->property('snippetCode'); - $this->description = $partial->description; - $this->name = $viewBag->property('snippetName'); - $this->properties = $viewBag->property('snippetProperties', []); - } - - /** - * Initializes the snippet from a CMS component information. - * @param string $componentClass Specifies the component class. - * @param string $componentCode Specifies the component code. - */ - public function initFromComponentInfo($componentClass, $componentCode) - { - $this->code = $componentCode; - $this->componentClass = $componentClass; - } - - /** - * Returns the snippet name. - * This method should not be used in the front-end request handling. - * @return string - */ - public function getName() - { - if ($this->name !== null) { - return $this->name; - } - - if ($this->componentClass === null) { - return null; - } - - $component = $this->getComponent(); - - return $this->name = ComponentHelpers::getComponentName($component); - } - - /** - * Returns the snippet description. - * This method should not be used in the front-end request handling. - * @return string - */ - public function getDescription() - { - if ($this->description !== null) { - return $this->description; - } - - if ($this->componentClass === null) { - return null; - } - - $component = $this->getComponent(); - - return $this->description = ComponentHelpers::getComponentDescription($component); - } - - /** - * Returns the snippet component class name. - * If the snippet is a partial snippet, returns NULL. - * @return string Returns the snippet component class name - */ - public function getComponentClass() - { - return $this->componentClass; - } - - /** - * Returns the snippet property list as array, in format compatible with Inspector. - */ - public function getProperties() - { - if (!$this->componentClass) { - return self::parseIniProperties($this->properties); - } - else { - return ComponentHelpers::getComponentsPropertyConfig($this->getComponent(), false, true); - } - } - - /** - * Returns a list of component definitions declared on the page. - * @param string $pageName Specifies the static page file name (the name of the corresponding content block file). - * @param \Cms\Classes\Theme $theme Specifies a parent theme. - * @return array Returns an array of component definitions - */ - public static function listPageComponents($pageName, $theme, $markup) - { - $map = self::extractSnippetsFromMarkupCached($theme, $pageName, $markup); - - $result = []; - - foreach ($map as $snippetDeclaration => $snippetInfo) { - if (!isset($snippetInfo['component'])) { - continue; - } - - $result[] = [ - 'class' => $snippetInfo['component'], - 'alias' => $snippetInfo['code'], - 'properties' => $snippetInfo['properties'] - ]; - } - - return $result; - } - - /** - * Extends the partial form with Snippet fields. - */ - public static function extendPartialForm($formWidget) - { - /* - * Snippet code field - */ - - $fieldConfig = [ - 'tab' => 'rainlab.pages::lang.snippet.partialtab', - 'type' => 'text', - 'label' => 'rainlab.pages::lang.snippet.code', - 'comment' => 'rainlab.pages::lang.snippet.code_comment', - 'span' => 'left' - ]; - - $formWidget->tabs['fields']['viewBag[snippetCode]'] = $fieldConfig; - - /* - * Snippet description field - */ - - $fieldConfig = [ - 'tab' => 'rainlab.pages::lang.snippet.partialtab', - 'type' => 'text', - 'label' => 'rainlab.pages::lang.snippet.name', - 'comment' => 'rainlab.pages::lang.snippet.name_comment', - 'span' => 'right' - ]; - - $formWidget->tabs['fields']['viewBag[snippetName]'] = $fieldConfig; - - /* - * Snippet properties field - */ - - $fieldConfig = [ - 'tab' => 'rainlab.pages::lang.snippet.partialtab', - 'type' => 'datatable', - 'height' => '150', - 'dynamicHeight' => true, - 'columns' => [ - 'title' => [ - 'title' => 'rainlab.pages::lang.snippet.column_property', - 'validation' => [ - 'required' => [ - 'message' => 'Please provide the property title', - 'requiredWith' => 'property' - ] - ] - ], - 'property' => [ - 'title' => 'rainlab.pages::lang.snippet.column_code', - 'validation' => [ - 'required' => [ - 'message' => 'Please provide the property code', - 'requiredWith' => 'title' - ], - 'regex' => [ - 'pattern' => '^[a-z][a-z0-9]*$', - 'modifiers' => 'i', - 'message' => Lang::get('rainlab.pages::lang.snippet.property_format_error') - ] - ] - ], - 'type' => [ - 'title' => 'rainlab.pages::lang.snippet.column_type', - 'type' => 'dropdown', - 'options' => [ - 'string' => 'rainlab.pages::lang.snippet.column_type_string', - 'checkbox' => 'rainlab.pages::lang.snippet.column_type_checkbox', - 'dropdown' => 'rainlab.pages::lang.snippet.column_type_dropdown' - ], - 'validation' => [ - 'required' => [ - 'requiredWith' => 'title' - ] - ] - ], - 'default' => [ - 'title' => 'rainlab.pages::lang.snippet.column_default' - ], - 'options' => [ - 'title' => 'rainlab.pages::lang.snippet.column_options' - ] - ] - ]; - - $formWidget->tabs['fields']['viewBag[snippetProperties]'] = $fieldConfig; - } - - public static function extendEditorPartialToolbar($dataHolder) - { - $dataHolder->buttons[] = [ - 'button' => 'rainlab.pages::lang.snippet.partialtab', - 'icon' => 'octo-icon-code-snippet', - 'popupTitle' => 'rainlab.pages::lang.snippet.settings_popup_title', - 'useViewBag' => true, - 'properties' => [ - [ - 'property' => 'snippetCode', - 'title' => 'rainlab.pages::lang.snippet.code', - 'description' => 'rainlab.pages::lang.snippet.code_comment', - 'type' => 'string', - 'validation' => [ - 'required' => [ - 'message' => 'rainlab.pages::lang.snippet.code_required' - ] - ] - ], - [ - 'property' => 'snippetName', - 'title' => 'rainlab.pages::lang.snippet.name', - 'description' => 'rainlab.pages::lang.snippet.name_comment', - 'type' => 'string', - 'validation' => [ - 'required' => [ - 'message' => 'rainlab.pages::lang.snippet.name_required' - ] - ] - ], - [ - 'property' => 'snippetProperties', - 'title' => '', - 'type' => 'table', - 'tab' => 'rainlab.pages::lang.snippet.properties', - 'columns' => [ - [ - 'column' => 'title', - 'type' => 'string', - 'title' => 'rainlab.pages::lang.snippet.column_property', - 'validation' => [ - 'required' => [ - 'message' => 'rainlab.pages::lang.snippet.title_required' - ] - ] - ], - [ - 'column' => 'property', - 'type' => 'string', - 'title' => 'rainlab.pages::lang.snippet.column_code', - 'validation' => [ - 'required' => [ - 'message' => 'rainlab.pages::lang.snippet.property_required' - ], - 'regex' => [ - 'pattern' => '^[a-z][a-z0-9]*$', - 'modifiers' => 'i', - 'message' => 'rainlab.pages::lang.snippet.property_format_error' - ] - ] - ], - [ - 'column' => 'type', - 'title' => 'rainlab.pages::lang.snippet.column_type', - 'type' => 'dropdown', - 'placeholder' => 'rainlab.pages::lang.snippet.column_type_placeholder', - 'options' => [ - 'string' => 'rainlab.pages::lang.snippet.column_type_string', - 'checkbox' => 'rainlab.pages::lang.snippet.column_type_checkbox', - 'dropdown' => 'rainlab.pages::lang.snippet.column_type_dropdown' - ], - 'validation' => [ - 'required' => [ - 'message' => 'rainlab.pages::lang.snippet.type_required' - ] - ] - ], - [ - 'column' => 'default', - 'type' => 'string', - 'title' => 'rainlab.pages::lang.snippet.column_default' - ], - [ - 'column' => 'options', - 'type' => 'string', - 'title' => 'rainlab.pages::lang.snippet.column_options' - ] - ] - ] - ] - ]; - } - - /** - * Returns a component corresponding to the snippet. - * This method should not be used in the front-end request handling code. - * @return \Cms\Classes\ComponentBase - */ - protected function getComponent() - { - if ($this->componentClass === null) { - return null; - } - - if ($this->componentObj !== null) { - return $this->componentObj; - } - - $componentClass = $this->componentClass; - - return $this->componentObj = new $componentClass(); - } - - // - // Parsing - // - - /** - * Parses the static page markup and renders snippets defined on the page. - * @param string $pageName Specifies the static page file name (the name of the corresponding content block file). - * @param \Cms\Classes\Theme $theme Specifies a parent theme. - * @param string $markup Specifies the markup string to process. - * @return string Returns the processed string. - */ - public static function processPageMarkup($pageName, $theme, $markup) - { - $map = self::extractSnippetsFromMarkupCached($theme, $pageName, $markup); - - $controller = CmsController::getController(); - $partialSnippetMap = SnippetManager::instance()->getPartialSnippetMap($theme); - - foreach ($map as $snippetDeclaration => $snippetInfo) { - $snippetCode = $snippetInfo['code']; - - if (!isset($snippetInfo['component'])) { - if (!array_key_exists($snippetCode, $partialSnippetMap)) { - throw new ApplicationException(sprintf('Partial for the snippet %s is not found', $snippetCode)); - } - - $partialName = $partialSnippetMap[$snippetCode]; - $generatedMarkup = $controller->renderPartial($partialName, $snippetInfo['properties']); - } - else { - $generatedMarkup = $controller->renderComponent($snippetCode); - } - - $pattern = preg_quote($snippetDeclaration); - $markup = mb_ereg_replace($pattern, $generatedMarkup, $markup); - } - - return $markup; - } - - public static function processTemplateSettingsArray($settingsArray) - { - if ( - !isset($settingsArray['viewBag']['snippetProperties']['TableData']) && - !isset($settingsArray['viewBag']['snippetProperties']) // CMS Editor - ) { - return $settingsArray; - } - - $properties = []; - - if (isset($settingsArray['viewBag']['snippetProperties']['TableData'])) { - $rows = $settingsArray['viewBag']['snippetProperties']['TableData']; - } - else { - $rows = $settingsArray['viewBag']['snippetProperties']; - } - - foreach ($rows as $row) { - $property = array_get($row, 'property'); - $settings = array_only($row, ['title', 'type', 'default', 'options']); - - if (isset($settings['options'])) { - $settings['options'] = self::dropDownOptionsToArray($settings['options']); - } - - $properties[$property] = $settings; - } - - $settingsArray['viewBag']['snippetProperties'] = []; - - foreach ($properties as $name => $value) { - $settingsArray['viewBag']['snippetProperties'][$name] = $value; - } - - return $settingsArray; - } - - public static function processTemplateSettings($template, $context = null) - { - if (!isset($template->viewBag['snippetProperties'])) { - return; - } - - $parsedProperties = self::parseIniProperties($template->viewBag['snippetProperties']); - - foreach ($parsedProperties as $index => &$property) { - if ($context !== 'editor') { - $property['id'] = $index; - } - - if (isset($property['options']) && is_array($property['options'])) { - $property['options'] = self::dropDownOptionsToString($property['options']); - } - } - - $template->viewBag['snippetProperties'] = $parsedProperties; - - if ($context == 'editor') { - $template->settings['components']['viewBag'] = $template->viewBag; - } - } - - /** - * Apples default property values and fixes property names. - * - * As snippet properties are defined with data attributes, they are lower case, whereas - * real property names are case sensitive. This method finds original property names defined - * in snippet classes or partials and replaces property names defined in the static page markup. - */ - protected static function preprocessPropertyValues($theme, $snippetCode, $componentClass, $properties) - { - $snippet = SnippetManager::instance()->findByCodeOrComponent($theme, $snippetCode, $componentClass, true); - if (!$snippet) { - throw new ApplicationException(Lang::get('rainlab.pages::lang.snippet.not_found', ['code' => $snippetCode])); - } - - $properties = array_change_key_case($properties); - $snippetProperties = $snippet->getProperties(); - - foreach ($snippetProperties as $propertyInfo) { - $propertyCode = $propertyInfo['property']; - $lowercaseCode = strtolower($propertyCode); - - if (!array_key_exists($lowercaseCode, $properties)) { - if (array_key_exists('default', $propertyInfo)) { - $properties[$propertyCode] = $propertyInfo['default']; - } - } - else { - $markupPropertyInfo = $properties[$lowercaseCode]; - unset($properties[$lowercaseCode]); - $properties[$propertyCode] = $markupPropertyInfo; - } - } - - return $properties; - } - - /** - * Converts a keyed object to an array, converting the index to the "property" value. - * @return array - */ - protected static function parseIniProperties($properties) - { - foreach ($properties as $index => $value) { - $properties[$index]['property'] = $index; - } - - return array_values($properties); - } - - protected static function dropDownOptionsToArray($optionsString) - { - $options = explode('|', $optionsString); - - $result = []; - foreach ($options as $index => $optionStr) { - $parts = explode(':', $optionStr, 2); - - if (count($parts) > 1 ) { - $key = trim($parts[0]); - - if (strlen($key)) { - if (!preg_match('/^[0-9a-z-_]+$/i', $key)) { - throw new ValidationException(['snippetProperties' => Lang::get('rainlab.pages::lang.snippet.invalid_option_key', ['key'=>$key])]); - } - - $result[$key] = trim($parts[1]); - } - else { - $result[$index] = trim($optionStr); - } - } - else { - $result[$index] = trim($optionStr); - } - } - - return $result; - } - - protected static function dropDownOptionsToString($optionsArray) - { - $result = []; - $isAssoc = (bool) count(array_filter(array_keys($optionsArray), 'is_string')); - - foreach ($optionsArray as $optionIndex => $optionValue) { - $result[] = $isAssoc - ? $optionIndex.':'.$optionValue - : $optionValue; - } - - return implode(' | ', $result); - } - - protected static function extractSnippetsFromMarkup($markup, $theme) - { - $map = []; - $matches = []; - - if (preg_match_all('/\]+\>.*\<\/figure\>/i', $markup, $matches)) { - foreach ($matches[0] as $snippetDeclaration) { - $nameMatch = []; - - if (!preg_match('/data\-snippet\s*=\s*"([^"]+)"/', $snippetDeclaration, $nameMatch)) { - continue; - } - - $snippetCode = $nameMatch[1]; - - $properties = []; - - $propertyMatches = []; - if (preg_match_all('/data\-property-(?[^=]+)\s*=\s*\"(?[^\"]+)\"/i', $snippetDeclaration, $propertyMatches)) { - foreach ($propertyMatches['property'] as $index => $propertyName) { - $properties[$propertyName] = $propertyMatches['value'][$index]; - } - } - - $componentMatch = []; - $componentClass = null; - - if (preg_match('/data\-component\s*=\s*"([^"]+)"/', $snippetDeclaration, $componentMatch)) { - $componentClass = $componentMatch[1]; - } - - // Apply default values for properties not defined in the markup - // and normalize property code names. - $properties = self::preprocessPropertyValues($theme, $snippetCode, $componentClass, $properties); - - $map[$snippetDeclaration] = [ - 'code' => $snippetCode, - 'component' => $componentClass, - 'properties' => $properties - ]; - } - } - - return $map; - } - - protected static function extractSnippetsFromMarkupCached($theme, $pageName, $markup) - { - if (array_key_exists($pageName, self::$pageSnippetMap)) { - return self::$pageSnippetMap[$pageName]; - } - - $key = self::getMapCacheKey($theme); - - $map = null; - $cached = Cache::get($key, false); - - if ($cached !== false && ($cached = @unserialize($cached)) !== false) { - if (array_key_exists($pageName, $cached)) { - $map = $cached[$pageName]; - } - } - - if (!is_array($map)) { - $map = self::extractSnippetsFromMarkup($markup, $theme); - - if (!is_array($cached)) { - $cached = []; - } - - $cached[$pageName] = $map; - $comboConfig = Config::get('cms.parsedPageCacheTTL', Config::get('cms.template_cache_ttl', 10)); - $expiresAt = now()->addMinutes($comboConfig); - Cache::put($key, serialize($cached), $expiresAt); - } - - self::$pageSnippetMap[$pageName] = $map; - - return $map; - } - - /** - * Returns a cache key for this record. - */ - protected static function getMapCacheKey($theme) - { - $key = crc32($theme->getPath()).'snippet-map'; - /** - * @event pages.snippet.getMapCacheKey - * Enables modifying the key used to reference cached RainLab.Pages snippet maps - * - * Example usage: - * - * Event::listen('pages.snippet.getMapCacheKey', function (&$key) { - * $key = $key . '-' . App::getLocale(); - * }); - * - */ - Event::fire('pages.snippet.getMapCacheKey', [&$key]); - return $key; - } - - /** - * Clears the snippet map item cache - * @param \Cms\Classes\Theme $theme Specifies the current theme. - */ - public static function clearMapCache($theme) - { - Cache::forget(self::getMapCacheKey($theme)); - } -} diff --git a/classes/SnippetManager.php b/classes/SnippetManager.php deleted file mode 100644 index 1d9af0b..0000000 --- a/classes/SnippetManager.php +++ /dev/null @@ -1,278 +0,0 @@ -snippets !== null) { - return $this->snippets; - } - - $themeSnippets = $this->listThemeSnippets($theme); - $componentSnippets = $this->listComponentSnippets(); - - $this->snippets = array_merge($themeSnippets, $componentSnippets); - - /* - * @event pages.snippets.listSnippets - * Gives the ability to manage the snippet list dynamically. - * - * Example usage to add a snippet to the list: - * - * Event::listen('pages.snippets.listSnippets', function($manager) { - * $snippet = new \RainLab\Pages\Classes\Snippet(); - * $snippet->initFromComponentInfo('\Example\Plugin\Components\ComponentClass', 'snippetCode'); - * $manager->addSnippet($snippet); - * }); - * - * Example usage to remove a snippet from the list: - * - * Event::listen('pages.snippets.listSnippets', function($manager) { - * $manager->removeSnippet('snippetCode'); - * }); - */ - Event::fire('pages.snippets.listSnippets', [$this]); - - return $this->snippets; - } - - /** - * Add snippet to the list of snippets - * - * @param Snippet $snippet - * @return void - */ - public function addSnippet(Snippet $snippet) - { - $this->snippets[] = $snippet; - } - - /** - * Remove a snippet with the given code from the list of snippets - * - * @param string $snippetCode - * @return void - */ - public function removeSnippet(string $snippetCode) - { - $this->snippets = array_filter($this->snippets, function ($snippet) use ($snippetCode) { - return $snippet->code !== $snippetCode; - }); - } - - /** - * Finds a snippet by its code. - * This method is used internally by the system. - * @param \Cms\Classes\Theme $theme Specifies a parent theme. - * @param string $code Specifies the snippet code. - * @param string $$componentClass Specifies the snippet component class, if available. - * @param boolean $allowCaching Specifies whether caching is allowed for the call. - * @return array Returns an array of Snippet objects. - */ - public function findByCodeOrComponent($theme, $code, $componentClass, $allowCaching = false) - { - if (!$allowCaching) { - // If caching is not allowed, list all available snippets, - // find the snippet in the list and return it. - $snippets = $this->listSnippets($theme); - - foreach ($snippets as $snippet) { - if ($componentClass && $snippet->getComponentClass() == $componentClass) { - return $snippet; - } - - if ($snippet->code == $code) { - return $snippet; - } - } - - return null; - } - - // If caching is allowed, and the requested snippet is a partial snippet, - // try to load the partial name from the cache and initialize the snippet - // from the partial. - - if (!strlen($componentClass)) { - $map = $this->getPartialSnippetMap($theme); - - if (!array_key_exists($code, $map)) { - return null; - } - - $partialName = $map[$code]; - $partial = Partial::loadCached($theme, $partialName); - - if (!$partial) { - return null; - } - - $snippet = new Snippet; - $snippet->initFromPartial($partial); - - return $snippet; - } - else { - // If the snippet is a component snippet, initialize it - // from the component - - if (!class_exists($componentClass)) { - throw new SystemException(sprintf('The snippet component class %s is not found.', $componentClass)); - } - - $snippet = new Snippet; - $snippet->initFromComponentInfo($componentClass, $code); - - return $snippet; - } - } - - /** - * Clears front-end run-time cache. - * @param \Cms\Classes\Theme $theme Specifies a parent theme. - */ - public static function clearCache($theme) - { - Cache::forget(self::getPartialMapCacheKey($theme)); - - Snippet::clearMapCache($theme); - } - - /** - * Returns a cache key for this record. - */ - protected static function getPartialMapCacheKey($theme) - { - $key = crc32($theme->getPath()).'snippet-partial-map'; - /** - * @event pages.snippet.getPartialMapCacheKey - * Enables modifying the key used to reference cached RainLab.Pages partial maps - * - * Example usage: - * - * Event::listen('pages.snippet.getPartialMapCacheKey', function (&$key) { - * $key = $key . '-' . App::getLocale(); - * }); - * - */ - Event::fire('pages.snippet.getPartialMapCacheKey', [&$key]); - return $key; - } - - /** - * Returns a list of partial-based snippets and corresponding partial names. - * @param \Cms\Classes\Theme $theme Specifies a parent theme. - * @return Returns an associative array with the snippet code in keys and partial file names in values. - */ - public function getPartialSnippetMap($theme) - { - $key = self::getPartialMapCacheKey($theme); - - $result = []; - $cached = Cache::get($key, false); - - if ($cached !== false && ($cached = @unserialize($cached)) !== false) { - return $cached; - } - - $partials = Partial::listInTheme($theme); - - foreach ($partials as $partial) { - $viewBag = $partial->getViewBag(); - - $snippetCode = $viewBag->property('snippetCode'); - if (!strlen($snippetCode)) { - continue; - } - - $result[$snippetCode] = $partial->getFileName(); - } - - $comboConfig = Config::get('cms.parsedPageCacheTTL', Config::get('cms.template_cache_ttl', 10)); - $expiresAt = now()->addMinutes($comboConfig); - Cache::put($key, serialize($result), $expiresAt); - - return $result; - } - - /** - * Returns a list of snippets in the specified theme. - * @param \Cms\Classes\Theme $theme Specifies a parent theme. - * @return array Returns an array of Snippet objects. - */ - protected function listThemeSnippets($theme) - { - $result = []; - - $partials = Partial::listInTheme($theme, true); - - foreach ($partials as $partial) { - $viewBag = $partial->getViewBag(); - - if (strlen($viewBag->property('snippetCode'))) { - $snippet = new Snippet; - $snippet->initFromPartial($partial); - $result[] = $snippet; - } - } - - return $result; - } - - /** - * Returns a list of snippets created from components. - * @return array Returns an array of Snippet objects. - */ - protected function listComponentSnippets() - { - $result = []; - - $pluginManager = PluginManager::instance(); - $plugins = $pluginManager->getPlugins(); - - foreach ($plugins as $id => $plugin) { - if (!method_exists($plugin, 'registerPageSnippets')) { - continue; - } - - $snippets = $plugin->registerPageSnippets(); - if (!is_array($snippets)) { - continue; - } - - foreach ($snippets as $componentClass => $componentCode) { - // TODO: register snippet components later, during - // the page life cycle. - $snippet = new Snippet; - $snippet->initFromComponentInfo($componentClass, $componentCode); - $result[] = $snippet; - } - } - - return $result; - } -} diff --git a/controllers/Index.php b/controllers/Index.php index 1e3dc99..6f2383a 100644 --- a/controllers/Index.php +++ b/controllers/Index.php @@ -16,7 +16,6 @@ use Backend\Classes\Controller; use RainLab\Pages\Widgets\PageList; use RainLab\Pages\Widgets\MenuList; -use RainLab\Pages\Widgets\SnippetList; use RainLab\Pages\Widgets\TemplateList; use RainLab\Pages\Classes\Page as StaticPage; use RainLab\Pages\Classes\Content; @@ -74,11 +73,6 @@ public function __construct() }); $this->vars['activeWidgets'][] = 'contentList'; } - - if ($this->user->hasAccess('rainlab.pages.access_snippets')) { - new SnippetList($this, 'snippetList'); - $this->vars['activeWidgets'][] = 'snippetList'; - } } } catch (Exception $ex) { @@ -295,60 +289,6 @@ public function onUpdatePageLayout() return $this->pushObjectForm($type, $object, Request::input('formWidgetAlias')); } - public function onGetInspectorConfiguration() - { - $configuration = []; - - $snippetCode = Request::input('snippet'); - $componentClass = Request::input('component'); - - if (strlen($snippetCode)) { - $snippet = SnippetManager::instance()->findByCodeOrComponent($this->theme, $snippetCode, $componentClass); - if (!$snippet) { - throw new ApplicationException(trans('rainlab.pages::lang.snippet.not_found', ['code' => $snippetCode])); - } - - $configuration = $snippet->getProperties(); - } - - return [ - 'configuration' => [ - 'properties' => $configuration, - 'title' => $snippet->getName(), - 'description' => $snippet->getDescription() - ] - ]; - } - - public function onGetSnippetNames() - { - $codes = array_unique(Request::input('codes')); - $result = []; - - foreach ($codes as $snippetCode) { - $parts = explode('|', $snippetCode); - $componentClass = null; - - if (count($parts) > 1) { - $snippetCode = $parts[0]; - $componentClass = $parts[1]; - } - - $snippet = SnippetManager::instance()->findByCodeOrComponent($this->theme, $snippetCode, $componentClass); - - if (!$snippet) { - $result[$snippetCode] = trans('rainlab.pages::lang.snippet.not_found', ['code' => $snippetCode]); - } - else { - $result[$snippetCode] =$snippet->getName(); - } - } - - return [ - 'names' => $result - ]; - } - public function onMenuItemReferenceSearch() { $alias = Request::input('alias'); @@ -363,8 +303,7 @@ public function onMenuItemReferenceSearch() } /** - * Commits the DB changes of a object to the filesystem - * + * onCommit commits the DB changes of a object to the filesystem * @return array $response */ public function onCommit() diff --git a/widgets/SnippetList.php b/widgets/SnippetList.php deleted file mode 100644 index e4045de..0000000 --- a/widgets/SnippetList.php +++ /dev/null @@ -1,109 +0,0 @@ -alias = $alias; - $this->theme = Theme::getEditTheme(); - $this->dataIdPrefix = 'snippet-'.$this->theme->getDirName(); - - parent::__construct($controller, []); - $this->bindToController(); - } - - /** - * Renders the widget. - * @return string - */ - public function render() - { - return $this->makePartial('body', [ - 'data' => $this->getData() - ]); - } - - /* - * Event handlers - */ - - public function onSearch() - { - $this->setSearchTerm(Input::get('search')); - - return $this->updateList(); - } - - /* - * Methods for the internal use - */ - - protected function getData() - { - $manager = SnippetManager::instance(); - $snippets = $manager->listSnippets($this->theme); - - $searchTerm = Str::lower($this->getSearchTerm()); - - if (strlen($searchTerm)) { - $words = explode(' ', $searchTerm); - $filteredSnippets = []; - - foreach ($snippets as $snippet) { - if ($this->textMatchesSearch($words, $snippet->getName().' '.$snippet->code.' '.$snippet->getDescription())) { - $filteredSnippets[] = $snippet; - } - } - - $snippets = $filteredSnippets; - } - - usort($snippets, function($a, $b) { - return strcmp($a->getName(), $b->getName()); - }); - - return $snippets; - } - - protected function updateList() - { - return ['#'.$this->getId('snippet-list') => $this->makePartial('items', ['items' => $this->getData()])]; - } - - protected function getThemeSessionKey($prefix) - { - return $prefix.$this->theme->getDirName(); - } - - protected function getSession($key = null, $default = null) - { - $key = strlen($key) ? $this->getThemeSessionKey($key) : $key; - - return parent::getSession($key, $default); - } - - protected function putSession($key, $value) - { - return parent::putSession($this->getThemeSessionKey($key), $value); - } -} diff --git a/widgets/snippetlist/partials/_body.htm b/widgets/snippetlist/partials/_body.htm deleted file mode 100644 index 807c293..0000000 --- a/widgets/snippetlist/partials/_body.htm +++ /dev/null @@ -1,8 +0,0 @@ -makePartial('toolbar') ?> -
    -
    -
    - makePartial('snippets', ['data'=>$data]) ?> -
    -
    -
    \ No newline at end of file diff --git a/widgets/snippetlist/partials/_items.htm b/widgets/snippetlist/partials/_items.htm deleted file mode 100644 index b0c85ee..0000000 --- a/widgets/snippetlist/partials/_items.htm +++ /dev/null @@ -1,28 +0,0 @@ - - - -

    noRecordsMessage)) ?>

    - - - \ No newline at end of file diff --git a/widgets/snippetlist/partials/_snippets.htm b/widgets/snippetlist/partials/_snippets.htm deleted file mode 100644 index bd8989c..0000000 --- a/widgets/snippetlist/partials/_snippets.htm +++ /dev/null @@ -1,10 +0,0 @@ -
    -
    -
    - makePartial('items', ['items'=>$data]) ?> -
    -
    -
    \ No newline at end of file diff --git a/widgets/snippetlist/partials/_toolbar.htm b/widgets/snippetlist/partials/_toolbar.htm deleted file mode 100644 index 84094f4..0000000 --- a/widgets/snippetlist/partials/_toolbar.htm +++ /dev/null @@ -1,20 +0,0 @@ -
    -
    - - -
    - -
    - -
    -
    \ No newline at end of file From 41991bfc928f9d8e94df43c7428949e3799efe90 Mon Sep 17 00:00:00 2001 From: October CMS Date: Mon, 5 Jun 2023 10:03:48 +1000 Subject: [PATCH 06/19] Remove monkey patches --- classes/Page.php | 20 ++++-------- controllers/Index.php | 71 +++++++++---------------------------------- 2 files changed, 21 insertions(+), 70 deletions(-) diff --git a/classes/Page.php b/classes/Page.php index 7c24332..ca73c88 100644 --- a/classes/Page.php +++ b/classes/Page.php @@ -553,20 +553,12 @@ public function getPlaceholdersAttribute() continue; } - // October CMS v2.2 and above - if (class_exists('System') && version_compare(\System::VERSION, '2.1') === 1) { - $names = $node->getNode('names'); - $values = $node->getNode('values'); - $isCapture = $node->getAttribute('capture'); - if ($isCapture) { - $name = $names->getNode(0); - $result[$name->getAttribute('name')] = trim($values->getAttribute('data')); - } - } - // Legacy PutNode support - else { - $values = $node->getNode('body'); - $result[$node->getAttribute('name')] = trim($values->getAttribute('data')); + $names = $node->getNode('names'); + $values = $node->getNode('values'); + $isCapture = $node->getAttribute('capture'); + if ($isCapture) { + $name = $names->getNode(0); + $result[$name->getAttribute('name')] = trim($values->getAttribute('data')); } } diff --git a/controllers/Index.php b/controllers/Index.php index 6f2383a..148d52e 100644 --- a/controllers/Index.php +++ b/controllers/Index.php @@ -313,19 +313,9 @@ public function onCommit() $object = $this->loadObject($type, trim(Request::input('objectPath'))); if ($this->canCommitObject($object)) { - if (class_exists('System')) { - // v1.2 - $datasource = $this->getThemeDatasource(); - $datasource->updateModelAtIndex(1, $object); - $datasource->forceDeleteModelAtIndex(0, $object); - } - else { - // v1.1 - $datasource = $this->getThemeDatasource(); - $datasource->pushToSource($object, 'filesystem'); - $datasource->removeFromSource($object, 'database'); - } - + $datasource = $this->getThemeDatasource(); + $datasource->updateModelAtIndex(1, $object); + $datasource->forceDeleteModelAtIndex(0, $object); Flash::success(Lang::get('cms::lang.editor.commit_success', ['type' => $type])); } @@ -344,17 +334,8 @@ public function onReset() $object = $this->loadObject($type, trim(Request::input('objectPath'))); if ($this->canResetObject($object)) { - if (class_exists('System')) { - // v1.2 - $datasource = $this->getThemeDatasource(); - $datasource->forceDeleteModelAtIndex(0, $object); - } - else { - // v1.1 - $datasource = $this->getThemeDatasource(); - $datasource->removeFromSource($object, 'database'); - } - + $datasource = $this->getThemeDatasource(); + $datasource->forceDeleteModelAtIndex(0, $object); Flash::success(Lang::get('cms::lang.editor.reset_success', ['type' => $type])); } @@ -410,24 +391,12 @@ protected function canCommitObject(CmsObject $object) { $result = false; - if (class_exists('System')) { - // v1.2 - if ( - Config::get('app.debug', false) && - $this->theme->secondLayerEnabled() && - $this->getThemeDatasource()->hasModelAtIndex(1, $object) - ) { - $result = true; - } - } - else { - // v1.1 - if (Config::get('app.debug', false) && - Theme::databaseLayerEnabled() && - $this->getThemeDatasource()->sourceHasModel('database', $object) - ) { - $result = true; - } + if ( + Config::get('app.debug', false) && + $this->theme->secondLayerEnabled() && + $this->getThemeDatasource()->hasModelAtIndex(1, $object) + ) { + $result = true; } return $result; @@ -444,20 +413,10 @@ protected function canResetObject(CmsObject $object) { $result = false; - if (class_exists('System')) { - // v1.2 - if ($this->theme->secondLayerEnabled()) { - $datasource = $this->getThemeDatasource(); - $result = $datasource->hasModelAtIndex(0, $object) && - $datasource->hasModelAtIndex(1, $object); - } - } - else { - // v1.1 - if (Theme::databaseLayerEnabled()) { - $datasource = $this->getThemeDatasource(); - $result = $datasource->sourceHasModel('database', $object) && $datasource->sourceHasModel('filesystem', $object); - } + if ($this->theme->secondLayerEnabled()) { + $datasource = $this->getThemeDatasource(); + $result = $datasource->hasModelAtIndex(0, $object) && + $datasource->hasModelAtIndex(1, $object); } return $result; From 84f586a3dc311c38a0c91086c2561dc9556bbec0 Mon Sep 17 00:00:00 2001 From: October CMS Date: Mon, 5 Jun 2023 10:05:52 +1000 Subject: [PATCH 07/19] Bump core requirement --- composer.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/composer.json b/composer.json index a7fc74d..2dc249b 100644 --- a/composer.json +++ b/composer.json @@ -18,7 +18,8 @@ } ], "require": { - "php": ">=5.5.9", + "php": "^8.0.2", + "october/rain": ">=3.4", "composer/installers": "~1.0" }, "minimum-stability": "dev" From 6f6da1d05bc7f27ae65fd2b69da06ad3d486e43c Mon Sep 17 00:00:00 2001 From: October CMS Date: Mon, 5 Jun 2023 10:59:08 +1000 Subject: [PATCH 08/19] Refit lang --- lang/cs/lang.php | 228 ++++++++++++++++------------------- lang/de/lang.php | 207 ++++++++++++++------------------ lang/el/lang.php | 244 +++++++++++++++++-------------------- lang/en/lang.php | 286 ++++++++++++++++++++------------------------ lang/es/lang.php | 207 ++++++++++++++------------------ lang/fa/lang.php | 240 +++++++++++++++++-------------------- lang/fi/lang.php | 276 +++++++++++++++++++----------------------- lang/fr/lang.php | 264 +++++++++++++++++++--------------------- lang/hu/lang.php | 268 +++++++++++++++++++---------------------- lang/it/lang.php | 210 +++++++++++++++----------------- lang/lv/lang.php | 219 ++++++++++++++++----------------- lang/nb-no/lang.php | 205 ++++++++++++++----------------- lang/nl/lang.php | 210 +++++++++++++++----------------- lang/pl/lang.php | 264 +++++++++++++++++++--------------------- lang/pt-br/lang.php | 207 ++++++++++++++------------------ lang/ru/lang.php | 214 +++++++++++++++------------------ lang/sk/lang.php | 260 +++++++++++++++++++--------------------- lang/sl/lang.php | 268 +++++++++++++++++++---------------------- lang/sv/lang.php | 207 ++++++++++++++------------------ lang/tr/lang.php | 260 +++++++++++++++++++--------------------- lang/uk/lang.php | 214 +++++++++++++++------------------ lang/zh-cn/lang.php | 243 +++++++++++++++++-------------------- 22 files changed, 2375 insertions(+), 2826 deletions(-) diff --git a/lang/cs/lang.php b/lang/cs/lang.php index 0123f42..7eca245 100644 --- a/lang/cs/lang.php +++ b/lang/cs/lang.php @@ -1,125 +1,105 @@ - [ - 'name' => 'Stránky', - 'description' => 'Funkce pro správu stránek a menu.', - ], - 'page' => [ - 'menu_label' => 'Stránky', - 'template_title' => '%s Stránky', - 'delete_confirmation' => 'Opravdu chcete odstranit vybrané stránky? Budou odstraněny i případné podstránky.', - 'no_records' => 'Stránky nenalezeny', - 'delete_confirm_single' => 'Opravu chcete odstranit tuto stránku? Budou odstraněny i případné podstránky.', - 'new' => 'Nová stránka', - 'add_subpage' => 'Přidat podstránku', - 'invalid_url' => 'Neplatný formát URL. URL by mělo začínat lomítkem a může obsahovat čísla, písmena a znaky: _-/', - 'url_not_unique' => 'Toto URL je používáno jinou stránkou.', - 'layout' => 'Layouty', - 'layouts_not_found' => 'Layouts nenalezeny', - 'saved' => 'Stránka byla úspěšně uložena.', - 'tab' => 'Stránky', - 'manage_pages' => 'Spravovat stránky', - 'manage_menus' => 'Spravovat menu', - 'access_snippets' => 'Používat snippety', - 'manage_content' => 'Spravovat obsah' - ], - 'menu' => [ - 'menu_label' => 'Menu', - 'delete_confirmation' => 'Opravdu chcete odstranit vybraná menu?', - 'no_records' => 'Položky nenalezeny', - 'new' => 'Nové menu', - 'new_name' => 'Nové menu', - 'new_code' => 'nove-menu', - 'delete_confirm_single' => 'Opravdu chcete odstranit toto menu?', - 'saved' => 'Menu bylo úspěšně uloženo.', - 'name' => 'Název', - 'code' => 'Kód', - 'items' => 'Položky menu', - 'add_subitem' => 'Přidat položku', - 'code_required' => 'Pole kód je povinné.', - 'invalid_code' => 'Pole kód obsahuje neplatné znaky. Může obsahovat pouze číslice, písmena a znaky: _-' - ], - 'menuitem' => [ - 'title' => 'Titulek', - 'editor_title' => 'Upravit položku menu', - 'type' => 'Typ', - 'allow_nested_items' => 'Povolit vnořené položky', - 'allow_nested_items_comment' => 'Vnořené položky mohou být automaticky vygenerovány statickými stránkami nebo jinými typy stránek.', - 'url' => 'URL', - 'reference' => 'Odkaz', - 'search_placeholder' => 'Prohledat odkazy...', - 'title_required' => 'Titulek je povinný', - 'unknown_type' => 'Neznámý typ položky', - 'unnamed' => 'Nepojmenovaný typ položky', - 'add_item' => 'Přidat položku', - 'new_item' => 'Nová položka menu', - 'replace' => 'Nahradit tuto položku jejími vygenerovanými vnořenými položkami', - 'replace_comment' => 'Toto pole zaškrtněte, pokud si přejete vnořené položky posunout na stejnou úroveň jako má tato položka. Samotná položka zůstane skryta.', - 'cms_page' => 'CMS stránka', - 'cms_page_comment' => 'Vyberte stránku, která se otevře při kliknutí na tuto položku v menu.', - 'reference_required' => 'Odkaz je povinný.', - 'url_required' => 'URL je povinné', - 'cms_page_required' => 'Prosím vyberte CMS stránku', - 'display_tab' => 'Zobrazení', - 'hidden' => 'Skrytá', - 'hidden_comment' => 'Skrýt tuto položku menu pro celý front-end.', - 'attributes_tab' => 'Vlastnosti', - 'code' => 'Kód', - 'code_comment' => 'Zadejte kód položky menu pokud k ní chcete přistupovat přes API.', - 'css_class' => 'CSS třída', - 'css_class_comment' => 'Vložte název CSS třídy k zajištění specifického vzhledu této položky menu.', - 'external_link' => 'Externí odkaz', - 'external_link_comment' => 'Otevřít odkaz této položky v novém okně.', - 'static_page' => 'Statická stránka', - 'all_static_pages' => 'Všechny statické stránky' - ], - 'content' => [ - 'menu_label' => 'Obsah', - 'cant_save_to_dir' => 'Ukládat obsah do složky statických stránek není povoleno.' - ], - 'sidebar' => [ - 'add' => 'Přidat', - 'search' => 'Hledat...' - ], - 'object' => [ - 'invalid_type' => 'Neznámý typ objektu', - 'not_found' => 'Požadovaný objekt nebyl nalezen.' - ], - 'editor' => [ - 'title' => 'Titulek', - 'new_title' => 'Nový titulek stránky', - 'content' => 'Obsah', - 'url' => 'URL', - 'filename' => 'Název souboru', - 'layout' => 'Layout', - 'description' => 'Popis', - 'preview' => 'Náhled', - 'enter_fullscreen' => 'Vstoupit do režimu celé obrazovky', - 'exit_fullscreen' => 'Opustit režim celé obrazovky', - 'hidden' => 'Skrytá', - 'hidden_comment' => 'Skryté stránky jsou dostupné pouze přihlášeným administrátorům.', - 'navigation_hidden' => 'Skrýt v menu', - 'navigation_hidden_comment' => 'Zaškrtněte toto pole, pokud chcete stránku skrýt z automaticky vygenerovaných menu a drobečkové navigace.', - ], - 'snippet' => [ - 'partialtab' => 'Snippet', - 'code' => 'Kód snippetu', - 'code_comment' => 'Zadejte kód, aby tato dílčí šablona byla dostupná jako snippet v pluginu statických stránek.', - 'name' => 'Název', - 'name_comment' => 'Tento název bude zobrazen v seznamu snippetů v bočním menu pluginu statických stránek a přímo na stránce, když bude snippet přidán.', - 'no_records' => 'Snippety nenalezeny', - 'menu_label' => 'Snippety', - 'column_property' => 'Název vlastnosti', - 'column_type' => 'Vlastnosti', - 'column_code' => 'Kód', - 'column_default' => 'Výchozí', - 'column_options' => 'Možnosti', - 'column_type_string' => 'Řetězec', - 'column_type_checkbox' => 'Zaškrtávací políčko', - 'column_type_dropdown' => 'Seznam', - 'not_found' => 'Snippet s kódem :code nebyl nalezen v rámci tématu.', - 'property_format_error' => 'Kód vlastnosti by měl začínat písmenem a může obsahovat pouze písmena nebo číslice.', - 'invalid_option_key' => 'Neplatný klíč položky seznamu: %s. Klíč položky seznamu může obsahovat pouze písmena, číslice a znaky: _-' - ] + [ + 'name' => 'Stránky', + 'description' => 'Funkce pro správu stránek a menu.', + ], + 'page' => [ + 'menu_label' => 'Stránky', + 'template_title' => '%s Stránky', + 'delete_confirmation' => 'Opravdu chcete odstranit vybrané stránky? Budou odstraněny i případné podstránky.', + 'no_records' => 'Stránky nenalezeny', + 'delete_confirm_single' => 'Opravu chcete odstranit tuto stránku? Budou odstraněny i případné podstránky.', + 'new' => 'Nová stránka', + 'add_subpage' => 'Přidat podstránku', + 'invalid_url' => 'Neplatný formát URL. URL by mělo začínat lomítkem a může obsahovat čísla, písmena a znaky: _-/', + 'url_not_unique' => 'Toto URL je používáno jinou stránkou.', + 'layout' => 'Layouty', + 'layouts_not_found' => 'Layouts nenalezeny', + 'saved' => 'Stránka byla úspěšně uložena.', + 'tab' => 'Stránky', + 'manage_pages' => 'Spravovat stránky', + 'manage_menus' => 'Spravovat menu', + 'access_snippets' => 'Používat snippety', + 'manage_content' => 'Spravovat obsah', + ], + 'menu' => [ + 'menu_label' => 'Menu', + 'delete_confirmation' => 'Opravdu chcete odstranit vybraná menu?', + 'no_records' => 'Položky nenalezeny', + 'new' => 'Nové menu', + 'new_name' => 'Nové menu', + 'new_code' => 'nove-menu', + 'delete_confirm_single' => 'Opravdu chcete odstranit toto menu?', + 'saved' => 'Menu bylo úspěšně uloženo.', + 'name' => 'Název', + 'code' => 'Kód', + 'items' => 'Položky menu', + 'add_subitem' => 'Přidat položku', + 'code_required' => 'Pole kód je povinné.', + 'invalid_code' => 'Pole kód obsahuje neplatné znaky. Může obsahovat pouze číslice, písmena a znaky: _-', + ], + 'menuitem' => [ + 'title' => 'Titulek', + 'editor_title' => 'Upravit položku menu', + 'type' => 'Typ', + 'allow_nested_items' => 'Povolit vnořené položky', + 'allow_nested_items_comment' => 'Vnořené položky mohou být automaticky vygenerovány statickými stránkami nebo jinými typy stránek.', + 'url' => 'URL', + 'reference' => 'Odkaz', + 'search_placeholder' => 'Prohledat odkazy...', + 'title_required' => 'Titulek je povinný', + 'unknown_type' => 'Neznámý typ položky', + 'unnamed' => 'Nepojmenovaný typ položky', + 'add_item' => 'Přidat položku', + 'new_item' => 'Nová položka menu', + 'replace' => 'Nahradit tuto položku jejími vygenerovanými vnořenými položkami', + 'replace_comment' => 'Toto pole zaškrtněte, pokud si přejete vnořené položky posunout na stejnou úroveň jako má tato položka. Samotná položka zůstane skryta.', + 'cms_page' => 'CMS stránka', + 'cms_page_comment' => 'Vyberte stránku, která se otevře při kliknutí na tuto položku v menu.', + 'reference_required' => 'Odkaz je povinný.', + 'url_required' => 'URL je povinné', + 'cms_page_required' => 'Prosím vyberte CMS stránku', + 'display_tab' => 'Zobrazení', + 'hidden' => 'Skrytá', + 'hidden_comment' => 'Skrýt tuto položku menu pro celý front-end.', + 'attributes_tab' => 'Vlastnosti', + 'code' => 'Kód', + 'code_comment' => 'Zadejte kód položky menu pokud k ní chcete přistupovat přes API.', + 'css_class' => 'CSS třída', + 'css_class_comment' => 'Vložte název CSS třídy k zajištění specifického vzhledu této položky menu.', + 'external_link' => 'Externí odkaz', + 'external_link_comment' => 'Otevřít odkaz této položky v novém okně.', + 'static_page' => 'Statická stránka', + 'all_static_pages' => 'Všechny statické stránky', + ], + 'content' => [ + 'menu_label' => 'Obsah', + 'cant_save_to_dir' => 'Ukládat obsah do složky statických stránek není povoleno.', + ], + 'sidebar' => [ + 'add' => 'Přidat', + ], + 'object' => [ + 'invalid_type' => 'Neznámý typ objektu', + 'not_found' => 'Požadovaný objekt nebyl nalezen.', + ], + 'editor' => [ + 'title' => 'Titulek', + 'new_title' => 'Nový titulek stránky', + 'content' => 'Obsah', + 'url' => 'URL', + 'filename' => 'Název souboru', + 'layout' => 'Layout', + 'description' => 'Popis', + 'preview' => 'Náhled', + 'enter_fullscreen' => 'Vstoupit do režimu celé obrazovky', + 'exit_fullscreen' => 'Opustit režim celé obrazovky', + 'hidden' => 'Skrytá', + 'hidden_comment' => 'Skryté stránky jsou dostupné pouze přihlášeným administrátorům.', + 'navigation_hidden' => 'Skrýt v menu', + 'navigation_hidden_comment' => 'Zaškrtněte toto pole, pokud chcete stránku skrýt z automaticky vygenerovaných menu a drobečkové navigace.', + ], + 'snippet' => [ + 'menu_label' => 'Snippety', + ], ]; diff --git a/lang/de/lang.php b/lang/de/lang.php index 3a99b35..918ee48 100644 --- a/lang/de/lang.php +++ b/lang/de/lang.php @@ -1,114 +1,93 @@ - [ - 'name' => 'Seiten', - 'description' => 'Pages & menus features.', - ], - 'page' => [ - 'menu_label' => 'Seiten', - 'template_title' => '%s Seiten', - 'delete_confirmation' => 'Möchten Sie die ausgewählten Seiten wirklich löschen? Dadurch werden auch mögliche Unterseiten gelöscht.', - 'no_records' => 'Keine Seiten gefunden', - 'delete_confirm_single' => 'Möchten Sie die ausgewählte Seite wirklich löschen? Dadurch werden auch mögliche Unterseiten gelöscht.', - 'new' => 'Neue Seite', - 'add_subpage' => 'Neue Unterseite', - 'invalid_url' => 'Ungültiges URL Format. Die URL sollte mit einem Schrägstrich (Slash) starten und darf Ziffern, Buchstaben und folgenden Symbole enthalten: _-/.', - 'url_not_unique' => 'Die URL wird schon von einer anderen Seite benutzt.', - 'layout' => 'Layout', - 'layouts_not_found' => 'Keine Layouts gefunden', - 'saved' => 'Die Seite wurde erfolgreich gespeichert.', - 'manage_pages' => 'Verwalte statische Seiten', - 'manage_menus' => 'Verwalte statische Menüs', - 'access_snippets' => 'Verwalte Snippets', - 'manage_content' => 'Verwalte den Inhalt' - ], - 'menu' => [ - 'menu_label' => 'Menüs', - 'delete_confirmation' => 'Möchten Sie die ausgewählten Menüs wirklich löschen?', - 'no_records' => 'Keine Menüs gefunden', - 'new' => 'Neues Menü', - 'new_name' => 'Menüname', - 'new_code' => 'menuename', - 'delete_confirm_single' => 'Möchten Sie das ausgewählte Menü wirklich löschen?', - 'saved' => 'Das Menü wurde erfolgreich gespeichert.', - 'name' => 'Name', - 'code' => 'Code', - 'items' => 'Menüpunkte', - 'add_subitem' => 'Neuer Menüpunkt', - 'no_records' => 'Keine Menüpunkte gefunden', - 'code_required' => 'Ein Code ist erforderlich', - 'invalid_code' => 'Ungültiges Code Format. Der Code darf Ziffern, Buchstaben und folgenden Symbole enthalten: _-/' - ], - 'menuitem' => [ - 'title' => 'Titel', - 'editor_title' => 'Menüpunkt bearbeiten', - 'type' => 'Typ', - 'allow_nested_items' => 'Erlaube verschachtelte Menüpunkte', - 'allow_nested_items_comment' => 'Verschachtelte Menüpunkte können dynamisch durch statische Seiten und einigen anderen Menüpunkt-Typen erzeugt werden.', - 'url' => 'URL', - 'reference' => 'Referenz', - 'title_required' => 'Ein Titel ist erforderlich', - 'unknown_type' => 'Unbekannter Menüpunkt-Typ', - 'unnamed' => 'Unbekannter Menüpunkt', - 'add_item' => 'Neuer Menüpunkt', - 'new_item' => 'Neuer Menüpunkt', - 'replace' => 'Ersetze diesen Menüpunkt mit seinen Unterpunkten', - 'replace_comment' => 'Verwenden Sie diese Option, um erzeugte Menüpunkte auf die gleiche Ebene von diesem zu bringen. Dieser Menüpunkt selbst wird ausgeblendet.', - 'cms_page' => 'CMS Seite', - 'cms_page_comment' => 'Wählen Sie eine Seite die geöffnet werden soll, wenn dieser Menüpunkt angeklickt wird.', - 'reference_required' => 'Eine Menüpunkt-Referenz ist erforderlich', - 'url_required' => 'Eine URL ist erforderlich', - 'cms_page_required' => 'Bitten wählen Sie eine CMS Seite', - 'code' => 'Code', - 'code_comment' => 'Geben Sie einen Menüpunkt-Code ein, wenn Sie diesen mit der API ansprechen möchten.' - ], - 'content' => [ - 'menu_label' => 'Inhalte', - 'cant_save_to_dir' => 'Das Speichern von Inhaltsdateien in den Statische-Seiten Ordner ist nicht erlaubt.' - ], - 'sidebar' => [ - 'add' => 'Neu', - 'search' => 'Suche...' - ], - 'object' => [ - 'invalid_type' => 'Unbekannter Objekttyp', - 'not_found' => 'Das angeforderte Objekt wurde nicht gefunden.' - ], - 'editor' => [ - 'title' => 'Titel', - 'new_title' => 'Titel für die neue Seite', - 'content' => 'Inhalt', - 'url' => 'URL', - 'filename' => 'Dateiname', - 'layout' => 'Layout', - 'description' => 'Beschreibung', - 'preview' => 'Vorschau', - 'enter_fullscreen' => 'Vollbildmodus einschalten', - 'exit_fullscreen' => 'Vollbildmodus verlassen', - 'hidden' => 'Verstecken', - 'hidden_comment' => 'Versteckte Seiten sind nur für eingeloggte administrations Benutzer zugänglich.', - 'navigation_hidden' => 'In der Navigation verstecken', - 'navigation_hidden_comment' => 'Setzen Sie diese Option, um diese Seite von automatisch generierten Menüs und Breadcrumbs zu verstecken.', - ], - 'snippet' => [ - 'partialtab' => 'Snippet', - 'code' => 'Snippet code', - 'code_comment' => 'Geben Sie einen Code ein, um dieses Partial als ein Snippet für das Statische-Seiten Plugin freizugeben.', - 'name' => 'Name', - 'name_comment' => 'Der Name wird in der Snippet-Liste in der Seitenleiste der Statische-Seiten angezeigt. Außerdem auf einer Seite wenn ein Snippet angelegt wird.', - 'no_records' => 'Keine Snippets gefunden', - 'menu_label' => 'Snippets', - 'column_property' => 'Titel für die Eigenschaft', - 'column_type' => 'Typ', - 'column_code' => 'Code', - 'column_default' => 'Standard', - 'column_options' => 'Optionen', - 'column_type_string' => 'Zeichenkette', - 'column_type_checkbox' => 'Checkbox', - 'column_type_dropdown' => 'Dropdown', - 'not_found' => 'Das Snippet mit dem angeforderten code :code wurde nicht im Theme gefunden.', - 'property_format_error' => 'Der Code für die Eigenschaft muss mit einem Buchstaben anfangen, und darf nur Buchstaben und Zahlen enthalten', - 'invalid_option_key' => 'Ungültiger Dropdown Optionsschlüssel: %s. Optionsschlüssel dürfen nur Zahlen, Buchstaben und die Zeichen _ und - enthalten' - ] - ]; + [ + 'name' => 'Seiten', + 'description' => 'Pages & menus features.', + ], + 'page' => [ + 'menu_label' => 'Seiten', + 'template_title' => '%s Seiten', + 'delete_confirmation' => 'Möchten Sie die ausgewählten Seiten wirklich löschen? Dadurch werden auch mögliche Unterseiten gelöscht.', + 'no_records' => 'Keine Seiten gefunden', + 'delete_confirm_single' => 'Möchten Sie die ausgewählte Seite wirklich löschen? Dadurch werden auch mögliche Unterseiten gelöscht.', + 'new' => 'Neue Seite', + 'add_subpage' => 'Neue Unterseite', + 'invalid_url' => 'Ungültiges URL Format. Die URL sollte mit einem Schrägstrich (Slash) starten und darf Ziffern, Buchstaben und folgenden Symbole enthalten: _-/.', + 'url_not_unique' => 'Die URL wird schon von einer anderen Seite benutzt.', + 'layout' => 'Layout', + 'layouts_not_found' => 'Keine Layouts gefunden', + 'saved' => 'Die Seite wurde erfolgreich gespeichert.', + 'manage_pages' => 'Verwalte statische Seiten', + 'manage_menus' => 'Verwalte statische Menüs', + 'access_snippets' => 'Verwalte Snippets', + 'manage_content' => 'Verwalte den Inhalt', + ], + 'menu' => [ + 'menu_label' => 'Menüs', + 'delete_confirmation' => 'Möchten Sie die ausgewählten Menüs wirklich löschen?', + 'no_records' => 'Keine Menüpunkte gefunden', + 'new' => 'Neues Menü', + 'new_name' => 'Menüname', + 'new_code' => 'menuename', + 'delete_confirm_single' => 'Möchten Sie das ausgewählte Menü wirklich löschen?', + 'saved' => 'Das Menü wurde erfolgreich gespeichert.', + 'name' => 'Name', + 'code' => 'Code', + 'items' => 'Menüpunkte', + 'add_subitem' => 'Neuer Menüpunkt', + 'code_required' => 'Ein Code ist erforderlich', + 'invalid_code' => 'Ungültiges Code Format. Der Code darf Ziffern, Buchstaben und folgenden Symbole enthalten: _-/', + ], + 'menuitem' => [ + 'title' => 'Titel', + 'editor_title' => 'Menüpunkt bearbeiten', + 'type' => 'Typ', + 'allow_nested_items' => 'Erlaube verschachtelte Menüpunkte', + 'allow_nested_items_comment' => 'Verschachtelte Menüpunkte können dynamisch durch statische Seiten und einigen anderen Menüpunkt-Typen erzeugt werden.', + 'url' => 'URL', + 'reference' => 'Referenz', + 'title_required' => 'Ein Titel ist erforderlich', + 'unknown_type' => 'Unbekannter Menüpunkt-Typ', + 'unnamed' => 'Unbekannter Menüpunkt', + 'add_item' => 'Neuer Menüpunkt', + 'new_item' => 'Neuer Menüpunkt', + 'replace' => 'Ersetze diesen Menüpunkt mit seinen Unterpunkten', + 'replace_comment' => 'Verwenden Sie diese Option, um erzeugte Menüpunkte auf die gleiche Ebene von diesem zu bringen. Dieser Menüpunkt selbst wird ausgeblendet.', + 'cms_page' => 'CMS Seite', + 'cms_page_comment' => 'Wählen Sie eine Seite die geöffnet werden soll, wenn dieser Menüpunkt angeklickt wird.', + 'reference_required' => 'Eine Menüpunkt-Referenz ist erforderlich', + 'url_required' => 'Eine URL ist erforderlich', + 'cms_page_required' => 'Bitten wählen Sie eine CMS Seite', + 'code' => 'Code', + 'code_comment' => 'Geben Sie einen Menüpunkt-Code ein, wenn Sie diesen mit der API ansprechen möchten.', + ], + 'content' => [ + 'menu_label' => 'Inhalte', + 'cant_save_to_dir' => 'Das Speichern von Inhaltsdateien in den Statische-Seiten Ordner ist nicht erlaubt.', + ], + 'sidebar' => [ + 'add' => 'Neu', + ], + 'object' => [ + 'invalid_type' => 'Unbekannter Objekttyp', + 'not_found' => 'Das angeforderte Objekt wurde nicht gefunden.', + ], + 'editor' => [ + 'title' => 'Titel', + 'new_title' => 'Titel für die neue Seite', + 'content' => 'Inhalt', + 'url' => 'URL', + 'filename' => 'Dateiname', + 'layout' => 'Layout', + 'description' => 'Beschreibung', + 'preview' => 'Vorschau', + 'enter_fullscreen' => 'Vollbildmodus einschalten', + 'exit_fullscreen' => 'Vollbildmodus verlassen', + 'hidden' => 'Verstecken', + 'hidden_comment' => 'Versteckte Seiten sind nur für eingeloggte administrations Benutzer zugänglich.', + 'navigation_hidden' => 'In der Navigation verstecken', + 'navigation_hidden_comment' => 'Setzen Sie diese Option, um diese Seite von automatisch generierten Menüs und Breadcrumbs zu verstecken.', + ], + 'snippet' => [ + 'menu_label' => 'Snippets', + ], +]; diff --git a/lang/el/lang.php b/lang/el/lang.php index 724ce88..d266b40 100644 --- a/lang/el/lang.php +++ b/lang/el/lang.php @@ -1,133 +1,113 @@ - [ - 'name' => 'Σελίδες', - 'description' => 'Σελίδες και Μενού.', - ], - 'page' => [ - 'menu_label' => 'Σελίδες', - 'template_title' => '%s Σελίδες', - 'delete_confirmation' => 'Θέλετε πραγματικά να διαγράψετε τις επιλεγμένες σελίδες; Αυτό θα διαγράψει και τις υποσελίδες, εάν υπάρχουν.', - 'no_records' => 'Δεν βρέθηκαν σελίδες', - 'delete_confirm_single' => 'Θέλετε πραγματικά να διαγράψετε αυτή την σελίδα; Αυτό θα διαγράψει και τις υποσελίδες, εάν υπάρχουν.', - 'new' => 'Νέα σελίδα', - 'add_subpage' => 'Προσθήκη υποσελίδας', - 'invalid_url' => 'Μή έγκυρη μορφή URL. Το URL πρέπει να αρχίζει με το σύμβολο μπροστινής καθέτου και μπορεί να περιέχει αριθμητικά ψηφία, Λατινικούς χαρακτήρες και τα ακόλουθα σύμβολα: _-/.', - 'url_not_unique' => 'Αυτό το URL χρησιμοποιήται ήδη από άλλη σελίδα.', - 'layout' => 'Σχέδιο', - 'layouts_not_found' => 'Δεν βρέθηκαν σχέδια', - 'saved' => 'Η σελίδα αποθηκεύτηκε επιτυχώς.', - 'tab' => 'Σελίδες', - 'manage_pages' => 'Διαχείριση στατικών σελίδων', - 'manage_menus' => 'Διαχείριση στατικών μενού', - 'access_snippets' => 'Πρόσβαση στα αποσπάσματα', - 'manage_content' => 'Διαχείριση στατικού περιεχομένου', - ], - 'menu' => [ - 'menu_label' => 'Μενού', - 'delete_confirmation' => 'Θέλετε πραγματικά να διαγράψετε τα επιλεγμένα μενού;', - 'no_records' => 'Δεν βρέθηκανε μενού', - 'new' => 'Νέο μενού', - 'new_name' => 'Νέο μενού', - 'new_code' => 'new-menu', - 'delete_confirm_single' => 'Θέλετε πραγματικά να διαγράψετε αυτό το μενού;', - 'saved' => 'Αυτό το μενού αποθηκεύτηκε επιτυχώς.', - 'name' => 'Όνομα', - 'code' => 'Κωδικός', - 'items' => 'Στοιχεία μενού', - 'add_subitem' => 'Προσθήκη υποστοιχείου', - 'code_required' => 'Ο Κωδικός είναι απαραίτητος', - 'invalid_code' => 'Μή έγκυρη μορφή Κωδικού. Ο Κωδικός μπορεί να περιέχει αριθμητικά ψηφία, Λατινικούς χαρακτήρες και τα ακόλουθα σύμβολα: _-', - ], - 'menuitem' => [ - 'title' => 'Τίτλος', - 'editor_title' => 'Επεξεργασία στοιχείου μενού', - 'type' => 'Τύπος', - 'allow_nested_items' => 'Να επιτρέπονται ένθετα στοιχεία', - 'allow_nested_items_comment' => 'Τα ένθετα στοιχεία μπορούν να δημιουργηθούν δυναμικά από στατικές σελίδες και κάποιους άλλους τύπους στοιχείων', - 'url' => 'URL', - 'reference' => 'Αναφορά', - 'search_placeholder' => 'Αναζήτηση αναφορών...', - 'title_required' => 'Ο Τίτλος είναι απαραίτητος', - 'unknown_type' => 'Άγνωστος τύπος στοιχείου μενού', - 'unnamed' => 'Στοιχείο μενού χωρίς όνομα', - 'add_item' => 'Προσθήκη Στοιχείου', - 'new_item' => 'Νέο στοιχείο μενού', - 'replace' => 'Αντικατάσταση του στοιχείου με τα παραγμένα υποστοιχεία', - 'replace_comment' => 'Χρησιμοποιήστε αυτό το πλαίσιο για να ωθήσετε τα παραγμένα στοιχεία μενού στο ίδιο επίπεδο με αυτό το στοιχείο. Το ίδιο το στοιχείο θα γίνει κρυφό.', - 'cms_page' => 'Σελίδα CMS', - 'cms_page_comment' => 'Επιλέξτε σελίδα που θα ανοίγει όταν αυτό το μενού πατηθεί.', - 'reference_required' => 'Η αναφορά του στοιχείου μενού είναι απαραίτητη.', - 'url_required' => 'Το URL είναι απαραίτητο', - 'cms_page_required' => 'Παρακαλώ διαλέξτε μία σελίδα CMS', - 'code' => 'Κωδικός', - 'code_comment' => 'Εισάγετε το κωδικό του μενού εάν θέλετε να έχετε πρόσβαση μέσω του API.', - 'static_page' => 'Στατική σελίδα', - 'all_static_pages' => 'Όλες οι Στατικές Σελίδες' - ], - 'content' => [ - 'menu_label' => 'Περιεχόμενο', - 'cant_save_to_dir' => 'Η αποθήκευση των αρχείων περιεχομένου στο φάκελο στατικών σελίδων δεν επιτρέπεται.', - ], - 'sidebar' => [ - 'add' => 'Προσθήκη', - 'search' => 'Αναζήτηση...', - ], - 'object' => [ - 'invalid_type' => 'Άγνωστος τύπος αντικειμένου', - 'not_found' => 'Το ζητούμενο αντικείμενο δεν βρέθηκε.', - ], - 'editor' => [ - 'title' => 'Τίτλος', - 'new_title' => 'Νέος τίτλος σελίδας', - 'content' => 'Περιεχόμενο', - 'url' => 'URL', - 'filename' => 'Όνομα αρχείου', - 'layout' => 'Σχέδιο', - 'description' => 'Περιγραφή', - 'preview' => 'Προεπισκόπηση', - 'enter_fullscreen' => 'Πλήρης οθόνη', - 'exit_fullscreen' => 'Έξοδος πλήρους οθόνης', - 'hidden' => 'Κρυφό', - 'hidden_comment' => 'Κρυφές σελίδες είναι προσβάσιμες μόνο στους συνδεδεμένους χρήστες back-end.', - 'navigation_hidden' => 'Απόκρυψη στην πλοήγηση', - 'navigation_hidden_comment' => 'Επιλέξτε αυτό το πλαίσιο για να κρύψετε αυτή την σελίδα από αυτοματοποιημένα μενού και breadcrumbs.', - ], - 'snippet' => [ - 'partialtab' => 'Αποσπάσματα', - 'code' => 'Κώδικας αποσπάσματος', - 'code_comment' => 'Εισάγετε ένα κώδικα για να κάνεται αυτό το partial διαθέσιμο σαν απόσπασμα στο πρόσθετο Στατικών Σελίδων.', - 'name' => 'Όνομα', - 'name_comment' => 'Το όνομα εμφανίζεται στην λίστα αποσπασμάτων στην πλευρική στήλη Στατικών Σελίδων και σε μία Σελίδα όταν προστίθεται ένα απόσπασμα.', - 'no_records' => 'Δεν βρέθηκαν αποσπάσματα', - 'menu_label' => 'Αποσπάσματα', - 'column_property' => 'Τίτλος ιδιότητας', - 'column_type' => 'Τύπος', - 'column_code' => 'Κωδικός', - 'column_default' => 'Προκαθορισμένο', - 'column_options' => 'Επιλογές', - 'column_type_string' => 'Κείμενο', - 'column_type_checkbox' => 'Πλαίσιο ελέγχου', - 'column_type_dropdown' => 'Πτυσσόμενες επιλογές', - 'not_found' => 'Απόσπασμα με τον ζητούμενο κωδικό :code δεν βρέθηκε στο πρότυπο θέμα.', - 'property_format_error' => 'Οι κωδικοί των ιδιοτήτων πρέπει να ξεκινούν με Λατινικά γράμματα και μπορούν να περιέχουν μόνο Λατινικά γράμματα και αριθμητικά ψηφία', - 'invalid_option_key' => 'Μή έγκυρο κλειδί πτυσσόμενης επιλογής: :key. Τα κλειδιά επιλογών μπορούνα να περιέχουν μόνο αριθμιτικά ψηφία, Λατινικά γράμματα και τους χαρακτήρες _ και -', - ], - 'component' => [ - 'static_page_name' => 'Στατική σελίδα', - 'static_page_description' => 'Παράγει μία στατική σελίδα ενσωματωμένη σε ένα σχέδιο CMS.', - 'static_page_use_content_name' => 'Χρησιμοποιήστε το πεδίο περιεχομένου σελίδας', - 'static_page_use_content_description' => 'Εάν δεν είναι επιλεγμένο, η περιοχή περιεχομένου δεν θα εμφανίζεται όταν επεξεργάζεται η στατική σελίδα. Το περιεχόμενο της σελίδας θα ορίζεται αποκλειστικά μέσω αντικαταστατών και μεταβλητών.', - 'static_page_default_name' => 'Προεπιλεγμένο σχέδιο', - 'static_page_default_description' => 'Ορίζει αυτό το σχέδιο σαν το προεπιλεγμένο για καινούργιες σελίδες', - 'static_page_child_layout_name' => 'Σχέδιο υποσελίδων', - 'static_page_child_layout_description' => 'Το προεπιλεγμένο σχέδιο για καινούργιες υποσελίδες', - 'static_menu_name' => 'Στατικό μενού', - 'static_menu_description' => 'Παράγει ένα μενού σε ένα σχέδιο CMS.', - 'static_menu_code_name' => 'Μενού', - 'static_menu_code_description' => 'Ορίστε ένα κωδικό του μενού που το Δομικό Στοιχείο θα πρέπει να εξάγει.', - 'static_breadcrumbs_name' => 'Στατικά breadcrumbs', - 'static_breadcrumbs_description' => 'Παράγει breadcrumbs για μία στατική σελίδα.', - ] + [ + 'name' => 'Σελίδες', + 'description' => 'Σελίδες και Μενού.', + ], + 'page' => [ + 'menu_label' => 'Σελίδες', + 'template_title' => '%s Σελίδες', + 'delete_confirmation' => 'Θέλετε πραγματικά να διαγράψετε τις επιλεγμένες σελίδες; Αυτό θα διαγράψει και τις υποσελίδες, εάν υπάρχουν.', + 'no_records' => 'Δεν βρέθηκαν σελίδες', + 'delete_confirm_single' => 'Θέλετε πραγματικά να διαγράψετε αυτή την σελίδα; Αυτό θα διαγράψει και τις υποσελίδες, εάν υπάρχουν.', + 'new' => 'Νέα σελίδα', + 'add_subpage' => 'Προσθήκη υποσελίδας', + 'invalid_url' => 'Μή έγκυρη μορφή URL. Το URL πρέπει να αρχίζει με το σύμβολο μπροστινής καθέτου και μπορεί να περιέχει αριθμητικά ψηφία, Λατινικούς χαρακτήρες και τα ακόλουθα σύμβολα: _-/.', + 'url_not_unique' => 'Αυτό το URL χρησιμοποιήται ήδη από άλλη σελίδα.', + 'layout' => 'Σχέδιο', + 'layouts_not_found' => 'Δεν βρέθηκαν σχέδια', + 'saved' => 'Η σελίδα αποθηκεύτηκε επιτυχώς.', + 'tab' => 'Σελίδες', + 'manage_pages' => 'Διαχείριση στατικών σελίδων', + 'manage_menus' => 'Διαχείριση στατικών μενού', + 'access_snippets' => 'Πρόσβαση στα αποσπάσματα', + 'manage_content' => 'Διαχείριση στατικού περιεχομένου', + ], + 'menu' => [ + 'menu_label' => 'Μενού', + 'delete_confirmation' => 'Θέλετε πραγματικά να διαγράψετε τα επιλεγμένα μενού;', + 'no_records' => 'Δεν βρέθηκανε μενού', + 'new' => 'Νέο μενού', + 'new_name' => 'Νέο μενού', + 'new_code' => 'new-menu', + 'delete_confirm_single' => 'Θέλετε πραγματικά να διαγράψετε αυτό το μενού;', + 'saved' => 'Αυτό το μενού αποθηκεύτηκε επιτυχώς.', + 'name' => 'Όνομα', + 'code' => 'Κωδικός', + 'items' => 'Στοιχεία μενού', + 'add_subitem' => 'Προσθήκη υποστοιχείου', + 'code_required' => 'Ο Κωδικός είναι απαραίτητος', + 'invalid_code' => 'Μή έγκυρη μορφή Κωδικού. Ο Κωδικός μπορεί να περιέχει αριθμητικά ψηφία, Λατινικούς χαρακτήρες και τα ακόλουθα σύμβολα: _-', + ], + 'menuitem' => [ + 'title' => 'Τίτλος', + 'editor_title' => 'Επεξεργασία στοιχείου μενού', + 'type' => 'Τύπος', + 'allow_nested_items' => 'Να επιτρέπονται ένθετα στοιχεία', + 'allow_nested_items_comment' => 'Τα ένθετα στοιχεία μπορούν να δημιουργηθούν δυναμικά από στατικές σελίδες και κάποιους άλλους τύπους στοιχείων', + 'url' => 'URL', + 'reference' => 'Αναφορά', + 'search_placeholder' => 'Αναζήτηση αναφορών...', + 'title_required' => 'Ο Τίτλος είναι απαραίτητος', + 'unknown_type' => 'Άγνωστος τύπος στοιχείου μενού', + 'unnamed' => 'Στοιχείο μενού χωρίς όνομα', + 'add_item' => 'Προσθήκη Στοιχείου', + 'new_item' => 'Νέο στοιχείο μενού', + 'replace' => 'Αντικατάσταση του στοιχείου με τα παραγμένα υποστοιχεία', + 'replace_comment' => 'Χρησιμοποιήστε αυτό το πλαίσιο για να ωθήσετε τα παραγμένα στοιχεία μενού στο ίδιο επίπεδο με αυτό το στοιχείο. Το ίδιο το στοιχείο θα γίνει κρυφό.', + 'cms_page' => 'Σελίδα CMS', + 'cms_page_comment' => 'Επιλέξτε σελίδα που θα ανοίγει όταν αυτό το μενού πατηθεί.', + 'reference_required' => 'Η αναφορά του στοιχείου μενού είναι απαραίτητη.', + 'url_required' => 'Το URL είναι απαραίτητο', + 'cms_page_required' => 'Παρακαλώ διαλέξτε μία σελίδα CMS', + 'code' => 'Κωδικός', + 'code_comment' => 'Εισάγετε το κωδικό του μενού εάν θέλετε να έχετε πρόσβαση μέσω του API.', + 'static_page' => 'Στατική σελίδα', + 'all_static_pages' => 'Όλες οι Στατικές Σελίδες', + ], + 'content' => [ + 'menu_label' => 'Περιεχόμενο', + 'cant_save_to_dir' => 'Η αποθήκευση των αρχείων περιεχομένου στο φάκελο στατικών σελίδων δεν επιτρέπεται.', + ], + 'sidebar' => [ + 'add' => 'Προσθήκη', + ], + 'object' => [ + 'invalid_type' => 'Άγνωστος τύπος αντικειμένου', + 'not_found' => 'Το ζητούμενο αντικείμενο δεν βρέθηκε.', + ], + 'editor' => [ + 'title' => 'Τίτλος', + 'new_title' => 'Νέος τίτλος σελίδας', + 'content' => 'Περιεχόμενο', + 'url' => 'URL', + 'filename' => 'Όνομα αρχείου', + 'layout' => 'Σχέδιο', + 'description' => 'Περιγραφή', + 'preview' => 'Προεπισκόπηση', + 'enter_fullscreen' => 'Πλήρης οθόνη', + 'exit_fullscreen' => 'Έξοδος πλήρους οθόνης', + 'hidden' => 'Κρυφό', + 'hidden_comment' => 'Κρυφές σελίδες είναι προσβάσιμες μόνο στους συνδεδεμένους χρήστες back-end.', + 'navigation_hidden' => 'Απόκρυψη στην πλοήγηση', + 'navigation_hidden_comment' => 'Επιλέξτε αυτό το πλαίσιο για να κρύψετε αυτή την σελίδα από αυτοματοποιημένα μενού και breadcrumbs.', + ], + 'snippet' => [ + 'menu_label' => 'Αποσπάσματα', + ], + 'component' => [ + 'static_page_name' => 'Στατική σελίδα', + 'static_page_description' => 'Παράγει μία στατική σελίδα ενσωματωμένη σε ένα σχέδιο CMS.', + 'static_page_use_content_name' => 'Χρησιμοποιήστε το πεδίο περιεχομένου σελίδας', + 'static_page_use_content_description' => 'Εάν δεν είναι επιλεγμένο, η περιοχή περιεχομένου δεν θα εμφανίζεται όταν επεξεργάζεται η στατική σελίδα. Το περιεχόμενο της σελίδας θα ορίζεται αποκλειστικά μέσω αντικαταστατών και μεταβλητών.', + 'static_page_default_name' => 'Προεπιλεγμένο σχέδιο', + 'static_page_default_description' => 'Ορίζει αυτό το σχέδιο σαν το προεπιλεγμένο για καινούργιες σελίδες', + 'static_page_child_layout_name' => 'Σχέδιο υποσελίδων', + 'static_page_child_layout_description' => 'Το προεπιλεγμένο σχέδιο για καινούργιες υποσελίδες', + 'static_menu_name' => 'Στατικό μενού', + 'static_menu_description' => 'Παράγει ένα μενού σε ένα σχέδιο CMS.', + 'static_menu_code_name' => 'Μενού', + 'static_menu_code_description' => 'Ορίστε ένα κωδικό του μενού που το Δομικό Στοιχείο θα πρέπει να εξάγει.', + 'static_breadcrumbs_name' => 'Στατικά breadcrumbs', + 'static_breadcrumbs_description' => 'Παράγει breadcrumbs για μία στατική σελίδα.', + ], ]; diff --git a/lang/en/lang.php b/lang/en/lang.php index 9cca7b2..2664c7f 100644 --- a/lang/en/lang.php +++ b/lang/en/lang.php @@ -1,158 +1,130 @@ - [ - 'name' => 'Pages', - 'description' => 'Pages & menus features.', - ], - 'page' => [ - 'menu_label' => 'Pages', - 'template_title' => '%s Pages', - 'delete_confirmation' => 'Do you really want to delete selected pages? This will also delete the subpages, if any.', - 'no_records' => 'No pages found', - 'delete_confirm_single' => 'Do you really want delete this page? This will also delete the subpages, if any.', - 'new' => 'New page', - 'add_subpage' => 'Add subpage', - 'invalid_url' => 'Invalid URL format. The URL should start with the forward slash symbol and can contain digits, Latin letters and the following symbols: _-/.', - 'url_not_unique' => 'This URL is already used by another page.', - 'layout' => 'Layout', - 'layouts_not_found' => 'Layouts not found', - 'saved' => 'The page has been successfully saved.', - 'tab' => 'Pages', - 'manage_pages' => 'Manage static pages', - 'manage_menus' => 'Manage static menus', - 'access_snippets' => 'Access snippets', - 'manage_content' => 'Manage static content', - ], - 'menu' => [ - 'menu_label' => 'Menus', - 'delete_confirmation' => 'Do you really want to delete selected menus?', - 'no_records' => 'No menus found', - 'new' => 'New menu', - 'new_name' => 'New menu', - 'new_code' => 'new-menu', - 'delete_confirm_single' => 'Do you really want delete this menu?', - 'saved' => 'The menu has been successfully saved.', - 'name' => 'Name', - 'code' => 'Code', - 'items' => 'Menu items', - 'add_subitem' => 'Add subitem', - 'code_required' => 'The Code is required', - 'invalid_code' => 'Invalid Code format. The Code can contain digits, Latin letters and the following symbols: _-', - ], - 'menuitem' => [ - 'title' => 'Title', - 'editor_title' => 'Edit Menu Item', - 'type' => 'Type', - 'allow_nested_items' => 'Allow nested items', - 'allow_nested_items_comment' => 'Nested items could be generated dynamically by static page and some other item types', - 'url' => 'URL', - 'reference' => 'Reference', - 'search_placeholder' => 'Search all references...', - 'title_required' => 'The Title is required', - 'unknown_type' => 'Unknown menu item type', - 'unnamed' => 'Unnamed menu item', - 'add_item' => 'Add Item', - 'new_item' => 'New menu item', - 'replace' => 'Replace this item with its generated children', - 'replace_comment' => 'Use this checkbox to push generated menu items to the same level with this item. This item itself will be hidden.', - 'cms_page' => 'CMS Page', - 'cms_page_comment' => 'Select a page to open when the menu item is clicked.', - 'reference_required' => 'The menu item reference is required.', - 'url_required' => 'The URL is required', - 'cms_page_required' => 'Please select a CMS page', - 'display_tab' => 'Display', - 'hidden' => 'Hidden', - 'hidden_comment' => 'Hide this menu item from appearing on the front-end.', - 'attributes_tab' => 'Attributes', - 'code' => 'Code', - 'code_comment' => 'Enter the menu item code if you want to access it with the API.', - 'css_class' => 'CSS Class', - 'css_class_comment' => 'Enter a CSS class name to give this menu item a custom appearance.', - 'external_link' => 'External link', - 'external_link_comment' => 'Open links for this menu item in a new window.', - 'static_page' => 'Static Page', - 'all_static_pages' => 'All Static Pages' - ], - 'content' => [ - 'menu_label' => 'Content', - 'saved' => 'The content has been successfully saved.', - 'cant_save_to_dir' => 'Saving content files to the static-pages directory is not allowed.', - ], - 'template' => [ - 'order_by' => 'Order by', - 'no_list_records' => 'No records found', - 'delete_confirm' => 'Delete selected templates?', - ], - 'sidebar' => [ - 'add' => 'Add', - 'search' => 'Search...', - ], - 'object' => [ - 'invalid_type' => 'Unknown object type', - 'unauthorized_type' => 'You are not authorized to manage :type objects', - 'not_found' => 'The requested object was not found.', - ], - 'editor' => [ - 'title' => 'Title', - 'new_title' => 'New page title', - 'content' => 'Content', - 'url' => 'URL', - 'filename' => 'File Name', - 'layout' => 'Layout', - 'description' => 'Description', - 'preview' => 'Preview', - 'enter_fullscreen' => 'Enter fullscreen mode', - 'exit_fullscreen' => 'Exit fullscreen mode', - 'hidden' => 'Hidden', - 'hidden_comment' => 'Hidden pages are accessible only by logged-in back-end users.', - 'navigation_hidden' => 'Hide in navigation', - 'navigation_hidden_comment' => 'Check this box to hide this page from automatically generated menus and breadcrumbs.', - ], - 'snippet' => [ - 'partialtab' => 'Snippet', - 'settings_popup_title' => 'Static Pages Snippet', - 'code' => 'Snippet code', - 'code_comment' => 'Enter a code to make this partial available as a snippet in the Static Pages plugin.', - 'code_required' => 'Please enter tne snippet code', - 'name' => 'Name', - 'name_comment' => 'The name is displayed in the snippet list in the Static Pages sidebar and on a Page when a snippet is added.', - 'name_required' => 'Please enter tne snippet name', - 'no_records' => 'No snippets found', - 'menu_label' => 'Snippets', - 'properties' => 'Snippet properties', - 'column_property' => 'Property Title', - 'title_required' => 'Please provide the property title', - 'type_required' => 'Please select the property type', - 'property_required' => 'Please provide the property name', - 'column_type' => 'Type', - 'column_type_placeholder' => 'Select', - 'column_code' => 'Code', - 'column_default' => 'Default', - 'column_options' => 'Options', - 'column_type_string' => 'String', - 'column_type_checkbox' => 'Checkbox', - 'column_type_dropdown' => 'Dropdown', - 'not_found' => 'Snippet with the requested code :code was not found in the theme.', - 'property_format_error' => 'Property code should start with a Latin letter and can contain only Latin letters and digits', - 'invalid_option_key' => 'Invalid drop-down option key: :key. Option keys can contain only digits, Latin letters and characters _ and -', - ], - 'component' => [ - 'static_page_name' => 'Static page', - 'static_page_description' => 'Outputs a static page in a CMS layout.', - 'static_page_use_content_name' => 'Use page content field', - 'static_page_use_content_description' => 'If unchecked, the content section will not appear when editing the static page. Page content will be determined solely through placeholders and variables.', - 'static_page_default_name' => 'Default layout', - 'static_page_default_description' => 'Defines this layout as the default for new pages', - 'static_page_child_layout_name' => 'Subpage layout', - 'static_page_child_layout_description' => 'The layout to use as the default for any new subpages', - 'static_menu_name' => 'Static menu', - 'static_menu_description' => 'Outputs a menu in a CMS layout.', - 'static_menu_code_name' => 'Menu', - 'static_menu_code_description' => 'Specify a code of the menu the component should output.', - 'static_breadcrumbs_name' => 'Static breadcrumbs', - 'static_breadcrumbs_description' => 'Outputs breadcrumbs for a static page.', - 'child_pages_name' => 'Child pages', - 'child_pages_description' => 'Displays a list of child pages for the current page', - ] + [ + 'name' => 'Pages', + 'description' => 'Pages & menus features.', + ], + 'page' => [ + 'menu_label' => 'Pages', + 'template_title' => '%s Pages', + 'delete_confirmation' => 'Do you really want to delete selected pages? This will also delete the subpages, if any.', + 'no_records' => 'No pages found', + 'delete_confirm_single' => 'Do you really want delete this page? This will also delete the subpages, if any.', + 'new' => 'New page', + 'add_subpage' => 'Add subpage', + 'invalid_url' => 'Invalid URL format. The URL should start with the forward slash symbol and can contain digits, Latin letters and the following symbols: _-/.', + 'url_not_unique' => 'This URL is already used by another page.', + 'layout' => 'Layout', + 'layouts_not_found' => 'Layouts not found', + 'saved' => 'The page has been successfully saved.', + 'tab' => 'Pages', + 'manage_pages' => 'Manage static pages', + 'manage_menus' => 'Manage static menus', + 'access_snippets' => 'Access snippets', + 'manage_content' => 'Manage static content', + ], + 'menu' => [ + 'menu_label' => 'Menus', + 'delete_confirmation' => 'Do you really want to delete selected menus?', + 'no_records' => 'No menus found', + 'new' => 'New menu', + 'new_name' => 'New menu', + 'new_code' => 'new-menu', + 'delete_confirm_single' => 'Do you really want delete this menu?', + 'saved' => 'The menu has been successfully saved.', + 'name' => 'Name', + 'code' => 'Code', + 'items' => 'Menu items', + 'add_subitem' => 'Add subitem', + 'code_required' => 'The Code is required', + 'invalid_code' => 'Invalid Code format. The Code can contain digits, Latin letters and the following symbols: _-', + ], + 'menuitem' => [ + 'title' => 'Title', + 'editor_title' => 'Edit Menu Item', + 'type' => 'Type', + 'allow_nested_items' => 'Allow nested items', + 'allow_nested_items_comment' => 'Nested items could be generated dynamically by static page and some other item types', + 'url' => 'URL', + 'reference' => 'Reference', + 'search_placeholder' => 'Search all references...', + 'title_required' => 'The Title is required', + 'unknown_type' => 'Unknown menu item type', + 'unnamed' => 'Unnamed menu item', + 'add_item' => 'Add Item', + 'new_item' => 'New menu item', + 'replace' => 'Replace this item with its generated children', + 'replace_comment' => 'Use this checkbox to push generated menu items to the same level with this item. This item itself will be hidden.', + 'cms_page' => 'CMS Page', + 'cms_page_comment' => 'Select a page to open when the menu item is clicked.', + 'reference_required' => 'The menu item reference is required.', + 'url_required' => 'The URL is required', + 'cms_page_required' => 'Please select a CMS page', + 'display_tab' => 'Display', + 'hidden' => 'Hidden', + 'hidden_comment' => 'Hide this menu item from appearing on the front-end.', + 'attributes_tab' => 'Attributes', + 'code' => 'Code', + 'code_comment' => 'Enter the menu item code if you want to access it with the API.', + 'css_class' => 'CSS Class', + 'css_class_comment' => 'Enter a CSS class name to give this menu item a custom appearance.', + 'external_link' => 'External link', + 'external_link_comment' => 'Open links for this menu item in a new window.', + 'static_page' => 'Static Page', + 'all_static_pages' => 'All Static Pages', + ], + 'content' => [ + 'menu_label' => 'Content', + 'saved' => 'The content has been successfully saved.', + 'cant_save_to_dir' => 'Saving content files to the static-pages directory is not allowed.', + ], + 'template' => [ + 'order_by' => 'Order by', + 'no_list_records' => 'No records found', + 'delete_confirm' => 'Delete selected templates?', + ], + 'sidebar' => [ + 'add' => 'Add', + ], + 'object' => [ + 'invalid_type' => 'Unknown object type', + 'unauthorized_type' => 'You are not authorized to manage :type objects', + 'not_found' => 'The requested object was not found.', + ], + 'editor' => [ + 'title' => 'Title', + 'new_title' => 'New page title', + 'content' => 'Content', + 'url' => 'URL', + 'filename' => 'File Name', + 'layout' => 'Layout', + 'description' => 'Description', + 'preview' => 'Preview', + 'enter_fullscreen' => 'Enter fullscreen mode', + 'exit_fullscreen' => 'Exit fullscreen mode', + 'hidden' => 'Hidden', + 'hidden_comment' => 'Hidden pages are accessible only by logged-in back-end users.', + 'navigation_hidden' => 'Hide in navigation', + 'navigation_hidden_comment' => 'Check this box to hide this page from automatically generated menus and breadcrumbs.', + ], + 'snippet' => [ + 'menu_label' => 'Snippets', + ], + 'component' => [ + 'static_page_name' => 'Static page', + 'static_page_description' => 'Outputs a static page in a CMS layout.', + 'static_page_use_content_name' => 'Use page content field', + 'static_page_use_content_description' => 'If unchecked, the content section will not appear when editing the static page. Page content will be determined solely through placeholders and variables.', + 'static_page_default_name' => 'Default layout', + 'static_page_default_description' => 'Defines this layout as the default for new pages', + 'static_page_child_layout_name' => 'Subpage layout', + 'static_page_child_layout_description' => 'The layout to use as the default for any new subpages', + 'static_menu_name' => 'Static menu', + 'static_menu_description' => 'Outputs a menu in a CMS layout.', + 'static_menu_code_name' => 'Menu', + 'static_menu_code_description' => 'Specify a code of the menu the component should output.', + 'static_breadcrumbs_name' => 'Static breadcrumbs', + 'static_breadcrumbs_description' => 'Outputs breadcrumbs for a static page.', + 'child_pages_name' => 'Child pages', + 'child_pages_description' => 'Displays a list of child pages for the current page', + ], ]; diff --git a/lang/es/lang.php b/lang/es/lang.php index 1cf8dcc..8851198 100644 --- a/lang/es/lang.php +++ b/lang/es/lang.php @@ -1,115 +1,94 @@ - [ - 'name' => 'Páginas', - 'description' => 'Páginas & menus', - ], - 'page' => [ - 'menu_label' => 'Páginas', - 'template_title' => '%s Páginas', - 'delete_confirmation' => 'Estas seguro de querer borrar las páginas seleccionadas? Esto también borrará las sub-páginas que existan.', - 'no_records' => 'No se ha encontrado ninguna página', - 'delete_confirm_single' => 'Estas seguro de querer borrar esta página? Esto también borrará las sub-páginas que existan.', - 'new' => 'Nueva página', - 'add_subpage' => 'Añadir sub-página', - 'invalid_url' => 'Formato de URL no válido. La URL debería comenzar por una barra (\'/\'). Puede contener letras, números, y los siguientes símbolos _ - / ', - 'url_not_unique' => 'Esta URL ya está siendo utilizada por otra página.', - 'layout' => 'Plantilla', - 'layouts_not_found' => 'No se han encontrado plantillas', - 'saved' => 'La página se ha guardado correctamente.', - 'tab' => 'Páginas', - 'manage_pages' => 'Administrar páginas', - 'manage_menus' => 'Administrar menús', - 'access_snippets' => 'Acceder a fragmentos', - 'manage_content' => 'Administrar contenidos' - ], - 'menu' => [ - 'menu_label' => 'Menus', - 'delete_confirmation' => 'Estas seguro de querer borrar los menus seleccionados?', - 'no_records' => 'No se han encontrado menus.', - 'new' => 'Nuevo menu', - 'new_name' => 'Nuevo menu', - 'new_code' => 'nuevo-menu', - 'delete_confirm_single' => 'Estas seguro de querer borrar este menu?', - 'saved' => 'El menú se ha guardado correctamente.', - 'name' => 'Nombre', - 'code' => 'Código', - 'items' => 'Elementos del menu', - 'add_subitem' => 'Añadir sub-elemento', - 'no_records' => 'No se han encontrado elementos.', - 'code_required' => 'El código es obligatorio', - 'invalid_code' => 'El formato del código no es válido. Puede contener letras, números y los siguientes símbolos: _ - ' - ], - 'menuitem' => [ - 'title' => 'Título', - 'editor_title' => 'Editar elemento del menu', - 'type' => 'Tipo', - 'allow_nested_items' => 'Permitir elementos anidados', - 'allow_nested_items_comment' => 'Los elementos anidados se pueden generar automáticamente mediante las páginas y otros tipos de elementos.', - 'url' => 'URL', - 'reference' => 'Referencia', - 'title_required' => 'El título es obligatorio', - 'unknown_type' => 'Este tipo de elemento del menú es desconocido.', - 'unnamed' => 'Elemento del menú sin nombre', - 'add_item' => 'Añadir elemento', - 'new_item' => 'Nuevo elemento', - 'replace' => 'Sustituye este elemento por los sub-elementos que contenga.', - 'replace_comment' => 'Marca esta casilla sustituir este elemento por los sub-elementos que contenga. El elemento proncipal quedará oculto.', - 'cms_page' => 'Página del CMS', - 'cms_page_comment' => 'Selecciona una página a la que enlazar cuando se haga click en este elemento del menu.', - 'reference_required' => 'La referencia al elemento del menú es obligatoria.', - 'url_required' => 'La URL es obligatoria', - 'cms_page_required' => 'Selecciona una página del CMS', - 'code' => 'Código', - 'code_comment' => 'Introduce el código del elemento para acceder mediante la API.' - ], - 'content' => [ - 'menu_label' => 'Contenido', - 'cant_save_to_dir' => 'No está permitido guardar archivos de contenido en el directorio de las páginas.' - ], - 'sidebar' => [ - 'add' => 'Añadir', - 'search' => 'Buscar...' - ], - 'object' => [ - 'invalid_type' => 'Tipo de objeto desconocido', - 'not_found' => 'No se ha encontrado el objeto solicitado.' - ], - 'editor' => [ - 'title' => 'Título', - 'new_title' => 'Título de la nueva página', - 'content' => 'Contenido', - 'url' => 'URL', - 'filename' => 'Nombre de archivo', - 'layout' => 'Plantilla', - 'description' => 'Descripción', - 'preview' => 'Vista previa', - 'enter_fullscreen' => 'Entrar en modo de pantalla completa', - 'exit_fullscreen' => 'Salir del modo de pantalla completa', - 'hidden' => 'Oculto', - 'hidden_comment' => 'Las páginas ocultas solo son visibles para los administradores que hayan iniciado sesión.', - 'navigation_hidden' => 'No mostrar en el menu', - 'navigation_hidden_comment' => 'Marca esta casilla para ocultar esta página en los menus generados automáticamente.', - ], - 'snippet' => [ - 'partialtab' => 'Fragmentos', - 'code' => 'Código del fragmento', - 'code_comment' => 'Introduce un código para hacer que el fragmento esté disponible en el plugin de páginas.', - 'name' => 'Nombre', - 'name_comment' => 'El nombre se muestra en la lista de fragmentos, en el menu lateral del plugin de las páginas, y en cada página en la que se haya utilizado el fragmento.', - 'no_records' => 'No se han encontrado fragmentos', - 'menu_label' => 'Fragmentos', - 'column_property' => 'Título de propiedad', - 'column_type' => 'Tipo', - 'column_code' => 'Código', - 'column_default' => 'Valor Predeterminado', - 'column_options' => 'Opciones', - 'column_type_string' => 'Texto', - 'column_type_checkbox' => 'Casilla', - 'column_type_dropdown' => 'Desplegable', - 'not_found' => 'No se ha encontrado ningún fragmento con el código :code en este tema.', - 'property_format_error' => 'El código de propiedad debería comenzar por una letra. Sólo puede contener letras y números.', - 'invalid_option_key' => 'La clave de opción del desplegable no es válida : %s. Estas claves sólo pueden contener números, letras y los símbolos _ y -' - ] + [ + 'name' => 'Páginas', + 'description' => 'Páginas & menus', + ], + 'page' => [ + 'menu_label' => 'Páginas', + 'template_title' => '%s Páginas', + 'delete_confirmation' => 'Estas seguro de querer borrar las páginas seleccionadas? Esto también borrará las sub-páginas que existan.', + 'no_records' => 'No se ha encontrado ninguna página', + 'delete_confirm_single' => 'Estas seguro de querer borrar esta página? Esto también borrará las sub-páginas que existan.', + 'new' => 'Nueva página', + 'add_subpage' => 'Añadir sub-página', + 'invalid_url' => 'Formato de URL no válido. La URL debería comenzar por una barra (\'/\'). Puede contener letras, números, y los siguientes símbolos _ - / ', + 'url_not_unique' => 'Esta URL ya está siendo utilizada por otra página.', + 'layout' => 'Plantilla', + 'layouts_not_found' => 'No se han encontrado plantillas', + 'saved' => 'La página se ha guardado correctamente.', + 'tab' => 'Páginas', + 'manage_pages' => 'Administrar páginas', + 'manage_menus' => 'Administrar menús', + 'access_snippets' => 'Acceder a fragmentos', + 'manage_content' => 'Administrar contenidos', + ], + 'menu' => [ + 'menu_label' => 'Menus', + 'delete_confirmation' => 'Estas seguro de querer borrar los menus seleccionados?', + 'no_records' => 'No se han encontrado elementos.', + 'new' => 'Nuevo menu', + 'new_name' => 'Nuevo menu', + 'new_code' => 'nuevo-menu', + 'delete_confirm_single' => 'Estas seguro de querer borrar este menu?', + 'saved' => 'El menú se ha guardado correctamente.', + 'name' => 'Nombre', + 'code' => 'Código', + 'items' => 'Elementos del menu', + 'add_subitem' => 'Añadir sub-elemento', + 'code_required' => 'El código es obligatorio', + 'invalid_code' => 'El formato del código no es válido. Puede contener letras, números y los siguientes símbolos: _ - ', + ], + 'menuitem' => [ + 'title' => 'Título', + 'editor_title' => 'Editar elemento del menu', + 'type' => 'Tipo', + 'allow_nested_items' => 'Permitir elementos anidados', + 'allow_nested_items_comment' => 'Los elementos anidados se pueden generar automáticamente mediante las páginas y otros tipos de elementos.', + 'url' => 'URL', + 'reference' => 'Referencia', + 'title_required' => 'El título es obligatorio', + 'unknown_type' => 'Este tipo de elemento del menú es desconocido.', + 'unnamed' => 'Elemento del menú sin nombre', + 'add_item' => 'Añadir elemento', + 'new_item' => 'Nuevo elemento', + 'replace' => 'Sustituye este elemento por los sub-elementos que contenga.', + 'replace_comment' => 'Marca esta casilla sustituir este elemento por los sub-elementos que contenga. El elemento proncipal quedará oculto.', + 'cms_page' => 'Página del CMS', + 'cms_page_comment' => 'Selecciona una página a la que enlazar cuando se haga click en este elemento del menu.', + 'reference_required' => 'La referencia al elemento del menú es obligatoria.', + 'url_required' => 'La URL es obligatoria', + 'cms_page_required' => 'Selecciona una página del CMS', + 'code' => 'Código', + 'code_comment' => 'Introduce el código del elemento para acceder mediante la API.', + ], + 'content' => [ + 'menu_label' => 'Contenido', + 'cant_save_to_dir' => 'No está permitido guardar archivos de contenido en el directorio de las páginas.', + ], + 'sidebar' => [ + 'add' => 'Añadir', + ], + 'object' => [ + 'invalid_type' => 'Tipo de objeto desconocido', + 'not_found' => 'No se ha encontrado el objeto solicitado.', + ], + 'editor' => [ + 'title' => 'Título', + 'new_title' => 'Título de la nueva página', + 'content' => 'Contenido', + 'url' => 'URL', + 'filename' => 'Nombre de archivo', + 'layout' => 'Plantilla', + 'description' => 'Descripción', + 'preview' => 'Vista previa', + 'enter_fullscreen' => 'Entrar en modo de pantalla completa', + 'exit_fullscreen' => 'Salir del modo de pantalla completa', + 'hidden' => 'Oculto', + 'hidden_comment' => 'Las páginas ocultas solo son visibles para los administradores que hayan iniciado sesión.', + 'navigation_hidden' => 'No mostrar en el menu', + 'navigation_hidden_comment' => 'Marca esta casilla para ocultar esta página en los menus generados automáticamente.', + ], + 'snippet' => [ + 'menu_label' => 'Fragmentos', + ], ]; diff --git a/lang/fa/lang.php b/lang/fa/lang.php index 22ed045..ce72c3c 100644 --- a/lang/fa/lang.php +++ b/lang/fa/lang.php @@ -1,131 +1,113 @@ [ - 'name' => 'صفحات', - 'description' => 'مدیریت صفحات و فهرست ها', - ], - 'page' => [ - 'menu_label' => 'صفحات', - 'template_title' => 'صفحات %s', - 'delete_confirmation' => 'آیا از حذف صفحات انتخاب شده اطمینان دارید؟ اگر صفحات دارای زیر صفحه باشند آنها نیز حذف خواهند شد.', - 'no_records' => 'صفحه ای یافت نشد', - 'delete_confirm_single' => 'آیا از حذف این صفحه اطمینان دارید؟ اگر این صفحه دارای زیر مجموعه باشد آنها نیز حذف خواهند شد.', - 'new' => 'صفحه ی جدید', - 'add_subpage' => 'افزودن زیر مجموعه', - 'invalid_url' => 'قالب آدرس نا معتبر است. آدرس باید با اسلش شروع شود و میتواند شامل حروف لاتین، حروف فارسی، اعداد و این کاراکتر ها باشد: _-/.', - 'url_not_unique' => 'این آدرس توسط صفحه ی دیگری استفاده شده است.', - 'layout' => 'طرح بندی', - 'layouts_not_found' => 'طرح بندی برای صفحات استاتیک یافت نشد.', - 'saved' => 'صفحه با موفقیت ذخیره شد.', - 'tab' => 'صفحات', - 'manage_pages' => 'مدیریت صفحات استاتیک', - 'manage_menus' => 'مدیریت فهرست های استاتیک', - 'access_snippets' => 'دسترسی به تکه کد ها', - 'manage_content' => 'مدیریت محتوی استاتیک', - ], - 'menu' => [ - 'menu_label' => 'فهرست ها', - 'delete_confirmation' => 'آیا از حذف فهرست انتخاب شده اطمینان دارید؟', - 'no_records' => 'موردی یافت نشد', - 'new' => 'فهرست جدید', - 'new_name' => 'فهرست جدید', - 'new_code' => 'new-menu', - 'delete_confirm_single' => 'آیا از حذف این فهرست اطمینان دارید؟', - 'saved' => 'فهرست با موفقیت ذخیره شد.', - 'name' => 'نام', - 'code' => 'کد', - 'items' => 'موارد فهرست', - 'add_subitem' => 'افزودن زیر فهرست', - 'code_required' => 'وارد کردن کد اجباریست', - 'invalid_code' => 'قالب کد نا معتبر است. کد میتواند شامل اعداد، حروف لاتین و این کاراکتر ها باشد: _-', - ], - 'menuitem' => [ - 'title' => 'عنوان', - 'editor_title' => 'ویرایش فهرست', - 'type' => 'نوع', - 'allow_nested_items' => 'استفاده از موارد تو در تو', - 'allow_nested_items_comment' => 'موارد تو در تو به صورت خودکار توسط صفحات استاتیک و برخی از دیگر موارد ایجاد می شوند', - 'url' => 'آدرس', - 'reference' => 'مرجع', - 'search_placeholder' => 'جستجوی همه موارد...', - 'title_required' => 'وارد کردن عنوان اجباریست', - 'unknown_type' => 'نوع نامشخص فهرست', - 'unnamed' => 'فهرست بدون نام', - 'add_item' => 'افزودن فهرست', - 'new_item' => 'مورد جدید برای فهرست', - 'replace' => 'جایگرینی این مورد با زیر مورد های ایجاد شده', - 'replace_comment' => 'اگر میخواهید زیر فهرست های ایجاد شده هم سطح با این مورد قرار بگیرند این گزینه را فعال نمایید. خود فهرست بصورت خودکار مخفی خواهد شد.', - 'cms_page' => 'صفحه ی مدیریت محتوی', - 'cms_page_comment' => 'صفحه ای را که میخواهید به هنگام انتخاب این فهرست باز شود را انتخاب نمایید.', - 'reference_required' => 'وارد کردن مرجع برای فهرست الزامیست.', - 'url_required' => 'وارد کردن آدرس الزامیست', - 'cms_page_required' => 'لطفا یک صفحه را انتخاب کنید', - 'code' => 'کد', - 'code_comment' => 'اگر میخواهید از طریق کد ها به این مورد از فهرست دسترسی پیدا کنید کد آن را وارد نمایید.', - 'static_page' => 'صفحات استاتیک', - 'all_static_pages' => 'تمام صفحات استاتیک', - ], - 'content' => [ - 'menu_label' => 'محتوی', - 'cant_save_to_dir' => 'مجوز ذخیره ی داده ها در پوشه ی صفحات استاتسک وجود ندارد.', - ], - 'sidebar' => [ - 'add' => 'افزودن', - 'search' => 'جستجو...', - ], - 'object' => [ - 'invalid_type' => 'نوع شیء نا مشخص است', - 'not_found' => 'شیء درخواستی یافت نشد.', - ], - 'editor' => [ - 'title' => 'عنوان', - 'new_title' => 'عنوان صفحه ی جدید', - 'content' => 'محتوی', - 'url' => 'آدرس', - 'filename' => 'نام فایل', - 'layout' => 'طرح بندی', - 'description' => 'توضیحات', - 'preview' => 'پیش نمایش', - 'enter_fullscreen' => 'حالت تمام صفحه', - 'exit_fullscreen' => 'خروج از حالت تمام صفحه', - 'hidden' => 'مخفی', - 'hidden_comment' => 'صفحات مخفی توسط کاربران وارد شده به سایت قابل دسترس می باشند.', - 'navigation_hidden' => 'مخفی کردن در فهرست', - 'navigation_hidden_comment' => 'اگر میخواهید صفحه مورد نظر در فهرست هایی که خودکار ایجاد می شوند و یا نشان گرهای صفحه دیده نشوند این گزینه را انتخاب نمایید.', - ], - 'snippet' => [ - 'partialtab' => 'تکه کد', - 'code' => 'نام یکتای تکه کد', - 'code_comment' => 'نام یکتایی را جهت دسترسی به این بخش در افزونه صفحات استاتیک به عنوان تکه کد وارد نمایید.', - 'name' => 'نام', - 'name_comment' => 'نام نمایش داده شده این تکه کد در لیست', - 'no_records' => 'تکه کدی یافت نشد', - 'menu_label' => 'تکه کدها', - 'column_property' => 'عنوان مشخصه', - 'column_type' => 'نوع', - 'column_code' => 'کد یکتا', - 'column_default' => 'مقدار پیشفرض', - 'column_options' => 'گزینه ها', - 'column_type_string' => 'رشته', - 'column_type_checkbox' => 'جعبه انتخابی', - 'column_type_dropdown' => 'انتخابگر کشویی', - 'not_found' => 'تکه کدی با کد یکتای :code در قالب یافت نشد.', - 'property_format_error' => 'کد مشخصه باید با یک حرف لاتین شروع شده و شامل حروف لاتین و اعداد می تواند باشد.', - 'invalid_option_key' => 'کلید گزینه %s نامعتبر است. کلید گزینه انتخابگر کشویی فقط میتواند شامل اعداد، حروف لاتین وکاراکتر های _ و - باشد.', - ], - 'component' => [ - 'static_page_name' => 'صفحات استاتیک', - 'static_page_description' => 'نمایش یک صفحه استاتیک در طرح بندی.', - 'static_page_use_content_name' => 'استفاده از گرینه ها در محتوی.', - 'static_page_use_content_description' => 'اگر غیر فعال باشد، فیلد ها به هنگام ویرایش صفحات استاتیک در بخش محتوی نمایش داده نخواهند شد. محتوی صفحه با استفاده از متغییر های تعریف شده قابل کنتل می باشند.', - 'static_page_default_name' => 'طرح بندی پیش فرض', - 'static_page_default_description' => 'این طرح بندی به عنوان طرح بندی پیشفرض به هنگام ایجاد صفحه جدید در نظر گرفته شود؟', - 'static_page_child_layout_name' => 'طرح بندی صفحات زیرمجموعه', - 'static_page_child_layout_description' => 'این طرح بندی به عنوان طرح بندی تمام صفحات زیر مجموعه در نظر گرفنه شود؟', - 'static_menu_name' => 'فهرست استاتیک', - 'static_menu_description' => 'نمایش فهرست استاتیک در طرح بندی.', - 'static_menu_code_name' => 'فهرست', - 'static_menu_code_description' => 'کد فهرستی را که میخواهید به نمایش درآید انتخاب نمایید.', - 'static_breadcrumbs_name' => 'نشان گرها', - 'static_breadcrumbs_description' => 'نمایش نشان گرهای صفحه.', - ] + 'plugin' => [ + 'name' => 'صفحات', + 'description' => 'مدیریت صفحات و فهرست ها', + ], + 'page' => [ + 'menu_label' => 'صفحات', + 'template_title' => 'صفحات %s', + 'delete_confirmation' => 'آیا از حذف صفحات انتخاب شده اطمینان دارید؟ اگر صفحات دارای زیر صفحه باشند آنها نیز حذف خواهند شد.', + 'no_records' => 'صفحه ای یافت نشد', + 'delete_confirm_single' => 'آیا از حذف این صفحه اطمینان دارید؟ اگر این صفحه دارای زیر مجموعه باشد آنها نیز حذف خواهند شد.', + 'new' => 'صفحه ی جدید', + 'add_subpage' => 'افزودن زیر مجموعه', + 'invalid_url' => 'قالب آدرس نا معتبر است. آدرس باید با اسلش شروع شود و میتواند شامل حروف لاتین، حروف فارسی، اعداد و این کاراکتر ها باشد: _-/.', + 'url_not_unique' => 'این آدرس توسط صفحه ی دیگری استفاده شده است.', + 'layout' => 'طرح بندی', + 'layouts_not_found' => 'طرح بندی برای صفحات استاتیک یافت نشد.', + 'saved' => 'صفحه با موفقیت ذخیره شد.', + 'tab' => 'صفحات', + 'manage_pages' => 'مدیریت صفحات استاتیک', + 'manage_menus' => 'مدیریت فهرست های استاتیک', + 'access_snippets' => 'دسترسی به تکه کد ها', + 'manage_content' => 'مدیریت محتوی استاتیک', + ], + 'menu' => [ + 'menu_label' => 'فهرست ها', + 'delete_confirmation' => 'آیا از حذف فهرست انتخاب شده اطمینان دارید؟', + 'no_records' => 'موردی یافت نشد', + 'new' => 'فهرست جدید', + 'new_name' => 'فهرست جدید', + 'new_code' => 'new-menu', + 'delete_confirm_single' => 'آیا از حذف این فهرست اطمینان دارید؟', + 'saved' => 'فهرست با موفقیت ذخیره شد.', + 'name' => 'نام', + 'code' => 'کد', + 'items' => 'موارد فهرست', + 'add_subitem' => 'افزودن زیر فهرست', + 'code_required' => 'وارد کردن کد اجباریست', + 'invalid_code' => 'قالب کد نا معتبر است. کد میتواند شامل اعداد، حروف لاتین و این کاراکتر ها باشد: _-', + ], + 'menuitem' => [ + 'title' => 'عنوان', + 'editor_title' => 'ویرایش فهرست', + 'type' => 'نوع', + 'allow_nested_items' => 'استفاده از موارد تو در تو', + 'allow_nested_items_comment' => 'موارد تو در تو به صورت خودکار توسط صفحات استاتیک و برخی از دیگر موارد ایجاد می شوند', + 'url' => 'آدرس', + 'reference' => 'مرجع', + 'search_placeholder' => 'جستجوی همه موارد...', + 'title_required' => 'وارد کردن عنوان اجباریست', + 'unknown_type' => 'نوع نامشخص فهرست', + 'unnamed' => 'فهرست بدون نام', + 'add_item' => 'افزودن فهرست', + 'new_item' => 'مورد جدید برای فهرست', + 'replace' => 'جایگرینی این مورد با زیر مورد های ایجاد شده', + 'replace_comment' => 'اگر میخواهید زیر فهرست های ایجاد شده هم سطح با این مورد قرار بگیرند این گزینه را فعال نمایید. خود فهرست بصورت خودکار مخفی خواهد شد.', + 'cms_page' => 'صفحه ی مدیریت محتوی', + 'cms_page_comment' => 'صفحه ای را که میخواهید به هنگام انتخاب این فهرست باز شود را انتخاب نمایید.', + 'reference_required' => 'وارد کردن مرجع برای فهرست الزامیست.', + 'url_required' => 'وارد کردن آدرس الزامیست', + 'cms_page_required' => 'لطفا یک صفحه را انتخاب کنید', + 'code' => 'کد', + 'code_comment' => 'اگر میخواهید از طریق کد ها به این مورد از فهرست دسترسی پیدا کنید کد آن را وارد نمایید.', + 'static_page' => 'صفحات استاتیک', + 'all_static_pages' => 'تمام صفحات استاتیک', + ], + 'content' => [ + 'menu_label' => 'محتوی', + 'cant_save_to_dir' => 'مجوز ذخیره ی داده ها در پوشه ی صفحات استاتسک وجود ندارد.', + ], + 'sidebar' => [ + 'add' => 'افزودن', + ], + 'object' => [ + 'invalid_type' => 'نوع شیء نا مشخص است', + 'not_found' => 'شیء درخواستی یافت نشد.', + ], + 'editor' => [ + 'title' => 'عنوان', + 'new_title' => 'عنوان صفحه ی جدید', + 'content' => 'محتوی', + 'url' => 'آدرس', + 'filename' => 'نام فایل', + 'layout' => 'طرح بندی', + 'description' => 'توضیحات', + 'preview' => 'پیش نمایش', + 'enter_fullscreen' => 'حالت تمام صفحه', + 'exit_fullscreen' => 'خروج از حالت تمام صفحه', + 'hidden' => 'مخفی', + 'hidden_comment' => 'صفحات مخفی توسط کاربران وارد شده به سایت قابل دسترس می باشند.', + 'navigation_hidden' => 'مخفی کردن در فهرست', + 'navigation_hidden_comment' => 'اگر میخواهید صفحه مورد نظر در فهرست هایی که خودکار ایجاد می شوند و یا نشان گرهای صفحه دیده نشوند این گزینه را انتخاب نمایید.', + ], + 'snippet' => [ + 'menu_label' => 'تکه کدها', + ], + 'component' => [ + 'static_page_name' => 'صفحات استاتیک', + 'static_page_description' => 'نمایش یک صفحه استاتیک در طرح بندی.', + 'static_page_use_content_name' => 'استفاده از گرینه ها در محتوی.', + 'static_page_use_content_description' => 'اگر غیر فعال باشد، فیلد ها به هنگام ویرایش صفحات استاتیک در بخش محتوی نمایش داده نخواهند شد. محتوی صفحه با استفاده از متغییر های تعریف شده قابل کنتل می باشند.', + 'static_page_default_name' => 'طرح بندی پیش فرض', + 'static_page_default_description' => 'این طرح بندی به عنوان طرح بندی پیشفرض به هنگام ایجاد صفحه جدید در نظر گرفته شود؟', + 'static_page_child_layout_name' => 'طرح بندی صفحات زیرمجموعه', + 'static_page_child_layout_description' => 'این طرح بندی به عنوان طرح بندی تمام صفحات زیر مجموعه در نظر گرفنه شود؟', + 'static_menu_name' => 'فهرست استاتیک', + 'static_menu_description' => 'نمایش فهرست استاتیک در طرح بندی.', + 'static_menu_code_name' => 'فهرست', + 'static_menu_code_description' => 'کد فهرستی را که میخواهید به نمایش درآید انتخاب نمایید.', + 'static_breadcrumbs_name' => 'نشان گرها', + 'static_breadcrumbs_description' => 'نمایش نشان گرهای صفحه.', + ], ]; diff --git a/lang/fi/lang.php b/lang/fi/lang.php index f4d2616..0c26e18 100644 --- a/lang/fi/lang.php +++ b/lang/fi/lang.php @@ -1,153 +1,125 @@ - [ - 'name' => 'Sivut', - 'description' => 'Sivu- ja valikko-ominaisuudet.', - ], - 'page' => [ - 'menu_label' => 'Sivut', - 'template_title' => '%s Sivut', - 'delete_confirmation' => 'Haluatko varmasti poistaa valitut sivut? Tämä poistaa myös alasivut, jos sellaisia on.', - 'no_records' => 'Sivuja ei löytynyt', - 'delete_confirm_single' => 'Haluatko varmasti poistaa tämän sivun? Tämä poistaa myös alasivut, jos sellaisia on.', - 'new' => 'Uusi sivu', - 'add_subpage' => 'Lisää alasivu', - 'invalid_url' => 'Kelvoton URL formaatti. URL pitäisi alkaa kautta -merkillä ja voi sisältää kokonaislukuja, latinalaisia kirjamia, ja seuraavia merkkejä: _-/.', - 'url_not_unique' => 'Tämä URL on toisen sivun käyttämä.', - 'layout' => 'Ulkoasu', - 'layouts_not_found' => 'Ulkoasuja ei löytynyt', - 'saved' => 'Sivu on tallennettu onnistuneesti.', - 'tab' => 'Sivut', - 'manage_pages' => 'Hallitse staattisia sivuja', - 'manage_menus' => 'Hallitse staattisia valikkoja', - 'access_snippets' => 'Hallitse koodinpätkiä', - 'manage_content' => 'Hallitse staattista sisältöä', - ], - 'menu' => [ - 'menu_label' => 'Valikot', - 'delete_confirmation' => 'Haluatko varmasti poista valitut valikot?', - 'no_records' => 'Vakujjiha ei löytynyt', - 'new' => 'Uusi valikko', - 'new_name' => 'Uusi valikko', - 'new_code' => 'uusi-valikko', - 'delete_confirm_single' => 'Haluatko varmasti poistaa tämän valikon?', - 'saved' => 'Tämä valikko on tallennettu onnistuneesti.', - 'name' => 'Nimi', - 'code' => 'Koodi', - 'items' => 'Valikon kohteet', - 'add_subitem' => 'Lisää alakohde', - 'code_required' => 'Koodi on vaadittu', - 'invalid_code' => 'Koodilla on kelvoton formaatti. Koodi voi sisältää kokonaislukuja, latinalaisia kirjamia, ja seuraavia merkkejä: _-', - ], - 'menuitem' => [ - 'title' => 'Otsikko', - 'editor_title' => 'Muokkaa valikkokohdetta', - 'type' => 'Tyyppi', - 'allow_nested_items' => 'Salli sisäkkäiset kohteet', - 'allow_nested_items_comment' => 'Sisäkkäiset kohteet staattisissa sivuissa ja muissa kohdetyypeissä voidaan generoida dynaamisesti', - 'url' => 'URL', - 'reference' => 'Viite', - 'search_placeholder' => 'Hae kaikista viitteistä...', - 'title_required' => 'Otsikko on vaadittu', - 'unknown_type' => 'Tuntematon valikkokohteen tyyppi', - 'unnamed' => 'Nimeämätön valikkokohde', - 'add_item' => 'Lisää Kohde', - 'new_item' => 'Uusi valikkokohde', - 'replace' => 'Korvaa valikko sen generoimilla alikohteilla', - 'replace_comment' => 'Käytä tätä valintaruutua työntääksesi valikon kohteet samalle tasolle tämän kohteen kanssa. Tämä kohde itsessään on piilotettu.', - 'cms_page' => 'CMS sivu', - 'cms_page_comment' => 'Valitse sivu joka avataan, kun valikkokohtaa napsautetaan.', - 'reference_required' => 'Valikkokohteen viite on vaadittu.', - 'url_required' => 'URL on vaadittu', - 'cms_page_required' => 'Valitse CMS sivu', - 'display_tab' => 'Näkyvyys', - 'hidden' => 'Piilotettu', - 'hidden_comment' => 'Piilota tämän valikon kohde näkyvistä käyttäjän näkymässä.', - 'attributes_tab' => 'Attribuutti', - 'code' => 'Koodi', - 'code_comment' => 'Syötä valikkokohten koodi jos haluat käyttää sitä API:n kanssa.', - 'css_class' => 'CSS-luokka', - 'css_class_comment' => 'Anna tämän valikon kohteelle oma CSS-luokka ulkoasua varten.', - 'external_link' => 'Ulkoinen linkki', - 'external_link_comment' => 'Avaa linkki tämän valikon kohteesta uudessa ikkunassa.', - 'static_page' => 'Staattinen sivu', - 'all_static_pages' => 'Kaikki staattiset sivut' - ], - 'content' => [ - 'menu_label' => 'Sisältö', - 'saved' => 'Sisältö tallennettu onnistuneesti.', - 'cant_save_to_dir' => 'Sisältötiedostojen tallentaminen staatisen-sivujen hakemistoon ei ole sallittua.', - ], - 'sidebar' => [ - 'add' => 'Lisää', - 'search' => 'Hae...', - ], - 'object' => [ - 'invalid_type' => 'Tuntematon kohdetyyppi', - 'unauthorized_type' => 'Sinulla ei ole oikeuksia muokata kohdetta :type', - 'not_found' => 'Pyydettyä kohdetta ei löytynyt.', - ], - 'editor' => [ - 'title' => 'Otsikko', - 'new_title' => 'Uuden sivun otsikko', - 'content' => 'Sisältö', - 'url' => 'URL', - 'filename' => 'Tiedostonimi', - 'layout' => 'Ulkoasu', - 'description' => 'Kuvaus', - 'preview' => 'Esikatsele', - 'enter_fullscreen' => 'Kokoruudun tila', - 'exit_fullscreen' => 'Poistu kokoruudun tilasta', - 'hidden' => 'Piilotettu', - 'hidden_comment' => 'Piilotetut sivut ovat saatavilla ainoastaan hallintaan kirjautuneille.', - 'navigation_hidden' => 'Piilota navigaatiossa', - 'navigation_hidden_comment' => 'Käytä tätä valintaruutua piilottaaksesi tämä sivu automaattisesti generoiduista valikoista ja leivänmuruista.', - ], - 'snippet' => [ - 'partialtab' => 'Osat', - 'settings_popup_title' => 'Staattisten sivujen koodinpätkä', - 'code' => 'Osan koodi', - 'code_comment' => 'Syötä koodi, jotta tämä osio on käytettävissä Staattisten sivujen -lisäosassa.', - 'code_required' => 'Ole hyvä ja lisää koodin pätkä', - 'name' => 'Nimi', - 'name_comment' => 'Nimi näkyy osiolistassa Staattisten sivujen -sivupalkissa ja sivuilla kun osa on lisätty.', - 'name_required' => 'Pätkällä on oltava nimi', - 'no_records' => 'Osia ei löydy', - 'menu_label' => 'Osat', - 'properties' => 'Koodin pätkän ominaisuudet', - 'column_property' => 'Ominaisuuden otsikko', - 'title_required' => 'Ole hyvä ja lisää ominaisuuden otsikko', - 'type_required' => 'Valitse ominaisuuden tyyppi', - 'property_required' => 'Ominaisuuden nimi on pakollinen', - 'column_type' => 'Tyyppi', - 'column_type_placeholder' => 'Valitse', - 'column_code' => 'Koodi', - 'column_default' => 'Oletus', - 'column_options' => 'Vaihtoehdot', - 'column_type_string' => 'Merkkijono', - 'column_type_checkbox' => 'Valintaruutu', - 'column_type_dropdown' => 'Alasvetovalikko', - 'not_found' => 'Osaa pyydetyllä koodilla :code ei löytynyt teemasta.', - 'property_format_error' => 'Ominaisuuden koodin tulisi alkaa latinalaisella kirjaimella ja voi sisältää ainoastaan latinalaisia merkkejä ja kokonaislukuja', - 'invalid_option_key' => 'Kelvoton alasvetovalikon vaihtoehtoavain :key. Vaihtoehtojen avaimet voivat sisältää ainoastaan kokonaislukuja, latinalaisia merkkejä, ja merkkejä _ ja -', - ], - 'component' => [ - 'static_page_name' => 'Staattinen sivu', - 'static_page_description' => 'Näyttää staattisen sivun CMS ulkoasussa.', - 'static_page_use_content_name' => 'Käytä sivun sisältökenttää Use page content field', - 'static_page_use_content_description' => 'Jos valitsematta, sisältö -kohta ei tule näkyviin staattista sivua muokattaessa. Sivun sisältö määritetään vain paikkamerkkien ja muuttujien kautta.', - 'static_page_default_name' => 'Oletusulkoasu', - 'static_page_default_description' => 'Määrittelee tämän ulkoasun oletukseksi uusille sivuille', - 'static_page_child_layout_name' => 'Alasivun ulkoasu', - 'static_page_child_layout_description' => 'Oletusulkoasu kaikille uusille alasivuille', - 'static_menu_name' => 'Staattinen valikko', - 'static_menu_description' => 'Näyttää valikon CMS ulkoasussa.', - 'static_menu_code_name' => 'Valikko', - 'static_menu_code_description' => 'Määritä valikon koodi joka pitäisi näyttää.', - 'static_breadcrumbs_name' => 'Staattinen murupolku', - 'static_breadcrumbs_description' => 'Näyttää murupolun staattisella sivulla.', - 'child_pages_name' => 'Alasivut', - 'child_pages_description' => 'Näyttää listan nykyisen sivun alasivuista', - ] + [ + 'name' => 'Sivut', + 'description' => 'Sivu- ja valikko-ominaisuudet.', + ], + 'page' => [ + 'menu_label' => 'Sivut', + 'template_title' => '%s Sivut', + 'delete_confirmation' => 'Haluatko varmasti poistaa valitut sivut? Tämä poistaa myös alasivut, jos sellaisia on.', + 'no_records' => 'Sivuja ei löytynyt', + 'delete_confirm_single' => 'Haluatko varmasti poistaa tämän sivun? Tämä poistaa myös alasivut, jos sellaisia on.', + 'new' => 'Uusi sivu', + 'add_subpage' => 'Lisää alasivu', + 'invalid_url' => 'Kelvoton URL formaatti. URL pitäisi alkaa kautta -merkillä ja voi sisältää kokonaislukuja, latinalaisia kirjamia, ja seuraavia merkkejä: _-/.', + 'url_not_unique' => 'Tämä URL on toisen sivun käyttämä.', + 'layout' => 'Ulkoasu', + 'layouts_not_found' => 'Ulkoasuja ei löytynyt', + 'saved' => 'Sivu on tallennettu onnistuneesti.', + 'tab' => 'Sivut', + 'manage_pages' => 'Hallitse staattisia sivuja', + 'manage_menus' => 'Hallitse staattisia valikkoja', + 'access_snippets' => 'Hallitse koodinpätkiä', + 'manage_content' => 'Hallitse staattista sisältöä', + ], + 'menu' => [ + 'menu_label' => 'Valikot', + 'delete_confirmation' => 'Haluatko varmasti poista valitut valikot?', + 'no_records' => 'Vakujjiha ei löytynyt', + 'new' => 'Uusi valikko', + 'new_name' => 'Uusi valikko', + 'new_code' => 'uusi-valikko', + 'delete_confirm_single' => 'Haluatko varmasti poistaa tämän valikon?', + 'saved' => 'Tämä valikko on tallennettu onnistuneesti.', + 'name' => 'Nimi', + 'code' => 'Koodi', + 'items' => 'Valikon kohteet', + 'add_subitem' => 'Lisää alakohde', + 'code_required' => 'Koodi on vaadittu', + 'invalid_code' => 'Koodilla on kelvoton formaatti. Koodi voi sisältää kokonaislukuja, latinalaisia kirjamia, ja seuraavia merkkejä: _-', + ], + 'menuitem' => [ + 'title' => 'Otsikko', + 'editor_title' => 'Muokkaa valikkokohdetta', + 'type' => 'Tyyppi', + 'allow_nested_items' => 'Salli sisäkkäiset kohteet', + 'allow_nested_items_comment' => 'Sisäkkäiset kohteet staattisissa sivuissa ja muissa kohdetyypeissä voidaan generoida dynaamisesti', + 'url' => 'URL', + 'reference' => 'Viite', + 'search_placeholder' => 'Hae kaikista viitteistä...', + 'title_required' => 'Otsikko on vaadittu', + 'unknown_type' => 'Tuntematon valikkokohteen tyyppi', + 'unnamed' => 'Nimeämätön valikkokohde', + 'add_item' => 'Lisää Kohde', + 'new_item' => 'Uusi valikkokohde', + 'replace' => 'Korvaa valikko sen generoimilla alikohteilla', + 'replace_comment' => 'Käytä tätä valintaruutua työntääksesi valikon kohteet samalle tasolle tämän kohteen kanssa. Tämä kohde itsessään on piilotettu.', + 'cms_page' => 'CMS sivu', + 'cms_page_comment' => 'Valitse sivu joka avataan, kun valikkokohtaa napsautetaan.', + 'reference_required' => 'Valikkokohteen viite on vaadittu.', + 'url_required' => 'URL on vaadittu', + 'cms_page_required' => 'Valitse CMS sivu', + 'display_tab' => 'Näkyvyys', + 'hidden' => 'Piilotettu', + 'hidden_comment' => 'Piilota tämän valikon kohde näkyvistä käyttäjän näkymässä.', + 'attributes_tab' => 'Attribuutti', + 'code' => 'Koodi', + 'code_comment' => 'Syötä valikkokohten koodi jos haluat käyttää sitä API:n kanssa.', + 'css_class' => 'CSS-luokka', + 'css_class_comment' => 'Anna tämän valikon kohteelle oma CSS-luokka ulkoasua varten.', + 'external_link' => 'Ulkoinen linkki', + 'external_link_comment' => 'Avaa linkki tämän valikon kohteesta uudessa ikkunassa.', + 'static_page' => 'Staattinen sivu', + 'all_static_pages' => 'Kaikki staattiset sivut', + ], + 'content' => [ + 'menu_label' => 'Sisältö', + 'saved' => 'Sisältö tallennettu onnistuneesti.', + 'cant_save_to_dir' => 'Sisältötiedostojen tallentaminen staatisen-sivujen hakemistoon ei ole sallittua.', + ], + 'sidebar' => [ + 'add' => 'Lisää', + ], + 'object' => [ + 'invalid_type' => 'Tuntematon kohdetyyppi', + 'unauthorized_type' => 'Sinulla ei ole oikeuksia muokata kohdetta :type', + 'not_found' => 'Pyydettyä kohdetta ei löytynyt.', + ], + 'editor' => [ + 'title' => 'Otsikko', + 'new_title' => 'Uuden sivun otsikko', + 'content' => 'Sisältö', + 'url' => 'URL', + 'filename' => 'Tiedostonimi', + 'layout' => 'Ulkoasu', + 'description' => 'Kuvaus', + 'preview' => 'Esikatsele', + 'enter_fullscreen' => 'Kokoruudun tila', + 'exit_fullscreen' => 'Poistu kokoruudun tilasta', + 'hidden' => 'Piilotettu', + 'hidden_comment' => 'Piilotetut sivut ovat saatavilla ainoastaan hallintaan kirjautuneille.', + 'navigation_hidden' => 'Piilota navigaatiossa', + 'navigation_hidden_comment' => 'Käytä tätä valintaruutua piilottaaksesi tämä sivu automaattisesti generoiduista valikoista ja leivänmuruista.', + ], + 'snippet' => [ + 'menu_label' => 'Osat', + ], + 'component' => [ + 'static_page_name' => 'Staattinen sivu', + 'static_page_description' => 'Näyttää staattisen sivun CMS ulkoasussa.', + 'static_page_use_content_name' => 'Käytä sivun sisältökenttää Use page content field', + 'static_page_use_content_description' => 'Jos valitsematta, sisältö -kohta ei tule näkyviin staattista sivua muokattaessa. Sivun sisältö määritetään vain paikkamerkkien ja muuttujien kautta.', + 'static_page_default_name' => 'Oletusulkoasu', + 'static_page_default_description' => 'Määrittelee tämän ulkoasun oletukseksi uusille sivuille', + 'static_page_child_layout_name' => 'Alasivun ulkoasu', + 'static_page_child_layout_description' => 'Oletusulkoasu kaikille uusille alasivuille', + 'static_menu_name' => 'Staattinen valikko', + 'static_menu_description' => 'Näyttää valikon CMS ulkoasussa.', + 'static_menu_code_name' => 'Valikko', + 'static_menu_code_description' => 'Määritä valikon koodi joka pitäisi näyttää.', + 'static_breadcrumbs_name' => 'Staattinen murupolku', + 'static_breadcrumbs_description' => 'Näyttää murupolun staattisella sivulla.', + 'child_pages_name' => 'Alasivut', + 'child_pages_description' => 'Näyttää listan nykyisen sivun alasivuista', + ], ]; diff --git a/lang/fr/lang.php b/lang/fr/lang.php index ff50f05..2d9b8af 100644 --- a/lang/fr/lang.php +++ b/lang/fr/lang.php @@ -1,143 +1,123 @@ - [ - 'name' => 'Pages', - 'description' => 'Fonctionnalités de pages et menus statiques.', - ], - 'page' => [ - 'menu_label' => 'Pages', - 'template_title' => '%s Pages', - 'delete_confirmation' => 'Confirmez-vous la suppression des pages sélectionnées ? Les sous-pages seront également supprimées.', - 'no_records' => 'Aucune page trouvée', - 'delete_confirm_single' => 'Confirmez-vous la suppression de cette page ? Les sous-pages seront également supprimées.', - 'new' => 'Nouvelle page', - 'add_subpage' => 'Ajouter une sous-page', - 'invalid_url' => 'Le format d’URL est invalide. L’URL doit commencer par un / et peut contenir des chiffres, des lettres et les symboles suivants : _-/.', - 'url_not_unique' => 'Cette URL est déjà utilisée par une autre page.', - 'layout' => 'Maquette', - 'layouts_not_found' => 'Aucune maquette trouvée', - 'saved' => 'La page a été sauvegardée avec succès.', - 'tab' => 'Pages', - 'manage_pages' => 'Gérer les pages statiques', - 'manage_menus' => 'Gérer les menus statiques', - 'access_snippets' => 'Accès aux fragments', - 'manage_content' => 'Gérer le contenu statique' - ], - 'menu' => [ - 'menu_label' => 'Menus', - 'delete_confirmation' => 'Confirmez-vous la suppression des menus sélectionnés ?', - 'no_records' => 'Aucun menu trouvé', - 'new' => 'Nouveau menu', - 'new_name' => 'Nouveau menu', - 'new_code' => 'nouveau-menu', - 'delete_confirm_single' => 'Confirmez-vous la suppression de ce menu ?', - 'saved' => 'Le menu a été sauvegardé avec succès.', - 'name' => 'Nom', - 'code' => 'Code', - 'items' => 'Éléments du menu', - 'add_subitem' => 'Ajouter un élément', - 'code_required' => 'Le Code est requis', - 'invalid_code' => 'Le format du Code est invalide. Le Code peut contenir des chiffres, des lettres et les symboles suivants : _-' - ], - 'menuitem' => [ - 'title' => 'Titre', - 'editor_title' => 'Modifier l’élément du menu', - 'type' => 'Type', - 'allow_nested_items' => 'Autoriser les sous-éléments', - 'allow_nested_items_comment' => 'Les sous-éléments peuvent être générés dynamiquement par les pages statiques et certains des autres types d’élément', - 'url' => 'URL', - 'reference' => 'Référence', - 'search_placeholder' => 'Rechercher toutes les références...', - 'title_required' => 'Le Titre est requis', - 'unknown_type' => 'Type d’élément du menu inconnu', - 'unnamed' => 'Élément de menu sans nom', - 'add_item' => 'Ajouter un élément', - 'new_item' => 'Nouvel élément du menu', - 'replace' => 'Remplacer cet élément part ses sous-éléments générés', - 'replace_comment' => 'Utiliser cette case à cocher pour envoyer les sous-éléments générés au même niveau que cet élément. Cet élément sera lui-même masqué.', - 'cms_page' => 'Page CMS', - 'cms_page_comment' => 'Sélectionnez une page à ouvrir lors d’un clic sur cet élément du menu.', - 'reference_required' => 'La référence de l’élément du menu est requis.', - 'url_required' => 'L’URL est requise', - 'cms_page_required' => 'Sélectionnez une page CMS s’il vous plaît', - 'display_tab' => 'Affichage', - 'hidden' => 'Caché', - 'hidden_comment' => "Empêcher ce menu d'apparaître sur le site web.", - 'attributes_tab' => 'Attributs', - 'code' => 'Code', - 'code_comment' => 'Entrez le code de l’élément du menu si vous souhaitez y accéder via l’API.', - 'css_class' => 'Classe CSS', - 'css_class_comment' => 'Entrez un nom de classe CSS pour donner à cet élément de menu une apparence personnalisée.', - 'external_link' => 'Lien externe', - 'external_link_comment' => 'Ouvrir les liens pour ce menu dans une nouvelle fenêtre.', - 'static_page' => 'Page Statique', - 'all_static_pages' => 'Toutes les pages' - ], - 'content' => [ - 'menu_label' => 'Contenu', - 'cant_save_to_dir' => 'L’enregistrement des fichiers de contenu dans le répertoire des pages statiques n’est pas autorisé.' - ], - 'sidebar' => [ - 'add' => 'Ajouter', - 'search' => 'Rechercher...' - ], - 'object' => [ - 'invalid_type' => 'Type d’objet inconnu', - 'not_found' => 'L’objet demandé n’a pas été trouvé.' - ], - 'editor' => [ - 'title' => 'Titre', - 'new_title' => 'Nouveau titre de la page', - 'content' => 'Contenu', - 'url' => 'URL', - 'filename' => 'Nom du fichier', - 'layout' => 'Maquette', - 'description' => 'Description', - 'preview' => 'Aperçu', - 'enter_fullscreen' => 'Activer le mode plein écran', - 'exit_fullscreen' => 'Annuler le mode plein écran', - 'hidden' => 'Caché', - 'hidden_comment' => 'Les pages cachées sont seulement accessibles aux administrateurs connectés.', - 'navigation_hidden' => 'Masquer dans la navigation', - 'navigation_hidden_comment' => 'Cochez cette case pour masquer cette page dans les menus et le fil d’ariane générés automatiquement.', - ], - 'snippet' => [ - 'partialtab' => 'Fragment', - 'code' => 'Code du fragment', - 'code_comment' => 'Entrez un code pour rendre ce contenu partiel disponible en tant que fragment dans le plugin des Pages Statiques.', - 'name' => 'Nom', - 'name_comment' => 'Le nom est affiché dans la liste des fragments dans le menu latéral des Pages Statiques et dans une Page lorsque qu’un fragment y est ajouté.', - 'no_records' => 'Aucun fragment trouvé', - 'menu_label' => 'Fragments', - 'column_property' => 'Nom de la propriété', - 'column_type' => 'Type', - 'column_code' => 'Code', - 'column_default' => 'Valeur par défaut', - 'column_options' => 'Options', - 'column_type_string' => 'Chaîne de caractères', - 'column_type_checkbox' => 'Case à cocher', - 'column_type_dropdown' => 'Menu déroulant', - 'not_found' => 'Le fragment demandé avec le code :code n’a pas été trouvé dans le thème.', - 'property_format_error' => 'Le code de la propriété devrait commencer par une lettre et ne peut contenir que des lettres et des chiffres', - 'invalid_option_key' => 'Clé de l’option de la liste déroulante invalide. Les clés des options ne peuvent contenir que des chiffres, des lettres et les symboles _ et -' - ], - 'component' => [ - 'static_page_name' => 'Page Statique', - 'static_page_description' => 'Affiche une page statique dans une maquette du CMS.', - 'static_page_use_content_name' => 'Affiche la section de contenu', - 'static_page_use_content_description' => 'Si cette case n\'est pas cochée, la section de contenu n\'apparaîtra pas lors de la modification de la page statique. Le contenu de la page sera déterminé uniquement à l\'aide d\'espaces réservés et de variables.', - 'static_page_default_name' => 'Disposition par défault', - 'static_page_default_description' => 'Définit cette mise en page par défault pour les nouvelles pages', - 'static_page_child_layout_name' => 'Mise en page de la sous-page', - 'static_page_child_layout_description' => 'La mise en page à utiliser par défault pour les nouvelles sous-pages', - 'static_menu_name' => 'Menu Statique', - 'static_menu_description' => 'Affiche un menu dans une maquette du CMS.', - 'static_menu_code_name' => 'Menu', - 'static_menu_code_description' => 'Spécifiez le code du menu que le composant devrait afficher.', - 'static_breadcrumbs_name' => 'Breadcrumbs statique', - 'static_breadcrumbs_description' => 'Affiche l\' aide à la navigation dans une page statique.', - 'child_pages_name' => 'Pages enfants', - 'child_pages_description' => 'Affiche une liste de pages enfants pour la page en cours', - ], + [ + 'name' => 'Pages', + 'description' => 'Fonctionnalités de pages et menus statiques.', + ], + 'page' => [ + 'menu_label' => 'Pages', + 'template_title' => '%s Pages', + 'delete_confirmation' => 'Confirmez-vous la suppression des pages sélectionnées ? Les sous-pages seront également supprimées.', + 'no_records' => 'Aucune page trouvée', + 'delete_confirm_single' => 'Confirmez-vous la suppression de cette page ? Les sous-pages seront également supprimées.', + 'new' => 'Nouvelle page', + 'add_subpage' => 'Ajouter une sous-page', + 'invalid_url' => 'Le format d’URL est invalide. L’URL doit commencer par un / et peut contenir des chiffres, des lettres et les symboles suivants : _-/.', + 'url_not_unique' => 'Cette URL est déjà utilisée par une autre page.', + 'layout' => 'Maquette', + 'layouts_not_found' => 'Aucune maquette trouvée', + 'saved' => 'La page a été sauvegardée avec succès.', + 'tab' => 'Pages', + 'manage_pages' => 'Gérer les pages statiques', + 'manage_menus' => 'Gérer les menus statiques', + 'access_snippets' => 'Accès aux fragments', + 'manage_content' => 'Gérer le contenu statique', + ], + 'menu' => [ + 'menu_label' => 'Menus', + 'delete_confirmation' => 'Confirmez-vous la suppression des menus sélectionnés ?', + 'no_records' => 'Aucun menu trouvé', + 'new' => 'Nouveau menu', + 'new_name' => 'Nouveau menu', + 'new_code' => 'nouveau-menu', + 'delete_confirm_single' => 'Confirmez-vous la suppression de ce menu ?', + 'saved' => 'Le menu a été sauvegardé avec succès.', + 'name' => 'Nom', + 'code' => 'Code', + 'items' => 'Éléments du menu', + 'add_subitem' => 'Ajouter un élément', + 'code_required' => 'Le Code est requis', + 'invalid_code' => 'Le format du Code est invalide. Le Code peut contenir des chiffres, des lettres et les symboles suivants : _-', + ], + 'menuitem' => [ + 'title' => 'Titre', + 'editor_title' => 'Modifier l’élément du menu', + 'type' => 'Type', + 'allow_nested_items' => 'Autoriser les sous-éléments', + 'allow_nested_items_comment' => 'Les sous-éléments peuvent être générés dynamiquement par les pages statiques et certains des autres types d’élément', + 'url' => 'URL', + 'reference' => 'Référence', + 'search_placeholder' => 'Rechercher toutes les références...', + 'title_required' => 'Le Titre est requis', + 'unknown_type' => 'Type d’élément du menu inconnu', + 'unnamed' => 'Élément de menu sans nom', + 'add_item' => 'Ajouter un élément', + 'new_item' => 'Nouvel élément du menu', + 'replace' => 'Remplacer cet élément part ses sous-éléments générés', + 'replace_comment' => 'Utiliser cette case à cocher pour envoyer les sous-éléments générés au même niveau que cet élément. Cet élément sera lui-même masqué.', + 'cms_page' => 'Page CMS', + 'cms_page_comment' => 'Sélectionnez une page à ouvrir lors d’un clic sur cet élément du menu.', + 'reference_required' => 'La référence de l’élément du menu est requis.', + 'url_required' => 'L’URL est requise', + 'cms_page_required' => 'Sélectionnez une page CMS s’il vous plaît', + 'display_tab' => 'Affichage', + 'hidden' => 'Caché', + 'hidden_comment' => 'Empêcher ce menu d\'apparaître sur le site web.', + 'attributes_tab' => 'Attributs', + 'code' => 'Code', + 'code_comment' => 'Entrez le code de l’élément du menu si vous souhaitez y accéder via l’API.', + 'css_class' => 'Classe CSS', + 'css_class_comment' => 'Entrez un nom de classe CSS pour donner à cet élément de menu une apparence personnalisée.', + 'external_link' => 'Lien externe', + 'external_link_comment' => 'Ouvrir les liens pour ce menu dans une nouvelle fenêtre.', + 'static_page' => 'Page Statique', + 'all_static_pages' => 'Toutes les pages', + ], + 'content' => [ + 'menu_label' => 'Contenu', + 'cant_save_to_dir' => 'L’enregistrement des fichiers de contenu dans le répertoire des pages statiques n’est pas autorisé.', + ], + 'sidebar' => [ + 'add' => 'Ajouter', + ], + 'object' => [ + 'invalid_type' => 'Type d’objet inconnu', + 'not_found' => 'L’objet demandé n’a pas été trouvé.', + ], + 'editor' => [ + 'title' => 'Titre', + 'new_title' => 'Nouveau titre de la page', + 'content' => 'Contenu', + 'url' => 'URL', + 'filename' => 'Nom du fichier', + 'layout' => 'Maquette', + 'description' => 'Description', + 'preview' => 'Aperçu', + 'enter_fullscreen' => 'Activer le mode plein écran', + 'exit_fullscreen' => 'Annuler le mode plein écran', + 'hidden' => 'Caché', + 'hidden_comment' => 'Les pages cachées sont seulement accessibles aux administrateurs connectés.', + 'navigation_hidden' => 'Masquer dans la navigation', + 'navigation_hidden_comment' => 'Cochez cette case pour masquer cette page dans les menus et le fil d’ariane générés automatiquement.', + ], + 'snippet' => [ + 'menu_label' => 'Fragments', + ], + 'component' => [ + 'static_page_name' => 'Page Statique', + 'static_page_description' => 'Affiche une page statique dans une maquette du CMS.', + 'static_page_use_content_name' => 'Affiche la section de contenu', + 'static_page_use_content_description' => 'Si cette case n\'est pas cochée, la section de contenu n\'apparaîtra pas lors de la modification de la page statique. Le contenu de la page sera déterminé uniquement à l\'aide d\'espaces réservés et de variables.', + 'static_page_default_name' => 'Disposition par défault', + 'static_page_default_description' => 'Définit cette mise en page par défault pour les nouvelles pages', + 'static_page_child_layout_name' => 'Mise en page de la sous-page', + 'static_page_child_layout_description' => 'La mise en page à utiliser par défault pour les nouvelles sous-pages', + 'static_menu_name' => 'Menu Statique', + 'static_menu_description' => 'Affiche un menu dans une maquette du CMS.', + 'static_menu_code_name' => 'Menu', + 'static_menu_code_description' => 'Spécifiez le code du menu que le composant devrait afficher.', + 'static_breadcrumbs_name' => 'Breadcrumbs statique', + 'static_breadcrumbs_description' => 'Affiche l\' aide à la navigation dans une page statique.', + 'child_pages_name' => 'Pages enfants', + 'child_pages_description' => 'Affiche une liste de pages enfants pour la page en cours', + ], ]; diff --git a/lang/hu/lang.php b/lang/hu/lang.php index 6c4238c..6803ec7 100644 --- a/lang/hu/lang.php +++ b/lang/hu/lang.php @@ -1,145 +1,125 @@ - [ - 'name' => 'Oldalak', - 'description' => 'Oldalak, menük, tartalmak és kódrészletek menedzselése.' - ], - 'page' => [ - 'menu_label' => 'Oldalak', - 'template_title' => '%s Oldalak', - 'delete_confirmation' => 'Valóban törölni akarja a kijelölt oldalakat és azok aloldalait?', - 'no_records' => 'Nincs létrehozva oldal', - 'delete_confirm_single' => 'Valóban törölni akarja ezt az oldalt és aloldalait?', - 'new' => 'Új oldal', - 'add_subpage' => 'Aloldal hozzáadása', - 'invalid_url' => 'Érvénytelen a webcím formátuma. Perjellel kell kezdődnie, és számokat, latin betűket, valamint a következő szimbólumokat tartalmazhatja: _-/.', - 'url_not_unique' => 'Egy másik oldal már használja ezt a webcímet.', - 'layout' => 'Elrendezés', - 'layouts_not_found' => 'Nincs létrehozva elrendezés.', - 'saved' => 'Az oldal mentése sikerült.', - 'tab' => 'Oldalak', - 'manage_pages' => 'Oldalak kezelése', - 'manage_menus' => 'Menük kezelése', - 'access_snippets' => 'Kódrészletek kezelése', - 'manage_content' => 'Tartalom kezelése' - ], - 'menu' => [ - 'menu_label' => 'Menük', - 'delete_confirmation' => 'Valóban törölni akarja a kijelölt menüket?', - 'no_records' => 'Nincs létrehozva menü', - 'new' => 'Új menü', - 'new_name' => 'Új menü', - 'new_code' => 'uj-menu', - 'delete_confirm_single' => 'Valóban törölni akarja ezt a menüt?', - 'saved' => 'A menü mentése sikerült.', - 'name' => 'Név', - 'code' => 'Kód', - 'items' => 'Menüpont', - 'add_subitem' => 'Almenü hozzáadása', - 'code_required' => 'A Kód kötelező', - 'invalid_code' => 'Érvénytelen a kód formátuma. Csak számokat, latin betűket és a következő szimbólumokat tartalmazhatja: _-' - ], - 'menuitem' => [ - 'title' => 'Cím', - 'editor_title' => 'Menüpont szerkesztése', - 'type' => 'Típus', - 'allow_nested_items' => 'Beágyazott menüpontok engedélyezése', - 'allow_nested_items_comment' => 'A beágyazott menüpontokat az oldal és néhány más menüpont típus dinamikusan generálhatja', - 'url' => 'Webcím', - 'reference' => 'Hivatkozás', - 'search_placeholder' => 'Keresés...', - 'title_required' => 'A cím megadása kötelező', - 'unknown_type' => 'Ismeretlen menüponttípus', - 'unnamed' => 'Névtelen menüpont', - 'add_item' => 'Menüpont hozzáadása', - 'new_item' => 'Új menüpont', - 'replace' => 'A menüpont kicserélése a generált gyermekeire', - 'replace_comment' => 'Ennek a jelölőnégyzetnek a használatával viheti a generált menüpontokat az ezen menüpont által azonos szintre. Maga ez a menüpont rejtett marad.', - 'cms_page' => 'Oldal', - 'cms_page_comment' => 'Válassza ki a menüre kattintáskor megnyitni kívánt oldalt.', - 'reference_required' => 'A menüpont hivatkozás kitöltése kötelező.', - 'url_required' => 'A webcím megadása kötelező', - 'cms_page_required' => 'Válasszon egy oldalt', - 'display_tab' => 'Megjelenés', - 'hidden' => 'Rejtett', - 'hidden_comment' => 'Nem jelenik meg a felhasználói felületen.', - 'attributes_tab' => 'Tulajdonságok', - 'code' => 'Kód', - 'code_comment' => 'Az API eléréshez szükséges egyedi azonosító.', - 'css_class' => 'CSS osztály', - 'css_class_comment' => 'Egyedi megjelenés esetén szükséges megadni.', - 'external_link' => 'Külső hivatkozás', - 'external_link_comment' => 'A link új ablakban fog megjelenni.', - 'static_page' => 'Oldalak', - 'all_static_pages' => 'Összes oldal' - ], - 'content' => [ - 'menu_label' => 'Tartalom', - 'saved' => 'A tartalom mentése sikerült.', - 'cant_save_to_dir' => 'A fájlok mentése a "static-pages" könyvtárba nem engedélyezett.' - ], - 'sidebar' => [ - 'add' => 'Hozzáadás', - 'search' => 'Keresés...' - ], - 'object' => [ - 'invalid_type' => 'Ismeretlen objektumtípus', - 'unauthorized_type' => 'Nem jogosult a következő objektum(ok) kezelésére: :type', - 'not_found' => 'A kért objektum nem található.' - ], - 'editor' => [ - 'title' => 'Cím', - 'new_title' => 'Új oldal címe', - 'content' => 'Tartalom', - 'url' => 'Webcím', - 'filename' => 'Fájlnév', - 'layout' => 'Elrendezés', - 'description' => 'Leírás', - 'preview' => 'Előnézet', - 'enter_fullscreen' => 'Váltás teljes képernyős módra', - 'exit_fullscreen' => 'Kilépés a teljes képernyős módból', - 'hidden' => 'Rejtett', - 'hidden_comment' => 'A rejtett oldalakhoz csak a bejelentkezett kiszolgáló oldali felhasználók férhetnek hozzá.', - 'navigation_hidden' => 'Elrejtés a navigációban', - 'navigation_hidden_comment' => 'Jelölje be ezt a jelölőnégyzetet ennek a oldalnak az automatikusan generált menükből és útkövetésekből való elrejtéséhez.' - ], - 'snippet' => [ - 'partialtab' => 'Kódrészlet', - 'code' => 'Kódrészlet kódja', - 'code_comment' => 'Adja meg a kódot, hogy a jelenlegi részlap elérhető legyen kódrészletként a Oldalak bővítményben.', - 'name' => 'Név', - 'name_comment' => 'A Kódrészletek listában jelenik meg a Oldalak oldalsó menüjében, valamint a Oldalak aloldalon.', - 'no_records' => 'Nincs létrehozva kódrészlet', - 'menu_label' => 'Kódrészletek', - 'column_property' => 'Cím', - 'column_type' => 'Típus', - 'column_code' => 'kód', - 'column_default' => 'Alapértelmezett', - 'column_options' => 'Lehetőségek', - 'column_type_string' => 'Szöveg', - 'column_type_checkbox' => 'Jelölőnégyzet', - 'column_type_dropdown' => 'Lenyíló lista', - 'not_found' => 'A(z) :code nevű kódrészlet nem található a témában.', - 'property_format_error' => 'A kód latin karakterrel kezdődhet és csak latin karaktereket és számokat tartalmazhat.', - 'invalid_option_key' => 'Érvénytelen formátum: :key. Csak számokat, latin betűket és a következő szimbólumokat tartalmazhatja: _-' - ], - 'component' => [ - 'static_page_name' => 'Statikus oldal', - 'static_page_description' => 'Oldalak megjelenítése.', - 'static_page_use_content_name' => 'Tartalom mező használata', - 'static_page_use_content_description' => 'Ha nem engedélyezi ezt, akkor a tartalmi rész nem fog megjelenni az oldal szerkesztésénél. Az oldal tartalmát kizárólag a változók fogják meghatározni.', - 'static_page_default_name' => 'Alapértelmezett elrendezés', - 'static_page_default_description' => 'Minden új oldal ezt az elrendezést fogja hasznáni alapértelmezettként.', - 'static_page_child_layout_name' => 'Aloldal elrendezés', - 'static_page_child_layout_description' => 'Minden új aloldal ezt az elrendezést fogja használni alapértelmezettként.', - 'static_menu_name' => 'Statikus menü', - 'static_menu_description' => 'Menük megjelenítése.', - 'static_menu_code_name' => 'Menü', - 'static_menu_code_description' => 'Speciális kód a megjelenő menünek.', - 'static_breadcrumbs_name' => 'Statikus kenyérmorzsa', - 'static_breadcrumbs_description' => 'Kenyérmorzsa megjelenítése.', - 'child_pages_name' => 'Aloldalak', - 'child_pages_description' => 'Megjeleníti az aktuális oldal aloldalainak listáját.', - ] + [ + 'name' => 'Oldalak', + 'description' => 'Oldalak, menük, tartalmak és kódrészletek menedzselése.', + ], + 'page' => [ + 'menu_label' => 'Oldalak', + 'template_title' => '%s Oldalak', + 'delete_confirmation' => 'Valóban törölni akarja a kijelölt oldalakat és azok aloldalait?', + 'no_records' => 'Nincs létrehozva oldal', + 'delete_confirm_single' => 'Valóban törölni akarja ezt az oldalt és aloldalait?', + 'new' => 'Új oldal', + 'add_subpage' => 'Aloldal hozzáadása', + 'invalid_url' => 'Érvénytelen a webcím formátuma. Perjellel kell kezdődnie, és számokat, latin betűket, valamint a következő szimbólumokat tartalmazhatja: _-/.', + 'url_not_unique' => 'Egy másik oldal már használja ezt a webcímet.', + 'layout' => 'Elrendezés', + 'layouts_not_found' => 'Nincs létrehozva elrendezés.', + 'saved' => 'Az oldal mentése sikerült.', + 'tab' => 'Oldalak', + 'manage_pages' => 'Oldalak kezelése', + 'manage_menus' => 'Menük kezelése', + 'access_snippets' => 'Kódrészletek kezelése', + 'manage_content' => 'Tartalom kezelése', + ], + 'menu' => [ + 'menu_label' => 'Menük', + 'delete_confirmation' => 'Valóban törölni akarja a kijelölt menüket?', + 'no_records' => 'Nincs létrehozva menü', + 'new' => 'Új menü', + 'new_name' => 'Új menü', + 'new_code' => 'uj-menu', + 'delete_confirm_single' => 'Valóban törölni akarja ezt a menüt?', + 'saved' => 'A menü mentése sikerült.', + 'name' => 'Név', + 'code' => 'Kód', + 'items' => 'Menüpont', + 'add_subitem' => 'Almenü hozzáadása', + 'code_required' => 'A Kód kötelező', + 'invalid_code' => 'Érvénytelen a kód formátuma. Csak számokat, latin betűket és a következő szimbólumokat tartalmazhatja: _-', + ], + 'menuitem' => [ + 'title' => 'Cím', + 'editor_title' => 'Menüpont szerkesztése', + 'type' => 'Típus', + 'allow_nested_items' => 'Beágyazott menüpontok engedélyezése', + 'allow_nested_items_comment' => 'A beágyazott menüpontokat az oldal és néhány más menüpont típus dinamikusan generálhatja', + 'url' => 'Webcím', + 'reference' => 'Hivatkozás', + 'search_placeholder' => 'Keresés...', + 'title_required' => 'A cím megadása kötelező', + 'unknown_type' => 'Ismeretlen menüponttípus', + 'unnamed' => 'Névtelen menüpont', + 'add_item' => 'Menüpont hozzáadása', + 'new_item' => 'Új menüpont', + 'replace' => 'A menüpont kicserélése a generált gyermekeire', + 'replace_comment' => 'Ennek a jelölőnégyzetnek a használatával viheti a generált menüpontokat az ezen menüpont által azonos szintre. Maga ez a menüpont rejtett marad.', + 'cms_page' => 'Oldal', + 'cms_page_comment' => 'Válassza ki a menüre kattintáskor megnyitni kívánt oldalt.', + 'reference_required' => 'A menüpont hivatkozás kitöltése kötelező.', + 'url_required' => 'A webcím megadása kötelező', + 'cms_page_required' => 'Válasszon egy oldalt', + 'display_tab' => 'Megjelenés', + 'hidden' => 'Rejtett', + 'hidden_comment' => 'Nem jelenik meg a felhasználói felületen.', + 'attributes_tab' => 'Tulajdonságok', + 'code' => 'Kód', + 'code_comment' => 'Az API eléréshez szükséges egyedi azonosító.', + 'css_class' => 'CSS osztály', + 'css_class_comment' => 'Egyedi megjelenés esetén szükséges megadni.', + 'external_link' => 'Külső hivatkozás', + 'external_link_comment' => 'A link új ablakban fog megjelenni.', + 'static_page' => 'Oldalak', + 'all_static_pages' => 'Összes oldal', + ], + 'content' => [ + 'menu_label' => 'Tartalom', + 'saved' => 'A tartalom mentése sikerült.', + 'cant_save_to_dir' => 'A fájlok mentése a "static-pages" könyvtárba nem engedélyezett.', + ], + 'sidebar' => [ + 'add' => 'Hozzáadás', + ], + 'object' => [ + 'invalid_type' => 'Ismeretlen objektumtípus', + 'unauthorized_type' => 'Nem jogosult a következő objektum(ok) kezelésére: :type', + 'not_found' => 'A kért objektum nem található.', + ], + 'editor' => [ + 'title' => 'Cím', + 'new_title' => 'Új oldal címe', + 'content' => 'Tartalom', + 'url' => 'Webcím', + 'filename' => 'Fájlnév', + 'layout' => 'Elrendezés', + 'description' => 'Leírás', + 'preview' => 'Előnézet', + 'enter_fullscreen' => 'Váltás teljes képernyős módra', + 'exit_fullscreen' => 'Kilépés a teljes képernyős módból', + 'hidden' => 'Rejtett', + 'hidden_comment' => 'A rejtett oldalakhoz csak a bejelentkezett kiszolgáló oldali felhasználók férhetnek hozzá.', + 'navigation_hidden' => 'Elrejtés a navigációban', + 'navigation_hidden_comment' => 'Jelölje be ezt a jelölőnégyzetet ennek a oldalnak az automatikusan generált menükből és útkövetésekből való elrejtéséhez.', + ], + 'snippet' => [ + 'menu_label' => 'Kódrészletek', + ], + 'component' => [ + 'static_page_name' => 'Statikus oldal', + 'static_page_description' => 'Oldalak megjelenítése.', + 'static_page_use_content_name' => 'Tartalom mező használata', + 'static_page_use_content_description' => 'Ha nem engedélyezi ezt, akkor a tartalmi rész nem fog megjelenni az oldal szerkesztésénél. Az oldal tartalmát kizárólag a változók fogják meghatározni.', + 'static_page_default_name' => 'Alapértelmezett elrendezés', + 'static_page_default_description' => 'Minden új oldal ezt az elrendezést fogja hasznáni alapértelmezettként.', + 'static_page_child_layout_name' => 'Aloldal elrendezés', + 'static_page_child_layout_description' => 'Minden új aloldal ezt az elrendezést fogja használni alapértelmezettként.', + 'static_menu_name' => 'Statikus menü', + 'static_menu_description' => 'Menük megjelenítése.', + 'static_menu_code_name' => 'Menü', + 'static_menu_code_description' => 'Speciális kód a megjelenő menünek.', + 'static_breadcrumbs_name' => 'Statikus kenyérmorzsa', + 'static_breadcrumbs_description' => 'Kenyérmorzsa megjelenítése.', + 'child_pages_name' => 'Aloldalak', + 'child_pages_description' => 'Megjeleníti az aktuális oldal aloldalainak listáját.', + ], ]; diff --git a/lang/it/lang.php b/lang/it/lang.php index f987877..2ba6907 100644 --- a/lang/it/lang.php +++ b/lang/it/lang.php @@ -1,116 +1,96 @@ - [ - 'name' => 'Pages', - 'description' => 'Funzionalità di pagine & menu.', - ], - 'page' => [ - 'menu_label' => 'Pagine', - 'template_title' => '%s Pagine', - 'delete_confirmation' => 'Vuoi davvero eliminare le pagine selezionate? L\'operazione cancellerà anche le sottopagine, se presenti.', - 'no_records' => 'Nessuna pagina trovata', - 'delete_confirm_single' => 'Vuoi davvero eliminare questa pagina? L\'operazione cancellerà anche le sottopagine, se presenti.', - 'new' => 'Nuova pagina', - 'add_subpage' => 'Aggiungi sottopagina', - 'invalid_url' => 'Formato dell\'URL non valido. L\'URL deve iniziare con una barra e può contenere numeri, lettere latine e i seguenti simboli: _-/.', - 'url_not_unique' => 'L\'URL è già utilizzato da un\'altra pagina.', - 'layout' => 'Layout', - 'layouts_not_found' => 'Layouts non trovato', - 'saved' => 'Pagina salvata con successo.', - 'tab' => 'Pagine', - 'manage_pages' => 'Gestisci pagine', - 'manage_menus' => 'Gestisci menu', - 'access_snippets' => 'Accedi agli snippet', - 'manage_content' => 'Gestisci contenuti' - ], - 'menu' => [ - 'menu_label' => 'Menu', - 'delete_confirmation' => 'Vuoi davvero eliminare i menu selezionati?', - 'no_records' => 'Nessun menu trovato', - 'new' => 'Nuovo menu', - 'new_name' => 'Nuovo menu', - 'new_code' => 'nuovo-menu', - 'delete_confirm_single' => 'Vuoi davvero eliminare questo menu?', - 'saved' => 'Menu salvato con successo.', - 'name' => 'Nome', - 'code' => 'Codice', - 'items' => 'Voci di menu', - 'add_subitem' => 'Aggiungi sottomenu', - 'code_required' => 'Il Codice è obbligatorio', - 'invalid_code' => 'Formato del Codice non valido. Il Codice può contenere numeri, lettere latine e i seguenti simboli: _-' - ], - 'menuitem' => [ - 'title' => 'Titolo', - 'editor_title' => 'Modifica voce di menu', - 'type' => 'Tipo', - 'allow_nested_items' => 'Consenti elementi nidificati', - 'allow_nested_items_comment' => 'Gli elementi nidificati possono essere generati dinamicamente dalle pagine e altre tipologie di elementi', - 'url' => 'URL', - 'reference' => 'Riferimento', - 'title_required' => 'Il Titolo è obbligatorio', - 'unknown_type' => 'Tipologia di menu sconosciuta', - 'unnamed' => 'Voce di menu senza nome', - 'add_item' => 'Aggiungi elemento', - 'new_item' => 'Nuova voce di menu', - 'replace' => 'Sostituisci questo elemento con i figli generati', - 'replace_comment' => 'Usa questa checkbox per inserire le voci di menu generate allo stesso livello di questo elemento. Questa voce verrà nascosta.', - 'cms_page' => 'Pagine CMS', - 'cms_page_comment' => 'Seleziona una pagina del CMS da aprire quando viene selezionata la voce di menu.', - 'reference_required' => 'Il riferimento della voce di menu è obbligatorio.', - 'url_required' => 'L\'URL è obbligatorio', - 'cms_page_required' => 'Seleziona una pagina CMS', - 'code' => 'Codice', - 'code_comment' => 'Inserisci il codice della voce di menu se vuoi accedervi con l\'API.', - 'static_page' => 'Pagine', - 'all_static_pages' => 'Tutte le pagine' - ], - 'content' => [ - 'menu_label' => 'Contenuti', - 'cant_save_to_dir' => 'Salvataggio dei file di contenuto nella directory static-pages non consentito.' - ], - 'sidebar' => [ - 'add' => 'Aggiungi', - 'search' => 'Cerca...' - ], - 'object' => [ - 'invalid_type' => 'Tipo di oggetto sconosciuto', - 'not_found' => 'Oggetto richiesto non trovato.' - ], - 'editor' => [ - 'title' => 'Titolo', - 'new_title' => 'Titolo nuova pagina', - 'content' => 'Contenuto', - 'url' => 'URL', - 'filename' => 'Nome file', - 'layout' => 'Layout', - 'description' => 'Descrizione', - 'preview' => 'Anteprima', - 'enter_fullscreen' => 'Abilita visualizzazione a schermo intero', - 'exit_fullscreen' => 'Esci dalla visualizzazione a schermo intero', - 'hidden' => 'Nascosto', - 'hidden_comment' => 'Le pagine nascoste sono accessibili soltanto dagli utenti che hanno effettuato l\'accesso al pannello di controllo.', - 'navigation_hidden' => 'Nascondi dalla navigazione', - 'navigation_hidden_comment' => 'Seleziona questa checkbox per nascondere questa pagina dai menu e dalle barre di navigazione generate automaticamente.', - ], - 'snippet' => [ - 'partialtab' => 'Snippet', - 'code' => 'Codice Snippet', - 'code_comment' => 'Inserisci un codice per rendere questa vista parziale disponibile come snippet nel plugin Static Pages.', - 'name' => 'Nome', - 'name_comment' => 'Il nome è visualizzato nella lista degli snippet nella barra laterale di Static Pages e su una Pagina quando viene aggiunto lo snippet.', - 'no_records' => 'Nessuno snippet trovato', - 'menu_label' => 'Snippet', - 'column_property' => 'Titolo proprietà', - 'column_type' => 'Tipo', - 'column_code' => 'Codice', - 'column_default' => 'Default', - 'column_options' => 'Opzioni', - 'column_type_string' => 'Testo', - 'column_type_checkbox' => 'Checkbox', - 'column_type_dropdown' => 'Menu a cascata', - 'not_found' => 'Snippet con codice :code non trovato nel tema.', - 'property_format_error' => 'Il codice della proprietà deve iniziare con una lettera latina e può contenere solo lettere latine e numeri', - 'invalid_option_key' => 'Opzione del menu a cascata non valida: %s. Le opzioni possono contenere solo numeri, lettere latine e i caratteri _ e -' - ] + [ + 'name' => 'Pages', + 'description' => 'Funzionalità di pagine & menu.', + ], + 'page' => [ + 'menu_label' => 'Pagine', + 'template_title' => '%s Pagine', + 'delete_confirmation' => 'Vuoi davvero eliminare le pagine selezionate? L\'operazione cancellerà anche le sottopagine, se presenti.', + 'no_records' => 'Nessuna pagina trovata', + 'delete_confirm_single' => 'Vuoi davvero eliminare questa pagina? L\'operazione cancellerà anche le sottopagine, se presenti.', + 'new' => 'Nuova pagina', + 'add_subpage' => 'Aggiungi sottopagina', + 'invalid_url' => 'Formato dell\'URL non valido. L\'URL deve iniziare con una barra e può contenere numeri, lettere latine e i seguenti simboli: _-/.', + 'url_not_unique' => 'L\'URL è già utilizzato da un\'altra pagina.', + 'layout' => 'Layout', + 'layouts_not_found' => 'Layouts non trovato', + 'saved' => 'Pagina salvata con successo.', + 'tab' => 'Pagine', + 'manage_pages' => 'Gestisci pagine', + 'manage_menus' => 'Gestisci menu', + 'access_snippets' => 'Accedi agli snippet', + 'manage_content' => 'Gestisci contenuti', + ], + 'menu' => [ + 'menu_label' => 'Menu', + 'delete_confirmation' => 'Vuoi davvero eliminare i menu selezionati?', + 'no_records' => 'Nessun menu trovato', + 'new' => 'Nuovo menu', + 'new_name' => 'Nuovo menu', + 'new_code' => 'nuovo-menu', + 'delete_confirm_single' => 'Vuoi davvero eliminare questo menu?', + 'saved' => 'Menu salvato con successo.', + 'name' => 'Nome', + 'code' => 'Codice', + 'items' => 'Voci di menu', + 'add_subitem' => 'Aggiungi sottomenu', + 'code_required' => 'Il Codice è obbligatorio', + 'invalid_code' => 'Formato del Codice non valido. Il Codice può contenere numeri, lettere latine e i seguenti simboli: _-', + ], + 'menuitem' => [ + 'title' => 'Titolo', + 'editor_title' => 'Modifica voce di menu', + 'type' => 'Tipo', + 'allow_nested_items' => 'Consenti elementi nidificati', + 'allow_nested_items_comment' => 'Gli elementi nidificati possono essere generati dinamicamente dalle pagine e altre tipologie di elementi', + 'url' => 'URL', + 'reference' => 'Riferimento', + 'title_required' => 'Il Titolo è obbligatorio', + 'unknown_type' => 'Tipologia di menu sconosciuta', + 'unnamed' => 'Voce di menu senza nome', + 'add_item' => 'Aggiungi elemento', + 'new_item' => 'Nuova voce di menu', + 'replace' => 'Sostituisci questo elemento con i figli generati', + 'replace_comment' => 'Usa questa checkbox per inserire le voci di menu generate allo stesso livello di questo elemento. Questa voce verrà nascosta.', + 'cms_page' => 'Pagine CMS', + 'cms_page_comment' => 'Seleziona una pagina del CMS da aprire quando viene selezionata la voce di menu.', + 'reference_required' => 'Il riferimento della voce di menu è obbligatorio.', + 'url_required' => 'L\'URL è obbligatorio', + 'cms_page_required' => 'Seleziona una pagina CMS', + 'code' => 'Codice', + 'code_comment' => 'Inserisci il codice della voce di menu se vuoi accedervi con l\'API.', + 'static_page' => 'Pagine', + 'all_static_pages' => 'Tutte le pagine', + ], + 'content' => [ + 'menu_label' => 'Contenuti', + 'cant_save_to_dir' => 'Salvataggio dei file di contenuto nella directory static-pages non consentito.', + ], + 'sidebar' => [ + 'add' => 'Aggiungi', + ], + 'object' => [ + 'invalid_type' => 'Tipo di oggetto sconosciuto', + 'not_found' => 'Oggetto richiesto non trovato.', + ], + 'editor' => [ + 'title' => 'Titolo', + 'new_title' => 'Titolo nuova pagina', + 'content' => 'Contenuto', + 'url' => 'URL', + 'filename' => 'Nome file', + 'layout' => 'Layout', + 'description' => 'Descrizione', + 'preview' => 'Anteprima', + 'enter_fullscreen' => 'Abilita visualizzazione a schermo intero', + 'exit_fullscreen' => 'Esci dalla visualizzazione a schermo intero', + 'hidden' => 'Nascosto', + 'hidden_comment' => 'Le pagine nascoste sono accessibili soltanto dagli utenti che hanno effettuato l\'accesso al pannello di controllo.', + 'navigation_hidden' => 'Nascondi dalla navigazione', + 'navigation_hidden_comment' => 'Seleziona questa checkbox per nascondere questa pagina dai menu e dalle barre di navigazione generate automaticamente.', + ], + 'snippet' => [ + 'menu_label' => 'Snippet', + ], ]; diff --git a/lang/lv/lang.php b/lang/lv/lang.php index 350554b..2a6dfeb 100644 --- a/lang/lv/lang.php +++ b/lang/lv/lang.php @@ -1,120 +1,101 @@ - [ - 'name' => 'Lapas', - 'description' => 'Lapu un izvēļņu funkcijas.', - ], - 'page' => [ - 'menu_label' => 'Lapas', - 'template_title' => '%s Lapas', - 'delete_confirmation' => 'Vai tu tiešām vēlies dzēst izvēlētās lapas? Šī operācija izdzēsīs arī apakšlapas (ja tādas ir).', - 'no_records' => 'Neviena lapa netika atrasta', - 'delete_confirm_single' => 'Vai tu tiešām vēlies dzēst izvēlēto lapu? Šī operācija izdzēsīs arī apakšlapas (ja tādas ir).', - 'new' => 'Jauna lapa', - 'add_subpage' => 'Pievienot apakšlapu', - 'invalid_url' => 'Nekorekts saites formāts. Saitei vajadzētu sākties ar slīpsvītru un tā var saturēt ciparus, latīnu alfabēta burtus, slīpsvītras un sekojošos sibolus: _-/.', - 'url_not_unique' => 'Šādu saiti izmanto jau kāda cita lapa.', - 'layout' => 'Izkārtojums', - 'layouts_not_found' => 'Izkārtojumi netika atrasti', - 'saved' => 'Lapa tika veiksmīgi saglabāta.', - 'tab' => 'Lapas', - 'manage_pages' => 'Pieeja labot statiskās lapas', - 'manage_menus' => 'Pieeja labot statiskās izvēlnes', - 'access_snippets' => 'Pieeja koda fragmentiem', - 'manage_content' => 'Pieeja labot statisko saturu', - ], - 'menu' => [ - 'menu_label' => 'Izvēlnes', - 'delete_confirmation' => 'Vai tu tiešām vēlies dzēst izvēlētās izvēlnes?', - 'no_records' => 'Izvēlnes netika atrastas', - 'new' => 'Jauna izvēlne', - 'new_name' => 'Jauna izvēlne', - 'new_code' => 'jauna-izvelne', - 'delete_confirm_single' => 'Vai tu tiešām vēlies dzēst šo izvēlni?', - 'saved' => 'Izvēlne tika veiksmīgi saglabāta', - 'name' => 'Vārds', - 'code' => 'Kods', - 'items' => 'Izvēlnes priekšmeti', - 'add_subitem' => 'Pievienot apakšpriekšmetu', - 'code_required' => 'Kods ir obligāts lauks.', - 'invalid_code' => 'Nepreaizs koda formāts. Kods var saturēt ciparus, latīnu alfabēta burtus un sekojošos simbolus: _-', - ], - 'menuitem' => [ - 'title' => 'Nosaukums', - 'editor_title' => 'Labot izvēlnes priekšmetu', - 'type' => 'Tips', - 'allow_nested_items' => 'Atļaut iegultos priekšmetus', - 'allow_nested_items_comment' => 'Iegultie priekšmeti var tikt dinamiski ģenerēti', - 'url' => 'Saite', - 'reference' => 'Atsauce', - 'title_required' => 'Nosaukuma lauks ir obligāts', - 'unknown_type' => 'Nezināms izvēlnes tips', - 'unnamed' => 'Izvēlnes priekšmets bez nosaukums', - 'add_item' => 'Pievienot Priekšmetu', - 'new_item' => 'Jauns izvēlnes priekšmets', - 'replace' => 'Aizvietot šo priekšmetu ar tā ģenerētajiem bērniem', - 'cms_page' => 'CMS lapa', - 'cms_page_comment' => 'Izvēlies lapu, kas atvērsies, kad tiks noklikšķiāts uz šī izvēlnes priekšmeta.', - 'reference_required' => 'Izvēlnes priekšmeta atsauce ir obligāts lauks.', - 'url_required' => 'Saite ir obligāti jāievada', - 'cms_page_required' => 'Lūdzu, izvēlies CMS lapu', - 'code' => 'Kods', - 'code_comment' => 'Ievadi izvēlnes priekšmeta kodu, ja tam vēlies piekļūt izmantojot API.', - 'static_page' => 'Statiska lapa', - 'all_static_pages' => 'Visas statiskās lapas' - ], - 'content' => [ - 'menu_label' => 'Saturs', - 'cant_save_to_dir' => 'Satura failu saglabāšana statisko lapu direktorijā nav atļauta.S', - ], - 'sidebar' => [ - 'add' => 'Pievienot', - 'search' => 'Meklēt...', - ], - 'object' => [ - 'invalid_type' => 'Nezināms objekta tips', - 'not_found' => 'Pieprasītais objekts netika atrasts.', - ], - 'editor' => [ - 'title' => 'Nosaukums', - 'new_title' => 'Jaunās lapas nosaukums', - 'content' => 'Saturs', - 'url' => 'Saite', - 'filename' => 'Faila nosaukums', - 'layout' => 'Izkārtojums', - 'description' => 'Skaidrojums', - 'preview' => 'Priekšskats', - 'enter_fullscreen' => 'Atvērt pilnekrāna režīmu', - 'exit_fullscreen' => 'Aizvērt pilnekrāna režīmu', - 'hidden' => 'Paslēpts', - 'hidden_comment' => 'Paslēptās lapas varēs redzēt tikai ielogojušies back-end lietotāji.', - 'navigation_hidden' => 'Paslēpt navigācijā', - 'navigation_hidden_comment' => 'Atķeksē šo kasti, lai automātiski ģenerētu izvēlnes un breadcrumbus.', - ], - 'snippet' => [ - 'partialtab' => 'Koda fragmenti', - 'code' => 'Koda fragmenta kods', - 'code_comment' => 'Ievadi kodu, lai padarītu šo partialu par koda fragmentu.', - 'name' => 'Nosaukums', - 'name_comment' => 'Nosaukums tiks rādīts koda fragmentu sarakstā.', - 'no_records' => 'Koda fragmenti netika atrasti', - 'menu_label' => 'Koda fragmenti', - 'column_property' => 'Nosaukums', - 'column_type' => 'Tips', - 'column_code' => 'Kods', - 'column_default' => 'Noklusējuma vērtība', - 'column_options' => 'Opcijas', - 'column_type_string' => 'Teksts', - 'column_type_checkbox' => 'Checkboksis', - 'column_type_dropdown' => 'Dropdowns', - 'not_found' => 'Koda fragments ar pieprasīto kodu :code netika atrasts tēmā.', - 'property_format_error' => 'Kodam vajadzētu sākties ar latīņu alfabēta burtu un tas var saturēt latīņu alfabēta burtus un ciparus', - 'invalid_option_key' => 'Nekorekta dropdowna vērtība: :key.', - ], - 'component' => [ - 'static_page_description' => 'Izvada statisku lapu CMS iegultnē.', - 'static_menu_description' => 'Izvada izvēlni CMS iegultnē.', - 'static_menu_menu_code' => 'Specificē komponentes kodu, ko izvadīt', - 'static_breadcrumbs_description' => 'Izvada breadcrumbus CMS iegultnē.', - ], + [ + 'name' => 'Lapas', + 'description' => 'Lapu un izvēļņu funkcijas.', + ], + 'page' => [ + 'menu_label' => 'Lapas', + 'template_title' => '%s Lapas', + 'delete_confirmation' => 'Vai tu tiešām vēlies dzēst izvēlētās lapas? Šī operācija izdzēsīs arī apakšlapas (ja tādas ir).', + 'no_records' => 'Neviena lapa netika atrasta', + 'delete_confirm_single' => 'Vai tu tiešām vēlies dzēst izvēlēto lapu? Šī operācija izdzēsīs arī apakšlapas (ja tādas ir).', + 'new' => 'Jauna lapa', + 'add_subpage' => 'Pievienot apakšlapu', + 'invalid_url' => 'Nekorekts saites formāts. Saitei vajadzētu sākties ar slīpsvītru un tā var saturēt ciparus, latīnu alfabēta burtus, slīpsvītras un sekojošos sibolus: _-/.', + 'url_not_unique' => 'Šādu saiti izmanto jau kāda cita lapa.', + 'layout' => 'Izkārtojums', + 'layouts_not_found' => 'Izkārtojumi netika atrasti', + 'saved' => 'Lapa tika veiksmīgi saglabāta.', + 'tab' => 'Lapas', + 'manage_pages' => 'Pieeja labot statiskās lapas', + 'manage_menus' => 'Pieeja labot statiskās izvēlnes', + 'access_snippets' => 'Pieeja koda fragmentiem', + 'manage_content' => 'Pieeja labot statisko saturu', + ], + 'menu' => [ + 'menu_label' => 'Izvēlnes', + 'delete_confirmation' => 'Vai tu tiešām vēlies dzēst izvēlētās izvēlnes?', + 'no_records' => 'Izvēlnes netika atrastas', + 'new' => 'Jauna izvēlne', + 'new_name' => 'Jauna izvēlne', + 'new_code' => 'jauna-izvelne', + 'delete_confirm_single' => 'Vai tu tiešām vēlies dzēst šo izvēlni?', + 'saved' => 'Izvēlne tika veiksmīgi saglabāta', + 'name' => 'Vārds', + 'code' => 'Kods', + 'items' => 'Izvēlnes priekšmeti', + 'add_subitem' => 'Pievienot apakšpriekšmetu', + 'code_required' => 'Kods ir obligāts lauks.', + 'invalid_code' => 'Nepreaizs koda formāts. Kods var saturēt ciparus, latīnu alfabēta burtus un sekojošos simbolus: _-', + ], + 'menuitem' => [ + 'title' => 'Nosaukums', + 'editor_title' => 'Labot izvēlnes priekšmetu', + 'type' => 'Tips', + 'allow_nested_items' => 'Atļaut iegultos priekšmetus', + 'allow_nested_items_comment' => 'Iegultie priekšmeti var tikt dinamiski ģenerēti', + 'url' => 'Saite', + 'reference' => 'Atsauce', + 'title_required' => 'Nosaukuma lauks ir obligāts', + 'unknown_type' => 'Nezināms izvēlnes tips', + 'unnamed' => 'Izvēlnes priekšmets bez nosaukums', + 'add_item' => 'Pievienot Priekšmetu', + 'new_item' => 'Jauns izvēlnes priekšmets', + 'replace' => 'Aizvietot šo priekšmetu ar tā ģenerētajiem bērniem', + 'cms_page' => 'CMS lapa', + 'cms_page_comment' => 'Izvēlies lapu, kas atvērsies, kad tiks noklikšķiāts uz šī izvēlnes priekšmeta.', + 'reference_required' => 'Izvēlnes priekšmeta atsauce ir obligāts lauks.', + 'url_required' => 'Saite ir obligāti jāievada', + 'cms_page_required' => 'Lūdzu, izvēlies CMS lapu', + 'code' => 'Kods', + 'code_comment' => 'Ievadi izvēlnes priekšmeta kodu, ja tam vēlies piekļūt izmantojot API.', + 'static_page' => 'Statiska lapa', + 'all_static_pages' => 'Visas statiskās lapas', + ], + 'content' => [ + 'menu_label' => 'Saturs', + 'cant_save_to_dir' => 'Satura failu saglabāšana statisko lapu direktorijā nav atļauta.S', + ], + 'sidebar' => [ + 'add' => 'Pievienot', + ], + 'object' => [ + 'invalid_type' => 'Nezināms objekta tips', + 'not_found' => 'Pieprasītais objekts netika atrasts.', + ], + 'editor' => [ + 'title' => 'Nosaukums', + 'new_title' => 'Jaunās lapas nosaukums', + 'content' => 'Saturs', + 'url' => 'Saite', + 'filename' => 'Faila nosaukums', + 'layout' => 'Izkārtojums', + 'description' => 'Skaidrojums', + 'preview' => 'Priekšskats', + 'enter_fullscreen' => 'Atvērt pilnekrāna režīmu', + 'exit_fullscreen' => 'Aizvērt pilnekrāna režīmu', + 'hidden' => 'Paslēpts', + 'hidden_comment' => 'Paslēptās lapas varēs redzēt tikai ielogojušies back-end lietotāji.', + 'navigation_hidden' => 'Paslēpt navigācijā', + 'navigation_hidden_comment' => 'Atķeksē šo kasti, lai automātiski ģenerētu izvēlnes un breadcrumbus.', + ], + 'snippet' => [ + 'menu_label' => 'Koda fragmenti', + ], + 'component' => [ + 'static_page_description' => 'Izvada statisku lapu CMS iegultnē.', + 'static_menu_description' => 'Izvada izvēlni CMS iegultnē.', + 'static_menu_menu_code' => 'Specificē komponentes kodu, ko izvadīt', + 'static_breadcrumbs_description' => 'Izvada breadcrumbus CMS iegultnē.', + ], ]; diff --git a/lang/nb-no/lang.php b/lang/nb-no/lang.php index 797db80..43a246f 100644 --- a/lang/nb-no/lang.php +++ b/lang/nb-no/lang.php @@ -1,114 +1,93 @@ - [ - 'name' => 'Sider', - 'description' => 'Side- og menyfunksjoner.', - ], - 'page' => [ - 'menu_label' => 'Sider', - 'template_title' => '%s Sider', - 'delete_confirmation' => 'Vil du virkelig slette de valgte sidene? Hvis siden har undersider, blir de også slettet.', - 'no_records' => 'Ingen sider funnet', - 'delete_confirm_single' => 'Vil du virkelig slette denne siden? Hvis siden har undersider, blir de også slettet.', - 'new' => 'Ny side', - 'add_subpage' => 'Ny underside', - 'invalid_url' => 'Ugyldig URL-format. URL-en skal starte med en skråstrek og kan bare inneholde tall, latinske bokstaver og følgende symboler: _-/.', - 'url_not_unique' => 'URL-en er allerede i bruk av en annen side.', - 'layout' => 'Layout', - 'layouts_not_found' => 'Ingen layouts funnet', - 'saved' => 'Siden har blitt lagret.', - 'manage_pages' => 'Administrer statiske sider', - 'manage_menus' => 'Administrer statiske menyer', - 'access_snippets' => 'Tilgang til snippets', - 'manage_content' => 'Administrer statisk innhold' - ], - 'menu' => [ - 'menu_label' => 'Menyer', - 'delete_confirmation' => 'Vil du virkelig slette valgte menyer?', - 'no_records' => 'Ingen menyer funnet', - 'new' => 'Ny meny', - 'new_name' => 'Ny meny', - 'new_code' => 'new-menu', - 'delete_confirm_single' => 'Vil du virkelig slette denne menyen?', - 'saved' => 'Menyen har blitt lagret.', - 'name' => 'Navn', - 'code' => 'Kode', - 'items' => 'Elementer', - 'add_subitem' => 'Nytt underelement', - 'no_records' => 'Ingen elementer funnet', - 'code_required' => 'En kode kreves.', - 'invalid_code' => 'Ugyldig kode-format. Koden kan inneholde tall, latinske bokstaver og følgende symboler: _-' - ], - 'menuitem' => [ - 'title' => 'Tittel', - 'editor_title' => 'Endre element', - 'type' => 'Type', - 'allow_nested_items' => 'Tillat underelementer', - 'allow_nested_items_comment' => 'Underelementer kan bli generert dynamisk av statiske sider og andre elementtyper', - 'url' => 'URL', - 'reference' => 'Referanse', - 'title_required' => 'Tittel kreves.', - 'unknown_type' => 'Ukjent elementtype', - 'unnamed' => 'Navnløs elementtype', - 'add_item' => 'Legg til element', - 'new_item' => 'Nytt element', - 'replace' => 'Erstatt dette elementet med sine underelementer', - 'replace_comment' => 'Huk av denne boksen for å skjule dette elementet. Underelementer blir fremdeles synlige.', - 'cms_page' => 'CMS-side', - 'cms_page_comment' => 'Velg hvilken side som skal åpnes når man trykker på linken.', - 'reference_required' => 'En referanse kreves.', - 'url_required' => 'En URL kreves.', - 'cms_page_required' => 'Vennligst velg en CMS-side', - 'code' => 'Kode', - 'code_comment' => 'Velg en elementkode hvis du trenger tilgang via API-en. (valgfritt)' - ], - 'content' => [ - 'menu_label' => 'Innhold', - 'cant_save_to_dir' => 'Å lagre innhold til files i static-pages-mappen er ikke tillatt.' - ], - 'sidebar' => [ - 'add' => 'Legg til', - 'search' => 'Søk...' - ], - 'object' => [ - 'invalid_type' => 'Ukjent objekttype', - 'not_found' => 'Det forespurte objektet ble ikke funnet.' - ], - 'editor' => [ - 'title' => 'Tittel', - 'new_title' => 'Tittel på siden', - 'content' => 'Innhold', - 'url' => 'URL', - 'filename' => 'Filnavn', - 'layout' => 'Layout', - 'description' => 'Beskrivelse', - 'preview' => 'Forhåndsvis', - 'enter_fullscreen' => 'Fullskjermmodus', - 'exit_fullscreen' => 'Avslutt fullskjermmodus', - 'hidden' => 'Skjult', - 'hidden_comment' => 'Kun backend-brukere har tilgang til skjulte sider.', - 'navigation_hidden' => 'Gjem i menyer', - 'navigation_hidden_comment' => 'Huk av denne boksen for å skjule denne siden i genererte menyer', - ], - 'snippet' => [ - 'partialtab' => 'Snippet', - 'code' => 'Snippet-kode', - 'code_comment' => 'Fyll inn en kode for å gjøre denne tilgjengelig som en snippet i Static Pages.', - 'name' => 'Navn', - 'name_comment' => 'Navnet som blir presentert i snippetlisten i Static Pages-menyen og når snippeten er lagt inn på en side.', - 'no_records' => 'Ingen snippets funnet', - 'menu_label' => 'Snippets', - 'column_property' => 'Egenskap', - 'column_type' => 'Type', - 'column_code' => 'Kode', - 'column_default' => 'Standard', - 'column_options' => 'Alternativer', - 'column_type_string' => 'String', - 'column_type_checkbox' => 'Checkbox', - 'column_type_dropdown' => 'Dropdown', - 'not_found' => 'En snippet med koden :code ble ikke funnet.', - 'property_format_error' => 'Egenskapkoden skal starte med en latinsk bokstav og kan kun inneholde bokstver og tall.', - 'invalid_option_key' => 'Ugyldig dropdown-alternativ kode: %s. Alternativkoder kan bare inneholde tall, latinske bokstaver, _ og -' - ] + [ + 'name' => 'Sider', + 'description' => 'Side- og menyfunksjoner.', + ], + 'page' => [ + 'menu_label' => 'Sider', + 'template_title' => '%s Sider', + 'delete_confirmation' => 'Vil du virkelig slette de valgte sidene? Hvis siden har undersider, blir de også slettet.', + 'no_records' => 'Ingen sider funnet', + 'delete_confirm_single' => 'Vil du virkelig slette denne siden? Hvis siden har undersider, blir de også slettet.', + 'new' => 'Ny side', + 'add_subpage' => 'Ny underside', + 'invalid_url' => 'Ugyldig URL-format. URL-en skal starte med en skråstrek og kan bare inneholde tall, latinske bokstaver og følgende symboler: _-/.', + 'url_not_unique' => 'URL-en er allerede i bruk av en annen side.', + 'layout' => 'Layout', + 'layouts_not_found' => 'Ingen layouts funnet', + 'saved' => 'Siden har blitt lagret.', + 'manage_pages' => 'Administrer statiske sider', + 'manage_menus' => 'Administrer statiske menyer', + 'access_snippets' => 'Tilgang til snippets', + 'manage_content' => 'Administrer statisk innhold', + ], + 'menu' => [ + 'menu_label' => 'Menyer', + 'delete_confirmation' => 'Vil du virkelig slette valgte menyer?', + 'no_records' => 'Ingen elementer funnet', + 'new' => 'Ny meny', + 'new_name' => 'Ny meny', + 'new_code' => 'new-menu', + 'delete_confirm_single' => 'Vil du virkelig slette denne menyen?', + 'saved' => 'Menyen har blitt lagret.', + 'name' => 'Navn', + 'code' => 'Kode', + 'items' => 'Elementer', + 'add_subitem' => 'Nytt underelement', + 'code_required' => 'En kode kreves.', + 'invalid_code' => 'Ugyldig kode-format. Koden kan inneholde tall, latinske bokstaver og følgende symboler: _-', + ], + 'menuitem' => [ + 'title' => 'Tittel', + 'editor_title' => 'Endre element', + 'type' => 'Type', + 'allow_nested_items' => 'Tillat underelementer', + 'allow_nested_items_comment' => 'Underelementer kan bli generert dynamisk av statiske sider og andre elementtyper', + 'url' => 'URL', + 'reference' => 'Referanse', + 'title_required' => 'Tittel kreves.', + 'unknown_type' => 'Ukjent elementtype', + 'unnamed' => 'Navnløs elementtype', + 'add_item' => 'Legg til element', + 'new_item' => 'Nytt element', + 'replace' => 'Erstatt dette elementet med sine underelementer', + 'replace_comment' => 'Huk av denne boksen for å skjule dette elementet. Underelementer blir fremdeles synlige.', + 'cms_page' => 'CMS-side', + 'cms_page_comment' => 'Velg hvilken side som skal åpnes når man trykker på linken.', + 'reference_required' => 'En referanse kreves.', + 'url_required' => 'En URL kreves.', + 'cms_page_required' => 'Vennligst velg en CMS-side', + 'code' => 'Kode', + 'code_comment' => 'Velg en elementkode hvis du trenger tilgang via API-en. (valgfritt)', + ], + 'content' => [ + 'menu_label' => 'Innhold', + 'cant_save_to_dir' => 'Å lagre innhold til files i static-pages-mappen er ikke tillatt.', + ], + 'sidebar' => [ + 'add' => 'Legg til', + ], + 'object' => [ + 'invalid_type' => 'Ukjent objekttype', + 'not_found' => 'Det forespurte objektet ble ikke funnet.', + ], + 'editor' => [ + 'title' => 'Tittel', + 'new_title' => 'Tittel på siden', + 'content' => 'Innhold', + 'url' => 'URL', + 'filename' => 'Filnavn', + 'layout' => 'Layout', + 'description' => 'Beskrivelse', + 'preview' => 'Forhåndsvis', + 'enter_fullscreen' => 'Fullskjermmodus', + 'exit_fullscreen' => 'Avslutt fullskjermmodus', + 'hidden' => 'Skjult', + 'hidden_comment' => 'Kun backend-brukere har tilgang til skjulte sider.', + 'navigation_hidden' => 'Gjem i menyer', + 'navigation_hidden_comment' => 'Huk av denne boksen for å skjule denne siden i genererte menyer', + ], + 'snippet' => [ + 'menu_label' => 'Snippets', + ], ]; diff --git a/lang/nl/lang.php b/lang/nl/lang.php index 13ea5c0..c74d8fc 100644 --- a/lang/nl/lang.php +++ b/lang/nl/lang.php @@ -1,116 +1,96 @@ - [ - 'name' => 'Pagina\'s', - 'description' => 'Pagina & menu functionaliteit.', - ], - 'page' => [ - 'menu_label' => 'Pagina\'s', - 'template_title' => '%s Pagina\'s', - 'delete_confirmation' => 'Weet u zeker dat u de geselecteerde pagina\'s wilt verwijderen? Ook eventuele subpagina\'s zullen hierdoor verwijderd worden.', - 'no_records' => 'Geen pagina\'s gevonden', - 'delete_confirm_single' => 'Weet u zeker dat u deze pagina wilt verwijderen? Ook eventuele subpagina\'s zullen hierdoor verwijderd worden.', - 'new' => 'Nieuwe pagina', - 'add_subpage' => 'Subpagina toevoegen', - 'invalid_url' => 'Ongeldige URL-structuur. De URL moet beginnen met een slash en kan enkel cijfers, Latijnse letters en deze symbolen bevatten: _-/.', - 'url_not_unique' => 'Deze URL wordt al gebruikt door een andere pagina.', - 'layout' => 'Layout', - 'layouts_not_found' => 'Geen layouts gevonden', - 'saved' => 'De pagina is succesvol opgeslagen.', - 'tab' => 'Pagina\'s', - 'manage_pages' => 'Beheer statische pagina\'s', - 'manage_menus' => 'Beheer statische menu\'s', - 'access_snippets' => 'Toegang tot blokken', - 'manage_content' => 'Beheer statische inhoud', - ], - 'menu' => [ - 'menu_label' => 'Menu\'s', - 'delete_confirmation' => 'Weet u zeker dat u de geselecteerde menu\'s wilt verwijderen?', - 'no_records' => 'Geen menu\'s gevonden', - 'new' => 'Nieuw menu', - 'new_name' => 'Nieuw menu', - 'new_code' => 'nieuw-menu', - 'delete_confirm_single' => 'Weet u zeker dat u dit menu wilt verwijderen?', - 'saved' => 'Het menu is opgeslagen.', - 'name' => 'Naam', - 'code' => 'Code', - 'items' => 'Menu items', - 'add_subitem' => 'Subitem toevoegen', - 'code_required' => 'Code is verplicht', - 'invalid_code' => 'Ongeldige code-structuur. De Code kan enkel cijfers, Latijnse letters en deze symbolen bevatten: _-', - ], - 'menuitem' => [ - 'title' => 'Titel', - 'editor_title' => 'Bewerk Menu Item', - 'type' => 'Type', - 'allow_nested_items' => 'Accepteer geneste items', - 'allow_nested_items_comment' => 'Geneste items worden dynamisch gegenereerd door statische pagina\'s en sommige andere types.', - 'url' => 'URL', - 'reference' => 'Referentie', - 'title_required' => 'Titel is verplicht', - 'unknown_type' => 'Onbekend menu item type', - 'unnamed' => 'Onbenoemd menu item', - 'add_item' => 'Item toevoegen', - 'new_item' => 'Nieuw menu item', - 'replace' => 'Vervang dit item door de gegenereerde subitems', - 'replace_comment' => 'Wanneer u deze optie aanvinkt, zullen de gegenereerd menu items worden getoond op het niveau van dit item. Dit item zelf zal verborgen blijven.', - 'cms_page' => 'CMS Pagina', - 'cms_page_comment' => 'Selecteer een pagina om te openen wanneer op het menu item geklikt wordt.', - 'reference_required' => 'Een referentie is verplicht.', - 'url_required' => 'Een URL is verplicht', - 'cms_page_required' => 'Gelieve een CMS Pagina te selecteren', - 'code' => 'Code', - 'code_comment' => 'Geef de menu item code op indien u deze wilt benaderen via de API.', - 'static_page' => 'Statische pagina', - 'all_static_pages' => 'Alle statische pagina\'s' - ], - 'content' => [ - 'menu_label' => 'Inhoud', - 'cant_save_to_dir' => 'Het is niet toegelaten bestanden met inhoud op te slaan in de static-pages map.', - ], - 'sidebar' => [ - 'add' => 'Toevoegen', - 'search' => 'Zoeken...', - ], - 'object' => [ - 'invalid_type' => 'Onbekend object type', - 'not_found' => 'Het gevraagde object is niet gevonden.', - ], - 'editor' => [ - 'title' => 'Titel', - 'new_title' => 'Nieuwe pagina titel', - 'content' => 'Inhoud', - 'url' => 'URL', - 'filename' => 'Bestandsnaam', - 'layout' => 'Layout', - 'description' => 'Beschrijving', - 'preview' => 'Voorbeeld', - 'enter_fullscreen' => 'Volledig scherm openen', - 'exit_fullscreen' => 'Volledig scherm afsluiten', - 'hidden' => 'Verborgen', - 'hidden_comment' => 'Verborgen pagina\'s zijn alleen toegankelijk voor ingelogde gebruikers.', - 'navigation_hidden' => 'Verbergen in de navigatie', - 'navigation_hidden_comment' => 'Indien aangevinkt, zal deze pagina niet weergegeven worden in automatisch gegenereerde menu\'s en kruimelpaden (breadcrumbs).', - ], - 'snippet' => [ - 'partialtab' => 'Blokken', - 'code' => 'Blok code', - 'code_comment' => 'Voer een code in om dit fragment beschikbaar the maken in de Static Pages plugin.', - 'name' => 'Naam', - 'name_comment' => 'De naam wordt weergegeven in de blokkenlijst in de zijbalk en op de pagina waar dit blok wordt toegevoegd.', - 'no_records' => 'Geen blokken gevonden', - 'menu_label' => 'Blokken', - 'column_property' => 'Eigenschap naam', - 'column_type' => 'Type', - 'column_code' => 'Code', - 'column_default' => 'Standaardwaarde', - 'column_options' => 'Opties', - 'column_type_string' => 'Tekst', - 'column_type_checkbox' => 'Selectieveld', - 'column_type_dropdown' => 'Selectielijst', - 'not_found' => 'Blok met de gevraagde code :code is niet gevonden in het thema.', - 'property_format_error' => 'De naam van de eigenschap moet beginnen met een letter en kan alleen letters en cijfers bevatten.', - 'invalid_option_key' => 'Ongeldige selectlijst waarde: %s. Deze waarden mogen alleen cijfers, letters of de karakters _- bevatten.', - ], + [ + 'name' => 'Pagina\'s', + 'description' => 'Pagina & menu functionaliteit.', + ], + 'page' => [ + 'menu_label' => 'Pagina\'s', + 'template_title' => '%s Pagina\'s', + 'delete_confirmation' => 'Weet u zeker dat u de geselecteerde pagina\'s wilt verwijderen? Ook eventuele subpagina\'s zullen hierdoor verwijderd worden.', + 'no_records' => 'Geen pagina\'s gevonden', + 'delete_confirm_single' => 'Weet u zeker dat u deze pagina wilt verwijderen? Ook eventuele subpagina\'s zullen hierdoor verwijderd worden.', + 'new' => 'Nieuwe pagina', + 'add_subpage' => 'Subpagina toevoegen', + 'invalid_url' => 'Ongeldige URL-structuur. De URL moet beginnen met een slash en kan enkel cijfers, Latijnse letters en deze symbolen bevatten: _-/.', + 'url_not_unique' => 'Deze URL wordt al gebruikt door een andere pagina.', + 'layout' => 'Layout', + 'layouts_not_found' => 'Geen layouts gevonden', + 'saved' => 'De pagina is succesvol opgeslagen.', + 'tab' => 'Pagina\'s', + 'manage_pages' => 'Beheer statische pagina\'s', + 'manage_menus' => 'Beheer statische menu\'s', + 'access_snippets' => 'Toegang tot blokken', + 'manage_content' => 'Beheer statische inhoud', + ], + 'menu' => [ + 'menu_label' => 'Menu\'s', + 'delete_confirmation' => 'Weet u zeker dat u de geselecteerde menu\'s wilt verwijderen?', + 'no_records' => 'Geen menu\'s gevonden', + 'new' => 'Nieuw menu', + 'new_name' => 'Nieuw menu', + 'new_code' => 'nieuw-menu', + 'delete_confirm_single' => 'Weet u zeker dat u dit menu wilt verwijderen?', + 'saved' => 'Het menu is opgeslagen.', + 'name' => 'Naam', + 'code' => 'Code', + 'items' => 'Menu items', + 'add_subitem' => 'Subitem toevoegen', + 'code_required' => 'Code is verplicht', + 'invalid_code' => 'Ongeldige code-structuur. De Code kan enkel cijfers, Latijnse letters en deze symbolen bevatten: _-', + ], + 'menuitem' => [ + 'title' => 'Titel', + 'editor_title' => 'Bewerk Menu Item', + 'type' => 'Type', + 'allow_nested_items' => 'Accepteer geneste items', + 'allow_nested_items_comment' => 'Geneste items worden dynamisch gegenereerd door statische pagina\'s en sommige andere types.', + 'url' => 'URL', + 'reference' => 'Referentie', + 'title_required' => 'Titel is verplicht', + 'unknown_type' => 'Onbekend menu item type', + 'unnamed' => 'Onbenoemd menu item', + 'add_item' => 'Item toevoegen', + 'new_item' => 'Nieuw menu item', + 'replace' => 'Vervang dit item door de gegenereerde subitems', + 'replace_comment' => 'Wanneer u deze optie aanvinkt, zullen de gegenereerd menu items worden getoond op het niveau van dit item. Dit item zelf zal verborgen blijven.', + 'cms_page' => 'CMS Pagina', + 'cms_page_comment' => 'Selecteer een pagina om te openen wanneer op het menu item geklikt wordt.', + 'reference_required' => 'Een referentie is verplicht.', + 'url_required' => 'Een URL is verplicht', + 'cms_page_required' => 'Gelieve een CMS Pagina te selecteren', + 'code' => 'Code', + 'code_comment' => 'Geef de menu item code op indien u deze wilt benaderen via de API.', + 'static_page' => 'Statische pagina', + 'all_static_pages' => 'Alle statische pagina\'s', + ], + 'content' => [ + 'menu_label' => 'Inhoud', + 'cant_save_to_dir' => 'Het is niet toegelaten bestanden met inhoud op te slaan in de static-pages map.', + ], + 'sidebar' => [ + 'add' => 'Toevoegen', + ], + 'object' => [ + 'invalid_type' => 'Onbekend object type', + 'not_found' => 'Het gevraagde object is niet gevonden.', + ], + 'editor' => [ + 'title' => 'Titel', + 'new_title' => 'Nieuwe pagina titel', + 'content' => 'Inhoud', + 'url' => 'URL', + 'filename' => 'Bestandsnaam', + 'layout' => 'Layout', + 'description' => 'Beschrijving', + 'preview' => 'Voorbeeld', + 'enter_fullscreen' => 'Volledig scherm openen', + 'exit_fullscreen' => 'Volledig scherm afsluiten', + 'hidden' => 'Verborgen', + 'hidden_comment' => 'Verborgen pagina\'s zijn alleen toegankelijk voor ingelogde gebruikers.', + 'navigation_hidden' => 'Verbergen in de navigatie', + 'navigation_hidden_comment' => 'Indien aangevinkt, zal deze pagina niet weergegeven worden in automatisch gegenereerde menu\'s en kruimelpaden (breadcrumbs).', + ], + 'snippet' => [ + 'menu_label' => 'Blokken', + ], ]; diff --git a/lang/pl/lang.php b/lang/pl/lang.php index b10c968..d0e5468 100644 --- a/lang/pl/lang.php +++ b/lang/pl/lang.php @@ -1,142 +1,124 @@ [ - 'name' => 'Strony', - 'description' => 'Strony statyczne oraz menu.', - ], - 'page' => [ - 'menu_label' => 'Strony', - 'template_title' => '%s Strony', - 'delete_confirmation' => 'Czy na pewno chcesz usunąć wybrane strony? Podstrony również zostaną usnięte.', - 'no_records' => 'Nie znaleziono stron', - 'delete_confirm_single' => 'Czy na pewno chcesz usunąć stronę? Podstrony również zostaną usnięte.', - 'new' => 'Nowa strona', - 'add_subpage' => 'Dodaj podstronę', - 'invalid_url' => 'Niewprawidłowy format URL lub niedozwolone znaki.', - 'url_not_unique' => 'Podany URL istnieje już w bazie.', - 'layout' => 'Układ', - 'layouts_not_found' => 'Brak układów', - 'saved' => 'Strona została zapisana poprawnie.', - 'tab' => 'Strony', - 'manage_pages' => 'Zarządzaj stronami statycznymi', - 'manage_menus' => 'Zarządzaj menu statycznymi', - 'access_snippets' => 'Fragmenty', - 'manage_content' => 'Zarządzaj treścią statyczną', - ], - 'menu' => [ - 'menu_label' => 'Menu', - 'delete_confirmation' => 'Czy na pewno chcesz usunąć wybrane menu?', - 'no_records' => 'Nie znaleziono menu', - 'new' => 'Nowe menu', - 'new_name' => 'Nowe menu', - 'new_code' => 'nowe-menu', - 'delete_confirm_single' => 'Czy na pewno chcesz usunąć wybrane menu?', - 'saved' => 'Menu zostało zapisane poprawnie.', - 'name' => 'Nazwa', - 'code' => 'Kod systemowy', - 'items' => 'Elementy menu', - 'add_subitem' => 'Dodaj element', - 'code_required' => 'Kod systemowy jest wymagany', - 'invalid_code' => 'Nieprawidłowy kod systemowy. Nie może zawierać znaków specjalnych', - ], - 'menuitem' => [ - 'title' => 'Tytuł', - 'editor_title' => 'Edytuj element', - 'type' => 'Typ', - 'allow_nested_items' => 'Pozwól na zagnieżdżanie elementów', - 'allow_nested_items_comment' => 'Zagnieżdżone elementy mogą być utworzone dynamicznie np ze stron statycznych', - 'url' => 'URL', - 'reference' => 'Referencja', - 'search_placeholder' => 'Przeszukaj wszystkie referencje...', - 'title_required' => 'Tytuł jest wymagany', - 'unknown_type' => 'Nieznany typ elementu', - 'unnamed' => 'Brak nazwy typu elementu', - 'add_item' => 'Dodaj Element', - 'new_item' => 'Nowy element menu', - 'replace' => 'Zamień element na elementy wenątrz tego elementu', - 'replace_comment' => 'Użyj tej opcji aby elementy znajdujące sie w tym elemencie były wygenerowane na poziomie tego elementu a sam element zostanie ukryty.', - 'cms_page' => 'Strona CMS', - 'cms_page_comment' => 'Wybierz stronę z cms do której ma kierować', - 'reference_required' => 'Referencja jest wymagana', - 'url_required' => 'URL jest wymagany', - 'cms_page_required' => 'Wybierz stronę z CMS', - 'display_tab' => 'Wyświetlanie', - 'hidden' => 'Ukryj', - 'hidden_comment' => 'Ukryj ten element menu na stronie', - 'attributes_tab' => 'Atrybuty', - 'code' => 'Kod systemowy', - 'code_comment' => 'Wprowadź kod systemowy aby móc go używać w API.', - 'css_class' => 'Klasa CSS', - 'css_class_comment' => 'Wprowadź klasę CSS, aby nadać temu elementowi niestandardowy wygląd', - 'external_link' => 'Zewnętrzny link', - 'external_link_comment' => 'Adres linku zostanie otworzony w nowym oknie', - 'static_page' => 'Strona statyczna', - 'all_static_pages' => 'Wszystkie strony statyczne', - ], - 'content' => [ - 'menu_label' => 'Treść', - 'cant_save_to_dir' => 'Zapis treści jest niemożliwy. Sprawdź dostęp do folderu treści statycznych.', - ], - 'sidebar' => [ - 'add' => 'Dodaj', - 'search' => 'Szukaj...', - ], - 'object' => [ - 'invalid_type' => 'Nieznany typ obiektu', - 'not_found' => 'Nie znaleziono objektu.', - ], - 'editor' => [ - 'title' => 'Tytuł', - 'new_title' => 'Nowy tytuł strony', - 'content' => 'Treść', - 'url' => 'URL', - 'filename' => 'Nazwa pliku', - 'layout' => 'Układ', - 'description' => 'Opis', - 'preview' => 'Podgląd', - 'enter_fullscreen' => 'Pełny ekran', - 'exit_fullscreen' => 'Zamknij pełny ekran', - 'hidden' => 'Ukryta', - 'hidden_comment' => 'Ukryte strony są dostępne tylko dla zalogowanych administratorów.', - 'navigation_hidden' => 'Ukryj stronę w nawigacji', - 'navigation_hidden_comment' => 'Zaznacz aby usunąć strone z automatycznego generowania menu oraz ścieżek (breadcrumbs).', - ], - 'snippet' => [ - 'partialtab' => 'Fragment', - 'code' => 'Kod systemowy', - 'code_comment' => 'Dodaj kod systemowy aby ten fragment był dostępny do użycia w treści stron statycznych.', - 'name' => 'Nazwa', - 'name_comment' => 'Nazwa będzie się wyświetlać w menu obok stron statycznych.', - 'no_records' => 'Nie znaleziono', - 'menu_label' => 'Fragmenty', - 'column_property' => 'Nazwa parametru', - 'column_type' => 'Typ', - 'column_code' => 'Kod systemowy', - 'column_default' => 'Domyślny', - 'column_options' => 'Opcje', - 'column_type_string' => 'Tekst', - 'column_type_checkbox' => 'Checkbox', - 'column_type_dropdown' => 'Lista rozwijana', - 'not_found' => 'Fragment o podanym kodzie systemowym :code nie został znaleziony.', - 'property_format_error' => 'Nazwa parametru musi się zaczynać od litery i może zawierać tylko litery oraz liczby', - 'invalid_option_key' => 'Nieprawidłowa opcja: :key. Opcja wyboru może zawierać tylko litery, cyfry, myślnik i podkreślnik', - ], - 'component' => [ - 'static_page_name' => 'Strona statyczna', - 'static_page_description' => 'Dodaje zawartość statycznej strony.', - 'static_page_use_content_name' => 'Użyj pola zawartości strony', - 'static_page_use_content_description' => 'Jeżeli odznaczone, sekcja treści nie pojawi się podczas edycji strony statycznej. Zawartość strony będzie ustalana wyłącznie na podstawie symboli zastępczych i zmiennych', - 'static_page_default_name' => 'Domyślny układ', - 'static_page_default_description' => 'Definiuje ten układ jako domyślny dla nowych stron', - 'static_page_child_layout_name' => 'Układ podstrony', - 'static_page_child_layout_description' => 'Układ, który będzie używany jako domyślny dla każdej nowej podstrony', - 'static_menu_name' => 'Menu', - 'static_menu_description' => 'Dodaje menu do strony.', - 'static_menu_code_name' => 'Menu', - 'static_menu_code_description' => 'Podaj kod systemowy menu, które ma zostać wyświetlone.', - 'static_breadcrumbs_name' => 'Okruszki (Breadcrumbs)', - 'static_breadcrumbs_description' => 'Zwraca ścieżkę stron statycznych.', - 'child_pages_name' => 'Strony podrzędne', - 'child_pages_description' => 'Wyświetla listę stron podrzędnych dla aktualnej strony', - 'static_menu_menu_code' => 'Podaj kod systemowy menu', - ], -]; \ No newline at end of file + 'plugin' => [ + 'name' => 'Strony', + 'description' => 'Strony statyczne oraz menu.', + ], + 'page' => [ + 'menu_label' => 'Strony', + 'template_title' => '%s Strony', + 'delete_confirmation' => 'Czy na pewno chcesz usunąć wybrane strony? Podstrony również zostaną usnięte.', + 'no_records' => 'Nie znaleziono stron', + 'delete_confirm_single' => 'Czy na pewno chcesz usunąć stronę? Podstrony również zostaną usnięte.', + 'new' => 'Nowa strona', + 'add_subpage' => 'Dodaj podstronę', + 'invalid_url' => 'Niewprawidłowy format URL lub niedozwolone znaki.', + 'url_not_unique' => 'Podany URL istnieje już w bazie.', + 'layout' => 'Układ', + 'layouts_not_found' => 'Brak układów', + 'saved' => 'Strona została zapisana poprawnie.', + 'tab' => 'Strony', + 'manage_pages' => 'Zarządzaj stronami statycznymi', + 'manage_menus' => 'Zarządzaj menu statycznymi', + 'access_snippets' => 'Fragmenty', + 'manage_content' => 'Zarządzaj treścią statyczną', + ], + 'menu' => [ + 'menu_label' => 'Menu', + 'delete_confirmation' => 'Czy na pewno chcesz usunąć wybrane menu?', + 'no_records' => 'Nie znaleziono menu', + 'new' => 'Nowe menu', + 'new_name' => 'Nowe menu', + 'new_code' => 'nowe-menu', + 'delete_confirm_single' => 'Czy na pewno chcesz usunąć wybrane menu?', + 'saved' => 'Menu zostało zapisane poprawnie.', + 'name' => 'Nazwa', + 'code' => 'Kod systemowy', + 'items' => 'Elementy menu', + 'add_subitem' => 'Dodaj element', + 'code_required' => 'Kod systemowy jest wymagany', + 'invalid_code' => 'Nieprawidłowy kod systemowy. Nie może zawierać znaków specjalnych', + ], + 'menuitem' => [ + 'title' => 'Tytuł', + 'editor_title' => 'Edytuj element', + 'type' => 'Typ', + 'allow_nested_items' => 'Pozwól na zagnieżdżanie elementów', + 'allow_nested_items_comment' => 'Zagnieżdżone elementy mogą być utworzone dynamicznie np ze stron statycznych', + 'url' => 'URL', + 'reference' => 'Referencja', + 'search_placeholder' => 'Przeszukaj wszystkie referencje...', + 'title_required' => 'Tytuł jest wymagany', + 'unknown_type' => 'Nieznany typ elementu', + 'unnamed' => 'Brak nazwy typu elementu', + 'add_item' => 'Dodaj Element', + 'new_item' => 'Nowy element menu', + 'replace' => 'Zamień element na elementy wenątrz tego elementu', + 'replace_comment' => 'Użyj tej opcji aby elementy znajdujące sie w tym elemencie były wygenerowane na poziomie tego elementu a sam element zostanie ukryty.', + 'cms_page' => 'Strona CMS', + 'cms_page_comment' => 'Wybierz stronę z cms do której ma kierować', + 'reference_required' => 'Referencja jest wymagana', + 'url_required' => 'URL jest wymagany', + 'cms_page_required' => 'Wybierz stronę z CMS', + 'display_tab' => 'Wyświetlanie', + 'hidden' => 'Ukryj', + 'hidden_comment' => 'Ukryj ten element menu na stronie', + 'attributes_tab' => 'Atrybuty', + 'code' => 'Kod systemowy', + 'code_comment' => 'Wprowadź kod systemowy aby móc go używać w API.', + 'css_class' => 'Klasa CSS', + 'css_class_comment' => 'Wprowadź klasę CSS, aby nadać temu elementowi niestandardowy wygląd', + 'external_link' => 'Zewnętrzny link', + 'external_link_comment' => 'Adres linku zostanie otworzony w nowym oknie', + 'static_page' => 'Strona statyczna', + 'all_static_pages' => 'Wszystkie strony statyczne', + ], + 'content' => [ + 'menu_label' => 'Treść', + 'cant_save_to_dir' => 'Zapis treści jest niemożliwy. Sprawdź dostęp do folderu treści statycznych.', + ], + 'sidebar' => [ + 'add' => 'Dodaj', + ], + 'object' => [ + 'invalid_type' => 'Nieznany typ obiektu', + 'not_found' => 'Nie znaleziono objektu.', + ], + 'editor' => [ + 'title' => 'Tytuł', + 'new_title' => 'Nowy tytuł strony', + 'content' => 'Treść', + 'url' => 'URL', + 'filename' => 'Nazwa pliku', + 'layout' => 'Układ', + 'description' => 'Opis', + 'preview' => 'Podgląd', + 'enter_fullscreen' => 'Pełny ekran', + 'exit_fullscreen' => 'Zamknij pełny ekran', + 'hidden' => 'Ukryta', + 'hidden_comment' => 'Ukryte strony są dostępne tylko dla zalogowanych administratorów.', + 'navigation_hidden' => 'Ukryj stronę w nawigacji', + 'navigation_hidden_comment' => 'Zaznacz aby usunąć strone z automatycznego generowania menu oraz ścieżek (breadcrumbs).', + ], + 'snippet' => [ + 'menu_label' => 'Fragmenty', + ], + 'component' => [ + 'static_page_name' => 'Strona statyczna', + 'static_page_description' => 'Dodaje zawartość statycznej strony.', + 'static_page_use_content_name' => 'Użyj pola zawartości strony', + 'static_page_use_content_description' => 'Jeżeli odznaczone, sekcja treści nie pojawi się podczas edycji strony statycznej. Zawartość strony będzie ustalana wyłącznie na podstawie symboli zastępczych i zmiennych', + 'static_page_default_name' => 'Domyślny układ', + 'static_page_default_description' => 'Definiuje ten układ jako domyślny dla nowych stron', + 'static_page_child_layout_name' => 'Układ podstrony', + 'static_page_child_layout_description' => 'Układ, który będzie używany jako domyślny dla każdej nowej podstrony', + 'static_menu_name' => 'Menu', + 'static_menu_description' => 'Dodaje menu do strony.', + 'static_menu_code_name' => 'Menu', + 'static_menu_code_description' => 'Podaj kod systemowy menu, które ma zostać wyświetlone.', + 'static_breadcrumbs_name' => 'Okruszki (Breadcrumbs)', + 'static_breadcrumbs_description' => 'Zwraca ścieżkę stron statycznych.', + 'child_pages_name' => 'Strony podrzędne', + 'child_pages_description' => 'Wyświetla listę stron podrzędnych dla aktualnej strony', + 'static_menu_menu_code' => 'Podaj kod systemowy menu', + ], +]; diff --git a/lang/pt-br/lang.php b/lang/pt-br/lang.php index 03b20d1..56e0bb6 100644 --- a/lang/pt-br/lang.php +++ b/lang/pt-br/lang.php @@ -1,115 +1,94 @@ - [ - 'name' => 'Páginas', - 'description' => 'Gerenciar páginas e menus.', - ], - 'page' => [ - 'menu_label' => 'Páginas', - 'template_title' => '%s Páginas', - 'delete_confirmation' => 'Tem certeza que deseja excluir as páginas selecionadas? Todas as subpáginas também serão excluídas.', - 'no_records' => 'Nenhuma página encontrada', - 'delete_confirm_single' => 'Tem certeza que deseja excluir a página selecionada? Todas as subpáginas também serão excluídas.', - 'new' => 'Nova página', - 'add_subpage' => 'Adicionar subpágina', - 'invalid_url' => 'Formato inválido de URL. A URL deve iniciar com o símbolo / e pode conter apenas dígitos, letras latinas e os seguintes símbolos: _-/.', - 'url_not_unique' => 'Esta URL já está sendo utilizada por outra página.', - 'layout' => 'Layout', - 'layouts_not_found' => 'Nenhum layout encontrado', - 'saved' => 'Página salva com sucesso.', - 'tab' => 'Páginas', - 'manage_pages' => 'Gerenciar páginas estáticas', - 'manage_menus' => 'Gerenciar menus estáticos', - 'access_snippets' => 'Acessar fragmentos', - 'manage_content' => 'Gerenciar conteúdos estáticos' - ], - 'menu' => [ - 'menu_label' => 'Menus', - 'delete_confirmation' => 'Tem certeza que deseja excluir os menus selecionados?', - 'no_records' => 'Nenhum menu encontrado', - 'new' => 'Novo menu', - 'new_name' => 'Novo menu', - 'new_code' => 'novo-menu', - 'delete_confirm_single' => 'Tem certeza que deseja excluir este menu?', - 'saved' => 'Menu salvo com sucesso.', - 'name' => 'Nome', - 'code' => 'Código', - 'items' => 'Itens do menu', - 'add_subitem' => 'Adicionar subitem', - 'no_records' => 'Nenhum item encontrado', - 'code_required' => 'O código é necessário', - 'invalid_code' => 'Formato inválido de código. O código pode conter dígitos, letras latinas e os seguintes símbolos: _-' - ], - 'menuitem' => [ - 'title' => 'Título', - 'editor_title' => 'Editar item', - 'type' => 'Tipo', - 'allow_nested_items' => 'Permitir itens aninhados', - 'allow_nested_items_comment' => 'Itens aninhados podem ser gerados dinamicamente por páginas estáticas e outros tipos de itens', - 'url' => 'URL', - 'reference' => 'Referência', - 'title_required' => 'O título é necessário', - 'unknown_type' => 'Tipo de item desconhecido', - 'unnamed' => 'Item de menu sem nome', - 'add_item' => 'Adicionar item', - 'new_item' => 'Novo item', - 'replace' => 'Substituir este item com seus filhos gerados', - 'replace_comment' => 'Use esta opção para empurrar os itens de menu gerados para o mesmo nível que este item. Este item em si será ocultado.', - 'cms_page' => 'Página CMS', - 'cms_page_comment' => 'Selecione uma página para abrir quando o item for clicado.', - 'reference_required' => 'A referência do item é necessária.', - 'url_required' => 'A URL é necessária', - 'cms_page_required' => 'Por favor, selecione uma página CMS', - 'code' => 'Código', - 'code_comment' => 'Entre com o código do item se deseja acessar com a API.' - ], - 'content' => [ - 'menu_label' => 'Conteúdo', - 'cant_save_to_dir' => 'Não é permitido salvar arquivos de conteúdo no diretório de páginas estáticas.' - ], - 'sidebar' => [ - 'add' => 'Adicionar', - 'search' => 'Buscar...' - ], - 'object' => [ - 'invalid_type' => 'Tipo de objeto desconhecido', - 'not_found' => 'O objeto requisitado não foi encontrado.' - ], - 'editor' => [ - 'title' => 'Título', - 'new_title' => 'Título da nova página', - 'content' => 'Conteúdo', - 'url' => 'URL', - 'filename' => 'Nome do arquivo', - 'layout' => 'Layout', - 'description' => 'Descrição', - 'preview' => 'Visualizar', - 'enter_fullscreen' => 'Entrar no modo tela cheia', - 'exit_fullscreen' => 'Sair do modo tela cheia', - 'hidden' => 'Ocultar', - 'hidden_comment' => 'Páginas ocultas são acessíveis apenas para administradores.', - 'navigation_hidden' => 'Ocultar na navegação', - 'navigation_hidden_comment' => 'Marque esta opção para ocultar esta página de menus gerados automaticamente e itens de hierarquia de navegação.', - ], - 'snippet' => [ - 'partialtab' => 'Fragmentos', - 'code' => 'Código do fragmento', - 'code_comment' => 'Entre com o código para disponibilizar este bloco como um fragmento nas páginas estáticas.', - 'name' => 'Nome', - 'name_comment' => 'O nome é exibido na lista de fragmentos no menu lateral na área de páginas estáticas e nas páginas em que o fragmento é adicionado.', - 'no_records' => 'Nenhum fragmento encontrado', - 'menu_label' => 'Fragmentos', - 'column_property' => 'Título da propriedade', - 'column_type' => 'Tipo', - 'column_code' => 'Código', - 'column_default' => 'Padrão', - 'column_options' => 'Opções', - 'column_type_string' => 'Texto', - 'column_type_checkbox' => 'Caixa de seleção', - 'column_type_dropdown' => 'Caixa de seleção suspensa', - 'not_found' => 'Fragmento com o código :code não foi encontrado.', - 'property_format_error' => 'Código da propriedade deve iniciar com uma letra latina e pode conter apenas letras latinas e dígitos', - 'invalid_option_key' => 'Chave de opção inválida: %s. Chaves de opção podem conter apenas dígitos, letras latinas e os caracteres _ e -' - ] + [ + 'name' => 'Páginas', + 'description' => 'Gerenciar páginas e menus.', + ], + 'page' => [ + 'menu_label' => 'Páginas', + 'template_title' => '%s Páginas', + 'delete_confirmation' => 'Tem certeza que deseja excluir as páginas selecionadas? Todas as subpáginas também serão excluídas.', + 'no_records' => 'Nenhuma página encontrada', + 'delete_confirm_single' => 'Tem certeza que deseja excluir a página selecionada? Todas as subpáginas também serão excluídas.', + 'new' => 'Nova página', + 'add_subpage' => 'Adicionar subpágina', + 'invalid_url' => 'Formato inválido de URL. A URL deve iniciar com o símbolo / e pode conter apenas dígitos, letras latinas e os seguintes símbolos: _-/.', + 'url_not_unique' => 'Esta URL já está sendo utilizada por outra página.', + 'layout' => 'Layout', + 'layouts_not_found' => 'Nenhum layout encontrado', + 'saved' => 'Página salva com sucesso.', + 'tab' => 'Páginas', + 'manage_pages' => 'Gerenciar páginas estáticas', + 'manage_menus' => 'Gerenciar menus estáticos', + 'access_snippets' => 'Acessar fragmentos', + 'manage_content' => 'Gerenciar conteúdos estáticos', + ], + 'menu' => [ + 'menu_label' => 'Menus', + 'delete_confirmation' => 'Tem certeza que deseja excluir os menus selecionados?', + 'no_records' => 'Nenhum item encontrado', + 'new' => 'Novo menu', + 'new_name' => 'Novo menu', + 'new_code' => 'novo-menu', + 'delete_confirm_single' => 'Tem certeza que deseja excluir este menu?', + 'saved' => 'Menu salvo com sucesso.', + 'name' => 'Nome', + 'code' => 'Código', + 'items' => 'Itens do menu', + 'add_subitem' => 'Adicionar subitem', + 'code_required' => 'O código é necessário', + 'invalid_code' => 'Formato inválido de código. O código pode conter dígitos, letras latinas e os seguintes símbolos: _-', + ], + 'menuitem' => [ + 'title' => 'Título', + 'editor_title' => 'Editar item', + 'type' => 'Tipo', + 'allow_nested_items' => 'Permitir itens aninhados', + 'allow_nested_items_comment' => 'Itens aninhados podem ser gerados dinamicamente por páginas estáticas e outros tipos de itens', + 'url' => 'URL', + 'reference' => 'Referência', + 'title_required' => 'O título é necessário', + 'unknown_type' => 'Tipo de item desconhecido', + 'unnamed' => 'Item de menu sem nome', + 'add_item' => 'Adicionar item', + 'new_item' => 'Novo item', + 'replace' => 'Substituir este item com seus filhos gerados', + 'replace_comment' => 'Use esta opção para empurrar os itens de menu gerados para o mesmo nível que este item. Este item em si será ocultado.', + 'cms_page' => 'Página CMS', + 'cms_page_comment' => 'Selecione uma página para abrir quando o item for clicado.', + 'reference_required' => 'A referência do item é necessária.', + 'url_required' => 'A URL é necessária', + 'cms_page_required' => 'Por favor, selecione uma página CMS', + 'code' => 'Código', + 'code_comment' => 'Entre com o código do item se deseja acessar com a API.', + ], + 'content' => [ + 'menu_label' => 'Conteúdo', + 'cant_save_to_dir' => 'Não é permitido salvar arquivos de conteúdo no diretório de páginas estáticas.', + ], + 'sidebar' => [ + 'add' => 'Adicionar', + ], + 'object' => [ + 'invalid_type' => 'Tipo de objeto desconhecido', + 'not_found' => 'O objeto requisitado não foi encontrado.', + ], + 'editor' => [ + 'title' => 'Título', + 'new_title' => 'Título da nova página', + 'content' => 'Conteúdo', + 'url' => 'URL', + 'filename' => 'Nome do arquivo', + 'layout' => 'Layout', + 'description' => 'Descrição', + 'preview' => 'Visualizar', + 'enter_fullscreen' => 'Entrar no modo tela cheia', + 'exit_fullscreen' => 'Sair do modo tela cheia', + 'hidden' => 'Ocultar', + 'hidden_comment' => 'Páginas ocultas são acessíveis apenas para administradores.', + 'navigation_hidden' => 'Ocultar na navegação', + 'navigation_hidden_comment' => 'Marque esta opção para ocultar esta página de menus gerados automaticamente e itens de hierarquia de navegação.', + ], + 'snippet' => [ + 'menu_label' => 'Fragmentos', + ], ]; diff --git a/lang/ru/lang.php b/lang/ru/lang.php index e3e9871..5aaec69 100644 --- a/lang/ru/lang.php +++ b/lang/ru/lang.php @@ -1,118 +1,100 @@ [ - 'name' => 'Страницы', - 'description' => 'Страницы и меню.', - ], - 'page' => [ - 'menu_label' => 'Страницы', - 'template_title' => '%s Страницы', - 'delete_confirmation' => 'Вы действительно хотите удалить выбранные страницы? Это также удалит имеющиеся подстраницы.', - 'no_records' => 'Страниц не найдено', - 'delete_confirm_single' => 'Вы действительно хотите удалить эту страницу? Это также удалит имеющиеся подстраницы.', - 'new' => 'Новая страница', - 'add_subpage' => 'Добавить подстраницу', - 'invalid_url' => 'Некорректный формат URL. URL должен начинаться с прямого слеша и может содержать цифры, латинские буквы и следующие символы: _-/.', - 'url_not_unique' => 'Это URL уже используется другой страницей.', - 'layout' => 'Шаблон', - 'layouts_not_found' => 'Шаблоны не найдены', - 'saved' => 'Страница была успешно сохранена.', - 'tab' => 'Страницы', - 'manage_pages' => 'Управление страницами', - 'manage_menus' => 'Управление меню', - 'access_snippets' => 'Доступ к сниппетами', - 'manage_content' => 'Управление содержимым', - ], - 'menu' => [ - 'menu_label' => 'Меню', - 'delete_confirmation' => 'Вы действительно хотите удалить выбранные пункты меню?', - 'no_records' => 'Меню не найдены', - 'new' => 'Новое меню', - 'new_name' => 'Новое меню', - 'new_code' => 'novoe-menyu', - 'delete_confirm_single' => 'Вы действительно хотите удалить это меню?', - 'saved' => 'Меню было успешно сохранено.', - 'name' => 'Имя', - 'code' => 'Код', - 'items' => 'Пункты меню', - 'add_subitem' => 'Добавить подменю', - 'code_required' => 'Поле Код обязательно', - 'invalid_code' => 'Некорректный формат Кода. Код может содержать цифры, латинские буквы и следующие символы: _-/', - ], - 'menuitem' => [ - 'title' => 'Название', - 'editor_title' => 'Редактировать пункт меню', - 'type' => 'Тип', - 'allow_nested_items' => 'Разрешить вложенные', - 'allow_nested_items_comment' => 'Вложенные пункты могут быть динамически сгенерированы статической страницей или другими типами элементов', - 'url' => 'URL', - 'reference' => 'Ссылка', - 'title_required' => 'Название обязательно', - 'unknown_type' => 'Неизвестный тип меню', - 'unnamed' => 'Безымянный пункт', - 'add_item' => 'Добавить пункт (i)', - 'new_item' => 'Новый пункт', - 'replace' => 'Заменять этот пункт его сгенерированными потомками', - 'replace_comment' => 'Отметьте для переноса генерируемых пунктов меню на один уровень с этим пунктом. Сам этот пункт будет скрыт.', - 'cms_page' => 'Страницы CMS', - 'cms_page_comment' => 'Выберите открываемую по клику страницу.', - 'reference_required' => 'Необходима ссылка для пункта меню.', - 'url_required' => 'Необходим URL', - 'cms_page_required' => 'Пожалуйста, выберите страницу CMS', - 'code' => 'Код', - 'code_comment' => 'Введите код пункта меню, если хотите иметь к нему доступ через API.', - ], - 'content' => [ - 'menu_label' => 'Содержимое', - 'cant_save_to_dir' => 'Сохранение файлов содержимого в директорию static-pages запрещено.', - ], - 'sidebar' => [ - 'add' => 'Добавить', - 'search' => 'Поиск...', - ], - 'object' => [ - 'invalid_type' => 'Неизвестный тип объекта', - 'not_found' => 'Запрашиваемый объект не найден.', - ], - 'editor' => [ - 'title' => 'Название', - 'new_title' => 'Название новой страницы', - 'content' => 'Содержимое', - 'url' => 'URL', - 'filename' => 'Имя Файла', - 'layout' => 'Шаблон', - 'description' => 'Описание', - 'preview' => 'Предпросмотр', - 'enter_fullscreen' => 'Войти в полноэкранный режим', - 'exit_fullscreen' => 'Выйти из полноэкранного режима', - 'hidden' => 'Скрытый', - 'hidden_comment' => 'Скрытые страницы доступны только вошедшим администраторам.', - 'navigation_hidden' => 'Спрятать в навигации', - 'navigation_hidden_comment' => 'Отметьте, чтобы скрыть эту страницу в генерируемых меню и хлебных крошках.', - ], - 'snippet' => [ - 'partialtab' => 'Сниппеты', - 'code' => 'Код сниппета', - 'code_comment' => 'Введите код, чтобы сделать этот фрагмент доступным как сниппет в расширении Страницы.', - 'name' => 'Имя', - 'name_comment' => 'Имя отображается в списке сниппетов расширения Страницы и на странице, когда сниппет добавлен.', - 'no_records' => 'Сниппеты не найдены', - 'menu_label' => 'Сниппеты', - 'column_property' => 'Название свойства', - 'column_type' => 'Тип', - 'column_code' => 'Код', - 'column_default' => 'По умолчанию', - 'column_options' => 'Опции', - 'column_type_string' => 'Строка', - 'column_type_checkbox' => 'Чекбокс', - 'column_type_dropdown' => 'Выпадающий список', - 'not_found' => 'Сниппет с запрошенным кодом %s не найден в теме.', - 'property_format_error' => 'Код свойства должен начинаться с латинской буквы и может содержать только латинские буквы и цифры', - 'invalid_option_key' => 'Некорректный ключ выпадающего списка: %s. Ключ может содержать только цифры, латинские буквы и символы _ и -', - ], - 'component' => [ - 'static_page_description' => 'Выводит страницу в CMS шаблоне.', - 'static_menu_description' => 'Выводит меню в CMS шаблоне.', - 'static_menu_menu_code' => 'Укажите код меню, которое должно быть показано', - 'static_breadcrumbs_description' => 'Выводит хлебные крошки для страницы.', - ], + 'plugin' => [ + 'name' => 'Страницы', + 'description' => 'Страницы и меню.', + ], + 'page' => [ + 'menu_label' => 'Страницы', + 'template_title' => '%s Страницы', + 'delete_confirmation' => 'Вы действительно хотите удалить выбранные страницы? Это также удалит имеющиеся подстраницы.', + 'no_records' => 'Страниц не найдено', + 'delete_confirm_single' => 'Вы действительно хотите удалить эту страницу? Это также удалит имеющиеся подстраницы.', + 'new' => 'Новая страница', + 'add_subpage' => 'Добавить подстраницу', + 'invalid_url' => 'Некорректный формат URL. URL должен начинаться с прямого слеша и может содержать цифры, латинские буквы и следующие символы: _-/.', + 'url_not_unique' => 'Это URL уже используется другой страницей.', + 'layout' => 'Шаблон', + 'layouts_not_found' => 'Шаблоны не найдены', + 'saved' => 'Страница была успешно сохранена.', + 'tab' => 'Страницы', + 'manage_pages' => 'Управление страницами', + 'manage_menus' => 'Управление меню', + 'access_snippets' => 'Доступ к сниппетами', + 'manage_content' => 'Управление содержимым', + ], + 'menu' => [ + 'menu_label' => 'Меню', + 'delete_confirmation' => 'Вы действительно хотите удалить выбранные пункты меню?', + 'no_records' => 'Меню не найдены', + 'new' => 'Новое меню', + 'new_name' => 'Новое меню', + 'new_code' => 'novoe-menyu', + 'delete_confirm_single' => 'Вы действительно хотите удалить это меню?', + 'saved' => 'Меню было успешно сохранено.', + 'name' => 'Имя', + 'code' => 'Код', + 'items' => 'Пункты меню', + 'add_subitem' => 'Добавить подменю', + 'code_required' => 'Поле Код обязательно', + 'invalid_code' => 'Некорректный формат Кода. Код может содержать цифры, латинские буквы и следующие символы: _-/', + ], + 'menuitem' => [ + 'title' => 'Название', + 'editor_title' => 'Редактировать пункт меню', + 'type' => 'Тип', + 'allow_nested_items' => 'Разрешить вложенные', + 'allow_nested_items_comment' => 'Вложенные пункты могут быть динамически сгенерированы статической страницей или другими типами элементов', + 'url' => 'URL', + 'reference' => 'Ссылка', + 'title_required' => 'Название обязательно', + 'unknown_type' => 'Неизвестный тип меню', + 'unnamed' => 'Безымянный пункт', + 'add_item' => 'Добавить пункт (i)', + 'new_item' => 'Новый пункт', + 'replace' => 'Заменять этот пункт его сгенерированными потомками', + 'replace_comment' => 'Отметьте для переноса генерируемых пунктов меню на один уровень с этим пунктом. Сам этот пункт будет скрыт.', + 'cms_page' => 'Страницы CMS', + 'cms_page_comment' => 'Выберите открываемую по клику страницу.', + 'reference_required' => 'Необходима ссылка для пункта меню.', + 'url_required' => 'Необходим URL', + 'cms_page_required' => 'Пожалуйста, выберите страницу CMS', + 'code' => 'Код', + 'code_comment' => 'Введите код пункта меню, если хотите иметь к нему доступ через API.', + ], + 'content' => [ + 'menu_label' => 'Содержимое', + 'cant_save_to_dir' => 'Сохранение файлов содержимого в директорию static-pages запрещено.', + ], + 'sidebar' => [ + 'add' => 'Добавить', + ], + 'object' => [ + 'invalid_type' => 'Неизвестный тип объекта', + 'not_found' => 'Запрашиваемый объект не найден.', + ], + 'editor' => [ + 'title' => 'Название', + 'new_title' => 'Название новой страницы', + 'content' => 'Содержимое', + 'url' => 'URL', + 'filename' => 'Имя Файла', + 'layout' => 'Шаблон', + 'description' => 'Описание', + 'preview' => 'Предпросмотр', + 'enter_fullscreen' => 'Войти в полноэкранный режим', + 'exit_fullscreen' => 'Выйти из полноэкранного режима', + 'hidden' => 'Скрытый', + 'hidden_comment' => 'Скрытые страницы доступны только вошедшим администраторам.', + 'navigation_hidden' => 'Спрятать в навигации', + 'navigation_hidden_comment' => 'Отметьте, чтобы скрыть эту страницу в генерируемых меню и хлебных крошках.', + ], + 'snippet' => [ + 'menu_label' => 'Сниппеты', + ], + 'component' => [ + 'static_page_description' => 'Выводит страницу в CMS шаблоне.', + 'static_menu_description' => 'Выводит меню в CMS шаблоне.', + 'static_menu_menu_code' => 'Укажите код меню, которое должно быть показано', + 'static_breadcrumbs_description' => 'Выводит хлебные крошки для страницы.', + ], ]; diff --git a/lang/sk/lang.php b/lang/sk/lang.php index 8bfeb2a..e3977a4 100644 --- a/lang/sk/lang.php +++ b/lang/sk/lang.php @@ -1,141 +1,121 @@ - [ - 'name' => 'Stránky', - 'description' => 'Funkcie pre správu stránok a menu.', - ], - 'page' => [ - 'menu_label' => 'Stránky', - 'template_title' => '%s Stránky', - 'delete_confirmation' => 'Naozaj chcete odstrániť vybrané stránky? Ak existujú nejaké podstránky, budú taktiež odstránené.', - 'no_records' => 'Neboli nájdené žiadne stránky', - 'delete_confirm_single' => 'Naozaj chcete odstrániť túto stránku? Ak existujú nejaké podstránky, budú taktiež odstránené.', - 'new' => 'Nová stránka', - 'add_subpage' => 'Pridať podstránku', - 'invalid_url' => 'Neplatný formát URL adresy. URL by mala začínať symbolom lomítka a môže obsahovať číslice, latinské písmená a nasledujúce znaky: _- /.', - 'url_not_unique' => 'Túto URL adresu už používa iná stránka.', - 'layout' => 'Layout', - 'layouts_not_found' => 'Žiadne layouty neboli nájdené', - 'saved' => 'Stránka bola úspešne uložená.', - 'tab' => 'Stránky', - 'manage_pages' => 'Správa stránok', - 'manage_menus' => 'Správa menu', - 'access_snippets' => 'Správa snippetov', - 'manage_content' => 'Správa obsahu', - ], - 'menu' => [ - 'menu_label' => 'Menu', - 'delete_confirmation' => 'Naozaj chcete odstrániť vybrané menu?', - 'no_records' => 'Neboli nájdené žiadne položky', - 'new' => 'Nové menu', - 'new_name' => 'Nové menu', - 'new_code' => 'nove-menu', - 'delete_confirm_single' => 'Naozaj chcete odstrániť toto menu?', - 'saved' => 'Menu bolo úspešne uložené', - 'name' => 'Názov', - 'code' => 'Kód', - 'items' => 'Položky menu', - 'add_subitem' => 'Pridať vnorenú položku', - 'code_required' => 'Pole kód je povinné.', - 'invalid_code' => 'Neplatný formát kódu. Kód môže obsahovať číslice, latinské písmená a nasledujúce znaky: _-', - ], - 'menuitem' => [ - 'title' => 'Názov', - 'editor_title' => 'Upraviť položku menu', - 'type' => 'Typ', - 'allow_nested_items' => 'Povoliť vnorené položky', - 'allow_nested_items_comment' => 'Vnorené položky môžu byť automaticky generované statickou stránkou alebo niektorými ďalšími typmi položiek', - 'url' => 'URL adresa', - 'reference' => 'Odkaz', - 'search_placeholder' => 'Prehľadať všetky odkazy...', - 'title_required' => 'Názov je povinný', - 'unknown_type' => 'Neznámy typ položky menu', - 'unnamed' => 'Nepomenovaná položka menu', - 'add_item' => 'Pridať Položku', - 'new_item' => 'Nová položka menu', - 'replace' => 'Nahradiť túto položku jej generovanými vnorenými položkami', - 'replace_comment' => 'Zaškrtnite toto pole pokiaľ si prajete vnorené položky menu posunúť na rovnakú úroveň akú má táto položka. Samotná položka zostane skrytá.', - 'cms_page' => 'CMS stránka', - 'cms_page_comment' => 'Vyberte stránku, ktorá sa má otvoriť po kliknutí na položku v menu.', - 'reference_required' => 'Odkaz na položku menu je povinný.', - 'url_required' => 'Adresa URL je povinná', - 'cms_page_required' => 'Prosím vyberte CMS stránku', - 'display_tab' => 'Zobrazenie', - 'hidden' => 'Skrytá', - 'hidden_comment' => 'Skryť túto položku menu pre celú webovú stránku.', - 'attributes_tab' => 'Vlastnosti', - 'code' => 'Kód', - 'code_comment' => 'Zadajte kód položky menu ak k nej chcete pristupovať prostredníctvom API.', - 'css_class' => 'CSS trieda', - 'css_class_comment' => 'Zadajte názov CSS triedy, ktorá sa ma aplikovať pre túto položku menu.', - 'external_link' => 'Externý odkaz', - 'external_link_comment' => 'Otvoriť odkaz tejto položky menu v novom okne.', - 'static_page' => 'Statická stránka', - 'all_static_pages' => 'Všetky statické stránky' - ], - 'content' => [ - 'menu_label' => 'Obsah', - 'cant_save_to_dir' => 'Ukladanie súborov s obsahom do adresára statických stránok nie je povolené.', - ], - 'sidebar' => [ - 'add' => 'Pridať', - 'search' => 'Hľadať...', - ], - 'object' => [ - 'invalid_type' => 'Neznámy typ objektu', - 'not_found' => 'Požadovaný objekt nebol nájdený.', - ], - 'editor' => [ - 'title' => 'Názov', - 'new_title' => 'Názov novej stránky', - 'content' => 'Obsah', - 'url' => 'URL adresa', - 'filename' => 'Názov súboru', - 'layout' => 'Layout', - 'description' => 'Popis', - 'preview' => 'Náhľad', - 'enter_fullscreen' => 'Zapnúť režim celej obrazovky', - 'exit_fullscreen' => 'Vypnúť režim celej obrazovky', - 'hidden' => 'Skrytá', - 'hidden_comment' => 'Skryté stránky sú prístupné iba prihláseným používateľom.', - 'navigation_hidden' => 'Skryť v menu', - 'navigation_hidden_comment' => 'Začiarknutím tohto poľa skryjete túto stránku z automaticky generovaných menu a navigačnej cesty.', - ], - 'snippet' => [ - 'partialtab' => 'Snippet', - 'code' => 'Kód snippetu', - 'code_comment' => 'Zadajte kód, aby táto čiastková šablóna bola dostupná ako snippet v plugine statických stránok.', - 'name' => 'Názov', - 'name_comment' => 'Tento názov sa zobrazí v zozname snippetov v bočnom menu pluginu statických stránok a priamo na stránke, keď bude snippet pridaný.', - 'no_records' => 'Neboli nájdené žiadne snippety', - 'menu_label' => 'Snippety', - 'column_property' => 'Názov vlastnosti', - 'column_type' => 'Typ', - 'column_code' => 'Kód', - 'column_default' => 'Predvolená hodnota', - 'column_options' => 'Možnosti', - 'column_type_string' => 'Reťazec', - 'column_type_checkbox' => 'Zaškrtávacie pole', - 'column_type_dropdown' => 'Rozbaľovací zoznam', - 'not_found' => 'Snippet s požadovaným kódom :code nebol nájdený v téme.', - 'property_format_error' => 'Kód vlastnosti by mal začínať latinským písmenom a môže obsahovať len latinské písmená a číslice', - 'invalid_option_key' => 'Neplatný kľúč položky rozbaľovacieho zoznamu: :key. Kľúč položky rozbaľovacieho zoznamu môže obsahovať iba písmená, číslice a znaky: _-', - ], - 'component' => [ - 'static_page_name' => 'Statická stránka', - 'static_page_description' => 'Zobrazí obsah statickej stránky', - 'static_page_use_content_name' => 'Použiť pole obsah stránky', - 'static_page_use_content_description' => 'Ak nie je začiarknuté, sekcia obsahu sa nezobrazí pri úprave statickej stránky. Obsah stránky bude určený výhradne prostredníctvom zástupcov a premenných.', - 'static_page_default_name' => 'Predvolený layout', - 'static_page_default_description' => 'Nastaví tento layout ako predvolený pre nové stránky', - 'static_page_child_layout_name' => 'Layout podstránky', - 'static_page_child_layout_description' => 'Layout ktorý sa má použiť ako predvolený pre všetky nové podstránky', - 'static_menu_name' => 'Statické menu', - 'static_menu_description' => 'Zobrazí menu na stránke', - 'static_menu_code_name' => 'Menu', - 'static_menu_code_description' => 'Zadajte kód menu, ktoré má komponent zobraziť.', - 'static_breadcrumbs_name' => 'Statická navigačná cesta', - 'static_breadcrumbs_description' => 'Zobrazí navigačnú cestu na stránke.', - ] + [ + 'name' => 'Stránky', + 'description' => 'Funkcie pre správu stránok a menu.', + ], + 'page' => [ + 'menu_label' => 'Stránky', + 'template_title' => '%s Stránky', + 'delete_confirmation' => 'Naozaj chcete odstrániť vybrané stránky? Ak existujú nejaké podstránky, budú taktiež odstránené.', + 'no_records' => 'Neboli nájdené žiadne stránky', + 'delete_confirm_single' => 'Naozaj chcete odstrániť túto stránku? Ak existujú nejaké podstránky, budú taktiež odstránené.', + 'new' => 'Nová stránka', + 'add_subpage' => 'Pridať podstránku', + 'invalid_url' => 'Neplatný formát URL adresy. URL by mala začínať symbolom lomítka a môže obsahovať číslice, latinské písmená a nasledujúce znaky: _- /.', + 'url_not_unique' => 'Túto URL adresu už používa iná stránka.', + 'layout' => 'Layout', + 'layouts_not_found' => 'Žiadne layouty neboli nájdené', + 'saved' => 'Stránka bola úspešne uložená.', + 'tab' => 'Stránky', + 'manage_pages' => 'Správa stránok', + 'manage_menus' => 'Správa menu', + 'access_snippets' => 'Správa snippetov', + 'manage_content' => 'Správa obsahu', + ], + 'menu' => [ + 'menu_label' => 'Menu', + 'delete_confirmation' => 'Naozaj chcete odstrániť vybrané menu?', + 'no_records' => 'Neboli nájdené žiadne položky', + 'new' => 'Nové menu', + 'new_name' => 'Nové menu', + 'new_code' => 'nove-menu', + 'delete_confirm_single' => 'Naozaj chcete odstrániť toto menu?', + 'saved' => 'Menu bolo úspešne uložené', + 'name' => 'Názov', + 'code' => 'Kód', + 'items' => 'Položky menu', + 'add_subitem' => 'Pridať vnorenú položku', + 'code_required' => 'Pole kód je povinné.', + 'invalid_code' => 'Neplatný formát kódu. Kód môže obsahovať číslice, latinské písmená a nasledujúce znaky: _-', + ], + 'menuitem' => [ + 'title' => 'Názov', + 'editor_title' => 'Upraviť položku menu', + 'type' => 'Typ', + 'allow_nested_items' => 'Povoliť vnorené položky', + 'allow_nested_items_comment' => 'Vnorené položky môžu byť automaticky generované statickou stránkou alebo niektorými ďalšími typmi položiek', + 'url' => 'URL adresa', + 'reference' => 'Odkaz', + 'search_placeholder' => 'Prehľadať všetky odkazy...', + 'title_required' => 'Názov je povinný', + 'unknown_type' => 'Neznámy typ položky menu', + 'unnamed' => 'Nepomenovaná položka menu', + 'add_item' => 'Pridať Položku', + 'new_item' => 'Nová položka menu', + 'replace' => 'Nahradiť túto položku jej generovanými vnorenými položkami', + 'replace_comment' => 'Zaškrtnite toto pole pokiaľ si prajete vnorené položky menu posunúť na rovnakú úroveň akú má táto položka. Samotná položka zostane skrytá.', + 'cms_page' => 'CMS stránka', + 'cms_page_comment' => 'Vyberte stránku, ktorá sa má otvoriť po kliknutí na položku v menu.', + 'reference_required' => 'Odkaz na položku menu je povinný.', + 'url_required' => 'Adresa URL je povinná', + 'cms_page_required' => 'Prosím vyberte CMS stránku', + 'display_tab' => 'Zobrazenie', + 'hidden' => 'Skrytá', + 'hidden_comment' => 'Skryť túto položku menu pre celú webovú stránku.', + 'attributes_tab' => 'Vlastnosti', + 'code' => 'Kód', + 'code_comment' => 'Zadajte kód položky menu ak k nej chcete pristupovať prostredníctvom API.', + 'css_class' => 'CSS trieda', + 'css_class_comment' => 'Zadajte názov CSS triedy, ktorá sa ma aplikovať pre túto položku menu.', + 'external_link' => 'Externý odkaz', + 'external_link_comment' => 'Otvoriť odkaz tejto položky menu v novom okne.', + 'static_page' => 'Statická stránka', + 'all_static_pages' => 'Všetky statické stránky', + ], + 'content' => [ + 'menu_label' => 'Obsah', + 'cant_save_to_dir' => 'Ukladanie súborov s obsahom do adresára statických stránok nie je povolené.', + ], + 'sidebar' => [ + 'add' => 'Pridať', + ], + 'object' => [ + 'invalid_type' => 'Neznámy typ objektu', + 'not_found' => 'Požadovaný objekt nebol nájdený.', + ], + 'editor' => [ + 'title' => 'Názov', + 'new_title' => 'Názov novej stránky', + 'content' => 'Obsah', + 'url' => 'URL adresa', + 'filename' => 'Názov súboru', + 'layout' => 'Layout', + 'description' => 'Popis', + 'preview' => 'Náhľad', + 'enter_fullscreen' => 'Zapnúť režim celej obrazovky', + 'exit_fullscreen' => 'Vypnúť režim celej obrazovky', + 'hidden' => 'Skrytá', + 'hidden_comment' => 'Skryté stránky sú prístupné iba prihláseným používateľom.', + 'navigation_hidden' => 'Skryť v menu', + 'navigation_hidden_comment' => 'Začiarknutím tohto poľa skryjete túto stránku z automaticky generovaných menu a navigačnej cesty.', + ], + 'snippet' => [ + 'menu_label' => 'Snippety', + ], + 'component' => [ + 'static_page_name' => 'Statická stránka', + 'static_page_description' => 'Zobrazí obsah statickej stránky', + 'static_page_use_content_name' => 'Použiť pole obsah stránky', + 'static_page_use_content_description' => 'Ak nie je začiarknuté, sekcia obsahu sa nezobrazí pri úprave statickej stránky. Obsah stránky bude určený výhradne prostredníctvom zástupcov a premenných.', + 'static_page_default_name' => 'Predvolený layout', + 'static_page_default_description' => 'Nastaví tento layout ako predvolený pre nové stránky', + 'static_page_child_layout_name' => 'Layout podstránky', + 'static_page_child_layout_description' => 'Layout ktorý sa má použiť ako predvolený pre všetky nové podstránky', + 'static_menu_name' => 'Statické menu', + 'static_menu_description' => 'Zobrazí menu na stránke', + 'static_menu_code_name' => 'Menu', + 'static_menu_code_description' => 'Zadajte kód menu, ktoré má komponent zobraziť.', + 'static_breadcrumbs_name' => 'Statická navigačná cesta', + 'static_breadcrumbs_description' => 'Zobrazí navigačnú cestu na stránke.', + ], ]; diff --git a/lang/sl/lang.php b/lang/sl/lang.php index d15cc0e..ed24298 100644 --- a/lang/sl/lang.php +++ b/lang/sl/lang.php @@ -1,145 +1,125 @@ - [ - 'name' => 'Strani', - 'description' => 'Ustvarjanje strani in menijev.', - ], - 'page' => [ - 'menu_label' => 'Strani', - 'template_title' => '%s strani', - 'delete_confirmation' => 'Ali ste prepričani, da želite izbrisati izbrane strani? S tem boste izbrisali tudi njihove podstrani, če obstajajo.', - 'no_records' => 'Ni najdenih strani.', - 'delete_confirm_single' => 'Ali ste prepričani, da želite izbrisati to stran? S tem boste izbrisali tudi njene podstrani, če obstajajo.', - 'new' => 'Nova stran', - 'add_subpage' => 'Dodaj podstran', - 'invalid_url' => 'Neveljavna oblika URL formata. URL se mora začeti z znakom za desno poševnico in lahko vsebuje številke, latinične črke in naslednje znake: _-/.', - 'url_not_unique' => 'To URL povezavo uporablja že ena od drugih strani.', - 'layout' => 'Postavitev', - 'layouts_not_found' => 'Ni najdenih postavitev.', - 'saved' => 'Stran je bila uspešno shranjena.', - 'tab' => 'Strani', - 'manage_pages' => 'Upravljanje statičnih strani', - 'manage_menus' => 'Upravljanje statičnih menijev', - 'access_snippets' => 'Dostop do gradnikov', - 'manage_content' => 'Upravljanje statičnih vsebin', - ], - 'menu' => [ - 'menu_label' => 'Meniji', - 'delete_confirmation' => 'Ali ste prepričani, da želite izbrisati izbrane menije?', - 'no_records' => 'Ni najdenih menijev.', - 'new' => 'Nov meni', - 'new_name' => 'Nov meni', - 'new_code' => 'nov-meni', - 'delete_confirm_single' => 'Ali ste prepričani, da želite izbrisati ta meni?', - 'saved' => 'Meni je uspešno shranjen.', - 'name' => 'Ime', - 'code' => 'Koda', - 'items' => 'Elementi menija', - 'add_subitem' => 'Dodaj pod-element', - 'code_required' => 'Koda je obvezna.', - 'invalid_code' => 'Neveljaven format kode. Koda lahko vsebuje številke, latinične črke in naslednje znake: _-', - ], - 'menuitem' => [ - 'title' => 'Naslov', - 'editor_title' => 'Element menija', - 'type' => 'Vrsta', - 'allow_nested_items' => 'Dovoli gnezdene elemente', - 'allow_nested_items_comment' => 'Gnezdene elemente lahko dinamično ustvarijo statične strani in nekatere druge vrste elementov.', - 'url' => 'URL', - 'reference' => 'Referenca', - 'search_placeholder' => 'Išči po vseh referencah...', - 'title_required' => 'Naslov je obvezen', - 'unknown_type' => 'Neznana vrsta elementa menija.', - 'unnamed' => 'Neimenovan element menija.', - 'add_item' => 'Dodaj element', - 'new_item' => 'Nov element menija', - 'replace' => 'Zamenjaj ta element z njegovimi pod-elementi', - 'replace_comment' => 'Z uporabo tega kvadratka lahko potisnete ustvarjene elemente menija na njegov nivo, ob tem pa bo le-ta element postal skrit.', - 'cms_page' => 'CMS stran', - 'cms_page_comment' => 'Izberite stran, ki naj se odpre ob kliku na element menija.', - 'reference_required' => 'Referenca elementa menija je obvezna.', - 'url_required' => 'Povezava URL je obvezna.', - 'cms_page_required' => 'Prosimo, izberite CMS stran.', - 'display_tab' => 'Prikaz', - 'hidden' => 'Skrito', - 'hidden_comment' => 'Element menija na spletni strani naj ne bo prikazan.', - 'attributes_tab' => 'Atributi', - 'code' => 'Koda', - 'code_comment' => 'Vnesite kodo za element menija, če želite do njega omogočiti API dostop.', - 'css_class' => 'CSS razred', - 'css_class_comment' => 'Vnesite ime CSS razreda, če želite elementu omogočiti videz po meri.', - 'external_link' => 'Zunanja povezava', - 'external_link_comment' => 'Povezava za ta element menija naj se odpre v novem oknu.', - 'static_page' => 'Statična stran', - 'all_static_pages' => 'Vse statične strani', - ], - 'content' => [ - 'menu_label' => 'Vsebine', - 'saved' => 'Vsebina je bila uspešno shranjena.', - 'cant_save_to_dir' => 'Shranjevanje datotek z vsebino v mapo statičnih strani ni dovoljeno.', - ], - 'sidebar' => [ - 'add' => 'Dodaj', - 'search' => 'Išči...', - ], - 'object' => [ - 'invalid_type' => 'Neznana vrsta objekta', - 'unauthorized_type' => 'Nimate pooblastil za upravljanje :type objektov.', - 'not_found' => 'Zahtevanega objekta ni mogoče najti.', - ], - 'editor' => [ - 'title' => 'Naslov', - 'new_title' => 'Nov naslov strani', - 'content' => 'Vsebina', - 'url' => 'URL', - 'filename' => 'Ime datoteke', - 'layout' => 'Postavitev', - 'description' => 'Opis', - 'preview' => 'Predogled', - 'enter_fullscreen' => 'Celozaslonski način', - 'exit_fullscreen' => 'Zapri celozaslonski način', - 'hidden' => 'Skrita stran', - 'hidden_comment' => 'Skrite strani so dostopne le prijavljenim administratorjem.', - 'navigation_hidden' => 'Skrita v navigaciji', - 'navigation_hidden_comment' => 'Skrite strani v navigaciji se v menijih in povezavah ne prikažejo.', - ], - 'snippet' => [ - 'partialtab' => 'Gradniki', - 'code' => 'Koda gradnika', - 'code_comment' => 'Vnesite kodo, s katero bo ta predloga na voljo kot gradnik v vtičniku za statične strani.', - 'name' => 'Ime', - 'name_comment' => 'Ime se prikaže na seznamu gradnikov, na stranskem meniju statičnih strani in na vsebini strani, na katero je dodan gradnik.', - 'no_records' => 'Ni najdenih gradnikov.', - 'menu_label' => 'Gradniki', - 'column_property' => 'Naslov lastnosti', - 'column_type' => 'Tip', - 'column_code' => 'Koda', - 'column_default' => 'Privzeto', - 'column_options' => 'Možnosti', - 'column_type_string' => 'Niz znakov', - 'column_type_checkbox' => 'Potrditveno polje', - 'column_type_dropdown' => 'Spustni meni', - 'not_found' => 'Gradnika s kodo :code v trenutni temi ni mogoče najti.', - 'property_format_error' => 'Koda lastnosti se mora začeti z latinično črko in lahko vsebuje samo latinične črke in številke.', - 'invalid_option_key' => 'Neveljaven ključ elementa spustnega seznama: :key. Ključi lahko vsebujejo le številke, latinične črke in znaka _ ter -.', - ], - 'component' => [ - 'static_page_name' => 'Statična stran', - 'static_page_description' => 'Ustvari statično stran na CMS postavitvi.', - 'static_page_use_content_name' => 'Uporabi polje z vsebino strani', - 'static_page_use_content_description' => 'Če ni označeno, se razdelek z vsebino pri urejanju statične strani ne bo prikazal. Vsebina strani bo določena izključno prek vsebinskih okvirov in spremenljivk.', - 'static_page_default_name' => 'Privzeta postavitev', - 'static_page_default_description' => 'To postavitev definira kot privzeto za nove strani.', - 'static_page_child_layout_name' => 'Postavitev podstrani', - 'static_page_child_layout_description' => 'To postavitev definira kot privzeto za vse nove podstrani.', - 'static_menu_name' => 'Statični meni', - 'static_menu_description' => 'Ustvari meni na CMS postavitvi.', - 'static_menu_code_name' => 'Meni', - 'static_menu_code_description' => 'Določite kodo menija, ki ga mora sestaviti komponenta.', - 'static_breadcrumbs_name' => 'Statične povezave', - 'static_breadcrumbs_description' => 'Ustvari povezave za statično stran.', - 'child_pages_name' => 'Podstrani', - 'child_pages_description' => 'Prikaže seznam podstrani za trenutno stran.', - ], + [ + 'name' => 'Strani', + 'description' => 'Ustvarjanje strani in menijev.', + ], + 'page' => [ + 'menu_label' => 'Strani', + 'template_title' => '%s strani', + 'delete_confirmation' => 'Ali ste prepričani, da želite izbrisati izbrane strani? S tem boste izbrisali tudi njihove podstrani, če obstajajo.', + 'no_records' => 'Ni najdenih strani.', + 'delete_confirm_single' => 'Ali ste prepričani, da želite izbrisati to stran? S tem boste izbrisali tudi njene podstrani, če obstajajo.', + 'new' => 'Nova stran', + 'add_subpage' => 'Dodaj podstran', + 'invalid_url' => 'Neveljavna oblika URL formata. URL se mora začeti z znakom za desno poševnico in lahko vsebuje številke, latinične črke in naslednje znake: _-/.', + 'url_not_unique' => 'To URL povezavo uporablja že ena od drugih strani.', + 'layout' => 'Postavitev', + 'layouts_not_found' => 'Ni najdenih postavitev.', + 'saved' => 'Stran je bila uspešno shranjena.', + 'tab' => 'Strani', + 'manage_pages' => 'Upravljanje statičnih strani', + 'manage_menus' => 'Upravljanje statičnih menijev', + 'access_snippets' => 'Dostop do gradnikov', + 'manage_content' => 'Upravljanje statičnih vsebin', + ], + 'menu' => [ + 'menu_label' => 'Meniji', + 'delete_confirmation' => 'Ali ste prepričani, da želite izbrisati izbrane menije?', + 'no_records' => 'Ni najdenih menijev.', + 'new' => 'Nov meni', + 'new_name' => 'Nov meni', + 'new_code' => 'nov-meni', + 'delete_confirm_single' => 'Ali ste prepričani, da želite izbrisati ta meni?', + 'saved' => 'Meni je uspešno shranjen.', + 'name' => 'Ime', + 'code' => 'Koda', + 'items' => 'Elementi menija', + 'add_subitem' => 'Dodaj pod-element', + 'code_required' => 'Koda je obvezna.', + 'invalid_code' => 'Neveljaven format kode. Koda lahko vsebuje številke, latinične črke in naslednje znake: _-', + ], + 'menuitem' => [ + 'title' => 'Naslov', + 'editor_title' => 'Element menija', + 'type' => 'Vrsta', + 'allow_nested_items' => 'Dovoli gnezdene elemente', + 'allow_nested_items_comment' => 'Gnezdene elemente lahko dinamično ustvarijo statične strani in nekatere druge vrste elementov.', + 'url' => 'URL', + 'reference' => 'Referenca', + 'search_placeholder' => 'Išči po vseh referencah...', + 'title_required' => 'Naslov je obvezen', + 'unknown_type' => 'Neznana vrsta elementa menija.', + 'unnamed' => 'Neimenovan element menija.', + 'add_item' => 'Dodaj element', + 'new_item' => 'Nov element menija', + 'replace' => 'Zamenjaj ta element z njegovimi pod-elementi', + 'replace_comment' => 'Z uporabo tega kvadratka lahko potisnete ustvarjene elemente menija na njegov nivo, ob tem pa bo le-ta element postal skrit.', + 'cms_page' => 'CMS stran', + 'cms_page_comment' => 'Izberite stran, ki naj se odpre ob kliku na element menija.', + 'reference_required' => 'Referenca elementa menija je obvezna.', + 'url_required' => 'Povezava URL je obvezna.', + 'cms_page_required' => 'Prosimo, izberite CMS stran.', + 'display_tab' => 'Prikaz', + 'hidden' => 'Skrito', + 'hidden_comment' => 'Element menija na spletni strani naj ne bo prikazan.', + 'attributes_tab' => 'Atributi', + 'code' => 'Koda', + 'code_comment' => 'Vnesite kodo za element menija, če želite do njega omogočiti API dostop.', + 'css_class' => 'CSS razred', + 'css_class_comment' => 'Vnesite ime CSS razreda, če želite elementu omogočiti videz po meri.', + 'external_link' => 'Zunanja povezava', + 'external_link_comment' => 'Povezava za ta element menija naj se odpre v novem oknu.', + 'static_page' => 'Statična stran', + 'all_static_pages' => 'Vse statične strani', + ], + 'content' => [ + 'menu_label' => 'Vsebine', + 'saved' => 'Vsebina je bila uspešno shranjena.', + 'cant_save_to_dir' => 'Shranjevanje datotek z vsebino v mapo statičnih strani ni dovoljeno.', + ], + 'sidebar' => [ + 'add' => 'Dodaj', + ], + 'object' => [ + 'invalid_type' => 'Neznana vrsta objekta', + 'unauthorized_type' => 'Nimate pooblastil za upravljanje :type objektov.', + 'not_found' => 'Zahtevanega objekta ni mogoče najti.', + ], + 'editor' => [ + 'title' => 'Naslov', + 'new_title' => 'Nov naslov strani', + 'content' => 'Vsebina', + 'url' => 'URL', + 'filename' => 'Ime datoteke', + 'layout' => 'Postavitev', + 'description' => 'Opis', + 'preview' => 'Predogled', + 'enter_fullscreen' => 'Celozaslonski način', + 'exit_fullscreen' => 'Zapri celozaslonski način', + 'hidden' => 'Skrita stran', + 'hidden_comment' => 'Skrite strani so dostopne le prijavljenim administratorjem.', + 'navigation_hidden' => 'Skrita v navigaciji', + 'navigation_hidden_comment' => 'Skrite strani v navigaciji se v menijih in povezavah ne prikažejo.', + ], + 'snippet' => [ + 'menu_label' => 'Gradniki', + ], + 'component' => [ + 'static_page_name' => 'Statična stran', + 'static_page_description' => 'Ustvari statično stran na CMS postavitvi.', + 'static_page_use_content_name' => 'Uporabi polje z vsebino strani', + 'static_page_use_content_description' => 'Če ni označeno, se razdelek z vsebino pri urejanju statične strani ne bo prikazal. Vsebina strani bo določena izključno prek vsebinskih okvirov in spremenljivk.', + 'static_page_default_name' => 'Privzeta postavitev', + 'static_page_default_description' => 'To postavitev definira kot privzeto za nove strani.', + 'static_page_child_layout_name' => 'Postavitev podstrani', + 'static_page_child_layout_description' => 'To postavitev definira kot privzeto za vse nove podstrani.', + 'static_menu_name' => 'Statični meni', + 'static_menu_description' => 'Ustvari meni na CMS postavitvi.', + 'static_menu_code_name' => 'Meni', + 'static_menu_code_description' => 'Določite kodo menija, ki ga mora sestaviti komponenta.', + 'static_breadcrumbs_name' => 'Statične povezave', + 'static_breadcrumbs_description' => 'Ustvari povezave za statično stran.', + 'child_pages_name' => 'Podstrani', + 'child_pages_description' => 'Prikaže seznam podstrani za trenutno stran.', + ], ]; diff --git a/lang/sv/lang.php b/lang/sv/lang.php index 8e09e33..496e468 100644 --- a/lang/sv/lang.php +++ b/lang/sv/lang.php @@ -1,115 +1,94 @@ - [ - 'name' => 'Sidor', - 'description' => 'Sidor & menyer.', - ], - 'page' => [ - 'menu_label' => 'Sidor', - 'template_title' => '%s Sidor', - 'delete_confirmation' => 'Vill du verkligen ta bort de valda sidorna? Detta kommer också ta bort undersidorna, ifall det finns några.', - 'no_records' => 'Inga sidor hittades', - 'delete_confirm_single' => 'Vill du verkligen ta bort den valda sidan? Detta kommer också ta bort sidans undersidor, ifall det finns några.', - 'new' => 'Ny sida', - 'add_subpage' => 'Lägg till undersida', - 'invalid_url' => 'Ogiltigt format på URL. URL:en ska börja med slash och kan innehålla siffror, latinska bokstäver och följande symboler: _-/', - 'url_not_unique' => 'Denna URL används redan av en annan sida.', - 'layout' => 'Layout', - 'layouts_not_found' => 'Layouter kan inte hittas', - 'saved' => 'Sidan har sparats.', - 'tab' => 'Sidor', - 'manage_pages' => 'Hantera statiska sidor', - 'manage_menus' => 'Hantera statiska menyer', - 'access_snippets' => 'Hantera stumpar', - 'manage_content' => 'Hantera statiskt innehåll' - ], - 'menu' => [ - 'menu_label' => 'Menyer', - 'delete_confirmation' => 'Vill du verkligen ta bort valda de menyerna?', - 'no_records' => 'Inga menyer kunde finnas', - 'new' => 'Ny meny', - 'new_name' => 'Ny meny', - 'new_code' => 'ny-meny', - 'delete_confirm_single' => 'Vill du verkligen ta bort denna menyn?', - 'saved' => 'Menyn har sparats.', - 'name' => 'Namn', - 'code' => 'Kod', - 'items' => 'Menyföremål', - 'add_subitem' => 'Lägg till underföremål', - 'no_records' => 'Inga föremål kunde finnas', - 'code_required' => 'Koden är obligatorisk', - 'invalid_code' => 'Ogiltigt kodformat. Koden kan innehålla siffror, latinska bokstäver och följande symboler: _-' - ], - 'menuitem' => [ - 'title' => 'Rubrik', - 'editor_title' => 'Redigera menyföremål', - 'type' => 'Typ', - 'allow_nested_items' => 'Tillåt underliggande föremål', - 'allow_nested_items_comment' => 'Underliggande föremål kan skapas dynamiskt av en etatisk sida och några andra föremålstyper', - 'url' => 'URL', - 'reference' => 'Referens', - 'title_required' => 'Rubriken är obligatorisk', - 'unknown_type' => 'Okänd menyföremålstyp', - 'unnamed' => 'Namnlöst menyföremål', - 'add_item' => 'Lägg till föremål', - 'new_item' => 'Nytt menyföremål', - 'replace' => 'Ersätt detta föremål med dens skapade underföremål', - 'replace_comment' => 'Använd denna kryssruta för att föra skapade menyföremål till samma nivå som detta föremålet. Detta föremålet kommer att gömmas.', - 'cms_page' => 'CMS-sida', - 'cms_page_comment' => 'Välj en sida som ska öppnas när menyföremålet klickas.', - 'reference_required' => 'Menyföremålets referens är obligatorisk.', - 'url_required' => 'URL:en är obligatorisk', - 'cms_page_required' => 'Vänligen välj en CMS-sida', - 'code' => 'Kod', - 'code_comment' => 'Fyll i menyföremålets kod om du vill få tillgång till det i API:t.' - ], - 'content' => [ - 'menu_label' => 'Innehåll', - 'cant_save_to_dir' => 'Att sparar innehållsfiler till mappen för statiska sidor är inte tillåtet.' - ], - 'sidebar' => [ - 'add' => 'Lägg till', - 'search' => 'Sök...' - ], - 'object' => [ - 'invalid_type' => 'Ogiltig objekttyp', - 'not_found' => 'Det begärda objektet kunde inte finnas.' - ], - 'editor' => [ - 'title' => 'Rubrik', - 'new_title' => 'Ny sidrubrik', - 'content' => 'Innehåll', - 'url' => 'URL', - 'filename' => 'Filnamn', - 'layout' => 'Layout', - 'description' => 'Beskrivning', - 'preview' => 'Förhandsgranska', - 'enter_fullscreen' => 'Gå in i fullskärmsläge', - 'exit_fullscreen' => 'Gå ut ur fullskärmsläge', - 'hidden' => 'Gömd', - 'hidden_comment' => 'Gömda sidor är bara tillgängliga för inloggande back-endanvändare.', - 'navigation_hidden' => 'Göm i navigation', - 'navigation_hidden_comment' => 'Fyll i denna rutan för att gömma sidan från automatiskt skapade menyer och sökvägar.', - ], - 'snippet' => [ - 'partialtab' => 'Stump', - 'code' => 'Stumpkod', - 'code_comment' => 'Skriv in en kod som gör att denna sidurklipp är tillgänglig som en stump i tillägget för statiska sidor.', - 'name' => 'Namn', - 'name_comment' => 'Namnet visas i listan med stumpar i sidopanelen och på en sida när stumpen är tillagd.', - 'no_records' => 'Inga stumpar hittades', - 'menu_label' => 'Stumpar', - 'column_property' => 'Egenskapsrubrik', - 'column_type' => 'Typ', - 'column_code' => 'Kod', - 'column_default' => 'Standard', - 'column_options' => 'Alternativ', - 'column_type_string' => 'Sträng', - 'column_type_checkbox' => 'Kryssruta', - 'column_type_dropdown' => 'Rullgardinsmeny', - 'not_found' => 'En stump med den begärda koden :code kunde inte hittas i temat.', - 'property_format_error' => 'Egenskapskoden ska börja med en latisk bokstav kan bara innehålla latinska bokstäver samt siffror', - 'invalid_option_key' => 'Nyckeln: %s, i Rullgardinsmenyn är ogiltig. Alternativnycklarna kan bara innehålla siffror, latinska bokstäver och karaktärerna _ samt -' - ] + [ + 'name' => 'Sidor', + 'description' => 'Sidor & menyer.', + ], + 'page' => [ + 'menu_label' => 'Sidor', + 'template_title' => '%s Sidor', + 'delete_confirmation' => 'Vill du verkligen ta bort de valda sidorna? Detta kommer också ta bort undersidorna, ifall det finns några.', + 'no_records' => 'Inga sidor hittades', + 'delete_confirm_single' => 'Vill du verkligen ta bort den valda sidan? Detta kommer också ta bort sidans undersidor, ifall det finns några.', + 'new' => 'Ny sida', + 'add_subpage' => 'Lägg till undersida', + 'invalid_url' => 'Ogiltigt format på URL. URL:en ska börja med slash och kan innehålla siffror, latinska bokstäver och följande symboler: _-/', + 'url_not_unique' => 'Denna URL används redan av en annan sida.', + 'layout' => 'Layout', + 'layouts_not_found' => 'Layouter kan inte hittas', + 'saved' => 'Sidan har sparats.', + 'tab' => 'Sidor', + 'manage_pages' => 'Hantera statiska sidor', + 'manage_menus' => 'Hantera statiska menyer', + 'access_snippets' => 'Hantera stumpar', + 'manage_content' => 'Hantera statiskt innehåll', + ], + 'menu' => [ + 'menu_label' => 'Menyer', + 'delete_confirmation' => 'Vill du verkligen ta bort valda de menyerna?', + 'no_records' => 'Inga föremål kunde finnas', + 'new' => 'Ny meny', + 'new_name' => 'Ny meny', + 'new_code' => 'ny-meny', + 'delete_confirm_single' => 'Vill du verkligen ta bort denna menyn?', + 'saved' => 'Menyn har sparats.', + 'name' => 'Namn', + 'code' => 'Kod', + 'items' => 'Menyföremål', + 'add_subitem' => 'Lägg till underföremål', + 'code_required' => 'Koden är obligatorisk', + 'invalid_code' => 'Ogiltigt kodformat. Koden kan innehålla siffror, latinska bokstäver och följande symboler: _-', + ], + 'menuitem' => [ + 'title' => 'Rubrik', + 'editor_title' => 'Redigera menyföremål', + 'type' => 'Typ', + 'allow_nested_items' => 'Tillåt underliggande föremål', + 'allow_nested_items_comment' => 'Underliggande föremål kan skapas dynamiskt av en etatisk sida och några andra föremålstyper', + 'url' => 'URL', + 'reference' => 'Referens', + 'title_required' => 'Rubriken är obligatorisk', + 'unknown_type' => 'Okänd menyföremålstyp', + 'unnamed' => 'Namnlöst menyföremål', + 'add_item' => 'Lägg till föremål', + 'new_item' => 'Nytt menyföremål', + 'replace' => 'Ersätt detta föremål med dens skapade underföremål', + 'replace_comment' => 'Använd denna kryssruta för att föra skapade menyföremål till samma nivå som detta föremålet. Detta föremålet kommer att gömmas.', + 'cms_page' => 'CMS-sida', + 'cms_page_comment' => 'Välj en sida som ska öppnas när menyföremålet klickas.', + 'reference_required' => 'Menyföremålets referens är obligatorisk.', + 'url_required' => 'URL:en är obligatorisk', + 'cms_page_required' => 'Vänligen välj en CMS-sida', + 'code' => 'Kod', + 'code_comment' => 'Fyll i menyföremålets kod om du vill få tillgång till det i API:t.', + ], + 'content' => [ + 'menu_label' => 'Innehåll', + 'cant_save_to_dir' => 'Att sparar innehållsfiler till mappen för statiska sidor är inte tillåtet.', + ], + 'sidebar' => [ + 'add' => 'Lägg till', + ], + 'object' => [ + 'invalid_type' => 'Ogiltig objekttyp', + 'not_found' => 'Det begärda objektet kunde inte finnas.', + ], + 'editor' => [ + 'title' => 'Rubrik', + 'new_title' => 'Ny sidrubrik', + 'content' => 'Innehåll', + 'url' => 'URL', + 'filename' => 'Filnamn', + 'layout' => 'Layout', + 'description' => 'Beskrivning', + 'preview' => 'Förhandsgranska', + 'enter_fullscreen' => 'Gå in i fullskärmsläge', + 'exit_fullscreen' => 'Gå ut ur fullskärmsläge', + 'hidden' => 'Gömd', + 'hidden_comment' => 'Gömda sidor är bara tillgängliga för inloggande back-endanvändare.', + 'navigation_hidden' => 'Göm i navigation', + 'navigation_hidden_comment' => 'Fyll i denna rutan för att gömma sidan från automatiskt skapade menyer och sökvägar.', + ], + 'snippet' => [ + 'menu_label' => 'Stumpar', + ], ]; diff --git a/lang/tr/lang.php b/lang/tr/lang.php index 6f0be12..f910697 100644 --- a/lang/tr/lang.php +++ b/lang/tr/lang.php @@ -1,141 +1,121 @@ - [ - 'name' => 'Sayfalar', - 'description' => 'Sayfalar & menüler modülü.', - ], - 'page' => [ - 'menu_label' => 'Sayfalar', - 'template_title' => '%s Sayfalar', - 'delete_confirmation' => 'Seçili sayfaları silmek istiyor musunuz? Alt sayfalar da silinecektir.', - 'no_records' => 'Sayfa bulunamadı', - 'delete_confirm_single' => 'Bu sayfayı silmek istiyor musunuz? Alt sayfalar da silinecektir', - 'new' => 'Yeni sayfa', - 'add_subpage' => 'Altsayfa ekle', - 'invalid_url' => 'Geçersiz URL formatı. URL eğik çizgi sembolü ile başlamalıdır ve rakam, latin harfleri ve bu sembolleri: _-/. içerebilir.', - 'url_not_unique' => 'Bu URL başka bir sayfa tarafından kullanılıyor', - 'layout' => 'Şablon', - 'layouts_not_found' => 'Şablon bulunamadı', - 'saved' => 'Sayfa başarıyla kaydedildi.', - 'tab' => 'Sayfalar', - 'manage_pages' => 'Sayfaları yönetebilsin', - 'manage_menus' => 'Menüleri yönetebilsin', - 'access_snippets' => 'Snippetleri yönetebilsin', - 'manage_content' => 'Sabit içerikleri yönetebilsin', - ], - 'menu' => [ - 'menu_label' => 'Menüler', - 'delete_confirmation' => 'Seçili menüleri silmek istiyor musunuz?', - 'no_records' => 'Menü bulunamadı', - 'new' => 'Yeni Menü', - 'new_name' => 'Yeni menü', - 'new_code' => 'yeni-menu', - 'delete_confirm_single' => 'Bu menüyü silmek istiyor musunuz?', - 'saved' => 'Menü başarıyla kaydedildi.', - 'name' => 'İsim', - 'code' => 'Kod', - 'items' => 'Menü Ögeleri', - 'add_subitem' => 'Altöge ekle', - 'code_required' => 'Kod gerekli', - 'invalid_code' => 'Geçersiz KOD formatı. Kod yalnızca rakam, Latin harfleri ve bu sembolleri: _- içerebilir.', - ], - 'menuitem' => [ - 'title' => 'Başlık', - 'editor_title' => 'Menü Ögesini Düzenle', - 'type' => 'Tür', - 'allow_nested_items' => 'İçiçe ögelere izin ver', - 'allow_nested_items_comment' => 'İç içe öğeler statik sayfa ve bazı diğer öğe türlerine göre dinamik olarak üretilen olabilir', - 'url' => 'URL', - 'reference' => 'Referans', - 'search_placeholder' => 'Referansları ara...', - 'title_required' => 'Başlık gerekli', - 'unknown_type' => 'Geçersiz menü ögesi türü', - 'unnamed' => 'İsimsiz menü ögesi', - 'add_item' => 'Öge Ekle', - 'new_item' => 'Yeni menü ögesi', - 'replace' => 'Bu ögeyi oluşturulan çocuklarıyla değiştir', - 'replace_comment' => 'Use this checkbox to push generated menu items to the same level with this item. This item itself will be hidden.', - 'cms_page' => 'CMS Sayfası', - 'cms_page_comment' => 'Menü ögesine tıklandığında açılacak sayfayı seçin', - 'reference_required' => 'Menü ögesi referansı gereklidir.', - 'url_required' => 'URL gereklidir', - 'cms_page_required' => 'Lütfen bir CMS sayfası seçin', - 'display_tab' => 'Görünüm', - 'hidden' => 'Gizli', - 'hidden_comment' => 'Bu menüyü önyüzde gizle.', - 'attributes_tab' => 'Öznitellikler', - 'code' => 'Kod', - 'code_comment' => 'API ile giriş yapabilmek için menü ögesi kodunu girin.', - 'css_class' => 'CSS Class', - 'css_class_comment' => 'Bu menüye özel bir görünüm vermek için bir CSS sınıfı adı girin.', - 'external_link' => 'Dış link', - 'external_link_comment' => 'Bu menü için bağlantıları yeni sekmede aç.', - 'static_page' => 'Sayfa', - 'all_static_pages' => 'Tüm sayfalar', - ], - 'content' => [ - 'menu_label' => 'İçerik', - 'cant_save_to_dir' => 'Statik sayfalar dizinine içerik dosyalarını kaydetme izni verilmez.', - ], - 'sidebar' => [ - 'add' => 'Ekle', - 'search' => 'Ara...', - ], - 'object' => [ - 'invalid_type' => 'Bilineyen nesne türü', - 'not_found' => 'İstenen nesne bulunamadı', - ], - 'editor' => [ - 'title' => 'Başlık', - 'new_title' => 'Yeni sayfa başlığı', - 'content' => 'İçerik', - 'url' => 'URL', - 'filename' => 'Dosya Adı', - 'layout' => 'Layout', - 'description' => 'Tanımlama', - 'preview' => 'Önizleme', - 'enter_fullscreen' => 'Tam Ekran moduna geç', - 'exit_fullscreen' => 'Tam Ekran modundan çık', - 'hidden' => 'Gizli', - 'hidden_comment' => 'Gizli sayfalar yalnızca yönetim paneline giriş yapmış kullanıcılar tarafından görüntülenebilir.', - 'navigation_hidden' => 'Menüde Gizle', - 'navigation_hidden_comment' => 'Otomatik olarak oluşturulan menüler ve kırıntıları gizlemek için bu kutuyu işaretleyin.', - ], - 'snippet' => [ - 'partialtab' => 'Snippet', - 'code' => 'Snippet kodu', - 'code_comment' => 'Sayfalar eklentisinde snippet olarak kullanabilmek için bir kod tanımlayın.', - 'name' => 'İsim', - 'name_comment' => 'Sol snippet listesinde görüntülenecek ismi girin.', - 'no_records' => 'Snippet bulunamadı', - 'menu_label' => 'Snippetlar', - 'column_property' => 'Property başlığı', - 'column_type' => 'Tip', - 'column_code' => 'Kod', - 'column_default' => 'Ön tanımlı (default)', - 'column_options' => 'Seçenekler (options)', - 'column_type_string' => 'Metin (string)', - 'column_type_checkbox' => 'Seçmeli (checkbox)', - 'column_type_dropdown' => 'Açılır liste (dropdown)', - 'not_found' => 'Tema için :code kodu ile istenilen snippet bulunamadı.', - 'property_format_error' => 'Kod sadece latin karakterle başlamalı ve latin karakter veya sayı içermelidir', - 'invalid_option_key' => 'Seçenek key i geçersiz: :key. Seçenek keyleri sadece sayı, Latin harfler ve karakter _ ve - içerebilir', - ], - 'component' => [ - 'static_page_name' => 'Sabit sayfa', - 'static_page_description' => 'CMS bölümüne sabit sayfa içeriği ekler.', - 'static_page_use_content_name' => 'Sayfa içeriği alanını kullan', - 'static_page_use_content_description' => 'Seçilmezse, statik sayfa düzenlenirken içerik bölümü görünmez. Sayfa içeriği yalnızca placeholderlar ve değişkenler aracılığıyla belirlenir.', - 'static_page_default_name' => 'Varsayılan şablon', - 'static_page_default_description' => 'Bu şablonu yeni sayfalar için varsayılan olarak tanımlar.', - 'static_page_child_layout_name' => 'Alt sayfa şablobu', - 'static_page_child_layout_description' => 'Yeni alt sayfalar için varsayılan olarak kullanılacak şablon', - 'static_menu_name' => 'Statik (sabit) menü', - 'static_menu_description' => 'CMS bölümüne sabit menü içeriği ekler.', - 'static_menu_code_name' => 'Menü', - 'static_menu_code_description' => 'Component in göstereceği menünün kodunu belirtin.', - 'static_breadcrumbs_name' => 'Sabit breadcrumbs', - 'static_breadcrumbs_description' => 'Sabit sayfaya breadcrumbs ekler.', - ], + [ + 'name' => 'Sayfalar', + 'description' => 'Sayfalar & menüler modülü.', + ], + 'page' => [ + 'menu_label' => 'Sayfalar', + 'template_title' => '%s Sayfalar', + 'delete_confirmation' => 'Seçili sayfaları silmek istiyor musunuz? Alt sayfalar da silinecektir.', + 'no_records' => 'Sayfa bulunamadı', + 'delete_confirm_single' => 'Bu sayfayı silmek istiyor musunuz? Alt sayfalar da silinecektir', + 'new' => 'Yeni sayfa', + 'add_subpage' => 'Altsayfa ekle', + 'invalid_url' => 'Geçersiz URL formatı. URL eğik çizgi sembolü ile başlamalıdır ve rakam, latin harfleri ve bu sembolleri: _-/. içerebilir.', + 'url_not_unique' => 'Bu URL başka bir sayfa tarafından kullanılıyor', + 'layout' => 'Şablon', + 'layouts_not_found' => 'Şablon bulunamadı', + 'saved' => 'Sayfa başarıyla kaydedildi.', + 'tab' => 'Sayfalar', + 'manage_pages' => 'Sayfaları yönetebilsin', + 'manage_menus' => 'Menüleri yönetebilsin', + 'access_snippets' => 'Snippetleri yönetebilsin', + 'manage_content' => 'Sabit içerikleri yönetebilsin', + ], + 'menu' => [ + 'menu_label' => 'Menüler', + 'delete_confirmation' => 'Seçili menüleri silmek istiyor musunuz?', + 'no_records' => 'Menü bulunamadı', + 'new' => 'Yeni Menü', + 'new_name' => 'Yeni menü', + 'new_code' => 'yeni-menu', + 'delete_confirm_single' => 'Bu menüyü silmek istiyor musunuz?', + 'saved' => 'Menü başarıyla kaydedildi.', + 'name' => 'İsim', + 'code' => 'Kod', + 'items' => 'Menü Ögeleri', + 'add_subitem' => 'Altöge ekle', + 'code_required' => 'Kod gerekli', + 'invalid_code' => 'Geçersiz KOD formatı. Kod yalnızca rakam, Latin harfleri ve bu sembolleri: _- içerebilir.', + ], + 'menuitem' => [ + 'title' => 'Başlık', + 'editor_title' => 'Menü Ögesini Düzenle', + 'type' => 'Tür', + 'allow_nested_items' => 'İçiçe ögelere izin ver', + 'allow_nested_items_comment' => 'İç içe öğeler statik sayfa ve bazı diğer öğe türlerine göre dinamik olarak üretilen olabilir', + 'url' => 'URL', + 'reference' => 'Referans', + 'search_placeholder' => 'Referansları ara...', + 'title_required' => 'Başlık gerekli', + 'unknown_type' => 'Geçersiz menü ögesi türü', + 'unnamed' => 'İsimsiz menü ögesi', + 'add_item' => 'Öge Ekle', + 'new_item' => 'Yeni menü ögesi', + 'replace' => 'Bu ögeyi oluşturulan çocuklarıyla değiştir', + 'replace_comment' => 'Use this checkbox to push generated menu items to the same level with this item. This item itself will be hidden.', + 'cms_page' => 'CMS Sayfası', + 'cms_page_comment' => 'Menü ögesine tıklandığında açılacak sayfayı seçin', + 'reference_required' => 'Menü ögesi referansı gereklidir.', + 'url_required' => 'URL gereklidir', + 'cms_page_required' => 'Lütfen bir CMS sayfası seçin', + 'display_tab' => 'Görünüm', + 'hidden' => 'Gizli', + 'hidden_comment' => 'Bu menüyü önyüzde gizle.', + 'attributes_tab' => 'Öznitellikler', + 'code' => 'Kod', + 'code_comment' => 'API ile giriş yapabilmek için menü ögesi kodunu girin.', + 'css_class' => 'CSS Class', + 'css_class_comment' => 'Bu menüye özel bir görünüm vermek için bir CSS sınıfı adı girin.', + 'external_link' => 'Dış link', + 'external_link_comment' => 'Bu menü için bağlantıları yeni sekmede aç.', + 'static_page' => 'Sayfa', + 'all_static_pages' => 'Tüm sayfalar', + ], + 'content' => [ + 'menu_label' => 'İçerik', + 'cant_save_to_dir' => 'Statik sayfalar dizinine içerik dosyalarını kaydetme izni verilmez.', + ], + 'sidebar' => [ + 'add' => 'Ekle', + ], + 'object' => [ + 'invalid_type' => 'Bilineyen nesne türü', + 'not_found' => 'İstenen nesne bulunamadı', + ], + 'editor' => [ + 'title' => 'Başlık', + 'new_title' => 'Yeni sayfa başlığı', + 'content' => 'İçerik', + 'url' => 'URL', + 'filename' => 'Dosya Adı', + 'layout' => 'Layout', + 'description' => 'Tanımlama', + 'preview' => 'Önizleme', + 'enter_fullscreen' => 'Tam Ekran moduna geç', + 'exit_fullscreen' => 'Tam Ekran modundan çık', + 'hidden' => 'Gizli', + 'hidden_comment' => 'Gizli sayfalar yalnızca yönetim paneline giriş yapmış kullanıcılar tarafından görüntülenebilir.', + 'navigation_hidden' => 'Menüde Gizle', + 'navigation_hidden_comment' => 'Otomatik olarak oluşturulan menüler ve kırıntıları gizlemek için bu kutuyu işaretleyin.', + ], + 'snippet' => [ + 'menu_label' => 'Snippetlar', + ], + 'component' => [ + 'static_page_name' => 'Sabit sayfa', + 'static_page_description' => 'CMS bölümüne sabit sayfa içeriği ekler.', + 'static_page_use_content_name' => 'Sayfa içeriği alanını kullan', + 'static_page_use_content_description' => 'Seçilmezse, statik sayfa düzenlenirken içerik bölümü görünmez. Sayfa içeriği yalnızca placeholderlar ve değişkenler aracılığıyla belirlenir.', + 'static_page_default_name' => 'Varsayılan şablon', + 'static_page_default_description' => 'Bu şablonu yeni sayfalar için varsayılan olarak tanımlar.', + 'static_page_child_layout_name' => 'Alt sayfa şablobu', + 'static_page_child_layout_description' => 'Yeni alt sayfalar için varsayılan olarak kullanılacak şablon', + 'static_menu_name' => 'Statik (sabit) menü', + 'static_menu_description' => 'CMS bölümüne sabit menü içeriği ekler.', + 'static_menu_code_name' => 'Menü', + 'static_menu_code_description' => 'Component in göstereceği menünün kodunu belirtin.', + 'static_breadcrumbs_name' => 'Sabit breadcrumbs', + 'static_breadcrumbs_description' => 'Sabit sayfaya breadcrumbs ekler.', + ], ]; diff --git a/lang/uk/lang.php b/lang/uk/lang.php index 3434229..6d2f50c 100644 --- a/lang/uk/lang.php +++ b/lang/uk/lang.php @@ -1,118 +1,100 @@ [ - 'name' => 'Сторінки', - 'description' => 'Сторінки і меню.', - ], - 'page' => [ - 'menu_label' => 'Сторінки', - 'template_title' => '%s Сторінки', - 'delete_confirmation' => 'Ви дійсно хочете видалити вибрані сторінки? Це також видалить наявні підсторінки.', - 'no_records' => 'Сторінок не знайдено', - 'delete_confirm_single' => 'Ви дійсно хочете видалити цю сторінку? Це також видалить наявні підсторінки.', - 'new' => 'Нова сторінка', - 'add_subpage' => 'Додати підсторінку', - 'invalid_url' => 'Некоректний формат URL. URL повинен починатися з прямого слеша і може містити цифри, латинські літери і такі символи: _-/.', - 'url_not_unique' => 'Цей URL вже використовується іншою сторінкою.', - 'layout' => 'Шаблон', - 'layouts_not_found' => 'Шаблони не знайдені', - 'saved' => 'Сторінка була успішно збережена.', - 'tab' => 'Сторінки', - 'manage_pages' => 'Управління сторінками', - 'manage_menus' => 'Управління меню', - 'access_snippets' => 'Доступ до сніппетів', - 'manage_content' => 'Управління змістом', - ], - 'menu' => [ - 'menu_label' => 'Меню', - 'delete_confirmation' => 'Ви дійсно хочете видалити вибрані пункти меню?', - 'no_records' => 'Меню не знайдені', - 'new' => 'Нове меню', - 'new_name' => 'Новое меню', - 'new_code' => 'nove-menu', - 'delete_confirm_single' => 'Ви дійсно хочете видалити це меню?', - 'saved' => 'Меню було успішно збережено.', - 'name' => "Ім`я", - 'code' => 'Код', - 'items' => 'Пункти меню', - 'add_subitem' => 'Додати підменю', - 'code_required' => "Поле Код обов'язкове", - 'invalid_code' => 'Некоректний формат Коду. Код може містити цифри, латинські літери і такі символи: _-/', - ], - 'menuitem' => [ - 'title' => 'Назва', - 'editor_title' => 'Редагувати пункт меню', - 'type' => 'Тип', - 'allow_nested_items' => 'Дозволити вкладені', - 'allow_nested_items_comment' => 'Вкладені пункти можуть бути динамічно згенеровані статичною сторінкою або іншими типами елементів', - 'url' => 'URL', - 'reference' => 'Посилання', - 'title_required' => "Назва обов'язково", - 'unknown_type' => 'Невідомий тип меню', - 'unnamed' => 'Безіменний пункт', - 'add_item' => 'Додати пункт ( i )', - 'new_item' => 'Новий пункт', - 'replace' => 'Замінювати цей пункт його згенеруванними нащадками', - 'replace_comment' => 'Відмітьте для перенесення згенерованних пунктів меню на один рівень з цим пунктом. Сам цей пункт буде приховано.', - 'cms_page' => 'Сторінки CMS', - 'cms_page_comment' => 'Оберіть відкриваючу при натисканні сторінку.', - 'reference_required' => 'Необхідне посилання для пункту меню.', - 'url_required' => 'Необхідний URL', - 'cms_page_required' => 'Будь ласка, виберіть сторінку CMS', - 'code' => 'Код', - 'code_comment' => 'Введіть код пункту меню, якщо хочете мати до нього доступ через API.', - ], - 'content' => [ - 'menu_label' => 'Зміст', - 'cant_save_to_dir' => 'Збереження файлів змісту в директорію static-pages заборонено.', - ], - 'sidebar' => [ - 'Add' => 'Додати', - 'search' => 'Пошук...', - ], - 'object' => [ - 'invalid_type' => "Невідомий тип об'єкту", - 'not_found' => "Запитуваний об'єкт не знайдено.", - ], - 'editor' => [ - 'title' => 'Назва', - 'new_title' => 'Назва нової сторінки', - 'content' => 'Зміст', - 'url' => 'URL', - 'filename' => "Ім'я файлу", - 'layout' => 'Шаблон', - 'description' => 'Опис', - 'preview' => 'Попередній огляд', - 'enter_fullscreen' => 'Увійти в повноекранний режим', - 'exit_fullscreen' => 'Вийти з повноекранного режиму', - 'hidden' => 'Прихований', - 'hidden_comment' => 'Приховані сторінки доступні тільки увійшовшим адміністраторам.', - 'navigation_hidden' => 'Сховати в навігації', - 'navigation_hidden_comment' => 'Відмітьте, щоб приховати цю сторінку в генеруючих меню і хлібних крихтах.', - ], - 'snippet' => [ - 'partialtab' => 'Сніппети', - 'code' => 'Код сніппета', - 'code_comment' => 'Введіть код, щоб зробити цей фрагмент доступним як сніппет в розширенні Сторінки.', - 'name' => "Ім'я", - 'name_comment' => "Ім'я відображається в списку фрагментів розширення Сторінки і на сторінці, коли сніппет доданий.", - 'no_records' => 'Сніппети не знайдені', - 'menu_label' => 'Сніппети', - 'column_property' => 'Назва властивості', - 'column_type' => 'Тип', - 'column_code' => 'Код', - 'column_default' => 'За замовчуванням', - 'column_options' => 'Опції', - 'column_type_string' => 'Рядок', - 'column_type_checkbox' => 'Чекбокс', - 'column_type_dropdown' => 'Список, що випадає', - 'not_found' => 'Сніппет з запитаним кодом %s не знайдений в темі.', - 'property_format_error' => 'Код властивості повинен починатися з літери та може містити тільки латинські букви і цифри', - 'invalid_option_key' => 'Неправильний ключ списку: %s. Ключ може містити тільки цифри, латинські літери і символи _ і -', - ], - 'component' => [ - 'static_page_description' => 'Виводити сторінку в CMS шаблоні.', - 'static_menu_description' => 'Виводити меню в CMS шаблоні.', - 'static_menu_menu_code' => 'Вкажіть код меню, яке повинно бути показано', - 'static_breadcrumbs_description' => 'Виводити хлібні крихти для сторінки.', - ], + 'plugin' => [ + 'name' => 'Сторінки', + 'description' => 'Сторінки і меню.', + ], + 'page' => [ + 'menu_label' => 'Сторінки', + 'template_title' => '%s Сторінки', + 'delete_confirmation' => 'Ви дійсно хочете видалити вибрані сторінки? Це також видалить наявні підсторінки.', + 'no_records' => 'Сторінок не знайдено', + 'delete_confirm_single' => 'Ви дійсно хочете видалити цю сторінку? Це також видалить наявні підсторінки.', + 'new' => 'Нова сторінка', + 'add_subpage' => 'Додати підсторінку', + 'invalid_url' => 'Некоректний формат URL. URL повинен починатися з прямого слеша і може містити цифри, латинські літери і такі символи: _-/.', + 'url_not_unique' => 'Цей URL вже використовується іншою сторінкою.', + 'layout' => 'Шаблон', + 'layouts_not_found' => 'Шаблони не знайдені', + 'saved' => 'Сторінка була успішно збережена.', + 'tab' => 'Сторінки', + 'manage_pages' => 'Управління сторінками', + 'manage_menus' => 'Управління меню', + 'access_snippets' => 'Доступ до сніппетів', + 'manage_content' => 'Управління змістом', + ], + 'menu' => [ + 'menu_label' => 'Меню', + 'delete_confirmation' => 'Ви дійсно хочете видалити вибрані пункти меню?', + 'no_records' => 'Меню не знайдені', + 'new' => 'Нове меню', + 'new_name' => 'Новое меню', + 'new_code' => 'nove-menu', + 'delete_confirm_single' => 'Ви дійсно хочете видалити це меню?', + 'saved' => 'Меню було успішно збережено.', + 'name' => 'Ім`я', + 'code' => 'Код', + 'items' => 'Пункти меню', + 'add_subitem' => 'Додати підменю', + 'code_required' => 'Поле Код обов\'язкове', + 'invalid_code' => 'Некоректний формат Коду. Код може містити цифри, латинські літери і такі символи: _-/', + ], + 'menuitem' => [ + 'title' => 'Назва', + 'editor_title' => 'Редагувати пункт меню', + 'type' => 'Тип', + 'allow_nested_items' => 'Дозволити вкладені', + 'allow_nested_items_comment' => 'Вкладені пункти можуть бути динамічно згенеровані статичною сторінкою або іншими типами елементів', + 'url' => 'URL', + 'reference' => 'Посилання', + 'title_required' => 'Назва обов\'язково', + 'unknown_type' => 'Невідомий тип меню', + 'unnamed' => 'Безіменний пункт', + 'add_item' => 'Додати пункт ( i )', + 'new_item' => 'Новий пункт', + 'replace' => 'Замінювати цей пункт його згенеруванними нащадками', + 'replace_comment' => 'Відмітьте для перенесення згенерованних пунктів меню на один рівень з цим пунктом. Сам цей пункт буде приховано.', + 'cms_page' => 'Сторінки CMS', + 'cms_page_comment' => 'Оберіть відкриваючу при натисканні сторінку.', + 'reference_required' => 'Необхідне посилання для пункту меню.', + 'url_required' => 'Необхідний URL', + 'cms_page_required' => 'Будь ласка, виберіть сторінку CMS', + 'code' => 'Код', + 'code_comment' => 'Введіть код пункту меню, якщо хочете мати до нього доступ через API.', + ], + 'content' => [ + 'menu_label' => 'Зміст', + 'cant_save_to_dir' => 'Збереження файлів змісту в директорію static-pages заборонено.', + ], + 'sidebar' => [ + 'Add' => 'Додати', + ], + 'object' => [ + 'invalid_type' => 'Невідомий тип об\'єкту', + 'not_found' => 'Запитуваний об\'єкт не знайдено.', + ], + 'editor' => [ + 'title' => 'Назва', + 'new_title' => 'Назва нової сторінки', + 'content' => 'Зміст', + 'url' => 'URL', + 'filename' => 'Ім\'я файлу', + 'layout' => 'Шаблон', + 'description' => 'Опис', + 'preview' => 'Попередній огляд', + 'enter_fullscreen' => 'Увійти в повноекранний режим', + 'exit_fullscreen' => 'Вийти з повноекранного режиму', + 'hidden' => 'Прихований', + 'hidden_comment' => 'Приховані сторінки доступні тільки увійшовшим адміністраторам.', + 'navigation_hidden' => 'Сховати в навігації', + 'navigation_hidden_comment' => 'Відмітьте, щоб приховати цю сторінку в генеруючих меню і хлібних крихтах.', + ], + 'snippet' => [ + 'menu_label' => 'Сніппети', + ], + 'component' => [ + 'static_page_description' => 'Виводити сторінку в CMS шаблоні.', + 'static_menu_description' => 'Виводити меню в CMS шаблоні.', + 'static_menu_menu_code' => 'Вкажіть код меню, яке повинно бути показано', + 'static_breadcrumbs_description' => 'Виводити хлібні крихти для сторінки.', + ], ]; diff --git a/lang/zh-cn/lang.php b/lang/zh-cn/lang.php index 0caa473..753debe 100644 --- a/lang/zh-cn/lang.php +++ b/lang/zh-cn/lang.php @@ -1,132 +1,113 @@ - [ - 'name' => '页面', - 'description' => '页面和菜单功能拓展', - ], - 'page' => [ - 'menu_label' => '页面', - 'template_title' => '%s 页面', - 'delete_confirmation' => '你真的要删除所选页面吗? 如果有子页面,也将被删除。', - 'no_records' => '找不到页面', - 'delete_confirm_single' => '你真的要删除这个页面吗? 如果有子页面,也将被删除。', - 'new' => '新建', - 'add_subpage' => '插入子页面', - 'invalid_url' => 'URL 格式无效,应以 \'/\' 开头,可以包含数字,字母和以下符号:_-/', - 'url_not_unique' => 'URL 已存在', - 'layout' => '布局', - 'layouts_not_found' => '找不到布局文件', - 'saved' => '保存成功!', - 'tab' => '页面', - 'manage_pages' => '管理静态页面', - 'manage_menus' => '管理静态菜单', - 'access_snippets' => '代码片段', - 'manage_content' => '管理静态内容', - ], - 'menu' => [ - 'menu_label' => '菜单', - 'delete_confirmation' => '你真的要删除所选菜单吗?', - 'no_records' => '找不到菜单', - 'new' => '新建', - 'new_name' => '未命名的菜单', - 'new_code' => 'new-menu', - 'delete_confirm_single' => '你真的要删除这个菜单吗?', - 'saved' => '保存成功!', - 'name' => '名称', - 'code' => '编码', - 'items' => '菜单项', - 'add_subitem' => '插入子项', - 'code_required' => '编码是必要的!', - 'invalid_code' => '编码格式无效,该编码可以包含数字,字母和以下符号:_-', - ], - 'menuitem' => [ - 'title' => '标题', - 'editor_title' => '编辑菜单项', - 'type' => '类型', - 'allow_nested_items' => '允许嵌套', - 'allow_nested_items_comment' => '嵌套项目可以通过静态页面和其他一些项目类型动态生成', - 'url' => 'URL', - 'reference' => '参考', - 'search_placeholder' => '搜索所有参考...', - 'title_required' => '标题是必需的', - 'unknown_type' => '未知的菜单项类型', - 'unnamed' => '未命名的菜单项', - 'add_item' => '掺入菜单项I', - 'new_item' => '新菜单项', - 'replace' => '将此项目替换为生成的子项', - 'replace_comment' => '使用此复选框产生的菜单项推到与本项目同一层级。 该项目本身将被隐藏。', - 'cms_page' => 'CMS 页面', - 'cms_page_comment' => '当单击菜单项时,选择要打开的页面。', - 'reference_required' => '菜单项参考 是必需的。', - 'url_required' => 'URL 是必需的。', - 'cms_page_required' => '请选择 CMS 页面', - 'code' => '编码', - 'code_comment' => '如果要使用 API 访问菜单项代码,请输入。', - 'static_page' => '静态页面', - 'all_static_pages' => '所有静态页' - ], - 'content' => [ - 'menu_label' => '内容', - 'cant_save_to_dir' => '将内容文件保存到 \'static-pages\' 目录是不允许的。', - ], - 'sidebar' => [ - 'add' => '插入', - 'search' => '检索...', - ], - 'object' => [ - 'invalid_type' => '未知的对象类型', - 'not_found' => '找不到请求的对象。', - ], - 'editor' => [ - 'title' => '标题', - 'new_title' => '未命名', - 'content' => '内容', - 'url' => 'URL', - 'filename' => '文件名', - 'layout' => '布局', - 'description' => '描述', - 'preview' => '预览', - 'enter_fullscreen' => '全屏编辑', - 'exit_fullscreen' => '退出全屏', - 'hidden' => '隐藏', - 'hidden_comment' => '隐藏的页面只能由登录的后台用户访问。', - 'navigation_hidden' => '在导航中隐藏', - 'navigation_hidden_comment' => '选中此框可将该页面在自动生成的菜单和面包屑导航中隐藏起来。', - ], - 'snippet' => [ - 'partialtab' => 'Snippet', - 'code' => 'Snippet code', - 'code_comment' => '输入一个代码,使其部分可用作“静态页面”插件中的代码段。', - 'name' => '名称', - 'name_comment' => '该名称显示在“静态页面”侧边栏的代码段列表中,并在添加代码段时显示在该页面上。', - 'no_records' => '找不到代码片段', - 'menu_label' => '代码片段', - 'column_property' => '性质', - 'column_type' => '类型', - 'column_code' => '编码', - 'column_default' => '默认', - 'column_options' => '选项', - 'column_type_string' => '字符串', - 'column_type_checkbox' => '检查框', - 'column_type_dropdown' => '下拉框', - 'not_found' => '代码段与请求的 code:code 没有在主题中找到。', - 'property_format_error' => '属性代码应以字母开头,只能包含字母和数字', - 'invalid_option_key' => '无效的下拉选项 key: :key。 选项键只能包含数字,字母和字符 _ 和 -', - ], - 'component' => [ - 'static_page_name' => '静态页', - 'static_page_description' => '在 CMS 布局中输出静态页。', - 'static_page_use_content_name' => '使用页面内容字段', - 'static_page_use_content_description' => '如果未选中,编辑静态页面时内容部分将不会出现。 页面内容将仅通过占位符和变量来确定。', - 'static_page_default_name' => '默认布局', - 'static_page_default_description' => '将此布局定义为新页面的默认设置', - 'static_page_child_layout_name' => '子页面布局', - 'static_page_child_layout_description' => '该布局用作任何新子页面的默认布局', - 'static_menu_name' => '静态菜单', - 'static_menu_description' => '输出 CMS 布局中的菜单。', - 'static_menu_code_name' => '菜单', - 'static_menu_code_description' => '指定组件应输出的菜单代码。', - 'static_breadcrumbs_name' => '静态面包屑导航', - 'static_breadcrumbs_description' => '输出静态页面的面包屑导航。', - ] + [ + 'name' => '页面', + 'description' => '页面和菜单功能拓展', + ], + 'page' => [ + 'menu_label' => '页面', + 'template_title' => '%s 页面', + 'delete_confirmation' => '你真的要删除所选页面吗? 如果有子页面,也将被删除。', + 'no_records' => '找不到页面', + 'delete_confirm_single' => '你真的要删除这个页面吗? 如果有子页面,也将被删除。', + 'new' => '新建', + 'add_subpage' => '插入子页面', + 'invalid_url' => 'URL 格式无效,应以 \'/\' 开头,可以包含数字,字母和以下符号:_-/', + 'url_not_unique' => 'URL 已存在', + 'layout' => '布局', + 'layouts_not_found' => '找不到布局文件', + 'saved' => '保存成功!', + 'tab' => '页面', + 'manage_pages' => '管理静态页面', + 'manage_menus' => '管理静态菜单', + 'access_snippets' => '代码片段', + 'manage_content' => '管理静态内容', + ], + 'menu' => [ + 'menu_label' => '菜单', + 'delete_confirmation' => '你真的要删除所选菜单吗?', + 'no_records' => '找不到菜单', + 'new' => '新建', + 'new_name' => '未命名的菜单', + 'new_code' => 'new-menu', + 'delete_confirm_single' => '你真的要删除这个菜单吗?', + 'saved' => '保存成功!', + 'name' => '名称', + 'code' => '编码', + 'items' => '菜单项', + 'add_subitem' => '插入子项', + 'code_required' => '编码是必要的!', + 'invalid_code' => '编码格式无效,该编码可以包含数字,字母和以下符号:_-', + ], + 'menuitem' => [ + 'title' => '标题', + 'editor_title' => '编辑菜单项', + 'type' => '类型', + 'allow_nested_items' => '允许嵌套', + 'allow_nested_items_comment' => '嵌套项目可以通过静态页面和其他一些项目类型动态生成', + 'url' => 'URL', + 'reference' => '参考', + 'search_placeholder' => '搜索所有参考...', + 'title_required' => '标题是必需的', + 'unknown_type' => '未知的菜单项类型', + 'unnamed' => '未命名的菜单项', + 'add_item' => '掺入菜单项I', + 'new_item' => '新菜单项', + 'replace' => '将此项目替换为生成的子项', + 'replace_comment' => '使用此复选框产生的菜单项推到与本项目同一层级。 该项目本身将被隐藏。', + 'cms_page' => 'CMS 页面', + 'cms_page_comment' => '当单击菜单项时,选择要打开的页面。', + 'reference_required' => '菜单项参考 是必需的。', + 'url_required' => 'URL 是必需的。', + 'cms_page_required' => '请选择 CMS 页面', + 'code' => '编码', + 'code_comment' => '如果要使用 API 访问菜单项代码,请输入。', + 'static_page' => '静态页面', + 'all_static_pages' => '所有静态页', + ], + 'content' => [ + 'menu_label' => '内容', + 'cant_save_to_dir' => '将内容文件保存到 \'static-pages\' 目录是不允许的。', + ], + 'sidebar' => [ + 'add' => '插入', + ], + 'object' => [ + 'invalid_type' => '未知的对象类型', + 'not_found' => '找不到请求的对象。', + ], + 'editor' => [ + 'title' => '标题', + 'new_title' => '未命名', + 'content' => '内容', + 'url' => 'URL', + 'filename' => '文件名', + 'layout' => '布局', + 'description' => '描述', + 'preview' => '预览', + 'enter_fullscreen' => '全屏编辑', + 'exit_fullscreen' => '退出全屏', + 'hidden' => '隐藏', + 'hidden_comment' => '隐藏的页面只能由登录的后台用户访问。', + 'navigation_hidden' => '在导航中隐藏', + 'navigation_hidden_comment' => '选中此框可将该页面在自动生成的菜单和面包屑导航中隐藏起来。', + ], + 'snippet' => [ + 'menu_label' => '代码片段', + ], + 'component' => [ + 'static_page_name' => '静态页', + 'static_page_description' => '在 CMS 布局中输出静态页。', + 'static_page_use_content_name' => '使用页面内容字段', + 'static_page_use_content_description' => '如果未选中,编辑静态页面时内容部分将不会出现。 页面内容将仅通过占位符和变量来确定。', + 'static_page_default_name' => '默认布局', + 'static_page_default_description' => '将此布局定义为新页面的默认设置', + 'static_page_child_layout_name' => '子页面布局', + 'static_page_child_layout_description' => '该布局用作任何新子页面的默认布局', + 'static_menu_name' => '静态菜单', + 'static_menu_description' => '输出 CMS 布局中的菜单。', + 'static_menu_code_name' => '菜单', + 'static_menu_code_description' => '指定组件应输出的菜单代码。', + 'static_breadcrumbs_name' => '静态面包屑导航', + 'static_breadcrumbs_description' => '输出静态页面的面包屑导航。', + ], ]; From 3bc9f180f46dfd3d7c160d0b4a7d5052a334feae Mon Sep 17 00:00:00 2001 From: October CMS Date: Mon, 5 Jun 2023 11:07:46 +1000 Subject: [PATCH 09/19] Moves snippet logic to core --- Plugin.php | 31 +++--- assets/js/pages-snippets.js | 213 ------------------------------------ controllers/Index.php | 1 - 3 files changed, 13 insertions(+), 232 deletions(-) delete mode 100644 assets/js/pages-snippets.js diff --git a/Plugin.php b/Plugin.php index 20b1c51..68647ec 100644 --- a/Plugin.php +++ b/Plugin.php @@ -5,9 +5,10 @@ use RainLab\Pages\Classes\Controller; use RainLab\Pages\Classes\Page as StaticPage; use RainLab\Pages\Classes\Router; -use RainLab\Pages\Classes\Snippet; use Cms\Classes\Theme; +use Cms\Classes\Snippet; use Cms\Classes\Controller as CmsController; +use Cms\Classes\SnippetManager; use System\Classes\PluginBase; class Plugin extends PluginBase @@ -171,29 +172,23 @@ public function boot() } }); - Event::listen('backend.form.extendFieldsBefore', function($formWidget) { - if ($formWidget->model instanceof \Cms\Classes\Partial) { - Snippet::extendPartialForm($formWidget); - } - }); - - Event::listen('cms.template.getTemplateToolbarSettingsButtons', function($extension, $dataHolder) { - if ($dataHolder->templateType === 'partial') { - Snippet::extendEditorPartialToolbar($dataHolder); - } - }); + // Event::listen('cms.template.getTemplateToolbarSettingsButtons', function($extension, $dataHolder) { + // if ($dataHolder->templateType === 'partial') { + // Snippet::extendEditorPartialToolbar($dataHolder); + // } + // }); Event::listen('cms.template.save', function($controller, $template, $type) { Plugin::clearCache(); }); - Event::listen('cms.template.processSettingsBeforeSave', function($controller, $dataHolder) { - $dataHolder->settings = Snippet::processTemplateSettingsArray($dataHolder->settings); - }); + // Event::listen('cms.template.processSettingsBeforeSave', function($controller, $dataHolder) { + // $dataHolder->settings = Snippet::processTemplateSettingsArray($dataHolder->settings); + // }); - Event::listen('cms.template.processSettingsAfterLoad', function($controller, $template, $context = null) { - Snippet::processTemplateSettings($template, $context); - }); + // Event::listen('cms.template.processSettingsAfterLoad', function($controller, $template, $context = null) { + // Snippet::processTemplateSettings($template, $context); + // }); Event::listen('cms.template.processTwigContent', function($template, $dataHolder) { if ($template instanceof \Cms\Classes\Layout) { diff --git a/assets/js/pages-snippets.js b/assets/js/pages-snippets.js deleted file mode 100644 index 16fd3be..0000000 --- a/assets/js/pages-snippets.js +++ /dev/null @@ -1,213 +0,0 @@ -/* - * Handles snippet operations on the Pages main page - */ -+function ($) { "use strict"; - if ($.oc.pages === undefined) - $.oc.pages = {} - - var SnippetManager = function ($masterTabs) { - this.$masterTabs = $masterTabs - - var self = this - - $(document).on('hidden.oc.inspector', '.field-richeditor [data-snippet]', function() { - self.syncEditorCode(this) - }) - - $(document).on('init.oc.richeditor', '.field-richeditor textarea', function(ev, richeditor) { - self.initSnippets(richeditor.getElement()) - }) - - $(document).on('setContent.oc.richeditor', '.field-richeditor textarea', function(ev, richeditor) { - if (!richeditor.isCodeViewActive()) { - self.initSnippets(richeditor.getElement()) - } - }) - - $(document).on('syncContent.oc.richeditor', '.field-richeditor textarea', function(ev, richeditor, container) { - self.syncPageMarkup(ev, container) - }) - - $(document).on('figureKeydown.oc.richeditor', '.field-richeditor textarea', function(ev, originalEv, richeditor) { - self.editorKeyDown(ev, originalEv, richeditor) - }) - - $(document).on('click', '[data-snippet]', function() { - if ($(this).hasClass('inspector-open')) { - return - } - - $.oc.inspector.manager.createInspector(this) - return false - }) - } - - SnippetManager.prototype.onSidebarSnippetClick = function($sidebarItem) { - var $pageForm = $('div.tab-content > .tab-pane.active form[data-object-type=page]', this.$masterTabs) - - if (!$pageForm.length) { - $.oc.alert('Snippets can only be added to Pages. Please open or create a Page first.') - return - } - - var $activeEditorTab = $('.control-tabs.secondary-tabs .tab-pane.active', $pageForm), - $textarea = $activeEditorTab.find('[data-control="richeditor"] textarea'), - $richeditorNode = $textarea.closest('[data-control="richeditor"]'), - $snippetNode = $('
     
    '), - componentClass = $sidebarItem.attr('data-component-class'), - snippetCode = $sidebarItem.data('snippet') - - if (!$textarea.length) { - $.oc.alert('Snippets can only be added to page Content or HTML placeholders.') - return - } - - if (componentClass) { - $snippetNode.attr({ - 'data-component': componentClass, - 'data-inspector-class': componentClass - }) - - // If a component-based snippet was added, make sure that - // its code is unique, as it will be used as a component - // alias. - - snippetCode = this.generateUniqueComponentSnippetCode(componentClass, snippetCode, $pageForm) - } - - $snippetNode.attr({ - 'data-snippet': snippetCode, - 'data-name': $sidebarItem.data('snippet-name'), - 'tabindex': '0', - 'draggable': 'true', - 'data-ui-block': 'true' - }) - - $snippetNode.addClass('fr-draggable') - - $richeditorNode.richEditor('insertUiBlock', $snippetNode) - } - - SnippetManager.prototype.generateUniqueComponentSnippetCode = function(componentClass, originalCode, $pageForm) { - var updatedCode = originalCode, - counter = 1, - snippetFound = false - - do { - snippetFound = false - - $('[data-control="richeditor"] textarea', $pageForm).each(function(){ - var $textarea = $(this), - $codeDom = $('
    ' + $textarea.val() + '
    ') - - if ($codeDom.find('[data-snippet="'+updatedCode+'"][data-component]').length > 0) { - snippetFound = true - updatedCode = originalCode + counter - counter++ - - return false - } - }) - - } while (snippetFound) - - return updatedCode - } - - SnippetManager.prototype.syncEditorCode = function(inspectable) { - // Race condition - setTimeout(function() { - var $richeditor = $(inspectable).closest('[data-control=richeditor]') - $richeditor.richEditor('syncContent') - inspectable.focus() - }, 0) - } - - SnippetManager.prototype.initSnippets = function($editor) { - var snippetCodes = [] - - $('.fr-view [data-snippet]', $editor).each(function(){ - var $snippet = $(this), - snippetCode = $snippet.attr('data-snippet'), - componentClass = $snippet.attr('data-component') - - if (componentClass) - snippetCode += '|' + componentClass - - snippetCodes.push(snippetCode) - - $snippet - .addClass('loading') - .addClass('fr-draggable') - .attr({ - 'data-inspector-css-class': 'hero', - 'data-name': 'Loading...', - 'data-ui-block': 'true', - 'draggable': 'true', - 'tabindex': '0' - }) - .html(' ') - - if (componentClass) { - $snippet.attr('data-inspector-class', componentClass) - } - - this.contentEditable = false - }) - - if (snippetCodes.length > 0) { - var request = $editor.request('onGetSnippetNames', { - data: { - codes: snippetCodes - } - }).done(function(data) { - if (data.names !== undefined) { - $.each(data.names, function(code){ - $('[data-snippet="'+code+'"]', $editor) - .attr('data-name', this) - .removeClass('loading') - }) - } - }) - } - } - - SnippetManager.prototype.syncPageMarkup = function(ev, container) { - var $domTree = $('
    '+container.html+'
    ') - - $('[data-snippet]', $domTree).each(function(){ - var $snippet = $(this) - - $snippet.removeAttr('contenteditable data-name tabindex data-inspector-css-class data-inspector-class data-property-inspectorclassname data-property-inspectorproperty data-ui-block draggable') - $snippet.removeClass('fr-draggable fr-dragging') - - if (!$snippet.attr('class')) { - $snippet.removeAttr('class') - } - }) - - container.html = $domTree.html() - } - - SnippetManager.prototype.editorKeyDown = function(ev, originalEv, richeditor) { - if (richeditor.getTextarea() === undefined) - return - - if (originalEv.target && $(originalEv.target).attr('data-snippet') !== undefined) { - this.snippetKeyDown(originalEv, originalEv.target) - } - } - - SnippetManager.prototype.snippetKeyDown = function(ev, snippet) { - if (ev.which == 32) { - switch (ev.which) { - case 32: - // Space key - $.oc.inspector.manager.createInspector(snippet) - break - } - } - } - - $.oc.pages.snippetManager = SnippetManager -}(window.jQuery); diff --git a/controllers/Index.php b/controllers/Index.php index 148d52e..2424d3d 100644 --- a/controllers/Index.php +++ b/controllers/Index.php @@ -97,7 +97,6 @@ public function index() { $this->addJs('/plugins/rainlab/pages/assets/js/october.treeview.js', 'RainLab.Pages'); $this->addJs('/plugins/rainlab/pages/assets/js/pages-page.js', 'RainLab.Pages'); - $this->addJs('/plugins/rainlab/pages/assets/js/pages-snippets.js', 'RainLab.Pages'); $this->addCss('/plugins/rainlab/pages/assets/css/pages.css', 'RainLab.Pages'); $this->addCss('/plugins/rainlab/pages/assets/css/treeview.css', 'RainLab.Pages'); From c23fb6efb9486b90049522a31c887a55f5582169 Mon Sep 17 00:00:00 2001 From: October CMS Date: Mon, 5 Jun 2023 11:09:31 +1000 Subject: [PATCH 10/19] Rem snippet manager refs --- assets/js/pages-page.js | 6 ------ 1 file changed, 6 deletions(-) diff --git a/assets/js/pages-page.js b/assets/js/pages-page.js index 3102b28..d198bb4 100644 --- a/assets/js/pages-page.js +++ b/assets/js/pages-page.js @@ -19,7 +19,6 @@ this.$sidePanel = $('#pages-side-panel') this.$pageTree = $('[data-control=treeview]', this.$sidePanel) this.masterTabsObj = this.$masterTabs.data('oc.tab') - this.snippetManager = new $.oc.pages.snippetManager(this.$masterTabs) this.registerHandlers() } @@ -321,11 +320,6 @@ }, tabId = data.type + '-' + data.theme + '-' + data.path - if ($item.data('type') == 'snippet') { - this.snippetManager.onSidebarSnippetClick($item); - return; - } - /* * Find if the tab is already opened */ From 5799a4a36a6c01dac2ceb5b3be98f01a0c7a8bc4 Mon Sep 17 00:00:00 2001 From: October CMS Date: Mon, 5 Jun 2023 11:12:31 +1000 Subject: [PATCH 11/19] Remove legacy mode on editors --- classes/page/fields.yaml | 1 - controllers/Index.php | 21 ++------------------- 2 files changed, 2 insertions(+), 20 deletions(-) diff --git a/classes/page/fields.yaml b/classes/page/fields.yaml index 9a2350e..d25124a 100644 --- a/classes/page/fields.yaml +++ b/classes/page/fields.yaml @@ -63,6 +63,5 @@ secondaryTabs: markup: tab: rainlab.pages::lang.editor.content type: richeditor - legacyMode: true stretch: true size: huge diff --git a/controllers/Index.php b/controllers/Index.php index 2424d3d..7f8a2b7 100644 --- a/controllers/Index.php +++ b/controllers/Index.php @@ -534,27 +534,12 @@ protected function checkContentField($formWidget, $page) } } - /** - * modLegacyModeFields will ensure specific field types use legacy mode - */ - protected function modLegacyModeFields($fields) - { - foreach ($fields as &$fieldConfig) { - if (in_array($fieldConfig['type'], ['richeditor', 'codeeditor'])) { - $fieldConfig['legacyMode'] = true; - } - } - - return $fields; - } - /** * addPageSyntaxFields adds syntax defined fields to the form */ protected function addPageSyntaxFields($formWidget, $page) { $fields = $page->listLayoutSyntaxFields(); - $fields = $this->modLegacyModeFields($fields); foreach ($fields as $fieldCode => $fieldConfig) { if ($fieldConfig['type'] === 'fileupload') { @@ -564,7 +549,6 @@ protected function addPageSyntaxFields($formWidget, $page) if (in_array($fieldConfig['type'], ['repeater', 'nestedform'])) { if (empty($fieldConfig['form']) || !is_string($fieldConfig['form'])) { $repeaterFields = array_get($fieldConfig, 'fields', []); - $repeaterFields = $this->modLegacyModeFields($repeaterFields); $fieldConfig['form']['fields'] = $repeaterFields; unset($fieldConfig['fields']); } @@ -607,10 +591,9 @@ protected function addPagePlaceholders($formWidget, $page) $placeholderTitle = $info['title']; $fieldConfig = [ - 'tab' => $placeholderTitle, + 'tab' => $placeholderTitle, 'stretch' => '1', - 'size' => 'huge', - 'legacyMode' => true + 'size' => 'huge' ]; if ($info['type'] != 'text') { From cb1d690c235609a808998c16768a806b66aa4c47 Mon Sep 17 00:00:00 2001 From: October CMS Date: Mon, 5 Jun 2023 11:15:55 +1000 Subject: [PATCH 12/19] Process content via core snippet --- classes/Page.php | 51 ++++++++++++++++++------------------------- controllers/Index.php | 1 - 2 files changed, 21 insertions(+), 31 deletions(-) diff --git a/classes/Page.php b/classes/Page.php index ca73c88..3efe8aa 100644 --- a/classes/Page.php +++ b/classes/Page.php @@ -7,9 +7,9 @@ use Event; use Config; use Validator; -use RainLab\Pages\Classes\Snippet; use RainLab\Pages\Classes\PageList; use Cms\Classes\Theme; +use Cms\Classes\Snippet; use Cms\Classes\Layout; use Cms\Classes\Content as ContentBase; use Cms\Classes\ComponentManager; @@ -439,7 +439,7 @@ public function getLayoutObject() } /** - * Returns the Twig content string + * getTwigContent returns the Twig content string */ public function getTwigContent() { @@ -450,6 +450,9 @@ public function getTwigContent() // Syntax field processing // + /** + * listLayoutSyntaxFields + */ public function listLayoutSyntaxFields() { if (!$layout = $this->getLayoutObject()) { @@ -467,8 +470,9 @@ public function listLayoutSyntaxFields() // /** - * Returns information about placeholders defined in the page layout. - * @return array Returns an associative array of the placeholder name and codes. + * listLayoutPlaceholders gets information about placeholders defined in the page layout. + * Returns an associative array of the placeholder name and codes. + * @return array */ public function listLayoutPlaceholders() { @@ -509,7 +513,7 @@ public function listLayoutPlaceholders() } /** - * Recursively flattens a twig node and children + * flattenTwigNode recursively flattens a twig node and children * @param $node * @return array A flat array of twig nodes */ @@ -529,8 +533,9 @@ protected function flattenTwigNode($node) } /** - * Parses the page placeholder {% put %} tags and extracts the placeholder values. - * @return array Returns an associative array of the placeholder names and values. + * getPlaceholdersAttribute parses the page placeholder {% put %} tags and extracts the + * placeholder values. Returns an associative array of the placeholder names and values. + * @return array */ public function getPlaceholdersAttribute() { @@ -568,8 +573,8 @@ public function getPlaceholdersAttribute() } /** - * Takes an array of placeholder data (key: code, value: content) and renders - * it as a single string of Twig markup against the "code" attribute. + * setPlaceholdersAttribute takes an array of placeholder data (key: code, value: content) + * and renders it as a single string of Twig markup against the "code" attribute. * @param array $value * @return void */ @@ -609,33 +614,25 @@ public function getProcessedMarkup() return $this->processedMarkupCache; } - /* - * Process snippets - */ + // Process snippets $markup = Snippet::processPageMarkup( $this->getFileName(), $this->theme, $this->markup ); - /* - * Inject global view variables - */ + // Inject global view variables $globalVars = ViewHelper::getGlobalVars(); if (!empty($globalVars)) { $markup = TextParser::parse($markup, $globalVars); } - /* - * Process content using core parser - */ + // Process content using core parser if (class_exists(\Cms\Classes\PageLookup::class)) { $markup = \Cms\Classes\PageLookup::processMarkup($markup); } - /* - * Event hook - */ + // Event hook Event::fire('pages.page.getProcessedMarkup', [&$markup]); return $this->processedMarkupCache = $markup; @@ -647,26 +644,20 @@ public function getProcessedPlaceholderMarkup($placeholderName, $placeholderCont return $this->processedBlockMarkupCache[$placeholderName]; } - /* - * Process snippets - */ + // Process snippets $markup = Snippet::processPageMarkup( $this->getFileName().md5($placeholderName), $this->theme, $placeholderContents ); - /* - * Inject global view variables - */ + // Inject global view variables $globalVars = ViewHelper::getGlobalVars(); if (!empty($globalVars)) { $markup = TextParser::parse($markup, $globalVars); } - /* - * Event hook - */ + // Event hook Event::fire('pages.page.getProcessedPlaceholderMarkup', [&$markup]); return $this->processedBlockMarkupCache[$placeholderName] = $markup; diff --git a/controllers/Index.php b/controllers/Index.php index 7f8a2b7..084fef2 100644 --- a/controllers/Index.php +++ b/controllers/Index.php @@ -21,7 +21,6 @@ use RainLab\Pages\Classes\Content; use RainLab\Pages\Classes\MenuItem; use RainLab\Pages\Plugin as PagesPlugin; -use RainLab\Pages\Classes\SnippetManager; use ApplicationException; use Exception; From 198b827ea0b53594ee262ab44e07b089cf75ebea Mon Sep 17 00:00:00 2001 From: October CMS Date: Mon, 5 Jun 2023 11:27:38 +1000 Subject: [PATCH 13/19] Refit lang --- widgets/menulist/partials/_toolbar.htm | 2 +- widgets/pagelist/partials/_toolbar.htm | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/widgets/menulist/partials/_toolbar.htm b/widgets/menulist/partials/_toolbar.htm index 3fe3fa6..a57f93a 100644 --- a/widgets/menulist/partials/_toolbar.htm +++ b/widgets/menulist/partials/_toolbar.htm @@ -24,7 +24,7 @@ name="search" value="getSearchTerm()) ?>" class="form-control icon search" autocomplete="off" - placeholder="" + placeholder="" data-track-input data-load-indicator data-load-indicator-opaque diff --git a/widgets/pagelist/partials/_toolbar.htm b/widgets/pagelist/partials/_toolbar.htm index fa2dd82..96cc7b7 100644 --- a/widgets/pagelist/partials/_toolbar.htm +++ b/widgets/pagelist/partials/_toolbar.htm @@ -24,7 +24,7 @@ name="search" value="getSearchTerm()) ?>" class="form-control icon search" autocomplete="off" - placeholder="" + placeholder="" data-track-input data-load-indicator data-load-indicator-opaque From 53f93ca99b309dd11b3cbe017469b19ed090844d Mon Sep 17 00:00:00 2001 From: October CMS Date: Mon, 5 Jun 2023 11:57:15 +1000 Subject: [PATCH 14/19] Refit classes --- classes/Page.php | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/classes/Page.php b/classes/Page.php index 3efe8aa..155a1c3 100644 --- a/classes/Page.php +++ b/classes/Page.php @@ -628,8 +628,8 @@ public function getProcessedMarkup() } // Process content using core parser - if (class_exists(\Cms\Classes\PageLookup::class)) { - $markup = \Cms\Classes\PageLookup::processMarkup($markup); + if (class_exists(\Cms\Classes\PageManager::class)) { + $markup = \Cms\Classes\PageManager::processMarkup($markup); } // Event hook @@ -638,6 +638,9 @@ public function getProcessedMarkup() return $this->processedMarkupCache = $markup; } + /** + * getProcessedPlaceholderMarkup + */ public function getProcessedPlaceholderMarkup($placeholderName, $placeholderContents) { if (array_key_exists($placeholderName, $this->processedBlockMarkupCache)) { @@ -657,6 +660,11 @@ public function getProcessedPlaceholderMarkup($placeholderName, $placeholderCont $markup = TextParser::parse($markup, $globalVars); } + // Process content using core parser + if (class_exists(\Cms\Classes\PageManager::class)) { + $markup = \Cms\Classes\PageManager::processMarkup($markup); + } + // Event hook Event::fire('pages.page.getProcessedPlaceholderMarkup', [&$markup]); From 674ef0214791e0d70b998a2f183b1d5493021704 Mon Sep 17 00:00:00 2001 From: October CMS Date: Mon, 5 Jun 2023 15:55:10 +1000 Subject: [PATCH 15/19] Snippets processed via \Cms\Classes\PageManager::processMarkup --- Plugin.php | 6 ------ classes/Page.php | 14 ++------------ 2 files changed, 2 insertions(+), 18 deletions(-) diff --git a/Plugin.php b/Plugin.php index 68647ec..a964361 100644 --- a/Plugin.php +++ b/Plugin.php @@ -172,12 +172,6 @@ public function boot() } }); - // Event::listen('cms.template.getTemplateToolbarSettingsButtons', function($extension, $dataHolder) { - // if ($dataHolder->templateType === 'partial') { - // Snippet::extendEditorPartialToolbar($dataHolder); - // } - // }); - Event::listen('cms.template.save', function($controller, $template, $type) { Plugin::clearCache(); }); diff --git a/classes/Page.php b/classes/Page.php index 155a1c3..b8cb61f 100644 --- a/classes/Page.php +++ b/classes/Page.php @@ -614,12 +614,7 @@ public function getProcessedMarkup() return $this->processedMarkupCache; } - // Process snippets - $markup = Snippet::processPageMarkup( - $this->getFileName(), - $this->theme, - $this->markup - ); + $markup = $this->markup; // Inject global view variables $globalVars = ViewHelper::getGlobalVars(); @@ -647,12 +642,7 @@ public function getProcessedPlaceholderMarkup($placeholderName, $placeholderCont return $this->processedBlockMarkupCache[$placeholderName]; } - // Process snippets - $markup = Snippet::processPageMarkup( - $this->getFileName().md5($placeholderName), - $this->theme, - $placeholderContents - ); + $markup = $this->markup; // Inject global view variables $globalVars = ViewHelper::getGlobalVars(); From d7c66b0a22d6349ccd46e78f1cabe208e90ada84 Mon Sep 17 00:00:00 2001 From: October CMS Date: Mon, 5 Jun 2023 15:57:24 +1000 Subject: [PATCH 16/19] Upgrade config checks --- classes/Page.php | 2 +- classes/Router.php | 4 ++-- controllers/Index.php | 7 ++----- 3 files changed, 5 insertions(+), 8 deletions(-) diff --git a/classes/Page.php b/classes/Page.php index b8cb61f..a10ad56 100644 --- a/classes/Page.php +++ b/classes/Page.php @@ -937,7 +937,7 @@ public static function buildMenuTree($theme) $iterator($pageList->getPageTree(), null, 0); self::$menuTreeCache = $menuTree; - $comboConfig = Config::get('cms.parsedPageCacheTTL', Config::get('cms.template_cache_ttl', 10)); + $comboConfig = Config::get('cms.template_cache_ttl', 10); $expiresAt = now()->addMinutes($comboConfig); Cache::put($key, serialize($menuTree), $expiresAt); diff --git a/classes/Router.php b/classes/Router.php index c9cbd13..ac60c1a 100644 --- a/classes/Router.php +++ b/classes/Router.php @@ -100,7 +100,7 @@ protected function loadUrlMap() { $key = $this->getCacheKey('static-page-url-map'); - $cacheable = Config::get('cms.enableRoutesCache', Config::get('cms.enable_route_cache', false)); + $cacheable = Config::get('cms.enable_route_cache', false); $cached = $cacheable ? Cache::get($key, false) : false; if (!$cached || ($unserialized = @unserialize($cached)) === false) { @@ -136,7 +136,7 @@ protected function loadUrlMap() self::$urlMap = $map; if ($cacheable) { - $comboConfig = Config::get('cms.urlCacheTtl', Config::get('cms.url_cache_ttl', 10)); + $comboConfig = Config::get('cms.url_cache_ttl', 10); $expiresAt = now()->addMinutes($comboConfig); Cache::put($key, serialize($map), $expiresAt); } diff --git a/controllers/Index.php b/controllers/Index.php index 084fef2..225cb3c 100644 --- a/controllers/Index.php +++ b/controllers/Index.php @@ -693,9 +693,7 @@ protected function fillObjectFromPost($type) if ($type == 'page') { $placeholders = array_get($saveData, 'placeholders'); - - $comboConfig = Config::get('cms.convertLineEndings', Config::get('system.convert_line_endings', false)); - if (is_array($placeholders) && $comboConfig === true) { + if (is_array($placeholders) && Config::get('system.convert_line_endings', false) === true) { $placeholders = array_map([$this, 'convertLineEndings'], $placeholders); } @@ -728,8 +726,7 @@ protected function fillObjectFromPost($type) } } - $comboConfig = Config::get('cms.convertLineEndings', Config::get('system.convert_line_endings', false)); - if (!empty($objectData['markup']) && $comboConfig === true) { + if (!empty($objectData['markup']) && Config::get('system.convert_line_endings', false) === true) { $objectData['markup'] = $this->convertLineEndings($objectData['markup']); } From 7ddc170623b53febdae66a1bdd016d593a77f880 Mon Sep 17 00:00:00 2001 From: October CMS Date: Mon, 5 Jun 2023 16:24:27 +1000 Subject: [PATCH 17/19] Templating processing handled in core --- Plugin.php | 8 -------- 1 file changed, 8 deletions(-) diff --git a/Plugin.php b/Plugin.php index a964361..62e9f88 100644 --- a/Plugin.php +++ b/Plugin.php @@ -176,14 +176,6 @@ public function boot() Plugin::clearCache(); }); - // Event::listen('cms.template.processSettingsBeforeSave', function($controller, $dataHolder) { - // $dataHolder->settings = Snippet::processTemplateSettingsArray($dataHolder->settings); - // }); - - // Event::listen('cms.template.processSettingsAfterLoad', function($controller, $template, $context = null) { - // Snippet::processTemplateSettings($template, $context); - // }); - Event::listen('cms.template.processTwigContent', function($template, $dataHolder) { if ($template instanceof \Cms\Classes\Layout) { $dataHolder->content = Controller::instance()->parseSyntaxFields($dataHolder->content); From 5e48abbafb13f60e9126f82d2a68f5bd2b9fdd82 Mon Sep 17 00:00:00 2001 From: October CMS Date: Tue, 6 Jun 2023 14:59:00 +1000 Subject: [PATCH 18/19] Remove logic for prewarmed snippet components --- Plugin.php | 12 ++---------- classes/Controller.php | 9 --------- classes/Page.php | 34 ---------------------------------- 3 files changed, 2 insertions(+), 53 deletions(-) diff --git a/Plugin.php b/Plugin.php index 62e9f88..a04e506 100644 --- a/Plugin.php +++ b/Plugin.php @@ -109,26 +109,18 @@ public function boot() }); Event::listen('cms.page.beforeRenderPage', function($controller, $page) { - /* - * Before twig renders - */ + // Before twig renders $twig = $controller->getTwig(); $loader = $controller->getLoader(); Controller::instance()->injectPageTwig($page, $loader, $twig); - /* - * Get rendered content - */ + // Get rendered content $contents = Controller::instance()->getPageContents($page); if (strlen($contents)) { return $contents; } }); - Event::listen('cms.page.initComponents', function($controller, $page) { - Controller::instance()->initPageComponents($controller, $page); - }); - Event::listen('cms.block.render', function($blockName, $blockContents) { $page = CmsController::getController()->getPage(); diff --git a/classes/Controller.php b/classes/Controller.php index 579e36f..e77b3a6 100644 --- a/classes/Controller.php +++ b/classes/Controller.php @@ -99,15 +99,6 @@ public function getPlaceholderContents($page, $placeholderName, $placeholderCont return $page->apiBag['staticPage']->getProcessedPlaceholderMarkup($placeholderName, $placeholderContents); } - public function initPageComponents($cmsController, $page) - { - if (!isset($page->apiBag['staticPage'])) { - return; - } - - $page->apiBag['staticPage']->initCmsComponents($cmsController); - } - public function parseSyntaxFields($content) { try { diff --git a/classes/Page.php b/classes/Page.php index a10ad56..7f45eb5 100644 --- a/classes/Page.php +++ b/classes/Page.php @@ -661,40 +661,6 @@ public function getProcessedPlaceholderMarkup($placeholderName, $placeholderCont return $this->processedBlockMarkupCache[$placeholderName] = $markup; } - // - // Snippets - // - - /** - * Initializes CMS components associated with the page. - */ - public function initCmsComponents($cmsController) - { - $snippetComponents = Snippet::listPageComponents( - $this->getFileName(), - $this->theme, - $this->markup.$this->code - ); - - $componentManager = ComponentManager::instance(); - foreach ($snippetComponents as $componentInfo) { - // Register components for snippet-based components - // if they're not defined yet. This is required because - // not all snippet components are registered as components, - // but it's safe to register them in render-time. - - if (!$componentManager->hasComponent($componentInfo['class'])) { - $componentManager->registerComponent($componentInfo['class'], $componentInfo['alias']); - } - - $cmsController->addComponent( - $componentInfo['class'], - $componentInfo['alias'], - $componentInfo['properties'] - ); - } - } - // // Static Menu API // From 65f1337bc6210356ae7cd7b28c517d4af828eb1d Mon Sep 17 00:00:00 2001 From: October CMS Date: Fri, 23 Jun 2023 10:24:10 +1000 Subject: [PATCH 19/19] Minor --- formwidgets/Components.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/formwidgets/Components.php b/formwidgets/Components.php index 5f6421d..a56ae1e 100644 --- a/formwidgets/Components.php +++ b/formwidgets/Components.php @@ -1,9 +1,9 @@