mirror of
https://github.com/nextcloud/server.git
synced 2024-08-28 05:54:51 +02:00
Merge branch 'master' into patch-20
Signed-off-by: Jérôme Herbinet <33763786+Jerome-Herbinet@users.noreply.github.com>
This commit is contained in:
commit
16361bed5e
@ -1,34 +1,56 @@
|
||||
FROM ubuntu:focal
|
||||
FROM ubuntu:jammy
|
||||
|
||||
ARG DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
# PHP
|
||||
RUN apt-get update -y
|
||||
RUN apt-get update -y && \
|
||||
apt install -y apache2 vim software-properties-common sudo nano gnupg2
|
||||
|
||||
RUN apt-get install --no-install-recommends -y \
|
||||
php7.4 \
|
||||
php7.4-gd \
|
||||
php7.4-zip \
|
||||
php7.4-curl \
|
||||
php7.4-xml \
|
||||
php7.4-mbstring \
|
||||
php7.4-sqlite \
|
||||
php7.4-xdebug \
|
||||
php7.4-pgsql \
|
||||
php7.4-intl \
|
||||
php7.4-imagick \
|
||||
php7.4-gmp \
|
||||
php7.4-apcu \
|
||||
php7.4-bcmath \
|
||||
php8.1 \
|
||||
php8.1-common \
|
||||
php8.1-gd \
|
||||
php8.1-zip \
|
||||
php8.1-curl \
|
||||
php8.1-xml \
|
||||
php8.1-xmlrpc \
|
||||
php8.1-mbstring \
|
||||
php8.1-sqlite \
|
||||
php8.1-xdebug \
|
||||
php8.1-pgsql \
|
||||
php8.1-intl \
|
||||
php8.1-imagick \
|
||||
php8.1-gmp \
|
||||
php8.1-apcu \
|
||||
php8.1-bcmath \
|
||||
php8.1-redis \
|
||||
php8.1-soap \
|
||||
php8.1-imap \
|
||||
php8.1-opcache \
|
||||
php8.1-cli \
|
||||
php8.1-dev \
|
||||
libmagickcore-6.q16-3-extra \
|
||||
curl \
|
||||
vim \
|
||||
lsof \
|
||||
make \
|
||||
nodejs \
|
||||
npm
|
||||
unzip
|
||||
|
||||
RUN echo "xdebug.remote_enable = 1" >> /etc/php/7.4/cli/conf.d/20-xdebug.ini
|
||||
RUN echo "xdebug.remote_autostart = 1" >> /etc/php/7.4/cli/conf.d/20-xdebug.ini
|
||||
# Composer
|
||||
RUN curl -sS https://getcomposer.org/installer -o /tmp/composer-setup.php && \
|
||||
curl -sS https://composer.github.io/installer.sig -o /tmp/composer-setup.sig && \
|
||||
php -r "if (hash_file('sha384', '/tmp/composer-setup.php') !== trim(file_get_contents('/tmp/composer-setup.sig'))) { echo 'Composer installation failed, invalid hash'; exit(1); }" && \
|
||||
php /tmp/composer-setup.php --install-dir=/usr/local/bin --filename=composer && \
|
||||
rm /tmp/composer-setup.php /tmp/composer-setup.sig
|
||||
|
||||
RUN echo "xdebug.remote_enable = 1" >> /etc/php/8.1/cli/conf.d/20-xdebug.ini && \
|
||||
echo "xdebug.remote_autostart = 1" >> /etc/php/8.1/cli/conf.d/20-xdebug.ini && \
|
||||
echo "apc.enable_cli=1" >> /etc/php/8.1/cli/conf.d/20-apcu.ini
|
||||
|
||||
# Autostart XDebug for apache
|
||||
RUN { \
|
||||
echo "xdebug.mode=debug"; \
|
||||
echo "xdebug.start_with_request=yes"; \
|
||||
} >> /etc/php/8.1/apache2/conf.d/20-xdebug.ini
|
||||
|
||||
# Docker
|
||||
RUN apt-get -y install \
|
||||
@ -36,12 +58,29 @@ RUN apt-get -y install \
|
||||
ca-certificates \
|
||||
curl \
|
||||
gnupg-agent \
|
||||
software-properties-common
|
||||
RUN curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add -
|
||||
RUN add-apt-repository \
|
||||
software-properties-common && \
|
||||
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add - && \
|
||||
add-apt-repository \
|
||||
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
|
||||
$(lsb_release -cs) \
|
||||
stable"
|
||||
RUN apt-get update -y
|
||||
RUN apt-get install -y docker-ce docker-ce-cli containerd.io
|
||||
RUN ln -s /var/run/docker-host.sock /var/run/docker.sock
|
||||
stable" && \
|
||||
apt-get update -y && \
|
||||
apt-get install -y docker-ce docker-ce-cli containerd.io && \
|
||||
ln -s /var/run/docker-host.sock /var/run/docker.sock
|
||||
|
||||
# Dedicated DevContainer user runs Apache
|
||||
ENV APACHE_RUN_USER=devcontainer
|
||||
ENV APACHE_RUN_GROUP=devcontainer
|
||||
RUN useradd -ms /bin/bash ${APACHE_RUN_USER} && \
|
||||
adduser ${APACHE_RUN_USER} sudo && \
|
||||
echo '%sudo ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers && \
|
||||
sed -ri "s/^export APACHE_RUN_USER=.*$/export APACHE_RUN_USER=${APACHE_RUN_USER}/" "/etc/apache2/envvars" && \
|
||||
sed -ri "s/^export APACHE_RUN_GROUP=.*$/export APACHE_RUN_GROUP=${APACHE_RUN_GROUP}/" "/etc/apache2/envvars"
|
||||
|
||||
USER devcontainer
|
||||
|
||||
# NVM
|
||||
RUN curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
|
||||
RUN bash --login -i -c 'source /home/devcontainer/.bashrc && nvm install 16'
|
||||
|
||||
WORKDIR /var/www/html
|
||||
|
72
.devcontainer/README.md
Normal file
72
.devcontainer/README.md
Normal file
@ -0,0 +1,72 @@
|
||||
# Nextcloud DevContainer
|
||||
|
||||
## Usage
|
||||
|
||||
Make sure you have the [VSCode DevContainer](https://code.visualstudio.com/docs/devcontainers/containers) extensions installed. If you open the project, VSCode will ask you if you want to open it inside of the DevContainer. If that's not the case, use <kbd>F1</kbd>→*Dev Containers: Open Folder in Container*.
|
||||
|
||||
Alternatively open the project directly in [GitHub Codespaces](https://github.com/features/codespaces).
|
||||
|
||||
That's already it. Everything else will be configured automatically by the Containers startup routine.
|
||||
|
||||
## Credentials
|
||||
|
||||
On first start the Container installs and configures Nextcloud with the following credentials:
|
||||
|
||||
**Nextcloud Admin Login**
|
||||
|
||||
Username: `admin` <br>
|
||||
Password: `admin`
|
||||
|
||||
**Postgres credentials**
|
||||
|
||||
Username: `postgres` <br>
|
||||
Password: `postgres` <br>
|
||||
Database: `postgres`
|
||||
|
||||
## Services
|
||||
|
||||
The following services will be started:
|
||||
|
||||
| Service | Local port | Description |
|
||||
|---------|------------|-------------|
|
||||
| Nextcloud (served via Apache) | `80` | The main application |
|
||||
| Mailhog | `8025` | SMTP email delivery for testing |
|
||||
| Adminer | `8080` | Database viewer. Use credentials from above and connect to `localhost` to get access to the NC database |
|
||||
|
||||
## Permissions
|
||||
|
||||
The container runs with the user `devcontainer` who is also running the Apache2 process. All mounted source files have
|
||||
proper permissions so that this user can access everything which is inside the current workspace. If you need to
|
||||
get root permissions for whatever reason, use `sudo su` or `sudo <command>` (for example `sudo service apache2 restart`).
|
||||
Everything else (like building the application, adjusting files, ...) should be done as `devcontainer` user.
|
||||
|
||||
## NodeJs and NVM
|
||||
|
||||
The container comes with [`nvm`](https://github.com/nvm-sh/nvm) and Node 16 installed. This should be sufficient to
|
||||
build Nextcloud Core sources via `make`. If you need a different Node Version (for example for
|
||||
app development), you can easily switch between different versions by running:
|
||||
|
||||
```bash
|
||||
# Install and use Node 14
|
||||
nvm install 14
|
||||
nvm use 14
|
||||
|
||||
# Check version
|
||||
node -v
|
||||
|
||||
# Switch back to Node 16
|
||||
nvm use 16
|
||||
|
||||
# Check version
|
||||
node -v
|
||||
```
|
||||
|
||||
Note that `nvm` is only installed for the user `devcontainer` and won't work out of the box for
|
||||
any other user.
|
||||
|
||||
## Debugging
|
||||
|
||||
The Apache webserver is already configured to automatically try to connect to a debugger process
|
||||
listening on port `9003`. To start the VSCode debugger process, use the delivered debug profile `Listen for XDebug`.
|
||||
After you started the VSCode debugger, just navigate to the appropriate Nextcloud URL to get your
|
||||
debug hits.
|
@ -14,6 +14,9 @@ $CONFIG = [
|
||||
];
|
||||
|
||||
if(is_string($codespaceName) && !empty($codespaceName) && is_string($codespaceDomain) && !empty($codespaceDomain)) {
|
||||
$CONFIG['overwritehost'] = $codespaceName . '-80.' . $codespaceDomain;
|
||||
$host = $codespaceName . '-80.' . $codespaceDomain;
|
||||
$CONFIG['overwritehost'] = $host;
|
||||
$CONFIG['overwrite.cli.url'] = 'https://' . $host;
|
||||
$CONFIG['overwriteprotocol'] = 'https';
|
||||
$CONFIG['trusted_domains'] = [ $host ];
|
||||
}
|
||||
|
@ -8,15 +8,20 @@
|
||||
8080,
|
||||
8025
|
||||
],
|
||||
"runArgs": [
|
||||
"--privileged"
|
||||
],
|
||||
"extensions": [
|
||||
"felixfbecker.php-debug",
|
||||
"felixfbecker.php-intellisense",
|
||||
"ms-azuretools.vscode-docker"
|
||||
],
|
||||
"settings": {
|
||||
"php.suggest.basic": false,
|
||||
}
|
||||
"customizations": {
|
||||
"vscode": {
|
||||
"extensions": [
|
||||
"felixfbecker.php-debug",
|
||||
"felixfbecker.php-intellisense",
|
||||
"ms-azuretools.vscode-docker",
|
||||
"xdebug.php-debug",
|
||||
"donjayamanne.githistory"
|
||||
],
|
||||
"settings": {
|
||||
"php.suggest.basic": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"workspaceFolder": "/var/www/html",
|
||||
"remoteUser": "devcontainer"
|
||||
}
|
||||
|
@ -5,7 +5,8 @@ services:
|
||||
volumes:
|
||||
- .:/workspace:cached
|
||||
- /var/run/docker.sock:/var/run/docker-host.sock
|
||||
command: /bin/sh -c "while sleep 1000; do :; done"
|
||||
- ..:/var/www/html
|
||||
command: /var/www/html/.devcontainer/entrypoint.sh
|
||||
ports:
|
||||
- 80:80
|
||||
- 8080:8080
|
||||
@ -16,6 +17,9 @@ services:
|
||||
restart: always
|
||||
environment:
|
||||
POSTGRES_PASSWORD: postgres
|
||||
PGDATA: /data/postgres
|
||||
volumes:
|
||||
- db:/data/postgres
|
||||
network_mode: service:nextclouddev
|
||||
|
||||
adminer:
|
||||
@ -27,3 +31,6 @@ services:
|
||||
image: mailhog/mailhog
|
||||
restart: always
|
||||
network_mode: service:nextclouddev
|
||||
|
||||
volumes:
|
||||
db:
|
||||
|
5
.devcontainer/entrypoint.sh
Executable file
5
.devcontainer/entrypoint.sh
Executable file
@ -0,0 +1,5 @@
|
||||
#!/bin/bash
|
||||
|
||||
sudo service apache2 start
|
||||
|
||||
while sleep 1000; do :; done
|
14
.devcontainer/launch.json
Normal file
14
.devcontainer/launch.json
Normal file
@ -0,0 +1,14 @@
|
||||
{
|
||||
// Use IntelliSense to learn about possible attributes.
|
||||
// Hover to view descriptions of existing attributes.
|
||||
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
|
||||
"version": "0.2.0",
|
||||
"configurations": [
|
||||
{
|
||||
"name": "Listen for Xdebug",
|
||||
"type": "php",
|
||||
"request": "launch",
|
||||
"port": 9003
|
||||
}
|
||||
]
|
||||
}
|
@ -2,7 +2,32 @@
|
||||
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )/../" >/dev/null 2>&1 && pwd )"
|
||||
|
||||
cd $DIR/
|
||||
|
||||
# Set git safe.directory
|
||||
git config --global --add safe.directory /var/www/html
|
||||
git config --global --add safe.directory /var/www/html/3rdparty
|
||||
|
||||
git submodule update --init
|
||||
|
||||
# Codespace config
|
||||
cp .devcontainer/codespace.config.php config/codespace.config.php
|
||||
|
||||
# VSCode debugger profile
|
||||
mkdir -p .vscode && cp .devcontainer/launch.json .vscode/launch.json
|
||||
|
||||
# Onetime installation setup
|
||||
if [[ ! $(sudo -u ${APACHE_RUN_USER} php occ status) =~ installed:[[:space:]]*true ]]; then
|
||||
echo "Running NC installation"
|
||||
sudo -u ${APACHE_RUN_USER} php occ maintenance:install \
|
||||
--verbose \
|
||||
--database=pgsql \
|
||||
--database-name=postgres \
|
||||
--database-host=127.0.0.1 \
|
||||
--database-port=5432 \
|
||||
--database-user=postgres \
|
||||
--database-pass=postgres \
|
||||
--admin-user admin \
|
||||
--admin-pass admin
|
||||
fi
|
||||
|
||||
sudo service apache2 restart
|
||||
|
1
.gitattributes
vendored
1
.gitattributes
vendored
@ -1,3 +1,4 @@
|
||||
/dist/* binary
|
||||
/package-lock.json merge=binary
|
||||
/core/css/*.css* binary
|
||||
/.devcontainer/*.sh text eol=lf
|
||||
|
2
.github/workflows/update-cacert-bundle.yml
vendored
2
.github/workflows/update-cacert-bundle.yml
vendored
@ -3,7 +3,7 @@ name: Update CA certificate bundle
|
||||
on:
|
||||
workflow_dispatch:
|
||||
schedule:
|
||||
- cron: "5 4 * * *"
|
||||
- cron: "5 2 * * *"
|
||||
|
||||
jobs:
|
||||
update-ca-certificate-bundle:
|
||||
|
2
.github/workflows/update-psalm-baseline.yml
vendored
2
.github/workflows/update-psalm-baseline.yml
vendored
@ -3,7 +3,7 @@ name: Update Psalm baseline
|
||||
on:
|
||||
workflow_dispatch:
|
||||
schedule:
|
||||
- cron: "5 4 * * *"
|
||||
- cron: "5 2 * * *"
|
||||
|
||||
jobs:
|
||||
update-psalm-baseline:
|
||||
|
11
.htaccess
11
.htaccess
@ -55,17 +55,6 @@
|
||||
</FilesMatch>
|
||||
</IfModule>
|
||||
|
||||
# PHP 7.x
|
||||
<IfModule mod_php7.c>
|
||||
php_value mbstring.func_overload 0
|
||||
php_value default_charset 'UTF-8'
|
||||
php_value output_buffering 0
|
||||
<IfModule mod_env.c>
|
||||
SetEnv htaccessWorking true
|
||||
</IfModule>
|
||||
</IfModule>
|
||||
|
||||
# PHP 8+
|
||||
<IfModule mod_php.c>
|
||||
php_value mbstring.func_overload 0
|
||||
php_value default_charset 'UTF-8'
|
||||
|
2
3rdparty
2
3rdparty
@ -1 +1 @@
|
||||
Subproject commit 17e4333c0642e3ab75a0a385274c84668aed74e1
|
||||
Subproject commit e31af932fb335789989659d558c871cac4573559
|
7
apps/admin_audit/l10n/es_CL.js
Normal file
7
apps/admin_audit/l10n/es_CL.js
Normal file
@ -0,0 +1,7 @@
|
||||
OC.L10N.register(
|
||||
"admin_audit",
|
||||
{
|
||||
"Auditing / Logging" : "Auditoría / Registro",
|
||||
"Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions." : "Proporciona capacidades de registro para Nextcloud, como el registro de accesos a archivos o acciones confidenciales."
|
||||
},
|
||||
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
|
5
apps/admin_audit/l10n/es_CL.json
Normal file
5
apps/admin_audit/l10n/es_CL.json
Normal file
@ -0,0 +1,5 @@
|
||||
{ "translations": {
|
||||
"Auditing / Logging" : "Auditoría / Registro",
|
||||
"Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions." : "Proporciona capacidades de registro para Nextcloud, como el registro de accesos a archivos o acciones confidenciales."
|
||||
},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
|
||||
}
|
@ -162,7 +162,7 @@ class Sharing extends Action {
|
||||
);
|
||||
} elseif ($params['shareType'] === IShare::TYPE_SCIENCEMESH) {
|
||||
$this->log(
|
||||
'The %s "%s" with ID "%s" has been shared to the sciencemesh user "%s" with permissions "%s" (Share ID: %s)',
|
||||
'The %s "%s" with ID "%s" has been shared to the ScienceMesh user "%s" with permissions "%s" (Share ID: %s)',
|
||||
$params,
|
||||
[
|
||||
'itemType',
|
||||
@ -291,7 +291,7 @@ class Sharing extends Action {
|
||||
);
|
||||
} elseif ($params['shareType'] === IShare::TYPE_SCIENCEMESH) {
|
||||
$this->log(
|
||||
'The %s "%s" with ID "%s" has been unshared from the sciencemesh user "%s" (Share ID: %s)',
|
||||
'The %s "%s" with ID "%s" has been unshared from the ScienceMesh user "%s" (Share ID: %s)',
|
||||
$params,
|
||||
[
|
||||
'itemType',
|
||||
|
@ -8,7 +8,7 @@ OC.L10N.register(
|
||||
"You commented on {file}" : "{file} hakkında yorum yaptınız",
|
||||
"%1$s commented on %2$s" : "%1$s, %2$s için yorum yaptı",
|
||||
"{author} commented on {file}" : "{author}, {file} hakkında yorum yaptı",
|
||||
"<strong>Comments</strong> for files" : "Dosyalar için <strong>yorumlar</strong>",
|
||||
"<strong>Comments</strong> for files" : "Dosyalar için <strong>yorum</strong> yapıldığında",
|
||||
"You were mentioned on \"{file}\", in a comment by a user that has since been deleted" : "\"{file}\" hakkında bir yorumda silinmiş bir kullanıcı tarafından anıldınız",
|
||||
"{user} mentioned you in a comment on \"{file}\"" : "{user}, \"{file}\" hakkındaki bir yorumda sizi andı",
|
||||
"Files app plugin to add comments to files" : "Dosyalara notlar eklenmesini sağlayan dosyalar uygulaması eki",
|
||||
|
@ -6,7 +6,7 @@
|
||||
"You commented on {file}" : "{file} hakkında yorum yaptınız",
|
||||
"%1$s commented on %2$s" : "%1$s, %2$s için yorum yaptı",
|
||||
"{author} commented on {file}" : "{author}, {file} hakkında yorum yaptı",
|
||||
"<strong>Comments</strong> for files" : "Dosyalar için <strong>yorumlar</strong>",
|
||||
"<strong>Comments</strong> for files" : "Dosyalar için <strong>yorum</strong> yapıldığında",
|
||||
"You were mentioned on \"{file}\", in a comment by a user that has since been deleted" : "\"{file}\" hakkında bir yorumda silinmiş bir kullanıcı tarafından anıldınız",
|
||||
"{user} mentioned you in a comment on \"{file}\"" : "{user}, \"{file}\" hakkındaki bir yorumda sizi andı",
|
||||
"Files app plugin to add comments to files" : "Dosyalara notlar eklenmesini sağlayan dosyalar uygulaması eki",
|
||||
|
@ -20,19 +20,18 @@
|
||||
*
|
||||
*/
|
||||
|
||||
import { createClient, getPatcher } from 'webdav'
|
||||
import axios from '@nextcloud/axios'
|
||||
|
||||
import { createClient } from 'webdav'
|
||||
import { getRootPath } from '../utils/davUtils.js'
|
||||
|
||||
// Add this so the server knows it is an request from the browser
|
||||
axios.defaults.headers['X-Requested-With'] = 'XMLHttpRequest'
|
||||
|
||||
// force our axios
|
||||
const patcher = getPatcher()
|
||||
patcher.patch('request', axios)
|
||||
import { getRequestToken } from '@nextcloud/auth'
|
||||
|
||||
// init webdav client
|
||||
const client = createClient(getRootPath())
|
||||
const client = createClient(getRootPath(), {
|
||||
headers: {
|
||||
// Add this so the server knows it is an request from the browser
|
||||
'X-Requested-With': 'XMLHttpRequest',
|
||||
// Inject user auth
|
||||
requesttoken: getRequestToken() ?? '',
|
||||
},
|
||||
})
|
||||
|
||||
export default client
|
||||
|
@ -20,12 +20,15 @@
|
||||
*
|
||||
*/
|
||||
|
||||
import { parseXML, prepareFileFromProps } from 'webdav/dist/node/tools/dav.js'
|
||||
import { processResponsePayload } from 'webdav/dist/node/response.js'
|
||||
import { decodeHtmlEntities } from '../utils/decodeHtmlEntities.js'
|
||||
import { parseXML, type DAVResult, type FileStat } from 'webdav'
|
||||
|
||||
// https://github.com/perry-mitchell/webdav-client/issues/339
|
||||
import { processResponsePayload } from '../../../../node_modules/webdav/dist/node/response.js'
|
||||
import { prepareFileFromProps } from '../../../../node_modules/webdav/dist/node/tools/dav.js'
|
||||
import client from './DavClient.js'
|
||||
|
||||
export const DEFAULT_LIMIT = 20
|
||||
|
||||
/**
|
||||
* Retrieve the comments list
|
||||
*
|
||||
@ -33,13 +36,13 @@ export const DEFAULT_LIMIT = 20
|
||||
* @param {string} data.commentsType the ressource type
|
||||
* @param {number} data.ressourceId the ressource ID
|
||||
* @param {object} [options] optional options for axios
|
||||
* @param {number} [options.offset] the pagination offset
|
||||
* @return {object[]} the comments list
|
||||
*/
|
||||
export default async function({ commentsType, ressourceId }, options = {}) {
|
||||
let response = null
|
||||
export const getComments = async function({ commentsType, ressourceId }, options: { offset: number }) {
|
||||
const ressourcePath = ['', commentsType, ressourceId].join('/')
|
||||
|
||||
return await client.customRequest(ressourcePath, Object.assign({
|
||||
const response = await client.customRequest(ressourcePath, Object.assign({
|
||||
method: 'REPORT',
|
||||
data: `<?xml version="1.0"?>
|
||||
<oc:filter-comments
|
||||
@ -51,42 +54,30 @@ export default async function({ commentsType, ressourceId }, options = {}) {
|
||||
<oc:offset>${options.offset || 0}</oc:offset>
|
||||
</oc:filter-comments>`,
|
||||
}, options))
|
||||
// See example on how it's done normally
|
||||
// https://github.com/perry-mitchell/webdav-client/blob/9de2da4a2599e06bd86c2778145b7ade39fe0b3c/source/interface/stat.js#L19
|
||||
// Waiting for proper REPORT integration https://github.com/perry-mitchell/webdav-client/issues/207
|
||||
.then(res => {
|
||||
response = res
|
||||
return res.data
|
||||
})
|
||||
.then(parseXML)
|
||||
.then(xml => processMultistatus(xml, true))
|
||||
.then(comments => processResponsePayload(response, comments, true))
|
||||
.then(response => response.data)
|
||||
|
||||
const responseData = await response.text()
|
||||
const result = await parseXML(responseData)
|
||||
const stat = getDirectoryFiles(result, true)
|
||||
return processResponsePayload(response, stat, true)
|
||||
}
|
||||
|
||||
// https://github.com/perry-mitchell/webdav-client/blob/9de2da4a2599e06bd86c2778145b7ade39fe0b3c/source/interface/directoryContents.js#L32
|
||||
/**
|
||||
* @param {any} result -
|
||||
* @param {any} isDetailed -
|
||||
*/
|
||||
function processMultistatus(result, isDetailed = false) {
|
||||
// https://github.com/perry-mitchell/webdav-client/blob/8d9694613c978ce7404e26a401c39a41f125f87f/source/operations/directoryContents.ts
|
||||
const getDirectoryFiles = function(
|
||||
result: DAVResult,
|
||||
isDetailed = false,
|
||||
): Array<FileStat> {
|
||||
// Extract the response items (directory contents)
|
||||
const {
|
||||
multistatus: { response: responseItems },
|
||||
} = result
|
||||
|
||||
// Map all items to a consistent output structure (results)
|
||||
return responseItems.map(item => {
|
||||
// Each item should contain a stat object
|
||||
const {
|
||||
propstat: { prop: props },
|
||||
} = item
|
||||
// Decode HTML entities
|
||||
const decodedProps = {
|
||||
...props,
|
||||
// Decode twice to handle potentially double-encoded entities
|
||||
// FIXME Remove this once https://github.com/nextcloud/server/issues/29306 is resolved
|
||||
actorDisplayName: decodeHtmlEntities(props.actorDisplayName, 2),
|
||||
message: decodeHtmlEntities(props.message, 2),
|
||||
}
|
||||
return prepareFileFromProps(decodedProps, decodedProps.id.toString(), isDetailed)
|
||||
|
||||
return prepareFileFromProps(props, props.id.toString(), isDetailed)
|
||||
})
|
||||
}
|
@ -20,15 +20,6 @@
|
||||
*
|
||||
*/
|
||||
|
||||
import axios from '@nextcloud/axios'
|
||||
|
||||
/**
|
||||
* Create a cancel token
|
||||
*
|
||||
* @return {import('axios').CancelTokenSource}
|
||||
*/
|
||||
const createCancelToken = () => axios.CancelToken.source()
|
||||
|
||||
/**
|
||||
* Creates a cancelable axios 'request object'.
|
||||
*
|
||||
@ -36,10 +27,8 @@ const createCancelToken = () => axios.CancelToken.source()
|
||||
* @return {object}
|
||||
*/
|
||||
const cancelableRequest = function(request) {
|
||||
/**
|
||||
* Generate an axios cancel token
|
||||
*/
|
||||
const cancelToken = createCancelToken()
|
||||
const controller = new AbortController()
|
||||
const signal = controller.signal
|
||||
|
||||
/**
|
||||
* Execute the request
|
||||
@ -48,15 +37,16 @@ const cancelableRequest = function(request) {
|
||||
* @param {object} [options] optional config for the request
|
||||
*/
|
||||
const fetch = async function(url, options) {
|
||||
return request(
|
||||
const response = await request(
|
||||
url,
|
||||
Object.assign({ cancelToken: cancelToken.token }, options)
|
||||
Object.assign({ signal }, options)
|
||||
)
|
||||
return response
|
||||
}
|
||||
|
||||
return {
|
||||
request: fetch,
|
||||
cancel: cancelToken.cancel,
|
||||
abort: () => controller.abort(),
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -94,7 +94,7 @@ import MessageReplyTextIcon from 'vue-material-design-icons/MessageReplyText.vue
|
||||
import AlertCircleOutlineIcon from 'vue-material-design-icons/AlertCircleOutline.vue'
|
||||
|
||||
import Comment from '../components/Comment.vue'
|
||||
import getComments, { DEFAULT_LIMIT } from '../services/GetComments.js'
|
||||
import { getComments, DEFAULT_LIMIT } from '../services/GetComments.ts'
|
||||
import cancelableRequest from '../utils/cancelableRequest.js'
|
||||
|
||||
Vue.use(VTooltip)
|
||||
@ -206,14 +206,14 @@ export default {
|
||||
this.error = ''
|
||||
|
||||
// Init cancellable request
|
||||
const { request, cancel } = cancelableRequest(getComments)
|
||||
this.cancelRequest = cancel
|
||||
const { request, abort } = cancelableRequest(getComments)
|
||||
this.cancelRequest = abort
|
||||
|
||||
// Fetch comments
|
||||
const comments = await request({
|
||||
const { data: comments } = await request({
|
||||
commentsType: this.commentsType,
|
||||
ressourceId: this.ressourceId,
|
||||
}, { offset: this.offset })
|
||||
}, { offset: this.offset }) || { data: [] }
|
||||
|
||||
this.logger.debug(`Processed ${comments.length} comments`, { comments })
|
||||
|
||||
|
@ -1,8 +1,10 @@
|
||||
OC.L10N.register(
|
||||
"dashboard",
|
||||
{
|
||||
"Dashboard" : "Tauler",
|
||||
"Dashboard" : "Panell de control",
|
||||
"Dashboard app" : "Aplicació tauler",
|
||||
"Start your day informed\n\nThe Nextcloud Dashboard is your starting point of the day, giving you an overview of your upcoming appointments, urgent emails, chat messages, incoming tickets, latest tweets and much more! Users can add the widgets they like and change the background to their liking." : "Comença el dia informat\n\nEl tauler de control de Nextcloud és el vostre punt de partida del dia, que us ofereix una visió general de les vostres properes cites, correus electrònics urgents, missatges de xat, tickets entrants, els últims tuits i molt més! Els usuaris poden afegir els ginys que els agradin i canviar el fons al seu gust.",
|
||||
"\"{title} icon\"" : "\"icona {title}\"",
|
||||
"Customize" : "Personalitza",
|
||||
"Edit widgets" : "Edita els ginys",
|
||||
"Get more widgets from the App Store" : "Aconseguiu més widgets de la botiga d'aplicacions",
|
||||
|
@ -1,6 +1,8 @@
|
||||
{ "translations": {
|
||||
"Dashboard" : "Tauler",
|
||||
"Dashboard" : "Panell de control",
|
||||
"Dashboard app" : "Aplicació tauler",
|
||||
"Start your day informed\n\nThe Nextcloud Dashboard is your starting point of the day, giving you an overview of your upcoming appointments, urgent emails, chat messages, incoming tickets, latest tweets and much more! Users can add the widgets they like and change the background to their liking." : "Comença el dia informat\n\nEl tauler de control de Nextcloud és el vostre punt de partida del dia, que us ofereix una visió general de les vostres properes cites, correus electrònics urgents, missatges de xat, tickets entrants, els últims tuits i molt més! Els usuaris poden afegir els ginys que els agradin i canviar el fons al seu gust.",
|
||||
"\"{title} icon\"" : "\"icona {title}\"",
|
||||
"Customize" : "Personalitza",
|
||||
"Edit widgets" : "Edita els ginys",
|
||||
"Get more widgets from the App Store" : "Aconseguiu més widgets de la botiga d'aplicacions",
|
||||
|
@ -3,6 +3,8 @@ OC.L10N.register(
|
||||
{
|
||||
"Dashboard" : "Panela",
|
||||
"Dashboard app" : "Panela aplikazioa",
|
||||
"Start your day informed\n\nThe Nextcloud Dashboard is your starting point of the day, giving you an overview of your upcoming appointments, urgent emails, chat messages, incoming tickets, latest tweets and much more! Users can add the widgets they like and change the background to their liking." : "Hasi zure eguna informatuta\n\nNextcloud Panela da zure eguneko abiapuntua, eta zure hurrengo hitzorduen, premiazko mezu elektronikoen, txat-mezuen, sarrerako txartelen, azken txioen eta askoz gehiagoren ikuspegi orokorra eskaintzen dizu! Erabiltzaileek gogoko trepetak gehi ditzakete eta atzealdea nahieran aldatu.",
|
||||
"\"{title} icon\"" : "\"{title} ikonoa\"",
|
||||
"Customize" : "Pertsonalizatu",
|
||||
"Edit widgets" : "Editatu trepetak",
|
||||
"Get more widgets from the App Store" : "Lortu trepeta (widget) gehiago Aplikazioen Dendatik",
|
||||
|
@ -1,6 +1,8 @@
|
||||
{ "translations": {
|
||||
"Dashboard" : "Panela",
|
||||
"Dashboard app" : "Panela aplikazioa",
|
||||
"Start your day informed\n\nThe Nextcloud Dashboard is your starting point of the day, giving you an overview of your upcoming appointments, urgent emails, chat messages, incoming tickets, latest tweets and much more! Users can add the widgets they like and change the background to their liking." : "Hasi zure eguna informatuta\n\nNextcloud Panela da zure eguneko abiapuntua, eta zure hurrengo hitzorduen, premiazko mezu elektronikoen, txat-mezuen, sarrerako txartelen, azken txioen eta askoz gehiagoren ikuspegi orokorra eskaintzen dizu! Erabiltzaileek gogoko trepetak gehi ditzakete eta atzealdea nahieran aldatu.",
|
||||
"\"{title} icon\"" : "\"{title} ikonoa\"",
|
||||
"Customize" : "Pertsonalizatu",
|
||||
"Edit widgets" : "Editatu trepetak",
|
||||
"Get more widgets from the App Store" : "Lortu trepeta (widget) gehiago Aplikazioen Dendatik",
|
||||
|
@ -3,6 +3,8 @@ OC.L10N.register(
|
||||
{
|
||||
"Dashboard" : "Taboleiro",
|
||||
"Dashboard app" : "Aplicación de taboleiro",
|
||||
"Start your day informed\n\nThe Nextcloud Dashboard is your starting point of the day, giving you an overview of your upcoming appointments, urgent emails, chat messages, incoming tickets, latest tweets and much more! Users can add the widgets they like and change the background to their liking." : "Comeza o día informado\n\nO Taboleiro de Nextcloud é o teu punto de partida do día, dándoche unha visión xeral das túas próximas citas, correos electrónicos urxentes, mensaxes de chat, tickets entrantes, chíos máis recentes e moito máis. Os usuarios poden engadir os widgets que lles gustan e cambiar o fondo ao seu gusto.",
|
||||
"\"{title} icon\"" : "\"icona {title}\"",
|
||||
"Customize" : "Personalizar",
|
||||
"Edit widgets" : "Editar trebellos",
|
||||
"Get more widgets from the App Store" : "Obtén máis widgets da Tenda de Aplicacións",
|
||||
|
@ -1,6 +1,8 @@
|
||||
{ "translations": {
|
||||
"Dashboard" : "Taboleiro",
|
||||
"Dashboard app" : "Aplicación de taboleiro",
|
||||
"Start your day informed\n\nThe Nextcloud Dashboard is your starting point of the day, giving you an overview of your upcoming appointments, urgent emails, chat messages, incoming tickets, latest tweets and much more! Users can add the widgets they like and change the background to their liking." : "Comeza o día informado\n\nO Taboleiro de Nextcloud é o teu punto de partida do día, dándoche unha visión xeral das túas próximas citas, correos electrónicos urxentes, mensaxes de chat, tickets entrantes, chíos máis recentes e moito máis. Os usuarios poden engadir os widgets que lles gustan e cambiar o fondo ao seu gusto.",
|
||||
"\"{title} icon\"" : "\"icona {title}\"",
|
||||
"Customize" : "Personalizar",
|
||||
"Edit widgets" : "Editar trebellos",
|
||||
"Get more widgets from the App Store" : "Obtén máis widgets da Tenda de Aplicacións",
|
||||
|
@ -3,6 +3,8 @@ OC.L10N.register(
|
||||
{
|
||||
"Dashboard" : "Pulpit",
|
||||
"Dashboard app" : "Aplikacja Pulpit",
|
||||
"Start your day informed\n\nThe Nextcloud Dashboard is your starting point of the day, giving you an overview of your upcoming appointments, urgent emails, chat messages, incoming tickets, latest tweets and much more! Users can add the widgets they like and change the background to their liking." : "Rozpocznij dzień poinformowany\n\nPulpit nawigacyjny Nextcloud to Twój punkt wyjścia w ciągu dnia, dający przegląd nadchodzących spotkań, pilnych e-maili, wiadomości na czacie, przychodzących zgłoszeń, najnowszych tweetów i wiele więcej! Użytkownicy mogą dodawać widżety, które im się podobają i zmieniać tło według własnych upodobań.",
|
||||
"\"{title} icon\"" : "\"{title} ikona\"",
|
||||
"Customize" : "Dostosuj",
|
||||
"Edit widgets" : "Edytuj widżety",
|
||||
"Get more widgets from the App Store" : "Pobierz więcej widżetów z Nextcloud App Store",
|
||||
|
@ -1,6 +1,8 @@
|
||||
{ "translations": {
|
||||
"Dashboard" : "Pulpit",
|
||||
"Dashboard app" : "Aplikacja Pulpit",
|
||||
"Start your day informed\n\nThe Nextcloud Dashboard is your starting point of the day, giving you an overview of your upcoming appointments, urgent emails, chat messages, incoming tickets, latest tweets and much more! Users can add the widgets they like and change the background to their liking." : "Rozpocznij dzień poinformowany\n\nPulpit nawigacyjny Nextcloud to Twój punkt wyjścia w ciągu dnia, dający przegląd nadchodzących spotkań, pilnych e-maili, wiadomości na czacie, przychodzących zgłoszeń, najnowszych tweetów i wiele więcej! Użytkownicy mogą dodawać widżety, które im się podobają i zmieniać tło według własnych upodobań.",
|
||||
"\"{title} icon\"" : "\"{title} ikona\"",
|
||||
"Customize" : "Dostosuj",
|
||||
"Edit widgets" : "Edytuj widżety",
|
||||
"Get more widgets from the App Store" : "Pobierz więcej widżetów z Nextcloud App Store",
|
||||
|
@ -3,6 +3,7 @@ OC.L10N.register(
|
||||
{
|
||||
"Dashboard" : "Nadzorna plošča",
|
||||
"Dashboard app" : "Program Nadzorna plošča",
|
||||
"Start your day informed\n\nThe Nextcloud Dashboard is your starting point of the day, giving you an overview of your upcoming appointments, urgent emails, chat messages, incoming tickets, latest tweets and much more! Users can add the widgets they like and change the background to their liking." : "Začnite dan s pravimi informacijami\n\nNadzorna plošča Nextcloud je prva točka dneva, ki vam omogoča\npregled prihajajočih sestankov, nujnih elektronskih sporočil in sporočil klepeta, podrobnosti o prejetih nalogah, najnovejših čivkih in še veliko več! Vsak uporabnik lahko doda gradnike in spreminja ozadje po svojih željah.",
|
||||
"Customize" : "Prilagodi",
|
||||
"Edit widgets" : "Izbor gradnikov",
|
||||
"Get more widgets from the App Store" : "Pridobi več gradnikov s spletišča App Store",
|
||||
|
@ -1,6 +1,7 @@
|
||||
{ "translations": {
|
||||
"Dashboard" : "Nadzorna plošča",
|
||||
"Dashboard app" : "Program Nadzorna plošča",
|
||||
"Start your day informed\n\nThe Nextcloud Dashboard is your starting point of the day, giving you an overview of your upcoming appointments, urgent emails, chat messages, incoming tickets, latest tweets and much more! Users can add the widgets they like and change the background to their liking." : "Začnite dan s pravimi informacijami\n\nNadzorna plošča Nextcloud je prva točka dneva, ki vam omogoča\npregled prihajajočih sestankov, nujnih elektronskih sporočil in sporočil klepeta, podrobnosti o prejetih nalogah, najnovejših čivkih in še veliko več! Vsak uporabnik lahko doda gradnike in spreminja ozadje po svojih željah.",
|
||||
"Customize" : "Prilagodi",
|
||||
"Edit widgets" : "Izbor gradnikov",
|
||||
"Get more widgets from the App Store" : "Pridobi več gradnikov s spletišča App Store",
|
||||
|
@ -2,11 +2,11 @@
|
||||
<div id="app-dashboard">
|
||||
<h2>{{ greeting.text }}</h2>
|
||||
<ul class="statuses">
|
||||
<div v-for="status in sortedRegisteredStatus"
|
||||
<li v-for="status in sortedRegisteredStatus"
|
||||
:id="'status-' + status"
|
||||
:key="status">
|
||||
<div :ref="'status-' + status" />
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<Draggable v-model="layout"
|
||||
@ -51,7 +51,7 @@
|
||||
:checked="isStatusActive(status)"
|
||||
@input="updateStatusCheckbox(status, $event.target.checked)">
|
||||
<label :for="'status-checkbox-' + status">
|
||||
<div :class="statusInfo[status].icon" role="img" />
|
||||
<div :class="statusInfo[status].icon" aria-hidden="true" role="img" />
|
||||
{{ statusInfo[status].text }}
|
||||
</label>
|
||||
</li>
|
||||
@ -69,7 +69,7 @@
|
||||
:checked="isActive(panel)"
|
||||
@input="updateCheckbox(panel, $event.target.checked)">
|
||||
<label :for="'panel-checkbox-' + panel.id" :class="{ draggable: isActive(panel) }">
|
||||
<div :class="panel.iconClass" role="img" />
|
||||
<div :class="panel.iconClass" aria-hidden="true" role="img" />
|
||||
{{ panel.title }}
|
||||
</label>
|
||||
</li>
|
||||
@ -627,7 +627,7 @@ export default {
|
||||
flex-wrap: wrap;
|
||||
margin-bottom: 36px;
|
||||
|
||||
& > div {
|
||||
& > li {
|
||||
margin: 8px;
|
||||
}
|
||||
}
|
||||
|
1
apps/dav/img/calendar.svg
Normal file
1
apps/dav/img/calendar.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg height="16" width="16" xmlns="http://www.w3.org/2000/svg" version="1.1" viewbox="0 0 16 16"><path fill="#000" d="m4 1c-0.5 0-1 0.5-1 1v2c0 0.5 0.5 1 1 1s1-0.5 1-1v-2c0-0.5-0.5-1-1-1zm8 0c-0.5 0-1 0.5-1 1v2c0 0.5 0.5 1 1 1s1-0.5 1-1v-2c0-0.5-0.5-1-1-1zm-6.5 2v1c0 0.831-0.5 1.5-1.5 1.5s-1.5-0.5-1.5-1.5v-0.9375c-0.8841 0.227-1.5 1.0247-1.5 1.9375v8c0 1.108 0.892 2 2 2h10c1.108 0 2-0.892 2-2v-8c0-0.9128-0.61588-1.7105-1.5-1.9375v0.9375c0 0.831-0.5 1.5-1.5 1.5s-1.5-0.5-1.5-1.5v-1zm7.5 5v5h-10v-5z"/></svg>
|
After Width: | Height: | Size: 511 B |
@ -55,6 +55,7 @@ OC.L10N.register(
|
||||
"A calendar <strong>to-do</strong> was modified" : "<strong>задача</strong>от календар беше променена",
|
||||
"Contact birthdays" : "Рождени дни на контакти",
|
||||
"Death of %s" : "Смърт на %s",
|
||||
"Untitled calendar" : "Нов календар",
|
||||
"Calendar:" : "Календар:",
|
||||
"Date:" : "Дата:",
|
||||
"Where:" : "Къде:",
|
||||
|
@ -53,6 +53,7 @@
|
||||
"A calendar <strong>to-do</strong> was modified" : "<strong>задача</strong>от календар беше променена",
|
||||
"Contact birthdays" : "Рождени дни на контакти",
|
||||
"Death of %s" : "Смърт на %s",
|
||||
"Untitled calendar" : "Нов календар",
|
||||
"Calendar:" : "Календар:",
|
||||
"Date:" : "Дата:",
|
||||
"Where:" : "Къде:",
|
||||
|
@ -55,6 +55,7 @@ OC.L10N.register(
|
||||
"A calendar <strong>to-do</strong> was modified" : "S'ha modificat una <strong>tasca pendent</strong> del calendari",
|
||||
"Contact birthdays" : "Aniversaris dels contactes",
|
||||
"Death of %s" : "Mort de %s",
|
||||
"Untitled calendar" : "Calendari sense títol",
|
||||
"Calendar:" : "Calendari:",
|
||||
"Date:" : "Data:",
|
||||
"Where:" : "On:",
|
||||
@ -75,6 +76,8 @@ OC.L10N.register(
|
||||
"\"%1$s\" has been canceled" : "\"%1$s\" s'ha cancel·lat",
|
||||
"Re: %1$s" : "Re: %1$s",
|
||||
"%1$s has responded to your invitation" : "%1$s ha respost a la teva invitació",
|
||||
"Invitation updated: %1$s" : "Invitació actualitzada: %1$s",
|
||||
"%1$s updated the event \"%2$s\"" : "%1$s ha actualitzat l'esdeveniment \"%2$s\"",
|
||||
"Invitation: %1$s" : "Invitació: %1$s",
|
||||
"%1$s would like to invite you to \"%2$s\"" : "%1$s vol convidar-vos a \"%2$s\"",
|
||||
"Organizer:" : "Organitzador:",
|
||||
|
@ -53,6 +53,7 @@
|
||||
"A calendar <strong>to-do</strong> was modified" : "S'ha modificat una <strong>tasca pendent</strong> del calendari",
|
||||
"Contact birthdays" : "Aniversaris dels contactes",
|
||||
"Death of %s" : "Mort de %s",
|
||||
"Untitled calendar" : "Calendari sense títol",
|
||||
"Calendar:" : "Calendari:",
|
||||
"Date:" : "Data:",
|
||||
"Where:" : "On:",
|
||||
@ -73,6 +74,8 @@
|
||||
"\"%1$s\" has been canceled" : "\"%1$s\" s'ha cancel·lat",
|
||||
"Re: %1$s" : "Re: %1$s",
|
||||
"%1$s has responded to your invitation" : "%1$s ha respost a la teva invitació",
|
||||
"Invitation updated: %1$s" : "Invitació actualitzada: %1$s",
|
||||
"%1$s updated the event \"%2$s\"" : "%1$s ha actualitzat l'esdeveniment \"%2$s\"",
|
||||
"Invitation: %1$s" : "Invitació: %1$s",
|
||||
"%1$s would like to invite you to \"%2$s\"" : "%1$s vol convidar-vos a \"%2$s\"",
|
||||
"Organizer:" : "Organitzador:",
|
||||
|
@ -55,6 +55,7 @@ OC.L10N.register(
|
||||
"A calendar <strong>to-do</strong> was modified" : "Kalendář <strong>úkoly</strong> byl upraven",
|
||||
"Contact birthdays" : "Narozeniny kontaktů",
|
||||
"Death of %s" : "Datum úmrtí %s",
|
||||
"Untitled calendar" : "Nepojmenovaný kalendář",
|
||||
"Calendar:" : "Kalendář:",
|
||||
"Date:" : "Datum:",
|
||||
"Where:" : "Kde:",
|
||||
|
@ -53,6 +53,7 @@
|
||||
"A calendar <strong>to-do</strong> was modified" : "Kalendář <strong>úkoly</strong> byl upraven",
|
||||
"Contact birthdays" : "Narozeniny kontaktů",
|
||||
"Death of %s" : "Datum úmrtí %s",
|
||||
"Untitled calendar" : "Nepojmenovaný kalendář",
|
||||
"Calendar:" : "Kalendář:",
|
||||
"Date:" : "Datum:",
|
||||
"Where:" : "Kde:",
|
||||
|
@ -39,6 +39,7 @@ OC.L10N.register(
|
||||
"A calendar <strong>event</strong> was modified" : "En kalender <strong>begivenhed</strong> er blevet ændret",
|
||||
"Contact birthdays" : "Kontakt fødselsdag",
|
||||
"Death of %s" : "Død af%s",
|
||||
"Untitled calendar" : "Unanvngiven kalender",
|
||||
"Calendar:" : "Kalender:",
|
||||
"Date:" : "Dato:",
|
||||
"Where:" : "Hvor:",
|
||||
|
@ -37,6 +37,7 @@
|
||||
"A calendar <strong>event</strong> was modified" : "En kalender <strong>begivenhed</strong> er blevet ændret",
|
||||
"Contact birthdays" : "Kontakt fødselsdag",
|
||||
"Death of %s" : "Død af%s",
|
||||
"Untitled calendar" : "Unanvngiven kalender",
|
||||
"Calendar:" : "Kalender:",
|
||||
"Date:" : "Dato:",
|
||||
"Where:" : "Hvor:",
|
||||
|
@ -55,6 +55,7 @@ OC.L10N.register(
|
||||
"A calendar <strong>to-do</strong> was modified" : "Eine Kalender-<strong>Aufgabe</strong> wurde geändert",
|
||||
"Contact birthdays" : "Geburtstage von Kontakten",
|
||||
"Death of %s" : "Todestag von %s",
|
||||
"Untitled calendar" : "Unbenannter Kalender",
|
||||
"Calendar:" : "Kalender:",
|
||||
"Date:" : "Datum:",
|
||||
"Where:" : "Wo:",
|
||||
@ -74,6 +75,9 @@ OC.L10N.register(
|
||||
"Cancelled: %1$s" : "Abgesagt: %1$s",
|
||||
"\"%1$s\" has been canceled" : "\"%1$s\" wurde abgebrochen.",
|
||||
"Re: %1$s" : "Re: %1$s",
|
||||
"%1$s has accepted your invitation" : "%1$s hat deine Einladung angenommen.",
|
||||
"%1$s has tentatively accepted your invitation" : "%1$s hat deine Einladung vorläufig angenommen.",
|
||||
"%1$s has declined your invitation" : "%1$s hat deine Einladung abgelehnt.",
|
||||
"%1$s has responded to your invitation" : "%1$s hat auf deine Einladung geantwortet.",
|
||||
"Invitation updated: %1$s" : "Einladung aktualisiert: %1$s",
|
||||
"%1$s updated the event \"%2$s\"" : "%1$s hat die Veranstaltung \"%2$s\" aktualisiert",
|
||||
|
@ -53,6 +53,7 @@
|
||||
"A calendar <strong>to-do</strong> was modified" : "Eine Kalender-<strong>Aufgabe</strong> wurde geändert",
|
||||
"Contact birthdays" : "Geburtstage von Kontakten",
|
||||
"Death of %s" : "Todestag von %s",
|
||||
"Untitled calendar" : "Unbenannter Kalender",
|
||||
"Calendar:" : "Kalender:",
|
||||
"Date:" : "Datum:",
|
||||
"Where:" : "Wo:",
|
||||
@ -72,6 +73,9 @@
|
||||
"Cancelled: %1$s" : "Abgesagt: %1$s",
|
||||
"\"%1$s\" has been canceled" : "\"%1$s\" wurde abgebrochen.",
|
||||
"Re: %1$s" : "Re: %1$s",
|
||||
"%1$s has accepted your invitation" : "%1$s hat deine Einladung angenommen.",
|
||||
"%1$s has tentatively accepted your invitation" : "%1$s hat deine Einladung vorläufig angenommen.",
|
||||
"%1$s has declined your invitation" : "%1$s hat deine Einladung abgelehnt.",
|
||||
"%1$s has responded to your invitation" : "%1$s hat auf deine Einladung geantwortet.",
|
||||
"Invitation updated: %1$s" : "Einladung aktualisiert: %1$s",
|
||||
"%1$s updated the event \"%2$s\"" : "%1$s hat die Veranstaltung \"%2$s\" aktualisiert",
|
||||
|
@ -55,6 +55,7 @@ OC.L10N.register(
|
||||
"A calendar <strong>to-do</strong> was modified" : "Eine Kalender-<strong>Aufgabe</strong> wurde bearbeitet",
|
||||
"Contact birthdays" : "Geburtstage von Kontakten",
|
||||
"Death of %s" : "Todestag von %s",
|
||||
"Untitled calendar" : "Unbenannter Kalender",
|
||||
"Calendar:" : "Kalender:",
|
||||
"Date:" : "Datum:",
|
||||
"Where:" : "Wo:",
|
||||
@ -74,6 +75,9 @@ OC.L10N.register(
|
||||
"Cancelled: %1$s" : "Abgesagt: %1$s",
|
||||
"\"%1$s\" has been canceled" : "\"%1$s“ wurde abgesagt.",
|
||||
"Re: %1$s" : "Re: %1$s",
|
||||
"%1$s has accepted your invitation" : "%1$s hat Ihre Einladung angenommen",
|
||||
"%1$s has tentatively accepted your invitation" : "%1$s hat Ihre Einladung vorläufig angenommen",
|
||||
"%1$s has declined your invitation" : "%1$s hat Ihre Einladung abgelehnt",
|
||||
"%1$s has responded to your invitation" : "%1$s hat auf Ihre Einladung geantwortet",
|
||||
"Invitation updated: %1$s" : "Einladung aktualisiert: %1$s",
|
||||
"%1$s updated the event \"%2$s\"" : "%1$s hat die Veranstaltung \"%2$s\" aktualisiert",
|
||||
|
@ -53,6 +53,7 @@
|
||||
"A calendar <strong>to-do</strong> was modified" : "Eine Kalender-<strong>Aufgabe</strong> wurde bearbeitet",
|
||||
"Contact birthdays" : "Geburtstage von Kontakten",
|
||||
"Death of %s" : "Todestag von %s",
|
||||
"Untitled calendar" : "Unbenannter Kalender",
|
||||
"Calendar:" : "Kalender:",
|
||||
"Date:" : "Datum:",
|
||||
"Where:" : "Wo:",
|
||||
@ -72,6 +73,9 @@
|
||||
"Cancelled: %1$s" : "Abgesagt: %1$s",
|
||||
"\"%1$s\" has been canceled" : "\"%1$s“ wurde abgesagt.",
|
||||
"Re: %1$s" : "Re: %1$s",
|
||||
"%1$s has accepted your invitation" : "%1$s hat Ihre Einladung angenommen",
|
||||
"%1$s has tentatively accepted your invitation" : "%1$s hat Ihre Einladung vorläufig angenommen",
|
||||
"%1$s has declined your invitation" : "%1$s hat Ihre Einladung abgelehnt",
|
||||
"%1$s has responded to your invitation" : "%1$s hat auf Ihre Einladung geantwortet",
|
||||
"Invitation updated: %1$s" : "Einladung aktualisiert: %1$s",
|
||||
"%1$s updated the event \"%2$s\"" : "%1$s hat die Veranstaltung \"%2$s\" aktualisiert",
|
||||
|
@ -37,6 +37,7 @@ OC.L10N.register(
|
||||
"A calendar <strong>to-do</strong> was modified" : "Τροποποιήθηκε μια <strong>εκκρεμότητα</strong> ημερολογίου",
|
||||
"Contact birthdays" : "Γενέθλια επαφών",
|
||||
"Death of %s" : "Θάνατος του %s",
|
||||
"Untitled calendar" : "Ημερολόγιο χωρίς τίτλο",
|
||||
"Calendar:" : "Ημερολόγιο:",
|
||||
"Date:" : "Ημερομηνία:",
|
||||
"Where:" : "Που:",
|
||||
|
@ -35,6 +35,7 @@
|
||||
"A calendar <strong>to-do</strong> was modified" : "Τροποποιήθηκε μια <strong>εκκρεμότητα</strong> ημερολογίου",
|
||||
"Contact birthdays" : "Γενέθλια επαφών",
|
||||
"Death of %s" : "Θάνατος του %s",
|
||||
"Untitled calendar" : "Ημερολόγιο χωρίς τίτλο",
|
||||
"Calendar:" : "Ημερολόγιο:",
|
||||
"Date:" : "Ημερομηνία:",
|
||||
"Where:" : "Που:",
|
||||
|
@ -55,6 +55,7 @@ OC.L10N.register(
|
||||
"A calendar <strong>to-do</strong> was modified" : "A calendar <strong>to-do</strong> was modified",
|
||||
"Contact birthdays" : "Contact birthdays",
|
||||
"Death of %s" : "Death of %s",
|
||||
"Untitled calendar" : "Untitled calendar",
|
||||
"Calendar:" : "Calendar:",
|
||||
"Date:" : "Date:",
|
||||
"Where:" : "Where:",
|
||||
|
@ -53,6 +53,7 @@
|
||||
"A calendar <strong>to-do</strong> was modified" : "A calendar <strong>to-do</strong> was modified",
|
||||
"Contact birthdays" : "Contact birthdays",
|
||||
"Death of %s" : "Death of %s",
|
||||
"Untitled calendar" : "Untitled calendar",
|
||||
"Calendar:" : "Calendar:",
|
||||
"Date:" : "Date:",
|
||||
"Where:" : "Where:",
|
||||
|
@ -55,6 +55,7 @@ OC.L10N.register(
|
||||
"A calendar <strong>to-do</strong> was modified" : "Se ha modificado una <strong>tarea</strong> de calendario",
|
||||
"Contact birthdays" : "Cumpleaños del contacto",
|
||||
"Death of %s" : "Muerte de %s",
|
||||
"Untitled calendar" : "Calendario sin título",
|
||||
"Calendar:" : "Calendario:",
|
||||
"Date:" : "Fecha:",
|
||||
"Where:" : "Dónde:",
|
||||
|
@ -53,6 +53,7 @@
|
||||
"A calendar <strong>to-do</strong> was modified" : "Se ha modificado una <strong>tarea</strong> de calendario",
|
||||
"Contact birthdays" : "Cumpleaños del contacto",
|
||||
"Death of %s" : "Muerte de %s",
|
||||
"Untitled calendar" : "Calendario sin título",
|
||||
"Calendar:" : "Calendario:",
|
||||
"Date:" : "Fecha:",
|
||||
"Where:" : "Dónde:",
|
||||
|
@ -55,6 +55,7 @@ OC.L10N.register(
|
||||
"A calendar <strong>to-do</strong> was modified" : "Egutegi baten <strong>egiteko</strong> bat aldatu da",
|
||||
"Contact birthdays" : "Kontaktuen urtebetetzeak",
|
||||
"Death of %s" : "%s(r)en heriotza",
|
||||
"Untitled calendar" : "Izenik gabeko egutegia",
|
||||
"Calendar:" : "Egutegia:",
|
||||
"Date:" : "Data:",
|
||||
"Where:" : "Non:",
|
||||
|
@ -53,6 +53,7 @@
|
||||
"A calendar <strong>to-do</strong> was modified" : "Egutegi baten <strong>egiteko</strong> bat aldatu da",
|
||||
"Contact birthdays" : "Kontaktuen urtebetetzeak",
|
||||
"Death of %s" : "%s(r)en heriotza",
|
||||
"Untitled calendar" : "Izenik gabeko egutegia",
|
||||
"Calendar:" : "Egutegia:",
|
||||
"Date:" : "Data:",
|
||||
"Where:" : "Non:",
|
||||
|
@ -38,6 +38,7 @@ OC.L10N.register(
|
||||
"A calendar <strong>event</strong> was modified" : "Kalenterin <strong>tapahtumaa</strong> on muokattu",
|
||||
"Contact birthdays" : "Yhteystietojen syntymäpäivät",
|
||||
"Death of %s" : "%s kuolema",
|
||||
"Untitled calendar" : "Nimetön kalenteri",
|
||||
"Calendar:" : "Kalenteri:",
|
||||
"Date:" : "Päiväys:",
|
||||
"Where:" : "Missä:",
|
||||
|
@ -36,6 +36,7 @@
|
||||
"A calendar <strong>event</strong> was modified" : "Kalenterin <strong>tapahtumaa</strong> on muokattu",
|
||||
"Contact birthdays" : "Yhteystietojen syntymäpäivät",
|
||||
"Death of %s" : "%s kuolema",
|
||||
"Untitled calendar" : "Nimetön kalenteri",
|
||||
"Calendar:" : "Kalenteri:",
|
||||
"Date:" : "Päiväys:",
|
||||
"Where:" : "Missä:",
|
||||
|
@ -55,6 +55,7 @@ OC.L10N.register(
|
||||
"A calendar <strong>to-do</strong> was modified" : "Un calendrier <strong>de tâches</strong> a été modifié",
|
||||
"Contact birthdays" : "Anniversaires des contacts",
|
||||
"Death of %s" : "Mort de %s",
|
||||
"Untitled calendar" : "Calendrier sans titre",
|
||||
"Calendar:" : "Agenda:",
|
||||
"Date:" : "Date:",
|
||||
"Where:" : "Où :",
|
||||
@ -74,6 +75,9 @@ OC.L10N.register(
|
||||
"Cancelled: %1$s" : "Annulé : %1$s",
|
||||
"\"%1$s\" has been canceled" : "\"%1$s\" a été annulé(e)",
|
||||
"Re: %1$s" : "Re : %1$s",
|
||||
"%1$s has accepted your invitation" : "%1$s a accepté votre invitation",
|
||||
"%1$s has tentatively accepted your invitation" : "%1$s a provisoirement accepté votre invitation",
|
||||
"%1$s has declined your invitation" : "%1$s a décliné votre invitation",
|
||||
"%1$s has responded to your invitation" : "%1$s a répondu à votre invitation",
|
||||
"Invitation updated: %1$s" : "Invitation mise à jour : %1$s",
|
||||
"%1$s updated the event \"%2$s\"" : "%1$s a mis à jour l'évènement %2$s",
|
||||
|
@ -53,6 +53,7 @@
|
||||
"A calendar <strong>to-do</strong> was modified" : "Un calendrier <strong>de tâches</strong> a été modifié",
|
||||
"Contact birthdays" : "Anniversaires des contacts",
|
||||
"Death of %s" : "Mort de %s",
|
||||
"Untitled calendar" : "Calendrier sans titre",
|
||||
"Calendar:" : "Agenda:",
|
||||
"Date:" : "Date:",
|
||||
"Where:" : "Où :",
|
||||
@ -72,6 +73,9 @@
|
||||
"Cancelled: %1$s" : "Annulé : %1$s",
|
||||
"\"%1$s\" has been canceled" : "\"%1$s\" a été annulé(e)",
|
||||
"Re: %1$s" : "Re : %1$s",
|
||||
"%1$s has accepted your invitation" : "%1$s a accepté votre invitation",
|
||||
"%1$s has tentatively accepted your invitation" : "%1$s a provisoirement accepté votre invitation",
|
||||
"%1$s has declined your invitation" : "%1$s a décliné votre invitation",
|
||||
"%1$s has responded to your invitation" : "%1$s a répondu à votre invitation",
|
||||
"Invitation updated: %1$s" : "Invitation mise à jour : %1$s",
|
||||
"%1$s updated the event \"%2$s\"" : "%1$s a mis à jour l'évènement %2$s",
|
||||
|
@ -55,6 +55,7 @@ OC.L10N.register(
|
||||
"A calendar <strong>to-do</strong> was modified" : "Modificouse unha <strong>tarefa</strong> do calendario",
|
||||
"Contact birthdays" : "Aniversario do contacto",
|
||||
"Death of %s" : "Falecemento de %s",
|
||||
"Untitled calendar" : "Calendario sen título",
|
||||
"Calendar:" : "Calendario:",
|
||||
"Date:" : "Data:",
|
||||
"Where:" : "Onde:",
|
||||
@ -75,6 +76,8 @@ OC.L10N.register(
|
||||
"\"%1$s\" has been canceled" : "\"%1$s\" cancelouse",
|
||||
"Re: %1$s" : "Re: %1$s",
|
||||
"%1$s has responded to your invitation" : "%1$s respondeu á túa invitación",
|
||||
"Invitation updated: %1$s" : "Invitación actualizada: %1$s",
|
||||
"%1$s updated the event \"%2$s\"" : "%1$s actualizou o evento \"%2$s\"",
|
||||
"Invitation: %1$s" : "Invitación: %1$s",
|
||||
"%1$s would like to invite you to \"%2$s\"" : "%1$s quere invitarte a \"%2$s\"",
|
||||
"Organizer:" : "Organizador:",
|
||||
|
@ -53,6 +53,7 @@
|
||||
"A calendar <strong>to-do</strong> was modified" : "Modificouse unha <strong>tarefa</strong> do calendario",
|
||||
"Contact birthdays" : "Aniversario do contacto",
|
||||
"Death of %s" : "Falecemento de %s",
|
||||
"Untitled calendar" : "Calendario sen título",
|
||||
"Calendar:" : "Calendario:",
|
||||
"Date:" : "Data:",
|
||||
"Where:" : "Onde:",
|
||||
@ -73,6 +74,8 @@
|
||||
"\"%1$s\" has been canceled" : "\"%1$s\" cancelouse",
|
||||
"Re: %1$s" : "Re: %1$s",
|
||||
"%1$s has responded to your invitation" : "%1$s respondeu á túa invitación",
|
||||
"Invitation updated: %1$s" : "Invitación actualizada: %1$s",
|
||||
"%1$s updated the event \"%2$s\"" : "%1$s actualizou o evento \"%2$s\"",
|
||||
"Invitation: %1$s" : "Invitación: %1$s",
|
||||
"%1$s would like to invite you to \"%2$s\"" : "%1$s quere invitarte a \"%2$s\"",
|
||||
"Organizer:" : "Organizador:",
|
||||
|
@ -34,6 +34,7 @@ OC.L10N.register(
|
||||
"A calendar <strong>event</strong> was modified" : "<strong>אירוע</strong> ביומן נערך",
|
||||
"Contact birthdays" : "ימי הולדת של אנשי קשר",
|
||||
"Death of %s" : "הפטירה של %s",
|
||||
"Untitled calendar" : "לוח שנה ללא כותרת",
|
||||
"Calendar:" : "לוח שנה:",
|
||||
"Date:" : "תאריך:",
|
||||
"Where:" : "איפה:",
|
||||
|
@ -32,6 +32,7 @@
|
||||
"A calendar <strong>event</strong> was modified" : "<strong>אירוע</strong> ביומן נערך",
|
||||
"Contact birthdays" : "ימי הולדת של אנשי קשר",
|
||||
"Death of %s" : "הפטירה של %s",
|
||||
"Untitled calendar" : "לוח שנה ללא כותרת",
|
||||
"Calendar:" : "לוח שנה:",
|
||||
"Date:" : "תאריך:",
|
||||
"Where:" : "איפה:",
|
||||
|
@ -39,6 +39,7 @@ OC.L10N.register(
|
||||
"A calendar <strong>event</strong> was modified" : "Izmijenjen je <strong>događaj</strong> u kalendaru",
|
||||
"Contact birthdays" : "Rođendani kontakata",
|
||||
"Death of %s" : "Smrt %s",
|
||||
"Untitled calendar" : "Kalendar bez naslova",
|
||||
"Calendar:" : "Kalendar:",
|
||||
"Date:" : "Datum:",
|
||||
"Where:" : "Gdje:",
|
||||
|
@ -37,6 +37,7 @@
|
||||
"A calendar <strong>event</strong> was modified" : "Izmijenjen je <strong>događaj</strong> u kalendaru",
|
||||
"Contact birthdays" : "Rođendani kontakata",
|
||||
"Death of %s" : "Smrt %s",
|
||||
"Untitled calendar" : "Kalendar bez naslova",
|
||||
"Calendar:" : "Kalendar:",
|
||||
"Date:" : "Datum:",
|
||||
"Where:" : "Gdje:",
|
||||
|
@ -55,6 +55,7 @@ OC.L10N.register(
|
||||
"A calendar <strong>to-do</strong> was modified" : "Egy <strong>naptárteendő</strong> megváltozott",
|
||||
"Contact birthdays" : "Névjegyek születésnapjai",
|
||||
"Death of %s" : "%s halála",
|
||||
"Untitled calendar" : "Névtelen naptár",
|
||||
"Calendar:" : "Naptár:",
|
||||
"Date:" : "Dátum:",
|
||||
"Where:" : "Hol:",
|
||||
|
@ -53,6 +53,7 @@
|
||||
"A calendar <strong>to-do</strong> was modified" : "Egy <strong>naptárteendő</strong> megváltozott",
|
||||
"Contact birthdays" : "Névjegyek születésnapjai",
|
||||
"Death of %s" : "%s halála",
|
||||
"Untitled calendar" : "Névtelen naptár",
|
||||
"Calendar:" : "Naptár:",
|
||||
"Date:" : "Dátum:",
|
||||
"Where:" : "Hol:",
|
||||
|
@ -33,6 +33,7 @@ OC.L10N.register(
|
||||
"A <strong>calendar</strong> was modified" : "<strong>Dagatali</strong> var breytt",
|
||||
"A calendar <strong>event</strong> was modified" : "<strong>Atburði</strong> dagatals var breytt",
|
||||
"Contact birthdays" : "Afmælisdagar tengiliðar",
|
||||
"Untitled calendar" : "Ónefnt dagatal",
|
||||
"Calendar:" : "Dagatal:",
|
||||
"Date:" : "Dagsetning:",
|
||||
"Where:" : "Hvar:",
|
||||
|
@ -31,6 +31,7 @@
|
||||
"A <strong>calendar</strong> was modified" : "<strong>Dagatali</strong> var breytt",
|
||||
"A calendar <strong>event</strong> was modified" : "<strong>Atburði</strong> dagatals var breytt",
|
||||
"Contact birthdays" : "Afmælisdagar tengiliðar",
|
||||
"Untitled calendar" : "Ónefnt dagatal",
|
||||
"Calendar:" : "Dagatal:",
|
||||
"Date:" : "Dagsetning:",
|
||||
"Where:" : "Hvar:",
|
||||
|
@ -41,6 +41,7 @@ OC.L10N.register(
|
||||
"A calendar <strong>to-do</strong> was modified" : "Una <strong>cosa da fare</strong> del calendario è stata modificata",
|
||||
"Contact birthdays" : "Date di nascita dei contatti",
|
||||
"Death of %s" : "Morte di %s",
|
||||
"Untitled calendar" : "Calendario senza titolo",
|
||||
"Calendar:" : "Calendario:",
|
||||
"Date:" : "Data:",
|
||||
"Where:" : "Dove:",
|
||||
|
@ -39,6 +39,7 @@
|
||||
"A calendar <strong>to-do</strong> was modified" : "Una <strong>cosa da fare</strong> del calendario è stata modificata",
|
||||
"Contact birthdays" : "Date di nascita dei contatti",
|
||||
"Death of %s" : "Morte di %s",
|
||||
"Untitled calendar" : "Calendario senza titolo",
|
||||
"Calendar:" : "Calendario:",
|
||||
"Date:" : "Data:",
|
||||
"Where:" : "Dove:",
|
||||
|
@ -40,6 +40,7 @@ OC.L10N.register(
|
||||
"A calendar <strong>event</strong> was modified" : "カレンダーの<strong>イベント</strong>が変更されたとき",
|
||||
"Contact birthdays" : "誕生日",
|
||||
"Death of %s" : "%sの命日",
|
||||
"Untitled calendar" : "無題のカレンダー",
|
||||
"Calendar:" : "カレンダー:",
|
||||
"Date:" : "日付:",
|
||||
"Where:" : "場所:",
|
||||
|
@ -38,6 +38,7 @@
|
||||
"A calendar <strong>event</strong> was modified" : "カレンダーの<strong>イベント</strong>が変更されたとき",
|
||||
"Contact birthdays" : "誕生日",
|
||||
"Death of %s" : "%sの命日",
|
||||
"Untitled calendar" : "無題のカレンダー",
|
||||
"Calendar:" : "カレンダー:",
|
||||
"Date:" : "日付:",
|
||||
"Where:" : "場所:",
|
||||
|
@ -55,6 +55,7 @@ OC.L10N.register(
|
||||
"A calendar <strong>to-do</strong> was modified" : "달력 <strong>할 일</strong>이 수정됨",
|
||||
"Contact birthdays" : "연락처에 등록된 생일",
|
||||
"Death of %s" : "%s의 기일",
|
||||
"Untitled calendar" : "제목없는 달력",
|
||||
"Calendar:" : "달력:",
|
||||
"Date:" : "날짜:",
|
||||
"Where:" : "장소:",
|
||||
|
@ -53,6 +53,7 @@
|
||||
"A calendar <strong>to-do</strong> was modified" : "달력 <strong>할 일</strong>이 수정됨",
|
||||
"Contact birthdays" : "연락처에 등록된 생일",
|
||||
"Death of %s" : "%s의 기일",
|
||||
"Untitled calendar" : "제목없는 달력",
|
||||
"Calendar:" : "달력:",
|
||||
"Date:" : "날짜:",
|
||||
"Where:" : "장소:",
|
||||
|
@ -38,6 +38,7 @@ OC.L10N.register(
|
||||
"A <strong>calendar</strong> was modified" : "<strong>Kalendorius</strong> buvo modifikuotas",
|
||||
"A calendar <strong>event</strong> was modified" : "Kalendoriaus <strong>įvykis</strong> buvo modifikuotas",
|
||||
"Contact birthdays" : "Adresatų gimtadieniai",
|
||||
"Untitled calendar" : "Kalendorius be pavadinimo",
|
||||
"Calendar:" : "Kalendorius:",
|
||||
"Date:" : "Data:",
|
||||
"Where:" : "Kur:",
|
||||
|
@ -36,6 +36,7 @@
|
||||
"A <strong>calendar</strong> was modified" : "<strong>Kalendorius</strong> buvo modifikuotas",
|
||||
"A calendar <strong>event</strong> was modified" : "Kalendoriaus <strong>įvykis</strong> buvo modifikuotas",
|
||||
"Contact birthdays" : "Adresatų gimtadieniai",
|
||||
"Untitled calendar" : "Kalendorius be pavadinimo",
|
||||
"Calendar:" : "Kalendorius:",
|
||||
"Date:" : "Data:",
|
||||
"Where:" : "Kur:",
|
||||
|
@ -54,6 +54,7 @@ OC.L10N.register(
|
||||
"A calendar <strong>to-do</strong> was modified" : "Изменета е <strong>задача</strong> во календарот",
|
||||
"Contact birthdays" : "Родендени на контактите",
|
||||
"Death of %s" : "Смрт на %s",
|
||||
"Untitled calendar" : "Неименуван календар",
|
||||
"Calendar:" : "Календар:",
|
||||
"Date:" : "Датум:",
|
||||
"Where:" : "Каде: ",
|
||||
@ -131,6 +132,7 @@ OC.L10N.register(
|
||||
"Friday" : "Петок",
|
||||
"Saturday" : "Сабота",
|
||||
"Sunday" : "Недела",
|
||||
"Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Автоматско поставување на статус во \"Не вознемирувај\" недостапен за да ги занемите сите известувања.",
|
||||
"Save" : "Зачувај",
|
||||
"Calendar server" : "Календар сервер",
|
||||
"Send invitations to attendees" : "Испрати покани на учесниците",
|
||||
|
@ -52,6 +52,7 @@
|
||||
"A calendar <strong>to-do</strong> was modified" : "Изменета е <strong>задача</strong> во календарот",
|
||||
"Contact birthdays" : "Родендени на контактите",
|
||||
"Death of %s" : "Смрт на %s",
|
||||
"Untitled calendar" : "Неименуван календар",
|
||||
"Calendar:" : "Календар:",
|
||||
"Date:" : "Датум:",
|
||||
"Where:" : "Каде: ",
|
||||
@ -129,6 +130,7 @@
|
||||
"Friday" : "Петок",
|
||||
"Saturday" : "Сабота",
|
||||
"Sunday" : "Недела",
|
||||
"Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Автоматско поставување на статус во \"Не вознемирувај\" недостапен за да ги занемите сите известувања.",
|
||||
"Save" : "Зачувај",
|
||||
"Calendar server" : "Календар сервер",
|
||||
"Send invitations to attendees" : "Испрати покани на учесниците",
|
||||
|
@ -55,6 +55,7 @@ OC.L10N.register(
|
||||
"A calendar <strong>to-do</strong> was modified" : "Ett kalender- <strong>gjøremål</strong> ble endret",
|
||||
"Contact birthdays" : "Kontakters fødelsdag",
|
||||
"Death of %s" : "Død av %s",
|
||||
"Untitled calendar" : "Kalender uten tittel",
|
||||
"Calendar:" : "Kalender:",
|
||||
"Date:" : "Dato:",
|
||||
"Where:" : "Hvor:",
|
||||
|
@ -53,6 +53,7 @@
|
||||
"A calendar <strong>to-do</strong> was modified" : "Ett kalender- <strong>gjøremål</strong> ble endret",
|
||||
"Contact birthdays" : "Kontakters fødelsdag",
|
||||
"Death of %s" : "Død av %s",
|
||||
"Untitled calendar" : "Kalender uten tittel",
|
||||
"Calendar:" : "Kalender:",
|
||||
"Date:" : "Dato:",
|
||||
"Where:" : "Hvor:",
|
||||
|
@ -48,6 +48,7 @@ OC.L10N.register(
|
||||
"A calendar <strong>event</strong> was modified" : "Een agenda <strong>gebeurtenis</strong> is aangepast",
|
||||
"Contact birthdays" : "Verjaardagen",
|
||||
"Death of %s" : "Sterfdatum van %s",
|
||||
"Untitled calendar" : "Naamloze calender",
|
||||
"Calendar:" : "Agenda",
|
||||
"Date:" : "Datum",
|
||||
"Where:" : "Waar:",
|
||||
|
@ -46,6 +46,7 @@
|
||||
"A calendar <strong>event</strong> was modified" : "Een agenda <strong>gebeurtenis</strong> is aangepast",
|
||||
"Contact birthdays" : "Verjaardagen",
|
||||
"Death of %s" : "Sterfdatum van %s",
|
||||
"Untitled calendar" : "Naamloze calender",
|
||||
"Calendar:" : "Agenda",
|
||||
"Date:" : "Datum",
|
||||
"Where:" : "Waar:",
|
||||
|
@ -55,6 +55,7 @@ OC.L10N.register(
|
||||
"A calendar <strong>to-do</strong> was modified" : "Kalendarz <strong>zadań</strong> został zmieniony",
|
||||
"Contact birthdays" : "Urodziny kontaktu",
|
||||
"Death of %s" : "Śmierć %s",
|
||||
"Untitled calendar" : "Kalendarz bez tytułu",
|
||||
"Calendar:" : "Kalendarz:",
|
||||
"Date:" : "Data:",
|
||||
"Where:" : "Gdzie:",
|
||||
|
@ -53,6 +53,7 @@
|
||||
"A calendar <strong>to-do</strong> was modified" : "Kalendarz <strong>zadań</strong> został zmieniony",
|
||||
"Contact birthdays" : "Urodziny kontaktu",
|
||||
"Death of %s" : "Śmierć %s",
|
||||
"Untitled calendar" : "Kalendarz bez tytułu",
|
||||
"Calendar:" : "Kalendarz:",
|
||||
"Date:" : "Data:",
|
||||
"Where:" : "Gdzie:",
|
||||
|
@ -55,6 +55,7 @@ OC.L10N.register(
|
||||
"A calendar <strong>to-do</strong> was modified" : "Um calendário <strong>tarefa</strong> foi modificado",
|
||||
"Contact birthdays" : "Aniversário dos contatos",
|
||||
"Death of %s" : "Morte de %s",
|
||||
"Untitled calendar" : "Calendário sem título",
|
||||
"Calendar:" : "Calendário:",
|
||||
"Date:" : "Data:",
|
||||
"Where:" : "Onde:",
|
||||
|
@ -53,6 +53,7 @@
|
||||
"A calendar <strong>to-do</strong> was modified" : "Um calendário <strong>tarefa</strong> foi modificado",
|
||||
"Contact birthdays" : "Aniversário dos contatos",
|
||||
"Death of %s" : "Morte de %s",
|
||||
"Untitled calendar" : "Calendário sem título",
|
||||
"Calendar:" : "Calendário:",
|
||||
"Date:" : "Data:",
|
||||
"Where:" : "Onde:",
|
||||
|
@ -55,6 +55,7 @@ OC.L10N.register(
|
||||
"A calendar <strong>to-do</strong> was modified" : "В календаре изменена <strong>задача</strong> ",
|
||||
"Contact birthdays" : "Дни рождения контакта",
|
||||
"Death of %s" : "Смерть %s",
|
||||
"Untitled calendar" : "Календарь без названия",
|
||||
"Calendar:" : "Календарь:",
|
||||
"Date:" : "Дата:",
|
||||
"Where:" : "Где:",
|
||||
|
@ -53,6 +53,7 @@
|
||||
"A calendar <strong>to-do</strong> was modified" : "В календаре изменена <strong>задача</strong> ",
|
||||
"Contact birthdays" : "Дни рождения контакта",
|
||||
"Death of %s" : "Смерть %s",
|
||||
"Untitled calendar" : "Календарь без названия",
|
||||
"Calendar:" : "Календарь:",
|
||||
"Date:" : "Дата:",
|
||||
"Where:" : "Где:",
|
||||
|
@ -39,6 +39,7 @@ OC.L10N.register(
|
||||
"A calendar <strong>event</strong> was modified" : "Un'<strong>eventu</strong> de su calendàriu est istadu modificadu",
|
||||
"Contact birthdays" : "Data de nàschida de is cuntatos",
|
||||
"Death of %s" : "Morte de %s",
|
||||
"Untitled calendar" : "Calendàriu chene tìtulu",
|
||||
"Calendar:" : "Calendàriu:",
|
||||
"Date:" : "Data:",
|
||||
"Where:" : "Ue:",
|
||||
|
@ -37,6 +37,7 @@
|
||||
"A calendar <strong>event</strong> was modified" : "Un'<strong>eventu</strong> de su calendàriu est istadu modificadu",
|
||||
"Contact birthdays" : "Data de nàschida de is cuntatos",
|
||||
"Death of %s" : "Morte de %s",
|
||||
"Untitled calendar" : "Calendàriu chene tìtulu",
|
||||
"Calendar:" : "Calendàriu:",
|
||||
"Date:" : "Data:",
|
||||
"Where:" : "Ue:",
|
||||
|
@ -55,6 +55,7 @@ OC.L10N.register(
|
||||
"A calendar <strong>to-do</strong> was modified" : "Kalendár <strong>úloh</strong> bol upravený",
|
||||
"Contact birthdays" : "Narodeniny kontaktu",
|
||||
"Death of %s" : "Dátum úmrtia %s",
|
||||
"Untitled calendar" : "Kalendár bez názvu",
|
||||
"Calendar:" : "Kalendár:",
|
||||
"Date:" : "Dátum:",
|
||||
"Where:" : "Kde:",
|
||||
|
@ -53,6 +53,7 @@
|
||||
"A calendar <strong>to-do</strong> was modified" : "Kalendár <strong>úloh</strong> bol upravený",
|
||||
"Contact birthdays" : "Narodeniny kontaktu",
|
||||
"Death of %s" : "Dátum úmrtia %s",
|
||||
"Untitled calendar" : "Kalendár bez názvu",
|
||||
"Calendar:" : "Kalendár:",
|
||||
"Date:" : "Dátum:",
|
||||
"Where:" : "Kde:",
|
||||
|
@ -42,6 +42,7 @@ OC.L10N.register(
|
||||
"A calendar <strong>event</strong> was modified" : "Spremenjen je <strong>dogodek</strong> v koledarju",
|
||||
"Contact birthdays" : "Obletnice stikov",
|
||||
"Death of %s" : "%s (obletnica smrti)",
|
||||
"Untitled calendar" : "Neimenovan koledar",
|
||||
"Calendar:" : "Koledar:",
|
||||
"Date:" : "Datum:",
|
||||
"Where:" : "Kje:",
|
||||
|
@ -40,6 +40,7 @@
|
||||
"A calendar <strong>event</strong> was modified" : "Spremenjen je <strong>dogodek</strong> v koledarju",
|
||||
"Contact birthdays" : "Obletnice stikov",
|
||||
"Death of %s" : "%s (obletnica smrti)",
|
||||
"Untitled calendar" : "Neimenovan koledar",
|
||||
"Calendar:" : "Koledar:",
|
||||
"Date:" : "Datum:",
|
||||
"Where:" : "Kje:",
|
||||
|
@ -55,6 +55,7 @@ OC.L10N.register(
|
||||
"A calendar <strong>to-do</strong> was modified" : "Календар <strong>обавеза</strong> је измењен",
|
||||
"Contact birthdays" : "Рођендани контаката",
|
||||
"Death of %s" : " %s смрт",
|
||||
"Untitled calendar" : "Неименовани календар",
|
||||
"Calendar:" : "Календар:",
|
||||
"Date:" : "Датум:",
|
||||
"Where:" : "Место:",
|
||||
|
@ -53,6 +53,7 @@
|
||||
"A calendar <strong>to-do</strong> was modified" : "Календар <strong>обавеза</strong> је измењен",
|
||||
"Contact birthdays" : "Рођендани контаката",
|
||||
"Death of %s" : " %s смрт",
|
||||
"Untitled calendar" : "Неименовани календар",
|
||||
"Calendar:" : "Календар:",
|
||||
"Date:" : "Датум:",
|
||||
"Where:" : "Место:",
|
||||
|
@ -55,6 +55,7 @@ OC.L10N.register(
|
||||
"A calendar <strong>to-do</strong> was modified" : "En kalender <strong>uppgift</strong> modifierades",
|
||||
"Contact birthdays" : "Födelsedagar",
|
||||
"Death of %s" : "Död av %s",
|
||||
"Untitled calendar" : "Namnlös kalender",
|
||||
"Calendar:" : "Kalender:",
|
||||
"Date:" : "Datum:",
|
||||
"Where:" : "Var:",
|
||||
@ -74,6 +75,9 @@ OC.L10N.register(
|
||||
"Cancelled: %1$s" : "Avbruten: %1$s",
|
||||
"\"%1$s\" has been canceled" : "\"%1$s\" har avbrutits",
|
||||
"Re: %1$s" : "Sv: %1$s",
|
||||
"%1$s has accepted your invitation" : "%1$s har accepterat din inbjudan",
|
||||
"%1$s has tentatively accepted your invitation" : "%1$s har preliminärt accepterat din inbjudan",
|
||||
"%1$s has declined your invitation" : "%1$s har tackat nej till din inbjudan",
|
||||
"%1$s has responded to your invitation" : "%1$s har svarat på din inbjudan",
|
||||
"Invitation updated: %1$s" : "Inbjudan uppdaterad: %1$s",
|
||||
"%1$s updated the event \"%2$s\"" : "%1$s uppdaterade händelse \"%2$s\"",
|
||||
|
@ -53,6 +53,7 @@
|
||||
"A calendar <strong>to-do</strong> was modified" : "En kalender <strong>uppgift</strong> modifierades",
|
||||
"Contact birthdays" : "Födelsedagar",
|
||||
"Death of %s" : "Död av %s",
|
||||
"Untitled calendar" : "Namnlös kalender",
|
||||
"Calendar:" : "Kalender:",
|
||||
"Date:" : "Datum:",
|
||||
"Where:" : "Var:",
|
||||
@ -72,6 +73,9 @@
|
||||
"Cancelled: %1$s" : "Avbruten: %1$s",
|
||||
"\"%1$s\" has been canceled" : "\"%1$s\" har avbrutits",
|
||||
"Re: %1$s" : "Sv: %1$s",
|
||||
"%1$s has accepted your invitation" : "%1$s har accepterat din inbjudan",
|
||||
"%1$s has tentatively accepted your invitation" : "%1$s har preliminärt accepterat din inbjudan",
|
||||
"%1$s has declined your invitation" : "%1$s har tackat nej till din inbjudan",
|
||||
"%1$s has responded to your invitation" : "%1$s har svarat på din inbjudan",
|
||||
"Invitation updated: %1$s" : "Inbjudan uppdaterad: %1$s",
|
||||
"%1$s updated the event \"%2$s\"" : "%1$s uppdaterade händelse \"%2$s\"",
|
||||
|
@ -55,6 +55,7 @@ OC.L10N.register(
|
||||
"A calendar <strong>to-do</strong> was modified" : "Bir takvim <strong>yapılacak işi</strong> düzenlendi",
|
||||
"Contact birthdays" : "Kişi doğum günleri",
|
||||
"Death of %s" : "%s ölümü",
|
||||
"Untitled calendar" : "Adlandırılmamış takvim",
|
||||
"Calendar:" : "Takvim:",
|
||||
"Date:" : "Tarih:",
|
||||
"Where:" : "Yer:",
|
||||
@ -74,6 +75,9 @@ OC.L10N.register(
|
||||
"Cancelled: %1$s" : "İptal edildi: %1$s",
|
||||
"\"%1$s\" has been canceled" : "\"%1$s\" iptal edildi",
|
||||
"Re: %1$s" : "Ynt: %1$s",
|
||||
"%1$s has accepted your invitation" : "%1$s çağrınızı kabul etti",
|
||||
"%1$s has tentatively accepted your invitation" : "%1$s çağrınızı belirsiz olarak kabul etti",
|
||||
"%1$s has declined your invitation" : "%1$s çağrınızı reddetti.",
|
||||
"%1$s has responded to your invitation" : "%1$s çağrınızı yanıtladı",
|
||||
"Invitation updated: %1$s" : "Çağrı güncellendi: %1$s",
|
||||
"%1$s updated the event \"%2$s\"" : "%1$s, \"%2$s\" etkinliğini güncelledi",
|
||||
@ -113,7 +117,7 @@ OC.L10N.register(
|
||||
"You deleted contact {card} from address book {addressbook}" : "{addressbook} adres defterinden {card} kişi kartını sildiniz",
|
||||
"{actor} updated contact {card} in address book {addressbook}" : "{actor}, {addressbook} adres defterindeki {card} kişi kartını güncelledi",
|
||||
"You updated contact {card} in address book {addressbook}" : "{addressbook} adres defterindeki {card} kişi kartını güncellediniz",
|
||||
"A <strong>contact</strong> or <strong>address book</strong> was modified" : "Bir <strong>kişi</strong> ya da <strong>adres defteri</strong> değiştirildi",
|
||||
"A <strong>contact</strong> or <strong>address book</strong> was modified" : "Bir <strong>kişi</strong> ya da <strong>adres defteri</strong> değiştirildiğinde",
|
||||
"File is not updatable: %1$s" : "Dosya güncellenebilir değil: %1$s",
|
||||
"Could not write to final file, canceled by hook" : "Sonuç dosyasına yazılamadı, bağlantı tarafından iptal edildi",
|
||||
"Could not write file contents" : "Dosya içerikleri yazılamadı",
|
||||
@ -147,7 +151,7 @@ OC.L10N.register(
|
||||
"Contacts and groups" : "Kişiler ve gruplar",
|
||||
"WebDAV" : "WebDAV",
|
||||
"WebDAV endpoint" : "WebDAV bağlantı noktası",
|
||||
"Availability" : "Kullanılabilirlik",
|
||||
"Availability" : "Uygunluk",
|
||||
"If you configure your working hours, other users will see when you are out of office when they book a meeting." : "Çalışma saatlerinizi ayarlarsanız, diğer kullanıcılar bir toplantı ayarladıklarında ofis dışında olduğunuzu görürler.",
|
||||
"Time zone:" : "Saat dilimi:",
|
||||
"to" : "ile",
|
||||
@ -167,7 +171,7 @@ OC.L10N.register(
|
||||
"Saved availability" : "Uygunluk kaydedildi",
|
||||
"Failed to save availability" : "Uygunluk kaydedilemedi",
|
||||
"Calendar server" : "Takvim sunucusu",
|
||||
"Send invitations to attendees" : "Katılımcılara çağrıları gönder",
|
||||
"Send invitations to attendees" : "Katılımcılara çağrılar gönderilsin",
|
||||
"Automatically generate a birthday calendar" : "Doğum günü takvimi otomatik oluşturulsun",
|
||||
"Birthday calendars will be generated by a background job." : "Bu seçenek etkinleştirildiğinde, doğum günü takvimi arka plan görevi olarak oluşturulur.",
|
||||
"Hence they will not be available immediately after enabling but will show up after some time." : "Etkinleştirildikten hemen sonra görüntülenmez, bir süre sonra görüntülenir.",
|
||||
|
@ -53,6 +53,7 @@
|
||||
"A calendar <strong>to-do</strong> was modified" : "Bir takvim <strong>yapılacak işi</strong> düzenlendi",
|
||||
"Contact birthdays" : "Kişi doğum günleri",
|
||||
"Death of %s" : "%s ölümü",
|
||||
"Untitled calendar" : "Adlandırılmamış takvim",
|
||||
"Calendar:" : "Takvim:",
|
||||
"Date:" : "Tarih:",
|
||||
"Where:" : "Yer:",
|
||||
@ -72,6 +73,9 @@
|
||||
"Cancelled: %1$s" : "İptal edildi: %1$s",
|
||||
"\"%1$s\" has been canceled" : "\"%1$s\" iptal edildi",
|
||||
"Re: %1$s" : "Ynt: %1$s",
|
||||
"%1$s has accepted your invitation" : "%1$s çağrınızı kabul etti",
|
||||
"%1$s has tentatively accepted your invitation" : "%1$s çağrınızı belirsiz olarak kabul etti",
|
||||
"%1$s has declined your invitation" : "%1$s çağrınızı reddetti.",
|
||||
"%1$s has responded to your invitation" : "%1$s çağrınızı yanıtladı",
|
||||
"Invitation updated: %1$s" : "Çağrı güncellendi: %1$s",
|
||||
"%1$s updated the event \"%2$s\"" : "%1$s, \"%2$s\" etkinliğini güncelledi",
|
||||
@ -111,7 +115,7 @@
|
||||
"You deleted contact {card} from address book {addressbook}" : "{addressbook} adres defterinden {card} kişi kartını sildiniz",
|
||||
"{actor} updated contact {card} in address book {addressbook}" : "{actor}, {addressbook} adres defterindeki {card} kişi kartını güncelledi",
|
||||
"You updated contact {card} in address book {addressbook}" : "{addressbook} adres defterindeki {card} kişi kartını güncellediniz",
|
||||
"A <strong>contact</strong> or <strong>address book</strong> was modified" : "Bir <strong>kişi</strong> ya da <strong>adres defteri</strong> değiştirildi",
|
||||
"A <strong>contact</strong> or <strong>address book</strong> was modified" : "Bir <strong>kişi</strong> ya da <strong>adres defteri</strong> değiştirildiğinde",
|
||||
"File is not updatable: %1$s" : "Dosya güncellenebilir değil: %1$s",
|
||||
"Could not write to final file, canceled by hook" : "Sonuç dosyasına yazılamadı, bağlantı tarafından iptal edildi",
|
||||
"Could not write file contents" : "Dosya içerikleri yazılamadı",
|
||||
@ -145,7 +149,7 @@
|
||||
"Contacts and groups" : "Kişiler ve gruplar",
|
||||
"WebDAV" : "WebDAV",
|
||||
"WebDAV endpoint" : "WebDAV bağlantı noktası",
|
||||
"Availability" : "Kullanılabilirlik",
|
||||
"Availability" : "Uygunluk",
|
||||
"If you configure your working hours, other users will see when you are out of office when they book a meeting." : "Çalışma saatlerinizi ayarlarsanız, diğer kullanıcılar bir toplantı ayarladıklarında ofis dışında olduğunuzu görürler.",
|
||||
"Time zone:" : "Saat dilimi:",
|
||||
"to" : "ile",
|
||||
@ -165,7 +169,7 @@
|
||||
"Saved availability" : "Uygunluk kaydedildi",
|
||||
"Failed to save availability" : "Uygunluk kaydedilemedi",
|
||||
"Calendar server" : "Takvim sunucusu",
|
||||
"Send invitations to attendees" : "Katılımcılara çağrıları gönder",
|
||||
"Send invitations to attendees" : "Katılımcılara çağrılar gönderilsin",
|
||||
"Automatically generate a birthday calendar" : "Doğum günü takvimi otomatik oluşturulsun",
|
||||
"Birthday calendars will be generated by a background job." : "Bu seçenek etkinleştirildiğinde, doğum günü takvimi arka plan görevi olarak oluşturulur.",
|
||||
"Hence they will not be available immediately after enabling but will show up after some time." : "Etkinleştirildikten hemen sonra görüntülenmez, bir süre sonra görüntülenir.",
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user