Compare commits

...

39 Commits

Author SHA1 Message Date
Simon Vieille cf0f459aeb release v1.8.1 2020-08-14 13:31:13 +02:00
Simon Vieille b5ce8b92e1 fix issue with links 2020-08-14 13:30:48 +02:00
Simon Vieille 39aede4a73 release v1.8.0 2020-08-13 23:15:03 +02:00
Simon Vieille d9ea37ba62 fix cache and config key 2020-08-13 23:02:28 +02:00
Simon Vieille aad3038003 admin ui, remove debugging code 2020-08-13 22:24:41 +02:00
Simon Vieille 011d24d3bd add icon opacity 2020-08-13 22:07:09 +02:00
Simon Vieille 9eec0ce3ef add icon color filter range 2020-08-13 21:22:10 +02:00
Simon Vieille 831d2d81fc add documentation 2020-08-13 16:51:41 +02:00
Simon Vieille c6a43f755d fix issue with empty cat 2020-08-13 16:33:05 +02:00
Simon Vieille d30603c7d1 update the big-menu size when screen < 1024px 2020-08-13 16:13:31 +02:00
Simon Vieille aa9ba60680 fix issue with the classic display 2020-08-13 13:05:38 +02:00
Simon Vieille d3b7b99aae Merge branch 'feature/issue22-favorite-apps' into develop 2020-08-13 11:34:43 +02:00
Simon Vieille 3a431f16e7 release v1.8.0-rc1 2020-08-13 11:34:40 +02:00
Simon Vieille e4abc5b43f add PSR 2 compliance 2020-08-13 11:21:59 +02:00
Simon Vieille ef72c00fbb fix translations 2020-08-13 11:21:06 +02:00
Simon Vieille e1c6784d41 update visible apps order 2020-08-12 16:32:26 +02:00
Simon Vieille 3f2a307226 refactoring 2020-08-12 16:27:43 +02:00
Simon Vieille deca4b2cba fix issue with 'top-menu-apps' 2020-08-12 16:16:50 +02:00
Simon Vieille a1b1396b63 add add top-menu-apps option in the personal settings 2020-08-12 15:59:51 +02:00
Simon Vieille 9d9afff08d fix compatibility with the option 'hide-when-no-apps' 2020-08-12 14:06:52 +02:00
Simon Vieille ffab77aff2 add options to select apps that must be displayed in the top menu (replace exteral sites option) 2020-08-12 10:51:49 +02:00
Simon Vieille caa9c092ef add external links 2020-08-11 15:52:15 +02:00
Simon Vieille 8aa08dbc6b add compatibility with basic side menu options 2020-08-11 15:26:40 +02:00
Simon Vieille 460dac5faf update admin and personal pages 2020-08-11 15:26:17 +02:00
Simon Vieille ce5c806524 update ui of the big menu, add 'files' app 2020-08-11 13:34:36 +02:00
Simon Vieille 307f69906b add links 2020-08-11 10:40:31 +02:00
Simon Vieille 5a86e16861 update ui of the big menu 2020-08-11 10:34:06 +02:00
Simon Vieille 8c3dd2a4f6 remove personal setting for the big menu 2020-08-11 10:33:48 +02:00
Simon Vieille 8e0be738a6 add base of the big menu 2020-08-06 15:00:59 +02:00
Simon Vieille ddb7cc40ce refactor appinfo 2020-08-06 15:00:24 +02:00
Simon Vieille cdcc4ddd51 refactor js 2020-08-04 09:15:16 +02:00
Simon Vieille e1d450218c release v1.7.0 2020-05-19 15:23:25 +02:00
Simon Vieille 93c8ade21a release v1.6.4 2020-05-19 15:21:44 +02:00
Simon Vieille dcc19f5b23 add loader 2020-05-19 15:17:54 +02:00
Simon Vieille 6418e79d49 compatibility with nextcloud 19 2020-05-15 16:59:52 +02:00
Simon Vieille 9b4aecaf41 add documentation 2020-05-14 17:03:09 +02:00
Simon Vieille 46148167e9 add documentation 2020-05-14 17:02:23 +02:00
Simon Vieille a0f4eddab0 release v1.6.3 2020-05-14 15:31:20 +02:00
Simon Vieille 24bf8496f3 fix issue #20: add shortcut to open and to hide the menu 2020-05-14 15:30:34 +02:00
147 changed files with 1914 additions and 282 deletions
+27 -36
View File
@@ -1,57 +1,33 @@
🤙 Nextcloud app / Side menu 🎨
===============================
Side menu allows you to modify the position of the main menu by creating a panel on the left of the interface.
Side menu allows you to modify the position of the main menu by creating a panel on the left of the interface or with a big menu on the top.
You can also define apps that must be displayed in the top menu. Fully customisable.
This application is rather suitable for instances that activate a lot of applications.
Comptatible with AppOrder.
Installation
------------
* [Installation and upgrade](#installation-and-upgrade)
* [How to contribute?](#how-to-contribute)
* [Preview](#preview)
Side menu is availabe from the app store.
Installation and upgrade
------------------------
If you want to install it from source: go to https://gitnet.fr/deblan/side_menu/releases and download the last release (side_menu_vX.Y.Z.zip).
Copy the archive to your Nextcloud server.
Side menu is availabe from the app store. If you want to install it from source: go to https://gitnet.fr/deblan/side_menu/releases and download the last release (side_menu_vX.Y.Z.zip). Copy the content into `apps`.
```
$ cd /path/to/nextcloud/apps
$ unzip -d side_menu /path/to/side_menu_vX.Y.Z.zip
```
### Upgrade
Side menu can be upgraded from the app store.
If you want to install it from source: go to https://gitnet.fr/deblan/side_menu/releases and download the last release (side_menu_vX.Y.Z.zip).
Copy the archive to your Nextcloud server.
```
$ cd /path/to/nextcloud/apps
$ rm -frv side_menu
$ unzip -d side_menu /path/to/side_menu_vX.Y.Z.zip
```
Preview
-------
![](https://upload.deblan.org/u/2020-03/5e81b219.jpg)
![](https://upload.deblan.org/u/2020-03/5e7fab2b.jpg)
![](https://upload.deblan.org/u/2020-05/5eb6b76e.png)
![](https://upload.deblan.org/u/2020-05/5eb6b78a.png)
Configuration
-------------
Administrators can edit many settings using the administration page.
Users can disable the menu using the page of personal settings.
Use the shortcut `Ctrl`+`o` to open and to hide the side menu. Use `tab` to navigate.
How to contribute?
------------------
@@ -64,6 +40,21 @@ If you are a developer:
* go to `apps/` and clone your repository
* go to `apps/side_menu` and run `npm install`
Build javascripts using `webpack --config ./webpack.js` (add `-w` to build them in real time).
Build javascripts using `npm run build` (or `npm run watch` to build them in real time).
Then commit and create a pull request.
Previews
--------
![](https://upload.deblan.org/u/2020-03/5e81b219.jpg)
![](https://upload.deblan.org/u/2020-03/5e7fab2b.jpg)
![](https://upload.deblan.org/u/2020-08/5f3551d1.png)
![](https://upload.deblan.org/u/2020-08/5f3551f0.png)
![](https://upload.deblan.org/u/2020-08/5f35aae1.png)
![](https://upload.deblan.org/u/2020-08/5f35ab0f.png)
+5 -66
View File
@@ -1,71 +1,10 @@
<?php
/**
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
use OCA\SideMenu\AppInfo\Application;
namespace OCA\SideMenu\Appinfo;
$app = new Application();
use OC\Security\CSP\ContentSecurityPolicy;
use OCP\Util;
use OCP\IUserSession;
$config = \OC::$server->getConfig();
$cspnm = \OC::$server->getContentSecurityPolicyNonceManager();
$user = \OC::$server[IUserSession::class]->getUser();
$enabled = true;
if ($user !== null) {
$enabled = (bool) $config->getUserValue($user->getUid(), 'side_menu', 'enabled', '1');
}
if ($enabled) {
Util::addScript('side_menu', 'sideMenu');
Util::addStyle('side_menu', 'sideMenu');
$stylesheet = \OC::$server->getURLGenerator()->linkToRoute(
'side_menu.Css.stylesheet',
[
'v' => $config->getAppValue('side_menu', 'cache', '0'),
]
);
$script = \OC::$server->getURLGenerator()->linkToRoute(
'side_menu.Js.script',
[
'v' => $config->getAppValue('side_menu', 'cache', '0'),
]
);
Util::addHeader(
'link',
[
'href' => $stylesheet,
'rel' => 'stylesheet'
],
''
);
Util::addHeader(
'script',
[
'src' => $script,
'nonce' => $cspnm->getNonce(),
],
''
);
if ($app->isEnabled()) {
$app->registerAssets();
$app->registerServices();
}
+11 -5
View File
@@ -3,9 +3,13 @@
<id>side_menu</id>
<name>Side menu</name>
<summary>Move the top menu to the left side.</summary>
<description><![CDATA[Side menu allows you to modify the position of the main menu by creating a panel on the left of the interface.
<description><![CDATA[Side menu allows you to modify the position of the main menu by creating a panel on the left of the interface or with a big menu on the top.
You can also define apps that must be displayed in the top menu. Fully customisable.
This application is rather suitable for instances that activate a lot of applications.
Use the shortcut `Ctrl`+`o` to open and to hide the side menu. Use `tab` to navigate.
Comptatible with AppOrder.
You can report a bug or request a feature by opening an issue.
@@ -13,7 +17,7 @@ You can report a bug or request a feature by opening an issue.
]]></description>
<licence>agpl</licence>
<author mail="contact@deblan.fr" homepage="https://www.deblan.io/">Simon Vieille</author>
<version>1.6.2</version>
<version>1.8.1</version>
<namespace>SideMenu</namespace>
<category>customization</category>
<website>https://gitnet.fr/deblan/side_menu</website>
@@ -21,10 +25,12 @@ You can report a bug or request a feature by opening an issue.
<repository type="git">https://gitnet.fr/deblan/side_menu</repository>
<screenshot>https://upload.deblan.org/u/2020-03/5e81b219.jpg</screenshot>
<screenshot>https://upload.deblan.org/u/2020-03/5e7fab2b.jpg</screenshot>
<screenshot>https://upload.deblan.org/u/2020-05/5eb6b76e.png</screenshot>
<screenshot>https://upload.deblan.org/u/2020-05/5eb6b78a.png</screenshot>
<screenshot>https://upload.deblan.org/u/2020-08/5f3551d1.png</screenshot>
<screenshot>https://upload.deblan.org/u/2020-08/5f3551f0.png</screenshot>
<screenshot>https://upload.deblan.org/u/2020-08/5f35aae1.png</screenshot>
<screenshot>https://upload.deblan.org/u/2020-08/5f35ab0f.png</screenshot>
<dependencies>
<nextcloud min-version="18" max-version="18"/>
<nextcloud min-version="18" max-version="19"/>
</dependencies>
<settings>
<admin>OCA\SideMenu\Settings\Admin</admin>
+1
View File
@@ -21,6 +21,7 @@ return [
'routes' => [
['name' => 'Css#stylesheet', 'url' => '/css/stylesheet', 'verb' => 'GET'],
['name' => 'Js#script', 'url' => '/js/script', 'verb' => 'GET'],
['name' => 'Nav#items', 'url' => '/nav/items', 'verb' => 'GET'],
['name' => 'PersonalSetting#valueSet', 'url' => '/personalSetting/valueSet', 'verb' => 'POST'],
],
];
+19
View File
@@ -20,6 +20,25 @@
margin: 10px 0 10px 0;
}
#side-menu-section input[type="checkbox"] {
vertical-align: middle;
}
#side-menu-section input[type="range"] {
vertical-align: middle;
}
#side-menu-section select {
margin: 10px 0 10px 0;
}
.keyboard-key {
padding: 1px 9px;
margin: 0 2px;
background: #eee;
border: 1px solid #aaa;
color: #555;
border-radius: 3px;
}
+87 -1
View File
@@ -63,6 +63,8 @@
width: 20px;
vertical-align: top;
margin-right: 10px;
filter: invert(var(--side-menu-icon-invert-filter, 0%));
opacity: var(--side-menu-icon-opacity, 1);
}
.side-menu-app-icon svg {
@@ -80,7 +82,7 @@
white-space: nowrap;
}
.side-menu-app a:hover, .side-menu-app.active a {
.side-menu-app a:hover, .side-menu-app.active, .side-menu-app a:focus {
background: var(--side-menu-current-app-background-color, #444);
}
@@ -107,3 +109,87 @@
#side-menu.hide-opener .side-menu-logo {
margin-top: 20px;
}
#side-menu-loader {
position: fixed;
top: 0;
left: 0;
width: 100%;
z-index: 3001;
}
#side-menu-loader-bar {
height: 4px;
background: var(--side-menu-loader-color, #0e75ac);
width: 0;
transition-property: width;
}
#side-menu.side-menu-big {
max-width: 100%;
height: auto;
}
.side-menu-big .side-menu-header {
height: auto;
}
.side-menu-big .side-menu-apps-list {
height: auto;
position: static;
max-width: 100vw;
overflow: auto;
}
.side-menu-big .side-menu-app a {
padding: 7px 0 7px 7px;
}
.side-menu-categories-wrapper {
padding-bottom: 70px;
}
.side-menu-categories {
max-height: calc(100vh - 50px);
overflow: auto;
position: relative;
top: 50px;
display: flex;
flex-wrap: wrap;
justify-content: center;
padding: 0 10% 0 10%;
}
.side-menu-category {
padding: 10px 20px;
flex: 1 1 auto;
}
.side-menu-category-title {
padding-left: 10px;
color: var(--side-menu-text-color, #fff);
}
.side-menu-big .side-menu-app-icon {
vertical-align: middle;
margin-top: -2px;
}
@media screen and (max-width: 1024px) {
#side-menu.side-menu-big {
max-width: 290px;
}
.side-menu-categories {
display: block;
padding: 0;
}
.side-menu-category {
padding: 10px 0;
}
#side-menu.side-menu-big {
height: 100vh;
}
}
+7
View File
@@ -0,0 +1,7 @@
OC.L10N.register(
"side_menu",
{
"Side menu": "Side menu",
},
"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
);
+6
View File
@@ -0,0 +1,6 @@
{
"translations": {
"Side menu": "Side menu"
},
"pluralForm": "nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
}
+7
View File
@@ -0,0 +1,7 @@
OC.L10N.register(
"side_menu",
{
"Side menu": "Side menu",
},
"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
);
+6
View File
@@ -0,0 +1,6 @@
{
"translations": {
"Side menu": "Side menu"
},
"pluralForm": "nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
}
+7
View File
@@ -0,0 +1,7 @@
OC.L10N.register(
"side_menu",
{
"Side menu": "Side menu",
},
"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
);
+6
View File
@@ -0,0 +1,6 @@
{
"translations": {
"Side menu": "Side menu"
},
"pluralForm": "nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
}
+7
View File
@@ -0,0 +1,7 @@
OC.L10N.register(
"side_menu",
{
"Side menu": "Side menu",
},
"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
);
+6
View File
@@ -0,0 +1,6 @@
{
"translations": {
"Side menu": "Side menu"
},
"pluralForm": "nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
}
+7
View File
@@ -0,0 +1,7 @@
OC.L10N.register(
"side_menu",
{
"Side menu": "Side menu",
},
"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
);
+6
View File
@@ -0,0 +1,6 @@
{
"translations": {
"Side menu": "Side menu"
},
"pluralForm": "nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
}
+7
View File
@@ -0,0 +1,7 @@
OC.L10N.register(
"side_menu",
{
"Side menu": "Side menu",
},
"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
);
+6
View File
@@ -0,0 +1,6 @@
{
"translations": {
"Side menu": "Side menu"
},
"pluralForm": "nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
}
+7
View File
@@ -0,0 +1,7 @@
OC.L10N.register(
"side_menu",
{
"Side menu": "Side menu",
},
"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
);
+6
View File
@@ -0,0 +1,6 @@
{
"translations": {
"Side menu": "Side menu"
},
"pluralForm": "nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
}
+7
View File
@@ -0,0 +1,7 @@
OC.L10N.register(
"side_menu",
{
"Side menu": "Side menu",
},
"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
);
+6
View File
@@ -0,0 +1,6 @@
{
"translations": {
"Side menu": "Side menu"
},
"pluralForm": "nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
}
+7
View File
@@ -0,0 +1,7 @@
OC.L10N.register(
"side_menu",
{
"Side menu": "Side menu",
},
"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
);
+6
View File
@@ -0,0 +1,6 @@
{
"translations": {
"Side menu": "Side menu"
},
"pluralForm": "nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
}
+7
View File
@@ -0,0 +1,7 @@
OC.L10N.register(
"side_menu",
{
"Side menu": "Side menu",
},
"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
);
+6
View File
@@ -0,0 +1,6 @@
{
"translations": {
"Side menu": "Side menu"
},
"pluralForm": "nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
}
+7
View File
@@ -0,0 +1,7 @@
OC.L10N.register(
"side_menu",
{
"Side menu": "Side menu",
},
"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
);
+6
View File
@@ -0,0 +1,6 @@
{
"translations": {
"Side menu": "Side menu"
},
"pluralForm": "nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
}
+7
View File
@@ -0,0 +1,7 @@
OC.L10N.register(
"side_menu",
{
"Side menu": "Side menu",
},
"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
);
+6
View File
@@ -0,0 +1,6 @@
{
"translations": {
"Side menu": "Side menu"
},
"pluralForm": "nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
}
+7
View File
@@ -0,0 +1,7 @@
OC.L10N.register(
"side_menu",
{
"Side menu": "Side menu",
},
"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
);
+6
View File
@@ -0,0 +1,6 @@
{
"translations": {
"Side menu": "Side menu"
},
"pluralForm": "nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
}
+7
View File
@@ -0,0 +1,7 @@
OC.L10N.register(
"side_menu",
{
"Side menu": "Side menu",
},
"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
);
+6
View File
@@ -0,0 +1,6 @@
{
"translations": {
"Side menu": "Side menu"
},
"pluralForm": "nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
}
+7
View File
@@ -0,0 +1,7 @@
OC.L10N.register(
"side_menu",
{
"Side menu": "Side menu",
},
"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
);
+6
View File
@@ -0,0 +1,6 @@
{
"translations": {
"Side menu": "Side menu"
},
"pluralForm": "nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
}
+7
View File
@@ -0,0 +1,7 @@
OC.L10N.register(
"side_menu",
{
"Side menu": "Side menu",
},
"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
);
+6
View File
@@ -0,0 +1,6 @@
{
"translations": {
"Side menu": "Side menu"
},
"pluralForm": "nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
}
+7
View File
@@ -0,0 +1,7 @@
OC.L10N.register(
"side_menu",
{
"Side menu": "Side menu",
},
"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
);
+6
View File
@@ -0,0 +1,6 @@
{
"translations": {
"Side menu": "Side menu"
},
"pluralForm": "nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
}
+7
View File
@@ -0,0 +1,7 @@
OC.L10N.register(
"side_menu",
{
"Side menu": "Side menu",
},
"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
);
+6
View File
@@ -0,0 +1,6 @@
{
"translations": {
"Side menu": "Side menu"
},
"pluralForm": "nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
}
+7
View File
@@ -0,0 +1,7 @@
OC.L10N.register(
"side_menu",
{
"Side menu": "Side menu",
},
"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
);
+6
View File
@@ -0,0 +1,6 @@
{
"translations": {
"Side menu": "Side menu"
},
"pluralForm": "nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
}
+7
View File
@@ -0,0 +1,7 @@
OC.L10N.register(
"side_menu",
{
"Side menu": "Side menu",
},
"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
);
+6
View File
@@ -0,0 +1,6 @@
{
"translations": {
"Side menu": "Side menu"
},
"pluralForm": "nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
}
+7
View File
@@ -0,0 +1,7 @@
OC.L10N.register(
"side_menu",
{
"Side menu": "Side menu",
},
"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
);
+6
View File
@@ -0,0 +1,6 @@
{
"translations": {
"Side menu": "Side menu"
},
"pluralForm": "nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
}
+7
View File
@@ -0,0 +1,7 @@
OC.L10N.register(
"side_menu",
{
"Side menu": "Side menu",
},
"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
);
+6
View File
@@ -0,0 +1,6 @@
{
"translations": {
"Side menu": "Side menu"
},
"pluralForm": "nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
}
+7
View File
@@ -0,0 +1,7 @@
OC.L10N.register(
"side_menu",
{
"Side menu": "Side menu",
},
"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
);
+6
View File
@@ -0,0 +1,6 @@
{
"translations": {
"Side menu": "Side menu"
},
"pluralForm": "nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
}
+7
View File
@@ -0,0 +1,7 @@
OC.L10N.register(
"side_menu",
{
"Side menu": "Side menu",
},
"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
);
+6
View File
@@ -0,0 +1,6 @@
{
"translations": {
"Side menu": "Side menu"
},
"pluralForm": "nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
}
+7
View File
@@ -0,0 +1,7 @@
OC.L10N.register(
"side_menu",
{
"Side menu": "Side menu",
},
"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
);
+6
View File
@@ -0,0 +1,6 @@
{
"translations": {
"Side menu": "Side menu"
},
"pluralForm": "nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
}
+7
View File
@@ -0,0 +1,7 @@
OC.L10N.register(
"side_menu",
{
"Side menu": "Side menu",
},
"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
);
+6
View File
@@ -0,0 +1,6 @@
{
"translations": {
"Side menu": "Side menu"
},
"pluralForm": "nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
}
+7
View File
@@ -0,0 +1,7 @@
OC.L10N.register(
"side_menu",
{
"Side menu": "Side menu",
},
"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
);
+6
View File
@@ -0,0 +1,6 @@
{
"translations": {
"Side menu": "Side menu"
},
"pluralForm": "nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
}
+7
View File
@@ -0,0 +1,7 @@
OC.L10N.register(
"side_menu",
{
"Side menu": "Side menu",
},
"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
);
+6
View File
@@ -0,0 +1,6 @@
{
"translations": {
"Side menu": "Side menu"
},
"pluralForm": "nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
}
+7
View File
@@ -0,0 +1,7 @@
OC.L10N.register(
"side_menu",
{
"Side menu": "Side menu",
},
"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
);
+6
View File
@@ -0,0 +1,6 @@
{
"translations": {
"Side menu": "Side menu"
},
"pluralForm": "nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
}
+7
View File
@@ -0,0 +1,7 @@
OC.L10N.register(
"side_menu",
{
"Side menu": "Side menu",
},
"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
);
+6
View File
@@ -0,0 +1,6 @@
{
"translations": {
"Side menu": "Side menu"
},
"pluralForm": "nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
}
+7
View File
@@ -0,0 +1,7 @@
OC.L10N.register(
"side_menu",
{
"Side menu": "Side menu",
},
"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
);
+6
View File
@@ -0,0 +1,6 @@
{
"translations": {
"Side menu": "Side menu"
},
"pluralForm": "nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
}
+7
View File
@@ -0,0 +1,7 @@
OC.L10N.register(
"side_menu",
{
"Side menu": "Side menu",
},
"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
);
+6
View File
@@ -0,0 +1,6 @@
{
"translations": {
"Side menu": "Side menu"
},
"pluralForm": "nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
}
+7
View File
@@ -0,0 +1,7 @@
OC.L10N.register(
"side_menu",
{
"Side menu": "Menu latéral",
},
"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
);
+6
View File
@@ -0,0 +1,6 @@
{
"translations": {
"Side menu": "Menu latéral"
},
"pluralForm": "nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
}
+7
View File
@@ -0,0 +1,7 @@
OC.L10N.register(
"side_menu",
{
"Side menu": "Side menu",
},
"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
);
+6
View File
@@ -0,0 +1,6 @@
{
"translations": {
"Side menu": "Side menu"
},
"pluralForm": "nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
}
+7
View File
@@ -0,0 +1,7 @@
OC.L10N.register(
"side_menu",
{
"Side menu": "Side menu",
},
"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
);
+6
View File
@@ -0,0 +1,6 @@
{
"translations": {
"Side menu": "Side menu"
},
"pluralForm": "nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
}
+7
View File
@@ -0,0 +1,7 @@
OC.L10N.register(
"side_menu",
{
"Side menu": "Side menu",
},
"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
);
+6
View File
@@ -0,0 +1,6 @@
{
"translations": {
"Side menu": "Side menu"
},
"pluralForm": "nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
}
+7
View File
@@ -0,0 +1,7 @@
OC.L10N.register(
"side_menu",
{
"Side menu": "Side menu",
},
"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
);
+6
View File
@@ -0,0 +1,6 @@
{
"translations": {
"Side menu": "Side menu"
},
"pluralForm": "nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
}
+7
View File
@@ -0,0 +1,7 @@
OC.L10N.register(
"side_menu",
{
"Side menu": "Side menu",
},
"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
);
+6
View File
@@ -0,0 +1,6 @@
{
"translations": {
"Side menu": "Side menu"
},
"pluralForm": "nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
}
+7
View File
@@ -0,0 +1,7 @@
OC.L10N.register(
"side_menu",
{
"Side menu": "Side menu",
},
"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
);
+6
View File
@@ -0,0 +1,6 @@
{
"translations": {
"Side menu": "Side menu"
},
"pluralForm": "nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
}
+7
View File
@@ -0,0 +1,7 @@
OC.L10N.register(
"side_menu",
{
"Side menu": "Side menu",
},
"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
);
+6
View File
@@ -0,0 +1,6 @@
{
"translations": {
"Side menu": "Side menu"
},
"pluralForm": "nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
}
+7
View File
@@ -0,0 +1,7 @@
OC.L10N.register(
"side_menu",
{
"Side menu": "Side menu",
},
"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
);
+6
View File
@@ -0,0 +1,6 @@
{
"translations": {
"Side menu": "Side menu"
},
"pluralForm": "nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
}
+7
View File
@@ -0,0 +1,7 @@
OC.L10N.register(
"side_menu",
{
"Side menu": "Side menu",
},
"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
);
+6
View File
@@ -0,0 +1,6 @@
{
"translations": {
"Side menu": "Side menu"
},
"pluralForm": "nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
}
+7
View File
@@ -0,0 +1,7 @@
OC.L10N.register(
"side_menu",
{
"Side menu": "Side menu",
},
"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
);
+6
View File
@@ -0,0 +1,6 @@
{
"translations": {
"Side menu": "Side menu"
},
"pluralForm": "nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
}
+7
View File
@@ -0,0 +1,7 @@
OC.L10N.register(
"side_menu",
{
"Side menu": "Side menu",
},
"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
);
+6
View File
@@ -0,0 +1,6 @@
{
"translations": {
"Side menu": "Side menu"
},
"pluralForm": "nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
}
+7
View File
@@ -0,0 +1,7 @@
OC.L10N.register(
"side_menu",
{
"Side menu": "Side menu",
},
"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
);
+6
View File
@@ -0,0 +1,6 @@
{
"translations": {
"Side menu": "Side menu"
},
"pluralForm": "nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
}
+7
View File
@@ -0,0 +1,7 @@
OC.L10N.register(
"side_menu",
{
"Side menu": "Side menu",
},
"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
);
+6
View File
@@ -0,0 +1,6 @@
{
"translations": {
"Side menu": "Side menu"
},
"pluralForm": "nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
}
+7
View File
@@ -0,0 +1,7 @@
OC.L10N.register(
"side_menu",
{
"Side menu": "Side menu",
},
"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
);
+6
View File
@@ -0,0 +1,6 @@
{
"translations": {
"Side menu": "Side menu"
},
"pluralForm": "nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
}

Some files were not shown because too many files have changed in this diff Show More