Init commit with data restoration

master
Florian Charlaix 1 year ago
commit 525dbb707d
  1. 3
      .eslintrc.js
  2. 2
      .gitattributes
  3. 6
      .gitignore
  4. 3
      .l10nignore
  5. 18
      .php-cs-fixer.dist.php
  6. 3
      README.md
  7. 29
      appinfo/info.xml
  8. 23
      appinfo/routes.php
  9. 2
      build.xml
  10. 28
      composer.json
  11. 4045
      composer.lock
  12. 1
      img/app.svg
  13. 0
      l10n/.gitignore
  14. 0
      l10n/.gitkeep
  15. 91
      l10n/fr.js
  16. 89
      l10n/fr.json
  17. 91
      l10n/uk.js
  18. 89
      l10n/uk.json
  19. 76
      lib/AppInfo/Application.php
  20. 74
      lib/Migration/BackgroundJob.php
  21. 95
      lib/Migration/Notifier.php
  22. 32
      lib/Migration/Utils.php
  23. 20653
      package-lock.json
  24. 40
      package.json
  25. 3
      stylelint.config.js

@ -0,0 +1,3 @@
module.exports = {
extends: ['@nextcloud']
}

2
.gitattributes vendored

@ -0,0 +1,2 @@
/js/firstrunwizard-main.js binary
/js/firstrunwizard-main.js.map binary

6
.gitignore vendored

@ -0,0 +1,6 @@
# test coverage
/tests/coverage*
/tests/clover.xml
node_modules/
/vendor
/.php-cs-fixer.cache

@ -0,0 +1,3 @@
js/firstrunwizard.js
js/firstrunwizard-main.js
js/firstrunwizard-main.js.map

@ -0,0 +1,18 @@
<?php
declare(strict_types=1);
require_once './vendor/autoload.php';
use Nextcloud\CodingStandard\Config;
$config = new Config();
$config
->getFinder()
->notPath('build')
->notPath('l10n')
->notPath('node_modules')
->notPath('src')
->notPath('vendor')
->in(__DIR__);
return $config;

@ -0,0 +1,3 @@
# 🔮 First run migrate
A first run migration tool

@ -0,0 +1,29 @@
<?xml version="1.0"?>
<info xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="https://apps.nextcloud.com/schema/apps/info.xsd">
<id>firstrunmigrate</id>
<name>First run migrate</name>
<summary>Migrate user data on login</summary>
<description>Migrate user data on login</description>
<version>1.0.0</version>
<licence>agpl</licence>
<author>Florian Charlaix</author>
<namespace>FirstRunMigrate</namespace>
<default_enable/>
<types>
<logging/>
</types>
<category>tools</category>
<website>https://git.open-dsi.fr/nextcloud-extension/firstrunmigrate</website>
<bugs>https://git.open-dsi.fr/nextcloud-extension/firstrunmigrate/-/issues</bugs>
<repository>https://git.open-dsi.fr/nextcloud-extension/firstrunmigrate.git</repository>
<dependencies>
<nextcloud min-version="25" max-version="25" />
</dependencies>
</info>

@ -0,0 +1,23 @@
<?php
/**
* @copyright Copyright (c) 2016 Joas Schilling <coding@schilljs.com>
*
* @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/>.
*
*/
return [
];

@ -0,0 +1,2 @@
<project name="owncloud-firstrunwizard" basedir="." default="test">
</project>

@ -0,0 +1,28 @@
{
"name": "nextcloud/firstrunwizard",
"description": "The Nextcloud firstrunwizard",
"license": "AGPL",
"config": {
"optimize-autoloader": true,
"classmap-authoritative": true,
"platform": {
"php": "7.4"
}
},
"require-dev": {
"phpunit/phpunit": "^9.5",
"nextcloud/coding-standard": "^1.0.0",
"vimeo/psalm": "^4.3.2",
"nextcloud/ocp": "dev-stable25"
},
"scripts": {
"lint": "find . -name \\*.php -not -path './vendor/*' -not -path './build/*' -print0 | xargs -0 -n1 php -l",
"cs:check": "php-cs-fixer fix --dry-run --diff",
"cs:fix": "php-cs-fixer fix"
},
"autoload-dev": {
"psr-4": {
"OCP\\": "vendor/nextcloud/ocp/OCP"
}
}
}

4045
composer.lock generated

File diff suppressed because it is too large Load Diff

@ -0,0 +1 @@
<svg width="16" height="16" version="1.1" viewbox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><path d="m7.75 1a1.75 1.75 0 0 0-1.75 1.75 1.75 1.75 0 0 0 1.75 1.75 1.75 1.75 0 0 0 1.75-1.75 1.75 1.75 0 0 0-1.75-1.75zm-2.75 5c-0.554 0-1 0.446-1 1s0.446 1 1 1h2v5h-2c-0.554 0-1 0.446-1 1s0.446 1 1 1h6c0.554 0 1-0.446 1-1s-0.446-1-1-1h-2v-6c0-0.554-0.446-1-1-1h-3z" fill="#fff"/></svg>

After

Width:  |  Height:  |  Size: 386 B

@ -0,0 +1,91 @@
OC.L10N.register(
"firstrunwizard",
{
"Copied!" : "Copié !",
"Not supported!" : "Non pris en charge !",
"Press ⌘-C to copy." : "Appuyez sur ⌘-C pour copier.",
"Press Ctrl-C to copy." : "Appuyez sur Ctrl-C pour copier.",
"First run wizard" : "Assistant de démarrage",
"Add your profile information! For example your email is needed to receive notifications." : "Ajouter vos informations de profil ! Par exemple, votre e-mail est requis pour recevoir les notifications.",
"Add your profile information! For example your email is needed to receive notifications and reset your password." : "Ajouter vos informations de profil ! Par exemple, votre e-mail est requis pour recevoir les notifications et réinitialiser votre mot de passe.",
"Add your profile information! Set a profile picture and full name for easier recognition across all features." : "Ajoutez vos informations de profil ! Renseignez une photo de profil et un nom complet pour une reconnaissance plus facile à travers toutes les fonctionnalités.",
"Add your profile information! Set a full name for easier recognition across all features." : "Ajoutez vos informations de profil ! Renseignez un nom complet pour une reconnaissance plus facile à travers toutes les fonctionnalités.",
"Add your profile information! Set a profile picture for easier recognition across all features." : "Ajoutez vos informations de profil ! Renseignez une photo de profil pour une reconnaissance plus facile à travers toutes les fonctionnalités.",
"App recommendation: Nextcloud Calendar" : "App recommandée : Nextcloud Calendar",
"Schedule work & meetings, synced with all your devices." : "Planifiez votre travail et des réunions, synchronisées avec tous vos appareils.",
"App recommendation: Nextcloud Contacts" : "App recommandée : Nextcloud Contacts",
"Keep your colleagues and friends in one place without leaking their private info." : "Gardez les contacts de vos collègues et amis au même endroit sans divulguer leurs informations personnelles.",
"App recommendation: Nextcloud Mail" : "App recommandée : Nextcloud Mail",
"Simple email app nicely integrated with Files, Contacts and Calendar." : "Application de messagerie électronique simple et bien intégrée avec Fichiers, Contacts et Calendar.",
"App recommendation: Tasks" : "Application recommandée : Tâches",
"Sync tasks from various devices with your Nextcloud and edit them online." : "Synchronisez des tâches entre vos appareils et Nextcloud et modifiez les en ligne.",
"App recommendation: Deck" : "Application recommandée : Deck",
"Kanban style organization for personal planning and team projects." : "Organiseur de style Kanban pour planning personnel et projets d'équipe.",
"App recommendation: Forms" : "Recommandation d'application : Forms",
"Simple surveys and questionnaires, self-hosted" : "Simples enquêtes et questionnaires, auto-hébergés",
"App recommendation: Recognize" : "Recommandation d'application : Recognize",
"Smart media tagging for Nextcloud" : "Étiquetage intelligent des médias pour Nextcloud",
"App recommendation: Group folders" : "Application recommandée : Dossiers de groupes",
"Admin-configured folders shared by everyone in a group." : "Dossiers configurés par l'administrateur accessibles à tous les membres d'un groupe.",
"About" : "À propos",
"A welcome and introduction wizard for Nextcloud" : "Un assistant de bienvenue et d'introduction pour Nextcloud",
"This application enables a pop-up window when a user first logs into Nextcloud. This window welcomes new users to Nextcloud, and contains links to the standard desktop client, Android app, and the iOS app. The window also shows a link for accessing Nextcloud via WebDAV. At any time, the first run wizard can be opened again via link \"About\" on settings menu.\nThe First run wizard can be customized to meet specific design goals, or to change links and messages. Create an appropriate theme following the Theming documentation, and changes to the look and feel of this Wizard are simple. More information is available in the first run wizard documentation, as well as the theming documentation." : "Cette application active une fenêtre contextuelle lorsqu'un utilisateur se connecte pour la première fois à Nextcloud. Cette fenêtre accueille les nouveaux utilisateurs de Nextcloud et contient des liens vers le client de bureau standard, l'application Android et l'application iOS. La fenêtre affiche également un lien pour accéder à Nextcloud via WebDAV. A tout moment, l'assistant de première exécution peut être ouvert à nouveau via le lien \"A propos\" dans le menu des paramètres.\nL'assistant Première exécution peut être personnalisé pour répondre à des objectifs de conception spécifique ou pour modifier des liens et des messages. Créez un thème approprié en suivant la documentation de création de thème, et les modifications apportées à l'apparence de cet assistant seront simples. Des informations supplémentaires sont disponibles dans la documentation de l'assistant Première exécution, ainsi que dans la documentation thématique.",
"Start using {cloudName}" : "Commencer à utiliser {cloudName}",
"Welcome to {cloudName}!" : "Bienvenue à {cloudName} !",
"Extend your cloud" : "Étendez votre cloud",
"Find more than 100 apps in the Nextcloud App Store to customize your cloud:" : "Retrouver plus de 100 applications dans le magasin d'applications Nextcloud pour adapter votre cloud :",
"Groupware apps like Calendar, Contacts, Mail" : "Applications Groupware telles que Agenda, Contact, Mail",
"Communication with Nextcloud Talk" : "Communication avec Nextcloud Discussion ",
"Collaboration apps for document editing" : "Applications d'édition de documents collaborative",
"Security and authentication features like two-factor authentication, SSO and ransomware protection" : "Fonctionnalités de sécurité et d'authentification, telles que l'authentification à deux facteurs, l'authentification unique et la protection contre les rançongiciel",
"Many others like a music player, a password manager, a kanban app, a download manager or a Markdown editor" : "Beaucoup d'autres comme un lecteur de musique, un gestionnaire de mots de passe, une application kanban, un gestionnaire de téléchargement ou un éditeur Markdown",
"Browse the App Store" : "Parcourir le magasin d'applications",
"Stay in sync" : "Restez synchronisé",
"Nextcloud gives you access to your files wherever you are." : "Nextcloud vous donne accès à vos fichiers où que vous soyez.",
"Our easy to use desktop and mobile clients are available for all major platforms at zero cost!" : "Nos applications de bureau et mobiles faciles à utiliser sont disponibles pour toutes les plateformes majeures gratuitement!",
"Get the apps to sync your files" : "Obtenez les applications vous permettant de synchroniser vos fichiers",
"Desktop client" : "Client de bureau",
"Android app on Google Play Store" : "Application Android sur le Google Play Store",
"Android app on F-Droid" : "Application Android sur F-Droid",
"iOS app" : "Application iOS",
"Connect your desktop apps to %s" : "Connectez vos applications de bureau à %s",
"Connect your calendar" : "Connectez votre calendrier",
"Connect your contacts" : "Connectez vos contacts",
"Access files via WebDAV" : "Accédez à vos fichiers via WebDAV",
"Download macOS/iOS configuration profile" : "Télécharger le profil de configuration macOS / iOS",
"Get help" : "Obtenir de l'aide",
"Start contributing" : "Commencer à contribuer",
"Do you want to get a certain improvement in Nextcloud? Did you find a problem? Do you want to help translate, promote or document Nextcloud?" : "Voulez-vous obtenir une certaine amélioration dans Nextcloud? Avez-vous trouvé un problème? Voulez-vous aider à traduire, promouvoir ou documenter Nextcloud?",
"Become part of the Community" : "Devenir membre de la communauté",
"Enterprise support" : "Support aux entreprises",
"If you run Nextcloud in a mission critical environment where security and compliance are important, you need the certainty of Nextcloud Enterprise." : "Si vous utilisez Nextcloud dans un environnement critique où la sécurité et la confidentialité sont importantes, vous avez besoin de la sûreté de Nextcloud Enterprise.",
"Learn more about Nextcloud Enterprise" : "Découvrir Nextcloud Entreprise",
"Get more information" : "Obtenir d'avantage d'informations",
"The Nextcloud documentation for home users:" : "La documentation Nextcloud pour les utilisateurs à domicile:",
"User manual" : "Guide d'utilisateur",
"Admin manual" : "Manuel d'administration",
"Developer manual" : "Manuel du développeur",
"You can also ask for help in our community support channels:" : "Vous pouvez également demander de l'aide via nos canaux de support communautaire:",
"the Nextcloud forums" : "les forums de Nextcloud",
"A safe home for all your data" : "Un lieu sûr pour toutes vos données",
"Nextcloud puts your data at your fingertips, under your control. Store your documents, calendar, contacts and photos on a server in your company, at home, at one of our providers or in a data center you know." : "Nextcloud met vos données à portée de main, sous votre contrôle. Stockez vos documents, votre calendrier, vos contacts et vos photos sur un serveur de votre entreprise, chez vous, chez l'un de nos fournisseurs ou dans un centre de données que vous connaissez.",
"Host your data and files where you decide" : "Hébergez vos données et fichiers où vous voulez",
"Open standards and interoperability" : "Normes ouvertes et interopérabilité",
"100%% open source & community-focused" : "100%% Open Source & axé sur la communauté ",
"Learn more about %s" : "En savoir plus à propos de %s",
"This Nextcloud is on version %s" : "Ce Nextcloud est à la version %s",
"%s gives you access to your files wherever you are. Our easy to use desktop and mobile clients are available for all major platforms at zero cost." : "%s vous donnes accès à vos fichiers où que vous soyez. Nos interfaces mobiles et de bureaux sont disponibles sur toutes les plate-formes principales sans coût.",
"Set up sync clients using an <a href=\"%s\">app password</a>. That way you can make sure you are able to revoke access in case you lose that device." : "Configurez les clients de synchronisation en utilisant un <a href=\"%s\">mot de passe d'application</a>. De cette façon, vous pourrez être sûr que vous serrez en mesure de révoquer l'accès au cas où vous perdriez cet appareil.",
"Connect other apps to %s" : "Connectez d'autres applications à %s",
"Besides the mobile apps and desktop client you can connect any other software that supports the WebDAV/CalDAV/CardDAV protocols to %s." : "En plus des applications mobiles et ordinateur, vous pouvez connecter tout logiciel supportant les protocoles WebDAV/CalDAV/CardDAV à %s.",
"Server address" : "Adresse du serveur",
"Use this link to connect your apps and desktop client to this server:" : "Utilisez ce lien pour connecter vos applications et votre client de bureau à ce serveur :",
"Copy link" : "Copier le lien",
"Copy to clipboard" : "Copier dans le presse-papier",
"App recommendation: Notes" : "Application recommandée : Notes",
"Distraction-free notes and writing." : "Notes et écriture sans distraction.",
"If you run Nextcloud in a mission critical environment with large numbers of users and big amounts of data and need the certainty of support from the experts behind the Nextcloud technology, an Enterprise Subscription from Nextcloud is available with email and phone support." : "Si vous exécutez Nextcloud dans un environnement de production avec un grand nombre d'utilisateurs et de grandes quantités de données et que vous avez besoin de la confiance des experts de la technologie Nextcloud, un abonnement Entreprise de Nextcloud est disponible avec support téléphonique et mail.",
"Get enterprise support" : "Obtenir le support Entreprise",
"the Nextcloud IRC chat channel on freenode.net" : "le canal de discussion Nextcloud IRC sur freenode.net"
},
"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");

@ -0,0 +1,89 @@
{ "translations": {
"Copied!" : "Copié !",
"Not supported!" : "Non pris en charge !",
"Press ⌘-C to copy." : "Appuyez sur ⌘-C pour copier.",
"Press Ctrl-C to copy." : "Appuyez sur Ctrl-C pour copier.",
"First run wizard" : "Assistant de démarrage",
"Add your profile information! For example your email is needed to receive notifications." : "Ajouter vos informations de profil ! Par exemple, votre e-mail est requis pour recevoir les notifications.",
"Add your profile information! For example your email is needed to receive notifications and reset your password." : "Ajouter vos informations de profil ! Par exemple, votre e-mail est requis pour recevoir les notifications et réinitialiser votre mot de passe.",
"Add your profile information! Set a profile picture and full name for easier recognition across all features." : "Ajoutez vos informations de profil ! Renseignez une photo de profil et un nom complet pour une reconnaissance plus facile à travers toutes les fonctionnalités.",
"Add your profile information! Set a full name for easier recognition across all features." : "Ajoutez vos informations de profil ! Renseignez un nom complet pour une reconnaissance plus facile à travers toutes les fonctionnalités.",
"Add your profile information! Set a profile picture for easier recognition across all features." : "Ajoutez vos informations de profil ! Renseignez une photo de profil pour une reconnaissance plus facile à travers toutes les fonctionnalités.",
"App recommendation: Nextcloud Calendar" : "App recommandée : Nextcloud Calendar",
"Schedule work & meetings, synced with all your devices." : "Planifiez votre travail et des réunions, synchronisées avec tous vos appareils.",
"App recommendation: Nextcloud Contacts" : "App recommandée : Nextcloud Contacts",
"Keep your colleagues and friends in one place without leaking their private info." : "Gardez les contacts de vos collègues et amis au même endroit sans divulguer leurs informations personnelles.",
"App recommendation: Nextcloud Mail" : "App recommandée : Nextcloud Mail",
"Simple email app nicely integrated with Files, Contacts and Calendar." : "Application de messagerie électronique simple et bien intégrée avec Fichiers, Contacts et Calendar.",
"App recommendation: Tasks" : "Application recommandée : Tâches",
"Sync tasks from various devices with your Nextcloud and edit them online." : "Synchronisez des tâches entre vos appareils et Nextcloud et modifiez les en ligne.",
"App recommendation: Deck" : "Application recommandée : Deck",
"Kanban style organization for personal planning and team projects." : "Organiseur de style Kanban pour planning personnel et projets d'équipe.",
"App recommendation: Forms" : "Recommandation d'application : Forms",
"Simple surveys and questionnaires, self-hosted" : "Simples enquêtes et questionnaires, auto-hébergés",
"App recommendation: Recognize" : "Recommandation d'application : Recognize",
"Smart media tagging for Nextcloud" : "Étiquetage intelligent des médias pour Nextcloud",
"App recommendation: Group folders" : "Application recommandée : Dossiers de groupes",
"Admin-configured folders shared by everyone in a group." : "Dossiers configurés par l'administrateur accessibles à tous les membres d'un groupe.",
"About" : "À propos",
"A welcome and introduction wizard for Nextcloud" : "Un assistant de bienvenue et d'introduction pour Nextcloud",
"This application enables a pop-up window when a user first logs into Nextcloud. This window welcomes new users to Nextcloud, and contains links to the standard desktop client, Android app, and the iOS app. The window also shows a link for accessing Nextcloud via WebDAV. At any time, the first run wizard can be opened again via link \"About\" on settings menu.\nThe First run wizard can be customized to meet specific design goals, or to change links and messages. Create an appropriate theme following the Theming documentation, and changes to the look and feel of this Wizard are simple. More information is available in the first run wizard documentation, as well as the theming documentation." : "Cette application active une fenêtre contextuelle lorsqu'un utilisateur se connecte pour la première fois à Nextcloud. Cette fenêtre accueille les nouveaux utilisateurs de Nextcloud et contient des liens vers le client de bureau standard, l'application Android et l'application iOS. La fenêtre affiche également un lien pour accéder à Nextcloud via WebDAV. A tout moment, l'assistant de première exécution peut être ouvert à nouveau via le lien \"A propos\" dans le menu des paramètres.\nL'assistant Première exécution peut être personnalisé pour répondre à des objectifs de conception spécifique ou pour modifier des liens et des messages. Créez un thème approprié en suivant la documentation de création de thème, et les modifications apportées à l'apparence de cet assistant seront simples. Des informations supplémentaires sont disponibles dans la documentation de l'assistant Première exécution, ainsi que dans la documentation thématique.",
"Start using {cloudName}" : "Commencer à utiliser {cloudName}",
"Welcome to {cloudName}!" : "Bienvenue à {cloudName} !",
"Extend your cloud" : "Étendez votre cloud",
"Find more than 100 apps in the Nextcloud App Store to customize your cloud:" : "Retrouver plus de 100 applications dans le magasin d'applications Nextcloud pour adapter votre cloud :",
"Groupware apps like Calendar, Contacts, Mail" : "Applications Groupware telles que Agenda, Contact, Mail",
"Communication with Nextcloud Talk" : "Communication avec Nextcloud Discussion ",
"Collaboration apps for document editing" : "Applications d'édition de documents collaborative",
"Security and authentication features like two-factor authentication, SSO and ransomware protection" : "Fonctionnalités de sécurité et d'authentification, telles que l'authentification à deux facteurs, l'authentification unique et la protection contre les rançongiciel",
"Many others like a music player, a password manager, a kanban app, a download manager or a Markdown editor" : "Beaucoup d'autres comme un lecteur de musique, un gestionnaire de mots de passe, une application kanban, un gestionnaire de téléchargement ou un éditeur Markdown",
"Browse the App Store" : "Parcourir le magasin d'applications",
"Stay in sync" : "Restez synchronisé",
"Nextcloud gives you access to your files wherever you are." : "Nextcloud vous donne accès à vos fichiers où que vous soyez.",
"Our easy to use desktop and mobile clients are available for all major platforms at zero cost!" : "Nos applications de bureau et mobiles faciles à utiliser sont disponibles pour toutes les plateformes majeures gratuitement!",
"Get the apps to sync your files" : "Obtenez les applications vous permettant de synchroniser vos fichiers",
"Desktop client" : "Client de bureau",
"Android app on Google Play Store" : "Application Android sur le Google Play Store",
"Android app on F-Droid" : "Application Android sur F-Droid",
"iOS app" : "Application iOS",
"Connect your desktop apps to %s" : "Connectez vos applications de bureau à %s",
"Connect your calendar" : "Connectez votre calendrier",
"Connect your contacts" : "Connectez vos contacts",
"Access files via WebDAV" : "Accédez à vos fichiers via WebDAV",
"Download macOS/iOS configuration profile" : "Télécharger le profil de configuration macOS / iOS",
"Get help" : "Obtenir de l'aide",
"Start contributing" : "Commencer à contribuer",
"Do you want to get a certain improvement in Nextcloud? Did you find a problem? Do you want to help translate, promote or document Nextcloud?" : "Voulez-vous obtenir une certaine amélioration dans Nextcloud? Avez-vous trouvé un problème? Voulez-vous aider à traduire, promouvoir ou documenter Nextcloud?",
"Become part of the Community" : "Devenir membre de la communauté",
"Enterprise support" : "Support aux entreprises",
"If you run Nextcloud in a mission critical environment where security and compliance are important, you need the certainty of Nextcloud Enterprise." : "Si vous utilisez Nextcloud dans un environnement critique où la sécurité et la confidentialité sont importantes, vous avez besoin de la sûreté de Nextcloud Enterprise.",
"Learn more about Nextcloud Enterprise" : "Découvrir Nextcloud Entreprise",
"Get more information" : "Obtenir d'avantage d'informations",
"The Nextcloud documentation for home users:" : "La documentation Nextcloud pour les utilisateurs à domicile:",
"User manual" : "Guide d'utilisateur",
"Admin manual" : "Manuel d'administration",
"Developer manual" : "Manuel du développeur",
"You can also ask for help in our community support channels:" : "Vous pouvez également demander de l'aide via nos canaux de support communautaire:",
"the Nextcloud forums" : "les forums de Nextcloud",
"A safe home for all your data" : "Un lieu sûr pour toutes vos données",
"Nextcloud puts your data at your fingertips, under your control. Store your documents, calendar, contacts and photos on a server in your company, at home, at one of our providers or in a data center you know." : "Nextcloud met vos données à portée de main, sous votre contrôle. Stockez vos documents, votre calendrier, vos contacts et vos photos sur un serveur de votre entreprise, chez vous, chez l'un de nos fournisseurs ou dans un centre de données que vous connaissez.",
"Host your data and files where you decide" : "Hébergez vos données et fichiers où vous voulez",
"Open standards and interoperability" : "Normes ouvertes et interopérabilité",
"100%% open source & community-focused" : "100%% Open Source & axé sur la communauté ",
"Learn more about %s" : "En savoir plus à propos de %s",
"This Nextcloud is on version %s" : "Ce Nextcloud est à la version %s",
"%s gives you access to your files wherever you are. Our easy to use desktop and mobile clients are available for all major platforms at zero cost." : "%s vous donnes accès à vos fichiers où que vous soyez. Nos interfaces mobiles et de bureaux sont disponibles sur toutes les plate-formes principales sans coût.",
"Set up sync clients using an <a href=\"%s\">app password</a>. That way you can make sure you are able to revoke access in case you lose that device." : "Configurez les clients de synchronisation en utilisant un <a href=\"%s\">mot de passe d'application</a>. De cette façon, vous pourrez être sûr que vous serrez en mesure de révoquer l'accès au cas où vous perdriez cet appareil.",
"Connect other apps to %s" : "Connectez d'autres applications à %s",
"Besides the mobile apps and desktop client you can connect any other software that supports the WebDAV/CalDAV/CardDAV protocols to %s." : "En plus des applications mobiles et ordinateur, vous pouvez connecter tout logiciel supportant les protocoles WebDAV/CalDAV/CardDAV à %s.",
"Server address" : "Adresse du serveur",
"Use this link to connect your apps and desktop client to this server:" : "Utilisez ce lien pour connecter vos applications et votre client de bureau à ce serveur :",
"Copy link" : "Copier le lien",
"Copy to clipboard" : "Copier dans le presse-papier",
"App recommendation: Notes" : "Application recommandée : Notes",
"Distraction-free notes and writing." : "Notes et écriture sans distraction.",
"If you run Nextcloud in a mission critical environment with large numbers of users and big amounts of data and need the certainty of support from the experts behind the Nextcloud technology, an Enterprise Subscription from Nextcloud is available with email and phone support." : "Si vous exécutez Nextcloud dans un environnement de production avec un grand nombre d'utilisateurs et de grandes quantités de données et que vous avez besoin de la confiance des experts de la technologie Nextcloud, un abonnement Entreprise de Nextcloud est disponible avec support téléphonique et mail.",
"Get enterprise support" : "Obtenir le support Entreprise",
"the Nextcloud IRC chat channel on freenode.net" : "le canal de discussion Nextcloud IRC sur freenode.net"
},"pluralForm" :"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
}

@ -0,0 +1,91 @@
OC.L10N.register(
"firstrunwizard",
{
"Copied!" : "Скопійовано!",
"Not supported!" : "Не підтримується!",
"Press ⌘-C to copy." : "Натисніть ⌘-C щоб скопіювати.",
"Press Ctrl-C to copy." : "Натисніть Ctrl-C щоб скопіювати.",
"First run wizard" : "Майстер першого запуску",
"Add your profile information! For example your email is needed to receive notifications." : "Додайте інформацію свого профілю! Наприклад, ваша електронна адреса потрібна для отримання сповіщень.",
"Add your profile information! For example your email is needed to receive notifications and reset your password." : "Додайте інформацію свого профілю! Наприклад, ваша електронна адреса потрібна для отримання сповіщень і скидання пароля.",
"Add your profile information! Set a profile picture and full name for easier recognition across all features." : "Додайте інформацію в свій профіль! Встановіть зображення профілю та повне ім'я для полегшення розпізнавання у всіх функціях.",
"Add your profile information! Set a full name for easier recognition across all features." : "Додайте інформацію свого профілю! Встановіть повне ім’я для легшого розпізнавання всіх функцій.",
"Add your profile information! Set a profile picture for easier recognition across all features." : "Додайте інформацію свого профілю! Встановіть зображення профілю для легшого розпізнавання всіх функцій.",
"App recommendation: Nextcloud Calendar" : "Рекомендований застосунок: \"Календар\" від Nextcloud",
"Schedule work & meetings, synced with all your devices." : "Планування роботи та зустрічей із синхронізацією зі всіма вашими пристроями",
"App recommendation: Nextcloud Contacts" : "Рекомендований застосунок: \"Контакти\" від Nextcloud",
"Keep your colleagues and friends in one place without leaking their private info." : "Створіть спільний безпечний простір для співпраці та обміну даними з вашими колегами та друзями.",
"App recommendation: Nextcloud Mail" : "Рекомендований застосунок: \"Пошта\" від Nextcloud",
"Simple email app nicely integrated with Files, Contacts and Calendar." : "Простий застосунок електронної пошти, добре інтегрований з Файлами, Контактами та Календарем.",
"App recommendation: Tasks" : "Рекомендований застосунок: \"Завдання\"",
"Sync tasks from various devices with your Nextcloud and edit them online." : "Синхронізуйте завдання з різних пристроїв із вашим Nextcloud і редагуйте їх онлайн.",
"App recommendation: Deck" : "Рекомендований застосунок: \"Deck\"",
"Kanban style organization for personal planning and team projects." : "Організація в стилі канбан для особистого планування та командних проектів.",
"App recommendation: Forms" : "Рекомендований застосунок: \"Форми\"",
"Simple surveys and questionnaires, self-hosted" : "Прості опитування та анкети, розміщені самостійно",
"App recommendation: Recognize" : "Рекомендація програми: Recognize",
"Smart media tagging for Nextcloud" : "Інтелектуальне тегування медіа для Nextcloud",
"App recommendation: Group folders" : "Рекомендація щодо програми: Group folders",
"Admin-configured folders shared by everyone in a group." : "Каталоги, які було налаштовано адміністратором, доступні для всіх у групі.",
"About" : "Про програму",
"A welcome and introduction wizard for Nextcloud" : "Ласкаво просимо в майстер знайомства з Nextcloud",
"This application enables a pop-up window when a user first logs into Nextcloud. This window welcomes new users to Nextcloud, and contains links to the standard desktop client, Android app, and the iOS app. The window also shows a link for accessing Nextcloud via WebDAV. At any time, the first run wizard can be opened again via link \"About\" on settings menu.\nThe First run wizard can be customized to meet specific design goals, or to change links and messages. Create an appropriate theme following the Theming documentation, and changes to the look and feel of this Wizard are simple. More information is available in the first run wizard documentation, as well as the theming documentation." : "Ця програма активує спливаюче вікно, коли користувач вперше входить до Nextcloud. Це вікно вітає нових користувачів у Nextcloud і містить посилання на стандартний клієнт для PC, програму Android та програму iOS. У вікні також показано посилання для доступу до Nextcloud через WebDAV. У будь-який час майстер першого запуску можна відкрити знову за посиланням \"Про програму\" у меню налаштувань. \nМайстер першого запуску можна налаштувати відповідно до конкретних цілей дизайну або змінити посилання та повідомлення. Створіть відповідну тему, дотримуючись документації з оформлення, та змініть зовнішній вигляд цього майстра легко. Додаткову інформацію можна знайти в документації майстра першого запуску, а також у документації щодо створення тем.",
"Start using {cloudName}" : "Почніть використовувати {cloudName}",
"Welcome to {cloudName}!" : "Вітаємо в {cloudName}!",
"Extend your cloud" : "Розширте свою хмару",
"Find more than 100 apps in the Nextcloud App Store to customize your cloud:" : "Крамниця Nextcloud містить понад 100 застосунків, які допоможуть організувати ваш хмарний простір:",
"Groupware apps like Calendar, Contacts, Mail" : "Застосунки для робочих груп, як от Календар, Контакти, Пошта",
"Communication with Nextcloud Talk" : "Спілкування за допомогою Nextcloud Talk",
"Collaboration apps for document editing" : "Спільне редагування документів",
"Security and authentication features like two-factor authentication, SSO and ransomware protection" : "Авторизація в хмарі та безпека, такі як двофакторна автентифікація, SSO та захист від програм-вимагачів",
"Many others like a music player, a password manager, a kanban app, a download manager or a Markdown editor" : "Багато інших корисних застсунків, наприклад, музичний плеєр, менеджер паролів, робота із завданнями, менеджер завантажень або редактор текстів з підтримкою розмітки.",
"Browse the App Store" : "Перегляньте App Store",
"Stay in sync" : "Залишайтеся на зв'язку",
"Nextcloud gives you access to your files wherever you are." : "Хмара на основі Nextcloud допоможе організувати доступ до ваших файлів незалежно від місця вашого перебування.",
"Our easy to use desktop and mobile clients are available for all major platforms at zero cost!" : "Вам також доступні безкоштовні застосунки для ПК та мобільних пристроїв для основних платформ.",
"Get the apps to sync your files" : "Отримати застосунки для синхронізації ваших файлів",
"Desktop client" : "Клієнт для ПК",
"Android app on Google Play Store" : "Застосунок для Android у каталозі Google Play",
"Android app on F-Droid" : "Застосунок Android у F-Droid",
"iOS app" : "iOS застосунок",
"Connect your desktop apps to %s" : "Під'єднати ваші застосуноки до %s",
"Connect your calendar" : "Приєднайте ваш календар",
"Connect your contacts" : "Приєднайте вашу адресну книгу",
"Access files via WebDAV" : "Доступ до файлів із WebDAV",
"Download macOS/iOS configuration profile" : "Завантажте профіль конфігурації macOS/iOS",
"Get help" : "Отримати допомогу",
"Start contributing" : "Допоможіть покращити",
"Do you want to get a certain improvement in Nextcloud? Did you find a problem? Do you want to help translate, promote or document Nextcloud?" : "Ви хочете отримати певне покращення в Nextcloud? Ви знайшли проблему? Хочете допомогти перекладати, рекламувати чи документувати Nextcloud?",
"Become part of the Community" : "Станьте частиною спільноти",
"Enterprise support" : "Для підприємств",
"If you run Nextcloud in a mission critical environment where security and compliance are important, you need the certainty of Nextcloud Enterprise." : "Якщо ви запускаєте Nextcloud у критично важливому середовищі, де безпека та відповідність є важливими, вам потрібна впевненість Nextcloud Enterprise.",
"Learn more about Nextcloud Enterprise" : "Дізнайтеся більше про Nextcloud Enterprise",
"Get more information" : "Отримати більше інформації",
"The Nextcloud documentation for home users:" : "Документація з користування хмарою Nextcloud для домашніх користувачів:",
"User manual" : "Посібник користувача",
"Admin manual" : "Керівництво адміністратора",
"Developer manual" : "Інструкція розробника",
"You can also ask for help in our community support channels:" : "Ви також можете звернутися по допомогу до спільноти користувачів та розробників:",
"the Nextcloud forums" : "Форуми Nextcloud",
"A safe home for all your data" : "Безпечний дім для Ваших даних",
"Nextcloud puts your data at your fingertips, under your control. Store your documents, calendar, contacts and photos on a server in your company, at home, at one of our providers or in a data center you know." : "Nextcloud уможливлює доступ до ваших даних під суцільним вашим контролем. Зберігайте документи, календарі, контакти та фотографії у хмарі вашої компанії або вдома чи в одного з наших постачальників або в центрі обробки даних, який вам відомий.",
"Host your data and files where you decide" : "Ваші дані та файли розміщуватимуться там, де ви вирішите",
"Open standards and interoperability" : "Відкриті стандарти та сумісність",
"100%% open source & community-focused" : "100%% відкритий код, який підтримує спільнота фахівців та ентузіастів",
"Learn more about %s" : "Дізнайтеся більше про %s",
"This Nextcloud is on version %s" : "У вас встановлено Nextcloud версії %s",
"%s gives you access to your files wherever you are. Our easy to use desktop and mobile clients are available for all major platforms at zero cost." : "За допомогою хмари %s ви можете мати доступ до ваших файлів, де б ви не перебували. Наші прості у використанні стільничі та мобільні застосунки безкоштовно доступні для всіх основних платформ.",
"Set up sync clients using an <a href=\"%s\">app password</a>. That way you can make sure you are able to revoke access in case you lose that device." : "Налаштуйте клієнти синхронізації за допомогою <a href=\"%s\">пароля програми</a>. Таким чином ви зможете переконатися, що зможете скасувати доступ у разі втрати пристрою.",
"Connect other apps to %s" : "Під'єднайте інші застосунки до хмари %s",
"Besides the mobile apps and desktop client you can connect any other software that supports the WebDAV/CalDAV/CardDAV protocols to %s." : "Крім мобільних застосунків та клієнта для ПК, ви можете під'єднати будь-яке інше програмне забезпечення, яке підтримує протоколи WebDAV/CalDAV/CardDAV, до %s.",
"Server address" : "Адреса сервера",
"Use this link to connect your apps and desktop client to this server:" : "Посилання на під'єднання застосунків та клієнта ПК чи смартфону до цього сервера:",
"Copy link" : "Копіювати посилання",
"Copy to clipboard" : "Копіювати до буферу обміну",
"App recommendation: Notes" : "Рекомендація програми: Примітки",
"Distraction-free notes and writing." : "Нотатки та записи без відволікань.",
"If you run Nextcloud in a mission critical environment with large numbers of users and big amounts of data and need the certainty of support from the experts behind the Nextcloud technology, an Enterprise Subscription from Nextcloud is available with email and phone support." : "Якщо ви використовуєте Nextcloud у критично важливому середовищі з великою кількістю користувачів і великими обсягами даних і потребуєте впевненої підтримки від експертів, що стоять за технологією Nextcloud, доступна корпоративна підписка від Nextcloud із підтримкою електронною поштою та телефоном.",
"Get enterprise support" : "Отримайте підтримку підприємства",
"the Nextcloud IRC chat channel on freenode.net" : "канал чату Nextcloud IRC на freenode.net"
},
"nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);");

@ -0,0 +1,89 @@
{ "translations": {
"Copied!" : "Скопійовано!",
"Not supported!" : "Не підтримується!",
"Press ⌘-C to copy." : "Натисніть ⌘-C щоб скопіювати.",
"Press Ctrl-C to copy." : "Натисніть Ctrl-C щоб скопіювати.",
"First run wizard" : "Майстер першого запуску",
"Add your profile information! For example your email is needed to receive notifications." : "Додайте інформацію свого профілю! Наприклад, ваша електронна адреса потрібна для отримання сповіщень.",
"Add your profile information! For example your email is needed to receive notifications and reset your password." : "Додайте інформацію свого профілю! Наприклад, ваша електронна адреса потрібна для отримання сповіщень і скидання пароля.",
"Add your profile information! Set a profile picture and full name for easier recognition across all features." : "Додайте інформацію в свій профіль! Встановіть зображення профілю та повне ім'я для полегшення розпізнавання у всіх функціях.",
"Add your profile information! Set a full name for easier recognition across all features." : "Додайте інформацію свого профілю! Встановіть повне ім’я для легшого розпізнавання всіх функцій.",
"Add your profile information! Set a profile picture for easier recognition across all features." : "Додайте інформацію свого профілю! Встановіть зображення профілю для легшого розпізнавання всіх функцій.",
"App recommendation: Nextcloud Calendar" : "Рекомендований застосунок: \"Календар\" від Nextcloud",
"Schedule work & meetings, synced with all your devices." : "Планування роботи та зустрічей із синхронізацією зі всіма вашими пристроями",
"App recommendation: Nextcloud Contacts" : "Рекомендований застосунок: \"Контакти\" від Nextcloud",
"Keep your colleagues and friends in one place without leaking their private info." : "Створіть спільний безпечний простір для співпраці та обміну даними з вашими колегами та друзями.",
"App recommendation: Nextcloud Mail" : "Рекомендований застосунок: \"Пошта\" від Nextcloud",
"Simple email app nicely integrated with Files, Contacts and Calendar." : "Простий застосунок електронної пошти, добре інтегрований з Файлами, Контактами та Календарем.",
"App recommendation: Tasks" : "Рекомендований застосунок: \"Завдання\"",
"Sync tasks from various devices with your Nextcloud and edit them online." : "Синхронізуйте завдання з різних пристроїв із вашим Nextcloud і редагуйте їх онлайн.",
"App recommendation: Deck" : "Рекомендований застосунок: \"Deck\"",
"Kanban style organization for personal planning and team projects." : "Організація в стилі канбан для особистого планування та командних проектів.",
"App recommendation: Forms" : "Рекомендований застосунок: \"Форми\"",
"Simple surveys and questionnaires, self-hosted" : "Прості опитування та анкети, розміщені самостійно",
"App recommendation: Recognize" : "Рекомендація програми: Recognize",
"Smart media tagging for Nextcloud" : "Інтелектуальне тегування медіа для Nextcloud",
"App recommendation: Group folders" : "Рекомендація щодо програми: Group folders",
"Admin-configured folders shared by everyone in a group." : "Каталоги, які було налаштовано адміністратором, доступні для всіх у групі.",
"About" : "Про програму",
"A welcome and introduction wizard for Nextcloud" : "Ласкаво просимо в майстер знайомства з Nextcloud",
"This application enables a pop-up window when a user first logs into Nextcloud. This window welcomes new users to Nextcloud, and contains links to the standard desktop client, Android app, and the iOS app. The window also shows a link for accessing Nextcloud via WebDAV. At any time, the first run wizard can be opened again via link \"About\" on settings menu.\nThe First run wizard can be customized to meet specific design goals, or to change links and messages. Create an appropriate theme following the Theming documentation, and changes to the look and feel of this Wizard are simple. More information is available in the first run wizard documentation, as well as the theming documentation." : "Ця програма активує спливаюче вікно, коли користувач вперше входить до Nextcloud. Це вікно вітає нових користувачів у Nextcloud і містить посилання на стандартний клієнт для PC, програму Android та програму iOS. У вікні також показано посилання для доступу до Nextcloud через WebDAV. У будь-який час майстер першого запуску можна відкрити знову за посиланням \"Про програму\" у меню налаштувань. \nМайстер першого запуску можна налаштувати відповідно до конкретних цілей дизайну або змінити посилання та повідомлення. Створіть відповідну тему, дотримуючись документації з оформлення, та змініть зовнішній вигляд цього майстра легко. Додаткову інформацію можна знайти в документації майстра першого запуску, а також у документації щодо створення тем.",
"Start using {cloudName}" : "Почніть використовувати {cloudName}",
"Welcome to {cloudName}!" : "Вітаємо в {cloudName}!",
"Extend your cloud" : "Розширте свою хмару",
"Find more than 100 apps in the Nextcloud App Store to customize your cloud:" : "Крамниця Nextcloud містить понад 100 застосунків, які допоможуть організувати ваш хмарний простір:",
"Groupware apps like Calendar, Contacts, Mail" : "Застосунки для робочих груп, як от Календар, Контакти, Пошта",
"Communication with Nextcloud Talk" : "Спілкування за допомогою Nextcloud Talk",
"Collaboration apps for document editing" : "Спільне редагування документів",
"Security and authentication features like two-factor authentication, SSO and ransomware protection" : "Авторизація в хмарі та безпека, такі як двофакторна автентифікація, SSO та захист від програм-вимагачів",
"Many others like a music player, a password manager, a kanban app, a download manager or a Markdown editor" : "Багато інших корисних застсунків, наприклад, музичний плеєр, менеджер паролів, робота із завданнями, менеджер завантажень або редактор текстів з підтримкою розмітки.",
"Browse the App Store" : "Перегляньте App Store",
"Stay in sync" : "Залишайтеся на зв'язку",
"Nextcloud gives you access to your files wherever you are." : "Хмара на основі Nextcloud допоможе організувати доступ до ваших файлів незалежно від місця вашого перебування.",
"Our easy to use desktop and mobile clients are available for all major platforms at zero cost!" : "Вам також доступні безкоштовні застосунки для ПК та мобільних пристроїв для основних платформ.",
"Get the apps to sync your files" : "Отримати застосунки для синхронізації ваших файлів",
"Desktop client" : "Клієнт для ПК",
"Android app on Google Play Store" : "Застосунок для Android у каталозі Google Play",
"Android app on F-Droid" : "Застосунок Android у F-Droid",
"iOS app" : "iOS застосунок",
"Connect your desktop apps to %s" : "Під'єднати ваші застосуноки до %s",
"Connect your calendar" : "Приєднайте ваш календар",
"Connect your contacts" : "Приєднайте вашу адресну книгу",
"Access files via WebDAV" : "Доступ до файлів із WebDAV",
"Download macOS/iOS configuration profile" : "Завантажте профіль конфігурації macOS/iOS",
"Get help" : "Отримати допомогу",
"Start contributing" : "Допоможіть покращити",
"Do you want to get a certain improvement in Nextcloud? Did you find a problem? Do you want to help translate, promote or document Nextcloud?" : "Ви хочете отримати певне покращення в Nextcloud? Ви знайшли проблему? Хочете допомогти перекладати, рекламувати чи документувати Nextcloud?",
"Become part of the Community" : "Станьте частиною спільноти",
"Enterprise support" : "Для підприємств",
"If you run Nextcloud in a mission critical environment where security and compliance are important, you need the certainty of Nextcloud Enterprise." : "Якщо ви запускаєте Nextcloud у критично важливому середовищі, де безпека та відповідність є важливими, вам потрібна впевненість Nextcloud Enterprise.",
"Learn more about Nextcloud Enterprise" : "Дізнайтеся більше про Nextcloud Enterprise",
"Get more information" : "Отримати більше інформації",
"The Nextcloud documentation for home users:" : "Документація з користування хмарою Nextcloud для домашніх користувачів:",
"User manual" : "Посібник користувача",
"Admin manual" : "Керівництво адміністратора",
"Developer manual" : "Інструкція розробника",
"You can also ask for help in our community support channels:" : "Ви також можете звернутися по допомогу до спільноти користувачів та розробників:",
"the Nextcloud forums" : "Форуми Nextcloud",
"A safe home for all your data" : "Безпечний дім для Ваших даних",
"Nextcloud puts your data at your fingertips, under your control. Store your documents, calendar, contacts and photos on a server in your company, at home, at one of our providers or in a data center you know." : "Nextcloud уможливлює доступ до ваших даних під суцільним вашим контролем. Зберігайте документи, календарі, контакти та фотографії у хмарі вашої компанії або вдома чи в одного з наших постачальників або в центрі обробки даних, який вам відомий.",
"Host your data and files where you decide" : "Ваші дані та файли розміщуватимуться там, де ви вирішите",
"Open standards and interoperability" : "Відкриті стандарти та сумісність",
"100%% open source & community-focused" : "100%% відкритий код, який підтримує спільнота фахівців та ентузіастів",
"Learn more about %s" : "Дізнайтеся більше про %s",
"This Nextcloud is on version %s" : "У вас встановлено Nextcloud версії %s",
"%s gives you access to your files wherever you are. Our easy to use desktop and mobile clients are available for all major platforms at zero cost." : "За допомогою хмари %s ви можете мати доступ до ваших файлів, де б ви не перебували. Наші прості у використанні стільничі та мобільні застосунки безкоштовно доступні для всіх основних платформ.",
"Set up sync clients using an <a href=\"%s\">app password</a>. That way you can make sure you are able to revoke access in case you lose that device." : "Налаштуйте клієнти синхронізації за допомогою <a href=\"%s\">пароля програми</a>. Таким чином ви зможете переконатися, що зможете скасувати доступ у разі втрати пристрою.",
"Connect other apps to %s" : "Під'єднайте інші застосунки до хмари %s",
"Besides the mobile apps and desktop client you can connect any other software that supports the WebDAV/CalDAV/CardDAV protocols to %s." : "Крім мобільних застосунків та клієнта для ПК, ви можете під'єднати будь-яке інше програмне забезпечення, яке підтримує протоколи WebDAV/CalDAV/CardDAV, до %s.",
"Server address" : "Адреса сервера",
"Use this link to connect your apps and desktop client to this server:" : "Посилання на під'єднання застосунків та клієнта ПК чи смартфону до цього сервера:",
"Copy link" : "Копіювати посилання",
"Copy to clipboard" : "Копіювати до буферу обміну",
"App recommendation: Notes" : "Рекомендація програми: Примітки",
"Distraction-free notes and writing." : "Нотатки та записи без відволікань.",
"If you run Nextcloud in a mission critical environment with large numbers of users and big amounts of data and need the certainty of support from the experts behind the Nextcloud technology, an Enterprise Subscription from Nextcloud is available with email and phone support." : "Якщо ви використовуєте Nextcloud у критично важливому середовищі з великою кількістю користувачів і великими обсягами даних і потребуєте впевненої підтримки від експертів, що стоять за технологією Nextcloud, доступна корпоративна підписка від Nextcloud із підтримкою електронною поштою та телефоном.",
"Get enterprise support" : "Отримайте підтримку підприємства",
"the Nextcloud IRC chat channel on freenode.net" : "канал чату Nextcloud IRC на freenode.net"
},"pluralForm" :"nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);"
}

@ -0,0 +1,76 @@
<?php
/**
* @copyright Copyright (c) 2016, Joas Schilling <coding@schilljs.com>
*
* @author Joas Schilling <coding@schilljs.com>
*
* @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/>.
*
*/
namespace OCA\FirstRunMigrate\AppInfo;
use DateTime;
use OCP\AppFramework\App;
use OCP\AppFramework\Bootstrap\IBootstrap;
use OCP\AppFramework\Bootstrap\IBootContext;
use OCP\AppFramework\Bootstrap\IRegistrationContext;
use Symfony\Component\EventDispatcher\EventDispatcherInterface;
use Symfony\Component\EventDispatcher\GenericEvent;
use OCP\IConfig;
use OCP\IUser;
use OCP\BackgroundJob\IJobList;
use OCP\Notification\IManager as INotificationManager;
use OCA\FirstRunMigrate\Migration\Notifier;
use OCA\FirstRunMigrate\Migration\Utils;
class Application extends App implements IBootstrap {
public const APP_ID = 'firstrunmigrate';
public function __construct() {
parent::__construct('firstrunmigrate');
}
public function boot(IBootContext $context): void {
$context->injectFn([$this, 'registerHooks']);
$notificationManager = \OC::$server->get(INotificationManager::class);
$notificationManager->registerNotifierService(Notifier::class);
}
public function register(IRegistrationContext $context): void {
}
public function registerHooks(EventDispatcherInterface $dispatcher, IConfig $config, IJobList $jobList, INotificationManager $notificationManager) {
// first time login event setup
$dispatcher->addListener(IUser::class . '::firstLogin', function ($event) use ($config, $jobList, $notificationManager) {
if ($event instanceof GenericEvent) {
/**
* @var IUser
*/
$user = $event->getSubject();
$uid = $user->getUID();
if (file_exists(Utils::getUserMigrationDir($user))) {
$jobList->add('OCA\FirstRunMigrate\Migration\BackgroundJob', ['uid' => $uid]);
Utils::changeMigrationStatus('scheduled', $user);
} else {
Utils::changeMigrationStatus('empty', $user);
}
}
});
}
}

@ -0,0 +1,74 @@
<?php
/**
* @copyright Copyright (c) 2016 Joas Schilling <coding@schilljs.com>
*
* @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/>.
*
*/
namespace OCA\FirstRunMigrate\Migration;
use OC\BackgroundJob\QueuedJob;
use OCP\Notification\IManager as INotificationManager;
use OCP\IConfig;
use OC_Util;
use OCA\FirstRunMigrate\AppInfo\Application;
use OCA\FirstRunMigrate\Migration\Utils;
use OCP\IUserManager;
class BackgroundJob extends QueuedJob {
/** @var INotificationManager */
protected $notificationManager;
/** @var IConfig */
protected $config;
/** @var IUserManager */
protected $userManager;
/**
* BackgroundJob constructor.
*
* @param INotificationManager $notificationManager
*/
public function __construct(INotificationManager $notificationManager, IConfig $config, IUserManager $userManager) {
$this->notificationManager = $notificationManager;
$this->config = $config;
$this->userManager = $userManager;
}
/**
* @param array $argument
*/
protected function run($argument) {
$uid = $argument['uid'];
$user = $this->userManager->get($uid);
Utils::changeMigrationStatus('started', $user);
//trigger creation of user home and /files folder
$userFolder = \OC::$server->getUserFolder($uid);
$migrate_dir = Utils::getUserMigrationDir($user);
OC_Util::copyr($migrate_dir, $userFolder);
// update the file cache
$userFolder->getStorage()->getScanner()->scan('', \OC\Files\Cache\Scanner::SCAN_RECURSIVE);
Utils::changeMigrationStatus('finished', $user);
}
}

@ -0,0 +1,95 @@
<?php
/**
* @copyright Copyright (c) 2016 Joas Schilling <coding@schilljs.com>
*
* @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/>.
*
*/
namespace OCA\FirstRunMigrate\Migration;
use OCP\L10N\IFactory;
use OCP\Notification\INotification;
use OCP\Notification\INotifier;
use OCA\FirstRunMigrate\AppInfo\Application;
class Notifier implements INotifier {
/** @var IFactory */
protected $factory;
public function __construct(IFactory $factory) {
$this->factory = $factory;
}
/**
* Identifier of the notifier, only use [a-z0-9_]
*
* @return string
* @since 17.0.0
*/
public function getID(): string {
return Application::APP_ID;
}
/**
* Human readable name describing the notifier
*
* @return string
* @since 17.0.0
*/
public function getName(): string {
return $this->factory->get($this->getID())->t('First run migrate');
}
/**
* @param INotification $notification
* @param string $languageCode The code of the language that should be used to prepare the notification
* @return INotification
* @throws \InvalidArgumentException When the notification was not prepared by a notifier
* @since 9.0.0
*/
public function prepare(INotification $notification, string $languageCode): INotification {
if ($notification->getApp() !== $this->getID()) {
// Not my app => throw
throw new \InvalidArgumentException();
}
$l = $this->factory->get($this->getID(), $languageCode);
$subject = null;
switch ($notification->getSubject()) {
case 'empty':
$subject = $l->t('No data to migrate');
break;
case 'scheduled':
$subject = $l->t('Data migration scheduled');
break;
case 'started':
$subject = $l->t('Data migration started');
break;
case 'finished':
$subject = $l->t('Data migration complete');
break;
default:
// Unknown subject => Unknown notification => throw
throw new \InvalidArgumentException();
}
$notification->setParsedSubject($subject);
return $notification;
}
}

@ -0,0 +1,32 @@
<?php
namespace OCA\FirstRunMigrate\Migration;
use OCP\IConfig;
use OCP\IUser;
use OCA\FirstRunMigrate\AppInfo\Application;
use OCP\Notification\IManager as INotificationManager;
class Utils {
static public function changeMigrationStatus(string $status, IUser $user) {
$notificationManager = \OC::$server->get(INotificationManager::class);
$config = \OC::$server->get(IConfig::class);
$uid = $user->getUID();
$config->setUserValue($uid, Application::APP_ID, 'status', $status);
$config->setUserValue($uid, Application::APP_ID, $status . '_date', (new \DateTime())->getTimestamp());
$notification = $notificationManager->createNotification();
$notification->setApp(Application::APP_ID)
->setUser($uid)
->setDateTime(new \DateTime())
->setObject('user', $uid)
->setSubject($status);
$notificationManager->notify($notification);
}
static public function getUserMigrationDir(IUser $user) {
$config = \OC::$server->get(IConfig::class);
return $config->getSystemValue('firstrunmigrate_dir') . '/' . $user->getUID();
}
}

20653
package-lock.json generated

File diff suppressed because it is too large Load Diff

@ -0,0 +1,40 @@
{
"name": "firstrunwizard",
"description": "",
"version": "2.14.0",
"author": "Julius Härtl <jus@bitgrid.net>",
"license": "agpl",
"private": true,
"scripts": {
"build": "NODE_ENV=production webpack --progress --config webpack.js",
"dev": "NODE_ENV=development webpack --progress --config webpack.js",
"watch": "NODE_ENV=development webpack --progress --watch --config webpack.js",
"lint": "eslint --ext .js,.vue src",
"lint:fix": "eslint --ext .js,.vue src --fix",
"stylelint": "stylelint **/*.css **/*.scss **/*.vue",
"stylelint:fix": "stylelint **/*.css **/*.scss **/*.vue --fix"
},
"dependencies": {
"@nextcloud/axios": "^1.10.0",
"@nextcloud/initial-state": "^2.0.0",
"@nextcloud/l10n": "^1.6.0",
"@nextcloud/router": "^2.0.0",
"@nextcloud/vue": "^7.7.1",
"vue": "^2.7.14"
},
"browserslist": [
"extends @nextcloud/browserslist-config"
],
"engines": {
"node": "^16.0.0",
"npm": "^7.0.0 || ^8.0.0"
},
"devDependencies": {
"@nextcloud/babel-config": "^1.0.0",
"@nextcloud/browserslist-config": "^2.3.0",
"@nextcloud/eslint-config": "^8.0.0",
"@nextcloud/stylelint-config": "^2.2.0",
"@nextcloud/webpack-vue-config": "^5.3.0",
"vue-template-compiler": "^2.7.14"
}
}

@ -0,0 +1,3 @@
const stylelintConfig = require('@nextcloud/stylelint-config')
module.exports = stylelintConfig
Loading…
Cancel
Save