From 0ad52d80f143adacc8f87fa915e54bdb2de8fa8e Mon Sep 17 00:00:00 2001 From: chevereto Date: Mon, 18 Nov 2024 12:51:08 +0000 Subject: [PATCH] Automatic push 4.2.3 --- .package/4.2.2.txt | 13 - .package/4.2.3.txt | 19 + README.md | 450 +- app/.cache/languages/pl.po.cache.php | 1655 +++++- app/.cache/languages/pt-BR.po.cache.php | 764 ++- app/.cache/languages/pt.po.cache.php | 331 +- app/.cache/languages/vi.po.cache.php | 823 ++- app/composer.lock | 108 +- app/languages/pl.po | 1772 ++++++- app/languages/pt-BR.po | 622 +-- app/languages/pt.po | 337 +- app/languages/vi.po | 863 +++- app/legacy/commands/bulk-importer.php | 18 +- app/legacy/install/installer.php | 29 +- app/legacy/install/template/ready.php | 86 +- app/legacy/load/app.php | 2 +- app/legacy/routes/account.php | 14 +- app/legacy/routes/api.php | 7 +- app/legacy/routes/dashboard.php | 3 +- app/legacy/routes/image.php | 10 +- app/legacy/routes/json.php | 16 +- app/legacy/routes/settings.php | 4 +- app/legacy/routes/signup.php | 6 +- app/legacy/routes/user.php | 4 +- app/schemas/mysql-5/images.sql | 2 +- app/schemas/mysql-8/images.sql | 2 +- app/src/Legacy/Classes/Import.php | 1231 +++++ .../Legacy/Classes/ImporterFilterIterator.php | 34 + app/src/Legacy/Classes/Listing.php | 12 +- app/src/Legacy/Classes/User.php | 4 +- app/src/Legacy/functions-render.php | 19 +- app/src/Legacy/functions.php | 19 +- content/legacy/system/style.css | 15 + content/legacy/system/style.min.css | 2 +- .../custom_hooks/share_links.sample.php | 10 +- content/legacy/themes/Peafowl/head.php | 25 +- .../themes/Peafowl/lib/chevereto-all.js | 4446 +++++++++-------- .../themes/Peafowl/lib/chevereto-all.min.js | 12 +- .../legacy/themes/Peafowl/lib/js/chevereto.js | 10 +- .../themes/Peafowl/lib/js/chevereto.min.js | 4 - .../themes/Peafowl/lib/js/js-cookie.min.js | 8 - .../legacy/themes/Peafowl/lib/js/peafowl.js | 4 +- content/legacy/themes/Peafowl/lib/peafowl.css | 6 +- .../legacy/themes/Peafowl/lib/peafowl.min.css | 2 +- content/legacy/themes/Peafowl/style.css | 4 + content/legacy/themes/Peafowl/style.min.css | 2 +- .../Peafowl/views/dashboard/bulk-importer.php | 274 + .../themes/Peafowl/views/settings/powered.php | 10 +- content/pages/default/contact.php | 4 +- sdk/pup.js | 5 +- sdk/pup.min.js | 2 +- 51 files changed, 9309 insertions(+), 4815 deletions(-) delete mode 100644 .package/4.2.2.txt create mode 100644 .package/4.2.3.txt create mode 100644 app/src/Legacy/Classes/Import.php create mode 100644 app/src/Legacy/Classes/ImporterFilterIterator.php delete mode 100644 content/legacy/themes/Peafowl/lib/js/chevereto.min.js delete mode 100644 content/legacy/themes/Peafowl/lib/js/js-cookie.min.js create mode 100644 content/legacy/themes/Peafowl/views/dashboard/bulk-importer.php diff --git a/.package/4.2.2.txt b/.package/4.2.2.txt deleted file mode 100644 index a260d62..0000000 --- a/.package/4.2.2.txt +++ /dev/null @@ -1,13 +0,0 @@ -Chevereto 4.2.2 (2024-11-07) - -- 💅 Added flag icon to NSFW uploader -- ✅ Added fault-tolerant env variables -- ✅ Added session_start fail-safe for false positives -- 🐬 Fixed MySQL 5 index compatibility -- 🐞 Fixed bug affecting Disqus integration -- 🐞 Fixed bug affecting manual update query generation -- 🐞 Fixed bug affecting NSFW flagging -- 🐞 Fixed bug when using user_profile_view=album -- 🐞 Fixed bug with not working Open Graph for video -- 🐞 Fixed bug with outdated google/apiclient dependency -- 🐞 Fixed bug with unresponsive /dashboard diff --git a/.package/4.2.3.txt b/.package/4.2.3.txt new file mode 100644 index 0000000..69809a3 --- /dev/null +++ b/.package/4.2.3.txt @@ -0,0 +1,19 @@ +Chevereto 4.2.3 (2024-11-18) + +- Added Bulk importer as a core feature +- Added translation placeholder for "hosted at" titles +- Added Akismet spam protection on tags +- Improved install screen +- Changed GMT references to UTC +- Updated Polish, Portuguese, Portuguese (Brazil) and Vietnamese translations +- Fixed bug with duplicated tags display +- Fixed bug with missing SQL update affecting Bulk importer +- Fixed bug with fail-safe ENV using array values +- Fixed bug with wrong column type for image_original_exifdata +- Fixed bug with Bulk importer not skipping missing directories +- Fixed bug with Open Graph double encoding +- Fixed bug with email subject extra encoding +- Fixed bug with Disqus dark theme detection/refresh +- Fixed bug with not working cookie law acceptance +- Fixed bug with tag filtering using /?match=all +- Fixed bug with PUP.js auto-close behavior diff --git a/README.md b/README.md index 4184bbb..26d2bf5 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,7 @@ Chevereto is a robust, self-hosted media-sharing platform that prioritizes flexi Our [commercial edition](https://chevereto.com/pricing) is designed for running very large media-sharing services, offering scalability and tools to manage multiple users, high traffic, and extensive media collections. -⭐️ [Live demo](https://demo.chevereto.com) +🕹️ [Live demo](https://demo.chevereto.com) ![screen](.github/screen/user-profile.jpeg) @@ -56,6 +56,14 @@ For Chevereto V2 users: * Follow the [Upgrading guide](https://v3-docs.chevereto.com/setup/server/upgrading.html) but skip directly to Chevereto V4. +## Documentation + +Chevereto [Documentation](https://v4-docs.chevereto.com) covers the system requirements, installation, configuration, and usage of the software. It also includes a [User manual](https://v4-user.chevereto.com/) and an [Admin manual](https://v4-admin.chevereto.com/). + +## Features + +This is a short, not exhaustive, list of features available on Chevereto editions. Feel free to request a demo of the pro edition at [chevereto.com](https://chevereto.com) (free of any charge, no payment required) to see all the features in action. + ## Files supported Upload and share the following media types from device file browser, drag and drop, on-the-fly device camera, clipboard, URL, ShareX and via API. @@ -70,275 +78,261 @@ Upload and share the following media types from device file browser, drag and dr * video/mp4 * video/webm -## Documentation - -Chevereto [Documentation](https://v4-docs.chevereto.com) covers the system requirements, installation, configuration, and usage of the software. It also includes a [User manual](https://v4-user.chevereto.com/) and an [Admin manual](https://v4-admin.chevereto.com/). - -## Features - -This is a short, not exhaustive, list of features available on Chevereto editions. Feel free to request a demo of the pro edition at [chevereto.com](https://chevereto.com) (free of any charge, no payment required) to see all the features in action. - ### Uploading features -| Feature | Free | Lite | Pro | -| --------------------------------------- | :---: | :---: | :------------------: | -| Image & Video uploads | ✅ | ✅ | ✅ | -| AVIF JPEG PNG BMP GIF WEBP MOV MP4 WEBM | ✅ | ✅ | ✅ | -| API uploading (ShareX, etc) | ✅ | ✅ | ✅ | -| Equirectangular 360° images | ✅ | ✅ | ✅ | -| EXIF data (read, strip) | ✅ | ✅ | ✅ | -| Clipboard upload | ✅ | ✅ | ✅ | -| Drag-and-drop upload (drop zone) | ✅ | ✅ | ✅ | -| File delete link | ✅ | ✅ | ✅ | -| Time-based expirable uploads | ✅ | ✅ | ✅ | -| Generate thumbs & medium sized images | ✅ | ✅ | ✅ | -| Generate video frame image | ✅ | ✅ | ✅ | -| Duplicate media detection | ✅ | ✅ | ✅ | -| Auto file-naming options | ✅ | ✅ | ✅ | -| Storage modes (date, direct) | ✅ | ✅ | ✅ | -| Upload user interface (container, page) | ✅ | ✅ | ✅ | -| Upload plugin (PUP.js, postMessage) | ✅ | ✅ | ✅ | -| Upload moderation | – | ✅ | ✅ | -| Asset storage API | Local | Local | Any | -| External storage servers API | Local | Local | All (S3, SFTP, etc.) | -| Watermark image uploads | – | – | ✅ | -| Bulk content importer | – | – | ✅ | +* Image & Video uploads +* AVIF JPEG PNG BMP GIF WEBP MOV MP4 WEBM +* API uploading (ShareX, etc) +* Equirectangular 360° images +* EXIF data (read, strip) +* Clipboard upload +* Drag-and-drop upload (drop zone) +* File delete link +* Time-based expirable uploads +* Generate thumbs & medium sized images +* Generate video frame image +* Duplicate media detection +* Auto file-naming options +* Storage modes (date, direct) +* Upload user interface (container, page) +* Upload plugin (PUP.js, postMessage) +* Bulk importer + +| Uploading features | Free | Lite | Pro | +| ---------------------------- | :---: | :---: | :------------------: | +| Upload moderation | – | ✔ | ✔ | +| Watermark image uploads | – | – | ✔ | +| Asset storage API | Local | Local | Any | +| External storage servers API | Local | Local | All (S3, SFTP, etc.) | ### External storage APIs | Storage API | Free | Lite | Pro | | --------------------- | :---: | :---: | :---: | -| Amazon S3 | – | – | ✅ | -| S3 compatible | – | – | ✅ | -| Google Cloud Storage | – | – | ✅ | -| Microsoft Azure | – | – | ✅ | -| Alibaba Cloud OSS | – | – | ✅ | -| SFTP | – | – | ✅ | -| FTP | – | – | ✅ | -| OpenStack Swift | – | – | ✅ | -| Backblaze B2 (legacy) | – | – | ✅ | +| Amazon S3 | – | – | ✔ | +| S3 compatible | – | – | ✔ | +| Google Cloud Storage | – | – | ✔ | +| Microsoft Azure | – | – | ✔ | +| Alibaba Cloud OSS | – | – | ✔ | +| SFTP | – | – | ✔ | +| FTP | – | – | ✔ | +| OpenStack Swift | – | – | ✔ | +| Backblaze B2 (legacy) | – | – | ✔ | ### Content features -| Feature | Free | Lite | Pro | -| ----------------------------------------------------------- | :---: | :---: | :---: | -| Listing viewer (light box) | ✅ | ✅ | ✅ | -| Dedicated Media, Album, Tags & Users listings | ✅ | ✅ | ✅ | -| Configure items per page | ✅ | ✅ | ✅ | -| Listing type (paginated/endless) | ✅ | ✅ | ✅ | -| Image listing size (fixed, fluid) | ✅ | ✅ | ✅ | -| Configure album listing requirement | ✅ | ✅ | ✅ | -| Configure listing columns per device (mobile, tablet, etc.) | ✅ | ✅ | ✅ | +* Listing viewer +* Dedicated Media, Album, Tags & Users listings +* Configure items per page +* Listing type (paginated/endless) +* Image listing size (fixed, fluid) +* Configure album listing requirement +* Configure listing columns per device (mobile, tablet, etc.) ### Organization features -| Feature | Free | Lite | Pro | -| ---------------------------- | :---: | :---: | :---: | -| User defined Tags | ✅ | ✅ | ✅ | -| Albums & Sub-albums (nested) | ✅ | ✅ | ✅ | -| Categories | ✅ | ✅ | ✅ | -| Search | ✅ | ✅ | ✅ | -| Explore & Discovery | ✅ | ✅ | ✅ | +* User defined Tags +* Albums & Sub-albums (nested) +* Categories +* Search +* Explore & Discovery ### Tags features -| Feature | Free | Lite | Pro | -| ------------------------------ | :---: | :---: | :---: | -| On-the-fly tag creation | ✅ | ✅ | ✅ | -| Tag description | ✅ | ✅ | ✅ | -| Tag listings | ✅ | ✅ | ✅ | -| Tag filtering (users, albums) | ✅ | ✅ | ✅ | -| Tag autocomplete | ✅ | ✅ | ✅ | -| Top tags | ✅ | ✅ | ✅ | -| Exif camera model auto-tagging | ✅ | ✅ | ✅ | +* On-the-fly tag creation +* Tag description +* Tag listings +* Tag filtering (users, albums) +* Tag autocomplete +* Top tags +* Exif camera model auto-tagging ### Album features -| Feature | Free | Lite | Pro | -| --------------------------- | :---: | :---: | :---: | -| Nested albums (breadcrumbs) | ✅ | ✅ | ✅ | -| Album cover image | ✅ | ✅ | ✅ | -| Album privacy | ✅ | ✅ | ✅ | -| Album password | ✅ | ✅ | ✅ | -| Album description | ✅ | ✅ | ✅ | +* Nested albums (breadcrumbs) +* Album cover image +* Album privacy +* Album password +* Album description ### Sharing features -| Feature | Free | Lite | Pro | -| ------------------------------ | :---: | :---: | :---: | -| Direct link sharing | ✅ | ✅ | ✅ | -| Sharing button | ✅ | ✅ | ✅ | -| Media oEmbed | ✅ | ✅ | ✅ | -| HTML, Markdown & BBCodes | ✅ | ✅ | ✅ | -| Embed codes on upload complete | ✅ | ✅ | ✅ | -| Embed codes on selected media | ✅ | ✅ | ✅ | -| Embed codes media page | ✅ | ✅ | ✅ | +* Direct link sharing +* Sharing button +* Media oEmbed +* HTML, Markdown & BBCodes +* Embed codes on upload complete +* Embed codes on selected media +* Embed codes media page ### User features -| Feature | Free | Lite | Pro | -| --------------------- | :---: | :---: | :---: | -| User profiles | ✅ | ✅ | ✅ | -| Private user profiles | ✅ | ✅ | ✅ | -| User-based API | ✅ | ✅ | ✅ | -| Multiple users | – | ✅ | ✅ | -| User management | – | ✅ | ✅ | -| Guest API | – | ✅ | ✅ | +* User profiles +* Private user profiles +* User-based API + +| User features | Free | Lite | Pro | +| --------------- | :---: | :-------------------: | :-------------------: | +| Roles available | admin | admin, manager & user | admin, manager & user | +| Multiple users | – | ✔ | ✔ | +| User management | – | ✔ | ✔ | +| Guest API | – | ✔ | ✔ | ### Social features -| Feature | Free | Lite | Pro | -| ---------------------------- | :---: | :---: | :---: | -| Call-to-action album buttons | ✅ | ✅ | ✅ | -| Random button | ✅ | ✅ | ✅ | -| Notifications | ✅ | ✅ | ✅ | -| List users | ✅ | ✅ | ✅ | -| Followers | – | – | ✅ | -| Likes | – | – | ✅ | +* Call-to-action album buttons +* Random button +* Notifications +* List users + +| Social features | Free | Lite | Pro | +| --------------- | :---: | :---: | :---: | +| Followers | – | – | ✔ | +| Likes | – | – | ✔ | ### Security features -| Feature | Free | Lite | Pro | -| ------------------------------- | :---: | :---: | :---: | -| Two-Factor Authentication (2FA) | ✅ | ✅ | ✅ | -| Encrypt secrets | ✅ | ✅ | ✅ | -| Crypt-salted IDs | ✅ | ✅ | ✅ | -| IP banning | – | – | ✅ | -| Stop words | – | – | ✅ | +* Two-Factor Authentication (2FA) +* Encrypt secrets +* Crypt-salted IDs + +| Feature | Free | Lite | Pro | +| ---------- | :---: | :---: | :---: | +| IP banning | – | – | ✔ | +| Stop words | – | – | ✔ | ### Admin features -| Feature | Free | Lite | Pro | +* Album creation on behalf of users +* Dashboard (admin UI) +* System stats & usage +* Website name +* Website doctitle +* Website description +* Website privacy mode (public, private) +* Default timezone +* Uploadable file extensions +* Guest uploads auto delete +* Upload threads +* Upload maximum image size +* Upload Exif removal +* Upload max file size (users and guest) +* Upload path +* Upload file naming +* Upload thumb size +* Upload medium size and dimension +* Semantics +* Default palette +* Default font +* Image load max file size +* Image first tab +* Embed codes (content) +* Custom JS & CSS +* Universal CDN support +* [Default language](https://v4-admin.chevereto.com/settings/languages.html#default-language) +* Logo & branding +* Logo type (vector, image, text) +* Logo height +* Logo favicon image + +| Admin features | Free | Lite | Pro | | --------------------------------------------------------------------------------------------- | :---: | :---: | :---: | -| Album creation on behalf of users | ✅ | ✅ | ✅ | -| Dashboard (admin UI) | ✅ | ✅ | ✅ | -| System stats & usage | ✅ | ✅ | ✅ | -| Website name | ✅ | ✅ | ✅ | -| Website doctitle | ✅ | ✅ | ✅ | -| Website description | ✅ | ✅ | ✅ | -| Website privacy mode (public, private) | ✅ | ✅ | ✅ | -| Default timezone | ✅ | ✅ | ✅ | -| Uploadable file extensions | ✅ | ✅ | ✅ | -| Guest uploads auto delete | ✅ | ✅ | ✅ | -| Upload threads | ✅ | ✅ | ✅ | -| Upload maximum image size | ✅ | ✅ | ✅ | -| Upload Exif removal | ✅ | ✅ | ✅ | -| Upload max file size (users and guest) | ✅ | ✅ | ✅ | -| Upload path | ✅ | ✅ | ✅ | -| Upload file naming | ✅ | ✅ | ✅ | -| Upload thumb size | ✅ | ✅ | ✅ | -| Upload medium size and dimension | ✅ | ✅ | ✅ | -| Semantics | ✅ | ✅ | ✅ | -| Default palette | ✅ | ✅ | ✅ | -| Default font | ✅ | ✅ | ✅ | -| Image load max file size | ✅ | ✅ | ✅ | -| Image first tab | ✅ | ✅ | ✅ | -| Embed codes (content) | ✅ | ✅ | ✅ | -| Custom JS & CSS | ✅ | ✅ | ✅ | -| Universal CDN support | ✅ | ✅ | ✅ | -| [Default language](https://v4-admin.chevereto.com/settings/languages.html#default-language) | ✅ | ✅ | ✅ | -| Logo & branding | ✅ | ✅ | ✅ | -| Logo type (vector, image, text) | ✅ | ✅ | ✅ | -| Logo height | ✅ | ✅ | ✅ | -| Logo favicon image | ✅ | ✅ | ✅ | -| Homepage style | – | ✅ | ✅ | -| Homepage cover images | – | ✅ | ✅ | -| Homepage title & paragraph | – | ✅ | ✅ | -| Homepage call to action | – | ✅ | ✅ | -| Pages | – | ✅ | ✅ | -| Lock NSFW editing | – | ✅ | ✅ | -| User min age required | – | ✅ | ✅ | -| User avatar max file size | – | ✅ | ✅ | -| User background max file size | – | ✅ | ✅ | -| Guest API key | – | ✅ | ✅ | -| Hide "Powered by Chevereto" footer | – | – | ✅ | -| [Enabled languages](https://v4-admin.chevereto.com/settings/languages.html#enabled-languages) | – | – | ✅ | -| Routing (user, image, album) | – | – | ✅ | -| Routing root | – | – | ✅ | -| External services | – | – | ✅ | -| Comments API (Disqus, JS) | – | – | ✅ | -| Analytics code | – | – | ✅ | -| Akismet spam protection | – | – | ✅ | -| StopForumSpam spam protection | – | – | ✅ | -| CAPTCHA (reCAPTCHA, hCaptcha) | – | – | ✅ | -| Configurable CAPTCHA threshold | – | – | ✅ | -| Shield by Project Arachnid | – | – | ✅ | -| ModerateContent (auto approve, block, flag) | – | – | ✅ | -| OAuth2 login providers (Amazon, Google, Discord, etc) | – | – | ✅ | -| Banners | – | – | ✅ | -| Watermark uploads (guest, user, admin) | – | – | ✅ | -| Watermark file toggles | – | – | ✅ | -| Watermark size requirement | – | – | ✅ | -| Watermark custom image | – | – | ✅ | -| Watermark position | – | – | ✅ | -| Watermark percentage | – | – | ✅ | -| Watermark margin | – | – | ✅ | -| Watermark opacity | – | – | ✅ | +| Homepage style | – | ✔ | ✔ | +| Homepage cover images | – | ✔ | ✔ | +| Homepage title & paragraph | – | ✔ | ✔ | +| Homepage call to action | – | ✔ | ✔ | +| Pages | – | ✔ | ✔ | +| Lock NSFW editing | – | ✔ | ✔ | +| User min age required | – | ✔ | ✔ | +| User avatar max file size | – | ✔ | ✔ | +| User background max file size | – | ✔ | ✔ | +| Guest API key | – | ✔ | ✔ | +| Hide "Powered by Chevereto" footer | – | – | ✔ | +| [Enabled languages](https://v4-admin.chevereto.com/settings/languages.html#enabled-languages) | – | – | ✔ | +| Routing (user, image, album) | – | – | ✔ | +| Routing root | – | – | ✔ | +| External services | – | – | ✔ | +| Comments API (Disqus, JS) | – | – | ✔ | +| Analytics code | – | – | ✔ | +| Akismet spam protection | – | – | ✔ | +| StopForumSpam spam protection | – | – | ✔ | +| CAPTCHA (reCAPTCHA, hCaptcha) | – | – | ✔ | +| Configurable CAPTCHA threshold | – | – | ✔ | +| Shield by Project Arachnid | – | – | ✔ | +| ModerateContent (auto approve, block, flag) | – | – | ✔ | +| OAuth2 login providers (Amazon, Google, Discord, etc) | – | – | ✔ | +| Banners | – | – | ✔ | +| Watermark uploads (guest, user, admin) | – | – | ✔ | +| Watermark file toggles | – | – | ✔ | +| Watermark size requirement | – | – | ✔ | +| Watermark custom image | – | – | ✔ | +| Watermark position | – | – | ✔ | +| Watermark percentage | – | – | ✔ | +| Watermark margin | – | – | ✔ | +| Watermark opacity | – | – | ✔ | ### Admin toggles -| Feature | Free | Lite | Pro | +* Search (users and guest) +* Explore (users and guest) +* Random (users and guest) +* NSFW listings +* Blur NSFW content +* NSFW on random mode +* Banners on NSFW +* Uploads (users and guest) +* Uploads (URL) +* Upload moderation +* Upload embed codes +* Upload redirection +* Upload duplication +* Upload expiration +* Upload NSFW checkbox +* Download button +* Right click +* Show Exif data +* Social share buttons +* Automatic updates check +* Dump update query +* Debug errors + +| Admin toggles | Free | Lite | Pro | | ------------------------------------------------------------------------------------------- | :---: | :---: | :---: | -| Search (users and guest) | ✅ | ✅ | ✅ | -| Explore (users and guest) | ✅ | ✅ | ✅ | -| Random (users and guest) | ✅ | ✅ | ✅ | -| NSFW listings | ✅ | ✅ | ✅ | -| Blur NSFW content | ✅ | ✅ | ✅ | -| NSFW on random mode | ✅ | ✅ | ✅ | -| Banners on NSFW | ✅ | ✅ | ✅ | -| Uploads (users and guest) | ✅ | ✅ | ✅ | -| Uploads (URL) | ✅ | ✅ | ✅ | -| Upload moderation | ✅ | ✅ | ✅ | -| Upload embed codes | ✅ | ✅ | ✅ | -| Upload redirection | ✅ | ✅ | ✅ | -| Upload duplication | ✅ | ✅ | ✅ | -| Upload expiration | ✅ | ✅ | ✅ | -| Upload NSFW checkbox | ✅ | ✅ | ✅ | -| Download button | ✅ | ✅ | ✅ | -| Right click | ✅ | ✅ | ✅ | -| Show Exif data | ✅ | ✅ | ✅ | -| Social share buttons | ✅ | ✅ | ✅ | -| Automatic updates check | ✅ | ✅ | ✅ | -| Dump update query | ✅ | ✅ | ✅ | -| Debug errors | ✅ | ✅ | ✅ | -| Consent screen (age gate) | – | ✅ | ✅ | -| User sign up | – | ✅ | ✅ | -| User content delete | – | ✅ | ✅ | -| User notify sign up | – | ✅ | ✅ | -| User email confirmation | – | ✅ | ✅ | -| User email for social login | – | ✅ | ✅ | -| [Auto language](https://v4-admin.chevereto.com/settings/languages.html#auto-language) | – | – | ✅ | -| [Language chooser](https://v4-admin.chevereto.com/settings/languages.html#language-chooser) | – | – | ✅ | -| SEO URLs (media and album) | – | – | ✅ | -| Cookie law compliance | – | – | ✅ | -| Flood protection | – | – | ✅ | -| Flood protection notify | – | – | ✅ | -| Watermarks | – | – | ✅ | +| Consent screen (age gate) | – | ✔ | ✔ | +| User sign up | – | ✔ | ✔ | +| User content delete | – | ✔ | ✔ | +| User notify sign up | – | ✔ | ✔ | +| User email confirmation | – | ✔ | ✔ | +| User email for social login | – | ✔ | ✔ | +| [Auto language](https://v4-admin.chevereto.com/settings/languages.html#auto-language) | – | – | ✔ | +| [Language chooser](https://v4-admin.chevereto.com/settings/languages.html#language-chooser) | – | – | ✔ | +| SEO URLs (media and album) | – | – | ✔ | +| Cookie law compliance | – | – | ✔ | +| Flood protection | – | – | ✔ | +| Flood protection notify | – | – | ✔ | +| Watermarks | – | – | ✔ | ### System features -| Feature | Free | Lite | Pro | -| -------------------------------------------------- | :---: | :-------------------: | :-------------------: | -| Roles available | admin | admin, manager & user | admin, manager & user | -| Image handling GD & ImageMagick | ✅ | ✅ | ✅ | -| Theme palettes (10) | ✅ | ✅ | ✅ | -| One-click upgrade (web & CLI) | ✅ | ✅ | ✅ | -| Maintenance mode | ✅ | ✅ | ✅ | -| Email SMTP + phpmail() | ✅ | ✅ | ✅ | -| Cipher ID | ✅ | ✅ | ✅ | -| Test-email | ✅ | ✅ | ✅ | -| Export user | ✅ | ✅ | ✅ | -| Regenerate external storage stats | ✅ | ✅ | ✅ | -| Migrate external storage records | ✅ | ✅ | ✅ | -| Docker support | ✅ | ✅ | ✅ | -| CLI console | ✅ | ✅ | ✅ | -| Built-in debugger ([xrDebug](https://xrdebug.com)) | ✅ | ✅ | ✅ | -| Built-in REPL (PsySH) | ✅ | ✅ | ✅ | -| Supports Tinkerwel REPL | ✅ | ✅ | ✅ | -| Queue handling | ✅ | ✅ | ✅ | -| Configurable cache TTL | ✅ | ✅ | ✅ | -| Hreflang | ✅ | ✅ | ✅ | -| Session storage (files, redis) | ✅ | ✅ | ✅ | +* Image handling GD & ImageMagick +* Theme palettes (10) +* One-click upgrade (web & CLI) +* Maintenance mode +* Email SMTP + phpmail() +* Cipher ID +* Test-email +* Export user +* Regenerate external storage stats +* Migrate external storage records +* Docker support +* CLI console +* Built-in debugger ([xrDebug](https://xrdebug.com)) +* Built-in REPL (PsySH) +* Supports Tinkerwel REPL +* Queue handling +* Configurable cache TTL +* Hreflang +* Session storage (files, redis) ## Contributing diff --git a/app/.cache/languages/pl.po.cache.php b/app/.cache/languages/pl.po.cache.php index 8b955fd..29207da 100644 --- a/app/.cache/languages/pl.po.cache.php +++ b/app/.cache/languages/pl.po.cache.php @@ -1,8 +1,8 @@ 'VERSION', - 'POT-Creation-Date' => '2023-05-22 15:49+0000', - 'PO-Revision-Date' => '2023-05-22 15:49+0000', + 'POT-Creation-Date' => '2024-11-14 15:22+0000', + 'PO-Revision-Date' => '2024-11-14 15:22+0000', 'Last-Translator' => 'FULL NAME ', 'Language-Team' => 'LANGUAGE TEAM ', 'Language' => 'pl', @@ -20,7 +20,7 @@ $translation_table = [ 0 => "Dostęp do tej strony został zablokowany.", ], "Moderate" => [ - 0 => "Moderuj", + 0 => "Moderacja", ], "View all my images" => [ 0 => "Wszystkie moje grafiki", @@ -37,6 +37,9 @@ $translation_table = [ "Popular" => [ 0 => "Popularne", ], + "Videos" => [ + 0 => "Filmy", + ], "Animated" => [ 0 => "Animowane", ], @@ -74,7 +77,7 @@ $translation_table = [ 0 => "Dodaj swój adres -email", ], "Awaiting confirmation" => [ - 0 => "Oczekujący na potwierdzenie", + 0 => "Oczekuje na potwierdzenie", ], "Two-factor authentication" => [ 0 => "Uwierzytelnianie dwuskładnikowe", @@ -107,7 +110,7 @@ $translation_table = [ 0 => "Reset hasła na %s", ], "Confirmation required at %s" => [ - 0 => "Potwierdzenie wymagane na %s", + 0 => "Potwierdź swoje nowe konto na %s", ], "Welcome to %s" => [ 0 => "Witamy w %s", @@ -153,11 +156,11 @@ $translation_table = [ 1 => "grafiki", 2 => "grafik", ], - "Stats" => [ - 0 => "Statystyki", + "Home" => [ + 0 => "Główna", ], - "Images" => [ - 0 => "Grafiki", + "File" => [ + 0 => "Plik", ], "Album" => [ 0 => "Album", @@ -175,8 +178,11 @@ $translation_table = [ "Settings" => [ 0 => "Ustawienia", ], + "Run %s" => [ + 0 => "Uruchom %s", + ], "Website" => [ - 0 => "Strona", + 0 => "Strona www", ], "Content" => [ 0 => "Treść", @@ -184,11 +190,11 @@ $translation_table = [ "Listings" => [ 0 => "Listy", ], - "Image upload" => [ - 0 => "Wysyłanie grafiki", + "File uploads" => [ + 0 => "Wgrywanie plików", ], "Semantics" => [ - 0 => "Semantics", + 0 => "Semantyka", ], "Categories" => [ 0 => "Kategorie", @@ -211,15 +217,24 @@ $translation_table = [ "Logo" => [ 0 => "Logo", ], - "External storage" => [ - 0 => "Zewnętrza pamięć", - ], "Homepage" => [ 0 => "Strona główna", ], "Pages" => [ 0 => "Strony", ], + "Upload plugin" => [ + 0 => "Upload plugin", + ], + "Consent screen" => [ + 0 => "Ekran zgody", + ], + "Guests %s" => [ + 0 => "Gość %s", + ], + "External storage" => [ + 0 => "Zewnętrza pamięć", + ], "Routing" => [ 0 => "Routing", ], @@ -229,9 +244,6 @@ $translation_table = [ "Login providers" => [ 0 => "Dostawcy logowania", ], - "Upload plugin" => [ - 0 => "Upload plugin", - ], "Cookie compliance" => [ 0 => "Zgoda na pliki Cookie", ], @@ -247,41 +259,38 @@ $translation_table = [ "Watermarks" => [ 0 => "Znaki wodne", ], - "Documentation" => [ - 0 => "Dokumentacja", + "Upgrade now" => [ + 0 => "Zaktualizuj teraz", ], - "Admin" => [ - 0 => "Admin", + "The latest release will be downloaded and extracted in the filesystem." => [ + 0 => "Najnowsza wersja zostanie pobrana i rozpakowana w systemie plików.", ], - "%s docs" => [ - 0 => "%s dokumentacja", + "License key" => [ + 0 => "Klucz licencyjny", ], "Support" => [ 0 => "Pomoc", ], - "Releases" => [ - 0 => "Wydania", - ], - "Community" => [ - 0 => "Społeczność", - ], - "License" => [ - 0 => "Licencja", - ], "install update" => [ 0 => "zainstaluj aktualizację", ], - "Check updates" => [ + "Check upgrades" => [ 0 => "Sprawdź aktualizacje", ], "not running" => [ 0 => "nieuruchomiony", ], + "PHP function [%s] not available in this PHP installation" => [ + 0 => "Funkcja PHP [%s] niedostępna w zainstalowanej wersji PHP", + ], "Max. upload file size" => [ 0 => "Maksymalny rozmiar pliku ", ], - "Graphics Library" => [ - 0 => "Biblioteka graficzna", + "Graphics library" => [ + 0 => "Biblioteka zdjęć", + ], + "Stats" => [ + 0 => "Statystyki", ], "Rebuild stats" => [ 0 => "Przebuduj statystyki", @@ -292,6 +301,33 @@ $translation_table = [ "Not your IP?" => [ 0 => "Nie twoje IP?", ], + "Encryption" => [ + 0 => "Szyfrowanie", + ], + "Enabled" => [ + 0 => "Włączona", + ], + "Disabled" => [ + 0 => "Wyłączona", + ], + "Blog" => [ + 0 => "Blog", + ], + "Docs" => [ + 0 => "Dokumenty", + ], + "Releases" => [ + 0 => "Wydania", + ], + "Chat" => [ + 0 => "Czat", + ], + "Community" => [ + 0 => "Społeczność", + ], + "Links" => [ + 0 => "Odnośniki", + ], "Cron last ran" => [ 0 => "Cron ostatnio uruchomiony", ], @@ -301,43 +337,26 @@ $translation_table = [ "Server" => [ 0 => "Serwer", ], - "MySQL version" => [ - 0 => "Wersja MySQL", - ], - "MySQL server info" => [ - 0 => "Informacje o serwerze MySQL", - ], - "File uploads" => [ - 0 => "Wysyłka plików", - ], - "Enabled" => [ - 0 => "Włączona", - ], - "Disabled" => [ - 0 => "Wyłączona", - ], "Max. execution time" => [ 0 => "Maksymalny czas wykonywania", ], "%d second" => [ 0 => "%d sekunda", - 1 => "%d sekundy", - 2 => "%d sekund", ], "Memory limit" => [ 0 => "Limit pamięci", ], "Can't delete all homepage cover images" => [ - 0 => "Nie można usunąć wszystkich obrazów okładek strony głównej", + 0 => "Nie można usunąć wszystkich obrazów okładki strony głównej", ], "Homepage cover image deleted" => [ - 0 => "Zdjęcie okładki strony głównej zostało usunięte", + 0 => "Obraz okładki strony głównej został usunięty", ], "Local" => [ - 0 => "Lokalne", + 0 => "Lokalny", ], "External" => [ - 0 => "Zewnętrzne", + 0 => "Zewnętrzny", ], "All" => [ 0 => "Wszystko", @@ -349,16 +368,16 @@ $translation_table = [ 0 => "Dodaj stronę", ], "Edit page ID %s" => [ - 0 => "Edytuj identyfikator strony %s", + 0 => "Edytuj ID strony %s", ], "The page has been added successfully." => [ - 0 => "Strona została dodana pomyślnie.", + 0 => "Strona została dodana poprawnie.", ], "The page has been deleted." => [ - 0 => "Strona została usunięta.", + 0 => "Strona została skasowana.", ], "homepage" => [ - 0 => "strona główna", + 0 => "Strona główna", ], "Before main title (%s)" => [ 0 => "Przed tytułem głównym (%s)", @@ -369,63 +388,42 @@ $translation_table = [ "After cover (%s)" => [ 0 => "Po okładce (%s)", ], - "After listing (%s)" => [ - 0 => "Po liście (%s)", - ], "Before pagination" => [ - 0 => "Przed stronicowaniem", + 0 => "Przed paginacją", ], "After pagination" => [ - 0 => "Za stronicowaniem", + 0 => "Po paginacji", ], "Content (image and album)" => [ - 0 => "Treść (grafika i album)", - ], - "Tab about column" => [ - 0 => "Zakładka o kolumnie", + 0 => "Treść (obraz i album)", ], "Before comments" => [ 0 => "Przed komentarzami", ], "Image page" => [ - 0 => "Strona grafiki", - ], - "Inside viewer top (image page)" => [ - 0 => "Bezpośrednio nad grafiką (strona grafiki)", - ], - "Inside viewer foot (image page)" => [ - 0 => "Bezpośrednio pod grafiką (strona grafiki)", - ], - "After image viewer (image page)" => [ - 0 => "Pod przeglądarką obrazów (strona grafiki)", + 0 => "Strona zdjęć", ], "Before header (image page)" => [ - 0 => "Przed nagłówkiem (strona grafiki)", + 0 => "Przed nagłówkiem strony", ], "After header (image page)" => [ - 0 => "Po nagłówku (strona grafiki)", + 0 => "Po nagłówku strony", ], "Footer (image page)" => [ - 0 => "Stopka (strona grafiki)", + 0 => "Stopka (strona obrazków)", ], "%s page" => [ 0 => "%s strona", ], "Before header (%s page)" => [ - 0 => "Przed nagłówkiem (strona %s)", + 0 => "Przed nagłówkiem (%s strony)", ], "After header (%s page)" => [ - 0 => "Po nagłówku (strona %s)", + 0 => "Po nagłówku (%s strona)", ], "User profile page" => [ 0 => "Strona profilu użytkownika", ], - "After top (user profile)" => [ - 0 => "Na górze profilu użytkownika", - ], - "Before listing (user profile)" => [ - 0 => "Przed grafikami (profil użytkownika)", - ], "Explore" => [ 0 => "Eksploruj", ], @@ -474,44 +472,29 @@ $translation_table = [ "Invalid value" => [ 0 => "Błędna wartość", ], - "Invalid %s" => [ - 0 => "nieważny %s", + "font" => [ + 0 => "font", ], - "Invalid theme image listing size" => [ - 0 => "Nieprawidłowy rozmiar obrazu motywu", + "Invalid %s" => [ + 0 => "Błędny %s", + ], + "palette" => [ + 0 => "paleta", ], "Invalid user id" => [ - 0 => "Błędny identyfikator użytkownika", - ], - "Invalid email mode" => [ - 0 => "Błędny tryb e-maili", + 0 => "Błędne id użytkownika", ], "Invalid SMTP port" => [ 0 => "Błędny port SMTP", ], - "Invalid SMTP security" => [ - 0 => "Błędne zabezpieczenia SMTP", - ], - "Invalid website mode" => [ - 0 => "Błędny tryb strony", - ], - "Invalid personal mode user ID" => [ - 0 => "Nieprawidłowy identyfikator użytkownika trybu osobistego", - ], - "Invalid or reserved route" => [ - 0 => "Trasa nieprawidłowa lub zarezerwowana", - ], - "Invalid website privacy mode" => [ - 0 => "Nieprawidłowy tryb prywatności witryny", - ], - "Invalid website content privacy mode" => [ - 0 => "Błędny tryb prywatności", + "Invalid homepage style" => [ + 0 => "Błędny styl strony głównej", ], "Invalid title" => [ 0 => "Błędny tytuł", ], "Invalid status" => [ - 0 => "Nieprawidłowy status", + 0 => "Błędny status", ], "Invalid type" => [ 0 => "Błędny typ", @@ -520,52 +503,58 @@ $translation_table = [ 0 => "Błędna ikona", ], "Invalid file path" => [ - 0 => "Niepoprawna ścieżka pliku", + 0 => "Błędna ścieżka pliku", ], "Invalid link URL" => [ - 0 => "Niepoprawny link URL", + 0 => "Błędny link URL", + ], + "Invalid user minimum age" => [ + 0 => "Błędny minimalny wiek użytkownika", ], "Invalid URL" => [ 0 => "Błędny URL", ], "Invalid upload image path" => [ - 0 => "Błędna ścieżka wysyłania grafik", - ], - "Max. allowed %s" => [ - 0 => "Maksymalny dozwolony %s", + 0 => "Nieprawidłowa ścieżka obrazu", ], "Invalid SMTP server" => [ - 0 => "Błędny serwer SMTPs", + 0 => "Błędny serwer SMTP", ], "Invalid SMTP username" => [ 0 => "Błędna nazwa użytkownika SMTP", ], + "This file path is already being used by another page (ID %s)" => [ + 0 => "Ta ścieżka pliku jest już używana przez inną stronę (ID %s)", + ], + "Can't save page contents: %s." => [ + 0 => "Nie można zapisać zawartości strony: %s.", + ], "Dashboard" => [ 0 => "Panel kontrolny", ], + "Following" => [ + 0 => "Obserwowani", + ], "About" => [ 0 => "Informacje", ], + "Comments" => [ + 0 => "Komentarze", + ], "Image ID" => [ 0 => "Identyfikator grafiki", ], "Upload date" => [ 0 => "Data wysłania", ], - "Direct links" => [ - 0 => "Odnośniki bezpośrednie", + "Image %i in %a album" => [ + 0 => "Obraz %i w albumie %a", ], - "Image link" => [ - 0 => "Odnośnik do obrazka", + "Image %i in %c category" => [ + 0 => "Obraz %i w kategorii %c", ], - "Image URL" => [ - 0 => "Adres grafiki", - ], - "Thumbnail URL" => [ - 0 => "Odnośnik do miniaturki", - ], - "Medium URL" => [ - 0 => "Odnośnik do średniej grafiki", + "Image %i hosted in %w" => [ + 0 => "Obraz %i hostowany w %w", ], "Start uploading" => [ 0 => "Rozpocznij wysyłanie", @@ -575,14 +564,15 @@ $translation_table = [ ], "Image" => [ 0 => "Grafika", - 1 => "Grafiki", - 2 => "Grafik", + ], + "%s doesn't exists" => [ + 0 => "%s nie istnieje", ], "Category" => [ 0 => "Kategoria", ], - "IP address already banned" => [ - 0 => "Adres IP jest już zablokowany", + "%s URL key already being used." => [ + 0 => "Adres RL %s jest już używany.", ], "Missing values" => [ 0 => "Brakujące wartości", @@ -590,20 +580,68 @@ $translation_table = [ "Invalid username" => [ 0 => "Błędna nazwa użytkownika", ], + "Invalid role" => [ + 0 => "Niewłaściwa rola", + ], "Username already being used" => [ 0 => "Nazwa użytkownika jest już używana", ], + "%s added" => [ + 0 => "%s dodany", + ], + "IP address already banned" => [ + 0 => "Adres IP jest już zablokowany", + ], + "%s not found" => [ + 0 => "%s nie znaleziony", + ], + "Add a password or another social connection before deleting %s" => [ + 0 => "Dodaj hasło lub inne połączenie społecznościowe przed usunięciem %s", + ], + "Add an email or another social connection before deleting %s" => [ + 0 => "Dodaj e-mail lub inne połączenie społecznościowe przed usunięciem %s", + ], "%s has been disconnected." => [ 0 => "%s został odłączony.", ], + "Test email from %s @ %t" => [ + 0 => "Wiadomość testowa od %s @ %t", + ], "This is just a test" => [ 0 => "To tylko test", ], + "Test email sent to %s." => [ + 0 => "Testowa wiadomość e-mail wysłana do %s.", + ], + "Downloading %s data" => [ + 0 => "Pobrano %s danych", + ], + "%s %u followed" => [ + 0 => "%s %u obserwowany", + ], + "%s %u unfollowed" => [ + 0 => "%s %u nieobserwowany", + ], + "Content liked" => [ + 0 => "Treści polubione", + ], + "Content disliked" => [ + 0 => "Treść niepolubiona", + ], "%u liked your %t %c" => [ 0 => "%u polubił Twój %t %c", ], "%u is now following you" => [ - 0 => "%u zaczął Cię śledzić", + 0 => "%u zaczął Cię obserwować", + ], + "A private user" => [ + 0 => "Prywatny użytkownik", + ], + "License key removed" => [ + 0 => "Klucz licencyjny usunięty", + ], + "License key updated" => [ + 0 => "Klucz licencyjny zaktualizowany", ], "Wrong Username/Email password combination" => [ 0 => "Błędna kombinacja nazwy użytkownika lub adresu e-mail i hasła", @@ -614,8 +652,11 @@ $translation_table = [ "Upload images" => [ 0 => "Wyślij obrazy", ], + "%t search results for %s" => [ + 0 => "%t wyników wyszukiwania dla %s", + ], "Search" => [ - 0 => "Szukaj", + 0 => "Wyszukiwanie", ], "Account" => [ 0 => "Konto", @@ -626,6 +667,18 @@ $translation_table = [ "Password" => [ 0 => "Hasło", ], + "Security" => [ + 0 => "Bezpieczeństwo", + ], + "Connections" => [ + 0 => "Połączenia", + ], + "Powered by" => [ + 0 => "Obsługiwany przez", + ], + "Invalid image expiration: %s" => [ + 0 => "Nieprawidłowy czas wygaśnięcia obrazu: %s", + ], "An email has been sent to %s with instructions to activate this email" => [ 0 => "Wiadomość z instrukcjami aktywacji konta została wysłana na adres %s", ], @@ -662,15 +715,34 @@ $translation_table = [ "Username" => [ 0 => "Nazwa użytkownika", ], + "user" => [ + 0 => "użytkownik", + 2 => "użytkownicy", + ], + "Do you really want to delete this %s?" => [ + 0 => "Jesteś pewny, że chcesz usunąć %s?", + ], + "This can't be undone." => [ + 0 => "Tego nie można cofnąć.", + ], "Delete user" => [ 0 => "Usuń użytkownika", ], "User ID" => [ 0 => "Identyfikator użytkownika", ], + "Images" => [ + 0 => "Grafiki", + ], "Register date" => [ 0 => "Data rejestracji", ], + "You must agree to the terms and privacy policy" => [ + 0 => "Musisz zgodzić się na warunki i politykę prywatności", + ], + "You must be at least %s years old to use this website." => [ + 0 => "Aby korzystać z tej witryny, musisz mieć co najmniej %s lat.", + ], "Create account" => [ 0 => "Utwórz konto", ], @@ -681,10 +753,22 @@ $translation_table = [ 0 => "Albumy", ], "Liked by %s" => [ - 0 => "%s polubień", + 0 => "Polubione przez %s", ], "Liked" => [ - 0 => "Polubień", + 0 => "Polubione", + ], + "%t followed by %s" => [ + 0 => "%t obserwowany przez %s", + ], + "%t following %s" => [ + 0 => "%t obserwuje %s", + ], + "Followers" => [ + 0 => "Obserwujący", + ], + "Search results for %s" => [ + 0 => "Wyniki wyszukiwania dla %s", ], "album" => [ 0 => "album", @@ -694,6 +778,9 @@ $translation_table = [ "Flooding detected. You can only upload %limit% %content% per %time%" => [ 0 => "Wykryto flooding. Możesz przesłać tylko %limit% %content% przez %time%", ], + "Unnamed" => [ + 0 => "Nienazwany", + ], "Note: This content is private but anyone with the link will be able to see this." => [ 0 => "Uwaga: Ta zawartość jest prywatna, ale każda osoba posiadająca link może ją zobaczyć.", ], @@ -788,6 +875,9 @@ $translation_table = [ "teen" => [ 0 => "nastolatek", ], + "Content of type %s is forbidden" => [ + 0 => "Zawartość typu %s jest niedozwolona", + ], "Can't create %s destination dir" => [ 0 => "Nie można utworzyć katalogu docelowego %s", ], @@ -829,6 +919,33 @@ $translation_table = [ "moments ago" => [ 0 => "chwilę temu", ], + "There is an update available for your system." => [ + 0 => "Są dostępne aktualizacje.", + ], + "Go to %s to download and install this update." => [ + 0 => "Przejdź do %s, aby pobrać i zainstalować tę aktualizację.", + ], + "System database is outdated." => [ + 0 => "Baza danych systemu jest nieaktualna.", + ], + "Update" => [ + 0 => "Aktualizacja", + ], + "You need to %s." => [ + 0 => "Musisz %s.", + ], + "Website is in maintenance mode." => [ + 0 => "Witryna jest w trybie konserwacji.", + ], + "To revert this setting go to %s." => [ + 0 => "Aby przywrócić to ustawienie, przejdź do %s.", + ], + "%s settings" => [ + 0 => "%s ustawienia", + ], + "You haven't changed the default email settings. Go to %emailSettings% to fix this." => [ + 0 => "Nie zmieniłeś domyślnych ustawień poczty e-mail. Przejdź do %emailSettings%, aby to zmienić.", + ], "Discovery" => [ 0 => "Odkrywaj", ], @@ -841,6 +958,9 @@ $translation_table = [ "Advanced search" => [ 0 => "Wyszukiwanie zaawansowane", ], + "Notices (%s)" => [ + 0 => "Powiadomienia (%s)", + ], "Notifications" => [ 0 => "Powiadomienia", ], @@ -853,6 +973,15 @@ $translation_table = [ "My Profile" => [ 0 => "Mój profil", ], + "Palette" => [ + 0 => "Paleta", + ], + "Administrator" => [ + 0 => "Administrator", + ], + "Manager" => [ + 0 => "Menadżer", + ], "Sign out" => [ 0 => "Wyloguj się", ], @@ -889,36 +1018,75 @@ $translation_table = [ "Error deleting profile background image." => [ 0 => "Wystąpił błąd podczas usuwanie grafiki tła profilu.", ], - "Update available v%s" => [ - 0 => "Dostępna aktualizacja v%s", + "Chevereto v%s available" => [ + 0 => "Chevereto v%s jest dostępne", + ], + "There is a new Chevereto version available with the following release notes." => [ + 0 => "Dostępna jest nowa wersja Chevereto z następującymi zmianami dotyczącymi wydania.", + ], + "Check %s for a complete changelog since you last upgrade." => [ + 0 => "Sprawdź %s, aby uzyskać pełny dziennik zmian od ostatniej aktualizacji.", + ], + "documentation" => [ + 0 => "dokumentacja", + ], + "Check the %s for alternative update methods." => [ + 0 => "Sprawdź %s dla alternatywnych metod aktualizacji.", ], "This website is running latest %s version" => [ 0 => "Masz najnowszą wersję %s", ], + "Chevereto v%s installed" => [ + 0 => "Chevereto v%s zainstalowany", + ], + "Usage of Chevereto Software must be in compliance with the software license terms known as \"The Chevereto License\"." => [ + 0 => "Korzystanie z Oprogramowania Chevereto musi być zgodne z warunkami licencji oprogramowania znanymi jako „Licencja Chevereto”.", + ], + "License agreement" => [ + 0 => "Umowa licencyjna", + ], "Please review the system requirements before proceeding" => [ 0 => "Przed kontynuowaniem przejrzyj wymagania systemowe", ], - "Like" => [ - 0 => "Lubię to", + "Get a license at %s to unlock all features and support." => [ + 0 => "Uzyskaj licencję w %s, aby odblokować wszystkie funkcje i wsparcie.", + ], + "You can enter your license key in the dashboard panel." => [ + 0 => "Klucz licencyjny można wprowadzić w panelu pulpitu nawigacyjnego.", + ], + "Enter license" => [ + 0 => "Wprowadź licencję", ], "Create album" => [ 0 => "Utwórz album", ], - "Edit" => [ - 0 => "Edytuj", - ], "Approve" => [ 0 => "Zatwierdź", ], "Delete" => [ 0 => "Usuń", ], - "Previous" => [ - 0 => "Poprzedni", + "Edit" => [ + 0 => "Edytuj", + ], + "Toggle flag" => [ + 0 => "Przełącz flagę", + ], + "Like" => [ + 0 => "Lubię to", ], "Next" => [ 0 => "Następny", ], + "Previous" => [ + 0 => "Poprzedni", + ], + "Toggle select" => [ + 0 => "Zmień zaznaczenie", + ], + "Zoom" => [ + 0 => "Powiększ", + ], "File too big." => [ 0 => "Plik jest zbyt duży.", ], @@ -928,11 +1096,18 @@ $translation_table = [ "Some files couldn't be added" => [ 0 => "Część plików nie mogła zostać dodana", ], + "Some files couldn't be loaded" => [ + 0 => "Niektóre pliki nie mogą być załadowane", + ], + "file" => [ + 0 => "plik", + 2 => "pliki", + ], "%s's Albums" => [ 0 => "Albumy użytkownika %s", ], - "Image edited successfully." => [ - 0 => "Grafika została edytowana pomyślnie.", + "File edited successfully." => [ + 0 => "Plik został pomyślnie edytowany.", ], "private" => [ 0 => "prywatny", @@ -967,12 +1142,18 @@ $translation_table = [ "Please fill all the required fields." => [ 0 => "Wypełnij wszystkie wymagane pola.", ], + "Invalid storage capacity value. Make sure to use a valid format." => [ + 0 => "Nieprawidłowa wartość pojemności pamięci. Upewnij się, że używasz prawidłowego formatu.", + ], "Invalid URL." => [ 0 => "Błędny URL", ], "Storage successfully edited." => [ 0 => "Pomyślnie edytowano pamięć.", ], + "%s added successfully." => [ + 0 => "%s pomyślnie dodano.", + ], "The content has been deleted." => [ 0 => "Zawartość została usunięta.", ], @@ -1021,6 +1202,12 @@ $translation_table = [ "information" => [ 0 => "informacja", ], + "Paste" => [ + 0 => "Wklej", + ], + "Right click" => [ + 0 => "Kliknij prawym przyciskiem myszy", + ], "We received a request to change the email of your %n account at %w." => [ 0 => "Otrzymaliśmy prośbę zmiany adresu e-mail twojego konta %n na %w.", ], @@ -1031,13 +1218,13 @@ $translation_table = [ 0 => "Możesz również skopiować adres i wkleić go w swojej przeglądarce: %s", ], "If you didn't intend this just ignore this message." => [ - 0 => "Jeśli tego nie chcesz, po prostu zignoruj tę wiadomość.", + 0 => "Jeśli to nie Ty wysłałeś tę prośbę po prostu zignoruj tę wiadomość.", ], "This request was made from IP: %s" => [ 0 => "Prośba została dodana z następującego adresu IP: %s", ], "We received a request to register the %n account at %w." => [ - 0 => "Otrzymaliśmy prośbę o rejestrację konta %n na %w.", + 0 => "Otrzymaliśmy prośbę rejestracji konta %n na %w.", ], "To complete the process you must activate your account." => [ 0 => "Aby zakończyć proces musisz aktywować swoje konto.", @@ -1055,7 +1242,7 @@ $translation_table = [ 0 => "Teraz, gdy Twoje konto jest gotowe, możesz cieszyć się wysyłaniem grafik, tworzeniem albumów i ustawianiem prywatności, a także odkrywaniem innych wspaniałych funkcji.", ], "By the way, here is you very own awesome profile page: %n. Go ahead and customize it, its yours!." => [ - 0 => "Tak przy okazji, tutaj jest Twoja własna wspaniała strona profilowa: %n. Rozejrzyj się i ją spersonalizuj, jest Twoja!", + 0 => "Tak przy okazji, tutaj jest Twoja własna strona profilu: %n. Możesz ją spersonalizować, jest Twoja!", ], "Thank you for joining" => [ 0 => "Dziękujemy za dołączenie do nas", @@ -1063,20 +1250,23 @@ $translation_table = [ "This email was sent from %w %u" => [ 0 => "Ta wiadomość e-mail została wysłana z %w %u", ], - "Drag and drop or paste images here to upload" => [ - 0 => "Przeciągnij lub wklej obrazy tutaj", + "Drag and drop or paste files here to upload" => [ + 0 => "Przeciągnij i upuść lub wklej pliki tutaj, aby je przesłać", ], - "Select the images to upload" => [ - 0 => "Wybierz grafikę do wysłania", + "Select the files to upload" => [ + 0 => "Wybierz pliki do przesłania", ], "You can also %i or %u." => [ 0 => "Możesz także %i lub %u.", ], + "You can also %s." => [ + 0 => "Możesz także %s.", + ], "browse from your computer" => [ 0 => "przejrzeć swój komputer", ], - "add image URLs" => [ - 0 => "dodać adresy obrazów", + "add file URLs" => [ + 0 => "Użyć adres sieciowy pliku", ], "You can also %i, %c or %u." => [ 0 => "Możesz także %i, %c lub %u.", @@ -1084,11 +1274,20 @@ $translation_table = [ "You can also %i or %c." => [ 0 => "Możesz wybrać %i lub %c.", ], - "browse from your device" => [ - 0 => "przeglądaj ze swojego urządzenia", + "browse from device" => [ + 0 => "przeglądaj z urządzenia", ], - "take a picture" => [ - 0 => "zrób zdjęcie", + "use camera" => [ + 0 => "użyj kamery", + ], + "Register to get %s" => [ + 0 => "Zarejestruj się, aby uzyskać %s", + ], + "clicking" => [ + 0 => "klikając", + ], + "Customize upload by %action% on any preview" => [ + 0 => "Dostosuj ustawienia zdjęcia (tytuł, tagi, opis) %action% na dowolnej miniaturze", ], "Uploading %q %o" => [ 0 => "Wysyłanie %q %o", @@ -1096,17 +1295,47 @@ $translation_table = [ "complete" => [ 0 => "zakończono", ], + "The queue is being uploaded, it should take just a few seconds to complete." => [ + 0 => "Kolejka jest przesyłana, jej ukończenie powinno zająć tylko kilka sekund.", + ], "Upload complete" => [ 0 => "Wysyłanie zakończone", ], + "Uploaded content added to %s." => [ + 0 => "Przesłana zawartość dodana do %s.", + ], + "create new %s" => [ + 0 => "stwórz nowy %s", + ], + "move it to an existing %s" => [ + 0 => "przenieś do istniejącego %s", + ], "create an account" => [ 0 => "utwórz konto", ], "sign in" => [ 0 => "zaloguj", ], + "No %s have been uploaded" => [ + 0 => "Nie %s zostały przesłane", + ], + "Some errors have occurred and the system couldn't process your request." => [ + 0 => "Wystąpiły pewne błędy i system nie mógł przetworzyć żądania.", + ], + "category" => [ + 0 => "kategorie", + ], + "Select %s" => [ + 0 => "Wybierz %s", + ], + "Auto delete" => [ + 0 => "Automatyczne kasowanie", + ], "Sign up" => [ - 0 => "Zaloguj", + 0 => "Zarejestruj się", + ], + "%s to be able to customize or disable image auto delete." => [ + 0 => "%s aby móc dostosować lub wyłączyć automatyczne usuwanie obrazów.", ], "Mark this if the upload is not family safe" => [ 0 => "Oznacz tę pozycję jako tylko dla dorosłych", @@ -1120,6 +1349,9 @@ $translation_table = [ "cancel remaining" => [ 0 => "anuluj pozostałe", ], + "Note: Some files couldn't be uploaded." => [ + 0 => "Uwaga: niektórych plików nie można przesłać.", + ], "learn more" => [ 0 => "dowiedz się więcej", ], @@ -1129,6 +1361,12 @@ $translation_table = [ "reset" => [ 0 => "resetuj", ], + "Note" => [ + 0 => "Notatka", + ], + "We must approve the uploaded content before being able to share." => [ + 0 => "Musimy zatwierdzić przesłaną zawartość przed jej udostępnieniem.", + ], "copy" => [ 0 => "kopiuj", ], @@ -1138,6 +1376,12 @@ $translation_table = [ "Remove" => [ 0 => "Usuń", ], + "upload" => [ + 0 => "prześlij", + ], + "Edit %s" => [ + 0 => "Edytuj %s", + ], "Title" => [ 0 => "Tytuł", ], @@ -1165,44 +1409,68 @@ $translation_table = [ "Description" => [ 0 => "Opis", ], - "Add image URLs" => [ - 0 => "Dodaj adresy obrazów", + "Brief description of this %s" => [ + 0 => "Krótki opis do %s", ], - "Add the image URLs here" => [ - 0 => "Dodaj tutaj adresy grafik", + "File URLs" => [ + 0 => "Adres URL pliku", + ], + "Add file URLs here" => [ + 0 => "Dodaj tutaj adresy URL plików", + ], + "Create %s" => [ + 0 => "Utwórz %s", + ], + "The uploaded content will be moved to this newly created album." => [ + 0 => "Przesłana zawartość zostanie przeniesiona do tego nowo utworzonego albumu.", + ], + "You must %s or %l if you want to edit this album later on." => [ + 0 => "Musisz %s lub %l, jeśli chcesz edytować ten album później.", + ], + "Move to %s" => [ + 0 => "Przenieś do %s", + ], + "Select an existing album to move the uploaded content." => [ + 0 => "Wybierz istniejący album, aby przenieść przesłaną zawartość.", ], "Error report" => [ 0 => "Raport błędu", ], - "Links" => [ - 0 => "Odnośniki", + "Viewer" => [ + 0 => "Przeglądarka", ], "Direct" => [ 0 => "Bezposrednio", ], - "HTML Codes" => [ - 0 => "Kody HTML", + "Frame" => [ + 0 => "Ramka", ], - "HTML image" => [ - 0 => "obraz HTML", + "Thumbnail" => [ + 0 => "Miniatura", ], - "HTML medium linked" => [ - 0 => "Kod HTML do średniej grafiki z odnośnikiem", + "embed" => [ + 0 => "osadzony", ], - "HTML thumbnail linked" => [ - 0 => "Kod HTML do miniaturki z odnośnikiem", + "%s full linked" => [ + 0 => "%s w pełni połączony", ], - "BBCodes" => [ - 0 => "BBCode", + "%s thumbnail linked" => [ + 0 => "%s powiązane z miniaturą", ], - "BBCode medium linked" => [ - 0 => "BBCode do średniej grafiki z odnośnikiem", + "%s full" => [ + 0 => "%s pełny", ], - "BBCode thumbnail linked" => [ - 0 => "BBCode do miniaturki z odnośnikiem", + "All these words" => [ + 0 => "Wszystkie te słowa", ], - "Viewer links" => [ - 0 => "Odnośniki do przeglądarki", + "This exact word or phrase" => [ + 0 => "Dokładnie to słowo lub wyrażenie", + ], + "None of these words" => [ + 0 => "Żadne z tych słów", + ], + "Storage" => [ + 0 => "Pamięć masowa", ], "IP address" => [ 0 => "Adres IP", @@ -1210,6 +1478,30 @@ $translation_table = [ "Name" => [ 0 => "Imię", ], + "Unnamed %s" => [ + 0 => "Nieoznaczony %s", + ], + "Call to action" => [ + 0 => "Wezwanie do działania", + ], + "Enable call to action buttons" => [ + 0 => "Włącz przyciski wezwania do działania", + ], + "Call to action buttons will be displayed on the %s page and in content belonging to." => [ + 0 => "Przyciski wezwania do działania będą wyświetlane na stronie %s i w treści należącej do niej.", + ], + "You can use %emoji% or %package% icons." => [ + 0 => "Możesz używać ikon %emoji% lub %package%.", + ], + "Label" => [ + 0 => "Etykieta", + ], + "Buy now" => [ + 0 => "Kup teraz", + ], + "Icon" => [ + 0 => "Ikona", + ], "Privacy" => [ 0 => "Prywatność", ], @@ -1225,12 +1517,51 @@ $translation_table = [ "Private (password protected)" => [ 0 => "Prywatny (chroniony hasłem)", ], + "Change password" => [ + 0 => "Zmiana hasła", + ], + "Set password" => [ + 0 => "Ustaw hasło", + ], + "%s name" => [ + 0 => "%s nazwa", + ], "URL key" => [ 0 => "Klucz URL", ], + "%s URL key" => [ + 0 => "%s klucz URL", + ], + "Only letters, numbers, and hyphens" => [ + 0 => "Tylko litery, cyfry i myślniki", + ], + "Flag not safe" => [ + 0 => "Oznacz jako niebezpieczne", + ], "Path" => [ 0 => "Ścieżka", ], + "Local path (absolute)" => [ + 0 => "Ścieżka lokalna (absolutna)", + ], + "Directory structure" => [ + 0 => "Struktura katalogów", + ], + "Don't parse folders" => [ + 0 => "Nie analizuj folderów", + ], + "Threads" => [ + 0 => "Wątek", + ], + "Select number of threads" => [ + 0 => "Wybierz liczbę wątków", + ], + "This determines how intensive and fast will be the import process. Don't use more than %s threads on a shared server." => [ + 0 => "Określa to, jak intensywny i szybki będzie proces importu. Nie używaj więcej niż %s wątków na serwerze współdzielonym.", + ], + "You can use wildcard * characters." => [ + 0 => "Można użyć znaków *.", + ], "Expiration date" => [ 0 => "Data wygasania", ], @@ -1243,12 +1574,33 @@ $translation_table = [ "Message" => [ 0 => "Wiadomość", ], + "Text message, HTML or a redirect URL" => [ + 0 => "Wiadomość tekstowa, HTML lub przekierowany adres URL", + ], + "Storage name" => [ + 0 => "Nazwa magazynu", + ], + "Region" => [ + 0 => "Obszar", + ], + "Storage region" => [ + 0 => "Obszar pamięci", + ], "Key" => [ 0 => "Klucz", ], "Private key" => [ 0 => "Klucz prywatny", ], + "Google Cloud JSON key" => [ + 0 => "Klucz Google Cloud JSON", + ], + "You will need a service account for this." => [ + 0 => "Będziesz potrzebować <%s>konta usługi do tego.", + ], + "Service name" => [ + 0 => "Nazwa usługi", + ], "Server path" => [ 0 => "Ścieżka serwera", ], @@ -1264,6 +1616,15 @@ $translation_table = [ "Load more" => [ 0 => "Załaduj więcej", ], + "Clear" => [ + 0 => "Wyczyść", + ], + "Actions" => [ + 0 => "Akcje", + ], + "Assign %s" => [ + 0 => "Przyporządkuj %s", + ], "Flag as safe" => [ 0 => "Usuń ograniczenia wiekowe", ], @@ -1273,12 +1634,21 @@ $translation_table = [ "Clear selection" => [ 0 => "Wyczyść zaznaczenie", ], + "Create new %s" => [ + 0 => "Stwórz nowy %s", + ], "Sign in with another account" => [ 0 => "Zaloguj się przy użyciu innego konta", ], + "Sign in with %label%" => [ + 0 => "Zaloguj się przez %label%", + ], "There's nothing to show here." => [ 0 => "Nie ma tutaj nic do wyświetlenia.", ], + "Selection will be assigned to %t." => [ + 0 => "Wybór zostanie przypisany do %t.", + ], "There is no categories." => [ 0 => "Brak kategorii.", ], @@ -1294,14 +1664,41 @@ $translation_table = [ "Do you really want to flag this content as unsafe?" => [ 0 => "Czy naprawdę chcesz ustawić ograniczenia wiekowe tej zawartości?", ], + "Confirm approval" => [ + 0 => "Potwierdź", + ], + "Do you really want to approve this content?" => [ + 0 => "Czy na pewno chcesz zatwierdzić tę zawartość?", + ], "Confirm deletion" => [ 0 => "Potwierdź usunięcie", ], + "Do you really want to remove this content?" => [ + 0 => "Czy na pewno chcesz usunąć tę zawartość?", + ], + "Do you really want to approve all the selected content?" => [ + 0 => "Czy na pewno chcesz zatwierdzić całą wybraną zawartość?", + ], + "Do you really want to remove all the selected content?" => [ + 0 => "Czy na pewno chcesz usunąć całą wybraną zawartość?", + ], "Guest" => [ 0 => "Gość", ], + "Private album" => [ + 0 => "Prywatny album", + ], + "Uploaded by guest" => [ + 0 => "Przesłane przez gościa", + ], + "Uploaded by private" => [ + 0 => "Wgrane prywatnie", + ], + "by %u" => [ + 0 => "przez %u", + ], "Toggle unsafe flag" => [ - 0 => "Przełącz ustawienia wiekowe", + 0 => "Ustaw ograniczenie wiekowe", ], "You either don't have permission to access this page or the link has expired." => [ 0 => "Nie masz uprawnień do dostępu do tej strony albo odnośnik już wygasł.", @@ -1345,6 +1742,9 @@ $translation_table = [ "Resend instructions" => [ 0 => "Wyślij instrukcje ponownie", ], + "Enter your username or email address to continue. You may need to check your spam folder or whitelist %s" => [ + 0 => "Wprowadź nazwę użytkownika lub adres e-mail, aby kontynuować. Może być konieczne sprawdzenie folderu spamu lub białej listy %s", + ], "Username or Email address" => [ 0 => "Nazwa użytkownika lub adres e-mail", ], @@ -1360,9 +1760,18 @@ $translation_table = [ "%d characters min" => [ 0 => "minimum %d znaków", ], + "Password strength" => [ + 0 => "Siła hasła", + ], "Re-enter your new password" => [ 0 => "Wpisz ponownie swoje nowe hasło", ], + "An email to %s has been sent with instructions to activate your account. If you don't receive the instructions try checking your junk or spam filters." => [ + 0 => "E-mail do %s został wysłany z instrukcjami aktywacji konta. Jeśli nie otrzymasz instrukcji, spróbuj sprawdzić filtry spamu.", + ], + "Unable to authenticate?" => [ + 0 => "Nie można uwierzytelnić?", + ], "If you lost your authentication device you must contact the system administrator." => [ 0 => "W przypadku utraty urządzenia uwierzytelniającego należy skontaktować się z administratorem strony.", ], @@ -1375,6 +1784,9 @@ $translation_table = [ "Sub album" => [ 0 => "Album podrzędny", ], + "Do you really want to delete this %a and all of its %i?" => [ + 0 => "Czy naprawdę chcesz usunąć? %a i wszystko %i?", + ], "Upload to album" => [ 0 => "Wyślij do albumu", ], @@ -1390,21 +1802,138 @@ $translation_table = [ "This website contains information, links and images of sexually explicit material. If you are under the age of %s, if such material offends you or if it's illegal to view such material in your community please do not continue.\n\nI am at least %s years of age and I believe that as an adult it is my inalienable right to receive/view sexually explicit material. I desire to receive/view sexually explicit material. \n\nI believe that sexual acts between consenting adults are neither offensive nor obscene. The viewing, reading and downloading of sexually explicit materials does not violate the standards of my community, town, city, state or country.\n\nThe sexually explicit material I am viewing is for my own personal use and I will not expose minors to the material.\n\nI am solely responsible for any false disclosures or legal ramifications of viewing, reading or downloading any material in this site. Furthermore this website nor its affiliates will be held responsible for any legal ramifications arising from fraudulent entry into or use of this website.\n\nThis consent screen constitutes a legal agreement between this website and you and/or any business in which you have any legal or equitable interest. If any portion of this agreement is deemed unenforceable by a court of competent jurisdiction it shall not affect the enforceability of the other portions of the agreement." => [ 0 => "Ta strona internetowa zawiera informacje, linki i obrazy o charakterze jednoznacznie seksualnym. Jeśli masz mniej niż %s lat, jeśli takie materiały Cię obrażają lub jeśli oglądanie takich materiałów w Twojej społeczności jest nielegalne, nie kontynuuj.\n\nMam co najmniej %s lat i uważam, że jako osoba dorosła mam niezbywalne prawo do otrzymywania/przeglądania materiałów o charakterze jednoznacznie seksualnym. Chcę otrzymywać/oglądać materiały o charakterze jednoznacznie seksualnym.\n\nUważam, że akty seksualne między wyrażającymi zgodę dorosłymi nie są ani obraźliwe, ani nieprzyzwoite. Oglądanie, czytanie i pobieranie materiałów o charakterze jednoznacznie seksualnym nie narusza standardów mojej społeczności lub kraju.\n\nMateriały o charakterze jednoznacznie seksualnym, które oglądam, są przeznaczone na mój własny użytek i nie będę narażać nieletnich na kontakt z tymi materiałami.\n\nPonoszę wyłączną odpowiedzialność za wszelkie fałszywe ujawnienia lub konsekwencje prawne przeglądania, czytania lub pobierania jakichkolwiek materiałów z tej witryny. Ponadto ta witryna internetowa ani jej podmioty stowarzyszone nie ponoszą odpowiedzialności za jakiekolwiek konsekwencje prawne wynikające z nieuczciwego wejścia na tę witrynę lub korzystania z niej.\n\nTen ekran zgody stanowi umowę prawną między tą witryną a Tobą i/lub jakąkolwiek firmą, w której masz jakikolwiek prawny lub słuszny interes. Jeżeli jakakolwiek część niniejszej umowy zostanie uznana przez właściwy sąd za niewykonalną, nie wpłynie to na wykonalność pozostałych części umowy.", ], + "By clicking in \"I Agree\" you declare that you have read and understood all the conditions mentioned above." => [ + 0 => "Klikając „Zgadzam się”, oświadczasz, że przeczytałeś i zrozumiałeś wszystkie wyżej wymienione warunki.", + ], "I Agree" => [ 0 => "Zgadzam się", ], - "documentation" => [ - 0 => "dokumentacja", + "Learn about %s at our %d." => [ + 0 => "Dowiedz się więcej o %s w naszej %d.", ], "Check the errors to proceed." => [ 0 => "Sprawdź błędy, aby kontynuować.", ], + "Queued" => [ + 0 => "W kolejce", + ], + "Working" => [ + 0 => "Pracuje", + ], + "Paused" => [ + 0 => "Wstrzymane", + ], + "Canceled" => [ + 0 => "Wycofany", + ], + "Completed" => [ + 0 => "Zakończono", + ], + "Process" => [ + 0 => "Proces", + ], + "Pause" => [ + 0 => "Pauza", + ], + "Cancel" => [ + 0 => "Anuluj", + ], + "Process log" => [ + 0 => "Rejestr procesów", + ], + "Errors" => [ + 0 => "Błąd", + ], + "Do you really want to remove the import ID %s?" => [ + 0 => "Czy na pewno chcesz usunąć identyfikator importu %s?", + ], + "Reset" => [ + 0 => "Resetuj", + ], + "Resume" => [ + 0 => "Wznów", + ], + "Status" => [ + 0 => "Status", + ], + "Run the following command to import content to Chevereto:" => [ + 0 => "Uruchom następujące polecenie, aby zaimportować zawartość do Chevereto:", + ], + "Read the %s for more information about this feature." => [ + 0 => "Przeczytaj %s więcej informacji o tej funkcji.", + ], + "Single profile" => [ + 0 => "Pojedynczy profil", + ], + "This setting is always disabled when using %s website mode." => [ + 0 => "To ustawienie jest zawsze wyłączone, gdy używany jest tryb strony %s.", + ], + "Dashboard > Settings > Website" => [ + 0 => "Pulpit nawigacyjny > Ustawienia > Strona", + ], + "Do you really want to delete %s?" => [ + 0 => "Czy naprawdę chcesz usunąć %s?", + ], + "Shows a consent screen before accessing the website. Useful for adult content websites where minors shouldn't be allowed." => [ + 0 => "Wyświetla ekran zgody przed uzyskaniem dostępu do strony internetowej. Przydatny w witrynach z treściami dla dorosłych, w których nieletni nie powinni być dopuszczeni.", + ], + "Enable consent screen" => [ + 0 => "Włącz ekran zgody", + ], + "Consent screen cover image" => [ + 0 => "Obrazek ekranu zgody", + ], "Show not safe content in listings" => [ 0 => "Pokaż na listach zawartości tylko dla dorosłych", ], + "Enable this if you want to show not safe content in listings." => [ + 0 => "Włącz tę opcję, jeśli chcesz wyświetlać niebezpieczne treści w listach.", + ], + "Can be overridden by user own settings." => [ + 0 => "Może zostać zastąpiony przez własne ustawienia użytkownika.", + ], + "This setting doesn't affect administrators." => [ + 0 => "To ustawienie nie wpływa na administratorów.", + ], + "Blur NSFW content in listings" => [ + 0 => "Rozmyj zawartość NSFW", + ], + "Enable this if you want to apply a blur effect on the NSFW images in listings." => [ + 0 => "Włącz to, jeśli chcesz zastosować efekt rozmycia na obrazach NSFW.", + ], + "Show not safe content in random mode" => [ + 0 => "Wyświetlanie niebezpiecznej zawartości w trybie losowym", + ], + "Show banners in not safe content" => [ + 0 => "Wyświetlanie banerów w treściach niebezpiecznych", + ], + "Enable this if you want to show banners in not safe content pages." => [ + 0 => "Włącz to, jeśli chcesz wyświetlać bannery na stronach z treściami nieodpowiednimi.", + ], + "Lock %s editing" => [ + 0 => "Zablokuj edycję %s", + ], + "Enable this to prevent users from changing the NSFW flag. When enabled, only admin and managers will have this permission." => [ + 0 => "\"Włącz to, aby zapobiec użytkownikom w zmianie flagi NSFW. Gdy ta opcja jest włączona, tylko administratorzy i menedżerowie będą mieli te uprawnienia.", + ], + "One rule per line" => [ + 0 => "Jedna reguła na linię", + ], + "Define words that won't be allowed for content." => [ + 0 => "Zdefiniuj słowa, które nie będą dozwolone w treści.", + ], "Cookie law compliance" => [ 0 => "Zgodność z przepisami dotyczącymi plików cookie", ], + "Enable this to display a message that complies with the EU Cookie law requirements. Note: You only need this if your website is hosted in the EU and if you add tracking cookies." => [ + 0 => "Włącz to, aby wyświetlić komunikat zgodny z wymogami prawa UE dotyczącymi plików cookie. Uwaga: potrzebujesz tego tylko wtedy, gdy Twoja witryna jest hostowana w UE i jeśli dodasz śledzące pliki cookie.", + ], + "email delivery" => [ + 0 => "dostarczanie e-maili", + ], + "Don't forget to test %t at %s" => [ + 0 => "Nie zapomnij przetestować %t w %s.", + ], "From name" => [ 0 => "Nazwa nadawcy", ], @@ -1447,6 +1976,21 @@ $translation_table = [ "Unsecured" => [ 0 => "Niezabezpieczony", ], + "Comments API" => [ + 0 => "API komentarzy", + ], + "Disqus API works with %s." => [ + 0 => "Interfejs API Disqus współpracuje z %s.", + ], + "Disqus shortname" => [ + 0 => "Disqus krótka nazwa", + ], + "%s secret key" => [ + 0 => "%s tajny klucz", + ], + "%s public key" => [ + 0 => "%s publiczny klucz", + ], "Comment code" => [ 0 => "Kod komentarzy", ], @@ -1459,12 +2003,66 @@ $translation_table = [ "Google Analytics or anything you want. It will be added to the theme footer." => [ 0 => "Google Analytics lub cokolwiek innego. Zostanie dodany w stopce stylu.", ], + "%s spam protection" => [ + 0 => "%s ochrona przed spamem", + ], + "user generated content" => [ + 0 => "treści generowane przez użytkowników", + ], + "Enable this to use %l to block spam on %c." => [ + 0 => "Włącz to, aby używać %l do blokowania spamu w %c.", + ], + "%s API key" => [ + 0 => "%s klucz API", + ], + "user signup" => [ + 0 => "rejestracja użytkownika", + ], + "%s site key" => [ + 0 => "%s klucz witryny", + ], + "How many failed attempts are needed to ask for CAPTCHA? Use zero (0) to always show CAPTCHA." => [ + 0 => "Ile nieudanych prób jest potrzebnych, aby poprosić o CAPTCHA? Użyj zera (0), aby zawsze wyświetlać CAPTCHA.", + ], + "Force %s on contact page" => [ + 0 => "Wymuś %s na stronie kontaktowej", + ], + "Enable this to always show %s on contact page." => [ + 0 => "Włącz tę opcję, aby zawsze wyświetlać %s na stronie kontaktowej.", + ], + "Use %s to combat child sexual abuse material (CSAM)." => [ + 0 => "Używaj %s do zwalczania materiałów przedstawiających seksualne wykorzystywanie dzieci (CSAM).", + ], + "Automatically moderate the content using the %s service." => [ + 0 => "Automatycznie moderuj zawartość za pomocą usługi %s.", + ], + "Automatic approve" => [ + 0 => "Automatyczne zatwierdzanie", + ], + "Enable this to automatically approve content moderated by this service." => [ + 0 => "Włącz tę opcję, aby automatycznie zatwierdzać treści moderowane przez tę usługę.", + ], + "Block content" => [ + 0 => "Blokuj treść", + ], + "Adult" => [ + 0 => "Dorosły", + ], + "Teen and adult" => [ + 0 => "Nastolatki i dorośli", + ], + "Flag NSFW" => [ + 0 => "Flaga NSFW", + ], "Twitter account" => [ 0 => "Konto na Twitterze", ], "Toggle this to enable or disable HTTPS" => [ 0 => "Przełącz to, aby włączyć lub wyłączyć HTTPS", ], + "Toggle this to enable or disable this storage" => [ + 0 => "Przełącz, aby włączyć lub wyłączyć tę pamięć masową.", + ], "Quota" => [ 0 => "Udział", ], @@ -1477,6 +2075,168 @@ $translation_table = [ "Disk used" => [ 0 => "Zajęta powierzchnia dyskowa", ], + "Local storage is used by default or when no external storage is active." => [ + 0 => "Lokalna pamięć masowa jest używana domyślnie lub gdy nie jest aktywna pamięć zewnętrzna.", + ], + "storage" => [ + 0 => "magazyn", + ], + "Enabled file extensions" => [ + 0 => "Włączone rozszerzenia plików", + ], + "Unsupported in your server" => [ + 0 => "Nieobsługiwane na serwerze", + ], + "Only checked file extensions will be allowed to be uploaded." => [ + 0 => "Tylko zaznaczone rozszerzenia plików będą mogły być przesyłane.", + ], + "Enable uploads" => [ + 0 => "Włącz wysyłanie", + ], + "Enable this if you want to allow %s uploads." => [ + 0 => "Włącz tę opcję, jeśli chcesz zezwolić na przesyłanie %s.", + ], + "Enable this if you want to allow file upload from URLs." => [ + 0 => "Włącz to, jeśli chcesz zezwolić na przesyłanie plików z adresów URL.", + ], + "Note that enabling this will expose your server IP." => [ + 0 => "Pamiętaj, że włączenie tego spowoduje ujawnienie IP Twojego serwera.", + ], + "This feature is available only for administrators." => [ + 0 => "Ta funkcja jest dostępna tylko dla administratorów.", + ], + "Upload user interface" => [ + 0 => "Interfejs przesyłania", + ], + "Guest uploads" => [ + 0 => "Wysyłanie dla gości", + ], + "Enable this if you want to allow non registered users to upload." => [ + 0 => "Włącz to, aby umożliwić wysyłanie dla osób niezarejestrowanych", + ], + "Moderate uploads" => [ + 0 => "Moderuj przesyłane pliki", + ], + "Enable this to moderate incoming uploads. Target content will require moderation for approval." => [ + 0 => "Włącz to, aby moderować nadchodzące przesyłane pliki. Docelowa treść będzie wymagała moderacji w celu zatwierdzenia.", + ], + "Enable embed codes (uploader)" => [ + 0 => "Włącz kody osadzania (dla przesyłających)", + ], + "Enable this if you want to show embed codes when upload gets completed." => [ + 0 => "Włącz to, jeśli chcesz wyświetlić kody osadzania po zakończeniu przesyłania.", + ], + "Upload threads" => [ + 0 => "Wątki przesyłania", + ], + "Number of simultaneous upload threads (parallel uploads)" => [ + 0 => "Liczba wątków jednoczesnego przesyłania (przesyłanie równoległe)", + ], + "Redirect on single upload" => [ + 0 => "Przekierowanie na pojedyncze przesyłanie", + ], + "Enable this if you want to redirect to file viewer on single upload." => [ + 0 => "Włącz jeśli chcesz przekierować do przeglądarki plików podczas pojedynczego przesyłania.", + ], + "Enable duplicate uploads" => [ + 0 => "Włącz zduplikowane przesyłanie", + ], + "Enable this if you want to allow duplicate uploads from the same IP within 24hrs." => [ + 0 => "Włącz to, jeśli chcesz zezwolić na zduplikowane przesyłanie z tego samego adresu IP w ciągu 24 godzin.", + ], + "Enable expirable uploads" => [ + 0 => "Włączanie przesyłania danych z datą ważności", + ], + "Enable this if you want to allow uploads with an automatic delete option." => [ + 0 => "Włącz to, jeśli chcesz zezwolić na przesyłanie z opcją automatycznego usuwania.", + ], + "Auto delete guest uploads" => [ + 0 => "Automatyczne usuwanie dla gości", + ], + "Enable this if you want to force guest uploads to be auto deleted after certain time." => [ + 0 => "Włącz tę opcję, jeśli chcesz wymusić automatyczne usuwanie przesyłanych plików gości po określonym czasie.", + ], + "Maximum image size" => [ + 0 => "Maksymalny rozmiar obrazu", + ], + "Images greater than this size will get automatically downsized. Use zero (0) to don't set a limit." => [ + 0 => "Obrazy większe niż ten rozmiar zostaną automatycznie zmniejszone. Użyj zera (0), aby nie ustawić limitu.", + ], + "Image Exif data" => [ + 0 => "Dane EXIF obrazu", + ], + "Keep" => [ + 0 => "Zachowaj", + ], + "Select the default setting for image Exif data on upload." => [ + 0 => "Ustaw domyślne ustawienia dla obrazu Dane Exif przy przesyłaniu.", + ], + "Image Exif data (user setting)" => [ + 0 => "Dane Exif zdjęć (ustawienia użytkownika)", + ], + "Enable this if you want to allow each user to configure how image Exif data will be handled." => [ + 0 => "Włącz to, jeśli chcesz pozwolić każdemu użytkownikowi skonfigurować sposób obsługi danych Exif obrazu.", + ], + "Maximum upload file size" => [ + 0 => "Maksymalny rozmiar wysyłanego pliku", + ], + "Maximum size allowed by server is %s. This limit is capped by %u and %p (%f values)." => [ + 0 => "Maksymalny rozmiar dozwolony przez serwer to %s. Limit ten jest ograniczony przez %u i %p (wartości %f ).", + ], + "guests" => [ + 0 => "gość", + ], + "Same as \"%s\" but for guests." => [ + 0 => "To samo co '%s', ale dla gości.", + ], + "File path" => [ + 0 => "Ścieżka do pliku", + ], + "Relative to Chevereto root" => [ + 0 => "Względna do głównego katalogu Chevereto", + ], + "Where to store the uploaded files? Relative to Chevereto root." => [ + 0 => "Gdzie przechowywać przesłane pliki? Względem katalogu głównego Chevereto.", + ], + "Storage mode" => [ + 0 => "Tryb przechowywania", + ], + "Datefolders" => [ + 0 => "Foldery z datami", + ], + "Datefolders creates %s structure" => [ + 0 => "Foldery z datami tworzą strukturę %s", + ], + "File naming method" => [ + 0 => "Metoda nazewnictwa plików", + ], + "Original" => [ + 0 => "Oryginalna", + ], + "Mix original + random" => [ + 0 => "Wymieszaj oryginalny + losowo", + ], + "\"Original\" will try to keep the file source name while \"Random\" will generate a random name. \"ID\" will name the file just like the file ID." => [ + 0 => "\"Oryginalny\" spróbuje zachować nazwę źródłowego pliku, podczas gdy \"Losowy\" wygeneruje losową nazwę. \"ID\" nazwie plik tak, jak oryginalna nazwa.", + ], + "Thumb size" => [ + 0 => "Rozmiar miniaturki", + ], + "Thumbnails will be fixed to this size." => [ + 0 => "Miniaturki zostaną dopasowane do tego rozmiaru.", + ], + "Medium image fixed dimension" => [ + 0 => "Stały rozmiar średniego obrazu", + ], + "Medium sized images will be fixed to this dimension. For example, if you select \"width\" that dimension will be fixed and image height will be automatically calculated." => [ + 0 => "Obrazy o średnim rozmiarze zostaną dopasowane do tego wymiaru. Na przykład, jeśli wybierzesz „szerokość”, wymiar ten zostanie użyty, a wysokość obrazu zostanie obliczona automatycznie.", + ], + "Width or height will be automatically calculated." => [ + 0 => "Szerokość lub wysokość zostanie obliczona automatycznie.", + ], + "Block file uploads by IP if the system notice a flood behavior based on the number of uploads per time period." => [ + 0 => "Blokuj przesyłanie plików z adresu IP, jeśli system zauważy zachowanie przypominające zalewanie na podstawie liczby przesyłanych plików w danym okresie czasu.", + ], "Notify to email" => [ 0 => "Powiadom adres", ], @@ -1498,11 +2258,38 @@ $translation_table = [ "Monthly limit" => [ 0 => "Limit miesięczny", ], + "Public API key" => [ + 0 => "Publiczny klucz API", + ], + "Check the %s documentation." => [ + 0 => "Sprawdź dokumentację %s.", + ], "Style" => [ 0 => "Styl", ], + "Landing page" => [ + 0 => "Strona startowa", + ], + "explore" => [ + 0 => "odkrywaj", + ], + "Select the homepage style. To customize it further edit app/themes/%s/views/index.php" => [ + 0 => "Wybierz styl strony głównej. Aby go dostosować, edytuj app/themes/%s/views/index.php.", + ], "Cover image" => [ - 0 => "Okładka", + 0 => "Jako okładka albumu", + ], + "Do you really want to delete?" => [ + 0 => "Czy naprawdę chcesz usunąć?", + ], + "Delete %s" => [ + 0 => "Kasowanie %s", + ], + "Add new cover image" => [ + 0 => "Dodaj nowy obraz okładki", + ], + "This will be added inside the homepage %s tag. Leave it blank to use the default contents." => [ + 0 => "Zostanie to dodane na stronie głównej %s tag. Pozostaw puste, aby użyć domyślnej zawartości.", ], "Paragraph" => [ 0 => "Akapit", @@ -1534,72 +2321,24 @@ $translation_table = [ "Open URL" => [ 0 => "Otwórz URL", ], + "Enter an absolute or relative URL" => [ + 0 => "Wprowadź absolutny lub względny adres URL.", + ], "Empty" => [ 0 => "Pusty", ], "Your user id is: %s" => [ 0 => "Twój identyfikator użytkownika: %s", ], - "Enable uploads" => [ - 0 => "Włącz wysyłanie", - ], - "Enable this if you want to allow image upload from URLs." => [ - 0 => "Włącz tę opcję, jeśli chcesz zezwolić na przesyłanie obrazów. To ustawienie nie ma wpływu na administratorów.", - ], - "Note that enabling this will expose your server IP." => [ - 0 => "Pamiętaj, że włączenie tego spowoduje ujawnienie IP Twojego serwera.", - ], - "Guest uploads" => [ - 0 => "Wysyłanie dla gości", - ], - "Enable this if you want to allow non registered users to upload." => [ - 0 => "Włącz to, aby umożliwić wysyłanie dla osób niezarejestrowanych", - ], - "Maximum image size" => [ - 0 => "Maksymalny rozmiar obrazu", - ], - "Image Exif data" => [ - 0 => "Dane EXIF obrazu", - ], - "Keep" => [ - 0 => "Zachowaj", - ], - "Maximum upload file size" => [ - 0 => "Maksymalny rozmiar wysyłanego pliku", - ], - "Image path" => [ - 0 => "Ścieżka do grafiki", - ], - "Relative to Chevereto root" => [ - 0 => "Względna do głównego katalogu Chevereto", - ], - "Where to store the images? Relative to Chevereto root." => [ - 0 => "Gdzie przechowywać grafiki? Względnie do głównego katalogu Chevereto.", - ], - "Storage mode" => [ - 0 => "Tryb przechowywania", - ], - "Datefolders" => [ - 0 => "Foldery z datami", - ], - "Datefolders creates %s structure" => [ - 0 => "Foldery z datami tworzą strukturę %s", - ], - "File naming method" => [ - 0 => "Metoda nazewnictwa plików", - ], - "Original" => [ - 0 => "Oryginalna", - ], - "Thumb size" => [ - 0 => "Rozmiar miniaturki", - ], - "Thumbnails will be fixed to this size." => [ - 0 => "Miniaturki zostaną dopasowane do tego rozmiaru.", - ], "Expires" => [ 0 => "Wygasa", ], + "Do you really want to remove the ban to the IP %s?" => [ + 0 => "Czy na pewno chcesz usunąć bana dla IP %s?", + ], + "Banned IP address will be forbidden to use the entire website." => [ + 0 => "Zablokowany adres IP nie będzie mógł korzystać z całej witryny.", + ], "Default language" => [ 0 => "Domyślny język", ], @@ -1621,9 +2360,18 @@ $translation_table = [ "Enabled languages" => [ 0 => "Włączone języki", ], + "Only checked languages will be used in your website." => [ + 0 => "W witrynie będą używane tylko zaznaczone języki.", + ], + "List items per page" => [ + 0 => "Lista elementów na stronę", + ], "How many items should be displayed per page listing." => [ 0 => "Ilość pozycji wyświetlana na każdej stronie listy", ], + "List pagination mode" => [ + 0 => "Tryb paginacji listy", + ], "Endless scrolling" => [ 0 => "Nieskończone przewijanie", ], @@ -1633,6 +2381,9 @@ $translation_table = [ "What pagination method should be used." => [ 0 => "Metoda stronicowania, która ma być używana.", ], + "Image listing size" => [ + 0 => "Rozmiar listy obrazów", + ], "Fluid" => [ 0 => "Płynna", ], @@ -1642,18 +2393,57 @@ $translation_table = [ "Both methods use a fixed width but fluid method uses automatic heights." => [ 0 => "Obie metody używają stałej szerokości, ale metoda \"płynna\" używa automatycznej wysokości.", ], + "Sets the minimum content count needed to show %t in %s." => [ + 0 => "Ustawia minimalną liczbę treści potrzebną do wyświetlenia %t w %s.", + ], + "Listing columns number" => [ + 0 => "Dostosuj ilość kolumn", + ], + "Here you can set how many columns are used based on each target device." => [ + 0 => "Tutaj możesz ustawić liczbę kolumn używanych na podstawie każdego urządzenia docelowego.", + ], "Phone" => [ 0 => "Telefon", ], + "Phablet" => [ + 0 => "Mały tablet", + ], + "Tablet" => [ + 0 => "Tablet", + ], "Desktop" => [ 0 => "Komputer stacjonarny", ], + "Text option uses the website name as logo." => [ + 0 => "Opcja używa nazwy strony jako logo.", + ], + "Logo vector" => [ + 0 => "Logo wektorowe", + ], + "Vector version or your website logo in SVG format." => [ + 0 => "Wersja wektorowa logo witryny w formacie SVG.", + ], + "Logo image" => [ + 0 => "Obraz logo", + ], + "Bitmap version or your website logo. PNG format is recommended." => [ + 0 => "Wersja bitmapowa logo witryny. Zalecany jest format PNG.", + ], "Logo height" => [ 0 => "Wysokość logo", ], "No value" => [ 0 => "Brak wartości", ], + "Use this to set the logo height if needed." => [ + 0 => "Użyj opcji, aby w razie potrzeby ustawić wysokość logo.", + ], + "Favicon image" => [ + 0 => "Obraz Favicon", + ], + "Favicon image. Image must have same width and height." => [ + 0 => "Obraz Favicon. Obraz musi mieć taką samą szerokość i wysokość.", + ], "Page title" => [ 0 => "Tytuł strony", ], @@ -1696,33 +2486,81 @@ $translation_table = [ "Hidden page" => [ 0 => "Ukryta strona", ], - "File path" => [ - 0 => "Ścieżka do pliku", + "Hidden pages won't be show in system menus, but anyone can access to it with the link." => [ + 0 => "Ukryte strony nie będą wyświetlane w menu systemowym, ale każdy może uzyskać do nich dostęp za pomocą linku.", + ], + "Only alphanumerics, hyphens and forward slash" => [ + 0 => "Tylko znaki alfanumeryczne, myślniki i ukośniki", + ], + "A %f file relative to %s" => [ + 0 => "Plik %f względem %s", ], "Meta keywords" => [ 0 => "Słowa kluczowe", ], + "Meta description" => [ + 0 => "Opis meta", + ], "Source code" => [ 0 => "Kod źródłowy", ], + "No write permission in %s path you will need to add this file using an external editor." => [ + 0 => "Brak uprawnień do zapisu w ścieżce %s, należy dodać ten plik za pomocą zewnętrznego edytora.", + ], "Link URL" => [ 0 => "Adres URL", ], + "Link target attribute" => [ + 0 => "Atrybut łącza docelowego", + ], + "Link rel attribute" => [ + 0 => "Atrybut rel łącza", + ], + "Only alphanumerics, hyphens and whitespaces" => [ + 0 => "Tylko znaki alfanumeryczne, myślniki i białe znaki", + ], + "HTML %s attribute" => [ + 0 => "HTML %s atrybut", + ], + "Do you really want to delete the page ID %s?" => [ + 0 => "Na pewno chcesz usunąć stronę ID %s?", + ], "Routing for %s" => [ 0 => "Routing dla %s", ], + "Enable this if you want to use SEO %s URLs." => [ + 0 => "Włącz tę opcję, jeśli chcesz używać adresów URL SEO %s.", + ], + "Semantics allows you to define the nouns used for content to customize your content driven experience." => [ + 0 => "Semantyka pozwala zdefiniować rzeczowniki używane dla treści w celu dostosowania doświadczenia opartego na treści.", + ], "Automatic updates check" => [ 0 => "Automatycznie sprawdź aktualizacje", ], + "When enabled the system will automatically check for new updates." => [ + 0 => "Po włączeniu tej opcji system będzie automatycznie sprawdzał dostępność nowych aktualizacji.", + ], + "Display available updates notification" => [ + 0 => "Wyświetlanie powiadomienia o dostępnych aktualizacjach", + ], + "Enable this to show a notice on top warning you about new available system updates." => [ + 0 => "Włącz tę opcję, aby wyświetlić na górze powiadomienie informujące o nowych dostępnych aktualizacjach systemu.", + ], "Maintenance" => [ 0 => "Konserwacja", ], + "When enabled the website will show a maintenance message." => [ + 0 => "Po włączeniu strona wyświetli komunikat o konserwacji.", + ], "Crypt salt" => [ 0 => "Sól szyfrowania", ], "This is the salt used to convert numeric ID to alphanumeric. It was generated on install." => [ 0 => "Jest to sól używana do konwersji identyfikatorów numerycznych na alfanumeryczne. Została ona wygenerowana przy instalacji.", ], + "Enable this if you want to debug errors." => [ + 0 => "Włącz tę opcję, jeśli chcesz debugować błędy.", + ], "Debug level" => [ 0 => "Poziom debugowania", ], @@ -1732,18 +2570,69 @@ $translation_table = [ "Error log" => [ 0 => "Dziennik błędów", ], + "Enable %service%" => [ + 0 => "Włącz %service%", + ], + "Enable this if you want to send debug messages to %xr%." => [ + 0 => "Włącz tę opcję, jeśli chcesz wysyłać komunikaty debugowania do %xr%.", + ], + "Default %s" => [ + 0 => "Domyślne %s", + ], + "Image load max. filesize" => [ + 0 => "Maksymalny rozmiar wgrywanego obrazu", + ], + "Images greater than this size will show a button to load full resolution image." => [ + 0 => "Obrazy większe niż ten rozmiar będą wyświetlane z przyciskiem umożliwiającym załadowanie obrazu w pełnej rozdzielczości.", + ], "Enable download button" => [ 0 => "Włącz przycisk pobierania", ], "Enable this if you want to show the image download button." => [ 0 => "Włącz to, jeśli chcesz wyświetlać przycisk pobierania grafiki.", ], + "Enable right click on image" => [ + 0 => "Włącz prawy przycisk na obrazie", + ], + "Enable this if you want to allow right click on image viewer page." => [ + 0 => "Włącz tę opcję, jeśli chcesz zezwolić na kliknięcie prawym przyciskiem myszy na stronie przeglądania obrazów.", + ], + "Enable show Exif data" => [ + 0 => "Włącz wyświetlanie danych Exif", + ], + "Enable this if you want to show image Exif data." => [ + 0 => "Włącz tę opcję, jeśli chcesz wyświetlać dane Exif obrazu.", + ], + "%s first tab" => [ + 0 => "%s pierwsza zakładka", + ], + "Determine the first tab on %s page." => [ + 0 => "Określenie pierwszej zakładki na stronie %s.", + ], "Enable social share" => [ 0 => "Włącz udostępnianie w sieciach społecznościowych.", ], "Enable this if you want to show social network buttons to share content." => [ 0 => "Włącz to, jeśli chcesz wyświetlać przyciski do udostępniania treści w sieciach społecznościowych.", ], + "Enable embed codes (content)" => [ + 0 => "Włącz kody osadzania (dla treści)", + ], + "Everybody" => [ + 0 => "Wszyscy", + ], + "Users only" => [ + 0 => "Tylko użytkownicy", + ], + "Enable this if you want to show embed codes for the content." => [ + 0 => "Włącz tę opcję, jeśli chcesz wyświetlać kody osadzania treści.", + ], + "Not safe content checkbox in uploader" => [ + 0 => "Pole wyboru treści nieodpowiednich w przesyłaniu", + ], + "Enable this if you want to show a checkbox to indicate not safe content upload." => [ + 0 => "Włącz to, jeśli chcesz wyświetlić pole wyboru do zaznaczenia przesyłania treści nieodpowiednich.", + ], "Custom CSS code" => [ 0 => "Własny kod CSS", ], @@ -1759,6 +2648,15 @@ $translation_table = [ "Send test email" => [ 0 => "Wyślij testową wiadomość e-mail", ], + "This will allow you to download a user's standard personal information in JSON format." => [ + 0 => "To pozwoli ci pobrać standardowe dane osobowe użytkownika w formacie JSON.", + ], + "Regenerate external storage stats" => [ + 0 => "Odśwież statystyki zewnętrznego przechowywania", + ], + "This only updates the database. You must transfer the actual files to target storage container on your own. URL rewriting is strongly recommended. Use zero (0) for local storage." => [ + 0 => "To tylko aktualizuje bazę danych. Musisz samodzielnie przenieść rzeczywiste pliki do docelowego kontenera przechowywania. Zdecydowanie zaleca się przepisywanie adresów URL. Użyj zera (0) dla lokalnego przechowywania.", + ], "Additional settings" => [ 0 => "Dodatkowe ustawienia", ], @@ -1768,12 +2666,72 @@ $translation_table = [ "Enable this if you want to allow users to signup." => [ 0 => "Włącz to, jeśli chcesz pozwolić użytkownikom na rejestrację.", ], + "Enable user content delete" => [ + 0 => "Włącz usuwanie treści przez użytkowników", + ], + "Enable this if you want to allow users to delete their own content." => [ + 0 => "Włącz to, jeśli chcesz pozwolić użytkownikom na usuwanie ich własnych treści.", + ], + "Minimum age required" => [ + 0 => "Wymagany minimalny wiek", + ], + "Leave it empty to don't require a minimum age to use the website." => [ + 0 => "Pozostaw puste, aby nie wymagać minimalnego wieku do korzystania z witryny.", + ], + "Notify on user signup" => [ + 0 => "Powiadom o rejestracji użytkownika", + ], + "Enable this if you want to get an email notification for each new user signup." => [ + 0 => "Włącz to, jeśli chcesz otrzymywać powiadomienie e-mail o każdej nowej rejestracji użytkownika.", + ], "Require email confirmation" => [ 0 => "Wymagaj potwierdzenia adresu e-mail", ], "Enable this if users must validate their email address on sign up." => [ 0 => "Włącz to, jeśli użytkownicy muszą potwierdzić swój adres e-mail po rejestracji.", ], + "Require email for social signup" => [ + 0 => "Wymagaj adresu e-mail przy rejestracji za pomocą mediów społecznościowych", + ], + "Enable this if users using social networks to register must provide an email address." => [ + 0 => "Włącz to, jeśli użytkownicy rejestrujący się za pomocą mediów społecznościowych muszą podać adres e-mail.", + ], + "User avatar max. filesize" => [ + 0 => "Maksymalny rozmiar pliku awatara użytkownika", + ], + "Max. allowed filesize for user avatar image. (Max allowed by server is %s)" => [ + 0 => "Maksymalny dozwolony rozmiar pliku dla obrazu awatara użytkownika. (Maksymalny rozmiar dozwolony przez serwer to %s)", + ], + "User background max. filesize" => [ + 0 => "Maksymalny rozmiar pliku tła użytkownika", + ], + "Max. allowed filesize for user background image. (Max allowed by server is %s)" => [ + 0 => "Maksymalny dozwolony rozmiar pliku dla obrazu tła użytkownika. (Maksymalny dozwolony przez serwer to %s)", + ], + "Enable this to put a logo or anything you want in image uploads." => [ + 0 => "Włącz tę opcję, aby umieścić logo lub cokolwiek innego w przesyłanych obrazach.", + ], + "Enable watermark on guest uploads" => [ + 0 => "Włączanie znaku wodnego przy przesyłaniu plików przez gości", + ], + "Enable watermark on user uploads" => [ + 0 => "Włączanie znaku wodnego przy przesyłaniu plików przez użytkownika", + ], + "Enable watermark on admin uploads" => [ + 0 => "Włączanie znaku wodnego przy przesyłaniu przez administratora", + ], + "Enable watermark on GIF image uploads" => [ + 0 => "Włącz znak wodny w przesyłanych obrazach GIF", + ], + "Animated images won't be watermarked." => [ + 0 => "Animowane obrazy nie będą oznaczone znakiem wodnym.", + ], + "Minimum image size needed to apply watermark" => [ + 0 => "Minimalny rozmiar obrazu wymagany do zastosowania znaku wodnego", + ], + "Images smaller than this won't be watermarked. Use zero (0) to don't set a minimum image size limit." => [ + 0 => "Obrazy mniejsze niż ten rozmiar nie będą oznaczane znakiem wodnym. Użyj zera (0), aby nie ustawiać minimalnego limitu rozmiaru obrazu.", + ], "Watermark image" => [ 0 => "Grafika znaku wodnego", ], @@ -1828,29 +2786,116 @@ $translation_table = [ "Select region" => [ 0 => "Wybierz region", ], + "Allows to search images, albums and users based on a given search query." => [ + 0 => "Umożliwia wyszukiwanie obrazów, albumów i użytkowników", + ], + "search" => [ + 0 => "wyszukiwanie", + ], + "Enables %s for guests." => [ + 0 => "Włącza %s dla gości.", + ], + "Enables to browse public uploaded images. It also enables categories." => [ + 0 => "Umożliwia przeglądanie publicznie przesłanych obrazów. Umożliwia również tworzenie kategorii.", + ], + "Enables to browse images randomly." => [ + 0 => "Umożliwia losowe przeglądanie obrazów.", + ], + "random" => [ + 0 => "losowy", + ], + "Enable this if you want to show a \"%s\" link at the footer." => [ + 0 => "Włącz tę opcję, jeśli chcesz wyświetlać link „%s” w stopce.", + ], "Likes" => [ 0 => "Polubienia", ], + "Allows users to like content and populate \"Most liked\" listings." => [ + 0 => "Umożliwia użytkownikom polubienie treści i przeglądanie najczęściej polubionych treści.", + ], + "Followers allows users to follow each other." => [ + 0 => "Obserwujący pozwalają użytkownikom śledzić się nawzajem.", + ], "Website mode" => [ 0 => "Tryb strony", ], + "Multi-user" => [ + 0 => "Wielu użytkowników", + ], "You can switch the website mode anytime." => [ 0 => "Możesz przełączyć tryb strony w każdym momencie.", ], + "Website privacy mode" => [ + 0 => "Tryb prywatności witryny", + ], "Private mode will make the website only available for registered users." => [ 0 => "Tryb prywatny pozwoli na wyświetlanie strony tylko zarejestrowanym użytkownikom.", ], "Content privacy mode" => [ 0 => "Z prywatną treścią", ], + "Force private (self)" => [ + 0 => "Wymuś prywatność", + ], + "Hello and welcome, %s" => [ + 0 => "Witam i pozdrawiam, %s", + ], + "share your feedback" => [ + 0 => "Podziel się swoją opinią", + ], + "We're always looking for ways to improve, feel free to %s and suggestions." => [ + 0 => "Zawsze szukamy sposobów na ulepszenia, zachęcamy do %s i sugestii .", + ], + "Thank you for choosing Chevereto." => [ + 0 => "Dziękujemy za wybranie Chevereto.", + ], + "You can also set the license key in the textarea below." => [ + 0 => "Klucz licencyjny można również ustawić w polu tekstowym poniżej.", + ], + "Chevereto license key" => [ + 0 => "Klucz licencyjny Chevereto", + ], + "PASTE LICENSE KEY HERE" => [ + 0 => "WKLEJ KLUCZ LICENCYJNY TUTAJ", + ], + "Disk" => [ + 0 => "Dysk", + ], + "%s News" => [ + 0 => "%s Aktualności", + ], + "%s edition" => [ + 0 => "%s edycja", + ], "Role" => [ 0 => "Rola", ], "Email address" => [ 0 => "Adres e-mail", ], - "Play GIF" => [ - 0 => "Odtwórz GIF", + "Play %s" => [ + 0 => "Odtwórz %s", + ], + "Load 360° view" => [ + 0 => "Wczytaj widok 360°", + ], + "%s image" => [ + 0 => "%s obraz", + ], + "Do you really want to approve this image? The image will go public if you approve it." => [ + 0 => "Czy na pewno chcesz zatwierdzić ten obraz? Obraz zostanie upubliczniony, jeśli go zatwierdzisz.", + ], + "Download" => [ + 0 => "Pobierz", + ], + "Cover" => [ + 0 => "Okładka", + ], + "This is the album cover" => [ + 0 => "To jest okładka albumu", + ], + "Added to %a under %s %t" => [ + 0 => "Dodano do %a w %s %t", ], "Added to %s" => [ 0 => "Dodano do %s", @@ -1861,6 +2906,12 @@ $translation_table = [ "Uploaded %s" => [ 0 => "Wysłano %s", ], + "This content will be removed on %s" => [ + 0 => "Ta zawartość zostanie usunięta w %s", + ], + "No description provided." => [ + 0 => "Nie podano opisu.", + ], "Less Exif data" => [ 0 => "Mniej danych Exif", ], @@ -1870,11 +2921,11 @@ $translation_table = [ "Add IP ban" => [ 0 => "Dodaj blokadę IP", ], - "Upload and share your images." => [ - 0 => "Wyślij i udostępnij swoje grafiki", + "Upload and share your media" => [ + 0 => "Przesyłaj i udostępniaj multimedia", ], - "Drag and drop anywhere you want and start uploading your images now. %s limit. Direct image links, BBCode and HTML thumbnails." => [ - 0 => "Przeciągnij i upuść pliki w dowolnym miejscu aby zacząć przesyłać swoje zdjęcia. Limit %s. Bezpośrednie linki do obrazów, BBCode oraz miniaturki HTML.", + "Drag and drop anywhere to start uploading." => [ + 0 => "Przeciągnij i upuść w dowolnym miejscu, aby rozpocząć przesyłanie.", ], "Sign up to unlock all the features" => [ 0 => "Zarejestruj się, aby odblokować nowe funkcje", @@ -1882,6 +2933,12 @@ $translation_table = [ "Manage your content, create private albums, customize your profile and more." => [ 0 => "Zarządzaj swoimi grafikami, twórz prywatne albumy, dostosowuj profil i wiele, wiele więcej.", ], + "Sign in with your account" => [ + 0 => "Zaloguj się na swoje konto", + ], + "Don't have an account? %signup% now." => [ + 0 => "Nie masz konta? %signup% teraz.", + ], "Logged out" => [ 0 => "Wylogowano", ], @@ -1900,12 +2957,24 @@ $translation_table = [ "Please enter your password to continue." => [ 0 => "Aby kontynuować podaj hasło", ], + "Unlock" => [ + 0 => "Odblokuj", + ], + "Add media uploading and sharing to your website, blog or forum by installing our upload plugin." => [ + 0 => "Dodaj możliwość przesyłania i udostępniania multimediów na swojej stronie internetowej, blogu lub forum, instalując naszą wtyczkę do przesyłania.", + ], + "All features included like drag and drop, remote upload, image resizing and more." => [ + 0 => "Zawiera wszystkie funkcje, takie jak przeciąganie i upuszczanie, zdalne przesyłanie, zmiana rozmiaru obrazu i inne.", + ], "Supported software" => [ 0 => "Obsługiwane oprogramowanie", ], "supported software" => [ 0 => "obsługiwane oprogramowanie", ], + "Add it to your website" => [ + 0 => "Dodaj do swojej witryny", + ], "options" => [ 0 => "opcje", ], @@ -1915,6 +2984,12 @@ $translation_table = [ "Color palette" => [ 0 => "Paleta kolorów", ], + "Button color scheme" => [ + 0 => "Schemat kolorów przycisków", + ], + "Embed codes that will be auto-inserted in editor box" => [ + 0 => "Kody osadzania, które będą automatycznie wstawiane w polu edytora", + ], "After" => [ 0 => "Po", ], @@ -1939,6 +3014,9 @@ $translation_table = [ "Auto delete uploads" => [ 0 => "Automatycznie usuń wysłane pliki", ], + "This setting will apply to all your file uploads by default. You can override this setting on each upload." => [ + 0 => "To ustawienie będzie domyślnie stosowane do wszystkich przesyłanych plików. Możesz zmienić to ustawienie indywidualnie dla każdego przesyłanego pliku.", + ], "Keep image Exif data on upload" => [ 0 => "Zachowaj dane Exif przy wysyłaniu", ], @@ -2000,7 +3078,7 @@ $translation_table = [ 0 => "Nowe hasło", ], "Confirm new password" => [ - 0 => "Potwierdź nowe hasło", + 0 => "Powtórz nowe hasło", ], "Add a password to be able to login using your username or email." => [ 0 => "Dodaj hasło, aby móc logować się przy użyciu nazwy użytkownika lub adresu e-mail.", @@ -2017,12 +3095,54 @@ $translation_table = [ "Re-enter your password" => [ 0 => "Wpisz ponownie swoje hasło", ], + "This service is based on Chevereto hosted edition." => [ + 0 => "Ta usługa jest oparta na hostowanej edycji Chevereto.", + ], + "Usage of this service must be in compliance with the Chevereto Software Terms of Service." => [ + 0 => "Korzystanie z tej usługi musi być zgodne z Warunkami korzystania z usługi Chevereto Software.", + ], + "This service is based on Chevereto self-hosted edition." => [ + 0 => "Ta usługa jest oparta na samodzielnej edycji Chevereto.", + ], + "Upload avatar" => [ + 0 => "Prześlij awatar", + ], + "Make my profile and identity totally private" => [ + 0 => "Ustaw mój profil jako prywatny", + ], + "Enable this if you want to act like an anonymous user" => [ + 0 => "Włącz tę opcję, jeśli chcesz działać jak anonimowy użytkownik.", + ], "This is your real name, not your username." => [ 0 => "To twoje prawdziwe imię, a nie nazwa użytkownika", ], "Tell us a little bit about you" => [ 0 => "Opowiedz trochę o sobie", ], + "Two-factor authentication is enabled." => [ + 0 => "Uwierzytelnianie dwuskładnikowe jest włączone.", + ], + "Do you really want to disable two-factor authentication?" => [ + 0 => "Czy na pewno chcesz wyłączyć uwierzytelnianie dwuskładnikowe?", + ], + "Disable" => [ + 0 => "Wyłącz", + ], + "Scan the QR code below with an authenticator application and enter the code displayed." => [ + 0 => "Zeskanuj poniższy kod QR za pomocą aplikacji uwierzytelniającej i wprowadź wyświetlony kod.", + ], + "Login" => [ + 0 => "Logowanie", + ], + "Already have an account? %s now." => [ + 0 => "Masz już konto? %s.", + ], + "resend account activation" => [ + 0 => "wyślij ponownie wiadomość aktywacyjną", + ], + "If you have already signed up maybe you need to request to %s to activate your account." => [ + 0 => "Jeśli już się zarejestrowałeś, być może musisz poprosić %s o aktywację konta.", + ], "I'm at least %s years old" => [ 0 => "Mam co najmniej %s lat", ], @@ -2035,17 +3155,26 @@ $translation_table = [ "Upload new image" => [ 0 => "Wyślij nową grafikę", ], + "Are you sure that you want to delete the profile background image?" => [ + 0 => "Czy na pewno chcesz usunąć obraz tła profilu?", + ], "Delete background" => [ 0 => "Usuń tło", ], "Follower" => [ - 0 => "obserwujący", + 0 => "Obserwujący", 1 => "obserwujących", 2 => "obserwujących", ], "Follow" => [ 0 => "Obserwuj", ], + "Set: %s" => [ + 0 => "Ustaw: %s", + ], + "Ban" => [ + 0 => "Ban", + ], "General questions/comments" => [ 0 => "Ogólne pytania lub komentarze", ], diff --git a/app/.cache/languages/pt-BR.po.cache.php b/app/.cache/languages/pt-BR.po.cache.php index 824fe54..0ce4404 100644 --- a/app/.cache/languages/pt-BR.po.cache.php +++ b/app/.cache/languages/pt-BR.po.cache.php @@ -1,8 +1,8 @@ 'VERSION', - 'POT-Creation-Date' => '2023-08-27 15:09+0000', - 'PO-Revision-Date' => '2023-08-27 15:09+0000', + 'POT-Creation-Date' => '2024-11-18 12:14+0000', + 'PO-Revision-Date' => '2024-11-18 12:14+0000', 'Last-Translator' => 'FULL NAME ', 'Language-Team' => 'LANGUAGE TEAM ', 'Language' => 'pt_BR', @@ -16,12 +16,6 @@ $translation_plural = array ( 'function' => '($n != 1)', ); $translation_table = [ - "Selection will be assigned to %t." => [ - 0 => "A seleção será atribuída a %t.", - ], - "Sets the minimum content count needed to show %t in %s." => [ - 0 => "Define a contagem mínima de conteúdo necessária para mostrar %t em %s.", - ], "You have been forbidden to use this website." => [ 0 => "Você foi proibido de usar este site.", ], @@ -158,11 +152,8 @@ $translation_table = [ 0 => "imagem", 1 => "imagens", ], - "Stats" => [ - 0 => "Estatísticas", - ], - "Images" => [ - 0 => "Imagens", + "Home" => [ + 0 => "Início", ], "Album" => [ 0 => "Álbum", @@ -187,8 +178,8 @@ $translation_table = [ "Listings" => [ 0 => "Resultados", ], - "Image upload" => [ - 0 => "Envio de imagem", + "File uploads" => [ + 0 => "Envios de arquivos", ], "Semantics" => [ 0 => "Semântico", @@ -214,15 +205,24 @@ $translation_table = [ "Logo" => [ 0 => "Logo", ], - "External storage" => [ - 0 => "Armazenamento externo ", - ], "Homepage" => [ 0 => "Página principal", ], "Pages" => [ 0 => "Páginas", ], + "Upload plugin" => [ + 0 => "Plugin de Upload", + ], + "Consent screen" => [ + 0 => "Tela de conscientização", + ], + "Guests %s" => [ + 0 => "Convidados %s", + ], + "External storage" => [ + 0 => "Armazenamento externo ", + ], "Routing" => [ 0 => "Rotas", ], @@ -232,15 +232,9 @@ $translation_table = [ "Login providers" => [ 0 => "Provedores de login", ], - "Upload plugin" => [ - 0 => "Plugin de Upload", - ], "Cookie compliance" => [ 0 => "Conformidade com cookies", ], - "Consent screen" => [ - 0 => "Tela de conscientização", - ], "Flood protection" => [ 0 => "Proteção contra flood", ], @@ -250,47 +244,23 @@ $translation_table = [ "IP bans" => [ 0 => "Banimentos por IP", ], - "Guests %s" => [ - 0 => "Convidados %s", - ], "Watermarks" => [ 0 => "Marcas d'água", ], - "Documentation" => [ - 0 => "Documentação", - ], - "Admin" => [ - 0 => "Admin", - ], - "%s docs" => [ - 0 => "%s documentos", - ], "Support" => [ 0 => "Suporte", ], - "Releases" => [ - 0 => "Lançamentos", - ], - "Community" => [ - 0 => "Comunidade", - ], - "License" => [ - 0 => "Licença", - ], "install update" => [ 0 => "Instalar atualização", ], - "Check updates" => [ - 0 => "Verificar atualizações", - ], "not running" => [ 0 => "não está executando", ], "Max. upload file size" => [ 0 => "Tamanho máximo do arquivo", ], - "Graphics Library" => [ - 0 => "Biblioteca Gráfica", + "Stats" => [ + 0 => "Estatísticas", ], "Rebuild stats" => [ 0 => "Reconstruir estatísticas", @@ -301,6 +271,21 @@ $translation_table = [ "Not your IP?" => [ 0 => "Não é o seu IP?", ], + "Enabled" => [ + 0 => "Ativado", + ], + "Disabled" => [ + 0 => "Desativado", + ], + "Releases" => [ + 0 => "Lançamentos", + ], + "Community" => [ + 0 => "Comunidade", + ], + "Links" => [ + 0 => "Links", + ], "Cron last ran" => [ 0 => "Tarefa executada pela última vez", ], @@ -310,21 +295,6 @@ $translation_table = [ "Server" => [ 0 => "Servidor", ], - "MySQL version" => [ - 0 => "Versão do MySQL", - ], - "MySQL server info" => [ - 0 => "Informação do servidor MySQL", - ], - "File uploads" => [ - 0 => "Envios de arquivos", - ], - "Enabled" => [ - 0 => "Ativado", - ], - "Disabled" => [ - 0 => "Desativado", - ], "Max. execution time" => [ 0 => "Tempo máximo de execução", ], @@ -341,9 +311,6 @@ $translation_table = [ "Homepage cover image deleted" => [ 0 => "Imagem da capa apagada", ], - "Local" => [ - 0 => "Local", - ], "External" => [ 0 => "Externo", ], @@ -482,12 +449,12 @@ $translation_table = [ "Invalid value" => [ 0 => "Valor inválido", ], - "palette" => [ - 0 => "paleta", - ], "Invalid %s" => [ 0 => "%s inválido", ], + "palette" => [ + 0 => "paleta", + ], "Invalid theme image listing size" => [ 0 => "Tamanho para os resultados do tema inválido", ], @@ -635,33 +602,6 @@ $translation_table = [ "Image %i hosted in %w" => [ 0 => "Imagem %i salva em %w", ], - "Direct links" => [ - 0 => "Links Diretos", - ], - "Image link" => [ - 0 => "Link da imagem", - ], - "Image URL" => [ - 0 => "URL da imagem", - ], - "Thumbnail URL" => [ - 0 => "URL Thumbnail", - ], - "Medium URL" => [ - 0 => "URL Médio", - ], - "Full image" => [ - 0 => "Imagem completa", - ], - "Full image (linked)" => [ - 0 => "Imagem completa (com link)", - ], - "Medium image (linked)" => [ - 0 => "Imagem média (com link)", - ], - "Thumbnail image (linked)" => [ - 0 => "Imagem miniatura (com link)", - ], "Start uploading" => [ 0 => "Começar a enviar", ], @@ -684,9 +624,6 @@ $translation_table = [ "%s URL key already being used." => [ 0 => "A chave de URL %s já está sendo usada.", ], - "IP address already banned" => [ - 0 => "Endereço de IP já está banido", - ], "Missing values" => [ 0 => "Valores em falta", ], @@ -702,6 +639,9 @@ $translation_table = [ "%s added" => [ 0 => "%s adicionado", ], + "IP address already banned" => [ + 0 => "Endereço de IP já está banido", + ], "%s not found" => [ 0 => "%s não encontrado", ], @@ -841,6 +781,9 @@ $translation_table = [ "User ID" => [ 0 => "ID de utilizador", ], + "Images" => [ + 0 => "Imagens", + ], "Register date" => [ 0 => "Data de registo", ], @@ -1032,10 +975,10 @@ $translation_table = [ 1 => "segundos", ], "%s ago" => [ - 0 => "a %s atrás", + 0 => "há %s", ], "moments ago" => [ - 0 => "a momentos atrás", + 0 => "há poucos segundos", ], "There is an update available for your system." => [ 0 => "Há uma atualização disponível para o seu sistema.", @@ -1136,48 +1079,45 @@ $translation_table = [ "Error deleting profile background image." => [ 0 => "Erro ao apagar imagem de fundo do perfil", ], - "Update available v%s" => [ - 0 => "Atualização disponível v %s", - ], - "There is an update available for this system." => [ - 0 => "Há uma atualização disponível para este sistema.", - ], - "Update instructions" => [ - 0 => "Atualizar instruções", + "documentation" => [ + 0 => "documentação", ], "This website is running latest %s version" => [ 0 => "O seu site está rodando a última versão do %s", ], + "Usage of Chevereto Software must be in compliance with the software license terms known as \"The Chevereto License\"." => [ + 0 => "O uso do Software Chevereto deve estar em conformidade com os termos de licença de software conhecidos como \"A Licença Chevereto\".", + ], "Please review the system requirements before proceeding" => [ 0 => "Reveja os requisitos do sistema antes de continuar", ], - "Toggle select" => [ - 0 => "Alternar seleção", - ], - "Like" => [ - 0 => "Curtir", - ], "Create album" => [ 0 => "Criar álbum", ], - "Toggle flag" => [ - 0 => "Alternar flag", - ], - "Edit" => [ - 0 => "Editar", - ], "Approve" => [ 0 => "Aprovar", ], "Delete" => [ 0 => "Apagar", ], - "Previous" => [ - 0 => "Anterior", + "Edit" => [ + 0 => "Editar", + ], + "Toggle flag" => [ + 0 => "Alternar flag", + ], + "Like" => [ + 0 => "Curtir", ], "Next" => [ 0 => "Próximo", ], + "Previous" => [ + 0 => "Anterior", + ], + "Toggle select" => [ + 0 => "Alternar seleção", + ], "Zoom" => [ 0 => "Zoom", ], @@ -1188,7 +1128,7 @@ $translation_table = [ 0 => "Formato de arquivo inválido ou não suportado.", ], "Some files couldn't be added" => [ - 0 => "Alguns arquivos não puderam ser adiccionados", + 0 => "Alguns arquivos não puderam ser adicionados", ], "file" => [ 0 => "arquivo", @@ -1197,9 +1137,6 @@ $translation_table = [ "%s's Albums" => [ 0 => "Álbuns de %s", ], - "Image edited successfully." => [ - 0 => "Imagem editada com sucesso.", - ], "private" => [ 0 => "Privado", ], @@ -1210,7 +1147,7 @@ $translation_table = [ 0 => "Chave URL inválida.", ], "Category URL key already being used." => [ - 0 => "Chave de URL da categoria já está a ser usada.", + 0 => "Chave de URL da categoria já está em uso.", ], "Category successfully deleted." => [ 0 => "Categoria apagada com sucesso.", @@ -1222,22 +1159,22 @@ $translation_table = [ 0 => "Data de validade inválida.", ], "IP %s already banned." => [ - 0 => "O IP %s já se encontra banido.", + 0 => "O IP %s já foi banido.", ], "IP %s banned." => [ 0 => "IP %s banido.", ], "IP ban successfully deleted." => [ - 0 => "Banimento de IP apagado com sucesso.", + 0 => "Banimento de IP deletado com sucesso.", ], "Please fill all the required fields." => [ - 0 => "Por favor preencha todos os campos.", + 0 => "Preencha todos os campos, por favor.", ], "Invalid storage capacity value. Make sure to use a valid format." => [ 0 => "Valor para a capacidade de armazenamento inválido. Verifique se está a usar o formato correto.", ], "Invalid URL." => [ - 0 => "URL inválido.", + 0 => "URL inválida.", ], "Storage successfully edited." => [ 0 => "Armazenamento editado com sucesso,", @@ -1246,7 +1183,7 @@ $translation_table = [ 0 => "%s adicionado com sucesso.", ], "The content has been deleted." => [ - 0 => "O conteúdo foi eliminado.", + 0 => "O conteúdo foi deletado.", ], "The content has been moved." => [ 0 => "O conteúdo foi movido.", @@ -1255,22 +1192,22 @@ $translation_table = [ 0 => "Selecionar", ], "Unselect" => [ - 0 => "Cancelar seleção", + 0 => "Remover seleção", ], "Import ID %s removed" => [ 0 => "ID de importação %s removido", ], "All the changes that you have made will be lost if you continue." => [ - 0 => "Todas as mudanças que fez serão perdidas se continuar.", + 0 => "Todas as mudanças feitas serão perdidas, caso prossiga.", ], "Save changes" => [ - 0 => "Salvar as alterações", + 0 => "Salvar mudanças", ], "Submit" => [ 0 => "Enviar", ], "Changes saved successfully." => [ - 0 => "Alterações salvas com sucesso.", + 0 => "Mudanças salvas com sucesso.", ], "Go back to form" => [ 0 => "Voltar para o formulário", @@ -1279,7 +1216,7 @@ $translation_table = [ 0 => "ou", ], "continue anyway" => [ - 0 => "Continuar assim mesmo", + 0 => "Continuar mesmo assim", ], "cancel" => [ 0 => "Cancelar", @@ -1303,13 +1240,13 @@ $translation_table = [ 0 => "Clique com o botão direito", ], "We received a request to change the email of your %n account at %w." => [ - 0 => "Recebemos uma pedido de alteração do e-mail associado a sua %n conta no site %w.", + 0 => "Recebemos um pedido de alteração do e-mail associado à sua %n conta no site %w.", ], "To complete the process you must activate your email." => [ - 0 => "Para completar o processo, você deve ativar aqui o seu e-mail.", + 0 => "Para completar o processo, você deve ativar o seu e-mail.", ], "Alternatively you can copy and paste the URL into your browser: %s" => [ - 0 => "Você pode também pode optar por copiar e colar a seguinte URL no seu navegador: %s", + 0 => "Você também pode optar por copiar e colar a seguinte URL no seu navegador: %s", ], "If you didn't intend this just ignore this message." => [ 0 => "Se não pretendia fazer isto, ignore esta mensagem.", @@ -1318,7 +1255,7 @@ $translation_table = [ 0 => "Este pedido foi feito apartir do IP: %s", ], "We received a request to register the %n account at %w." => [ - 0 => "Recebemos o seu pedido para registar sua conta %n na %w.", + 0 => "Recebemos um pedido para registar sua conta %n na %w.", ], "To complete the process you must activate your account." => [ 0 => "Para completar o processo, você deve ativar a sua conta .", @@ -1333,10 +1270,10 @@ $translation_table = [ 0 => "Olá %n, seja bem-vindo a %w.", ], "Now that your account is ready you can enjoy uploading your images, creating albums and setting the privacy of your content as well as many more cool things that you will discover." => [ - 0 => "Agora que a sua conta está ativada, você poderá desfrutar do envio de imagens, criar álbuns e definir a sua privacidade, bem como partilhar as suas imagens nos mais variados locais.", + 0 => "Agora que a sua conta está ativada, você poderá desfrutar do envio de imagens, criar álbuns e definir a sua privacidade, bem como compartilhar as suas imagens nos mais variados locais.", ], "By the way, here is you very own awesome profile page: %n. Go ahead and customize it, its yours!." => [ - 0 => "Aliás, aqui está a sua fantástica página de perfil: %n. Vá até lá e edite-a a seu gosto. Ela é toda sua!", + 0 => "Aliás, aqui está a sua fantástica página de perfil: %n. Prossiga e a personalize, ela é toda sua!", ], "Thank you for joining" => [ 0 => "Obrigado por se juntar a nós", @@ -1344,12 +1281,6 @@ $translation_table = [ "This email was sent from %w %u" => [ 0 => "Este e-mail foi enviado pelo sistema automático da %w %u", ], - "Drag and drop or paste images here to upload" => [ - 0 => "Cole, araste ou solte aqui para enviar imagens", - ], - "Select the images to upload" => [ - 0 => "Selecionar as imagens para envio", - ], "You can also %i or %u." => [ 0 => "Você também pode %i ou %u.", ], @@ -1359,21 +1290,12 @@ $translation_table = [ "browse from your computer" => [ 0 => "procurar no seu computador", ], - "add image URLs" => [ - 0 => "adicionar imagens pela URL", - ], "You can also %i, %c or %u." => [ 0 => "Você também pode %i, %c ou %u.", ], "You can also %i or %c." => [ 0 => "Você também pode %i ou %c.", ], - "browse from your device" => [ - 0 => "procurar no seu computador", - ], - "take a picture" => [ - 0 => "tire uma foto", - ], "Register to get %s" => [ 0 => "Registre-se para obter %s", ], @@ -1381,7 +1303,7 @@ $translation_table = [ 0 => "clicando", ], "Customize upload by %action% on any preview" => [ - 0 => "Personalize o upload %action% em alguma pré-visualização", + 0 => "Personalize o upload por %action% em qualquer pré-visualização", ], "touching" => [ 0 => "tocando", @@ -1402,10 +1324,10 @@ $translation_table = [ 0 => "Conteúdo enviado adicionado a %s.", ], "You can %c with the content just uploaded or %m." => [ - 0 => "Você pode %c com o conteúdo apenas enviado ou %m.", + 0 => "Você pode %c com o conteúdo enviado agora ou %m.", ], "You can %c with the content just uploaded." => [ - 0 => "Você pode %c com o conteúdo acabado de ser enviado.", + 0 => "Você pode %c com o conteúdo enviado agora.", ], "create new %s" => [ 0 => "criar novo %s", @@ -1471,7 +1393,7 @@ $translation_table = [ 0 => "Observação", ], "We must approve the uploaded content before being able to share." => [ - 0 => "Devemos aprovar o conteúdo carregado antes de podermos compartilhar.", + 0 => "Precisamos aprovar o conteúdo enviado, para que ele possa ser compartilhado.", ], "copy" => [ 0 => "copiar", @@ -1504,7 +1426,7 @@ $translation_table = [ 0 => "Altura", ], "Note: Animated GIF images won't be resized." => [ - 0 => "Nota: imagens GIF animadas não será redimensionada.", + 0 => "Nota: imagens GIF animadas não será redimensionadas.", ], "Mark this if the image is not family safe" => [ 0 => "Marque esta opção se a imagem é de conteúdo impróprio", @@ -1518,17 +1440,11 @@ $translation_table = [ "Brief description of this %s" => [ 0 => "Breve descrição deste %s", ], - "Add image URLs" => [ - 0 => "Adicionar imagens pela URL", - ], - "Add the image URLs here" => [ - 0 => "Adicione os URLs de imagem aqui", - ], "Create %s" => [ 0 => "Criar %s", ], "The uploaded content will be moved to this newly created album." => [ - 0 => "O conteúdo carregado será movido para este álbum recém-criado.", + 0 => "O conteúdo enviado será movido para este álbum recém-criado.", ], "You must %s or %l if you want to edit this album later on." => [ 0 => "Você deve %s ou %l se quiser editar este álbum mais tarde.", @@ -1537,73 +1453,22 @@ $translation_table = [ 0 => "Mover para %s", ], "Select an existing album to move the uploaded content." => [ - 0 => "Selecione um álbum existente para mover o conteúdo carregado.", + 0 => "Selecione um álbum existente para mover o conteúdo enviado.", ], "Error report" => [ 0 => "Relatório de erro", ], - "Links" => [ - 0 => "Links", - ], "Viewer" => [ 0 => "Visualizador", ], - "%s links" => [ - 0 => "%s links", - ], "Direct" => [ 0 => "Direto", ], - "HTML Codes" => [ - 0 => "Códigos HTML", - ], - "HTML image" => [ - 0 => "HTML completo", - ], - "HTML full linked" => [ - 0 => "HTML completo com link", - ], - "HTML medium linked" => [ - 0 => "HTML médio com link", - ], - "HTML thumbnail linked" => [ - 0 => "HTML miniatura com link", - ], - "BBCodes" => [ - 0 => "BBCodes", - ], - "BBCode full" => [ - 0 => "BBCode completo", - ], - "BBCode full linked" => [ - 0 => "BBCode completo com link", - ], - "BBCode medium linked" => [ - 0 => "BBCode médio com link", - ], - "BBCode thumbnail linked" => [ - 0 => "BBCode miniatura com link", - ], - "Markdown full" => [ - 0 => "Markdown completo", - ], - "Markdown full linked" => [ - 0 => "Markdown completo com link", - ], - "Markdown medium linked" => [ - 0 => "Markdown médio com link", - ], - "Markdown thumbnail linked" => [ - 0 => "Markdown miniatura com link", - ], - "Viewer links" => [ - 0 => "Links de visualização", - ], "All these words" => [ 0 => "Todas estas palavras", ], "Type the important words: tri-colour rat terrier" => [ - 0 => "Introduza as palavras importantes: cachorro", + 0 => "Introduza as palavras importantes: tricolor rato terrier", ], "This exact word or phrase" => [ 0 => "Esta palavra ou frase exata", @@ -1615,7 +1480,7 @@ $translation_table = [ 0 => "Nenhuma destas palavras", ], "Put a minus sign just before words you don't want: -rodent -\"Jack Russell\"" => [ - 0 => "Coloque um sinal de subtracção antes das palavras que não lhe interessam: -roedor -\"Jack Russell\"", + 0 => "Coloque um sinal de subtração antes das palavras que não lhe interessam: -roedor -\"Jack Russell\"", ], "Storage" => [ 0 => "Armazenamento", @@ -1678,10 +1543,10 @@ $translation_table = [ 0 => "Chave URL", ], "%s URL key" => [ - 0 => "%s chave de URL", + 0 => "%s chave URL", ], "Only letters, numbers, and hyphens" => [ - 0 => "Apenas letras, números ou hyfens", + 0 => "Apenas letras, números ou hífens", ], "Untitled %s" => [ 0 => "Sem título %s", @@ -1711,7 +1576,7 @@ $translation_table = [ 0 => "Não analisar pastas", ], "When parsing top level folders as users, second level folders will be parsed as user albums. Parsing top level folders as albums adds these as guest albums." => [ - 0 => "Ao analisar pastas de nível superior como usuários, as pastas de segundo nível serão analisadas como álbuns de usuários. A análise de pastas de nível superior como álbuns adiciona-as como álbuns convidados.", + 0 => "Ao analisar pastas de nível superior como usuários, as pastas de segundo nível serão analisadas como álbuns de usuários. A análise de pastas de nível superior como álbuns as adiciona como álbuns convidados.", ], "Threads" => [ 0 => "Threads", @@ -1741,16 +1606,16 @@ $translation_table = [ 0 => "Mensagem", ], "Text message, HTML or a redirect URL" => [ - 0 => "Mensagem de texto, HTML ou um redireccionamento URL", - ], - "Storage name" => [ - 0 => "Nome do alojamento", + 0 => "Mensagem de texto, HTML ou uma URL de redirecionamento", ], "API" => [ 0 => "API", ], + "Storage name" => [ + 0 => "Nome do armazenamento", + ], "This is for the old deprecated B2 API. For new buckets you have to use S3 Compatible API." => [ - 0 => "Isso é para a API B2 obsoleta antiga. Para novos baldes, você deve usar a API compatível com S3.", + 0 => "Isso é para a antiga e obsoleta API B2. Para novos buckets, você deve usar uma API compatível com S3.", ], "Region" => [ 0 => "Região", @@ -1759,52 +1624,52 @@ $translation_table = [ 0 => "Região de armazenamento", ], "Storage bucket" => [ - 0 => "Banco de alojamento", + 0 => "Banco de armazenamento", ], "Key" => [ 0 => "Chave", ], "Storage key" => [ - 0 => "Chave do alojamento", + 0 => "Chave do armazenamento", ], "Secret" => [ 0 => "Segredo", ], "Storage secret" => [ - 0 => "Segredo do alojamento", + 0 => "Segredo do armazenamento", ], "Private key" => [ 0 => "Chave privada", ], "Google Cloud JSON key" => [ - 0 => "Chave Google Cloud JSON", + 0 => "Chave JSON Google Cloud", ], "You will need a service account for this." => [ - 0 => "Você vai precisar de um conta de serviço para isso.", + 0 => "Você vai precisar de uma conta de serviço para isso.", ], "Service name" => [ 0 => "Nome do serviço", ], "Identity URL" => [ - 0 => "URL identidade", + 0 => "URL de identidade", ], "Identity API endpoint" => [ - 0 => "Endpoint API Indentificação", + 0 => "Endpoint API de identidade", ], "API endpoint for OpenStack identity" => [ - 0 => "Endpoint API para a identidade OpenStack", + 0 => "Endpoint API para ID OpenStack", ], "Container" => [ - 0 => "Recipiente", + 0 => "Contêiner", ], "Storage container" => [ - 0 => "Recipiente de armazenamento", + 0 => "Contêiner de armazenamento", ], "Tenant id" => [ 0 => "ID Tenant", ], "Tenant id (account id)" => [ - 0 => "ID de Tenant (ID de conta)", + 0 => "ID Tenant (ID da conta)", ], "Tenant name" => [ 0 => "Nome Tenant", @@ -1819,13 +1684,13 @@ $translation_table = [ 0 => "Endereço do Servidor", ], "Hostname or IP of the storage server" => [ - 0 => "Hostname ou IP do servidor de alojamento", + 0 => "Hostname ou IP do servidor de armazenamento", ], "Server path" => [ 0 => "Caminho do servidor", ], "Absolute path where the files will be stored in the context of the %p login. Use %s for root path." => [ - 0 => "Caminho absoluto onde os arquivos serão armazenados no contexto do login %p. Use %s para o caminho raiz.", + 0 => "Caminho absoluto, onde os arquivos serão armazenados no contexto do login %p. Use %s para o caminho raiz.", ], "Server login" => [ 0 => "Login do Servidor", @@ -1837,7 +1702,7 @@ $translation_table = [ 0 => "Caminho Local", ], "Local path where the files will be stored" => [ - 0 => "Caminho local onde os arquivos serão armazenados", + 0 => "Caminho local, onde os arquivos serão armazenados", ], "Storage capacity" => [ 0 => "Capacidade do armazenamento", @@ -1893,12 +1758,12 @@ $translation_table = [ "Sign in with %label%" => [ 0 => "Entrar com %label%", ], - "Home" => [ - 0 => "Início", - ], "There's nothing to show here." => [ 0 => "Não há nada para ver aqui.", ], + "Selection will be assigned to %t." => [ + 0 => "A seleção será atribuída a %t.", + ], "There is no categories." => [ 0 => "Não existem categorias.", ], @@ -1921,7 +1786,7 @@ $translation_table = [ 0 => "Você realmente deseja aprovar este conteúdo?", ], "Confirm deletion" => [ - 0 => "Confirme a eliminação", + 0 => "Confirme a remoção", ], "Do you really want to remove this content?" => [ 0 => "Deseja realmente remover este conteúdo?", @@ -1930,14 +1795,11 @@ $translation_table = [ 0 => "Você realmente deseja aprovar todo o conteúdo selecionado?", ], "Do you really want to remove all the selected content?" => [ - 0 => "Deseja realmente remover todo o conteúdo selecionado?", + 0 => "Você realmente deseja remover todo o conteúdo selecionado?", ], "Guest" => [ 0 => "Convidado", ], - "Keyboard shortcuts" => [ - 0 => "Atalhos de Teclado", - ], "Private album" => [ 0 => "Álbum privado", ], @@ -1957,7 +1819,7 @@ $translation_table = [ 0 => "Alterar para conteúdo imprópio", ], "You either don't have permission to access this page or the link has expired." => [ - 0 => "Ou você não tem permissão para acessar esta página ou o link expirou.", + 0 => "Ou você não tem permissão para acessar esta página, ou o link expirou.", ], "Go to homepage" => [ 0 => "Ir para página inicial", @@ -1972,7 +1834,7 @@ $translation_table = [ 0 => "A sua conta está quase pronta", ], "An email to %s has been sent with instructions to activate your account. The activation link is only valid for 48 hours. If you don't receive the instructions try checking your junk or spam filters." => [ - 0 => "Um e-mail para foi enviado para %s com as instruções para ativar a sua conta. O link de ativação só é válido por 48 horas. \nSe você não receber as instruções verifique a sua pasta de spam ou lixo.", + 0 => "Um e-mail foi enviado para %s com as instruções para ativar a sua conta. O link de ativação é válido apenas por 48 horas. \nSe você não receber as instruções, verifique a sua pasta de spam ou lixo.", ], "Resend activation" => [ 0 => "Reenviar ativação", @@ -1990,16 +1852,16 @@ $translation_table = [ 0 => "O seu endereço de email", ], "An email with instructions to reset your password has been sent to the registered email address. If you don't receive the instructions try checking your junk or spam filters." => [ - 0 => "Um e-mail com instruções para redefinir sua senha foi enviado para o endereço de e-mail da sua conta. Se você não receber as instruções verifique a sua pasta de spam ou lixeira.", + 0 => "Um e-mail com instruções para redefinir sua senha foi enviado para o endereço de e-mail da sua conta. Se você não receber as instruções, verifique a sua pasta de spam ou lixeira.", ], "A previous email has been sent with instructions to reset your password. If you did not receive the instructions try checking your junk or spam filters." => [ - 0 => "Um email anterior foi enviado com instruções para redefinir a sua palavra passe. Se não recebeu as instruções verifique a sua pasta de correio não solicitado/spam/Lixo.", + 0 => "Um email anterior foi enviado com instruções para redefinir a sua senha. Se não recebeu as instruções, verifique a sua pasta de correio não solicitado/spam/Lixo.", ], "Resend instructions" => [ 0 => "Reenviar instruções", ], "Enter your username or email address to continue. You may need to check your spam folder or whitelist %s" => [ - 0 => "Digite seu nome de usuário ou endereço de e-mail para continuar. Você pode precisar verificar sua pasta de spam ou lista de permissões %s", + 0 => "Digite seu nome de usuário ou endereço de e-mail para continuar. Talvez você precise verificar sua pasta de spam ou lista de permissões %s", ], "Username or Email address" => [ 0 => "Nome de usuário ou Endereço de e-mail", @@ -2023,7 +1885,7 @@ $translation_table = [ 0 => "Digite novamente a sua nova senha", ], "An email to %s has been sent with instructions to activate your account. If you don't receive the instructions try checking your junk or spam filters." => [ - 0 => "Um e-mail para %s foi enviado com instruções para ativar sua conta. Se você não receber as instruções tente verificar os seus filtros de spam ou caixa de spam.", + 0 => "Um e-mail foi enviado para %s com instruções para ativar sua conta. Se você não receber as instruções, tente verificar os seus filtros de spam ou caixa de spam.", ], "Unable to authenticate?" => [ 0 => "Não consegue autenticar?", @@ -2038,7 +1900,7 @@ $translation_table = [ 0 => "Código de segurança", ], "Sub album" => [ - 0 => "Sub album", + 0 => "Sub álbum", ], "Do you really want to delete this %a and all of its %i?" => [ 0 => "Você realmente deseja excluir este %a e todos os seus %i?", @@ -2056,17 +1918,14 @@ $translation_table = [ 0 => "Por favor, leia e compreenda as seguintes condições antes de você continuar:", ], "This website contains information, links and images of sexually explicit material. If you are under the age of %s, if such material offends you or if it's illegal to view such material in your community please do not continue.\n\nI am at least %s years of age and I believe that as an adult it is my inalienable right to receive/view sexually explicit material. I desire to receive/view sexually explicit material. \n\nI believe that sexual acts between consenting adults are neither offensive nor obscene. The viewing, reading and downloading of sexually explicit materials does not violate the standards of my community, town, city, state or country.\n\nThe sexually explicit material I am viewing is for my own personal use and I will not expose minors to the material.\n\nI am solely responsible for any false disclosures or legal ramifications of viewing, reading or downloading any material in this site. Furthermore this website nor its affiliates will be held responsible for any legal ramifications arising from fraudulent entry into or use of this website.\n\nThis consent screen constitutes a legal agreement between this website and you and/or any business in which you have any legal or equitable interest. If any portion of this agreement is deemed unenforceable by a court of competent jurisdiction it shall not affect the enforceability of the other portions of the agreement." => [ - 0 => "Este site contém informações, links e imagens de material sexualmente explícito. Se você tem menos de %s anos, se tal material o ofende ou se é ilegal ver esse material na sua comunidade, por favor, não continue.\n\nTenho pelo menos %s anos de idade e acredito que, como adulto, é o meu direito inalienável de receber/ver material sexualmente explícito. Eu desejo receber/ver material sexualmente explícito.\n\nAcredito que os atos sexuais entre adultos consentâneos não são nem ofensivos nem obscenos. A visualização, leitura e download de materiais sexualmente explícitos não viola os padrões da minha comunidade, cidade, cidade, estado ou país.\n\nO material sexualmente explícito que estou vendo é para meu uso pessoal e não vou expor os menores ao material.\n\nEu sou o único responsável por quaisquer divulgações falsas ou ramificações legais de visualização, leitura ou download de qualquer material neste site. Além disso, este site nem suas afiliadas serão responsáveis ​​por quaisquer ramificações legais decorrentes da entrada ou uso fraudulento deste site.\n\nEsta tela de consentimento constitui um acordo legal entre este site e você e / ou qualquer negócio em que você tenha qualquer interesse legal ou equitativo. Se qualquer parte deste contrato for considerada inaplicável por um tribunal de jurisdição competente, não afetará a exequibilidade das outras partes do contrato.", + 0 => "Este site contém informações, links e imagens de material sexualmente explícito. Se você tem menos de %s anos, se tal material o ofende ou se é ilegal ver esse material na sua comunidade, por favor, não continue.\n\nTenho pelo menos %s anos de idade e acredito que, como adulto, é o meu direito inalienável de receber/ver material sexualmente explícito. Eu desejo receber/ver material sexualmente explícito.\n\nAcredito que os atos sexuais consensuais entre adultos não são nem ofensivos, nem obscenos. A visualização, leitura e download de materiais sexualmente explícitos não viola os padrões da minha comunidade, cidade, estado ou país.\n\nO material sexualmente explícito que estou vendo é para meu uso pessoal, e não vou expor menores ao material.\n\nEu sou o único responsável por quaisquer divulgações falsas ou ramificações legais de visualização, leitura ou download de qualquer material neste site. Além disso, este site nem suas afiliadas serão responsáveis ​​por quaisquer ramificações legais decorrentes da entrada ou uso fraudulento deste site.\n\nEsta tela de consentimento constitui um acordo legal entre este site e você e / ou qualquer negócio em que você tenha qualquer interesse legal ou equitativo. Se qualquer parte deste contrato for considerada inaplicável por um tribunal de jurisdição competente, não afetará a exequibilidade das outras partes do contrato.", ], "By clicking in \"I Agree\" you declare that you have read and understood all the conditions mentioned above." => [ - 0 => "Clicando em \"Eu aceito\" você declara que você leu e entendeu todas as condições mencionadas.", + 0 => "Clicando em \"Eu aceito\", você declara que você leu e entendeu todas as condições mencionadas.", ], "I Agree" => [ 0 => "Eu aceito", ], - "documentation" => [ - 0 => "documentação", - ], "Learn about %s at our %d." => [ 0 => "Aprenda sobre %s em nosso %d.", ], @@ -2107,7 +1966,7 @@ $translation_table = [ 0 => "Erros", ], "Do you really want to remove the import ID %s?" => [ - 0 => "Você tem certeza que quer remover a importação ID %s?", + 0 => "Você tem certeza que quer remover o ID de importação %s?", ], "Reset" => [ 0 => "Resetar", @@ -2119,7 +1978,7 @@ $translation_table = [ 0 => "Estado", ], "Run the following command to import content to Chevereto:" => [ - 0 => "Execute o seguinte comando para importar o conteúdo para o Chevereto:", + 0 => "Execute o seguinte comando para importar conteúdo para o Chevereto:", ], "Read the %s for more information about this feature." => [ 0 => "Leia %s para mais informações sobre este recurso.", @@ -2140,13 +1999,13 @@ $translation_table = [ 0 => "Você realmente deseja excluir %s?", ], "Shows a consent screen before accessing the website. Useful for adult content websites where minors shouldn't be allowed." => [ - 0 => "Mostra uma tela de consentimento antes de acessar o site. Útil para sites de conteúdo adulto onde menores de idade não devem ser permitidos.", + 0 => "Mostra uma tela de consentimento antes de acessar o site. Útil para sites de conteúdo adulto, onde menores de idade não devem ser permitidos.", ], "Enable consent screen" => [ - 0 => "Ativar tela de conscientização", + 0 => "Ativar tela de consentimento", ], "Consent screen cover image" => [ - 0 => "Plano de fundo da página de conscientização", + 0 => "Plano de fundo da página de consentimento", ], "Show not safe content in listings" => [ 0 => "Mostrar conteúdo não seguro em listas", @@ -2155,13 +2014,13 @@ $translation_table = [ 0 => "Habilite isso se quiser mostrar conteúdo não seguro nas listagens.", ], "Can be overridden by user own settings." => [ - 0 => "Can be overridden by user own settings.", + 0 => "Pode ser substituído através das configurações próprias do usuário.", ], "This setting doesn't affect administrators." => [ 0 => "Esta configuração não afeta os administradores.", ], "Blur NSFW content in listings" => [ - 0 => "Blur conteúdo NSFW em anúncios", + 0 => "Borrar conteúdo NSFW em anúncios", ], "Enable this if you want to apply a blur effect on the NSFW images in listings." => [ 0 => "Habilitar se você deseja aplicar um efeito de blur nas imagens NSFW em listas.", @@ -2203,13 +2062,13 @@ $translation_table = [ 0 => "Do nome", ], "Sender name for emails sent to users." => [ - 0 => "Nome do remetente dos e-mails enviados para os utilizadores.", + 0 => "Nome do remetente para e-mails enviados para os utilizadores.", ], "From email address" => [ 0 => "A partir do endereço de e-mail", ], "Sender email for emails sent to users." => [ - 0 => "E-mail do remetente para os e-mails enviados aos usuários.", + 0 => "E-mail do remetente para e-mails enviados aos usuários.", ], "Incoming email address" => [ 0 => "Endereço do email de entrada", @@ -2221,7 +2080,7 @@ $translation_table = [ 0 => "Modo de e-mail", ], "How to send emails? SMTP recommended." => [ - 0 => "Como enviar e-mails? SMTP é recomedado.", + 0 => "Como enviar e-mails? SMTP é recomedado.", ], "SMTP server and port" => [ 0 => "Servidor SMTP e porta", @@ -2242,7 +2101,7 @@ $translation_table = [ 0 => "Inseguro", ], "Comments API" => [ - 0 => "Comentários da API", + 0 => "API de comentários", ], "Disqus API works with %s." => [ 0 => "A API do Disqus funciona com %s", @@ -2266,31 +2125,31 @@ $translation_table = [ 0 => "Código do Analytics", ], "Google Analytics or anything you want. It will be added to the theme footer." => [ - 0 => "Google Analytics ou qualquer coisa que você quiser. Será adicionado ao rodapé tema.", + 0 => "Google Analytics ou qualquer coisa que você quiser. Será adicionado ao rodapé do tema.", ], "%s spam protection" => [ - 0 => "%s spam protection", + 0 => "%s proteção spam", ], "user generated content" => [ - 0 => "conteúdo gerado por usuários", + 0 => "conteúdo gerado por usuário", ], "Enable this to use %l to block spam on %c." => [ 0 => "Ative para usar %l para bloquear spam em %c.", ], "%s API key" => [ - 0 => "%s chave de API", + 0 => "%s chave API", ], "user signup" => [ - 0 => "inscrição de usuário", + 0 => "registro de usuário", ], "%s site key" => [ - 0 => "%s chave local", + 0 => "%s chave do site", ], "%s threshold" => [ 0 => "Limite de %s", ], "How many failed attempts are needed to ask for CAPTCHA? Use zero (0) to always show CAPTCHA." => [ - 0 => "Quantas tentativas falhadas são necessárias para solicitar o CAPTCHA? Use zero (0) para mostrar sempre o CAPTCHA.", + 0 => "Quantas tentativas falhas são necessárias para solicitar o CAPTCHA? Use zero (0) para mostrar sempre o CAPTCHA.", ], "Force %s on contact page" => [ 0 => "Forçar %s na página de contato", @@ -2326,10 +2185,10 @@ $translation_table = [ 0 => "Conta Twitter", ], "Toggle this to enable or disable HTTPS" => [ - 0 => "Altere isto para ativar dos desativar o HTTPS", + 0 => "Altere isto para ativar ou desativar o HTTPS", ], "Toggle this to enable or disable this storage" => [ - 0 => "Altere isto para ativar ou desativar esse armazenamento", + 0 => "Altere isto para ativar ou desativar este armazenamento", ], "Quota" => [ 0 => "Cota", @@ -2344,161 +2203,17 @@ $translation_table = [ 0 => "Espaço usado", ], "Local storage is used by default or when no external storage is active." => [ - 0 => "O armazenamento local é usado por padrão ou não há um armazenamento externo ativo.", + 0 => "O armazenamento local é usado por padrão, ou quando não há um armazenamento externo ativo.", ], "storage" => [ 0 => "armazenamento", ], - "Block image uploads by IP if the system notice a flood behavior based on the number of uploads per time period." => [ - 0 => "Bloqueie uploads de imagens por IP se o sistema perceber um comportamento de inundação com base no número de uploads por período de tempo.", - ], - "Notify to email" => [ - 0 => "Notificar para o e-mail", - ], - "If enabled the system will send an email on flood incidents." => [ - 0 => "Se habilitado, o sistema irá enviar um e-mail sobre incidentes de flood.", - ], - "Minute limit" => [ - 0 => "Limite por minuto", - ], - "Hourly limit" => [ - 0 => "Limite por hora", - ], - "Daily limit" => [ - 0 => "Limite por dia", - ], - "Weekly limit" => [ - 0 => "Limite por semana", - ], - "Monthly limit" => [ - 0 => "Limite por mês", - ], - "Public API key" => [ - 0 => "Chave de API pública", - ], - "This key is for guest usage." => [ - 0 => "Esta chave é para uso do convidado.", - ], - "Check the %s documentation." => [ - 0 => "Verifique a documentação de %s.", - ], - "Style" => [ - 0 => "Estilo", - ], - "Landing page" => [ - 0 => "Landing Page", - ], - "explore" => [ - 0 => "explorar", - ], - "Route %s" => [ - 0 => "Rota %s", - ], - "Select the homepage style. To customize it further edit app/themes/%s/views/index.php" => [ - 0 => "Selecione o estilo da página inicial. Para customizar edite app/themes/%s/views/index.php", - ], - "Cover image" => [ - 0 => "Imagem de capa", - ], - "Do you really want to delete?" => [ - 0 => "Você realmente deseja excluir?", - ], - "Delete %s" => [ - 0 => "Deletar %s", - ], - "Add new cover image" => [ - 0 => "Adicionar nova imagem de capa", - ], - "This will be added inside the homepage %s tag. Leave it blank to use the default contents." => [ - 0 => "Isso será adicionado dentro da tag %s da página inicial. Deixe em branco para usar o conteúdo padrão.", - ], - "Paragraph" => [ - 0 => "Paragrafo", - ], - "Call to action button color" => [ - 0 => "Cor do botão da chamada para ação", - ], - "Blue" => [ - 0 => "Azul", - ], - "Green" => [ - 0 => "Verde", - ], - "Orange" => [ - 0 => "Laranja", - ], - "Red" => [ - 0 => "Vermelho", - ], - "Grey" => [ - 0 => "Cinza", - ], - "Black" => [ - 0 => "Preto", - ], - "White" => [ - 0 => "Branco", - ], - "Default" => [ - 0 => "Padrão", - ], - "Color of the homepage call to action button." => [ - 0 => "Cor do botão da chamada para ação da página inicial", - ], - "Enable this to use outline style for the homepage call to action button." => [ - 0 => "Habilite isso para usar o estilo de estrutura de tópicos para o botão de chamada para ação da página inicial.", - ], - "Call to action functionality" => [ - 0 => "Funcionalidade do botão da chamada para ação", - ], - "Trigger uploader" => [ - 0 => "Trigger uploader", - ], - "Open URL" => [ - 0 => "Abrir URL", - ], - "Call to action URL" => [ - 0 => "URL da chamada para ação", - ], - "Enter an absolute or relative URL" => [ - 0 => "Insira uma URL absoluta ou relativa", - ], - "A relative URL like %r will be mapped to %l" => [ - 0 => "Uma URL relativa como %r será mapeada para %l", - ], - "Call to action HTML" => [ - 0 => "HTML da chamada para ação", - ], - "This will be added inside the call to action tag. Leave it blank to use the default contents." => [ - 0 => "Isso será adicionado dentro da tag call to action . Deixe em branco para usar o conteúdo padrão.", - ], - "User IDs" => [ - 0 => "IDs dos usuários", - ], - "Empty" => [ - 0 => "Vazio", - ], - "Your user id is: %s" => [ - 0 => "Seu ID de usuário é: %s", - ], - "Comma-separated list of target user IDs (integers) to show most recent images on homepage. Leave it empty to display trending images." => [ - 0 => "Lista separada por vírgulas de IDs de usuário de destino (inteiros) para mostrar as imagens mais recentes na página inicial. Deixe em branco para exibir imagens de tendências.", - ], - "Enabled image formats" => [ - 0 => "Formatos de imagem ativados", - ], "Unsupported in your server" => [ 0 => "Não suportado em seu servidor", ], - "Only checked image formats will be allowed to be uploaded." => [ - 0 => "Somente os formatos de imagem marcados poderão ser carregados.", - ], "Enable uploads" => [ 0 => "Ativar envios", ], - "Enable this if you want to allow image upload from URLs." => [ - 0 => "Ative-o se quiser permitir uploads de imagens. Esta configuração não afeta os administradores.", - ], "Note that enabling this will expose your server IP." => [ 0 => "Observe que habilitar isso irá expor o IP do seu servidor.", ], @@ -2506,7 +2221,7 @@ $translation_table = [ 0 => "Este recurso está disponível apenas para administradores.", ], "Upload user interface" => [ - 0 => "Carregar interface do usuário", + 0 => "Interface de envio do usuário", ], "On-page container" => [ 0 => "Contêiner na página", @@ -2524,7 +2239,7 @@ $translation_table = [ 0 => "Moderação de uploads", ], "Enable this to moderate incoming uploads. Target content will require moderation for approval." => [ - 0 => "Habilite isso para moderar os uploads recebidos. O conteúdo de destino exigirá moderação para aprovação.", + 0 => "Habilite isso para moderar os uploads recebidos. O conteúdo-alvo exigirá moderação para aprovação.", ], "Enable embed codes (uploader)" => [ 0 => "Ativar códigos embed (usuário)", @@ -2541,9 +2256,6 @@ $translation_table = [ "Redirect on single upload" => [ 0 => "Redirecionar em caso de envio único", ], - "Enable this if you want to redirect to image page on single upload." => [ - 0 => "Ative isto se você quiser que redirecione para a imagem logo após um envio único.", - ], "Enable duplicate uploads" => [ 0 => "Ativar envios duplicados", ], @@ -2595,15 +2307,12 @@ $translation_table = [ "Same as \"%s\" but for guests." => [ 0 => "Igual a \"%s\", mas para convidados.", ], - "Image path" => [ - 0 => "Caminho da imagem", + "File path" => [ + 0 => "Caminho de arquivo", ], "Relative to Chevereto root" => [ 0 => "Relativo ao root do Chevereto", ], - "Where to store the images? Relative to Chevereto root." => [ - 0 => "Onde armazenar as imagens? Relativo ao root do Chevereto.", - ], "Storage mode" => [ 0 => "Modo de armazenamento", ], @@ -2622,9 +2331,6 @@ $translation_table = [ "Mix original + random" => [ 0 => "Original Mix + aleatória", ], - "\"Original\" will try to keep the image source name while \"Random\" will generate a random name. \"ID\" will name the image just like the image ID." => [ - 0 => "\"Original\" irá tentar manter o nome da fonte de imagem enquanto \"AUTO\" vai gerar um nome aleatório. \"ID\" será o nome a imagem exatamente como o ID de imagem.", - ], "Thumb size" => [ 0 => "Tamanho da miniatura", ], @@ -2643,6 +2349,138 @@ $translation_table = [ "Width or height will be automatically calculated." => [ 0 => "Largura ou altura será calculado automaticamente.", ], + "Notify to email" => [ + 0 => "Notificar para o e-mail", + ], + "If enabled the system will send an email on flood incidents." => [ + 0 => "Se habilitado, o sistema irá enviar um e-mail sobre incidentes de flood.", + ], + "Minute limit" => [ + 0 => "Limite por minuto", + ], + "Hourly limit" => [ + 0 => "Limite por hora", + ], + "Daily limit" => [ + 0 => "Limite por dia", + ], + "Weekly limit" => [ + 0 => "Limite por semana", + ], + "Monthly limit" => [ + 0 => "Limite por mês", + ], + "Public API key" => [ + 0 => "Chave API pública", + ], + "This key is for guest usage." => [ + 0 => "Esta chave é para uso de convidado.", + ], + "Check the %s documentation." => [ + 0 => "Verifique a documentação de %s.", + ], + "Style" => [ + 0 => "Estilo", + ], + "Landing page" => [ + 0 => "Landing Page", + ], + "explore" => [ + 0 => "explorar", + ], + "Route %s" => [ + 0 => "Rota %s", + ], + "Select the homepage style. To customize it further edit app/themes/%s/views/index.php" => [ + 0 => "Selecione o estilo da página inicial. Para customizar edite app/themes/%s/views/index.php", + ], + "Cover image" => [ + 0 => "Imagem de capa", + ], + "Do you really want to delete?" => [ + 0 => "Você realmente deseja excluir?", + ], + "Delete %s" => [ + 0 => "Deletar %s", + ], + "Add new cover image" => [ + 0 => "Adicionar nova imagem de capa", + ], + "This will be added inside the homepage %s tag. Leave it blank to use the default contents." => [ + 0 => "Isso será adicionado dentro da tag %s da página inicial. Deixe em branco para usar o conteúdo padrão.", + ], + "Paragraph" => [ + 0 => "Parágrafo", + ], + "Call to action button color" => [ + 0 => "Cor do botão da chamada para ação", + ], + "Blue" => [ + 0 => "Azul", + ], + "Green" => [ + 0 => "Verde", + ], + "Orange" => [ + 0 => "Laranja", + ], + "Red" => [ + 0 => "Vermelho", + ], + "Grey" => [ + 0 => "Cinza", + ], + "Black" => [ + 0 => "Preto", + ], + "White" => [ + 0 => "Branco", + ], + "Default" => [ + 0 => "Padrão", + ], + "Color of the homepage call to action button." => [ + 0 => "Cor do botão da chamada para ação da página inicial", + ], + "Enable this to use outline style for the homepage call to action button." => [ + 0 => "Habilite isto para usar o estilo de contornos para o botão de chamada para ação da página inicial.", + ], + "Call to action functionality" => [ + 0 => "Funcionalidade do botão da chamada para ação", + ], + "Trigger uploader" => [ + 0 => "Trigger uploader", + ], + "Open URL" => [ + 0 => "Abrir URL", + ], + "Call to action URL" => [ + 0 => "URL da chamada para ação", + ], + "Enter an absolute or relative URL" => [ + 0 => "Insira uma URL absoluta ou relativa", + ], + "A relative URL like %r will be mapped to %l" => [ + 0 => "Uma URL relativa como %r será mapeada para %l", + ], + "Call to action HTML" => [ + 0 => "HTML da chamada para ação", + ], + "This will be added inside the call to action tag. Leave it blank to use the default contents." => [ + 0 => "Isso será adicionado dentro da tag call to action . Deixe em branco para usar o conteúdo padrão.", + ], + "User IDs" => [ + 0 => "IDs dos usuários", + ], + "Empty" => [ + 0 => "Vazio", + ], + "Your user id is: %s" => [ + 0 => "Seu ID de usuário é: %s", + ], + "Comma-separated list of target user IDs (integers) to show most recent images on homepage. Leave it empty to display trending images." => [ + 0 => "Lista separada por vírgulas de IDs de usuário de destino (inteiros) para mostrar as imagens mais recentes na página inicial. Deixe em branco para exibir imagens de tendências.", + ], "Expires" => [ 0 => "Expira", ], @@ -2715,6 +2553,9 @@ $translation_table = [ "%t listing requirement" => [ 0 => "%t requisito de listagem", ], + "Sets the minimum content count needed to show %t in %s." => [ + 0 => "Define a contagem mínima de conteúdo necessária para mostrar %t em %s.", + ], "Listing columns number" => [ 0 => "Número de colunas Listando", ], @@ -2829,9 +2670,6 @@ $translation_table = [ "Only alphanumerics, hyphens and forward slash" => [ 0 => "Apenas alfanuméricos, hífens e barra", ], - "File path" => [ - 0 => "Caminho de arquivo", - ], "A %f file relative to %s" => [ 0 => "Um %f arquivo relativo para %s", ], @@ -3288,9 +3126,6 @@ $translation_table = [ "Forced privacy modes will override user selected privacy." => [ 0 => "Modos de privacidade forçadas substituirá preferência de privacidade de usuário.", ], - "If the detected IP doesn't match yours it means that your web server is under a proxy. The connecting IP can be set using the HTTP header defined in the environment variable %env% and when not set it fall-back to %var%." => [ - 0 => "Se o IP detectado não corresponder ao seu, significa que seu servidor web está sob um proxy. O IP de conexão pode ser definido usando o cabeçalho HTTP definido na variável de ambiente %env% e, quando não definido, pode ser alterado para %var%.", - ], "Make sure that you address this issue as the system relies on accurate IP detections to provide basic functionalities and to protect against spam, flooding, and brute force attacks." => [ 0 => "Certifique-se de resolver esse problema, pois o sistema depende de detecções de IP precisas para fornecer funcionalidades básicas e proteger contra spam, inundações e ataques de força bruta.", ], @@ -3300,18 +3135,12 @@ $translation_table = [ "%s News" => [ 0 => "%s Notícias", ], - "Installation details" => [ - 0 => "Detalhes da instalação", - ], "Role" => [ 0 => "Papel", ], "Email address" => [ 0 => "Endereço de email", ], - "Play GIF" => [ - 0 => "Abrir GIF", - ], "Load 360° view" => [ 0 => "Carregar visualização 360°", ], @@ -3334,7 +3163,7 @@ $translation_table = [ 0 => "Adicionado a %a em %s %t", ], "Added to %s" => [ - 0 => "Adicionar a %s", + 0 => "Adicionado a %s", ], "Uploaded to %s" => [ 0 => "Enviado para %s", @@ -3360,12 +3189,6 @@ $translation_table = [ "Add IP ban" => [ 0 => "Adicionar banimento de IP", ], - "Upload and share your images." => [ - 0 => "Envie e compartilhe as suas imagens.", - ], - "Drag and drop anywhere you want and start uploading your images now. %s limit. Direct image links, BBCode and HTML thumbnails." => [ - 0 => "Arraste e solte ou cole para começar a enviar suas imagens agora. Limite de %s. Links direto para a imagem, Códigos BB e miniaturas em HTML.", - ], "Sign up to unlock all the features" => [ 0 => "Registre-se para desbloquear todas as funcionalidades do site", ], @@ -3399,9 +3222,6 @@ $translation_table = [ "Unlock" => [ 0 => "Desbloquear", ], - "Add image uploading to your website, blog or forum by installing our upload plugin. It provides image uploading to any website by placing a button that will allow your users to directly upload images to our service and it will automatically handle the codes needed for insertion. All features included like drag and drop, remote upload, image resizing and more." => [ - 0 => "Adicione o upload da imagem ao seu site, blog ou fórum, instalando nosso plugin de upload. Ele fornece o upload de imagens para qualquer site, colocando um botão que permitirá que seus usuários enviem imagens diretamente para o nosso serviço e ele irá manipular automaticamente os códigos necessários para a inserção. Todos os recursos incluídos como arrastar e soltar, upload remoto, redimensionamento de imagem e muito mais.", - ], "Supported software" => [ 0 => "Software suportado", ], @@ -3471,9 +3291,6 @@ $translation_table = [ "Auto delete uploads" => [ 0 => "Apagar automaticamente os envios", ], - "This setting will apply to all your image uploads by default. You can override this setting on each upload." => [ - 0 => "Essa configuração será aplicada para todos os seus envios de imagens por padrão. Você poderá mudar essa configuração em cada envio.", - ], "Keep image Exif data on upload" => [ 0 => "Manter os dados EXIF no envio", ], @@ -3576,9 +3393,6 @@ $translation_table = [ "This service is based on Chevereto self-hosted edition." => [ 0 => "Este serviço é baseado na edição auto-hospedada do Chevereto.", ], - "Usage of Chevereto Software must be in compliance with the software license terms known as \"The Chevereto License\"." => [ - 0 => "O uso do Software Chevereto deve estar em conformidade com os termos de licença de software conhecidos como \"A Licença Chevereto\".", - ], "This instance is hosted in a service layer not provided by Chevereto Software, which hereby declare to do not have any control nor access to the management layer of this instance and it won't be responsible for this service neither the damages that this service may cause." => [ 0 => "Esta instância está hospedada em uma camada de serviço não fornecida pela Chevereto Software, que declara não ter nenhum controle ou acesso à camada de gerenciamento desta instância e não será responsável por este serviço nem pelos danos que este serviço possa causar .", ], diff --git a/app/.cache/languages/pt.po.cache.php b/app/.cache/languages/pt.po.cache.php index 399a8b8..fed15bf 100644 --- a/app/.cache/languages/pt.po.cache.php +++ b/app/.cache/languages/pt.po.cache.php @@ -1,8 +1,8 @@ 'VERSION', - 'POT-Creation-Date' => '2023-05-22 15:49+0000', - 'PO-Revision-Date' => '2023-05-22 15:49+0000', + 'POT-Creation-Date' => '2024-11-14 15:22+0000', + 'PO-Revision-Date' => '2024-11-14 15:22+0000', 'Last-Translator' => 'FULL NAME ', 'Language-Team' => 'LANGUAGE TEAM ', 'Language' => 'pt', @@ -19,21 +19,39 @@ $translation_table = [ "You have been forbidden to use this website." => [ 0 => "Foi proibido de usar este site.", ], + "Moderate" => [ + 0 => "Moderar", + ], + "View all my images" => [ + 0 => "Ver todas as minhas imagens", + ], "Recent" => [ 0 => "Recente", ], "Trending" => [ 0 => "Popular agora", ], + "Popular" => [ + 0 => "Popular", + ], "Animated" => [ 0 => "Animadas", ], "Request denied" => [ 0 => "Pedido negado", ], + "terms" => [ + 0 => "termos", + ], + "privacy policy" => [ + 0 => "política de privacidade", + ], "That page doesn't exist" => [ 0 => "Esta página não existe", ], + "Page %s" => [ + 0 => "Página %s", + ], "Forgot password?" => [ 0 => "Esqueceu-se da senha?", ], @@ -49,11 +67,14 @@ $translation_table = [ "Awaiting confirmation" => [ 0 => "Aguardando confirmação", ], + "Two-factor authentication" => [ + 0 => "Autenticação de dois factores", + ], "Email changed" => [ 0 => "E-mail alterado", ], "Invalid Username/Email" => [ - 0 => "Nome de usuário inválido / Email", + 0 => "Nome de utilizador/Email inválido", ], "User doesn't have an email." => [ 0 => "O utilizador não tem um e-mail.", @@ -64,6 +85,9 @@ $translation_table = [ "Account already activated" => [ 0 => "Conta activada", ], + "Account banned" => [ + 0 => "Conta banida", + ], "Allow up to 15 minutes for the email. You can try again later." => [ 0 => "Aguarde até 15 minutos pela recepção do e-mail. Poderá tentar novamente mais tarde.", ], @@ -88,6 +112,9 @@ $translation_table = [ "Email already being used" => [ 0 => "Esse e-mail já está a ser utilizado", ], + "Invalid code" => [ + 0 => "Código inválido", + ], "Check the errors in the form to continue." => [ 0 => "Verifique os erros no formulário para continuar.", ], @@ -97,6 +124,9 @@ $translation_table = [ "Embed codes" => [ 0 => "Códigos para Incorporar", ], + "albums" => [ + 0 => "álbuns", + ], "%a album hosted in %w" => [ 0 => "Álbum %a alojado em %w", ], @@ -104,12 +134,6 @@ $translation_table = [ 0 => "imagem", 1 => "imagens", ], - "Stats" => [ - 0 => "Estatísticas", - ], - "Images" => [ - 0 => "Imagens", - ], "Album" => [ 0 => "Álbum", 1 => "Álbuns", @@ -133,8 +157,11 @@ $translation_table = [ "Listings" => [ 0 => "Resultados", ], - "Image upload" => [ - 0 => "Envio de imagem", + "File uploads" => [ + 0 => "Envios de ficheiros", + ], + "Semantics" => [ + 0 => "Semântica", ], "Categories" => [ 0 => "Categorias", @@ -151,8 +178,11 @@ $translation_table = [ "Email" => [ 0 => "E-mail", ], - "External storage" => [ - 0 => "Alojamento externo", + "Tools" => [ + 0 => "Ferramentas", + ], + "Logo" => [ + 0 => "Logo", ], "Homepage" => [ 0 => "Página principal", @@ -160,11 +190,23 @@ $translation_table = [ "Pages" => [ 0 => "Páginas", ], + "Consent screen" => [ + 0 => "Janela de consentimento", + ], + "Guests %s" => [ + 0 => "Convidados %s", + ], + "External storage" => [ + 0 => "Alojamento externo", + ], + "Routing" => [ + 0 => "Redireccionamento", + ], "External services" => [ 0 => "Serviços externos", ], "Flood protection" => [ - 0 => "Protecção contra as inundações", + 0 => "Protecção contra abuso", ], "IP bans" => [ 0 => "Banimentos por IP", @@ -172,57 +214,41 @@ $translation_table = [ "Watermarks" => [ 0 => "Marcas de água", ], - "Documentation" => [ - 0 => "Documentação", - ], "Support" => [ - 0 => "Suport", - ], - "Community" => [ - 0 => "Comunidade", + 0 => "Suporte", ], "install update" => [ 0 => "Instalar actualização", ], + "Stats" => [ + 0 => "Estatísticas", + ], "Rebuild stats" => [ 0 => "Estatísticas de reconstrução", ], "Not your IP?" => [ 0 => "Não é o seu IP?", ], - "PHP version" => [ - 0 => "Versão do PHP", - ], - "Server" => [ - 0 => "Servidor", - ], - "MySQL version" => [ - 0 => "Versão do MySQL", - ], - "MySQL server info" => [ - 0 => "Informação do servidor MySQL", - ], - "File uploads" => [ - 0 => "Envios de ficheiros", - ], "Enabled" => [ 0 => "Ativado", ], "Disabled" => [ 0 => "Desactivado", ], - "Max. execution time" => [ - 0 => "Tempo máximo de execução", + "Releases" => [ + 0 => "Lançamentos", ], - "%d second" => [ - 0 => "%d segundo", - 1 => "%d segundos", + "Community" => [ + 0 => "Comunidade", ], - "Memory limit" => [ - 0 => "Limite de memória", + "Cron last ran" => [ + 0 => "Última execução do agendamento", ], - "External" => [ - 0 => "Externo", + "PHP version" => [ + 0 => "Versão do PHP", + ], + "Server" => [ + 0 => "Servidor", ], "All" => [ 0 => "Todas", @@ -230,33 +256,15 @@ $translation_table = [ "search content" => [ 0 => "conteúdo de pesquisa", ], - "Before pagination" => [ - 0 => "Antes de paginação", - ], - "After pagination" => [ - 0 => "Depois de paginação", - ], - "Before comments" => [ - 0 => "Antes dos comentários", - ], - "Image page" => [ - 0 => "Página da imagem", - ], - "Inside viewer top (image page)" => [ - 0 => "Topo da página para visualizar a imagem", - ], - "Footer (image page)" => [ - 0 => "Rodapé (página imagem)", - ], - "User profile page" => [ - 0 => "Página de perfil do utilizador", - ], - "After top (user profile)" => [ - 0 => "Depois de topo (perfil do utlizador)", - ], "Explore" => [ 0 => "Explorar", ], + "After top (%s page)" => [ + 0 => "Depois do topo (%s página)", + ], + "NSFW" => [ + 0 => "18+", + ], "Invalid website name" => [ 0 => "Nome da página inválido", ], @@ -266,6 +274,9 @@ $translation_table = [ "Invalid timezone" => [ 0 => "Fuso horário inválido", ], + "Invalid value: %s" => [ + 0 => "Valor inválido: %s", + ], "Invalid thumb width" => [ 0 => "largura da miniatura inválida", ], @@ -278,45 +289,6 @@ $translation_table = [ "Invalid value" => [ 0 => "Valor inválido", ], - "Invalid theme image listing size" => [ - 0 => "Tamanho para os resultados do tema inválido", - ], - "Invalid user id" => [ - 0 => "ID de usuário Inválido", - ], - "Invalid email mode" => [ - 0 => "Modo de e-mail inválido", - ], - "Invalid SMTP port" => [ - 0 => "Porta SMTP inválida", - ], - "Invalid SMTP security" => [ - 0 => "Segurança inválida SMTP ", - ], - "Invalid website mode" => [ - 0 => "Modo de website inválido", - ], - "Invalid website content privacy mode" => [ - 0 => "modo de conteúdo do site privacidade inválido", - ], - "Invalid homepage style" => [ - 0 => "Estilo da página principal inválido", - ], - "Invalid URL" => [ - 0 => "URL inválido", - ], - "Invalid upload image path" => [ - 0 => "Caminho para o envio de imagens inválido", - ], - "Max. allowed %s" => [ - 0 => "Máximo permitido %s", - ], - "Invalid SMTP server" => [ - 0 => "Servidor SMTP inválido", - ], - "Invalid SMTP username" => [ - 0 => "Nome de usuário SMTP inválido", - ], "Dashboard" => [ 0 => "Administração", ], @@ -338,21 +310,6 @@ $translation_table = [ "Image %i hosted in %w" => [ 0 => "Imagem %i alojada em %w", ], - "Direct links" => [ - 0 => "Links Diretos", - ], - "Image link" => [ - 0 => "Link da imagem", - ], - "Image URL" => [ - 0 => "URL da imagem", - ], - "Thumbnail URL" => [ - 0 => "URL Thumbnail", - ], - "Medium URL" => [ - 0 => "URL Médio", - ], "Login needed" => [ 0 => "Necessário iniciar sessão", ], @@ -363,9 +320,6 @@ $translation_table = [ "Category" => [ 0 => "Categoria", ], - "IP address already banned" => [ - 0 => "Endereço de IP já banido", - ], "Missing values" => [ 0 => "Valores em falta", ], @@ -378,6 +332,9 @@ $translation_table = [ "Username already being used" => [ 0 => "Nome de utilizador já está a ser utilizado", ], + "IP address already banned" => [ + 0 => "Endereço de IP já banido", + ], "%s has been disconnected." => [ 0 => "%s foi desconectado.", ], @@ -441,6 +398,9 @@ $translation_table = [ "User ID" => [ 0 => "ID de utilizador", ], + "Images" => [ + 0 => "Imagens", + ], "Register date" => [ 0 => "Data de registo", ], @@ -563,7 +523,7 @@ $translation_table = [ 0 => "%s atrás", ], "moments ago" => [ - 0 => "à momentos atrás", + 0 => "há poucos segundos", ], "Random" => [ 0 => "Aleatório", @@ -619,27 +579,24 @@ $translation_table = [ "Error deleting profile background image." => [ 0 => "Erro apagar imagem de fundo do perfil", ], - "Update available v%s" => [ - 0 => "Actualização disponível v%s", - ], - "Like" => [ - 0 => "Gostar", - ], "Create album" => [ 0 => "Criar álbum", ], - "Edit" => [ - 0 => "Editar", - ], "Delete" => [ 0 => "Eliminar", ], - "Previous" => [ - 0 => "Anterior", + "Edit" => [ + 0 => "Editar", + ], + "Like" => [ + 0 => "Gostar", ], "Next" => [ 0 => "Próximo", ], + "Previous" => [ + 0 => "Anterior", + ], "File too big." => [ 0 => "Ficheiro muito grande.", ], @@ -652,9 +609,6 @@ $translation_table = [ "%s's Albums" => [ 0 => "Álbuns de %s", ], - "Image edited successfully." => [ - 0 => "Imagem editada com sucesso.", - ], "private" => [ 0 => "Privado", ], @@ -787,9 +741,6 @@ $translation_table = [ "This email was sent from %w %u" => [ 0 => "Este e-mail foi enviado por %w %u", ], - "Select the images to upload" => [ - 0 => "Selecionar as imagens para envio", - ], "complete" => [ 0 => "completo", ], @@ -829,36 +780,12 @@ $translation_table = [ "Description" => [ 0 => "Descrição", ], - "Add image URLs" => [ - 0 => "Adicionar URLs de imagem", - ], - "Add the image URLs here" => [ - 0 => "Adicione os URLs de imagem aqui", - ], "Error report" => [ 0 => "Relatório de erro", ], "Direct" => [ 0 => "Directo", ], - "HTML Codes" => [ - 0 => "Códigos HTML", - ], - "HTML medium linked" => [ - 0 => "HTML médio", - ], - "HTML thumbnail linked" => [ - 0 => "HTML da miniatura", - ], - "BBCode medium linked" => [ - 0 => "Código BBCode do tamanho médio", - ], - "BBCode thumbnail linked" => [ - 0 => "Código BBCode da miniatura", - ], - "Viewer links" => [ - 0 => "Ver links", - ], "All these words" => [ 0 => "Todas estas palavras", ], @@ -991,6 +918,9 @@ $translation_table = [ "There's nothing to show here." => [ 0 => "Não há nada para ver aqui.", ], + "Selection will be assigned to %t." => [ + 0 => "A selecção vai ser atribuída a %t.", + ], "There is no categories." => [ 0 => "Não existem categorias.", ], @@ -1162,6 +1092,33 @@ $translation_table = [ "Disk used" => [ 0 => "Espaço usado", ], + "Enable uploads" => [ + 0 => "Activar envios", + ], + "Guest uploads" => [ + 0 => "Envios de visitantes", + ], + "Enable this if you want to allow non registered users to upload." => [ + 0 => "Ative isto se quiser permitir que os utilizadores não registados façam envios.", + ], + "Relative to Chevereto root" => [ + 0 => "Relativo ao root do Chevereto", + ], + "Storage mode" => [ + 0 => "Modo de armazenamento", + ], + "Datefolders creates %s structure" => [ + 0 => "Datefolders cria %s estrutura", + ], + "File naming method" => [ + 0 => "Método de nomeação do arquivo", + ], + "Thumb size" => [ + 0 => "Tamanho da miniatura", + ], + "Thumbnails will be fixed to this size." => [ + 0 => "As miniaturas serão ajustadas para este tamanho.", + ], "Notify to email" => [ 0 => "Notificar para o e-mail", ], @@ -1207,39 +1164,6 @@ $translation_table = [ "Default" => [ 0 => "Padrão", ], - "Enable uploads" => [ - 0 => "Activar envios", - ], - "Guest uploads" => [ - 0 => "Envios de visitantes", - ], - "Enable this if you want to allow non registered users to upload." => [ - 0 => "Ative isto se quiser permitir que os utilizadores não registados façam envios.", - ], - "Image path" => [ - 0 => "Caminho da imagem", - ], - "Relative to Chevereto root" => [ - 0 => "Relativo ao root do Chevereto", - ], - "Where to store the images? Relative to Chevereto root." => [ - 0 => "Onde alojar as imagens? Relativo ao root do Chevereto.", - ], - "Storage mode" => [ - 0 => "Modo de armazenamento", - ], - "Datefolders creates %s structure" => [ - 0 => "Datefolders cria %s estrutura", - ], - "File naming method" => [ - 0 => "Método de nomeação do arquivo", - ], - "Thumb size" => [ - 0 => "Tamanho da miniatura", - ], - "Thumbnails will be fixed to this size." => [ - 0 => "As miniaturas serão ajustadas para este tamanho.", - ], "Expires" => [ 0 => "Expira", ], @@ -1475,14 +1399,11 @@ $translation_table = [ 0 => "Endereço de email", ], "Added to %s" => [ - 0 => "Adicionar a %s", + 0 => "Adicionado a %s", ], "Add IP ban" => [ 0 => "Adicionar banimento de IP", ], - "Upload and share your images." => [ - 0 => "Envie e compartilhe as suas imagens.", - ], "Sign up to unlock all the features" => [ 0 => "Registre-se agora Grátis", ], diff --git a/app/.cache/languages/vi.po.cache.php b/app/.cache/languages/vi.po.cache.php index 055f1bc..0a26aee 100644 --- a/app/.cache/languages/vi.po.cache.php +++ b/app/.cache/languages/vi.po.cache.php @@ -1,8 +1,8 @@ 'VERSION', - 'POT-Creation-Date' => '2024-05-07 15:11+0000', - 'PO-Revision-Date' => '2024-05-07 15:11+0000', + 'POT-Creation-Date' => '2024-11-14 15:22+0000', + 'PO-Revision-Date' => '2024-11-14 15:22+0000', 'Last-Translator' => 'FULL NAME ', 'Language-Team' => 'LANGUAGE TEAM ', 'Language' => 'vi', @@ -26,7 +26,7 @@ $translation_table = [ 0 => "Xem tất cả ảnh của tôi", ], "Feel free to browse and discover all my shared images and albums." => [ - 0 => "Cứ thoải mái khám phá tất cả ảnh và album tôi đã chia sẻ công khai.", + 0 => "Hãy thoải mái duyệt và khám phá tất cả hình ảnh và album đã chia sẻ của tôi.", ], "Recent" => [ 0 => "Gần đây", @@ -37,6 +37,9 @@ $translation_table = [ "Popular" => [ 0 => "Phổ biến", ], + "Videos" => [ + 0 => "Videos", + ], "Animated" => [ 0 => "Ảnh động", ], @@ -80,7 +83,7 @@ $translation_table = [ 0 => "Xác thực hai lớp", ], "Email changed" => [ - 0 => "Email đã đổi", + 0 => "Đã thay đổi email", ], "%s says you are a robot" => [ 0 => "%s cho rằng bạn là robot", @@ -95,7 +98,7 @@ $translation_table = [ 0 => "Phải kích hoạt tài khoản để dùng tính năng này", ], "Account already activated" => [ - 0 => "Tài khoản đã được kích hoạt", + 0 => "Tài khoản đã được kích hoạt rồi", ], "Account banned" => [ 0 => "Tài khoản đã bị cấm", @@ -113,16 +116,16 @@ $translation_table = [ 0 => "Chào mừng %s", ], "Invalid password" => [ - 0 => "Sai mật khẩu", + 0 => "Mật khẩu không hợp lệ", ], "Passwords don't match" => [ - 0 => "Mật khẩu không khớp", + 0 => "Mật khẩu không chính xác", ], "Invalid email" => [ 0 => "Email không hợp lệ", ], "Email already being used" => [ - 0 => "Email đã được sử dụng", + 0 => "Email này đã được sử dụng", ], "Invalid code" => [ 0 => "Mã không hợp lệ", @@ -131,13 +134,13 @@ $translation_table = [ 0 => "Hãy kiểm tra lại các lỗi trong biểu mẫu để tiếp tục.", ], "Password required" => [ - 0 => "Yêu cầu mật khẩu", + 0 => "Yêu cầu nhập mật khẩu", ], "Embed codes" => [ 0 => "Mã nhúng", ], "albums" => [ - 0 => "album", + 0 => "albums", ], "Sub %s" => [ 0 => "%s phụ", @@ -154,6 +157,9 @@ $translation_table = [ "Home" => [ 0 => "Trang chủ", ], + "File" => [ + 0 => "Nội dung", + ], "Album" => [ 0 => "Albums", ], @@ -179,7 +185,7 @@ $translation_table = [ 0 => "Danh sách", ], "File uploads" => [ - 0 => "Tải lên tệp", + 0 => "Tải tệp lên", ], "Semantics" => [ 0 => "Thuật ngữ", @@ -236,7 +242,7 @@ $translation_table = [ 0 => "Tuân thủ quy định về cookie", ], "Flood protection" => [ - 0 => "Chống spam hình ảnh", + 0 => "Chống upload quá nhiều", ], "Banners" => [ 0 => "Quảng cáo", @@ -250,17 +256,29 @@ $translation_table = [ "Upgrade now" => [ 0 => "Nâng cấp ngay", ], + "The latest release will be downloaded and extracted in the filesystem." => [ + 0 => "Bản phát hành mới nhất sẽ được tải xuống và giải nén vào trong hệ thống", + ], + "License key" => [ + 0 => "Mã bản quyền", + ], "Support" => [ 0 => "Hỗ trợ", ], "install update" => [ 0 => "cài đặt cập nhật", ], + "Check upgrades" => [ + 0 => "Kiểm tra nâng cấp mới", + ], "not running" => [ 0 => "không chạy", ], + "PHP function [%s] not available in this PHP installation" => [ + 0 => "Chức năng PHP [%s] không khả dụng trong cài đặt PHP này", + ], "Max. upload file size" => [ - 0 => "Kích thước tệp tải lên tối đa", + 0 => "Kích thước tệp tối đa", ], "Graphics library" => [ 0 => "Thư viện đồ hoạ", @@ -269,7 +287,7 @@ $translation_table = [ 0 => "Thống kê", ], "Rebuild stats" => [ - 0 => "Xây dựng lại số liệu thống kê", + 0 => "Tính toán lại số liệu thống kê", ], "Connecting IP" => [ 0 => "Địa chỉ IP kết nối", @@ -286,17 +304,29 @@ $translation_table = [ "Disabled" => [ 0 => "Đã tắt", ], + "Meta" => [ + 0 => "Meta", + ], + "Blog" => [ + 0 => "Blog", + ], + "Docs" => [ + 0 => "Tài liệu", + ], "Releases" => [ 0 => "Bản phát hành", ], + "Chat" => [ + 0 => "Chat", + ], "Community" => [ 0 => "Cộng đồng", ], "Links" => [ - 0 => "Đường dẫn", + 0 => "Liên kết", ], "Cron last ran" => [ - 0 => "Cron lần cuối", + 0 => "Lần cuối chạy Cron", ], "PHP version" => [ 0 => "Phiên bản PHP", @@ -319,6 +349,12 @@ $translation_table = [ "Homepage cover image deleted" => [ 0 => "Đã xoá ảnh bìa trang chủ", ], + "Local" => [ + 0 => "Cục bộ", + ], + "External" => [ + 0 => "Bên ngoài", + ], "All" => [ 0 => "Tất cả", ], @@ -328,6 +364,9 @@ $translation_table = [ "Add page" => [ 0 => "Thêm trang", ], + "Edit page ID %s" => [ + 0 => "Chỉnh sửa trang ID %s", + ], "The page has been added successfully." => [ 0 => "Đã thêm trang thành công", ], @@ -337,8 +376,74 @@ $translation_table = [ "homepage" => [ 0 => "trang chủ", ], + "Before main title (%s)" => [ + 0 => "Phía trước tiêu đề chính (%s)", + ], + "After call to action (%s)" => [ + 0 => "Phía sau nút CTA (%s)", + ], + "After cover (%s)" => [ + 0 => "Phía sau ảnh bìa (%s)", + ], + "After listing (%s)" => [ + 0 => "Phía sau danh sách (%s)", + ], + "Before pagination" => [ + 0 => "Phía trước phân trang", + ], + "After pagination" => [ + 0 => "Phía sau phân trang", + ], + "Content (image and album)" => [ + 0 => "Nội dung (trong ảnh và album)", + ], + "Tab about column" => [ + 0 => "Cột thông tin", + ], + "Before comments" => [ + 0 => "Phía trước mục bình luận", + ], + "Image page" => [ + 0 => "Trang xem hình ảnh", + ], + "Inside viewer top (image page)" => [ + 0 => "Đầu trình xem ảnh (trang hình ảnh)", + ], + "Inside viewer foot (image page)" => [ + 0 => "Chân trình xem ảnh (trang hình ảnh)", + ], + "After image viewer (image page)" => [ + 0 => "Sau trình xem ảnh (trang hình ảnh)", + ], + "Before header (image page)" => [ + 0 => "Trước trình xem ảnh (trang hình ảnh)", + ], + "After header (image page)" => [ + 0 => "Sau header (trang hình ảnh)", + ], + "Footer (image page)" => [ + 0 => "Footer (trang hình ảnh)", + ], + "%s page" => [ + 0 => "Trang %s", + ], + "Before header (%s page)" => [ + 0 => "Trước header (trang %s)", + ], + "After header (%s page)" => [ + 0 => "Sau header (trang %s)", + ], + "User profile page" => [ + 0 => "Trang cá nhân thành viên", + ], + "After top (user profile)" => [ + 0 => "Sau đầu trang (trang cá nhân)", + ], + "Before listing (user profile)" => [ + 0 => "Trước danh sách (trang cá nhân)", + ], "Explore" => [ - 0 => "Khám phá ảnh", + 0 => "Khám phá", ], "After top (%s page)" => [ 0 => "Sau phần đầu trang (trang %s)", @@ -347,43 +452,43 @@ $translation_table = [ 0 => "Ảnh nhạy cảm", ], "Invalid website name" => [ - 0 => "Tên web bị sai", + 0 => "Tên web không hợp lệ", ], "Invalid language" => [ - 0 => "Sai ngôn ngữ", + 0 => "Ngôn ngữ không hợp lệ", ], "Invalid timezone" => [ - 0 => "Sai múi giờ", + 0 => "Múi giờ không hợp lệ", ], "Invalid value: %s" => [ 0 => "Giá trị không hợp lệ: %s", ], "Invalid upload storage mode" => [ - 0 => "Sai chế độ lưu trữ", + 0 => "Chế độ lưu trữ không hợp lệ", ], "Invalid upload filenaming" => [ - 0 => "Đặt tên upload sai", + 0 => "Tên tệp tải lên không hợp lệ", ], "Invalid thumb width" => [ - 0 => "Chiều rộng hình thu nhỏ bị sai", + 0 => "Hình thu nhỏ có chiều rộng không hợp lệ", ], "Invalid thumb height" => [ - 0 => "Chiều cao hình thu nhỏ bị sai", + 0 => "Hình thu nhỏ có chiều cao không hợp lệ", ], "Invalid medium size" => [ - 0 => "Kích thước ảnh trung bình không hợp lệ", + 0 => "Kích thước ảnh cỡ vừa không hợp lệ", ], "Invalid watermark percentage" => [ - 0 => "Phần trăm kích thước đóng dấu không hợp lệ", + 0 => "Tỷ lệ watermark không hợp lệ.", ], "Invalid watermark opacity" => [ - 0 => "Chỉ số trong suốt của đóng dấu không hợp lệ", + 0 => "Giá trị độ mờ của watermark không hợp lệ", ], "Invalid theme" => [ - 0 => "Sai giao diện", + 0 => "Giao diện không hợp lệ", ], "Invalid value" => [ - 0 => "Sai giá trị", + 0 => "Giá trị không hợp lệ", ], "font" => [ 0 => "phông chữ", @@ -394,6 +499,51 @@ $translation_table = [ "palette" => [ 0 => "bảng màu", ], + "Invalid theme image listing size" => [ + 0 => "Kích thước hiển thị hình ảnh của chủ đề không phù hợp.", + ], + "Invalid user id" => [ + 0 => "User id không hợp lệ", + ], + "Invalid email mode" => [ + 0 => "Chế độ gửi email không hợp lệ", + ], + "Invalid SMTP port" => [ + 0 => "Cổng SMTP không hợp lệ", + ], + "Invalid SMTP security" => [ + 0 => "Cài đặt bảo mật SMTP không hợp lệ", + ], + "Invalid website mode" => [ + 0 => "Chế độ vận hành trang web không hợp lệ", + ], + "Invalid personal mode user ID" => [ + 0 => "User ID của chế độ cá nhân không hợp lệ.", + ], + "Invalid or reserved route" => [ + 0 => "Định tuyến không hợp lệ hoặc đã được sử dụng", + ], + "Invalid website privacy mode" => [ + 0 => "Chế độ bảo mật trang web không hợp lệ", + ], + "Invalid website content privacy mode" => [ + 0 => "Chế độ bảo mật nội dung trang web không hợp lệ", + ], + "Invalid homepage style" => [ + 0 => "Phong cách trang chủ không hợp lệ", + ], + "Invalid homepage call to action button color" => [ + 0 => "Màu sắc của nút CTA trên trang chủ không hợp lệ", + ], + "Invalid homepage call to action functionality" => [ + 0 => "Chức năng nút CTA trên trang chủ không hợp lệ", + ], + "Invalid title" => [ + 0 => "Tiêu đề không hợp lệ", + ], + "Invalid status" => [ + 0 => "Trạng thái không hợp lệ", + ], "Invalid type" => [ 0 => "Loại không hợp lệ", ], @@ -401,7 +551,7 @@ $translation_table = [ 0 => "Chế độ hiển thị không hợp lệ", ], "Invalid internal type" => [ - 0 => "Loại nội bộ không hợp lệ", + 0 => "Kiểu nội bộ không hợp lệ", ], "Invalid target attribute" => [ 0 => "Thuộc tính target không hợp lệ", @@ -433,8 +583,44 @@ $translation_table = [ "Invalid key" => [ 0 => "Khoá không hợp lệ", ], + "Routes can't be the same" => [ + 0 => "Các mục định tuyến không thể giống nhau", + ], + "Invalid upload image path" => [ + 0 => "Đường dẫn upload không hợp lệ", + ], + "Invalid call to action URL" => [ + 0 => "Liên kết CTA không hợp lệ", + ], + "Max. allowed %s" => [ + 0 => "Cho phép tối đa %s", + ], + "Can't map %m to an existing folder (%f)" => [ + 0 => "Không thể gán %m vào thư mục (%f) đã tồn tại", + ], + "Can't map %m to an existing route (%r)" => [ + 0 => "Không thể gán %m vào tuyến (%r) đã tồn tại", + ], + "Can't map %m to %r (username collision)" => [ + 0 => "Không thể gán %m vào %r (xung đột username)", + ], + "Invalid SMTP server" => [ + 0 => "Máy chủ SMTP không hợp lệ", + ], + "Invalid SMTP username" => [ + 0 => "SMTP username không hợp lệ", + ], + "This URL key is already being used by another page (ID %s)" => [ + 0 => "Khoá URL này đã được sử dụng trên trang khác (ID %s)", + ], + "This file path is already being used by another page (ID %s)" => [ + 0 => "Đường dẫn này đã được sử dụng trên trang khác (ID %s)", + ], + "Can't save page contents: %s." => [ + 0 => "Không thể lưu nội dung trang: %s.", + ], "Dashboard" => [ - 0 => "Bảng chính", + 0 => "Trang quản lý", ], "Following" => [ 0 => "Đang theo dõi", @@ -452,19 +638,19 @@ $translation_table = [ 0 => "Ngày tải lên", ], "Image %i in %a album" => [ - 0 => "ảnh %i trong %a album", + 0 => "ảnh %i trong album %a", ], "Image %i in %c category" => [ - 0 => "Ảnh %i trong %c chuyên mục", + 0 => "Ảnh %i trong danh mục %c", ], "Image %i hosted in %w" => [ - 0 => "Ảnh %i lưu trữ tại %w", + 0 => "Ảnh %i được lưu trữ tại %w", ], "Start uploading" => [ 0 => "Bắt đầu upload", ], "Login needed" => [ - 0 => "Cần đăng nhập", + 0 => "Cần phải đăng nhập", ], "Image" => [ 0 => "Ảnh", @@ -476,22 +662,22 @@ $translation_table = [ 0 => "Đã sửa %s", ], "Category" => [ - 0 => "Danh sách", + 0 => "Danh mục", ], "%s URL key already being used." => [ - 0 => "URL %s đã được sử dụng", + 0 => "Khoá URL %s đã được sử dụng", ], "Missing values" => [ - 0 => "Thiếu dữ liệu", + 0 => "Thiếu giá trị", ], "Invalid username" => [ - 0 => "Sai tên tài khoản", + 0 => "Tên tài khoản không hợp lệ", ], "Invalid role" => [ 0 => "Vai trò không hợp lệ", ], "Username already being used" => [ - 0 => "Tên tài khoản đã có người sử dụng", + 0 => "Tên tài khoản đã được sử dụng", ], "%s added" => [ 0 => "Đã thêm %s", @@ -503,13 +689,13 @@ $translation_table = [ 0 => "Không tìm thấy %s", ], "Add a password or another social connection before deleting %s" => [ - 0 => "Nhập mật khẩu hoặc kết nối mạng xã hội khác trước khi xoá %s", + 0 => "Cần phải thêm mật khẩu hoặc kết nối mạng xã hội khác trước khi xoá %s", ], "Add an email or another social connection before deleting %s" => [ - 0 => "Nhập email hoặc kết nối mạng xã hội khác trước khi xoá %s", + 0 => "Cần phải thêm email hoặc kết nối mạng xã hội khác trước khi xoá %s", ], "%s has been disconnected." => [ - 0 => "%s đã bị ngắt", + 0 => "Đã ngắt kết nối tới %s.", ], "Test email from %s @ %t" => [ 0 => "Email kiểm tra từ %s @ %t", @@ -536,22 +722,31 @@ $translation_table = [ 0 => "Đã cập nhật ảnh bìa của %s", ], "Content liked" => [ - 0 => "Đã like", + 0 => "Nội dung đã thích", ], "Content disliked" => [ - 0 => "Đã disliked", + 0 => "Nội dung không thích", ], "%u liked your %t %c" => [ 0 => "%u đã thích %t %c của bạn", ], "%u is now following you" => [ - 0 => "%u quan tâm ảnh của bạn", + 0 => "%u đã theo dõi bạn", ], "A private user" => [ - 0 => "Người dùng RIêng tư", + 0 => "Người dùng ẩn danh", + ], + "Chevereto V%s license key used, required V%r or greater license key" => [ + 0 => "Khóa bản quyền Chevereto V%s đã được sử dụng, yêu cầu khóa giấy phép V%r hoặc cao hơn", + ], + "License key removed" => [ + 0 => "Đã xoá khoá bản quyền", + ], + "License key updated" => [ + 0 => "Đã cập nhật khoá bản quyền", ], "Wrong Username/Email password combination" => [ - 0 => "Tên người dùng hoặc mật khẩu bị sai", + 0 => "Sai tên tài khoản hoặc mật khẩu", ], "Sign in" => [ 0 => "Đăng nhập", @@ -569,7 +764,7 @@ $translation_table = [ 0 => "Tài khoản", ], "Profile" => [ - 0 => "Hồ sơ cá nhân", + 0 => "Trang cá nhân", ], "Password" => [ 0 => "Mật khẩu", @@ -584,16 +779,16 @@ $translation_table = [ 0 => "Được cung cấp bởi", ], "Invalid image expiration: %s" => [ - 0 => "Hạn xoá hình ảnh không hợp lệ: %s", + 0 => "Ngày hết hạn của hình ảnh không hợp lệ: %s", ], "An email has been sent to %s with instructions to activate this email" => [ 0 => "Một email đã được gửi đến %s với hướng dẫn kích hoạt", ], "Invalid name" => [ - 0 => "Sai tên", + 0 => "Tên không hợp lệ", ], "Invalid website" => [ - 0 => "Sai trang web", + 0 => "Trang web không hợp lệ", ], "Spam detected" => [ 0 => "Phát hiện Spam", @@ -602,7 +797,7 @@ $translation_table = [ 0 => "Sai mật khẩu", ], "Use a new password" => [ - 0 => "Cần dùng mật khẩu mới", + 0 => "Tạo mật khẩu mới", ], "Changes have been saved." => [ 0 => "Đã lưu thay đổi", @@ -614,10 +809,10 @@ $translation_table = [ 0 => "Đã tạo mật khẩu", ], "Wrong Username/Email values" => [ - 0 => "Tên người dùng/Email không chính xác", + 0 => "Tên người dùng/Email không hợp lệ", ], "Settings for %s" => [ - 0 => "Thiết lập cho %s", + 0 => "Cài đặt %s", ], "Username" => [ 0 => "Tên tài khoản", @@ -647,7 +842,7 @@ $translation_table = [ 0 => "Bạn phải đồng ý với các điều khoản và chính sách bảo mật", ], "You must be at least %s years old to use this website." => [ - 0 => "Bạn phải có ít nhất %s tuổi để sử dụng website này", + 0 => "Bạn phải đủ %s tuổi để sử dụng website này", ], "Create account" => [ 0 => "Đăng kí", @@ -662,7 +857,7 @@ $translation_table = [ 0 => "Albums", ], "Liked by %s" => [ - 0 => "Được thích bởi %s", + 0 => "Đã thích bởi %s", ], "Liked" => [ 0 => "Đã thích", @@ -674,7 +869,7 @@ $translation_table = [ 0 => "%t đang theo dõi %s", ], "Followers" => [ - 0 => "Người quan tâm", + 0 => "Người theo dõi", ], "Search results for %s" => [ 0 => "Kết quả tìm kiếm của %s", @@ -695,10 +890,10 @@ $translation_table = [ 0 => "Vô danh", ], "Note: This content is private but anyone with the link will be able to see this." => [ - 0 => "Lưu ý: Nội dung này là riêng tư, nhưng bất kỳ ai có địa chỉ liên kết đều sẽ có thể vào xem.", + 0 => "Lưu ý: Nội dung này là riêng tư nhưng bất kỳ ai có liên kết đều có thể xem được.", ], "Note: This content is password protected. Remember to pass the content password to share." => [ - 0 => "Lưu ý: Nội dung này được bảo vệ bằng mật khẩu. Hãy nhớ cho mật khẩu của nội dung khi chia sẻ.", + 0 => "Lưu ý: Nội dung này được bảo vệ bằng mật khẩu. Hãy nhớ cung cấp mật khẩu để chia sẻ nội dung này", ], "Note: This content is private. Change privacy to \"public\" to share." => [ 0 => "Nội dung này ở chế độ riêng tư. Đổi sang chế độ \"công khai\" để chia sẻ.", @@ -725,7 +920,7 @@ $translation_table = [ 0 => "phút", ], "hour" => [ - 0 => "giờ", + 0 => "tiếng", ], "day" => [ 0 => "ngày", @@ -740,13 +935,13 @@ $translation_table = [ 0 => "năm", ], "Don't autodelete" => [ - 0 => "Đừng tự động xoá", + 0 => "Không tự động xoá", ], "Can't open %s for writing" => [ 0 => "Không thể mở %s để sửa", ], "Duplicated upload" => [ - 0 => "Upload trùng", + 0 => "Nội dung trùng lặp", ], "Private upload" => [ 0 => "Đăng ảnh bí mật", @@ -779,28 +974,28 @@ $translation_table = [ 0 => "người lớn", ], "teen" => [ - 0 => "thanh niên", + 0 => "thiếu niên", ], "Content of type %s is forbidden" => [ 0 => "Nội dung thuộc thể loại %s bị cấm", ], "Can't create %s destination dir" => [ - 0 => "Không thể tạo %s đường dẫn đích", + 0 => "Không thể tạo đường dẫn đích %s", ], "Internal" => [ 0 => "Nội bộ", ], "Storage capacity can't be lower than its current usage (%s)." => [ - 0 => "Dung lượng lưu trữ không thể thấp hơn hiện tại đang sử dụng (%s)", + 0 => "Dung lượng lưu trữ không thể thấp hơn dung lượng sử dụng hiện tại (%s).", ], "Unlimited" => [ 0 => "Không giới hạn", ], "used" => [ - 0 => "đã dùng", + 0 => "đã sử dụng", ], "Private profile" => [ - 0 => "Hồ sơ bí mật", + 0 => "Trang cá nhân bí mật", ], "Share" => [ 0 => "Chia sẻ", @@ -812,10 +1007,10 @@ $translation_table = [ 0 => "chính sách cookie", ], "We use our own and third party cookies to improve your browsing experience and our services. If you continue using our website is understood that you accept this %cookie_policy_link." => [ - 0 => "Chúng tôi sử dụng cookie của mình và các bên thứ ba để tối ưu hoá trải nghiệm người dùng của bạn cũng như các dịch vụ của mình. Nếu bạn tiếp tục truy cập website, đồng nghĩa với việc bạn hiểu và chấp nhận %cookie_policy_link.", + 0 => "Chúng tôi sử dụng cookie của chính mình và bên thứ ba nhằm cải thiện trải nghiệm duyệt web và nâng cao chất lượng dịch vụ. Nếu bạn tiếp tục sử dụng trang web của chúng tôi, điều đó đồng nghĩa với việc bạn đồng ý với chính sách cookie %cookie_policy_link.", ], "I understand" => [ - 0 => "Tôi hiểu", + 0 => "Tôi đã hiểu", ], "second" => [ 0 => "giây", @@ -824,7 +1019,7 @@ $translation_table = [ 0 => "cách đây %s", ], "moments ago" => [ - 0 => "mới đây", + 0 => "vừa xong", ], "There is an update available for your system." => [ 0 => "Hệ thống của bạn có bản cập nhật mới.", @@ -857,7 +1052,7 @@ $translation_table = [ 0 => "Khám phá", ], "Random" => [ - 0 => "Hình ngẫu nhiên", + 0 => "Nội dung ngẫu nhiên", ], "Close" => [ 0 => "Đóng", @@ -875,7 +1070,7 @@ $translation_table = [ 0 => "đang tải", ], "You don't have notifications" => [ - 0 => "Bạn chưa có thông báo nào", + 0 => "Bạn không có thông báo nào", ], "My Profile" => [ 0 => "Thông tin cá nhân", @@ -890,7 +1085,7 @@ $translation_table = [ 0 => "Người kiểm duyệt", ], "Sign out" => [ - 0 => "Thoát", + 0 => "Đăng xuất", ], "You must enter the album name." => [ 0 => "Bạn phải đặt tên album.", @@ -899,37 +1094,52 @@ $translation_table = [ 0 => "Xác nhận", ], "The content has been approved." => [ - 0 => "Nội dung đã được phê duyệt.", + 0 => "Nội dung đã được chấp thuận.", ], "Select existing album" => [ 0 => "Chọn album sẵn có", ], "An error occurred. Please try again later." => [ - 0 => "Có lỗi xảy ra, hãy quay lại sau.", + 0 => "Có lỗi xảy ra, hãy thử lại sau.", ], "Please select a valid image file type." => [ - 0 => "Hãy chọn loại ảnh phù hợp", + 0 => "Vui lòng chọn đúng định dạng ảnh hợp lệ.", ], "Please select a picture of at most %s size." => [ - 0 => "Hãy chọn dung lượng ảnh tối đa %s", + 0 => "Vui lòng chọn ảnh có kích thước không quá %s.", ], "Profile image updated." => [ - 0 => "Hình đại diện đã cập nhật", + 0 => "Đã cập nhật ảnh đại diện", ], "Profile background image updated." => [ - 0 => "Hình nền cá nhân đã cập nhật.", + 0 => "Đã cập nhật ảnh nền.", ], "Profile background image deleted." => [ - 0 => "Hình nền cá nhân đã xóa.", + 0 => "Đã xoá ảnh nền.", ], "Error deleting profile background image." => [ - 0 => "Xóa hình nền bị lỗi.", + 0 => "Lỗi khi xóa ảnh nền.", + ], + "Chevereto v%s available" => [ + 0 => "Đã có sẵn Chevereto v%s", + ], + "There is a new Chevereto version available with the following release notes." => [ + 0 => "Đã có phiên bản mới của Chevereto với các ghi chú cập nhật sau đây.", + ], + "Check %s for a complete changelog since you last upgrade." => [ + 0 => "Bạn có thể xem toàn bộ thay đổi kể từ lần cập nhật trước tại %s.", ], "documentation" => [ 0 => "tài liệu", ], + "Check the %s for alternative update methods." => [ + 0 => "Hãy kiểm tra mục %s để tìm các phương pháp cập nhật thay thế.", + ], "This website is running latest %s version" => [ - 0 => "Website này đang chạy phiên bản %s mới nhất", + 0 => "Trang web này đang vận hành phiên bản %s mới nhất.", + ], + "Chevereto v%s installed" => [ + 0 => "Đã cài đặt Chevereto v%s", ], "Usage of Chevereto Software must be in compliance with the software license terms known as \"The Chevereto License\"." => [ 0 => "Việc sử dụng Phần mềm Chevereto phải tuân thủ các điều khoản cấp phép phần mềm được gọi là \"Giấy phép Chevereto\".", @@ -938,16 +1148,19 @@ $translation_table = [ 0 => "Thỏa thuận cấp phép", ], "Please review the system requirements before proceeding" => [ - 0 => "Xin hãy kiểm tra yêu cầu hệ thống trước khi tiếp tục", + 0 => "Bạn hãy kiểm tra kỹ các yêu cầu hệ thống trước khi tiếp tục nhé", ], "Get a license at %s to unlock all features and support." => [ - 0 => "Nhận giấy phép tại %s để mở khóa tất cả các tính năng và hỗ trợ.", + 0 => "Mua bản quyền tại %s để mở khóa tất cả các tính năng và hỗ trợ.", ], "You can enter your license key in the dashboard panel." => [ 0 => "Bạn có thể nhập mã bản quyền của mình vào bảng điều khiển.", ], + "Enter license" => [ + 0 => "Nhập mã bản quyền", + ], "Create album" => [ - 0 => "Tạo Album", + 0 => "Tạo abum mới", ], "Approve" => [ 0 => "Chấp thuận", @@ -959,19 +1172,19 @@ $translation_table = [ 0 => "Sửa", ], "Toggle flag" => [ - 0 => "Chỉnh sửa cờ", + 0 => "Gắn cờ", ], "Like" => [ 0 => "Thích", ], "Next" => [ - 0 => "Tiếp", + 0 => "Tiếp theo", ], "Previous" => [ 0 => "Trước", ], "Toggle select" => [ - 0 => "Chọn chuyển đổi", + 0 => "Chọn/Bỏ chọn", ], "Zoom" => [ 0 => "Phóng to", @@ -985,12 +1198,18 @@ $translation_table = [ "Some files couldn't be added" => [ 0 => "Một số tệp không thêm được.", ], + "Some files couldn't be loaded" => [ + 0 => "Không thể thêm một số tệp.", + ], "file" => [ 0 => "tệp tin", ], "%s's Albums" => [ 0 => "Album của %s", ], + "File edited successfully." => [ + 0 => "Đã sửa tệp thành công", + ], "private" => [ 0 => "riêng tư", ], @@ -1004,40 +1223,40 @@ $translation_table = [ 0 => "Khóa URL của danh mục đã được sử dụng.", ], "Category successfully deleted." => [ - 0 => "Danh mục đã xóa thành công ", + 0 => "Đã xóa danh mục thành công.", ], "Category %s added." => [ - 0 => "Danh mục %s đã thêm.", + 0 => "Đã thêm danh mục %s.", ], "Invalid expiration date." => [ - 0 => "Ngày hết hạn không hợp lệ.\n", + 0 => "Ngày hết hạn không hợp lệ.", ], "IP %s already banned." => [ - 0 => "IP %s đã bị cấm.", + 0 => "IP %s đã bị cấm rồi.", ], "IP %s banned." => [ - 0 => "IP %s bị cấm.", + 0 => "Đã cấm IP %s.", ], "IP ban successfully deleted." => [ 0 => "Bỏ cấm IP thành công.", ], "Please fill all the required fields." => [ - 0 => "Vui lòng điền vào tất cả các vùng bắt buộc.", + 0 => "Xin hãy điền vào tất cả các mục cần thiết.", ], "Invalid storage capacity value. Make sure to use a valid format." => [ - 0 => "Sức chứa dung lượng lưu trữ không hợp lệ. Hãy đảm bảo sử dụng định dạng hợp lệ.\n", + 0 => "Giá trị dung lượng không hợp lệ. Hãy đảm bảo rằng bạn đang sử dụng định dạng chính xác.", ], "Invalid URL." => [ 0 => "URL không hợp lệ.", ], "Storage successfully edited." => [ - 0 => "Đã chỉnh sửa kho lưu trữ thành công.", + 0 => "Kho lưu trữ đã được chỉnh sửa thành công.", ], "%s added successfully." => [ 0 => "Đã thêm %s thành công", ], "The content has been deleted." => [ - 0 => "Nội dung đã bị xóa", + 0 => "Nội dung đã bị xóa.", ], "The content has been moved." => [ 0 => "Nội dung đã được di chuyển.", @@ -1052,7 +1271,7 @@ $translation_table = [ 0 => "Bản nhập có ID %s đã bị xóa", ], "All the changes that you have made will be lost if you continue." => [ - 0 => "Nếu tiếp tục các thay đổi sẽ mất", + 0 => "Nếu bạn tiếp tục thì tất cả những thay đổi bạn vừa thực hiện sẽ biến mất .", ], "Save changes" => [ 0 => "Lưu thay đổi", @@ -1094,49 +1313,55 @@ $translation_table = [ 0 => "Nhấp chuột phải", ], "We received a request to change the email of your %n account at %w." => [ - 0 => "Chúng tôi nhận được yêu cầu thay đổi email %n tài khoản của bạn tại %w.", + 0 => "Có một yêu cầu thay đổi địa chỉ email cho tài khoản %n của bạn tại %w.", ], "To complete the process you must activate your email." => [ - 0 => "Để hoàn tất vui lòng kích hoạt email.", + 0 => "Để hoàn tất quy trình, bạn hãy kích hoạt email của mình nhé.", ], "Alternatively you can copy and paste the URL into your browser: %s" => [ - 0 => "Hoặc bạn có thê copy đoạn URL sau và dán vào thanh địa chỉ của trình duyệt để kích hoạt: %s", + 0 => "Bạn có thể sao chép và dán URL vào trình duyệt của mình: %s", ], "If you didn't intend this just ignore this message." => [ - 0 => "Nếu bạn không có ý định này, chỉ cần bỏ qua thông báo này.", + 0 => "Nếu đây không phải ý định của bạn, chỉ cần bỏ qua thông báo này.", ], "This request was made from IP: %s" => [ 0 => "Yêu cầu này xuất phát từ IP: %s", ], "We received a request to register the %n account at %w." => [ - 0 => "Chúng tôi nhận được yêu cầu tạo tài khoản %n tại %w.", + 0 => "Chúng tôi đã nhận được yêu cầu đăng ký tài khoản %n tại %w.", ], "To complete the process you must activate your account." => [ - 0 => "Để hoàn tất vui lòng kích hoạt tài khoản.", + 0 => "Để hoàn tất quá trình, bạn cần kích hoạt tài khoản của mình.", ], "We received a request to reset the password for your %n account." => [ - 0 => "Chúng tôi nhận được yêu cầu khôi phục mật khẩu cho tài khoản %n của bạn.", + 0 => "Chúng tôi vừa nhận được yêu cầu đặt lại mật khẩu cho tài khoản %n của bạn.", ], "To reset your password follow this link." => [ - 0 => "Để reset lại mật khẩu xin vui lòng click vào link này.", + 0 => "Để đặt lại mật khẩu của bạn, hãy nhấn vào đây.", ], "Hi %n, welcome to %w" => [ 0 => "Xin chào %n, rất vui khi bạn đến với %w", ], "Now that your account is ready you can enjoy uploading your images, creating albums and setting the privacy of your content as well as many more cool things that you will discover." => [ - 0 => "Tài khoản của bạn đã được kích hoạt thành công. Hãy bắt đầu upload ảnh của bạn, tạo album, set chế độ riêng tư hoặc công cộng cho hình ảnh của bạn và hàng đống chức năng khác đang chờ bạn khám phá.", + 0 => "Bây giờ tài khoản của bạn đã sẵn sàng, hãy thoải mái tải lên những hình ảnh, tạo album và thiết lập quyền riêng tư cho nội dung của bạn, cùng nhiều tính năng thú vị khác đang chờ bạn khám phá.", ], "By the way, here is you very own awesome profile page: %n. Go ahead and customize it, its yours!." => [ - 0 => "Nhân tiện, đây là trang cá nhân tuyệt vời của bạn: %n. Hãy tiếp tục tùy chỉnh, nó là của bạn !.", + 0 => "À, đây là trang cá nhân tuyệt vời của bạn: %n. Hãy tùy chỉnh nó theo phong cách của riêng bạn nhé!", ], "Thank you for joining" => [ - 0 => "Cảm ơn bạn đã tham gia với chúng tôi.", + 0 => "Cảm ơn bạn đã tham gia cộng đồng", ], "This email was sent from %w %u" => [ 0 => "Email này được gửi từ %w %u", ], + "Drag and drop or paste files here to upload" => [ + 0 => "Kéo thả hoặc dán tệp tại đây để tải lên", + ], + "Select the files to upload" => [ + 0 => "Chọn tệp để tải lên", + ], "You can also %i or %u." => [ - 0 => "Bạn có thể %i hoặc %u.", + 0 => "Bạn cũng có thể %i hoặc %u.", ], "You can also %s." => [ 0 => "Bạn cũng có thể %s.", @@ -1144,8 +1369,11 @@ $translation_table = [ "browse from your computer" => [ 0 => "tải lên từ máy tính", ], + "add file URLs" => [ + 0 => "thêm liên kết tệp", + ], "You can also %i, %c or %u." => [ - 0 => "Bạn còn có thể %i, %c hoặc %u.", + 0 => "Bạn cũng có thể %i, %c hoặc %u.", ], "You can also %i or %c." => [ 0 => "Bạn cũng có thể %i hoặc %c.", @@ -1154,7 +1382,7 @@ $translation_table = [ 0 => "chọn từ thiết bị", ], "use camera" => [ - 0 => "máy ảnh", + 0 => "chụp ảnh", ], "max" => [ 0 => "tối đa", @@ -1175,16 +1403,16 @@ $translation_table = [ 0 => "Đang tải lên %q %o", ], "complete" => [ - 0 => "Hoàn tất", + 0 => "hoàn thành", ], "The queue is being uploaded, it should take just a few seconds to complete." => [ - 0 => "Danh sách đang được tải lên, nó có thể mất đôi chút thời gian để hoàn thành.", + 0 => "Đang tải danh sách lên, chỉ cần vài giây nữa là xong thôi.", ], "Upload complete" => [ 0 => "Upload xong rồi!", ], "Uploaded content added to %s." => [ - 0 => "Đã tải nội dung lên %s.", + 0 => "Đã thêm nội dung vừa tải lên vào %s.", ], "You can %c with the content just uploaded or %m." => [ 0 => "Bạn có thể %c với nội dung vừa tải lên hoặc %m.", @@ -1229,34 +1457,34 @@ $translation_table = [ 0 => "%s có thể tùy chỉnh hoặc tắt tính năng tự động xóa hình ảnh.", ], "Mark this if the upload is not family safe" => [ - 0 => "Stick chọn cái này nếu tải lên là ảnh 18+. Không sẽ bị xoá không thương tiếc mà không cần báo trước nhé!!!", + 0 => "Đánh dấu nội dung nhạy cảm", ], "Not family safe upload" => [ - 0 => "Đây là hình ảnh nhạy cảm hoặc18+", + 0 => "Đây là nội dung nhạy cảm", ], "Uploading" => [ - 0 => "Đang đăng", + 0 => "Đang tải lên", ], "cancel remaining" => [ - 0 => "Ngưng upload những ảnh còn lại", + 0 => "Dừng tải lên những tệp còn lại", ], "Note: Some files couldn't be uploaded." => [ 0 => "Lưu ý: Một số tệp không thể tải lên.", ], "learn more" => [ - 0 => "xem tiếp", + 0 => "tìm hiểu thêm", ], "Check the error report for more information." => [ - 0 => "Chọn thông báo lỗi để biết thêm chi tiết.", + 0 => "Vui lòng xem báo cáo lỗi để biết thêm chi tiết.", ], "reset" => [ - 0 => "reset", + 0 => "đặt lại", ], "Note" => [ 0 => "Lưu ý", ], "We must approve the uploaded content before being able to share." => [ - 0 => "Chúng tôi cần phải phê duyệt nội dung đã tải lên trước khi có thể chia sẻ.", + 0 => "Chúng tôi cần phê duyệt nội dung đã tải lên trước khi chia sẻ.", ], "copy" => [ 0 => "sao chép", @@ -1277,28 +1505,28 @@ $translation_table = [ 0 => "Tiêu đề", ], "optional" => [ - 0 => "không bắt buộc", + 0 => "tuỳ chọn", ], "Resize image" => [ - 0 => "Chỉnh kích thước ảnh", + 0 => "Đổi cỡ ảnh", ], "Width" => [ - 0 => "Bề rộng", + 0 => "Chiều rộng", ], "Height" => [ 0 => "Chiều cao", ], "Note: Animated GIF images won't be resized." => [ - 0 => "Lưu ý: Ảnh động dạng gif sẽ không được resize.", + 0 => "Lưu ý: Ảnh GIF động sẽ không thể đổi kích cỡ.", ], "Mark this if the image is not family safe" => [ - 0 => "Stick chọn cái này nếu tải lên là ảnh 18+. Không sẽ bị xoá không thương tiếc mà không cần báo trước nhé!!!", + 0 => "Đánh dấu nếu đây là nội dung nhạy cảm", ], "Flag as unsafe" => [ - 0 => "Đánh dấu 18+", + 0 => "Nội dung nhạy cảm", ], "Description" => [ - 0 => "Chú thích", + 0 => "Mô tả", ], "Brief description of this %s" => [ 0 => "Mô tả ngắn gọn về %s", @@ -1325,7 +1553,7 @@ $translation_table = [ 0 => "Chọn một album có sẵn để di chuyển nội dung đã tải lên.", ], "Error report" => [ - 0 => "Thông báo lỗi", + 0 => "Báo cáo lỗi", ], "Viewer" => [ 0 => "Trình xem", @@ -1339,17 +1567,38 @@ $translation_table = [ "Frame" => [ 0 => "Khung hình", ], + "Thumbnail" => [ + 0 => "Ảnh nhỏ", + ], + "Medium" => [ + 0 => "Ảnh cỡ vừa", + ], + "embed" => [ + 0 => "nhúng", + ], + "%s full linked" => [ + 0 => "Ảnh gốc kèm liên kết %s", + ], + "%s medium linked" => [ + 0 => "Ảnh cỡ vừa kèm liên kết %s", + ], + "%s thumbnail linked" => [ + 0 => "Ảnh nhỏ kèm liên kết %s", + ], + "%s full" => [ + 0 => "Ảnh gốc %s", + ], "All these words" => [ 0 => "Toàn bộ những từ này", ], "Type the important words: tri-colour rat terrier" => [ - 0 => "Gõ những từ quan trọng: Chó sục ba màu", + 0 => "Gõ những từ quan trọng: (ví dụ: Chó sục ba màu)", ], "This exact word or phrase" => [ 0 => "Từ ngữ hoặc cụm từ chính xác này", ], "Put exact words in quotes: \"rat terrier\"" => [ - 0 => "Đặt từ chính xác trong dấu ngoặc kép: \"Chó sục bắt chuột\"", + 0 => "Đặt từ chính xác trong dấu ngoặc kép: (ví dụ: \"Chó sục bắt chuột\")", ], "None of these words" => [ 0 => "Không có từ nào trong này", @@ -1370,16 +1619,16 @@ $translation_table = [ 0 => "%s vô danh", ], "Call to action" => [ - 0 => "Nút hành động", + 0 => "Nút hành động (CTA)", ], "Enable call to action buttons" => [ - 0 => "Bật nút hành động", + 0 => "Bật nút CTA", ], "Call to action buttons will be displayed on the %s page and in content belonging to." => [ - 0 => "Bạn sẽ thấy nút kêu gọi hành động trên trang %s và trong nội dung liên quan.", + 0 => "Bạn sẽ thấy nút CTA trên trang %s và trong nội dung liên quan.", ], "You can use %emoji% or %package% icons." => [ - 0 => "Bạn có thể dùng %emoji% hoặc icon từ bộ %package%.", + 0 => "Bạn có thể dùng %emoji% hoặc biểu tượng từ bộ %package%.", ], "Label" => [ 0 => "Nhãn", @@ -1394,7 +1643,7 @@ $translation_table = [ 0 => "Sự riêng tư", ], "Who can view this content" => [ - 0 => "Ai xem được nội dung này", + 0 => "Người xem được nội dung này", ], "Private (just me)" => [ 0 => "Riêng tư (chỉ bạn thấy)", @@ -1406,7 +1655,7 @@ $translation_table = [ 0 => "Bí mật (kèm mật khẩu bảo vệ)", ], "Change password" => [ - 0 => "Thay đổi mật khẩu", + 0 => "Đổi mật khẩu", ], "Set password" => [ 0 => "Đặt mật khẩu", @@ -1415,7 +1664,7 @@ $translation_table = [ 0 => "Tên %s", ], "URL key" => [ - 0 => "Từ khóa URL", + 0 => "Khóa URL", ], "%s URL key" => [ 0 => "Khoá URL %s", @@ -1475,25 +1724,25 @@ $translation_table = [ 0 => "Ví dụ", ], "Until which date this IP address will be banned? Leave it empty for no expiration." => [ - 0 => "Đến ngày nào sẽ cấm IP này? để trống nếu muốn không thời hạn", + 0 => "IP này sẽ bị cấm đến ngày nào? Nếu không có thời hạn, hãy để trống.", ], "Message" => [ - 0 => "Nội dung", + 0 => "Tin nhắn", ], "Text message, HTML or a redirect URL" => [ - 0 => "Tin nhắn Text, HTML hoặc URL chuyển hướng", + 0 => "Chữ, HTML hoặc URL chuyển hướng", ], "API" => [ 0 => "API", ], "Storage name" => [ - 0 => "Tên bộ nhớ", + 0 => "Tên bộ lưu trữ", ], "This is for the old deprecated B2 API. For new buckets you have to use S3 Compatible API." => [ - 0 => "Dành cho giao thức API B2 cũ, đã bị loại bỏ. Với các bucket mới, bạn cần sử dụng S3 Compatible API", + 0 => "Thông tin này áp dụng cho API B2 cũ đã ngừng hoạt động. Đối với các bucket mới, bạn cần sử dụng API tương thích S3.", ], "Region" => [ - 0 => "Khu vực", + 0 => "Region", ], "Storage region" => [ 0 => "Storage region", @@ -1520,7 +1769,7 @@ $translation_table = [ 0 => "Google Cloud JSON key", ], "You will need a service account for this." => [ - 0 => "Bạn cần một service account cho việc này", + 0 => "Bạn sẽ cần một tài khoản dịch vụ cho việc này.", ], "Service name" => [ 0 => "Tên dịch vụ", @@ -1586,13 +1835,19 @@ $translation_table = [ 0 => "Ví dụ: 20 GB, 1 TB, v.v.", ], "This storage will be disabled when it reach this capacity. Leave it blank or zero for no limit." => [ - 0 => "Bộ nhớ sẽ bị disabled khi nó đạt đến dung lượng này. Để trống hoặc điền 0 nếu không giới hạn.", + 0 => "Kho lưu trữ này sẽ bị vô hiệu hóa khi đạt đến dung lượng tối đa. Bạn có thể để trống hoặc nhập số 0 để không giới hạn.", ], "Storage URL" => [ 0 => "Storage URL", ], "The system will map the images of this storage to this URL." => [ - 0 => "Hệ thống sẽ sử dụng địa chỉ này khi tạo link đến hình ảnh từ storage này.", + 0 => "Hệ thống sẽ gán các hình ảnh trong kho lưu trữ này với địa chỉ URL này.", + ], + "Enabled types" => [ + 0 => "Định dạng cho phép", + ], + "The storage will be used only for selected types." => [ + 0 => "Kho lưu trữ sẽ chỉ được sử dụng cho những định dạng đã chọn.", ], "view more" => [ 0 => "xem thêm", @@ -1607,7 +1862,7 @@ $translation_table = [ 0 => "Hành động", ], "Get embed codes" => [ - 0 => "Tạo mã nhúng", + 0 => "Lấy mã nhúng", ], "Assign %s" => [ 0 => "Gán %s", @@ -1619,7 +1874,7 @@ $translation_table = [ 0 => "Chọn tất cả", ], "Clear selection" => [ - 0 => "Bỏ chọn", + 0 => "Bỏ chọn tất cả", ], "Create new %s" => [ 0 => "Tạo %s mới", @@ -1628,37 +1883,37 @@ $translation_table = [ 0 => "%s phụ", ], "Sign in with another account" => [ - 0 => "Đăng nhập với tài khoản khác", + 0 => "Đăng nhập bằng tài khoản khác", ], "Sign in with %label%" => [ 0 => "Đăng nhập bằng %label%", ], "There's nothing to show here." => [ - 0 => "Không có gì để hiện.", + 0 => "Ở đây chẳng có gì cả.", ], "Selection will be assigned to %t." => [ 0 => "Lựa chọn sẽ được gán cho %t.", ], "There is no categories." => [ - 0 => "Không có danh mục nào.", + 0 => "Không có danh mục nào cả.", ], "Confirm flag content as safe" => [ - 0 => "Xác nhận đánh dấu hình ảnh an toàn", + 0 => "Xác nhận đây là nội dung an toàn", ], "Do you really want to flag this content as safe?" => [ - 0 => "Chắc chán muốn đánh dấu hình ảnh an toàn?", + 0 => "Bạn có thực sự muốn đánh dấu nội dung này là an toàn không?", ], "Confirm flag content as unsafe" => [ - 0 => "Xác nhận đánh dấu hình ảnh 18+", + 0 => "Xác nhận đây là nội dung nhạy cảm", ], "Do you really want to flag this content as unsafe?" => [ - 0 => "Chắc chán muốn đánh dấu hình ảnh 18+?", + 0 => "Bạn có thực sự muốn đánh dấu nội dung này là nhạy cảm không?", ], "Confirm approval" => [ 0 => "Xác nhận phê duyệt", ], "Do you really want to approve this content?" => [ - 0 => "Bạn có thực sự muốn duyệt nội dung này?", + 0 => "Bạn có thực sự muốn chấp thuận nội dung này?", ], "Confirm deletion" => [ 0 => "Xác nhận xóa", @@ -1667,13 +1922,13 @@ $translation_table = [ 0 => "Bạn có thực sự muốn xoá nội dung này?", ], "Do you really want to approve all the selected content?" => [ - 0 => "Bạn có thực sự muốn duyệt tất cả nội dung đã chọn?", + 0 => "Bạn có thực sự muốn chấp thuận tất cả nội dung đã chọn?", ], "Do you really want to remove all the selected content?" => [ 0 => "Bạn có thực sự muốn xoá tất cả nội dung đã chọn?", ], "Guest" => [ - 0 => "Khách", + 0 => "Vô danh", ], "Private album" => [ 0 => "Album bí mật", @@ -1682,10 +1937,10 @@ $translation_table = [ 0 => "Được bảo vệ bởi mật khẩu", ], "Uploaded by guest" => [ - 0 => "Upload by khách", + 0 => "Tải lên bởi một vị khách.", ], "Uploaded by private" => [ - 0 => "Upload by ẩn danh", + 0 => "Tải lên bởi ẩn danh", ], "by %u" => [ 0 => "bởi %u", @@ -2086,12 +2341,24 @@ $translation_table = [ "storage" => [ 0 => "lưu trữ", ], + "Enabled file extensions" => [ + 0 => "Định dạng tệp cho phép", + ], "Unsupported in your server" => [ 0 => "Không hỗ trợ trên máy chủ của bạn", ], + "Only checked file extensions will be allowed to be uploaded." => [ + 0 => "Chỉ cho phép tải lên những định dạng được chọn.", + ], "Enable uploads" => [ 0 => "Bật upload", ], + "Enable this if you want to allow %s uploads." => [ + 0 => "Bật nếu bạn muốn chó phép %s tải lên", + ], + "Enable this if you want to allow file upload from URLs." => [ + 0 => "Bật nếu bạn muốn cho phép tải lên bằng URL.", + ], "Note that enabling this will expose your server IP." => [ 0 => "Lưu ý rằng kích hoạt điều này sẽ khiến địa chỉ IP máy chủ của bạn bị lộ.", ], @@ -2134,6 +2401,9 @@ $translation_table = [ "Redirect on single upload" => [ 0 => "Chuyển hướng sau khi tải lên đơn lẻ", ], + "Enable this if you want to redirect to file viewer on single upload." => [ + 0 => "Bật nếu bạn muốn tự động chuyển hướng sang trang xem hình ảnh khi chỉ có một tệp được tải lên", + ], "Enable duplicate uploads" => [ 0 => "Cho phép tải lên trùng lặp", ], @@ -2191,6 +2461,9 @@ $translation_table = [ "Relative to Chevereto root" => [ 0 => "Đến thư mục gốc của Chevereto", ], + "Where to store the uploaded files? Relative to Chevereto root." => [ + 0 => "Nơi lưu trữ các tệp đã tải lên?. Điều này liên quan đến thư mục gốc Chevereto", + ], "Storage mode" => [ 0 => "Chế độ lưu trữ", ], @@ -2209,6 +2482,9 @@ $translation_table = [ "Mix original + random" => [ 0 => "Trộn tên gốc + ngẫu nhiên", ], + "\"Original\" will try to keep the file source name while \"Random\" will generate a random name. \"ID\" will name the file just like the file ID." => [ + 0 => "\"Gốc\" có nghĩa là sẽ cố gắng giữ tên tệp gốc. \"Ngẫu nhiên\" sẽ tạo tên tệp ngẫu nhiên. Trong khi \"ID\" sẽ tạo tên tệp giống với ID trong CSDL.", + ], "Thumb size" => [ 0 => "Kích thước ảnh nhỏ", ], @@ -2227,6 +2503,9 @@ $translation_table = [ "Width or height will be automatically calculated." => [ 0 => "Hệ thống sẽ tự động tính toán chiều rộng hoặc chiều cao.", ], + "Block file uploads by IP if the system notice a flood behavior based on the number of uploads per time period." => [ + 0 => "Chặn tải lên nếu hệ thống phát hiện tải liên quá mức trong khoảng thời gian đã định.", + ], "Notify to email" => [ 0 => "Thông báo tới email", ], @@ -2665,6 +2944,9 @@ $translation_table = [ "Debug errors" => [ 0 => "Gỡ lỗi", ], + "Enable this if you want to debug errors." => [ + 0 => "Bật nếu bạn muốn theo dõi lỗi.", + ], "Debug level" => [ 0 => "Mức độ gỡ lỗi", ], @@ -2839,6 +3121,9 @@ $translation_table = [ "Enable user content delete" => [ 0 => "Cho phép người dùng tự xoá nội dung", ], + "Enable this if you want to allow users to delete their own content." => [ + 0 => "Bật nếu bạn muốn cho phép người dùng có thể xoá tệp của họ.", + ], "Minimum age required" => [ 0 => "Độ tuổi tối thiểu", ], @@ -3043,12 +3328,39 @@ $translation_table = [ "Forced privacy modes will override user selected privacy." => [ 0 => "Chế độ riêng tư bắt buộc sẽ ghi đè lên quyền riêng tư do người dùng chọn.", ], + "Hello and welcome, %s" => [ + 0 => "Xin chào, %s", + ], + "Whether you're an individual creator or a company looking for a powerful media sharing platform, Chevereto has you covered." => [ + 0 => "Dù bạn là một nhà sáng tạo cá nhân hay một doanh nghiệp đang tìm kiếm một nền tảng chia sẻ phương tiện mạnh mẽ, Chevereto sẽ đáp ứng mọi nhu cầu của bạn.", + ], + "share your feedback" => [ + 0 => "chia sẻ ý kiến", + ], + "We're always looking for ways to improve, feel free to %s and suggestions." => [ + 0 => "Chúng tôi luôn tìm kiếm cơ hội để hoàn thiện hơn, xin đừng ngần ngại %s và gợi ý của bạn!", + ], + "We are available for all your support and customization needs." => [ + 0 => "Chúng tôi luôn sẵn sàng đáp ứng mọi nhu cầu hỗ trợ và tùy chỉnh của bạn.", + ], "Thank you for choosing Chevereto." => [ 0 => "Cám ơn bạn đã sử dụng Chevereto.", ], "Chevereto creator" => [ 0 => "Người tạo ra Chevereto", ], + "Provide Chevereto license key by assigning the environment variable %e or by creating the %f file containing the license key." => [ + 0 => "Để cung cấp mã bản quyền Chevereto, bạn có thể gán mã vào biến môi trường %e hoặc tạo một tệp tin %f chứa mã bản quyền.", + ], + "You can also set the license key in the textarea below." => [ + 0 => "Bạn cũng có thể điền mã bản quyền vào ô bên dưới.", + ], + "Chevereto license key" => [ + 0 => "Mã bản quyền Chevereto", + ], + "PASTE LICENSE KEY HERE" => [ + 0 => "DÁN MÃ BẢN QUYỀN VÀO ĐÂY", + ], "If the detected IP doesn't match yours it means that your web server is under a proxy. The connecting IP can be set using the HTTP header defined in the environment variable %e and when not set it fall-back to %v." => [ 0 => "Nếu IP được phát hiện không khớp với IP của bạn, điều đó cho thấy máy chủ web của bạn đang hoạt động thông qua một proxy. Bạn có thể thiết lập IP kết nối thật bằng tiêu đề HTTP nằm trong biến môi trường %e. Nếu biến này trống, hệ thống sẽ dùng giá trị trong %v.", ], @@ -3061,6 +3373,9 @@ $translation_table = [ "%s News" => [ 0 => "%s News", ], + "%s edition" => [ + 0 => "Phiên bản %s", + ], "Role" => [ 0 => "Quyền", ], @@ -3088,27 +3403,57 @@ $translation_table = [ "This is the album cover" => [ 0 => "Đây ảnh bìa của album", ], + "Added to %a under %s %t" => [ + 0 => "Đã thêm vào %a dưới %s %t", + ], "Added to %s" => [ 0 => "Hoàn thành thêm vào %s", ], + "Uploaded to %s" => [ + 0 => "Đã tải lên vào %s", + ], "Uploaded %s" => [ 0 => "Đã up lên %s", ], + "This content will be removed on %s" => [ + 0 => "Nội dung này sẽ bị xoá vào %s", + ], + "No description provided." => [ + 0 => "Không có mô tả.", + ], "Less Exif data" => [ 0 => "Ẩn Exif", ], "More Exif data" => [ 0 => "Hiện Exif", ], + "%s ID" => [ + 0 => "ID %s", + ], + "Add IP ban" => [ + 0 => "Thêm IP bị cấm", + ], "Upload and share your media" => [ 0 => "Đăng tải và chia sẻ media của bạn", ], + "Drag and drop anywhere to start uploading." => [ + 0 => "Chỉ cần kéo và thả ở bất kỳ đâu để bắt đầu tải lên.", + ], + "Get direct links, Markdown, BBCode and HTML thumbnails." => [ + 0 => "Lấy liên kết trực tiếp, Markdown, BBCode và HTML.", + ], "Sign up to unlock all the features" => [ 0 => "Đăng ký để sử dụng mọi chức năng của website", ], "Manage your content, create private albums, customize your profile and more." => [ 0 => "Quản lý hình ảnh, tạo album riêng tư, tùy chỉnh trang hồ sơ và hơn thế nữa", ], + "Sign in with your account" => [ + 0 => "Đăng nhập vào tài khoản của bạn", + ], + "Don't have an account? %signup% now." => [ + 0 => "Không có tài khoản? Hãy %signup% ngay bây giờ.", + ], "Logged out" => [ 0 => "Đã đăng xuất", ], @@ -3124,15 +3469,102 @@ $translation_table = [ "This content is password protected." => [ 0 => "Nội dung này cần mật khẩu để xem", ], + "Please enter your password to continue." => [ + 0 => "Vui lòng nhập mật khẩu để tiếp tục.", + ], + "Unlock" => [ + 0 => "Mở khoá", + ], + "Add media uploading and sharing to your website, blog or forum by installing our upload plugin." => [ + 0 => "Thêm tính năng tải lên và chia sẻ media vào trang web, blog hoặc diễn đàn của bạn bằng cách cài đặt plugin tải lên của chúng tôi.", + ], + "It provides file uploading to any website by placing a button that will allow your users to directly upload to our service and it will automatically handle the codes needed for insertion." => [ + 0 => "Chức năng này cho phép người dùng tải tệp lên bất kỳ trang web nào bằng cách thêm một nút, giúp họ dễ dàng tải trực tiếp lên dịch vụ của chúng tôi. Hệ thống sẽ tự động xử lý mã cần thiết để chèn tệp vào trang.", + ], + "All features included like drag and drop, remote upload, image resizing and more." => [ + 0 => "Tất cả các tính năng đều được tích hợp, bao gồm kéo và thả, tải lên từ xa, thay đổi kích thước hình ảnh và nhiều hơn nữa.", + ], + "Supported software" => [ + 0 => "Phần mềm hỗ trợ", + ], + "supported software" => [ + 0 => "phần mềm hỗ trợ", + ], + "The plugin works in any website with user-editable content and for %sv, it will place an upload button that will match the target editor toolbar so no extra customization is needed." => [ + 0 => "Plugin hoạt động trên mọi trang web có nội dung có thể chỉnh sửa. Đặc biệt, với %sv, nó sẽ tự động chèn một nút tải lên phù hợp với thanh công cụ của trình chỉnh sửa mục tiêu, giúp bạn không cần phải tùy chỉnh thêm.", + ], + "Add it to your website" => [ + 0 => "Thêm nó vào trang web của bạn", + ], + "options" => [ + 0 => "tuỳ chọn", + ], + "Copy and paste the plugin code into your website HTML code (preferably inside the head section). There are plenty %o to make it fit better to your needs." => [ + 0 => "Bạn hãy sao chép và dán mã plugin vào mã HTML của website (tốt nhất là ở trong phần đầu của trang). Có rất nhiều %o để bạn có thể điều chỉnh cho phù hợp với nhu cầu của mình.", + ], + "Basic options" => [ + 0 => "Tuỳ chọn cơ bản", + ], + "Color palette" => [ + 0 => "Bảng màu", + ], + "Button color scheme" => [ + 0 => "Phối màu nút", + ], + "Embed codes that will be auto-inserted in editor box" => [ + 0 => "Mã nhúng sẽ tự động chèn vào khung soạn thảo", + ], + "Sibling selector" => [ + 0 => "Bộ chọn phần tử liên quan", + ], + "Sibling element selector where to place the button next to" => [ + 0 => "Cách xác định vị trí đặt nút bên cạnh phần tử khác.", + ], + "Sibling position" => [ + 0 => "Vị trí phần tử", + ], + "After" => [ + 0 => "Sau", + ], + "Before" => [ + 0 => "Trước", + ], + "Position relative to sibling element" => [ + 0 => "Vị trí liên quan đến phần tử đã chọn", + ], + "Advanced options" => [ + 0 => "Tuỳ chọn nâng cao", + ], + "The plugin has a large set of additional options that allow full customization. You can use custom HTML, CSS, own color palette, set observers and more. Check the %d and the plugin source to get a better idea of these advanced options." => [ + 0 => "“Plugin này cung cấp một loạt tùy chọn phong phú cho phép bạn tùy chỉnh hoàn toàn. Bạn có thể sử dụng HTML, CSS tùy chỉnh, chọn bảng màu riêng, thiết lập các trình theo dõi và nhiều hơn nữa. Hãy tham khảo %d và mã nguồn của plugin để hiểu rõ hơn về những tùy chọn nâng cao này.", + ], "Valid" => [ 0 => "Hoạt động", ], + "Banned" => [ + 0 => "Đã cấm", + ], "Awaiting email" => [ 0 => "Chờ email", ], "%i to %f characters
Letters, numbers and \"_\"" => [ 0 => "từ %i đến %f ký tự
Chữ, số và \"_\"", ], + "Auto delete uploads" => [ + 0 => "Tự động xoá", + ], + "This setting will apply to all your file uploads by default. You can override this setting on each upload." => [ + 0 => "Cài đặt này sẽ được áp dụng mặc định cho tất cả các tệp tải lên. Tuy nhiên, bạn có thể tùy chỉnh cài đặt này cho từng lần tải lên riêng biệt.", + ], + "Keep image Exif data on upload" => [ + 0 => "Giữ lại dữ liệu Exif của hình ảnh khi tải lên.", + ], + "Newsletter" => [ + 0 => "Bản tin", + ], + "Send me emails with news about %s" => [ + 0 => "Gửi email cho tôi khi có thông tin mới về %s", + ], "Content settings" => [ 0 => "Cài đặt nội dung", ], @@ -3145,9 +3577,24 @@ $translation_table = [ "Timezone" => [ 0 => "Múi giờ", ], + "%s key" => [ + 0 => "Khoá %s", + ], + "Store the %s in a secure location as it will be shown just once." => [ + 0 => "Hãy lưu %s vào nơi an toàn vì nó chỉ hiển thị một lần duy nhất.", + ], + "Are you sure that you want to revoke the existing %s?" => [ + 0 => "Bạn có chắc chắn muốn thu hồi %s?", + ], + "Regen key" => [ + 0 => "Tạo lại khoá mới", + ], "User has no connections." => [ 0 => "Người dùng chưa có kết nối đến mạng xã hội", ], + "Link your account to external login providers to be able to login here." => [ + 0 => "Liên kết tài khoản của bạn với các nhà cung cấp đăng nhập bên ngoài để dễ dàng truy cập vào đây.", + ], "Do you really want to disconnect %s from this account?" => [ 0 => "Bạn có chắc là muốn xóa liên kết đến %s của tài khoản", ], @@ -3160,6 +3607,15 @@ $translation_table = [ "You will be logged out and you won't be able to login to your account using this %s account." => [ 0 => "Bạn sẽ bị đăng xuất và bạn sẽ không thể đăng nhập lại bằng tài khoản %s", ], + "Connected to %s" => [ + 0 => "Kết nối tới %s", + ], + "Logged in" => [ + 0 => "Đã đăng nhập", + ], + "Connect %label%" => [ + 0 => "Kết nối %label%", + ], "Button" => [ 0 => "Nút", ], @@ -3190,6 +3646,21 @@ $translation_table = [ "Re-enter your password" => [ 0 => "Nhập lại mật khẩu mới", ], + "This service is based on Chevereto hosted edition." => [ + 0 => "Dịch vụ này được xây dựng dựa trên phiên bản lưu trữ của Chevereto.", + ], + "Usage of this service must be in compliance with the Chevereto Software Terms of Service." => [ + 0 => "Việc sử dụng dịch vụ này phải tuân thủ các Điều khoản Dịch vụ của phần mềm Chevereto.", + ], + "This instance is hosted in a service layer provided by Chevereto Software, which hereby declare not being responsible for the use of this service neither the damages that this service may cause." => [ + 0 => "Đơn vị cung cấp dịch vụ Chevereto Software xin thông báo rằng chúng tôi không chịu trách nhiệm về cách sử dụng dịch vụ này cũng như những thiệt hại có thể phát sinh từ việc sử dụng dịch vụ.", + ], + "This service is based on Chevereto self-hosted edition." => [ + 0 => "Dịch vụ này được xây dựng dựa trên phiên bản tự lưu trữ của Chevereto.", + ], + "This instance is hosted in a service layer not provided by Chevereto Software, which hereby declare to do not have any control nor access to the management layer of this instance and it won't be responsible for this service neither the damages that this service may cause." => [ + 0 => "Phiên bản này được lưu trữ trong một lớp dịch vụ không thuộc quyền kiểm soát của Chevereto Software. Chúng tôi xin tuyên bố rằng không có quyền truy cập hay quản lý nào đối với lớp dịch vụ này, và Chevereto Software sẽ không chịu trách nhiệm về dịch vụ cũng như mọi thiệt hại có thể phát sinh từ dịch vụ này.", + ], "Upload avatar" => [ 0 => "Tải lên ảnh đại diện", ], @@ -3208,6 +3679,18 @@ $translation_table = [ "Tell us a little bit about you" => [ 0 => "Cho chúng tôi biết một chút về bạn", ], + "Two-factor authentication is enabled." => [ + 0 => "Đã bật xác thực hai lớp", + ], + "Do you really want to disable two-factor authentication?" => [ + 0 => "Bạn có chắc chắn muốn tắt xác thực hai lớp không?", + ], + "Disable" => [ + 0 => "Tắt", + ], + "Scan the QR code below with an authenticator application and enter the code displayed." => [ + 0 => "Dưới đây là mã QR, hãy quét nó bằng ứng dụng xác thực và nhập mã hiển thị nhé.", + ], "Login" => [ 0 => "Đăng nhập", ], @@ -3232,6 +3715,9 @@ $translation_table = [ "Upload new image" => [ 0 => "Tải lên ảnh mới", ], + "Are you sure that you want to delete the profile background image?" => [ + 0 => "Bạn có chắc muốn xoá ảnh nền không?", + ], "Delete background" => [ 0 => "Xóa hình nền", ], @@ -3241,6 +3727,12 @@ $translation_table = [ "Follow" => [ 0 => "Theo dõi", ], + "Set: %s" => [ + 0 => "Đặt: %s", + ], + "Ban" => [ + 0 => "Cấm", + ], "General questions/comments" => [ 0 => "Hỏi đáp, thắc mắc, kiến nghị", ], @@ -3268,5 +3760,8 @@ $translation_table = [ "Subject" => [ 0 => "Chủ đề", ], + "Send" => [ + 0 => "Gửi", + ], ]; ?> \ No newline at end of file diff --git a/app/composer.lock b/app/composer.lock index 9ca9328..b0e99df 100644 --- a/app/composer.lock +++ b/app/composer.lock @@ -1512,29 +1512,29 @@ }, { "name": "chillerlan/php-qrcode", - "version": "4.4.1", + "version": "4.4.2", "source": { "type": "git", "url": "https://github.com/chillerlan/php-qrcode.git", - "reference": "f5e243f3b61a60934780579430a951460f40888d" + "reference": "345ed8e4ffb56e6b3fcd9f42e3970b9026fa6ce4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/chillerlan/php-qrcode/zipball/f5e243f3b61a60934780579430a951460f40888d", - "reference": "f5e243f3b61a60934780579430a951460f40888d", + "url": "https://api.github.com/repos/chillerlan/php-qrcode/zipball/345ed8e4ffb56e6b3fcd9f42e3970b9026fa6ce4", + "reference": "345ed8e4ffb56e6b3fcd9f42e3970b9026fa6ce4", "shasum": "" }, "require": { - "chillerlan/php-settings-container": "^2.1.4 || ^3.1", + "chillerlan/php-settings-container": "^2.1.6 || ^3.2.1", "ext-mbstring": "*", "php": "^7.4 || ^8.0" }, "require-dev": { - "phan/phan": "^5.4", + "phan/phan": "^5.4.5", "phpmd/phpmd": "^2.15", "phpunit/phpunit": "^9.6", "setasign/fpdf": "^1.8.2", - "squizlabs/php_codesniffer": "^3.8" + "squizlabs/php_codesniffer": "^3.11" }, "suggest": { "chillerlan/php-authenticator": "Yet another Google authenticator! Also creates URIs for mobile apps.", @@ -1577,19 +1577,15 @@ ], "support": { "issues": "https://github.com/chillerlan/php-qrcode/issues", - "source": "https://github.com/chillerlan/php-qrcode/tree/4.4.1" + "source": "https://github.com/chillerlan/php-qrcode/tree/4.4.2" }, "funding": [ - { - "url": "https://www.paypal.com/donate?hosted_button_id=WLYUNAT9ZTJZ4", - "type": "custom" - }, { "url": "https://ko-fi.com/codemasher", "type": "ko_fi" } ], - "time": "2024-01-06T16:56:58+00:00" + "time": "2024-11-15T15:36:24+00:00" }, { "name": "chillerlan/php-settings-container", @@ -3117,21 +3113,21 @@ }, { "name": "php-ffmpeg/php-ffmpeg", - "version": "v1.2.0", + "version": "v1.3.0", "source": { "type": "git", "url": "https://github.com/PHP-FFMpeg/PHP-FFMpeg.git", - "reference": "785a5ba05dd88b3b8146f85f18476b259b23917c" + "reference": "5e7b15710a8607e8a3a2d9fbe2c150a99b924fa5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PHP-FFMpeg/PHP-FFMpeg/zipball/785a5ba05dd88b3b8146f85f18476b259b23917c", - "reference": "785a5ba05dd88b3b8146f85f18476b259b23917c", + "url": "https://api.github.com/repos/PHP-FFMpeg/PHP-FFMpeg/zipball/5e7b15710a8607e8a3a2d9fbe2c150a99b924fa5", + "reference": "5e7b15710a8607e8a3a2d9fbe2c150a99b924fa5", "shasum": "" }, "require": { "evenement/evenement": "^3.0", - "php": "^8.0 || ^8.1 || ^8.2 || ^8.3", + "php": "^8.0 || ^8.1 || ^8.2 || ^8.3 || ^8.4", "psr/log": "^1.0 || ^2.0 || ^3.0", "spatie/temporary-directory": "^2.0", "symfony/cache": "^5.4 || ^6.0 || ^7.0", @@ -3139,7 +3135,7 @@ }, "require-dev": { "mockery/mockery": "^1.5", - "phpunit/phpunit": "^9.5.10" + "phpunit/phpunit": "^9.5.10 || ^10.0" }, "suggest": { "php-ffmpeg/extras": "A compilation of common audio & video drivers for PHP-FFMpeg" @@ -3200,9 +3196,9 @@ ], "support": { "issues": "https://github.com/PHP-FFMpeg/PHP-FFMpeg/issues", - "source": "https://github.com/PHP-FFMpeg/PHP-FFMpeg/tree/v1.2.0" + "source": "https://github.com/PHP-FFMpeg/PHP-FFMpeg/tree/v1.3.0" }, - "time": "2024-01-02T10:37:01+00:00" + "time": "2024-11-12T15:39:52+00:00" }, { "name": "phpmailer/phpmailer", @@ -5207,16 +5203,16 @@ }, { "name": "symfony/console", - "version": "v6.4.14", + "version": "v6.4.15", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "897c2441ed4eec8a8a2c37b943427d24dba3f26b" + "reference": "f1fc6f47283e27336e7cebb9e8946c8de7bff9bd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/897c2441ed4eec8a8a2c37b943427d24dba3f26b", - "reference": "897c2441ed4eec8a8a2c37b943427d24dba3f26b", + "url": "https://api.github.com/repos/symfony/console/zipball/f1fc6f47283e27336e7cebb9e8946c8de7bff9bd", + "reference": "f1fc6f47283e27336e7cebb9e8946c8de7bff9bd", "shasum": "" }, "require": { @@ -5281,7 +5277,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v6.4.14" + "source": "https://github.com/symfony/console/tree/v6.4.15" }, "funding": [ { @@ -5297,7 +5293,7 @@ "type": "tidelift" } ], - "time": "2024-11-05T15:34:40+00:00" + "time": "2024-11-06T14:19:14+00:00" }, { "name": "symfony/deprecation-contracts", @@ -5842,16 +5838,16 @@ }, { "name": "symfony/process", - "version": "v6.4.14", + "version": "v6.4.15", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "25214adbb0996d18112548de20c281be9f27279f" + "reference": "3cb242f059c14ae08591c5c4087d1fe443564392" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/25214adbb0996d18112548de20c281be9f27279f", - "reference": "25214adbb0996d18112548de20c281be9f27279f", + "url": "https://api.github.com/repos/symfony/process/zipball/3cb242f059c14ae08591c5c4087d1fe443564392", + "reference": "3cb242f059c14ae08591c5c4087d1fe443564392", "shasum": "" }, "require": { @@ -5883,7 +5879,7 @@ "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/process/tree/v6.4.14" + "source": "https://github.com/symfony/process/tree/v6.4.15" }, "funding": [ { @@ -5899,7 +5895,7 @@ "type": "tidelift" } ], - "time": "2024-11-06T09:25:01+00:00" + "time": "2024-11-06T14:19:14+00:00" }, { "name": "symfony/service-contracts", @@ -5986,16 +5982,16 @@ }, { "name": "symfony/string", - "version": "v6.4.13", + "version": "v6.4.15", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "38371c60c71c72b3d64d8d76f6b1bb81a2cc3627" + "reference": "73a5e66ea2e1677c98d4449177c5a9cf9d8b4c6f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/38371c60c71c72b3d64d8d76f6b1bb81a2cc3627", - "reference": "38371c60c71c72b3d64d8d76f6b1bb81a2cc3627", + "url": "https://api.github.com/repos/symfony/string/zipball/73a5e66ea2e1677c98d4449177c5a9cf9d8b4c6f", + "reference": "73a5e66ea2e1677c98d4449177c5a9cf9d8b4c6f", "shasum": "" }, "require": { @@ -6052,7 +6048,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v6.4.13" + "source": "https://github.com/symfony/string/tree/v6.4.15" }, "funding": [ { @@ -6068,20 +6064,20 @@ "type": "tidelift" } ], - "time": "2024-09-25T14:18:03+00:00" + "time": "2024-11-13T13:31:12+00:00" }, { "name": "symfony/var-dumper", - "version": "v6.4.14", + "version": "v6.4.15", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "93c09246038178717a9c14b809ea8151ffcf7091" + "reference": "38254d5a5ac2e61f2b52f9caf54e7aa3c9d36b80" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/93c09246038178717a9c14b809ea8151ffcf7091", - "reference": "93c09246038178717a9c14b809ea8151ffcf7091", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/38254d5a5ac2e61f2b52f9caf54e7aa3c9d36b80", + "reference": "38254d5a5ac2e61f2b52f9caf54e7aa3c9d36b80", "shasum": "" }, "require": { @@ -6137,7 +6133,7 @@ "dump" ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v6.4.14" + "source": "https://github.com/symfony/var-dumper/tree/v6.4.15" }, "funding": [ { @@ -6153,7 +6149,7 @@ "type": "tidelift" } ], - "time": "2024-11-05T15:34:40+00:00" + "time": "2024-11-08T15:28:48+00:00" }, { "name": "symfony/var-exporter", @@ -6652,16 +6648,16 @@ }, { "name": "myclabs/deep-copy", - "version": "1.12.0", + "version": "1.12.1", "source": { "type": "git", "url": "https://github.com/myclabs/DeepCopy.git", - "reference": "3a6b9a42cd8f8771bd4295d13e1423fa7f3d942c" + "reference": "123267b2c49fbf30d78a7b2d333f6be754b94845" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/3a6b9a42cd8f8771bd4295d13e1423fa7f3d942c", - "reference": "3a6b9a42cd8f8771bd4295d13e1423fa7f3d942c", + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/123267b2c49fbf30d78a7b2d333f6be754b94845", + "reference": "123267b2c49fbf30d78a7b2d333f6be754b94845", "shasum": "" }, "require": { @@ -6700,7 +6696,7 @@ ], "support": { "issues": "https://github.com/myclabs/DeepCopy/issues", - "source": "https://github.com/myclabs/DeepCopy/tree/1.12.0" + "source": "https://github.com/myclabs/DeepCopy/tree/1.12.1" }, "funding": [ { @@ -6708,7 +6704,7 @@ "type": "tidelift" } ], - "time": "2024-06-12T14:39:25+00:00" + "time": "2024-11-08T17:47:46+00:00" }, { "name": "phar-io/manifest", @@ -6830,16 +6826,16 @@ }, { "name": "phpstan/phpstan", - "version": "1.12.8", + "version": "1.12.11", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan.git", - "reference": "f6a60a4d66142b8156c9da923f1972657bc4748c" + "reference": "0d1fc20a962a91be578bcfe7cf939e6e1a2ff733" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/f6a60a4d66142b8156c9da923f1972657bc4748c", - "reference": "f6a60a4d66142b8156c9da923f1972657bc4748c", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/0d1fc20a962a91be578bcfe7cf939e6e1a2ff733", + "reference": "0d1fc20a962a91be578bcfe7cf939e6e1a2ff733", "shasum": "" }, "require": { @@ -6884,7 +6880,7 @@ "type": "github" } ], - "time": "2024-11-06T19:06:49+00:00" + "time": "2024-11-17T14:08:01+00:00" }, { "name": "phpunit/php-code-coverage", diff --git a/app/languages/pl.po b/app/languages/pl.po index 60a1644..c3007ce 100644 --- a/app/languages/pl.po +++ b/app/languages/pl.po @@ -1,8 +1,8 @@ msgid "" msgstr "" "Project-Id-Version: VERSION\n" -"POT-Creation-Date: 2023-05-22 15:49+0000\n" -"PO-Revision-Date: 2023-05-22 15:49+0000\n" +"POT-Creation-Date: 2024-11-14 15:22+0000\n" +"PO-Revision-Date: 2024-11-14 15:22+0000\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE TEAM \n" "Language: pl\n" @@ -15,7 +15,7 @@ msgid "You have been forbidden to use this website." msgstr "Dostęp do tej strony został zablokowany." msgid "Moderate" -msgstr "Moderuj" +msgstr "Moderacja" msgid "View all my images" msgstr "Wszystkie moje grafiki" @@ -32,6 +32,9 @@ msgstr "Na czasie" msgid "Popular" msgstr "Popularne" +msgid "Videos" +msgstr "Filmy" + msgid "Animated" msgstr "Animowane" @@ -70,7 +73,7 @@ msgid "Add your email address" msgstr "Dodaj swój adres -email" msgid "Awaiting confirmation" -msgstr "Oczekujący na potwierdzenie" +msgstr "Oczekuje na potwierdzenie" msgid "Two-factor authentication" msgstr "Uwierzytelnianie dwuskładnikowe" @@ -106,7 +109,7 @@ msgstr "Reset hasła na %s" #, php-format msgid "Confirmation required at %s" -msgstr "Potwierdzenie wymagane na %s" +msgstr "Potwierdź swoje nowe konto na %s" #, php-format msgid "Welcome to %s" @@ -155,11 +158,14 @@ msgstr[0] "grafika" msgstr[1] "grafiki" msgstr[2] "grafik" -msgid "Stats" -msgstr "Statystyki" +msgid "Home" +msgstr "Główna" -msgid "Images" -msgstr "Grafiki" +msgid "File" +msgid_plural "Files" +msgstr[0] "Plik" +msgstr[1] "" +msgstr[2] "" msgid "Album" msgid_plural "Albums" @@ -179,8 +185,12 @@ msgstr "Masowe importowanie" msgid "Settings" msgstr "Ustawienia" +#, php-format +msgid "Run %s" +msgstr "Uruchom %s" + msgid "Website" -msgstr "Strona" +msgstr "Strona www" msgid "Content" msgstr "Treść" @@ -188,11 +198,11 @@ msgstr "Treść" msgid "Listings" msgstr "Listy" -msgid "Image upload" -msgstr "Wysyłanie grafiki" +msgid "File uploads" +msgstr "Wgrywanie plików" msgid "Semantics" -msgstr "Semantics" +msgstr "Semantyka" msgid "Categories" msgstr "Kategorie" @@ -215,15 +225,25 @@ msgstr "Narzędzia" msgid "Logo" msgstr "Logo" -msgid "External storage" -msgstr "Zewnętrza pamięć" - msgid "Homepage" msgstr "Strona główna" msgid "Pages" msgstr "Strony" +msgid "Upload plugin" +msgstr "Upload plugin" + +msgid "Consent screen" +msgstr "Ekran zgody" + +#, php-format +msgid "Guests %s" +msgstr "Gość %s" + +msgid "External storage" +msgstr "Zewnętrza pamięć" + msgid "Routing" msgstr "Routing" @@ -233,9 +253,6 @@ msgstr "Usługi zewnętrzne" msgid "Login providers" msgstr "Dostawcy logowania" -msgid "Upload plugin" -msgstr "Upload plugin" - msgid "Cookie compliance" msgstr "Zgoda na pliki Cookie" @@ -251,42 +268,39 @@ msgstr "Blokady IP" msgid "Watermarks" msgstr "Znaki wodne" -msgid "Documentation" -msgstr "Dokumentacja" +msgid "Upgrade now" +msgstr "Zaktualizuj teraz" -msgid "Admin" -msgstr "Admin" +msgid "The latest release will be downloaded and extracted in the filesystem." +msgstr "Najnowsza wersja zostanie pobrana i rozpakowana w systemie plików." -#, php-format -msgid "%s docs" -msgstr "%s dokumentacja" +msgid "License key" +msgstr "Klucz licencyjny" msgid "Support" msgstr "Pomoc" -msgid "Releases" -msgstr "Wydania" - -msgid "Community" -msgstr "Społeczność" - -msgid "License" -msgstr "Licencja" - msgid "install update" msgstr "zainstaluj aktualizację" -msgid "Check updates" +msgid "Check upgrades" msgstr "Sprawdź aktualizacje" msgid "not running" msgstr "nieuruchomiony" +#, php-format +msgid "PHP function [%s] not available in this PHP installation" +msgstr "Funkcja PHP [%s] niedostępna w zainstalowanej wersji PHP" + msgid "Max. upload file size" msgstr "Maksymalny rozmiar pliku " -msgid "Graphics Library" -msgstr "Biblioteka graficzna" +msgid "Graphics library" +msgstr "Biblioteka zdjęć" + +msgid "Stats" +msgstr "Statystyki" msgid "Rebuild stats" msgstr "Przebuduj statystyki" @@ -297,6 +311,33 @@ msgstr "IP Połączenia" msgid "Not your IP?" msgstr "Nie twoje IP?" +msgid "Encryption" +msgstr "Szyfrowanie" + +msgid "Enabled" +msgstr "Włączona" + +msgid "Disabled" +msgstr "Wyłączona" + +msgid "Blog" +msgstr "Blog" + +msgid "Docs" +msgstr "Dokumenty" + +msgid "Releases" +msgstr "Wydania" + +msgid "Chat" +msgstr "Czat" + +msgid "Community" +msgstr "Społeczność" + +msgid "Links" +msgstr "Odnośniki" + msgid "Cron last ran" msgstr "Cron ostatnio uruchomiony" @@ -306,21 +347,6 @@ msgstr "Wersja PHP" msgid "Server" msgstr "Serwer" -msgid "MySQL version" -msgstr "Wersja MySQL" - -msgid "MySQL server info" -msgstr "Informacje o serwerze MySQL" - -msgid "File uploads" -msgstr "Wysyłka plików" - -msgid "Enabled" -msgstr "Włączona" - -msgid "Disabled" -msgstr "Wyłączona" - msgid "Max. execution time" msgstr "Maksymalny czas wykonywania" @@ -328,23 +354,23 @@ msgstr "Maksymalny czas wykonywania" msgid "%d second" msgid_plural "%d seconds" msgstr[0] "%d sekunda" -msgstr[1] "%d sekundy" -msgstr[2] "%d sekund" +msgstr[1] "" +msgstr[2] "" msgid "Memory limit" msgstr "Limit pamięci" msgid "Can't delete all homepage cover images" -msgstr "Nie można usunąć wszystkich obrazów okładek strony głównej" +msgstr "Nie można usunąć wszystkich obrazów okładki strony głównej" msgid "Homepage cover image deleted" -msgstr "Zdjęcie okładki strony głównej zostało usunięte" +msgstr "Obraz okładki strony głównej został usunięty" msgid "Local" -msgstr "Lokalne" +msgstr "Lokalny" msgid "External" -msgstr "Zewnętrzne" +msgstr "Zewnętrzny" msgid "All" msgstr "Wszystko" @@ -357,16 +383,16 @@ msgstr "Dodaj stronę" #, php-format msgid "Edit page ID %s" -msgstr "Edytuj identyfikator strony %s" +msgstr "Edytuj ID strony %s" msgid "The page has been added successfully." -msgstr "Strona została dodana pomyślnie." +msgstr "Strona została dodana poprawnie." msgid "The page has been deleted." -msgstr "Strona została usunięta." +msgstr "Strona została skasowana." msgid "homepage" -msgstr "strona główna" +msgstr "Strona główna" #, php-format msgid "Before main title (%s)" @@ -380,45 +406,29 @@ msgstr "Po wezwaniu do działania (%s)" msgid "After cover (%s)" msgstr "Po okładce (%s)" -#, php-format -msgid "After listing (%s)" -msgstr "Po liście (%s)" - msgid "Before pagination" -msgstr "Przed stronicowaniem" +msgstr "Przed paginacją" msgid "After pagination" -msgstr "Za stronicowaniem" +msgstr "Po paginacji" msgid "Content (image and album)" -msgstr "Treść (grafika i album)" - -msgid "Tab about column" -msgstr "Zakładka o kolumnie" +msgstr "Treść (obraz i album)" msgid "Before comments" msgstr "Przed komentarzami" msgid "Image page" -msgstr "Strona grafiki" - -msgid "Inside viewer top (image page)" -msgstr "Bezpośrednio nad grafiką (strona grafiki)" - -msgid "Inside viewer foot (image page)" -msgstr "Bezpośrednio pod grafiką (strona grafiki)" - -msgid "After image viewer (image page)" -msgstr "Pod przeglądarką obrazów (strona grafiki)" +msgstr "Strona zdjęć" msgid "Before header (image page)" -msgstr "Przed nagłówkiem (strona grafiki)" +msgstr "Przed nagłówkiem strony" msgid "After header (image page)" -msgstr "Po nagłówku (strona grafiki)" +msgstr "Po nagłówku strony" msgid "Footer (image page)" -msgstr "Stopka (strona grafiki)" +msgstr "Stopka (strona obrazków)" #, php-format msgid "%s page" @@ -426,21 +436,15 @@ msgstr "%s strona" #, php-format msgid "Before header (%s page)" -msgstr "Przed nagłówkiem (strona %s)" +msgstr "Przed nagłówkiem (%s strony)" #, php-format msgid "After header (%s page)" -msgstr "Po nagłówku (strona %s)" +msgstr "Po nagłówku (%s strona)" msgid "User profile page" msgstr "Strona profilu użytkownika" -msgid "After top (user profile)" -msgstr "Na górze profilu użytkownika" - -msgid "Before listing (user profile)" -msgstr "Przed grafikami (profil użytkownika)" - msgid "Explore" msgstr "Eksploruj" @@ -491,45 +495,30 @@ msgstr "Błędny styl" msgid "Invalid value" msgstr "Błędna wartość" +msgid "font" +msgstr "font" + #, php-format msgid "Invalid %s" -msgstr "nieważny %s" +msgstr "Błędny %s" -msgid "Invalid theme image listing size" -msgstr "Nieprawidłowy rozmiar obrazu motywu" +msgid "palette" +msgstr "paleta" msgid "Invalid user id" -msgstr "Błędny identyfikator użytkownika" - -msgid "Invalid email mode" -msgstr "Błędny tryb e-maili" +msgstr "Błędne id użytkownika" msgid "Invalid SMTP port" msgstr "Błędny port SMTP" -msgid "Invalid SMTP security" -msgstr "Błędne zabezpieczenia SMTP" - -msgid "Invalid website mode" -msgstr "Błędny tryb strony" - -msgid "Invalid personal mode user ID" -msgstr "Nieprawidłowy identyfikator użytkownika trybu osobistego" - -msgid "Invalid or reserved route" -msgstr "Trasa nieprawidłowa lub zarezerwowana" - -msgid "Invalid website privacy mode" -msgstr "Nieprawidłowy tryb prywatności witryny" - -msgid "Invalid website content privacy mode" -msgstr "Błędny tryb prywatności" +msgid "Invalid homepage style" +msgstr "Błędny styl strony głównej" msgid "Invalid title" msgstr "Błędny tytuł" msgid "Invalid status" -msgstr "Nieprawidłowy status" +msgstr "Błędny status" msgid "Invalid type" msgstr "Błędny typ" @@ -538,53 +527,60 @@ msgid "Invalid icon" msgstr "Błędna ikona" msgid "Invalid file path" -msgstr "Niepoprawna ścieżka pliku" +msgstr "Błędna ścieżka pliku" msgid "Invalid link URL" -msgstr "Niepoprawny link URL" +msgstr "Błędny link URL" + +msgid "Invalid user minimum age" +msgstr "Błędny minimalny wiek użytkownika" msgid "Invalid URL" msgstr "Błędny URL" msgid "Invalid upload image path" -msgstr "Błędna ścieżka wysyłania grafik" - -#, php-format -msgid "Max. allowed %s" -msgstr "Maksymalny dozwolony %s" +msgstr "Nieprawidłowa ścieżka obrazu" msgid "Invalid SMTP server" -msgstr "Błędny serwer SMTPs" +msgstr "Błędny serwer SMTP" msgid "Invalid SMTP username" msgstr "Błędna nazwa użytkownika SMTP" +#, php-format +msgid "This file path is already being used by another page (ID %s)" +msgstr "Ta ścieżka pliku jest już używana przez inną stronę (ID %s)" + +#, php-format +msgid "Can't save page contents: %s." +msgstr "Nie można zapisać zawartości strony: %s." + msgid "Dashboard" msgstr "Panel kontrolny" +msgid "Following" +msgstr "Obserwowani" + msgid "About" msgstr "Informacje" +msgid "Comments" +msgstr "Komentarze" + msgid "Image ID" msgstr "Identyfikator grafiki" msgid "Upload date" msgstr "Data wysłania" -msgid "Direct links" -msgstr "Odnośniki bezpośrednie" +msgid "Image %i in %a album" +msgstr "Obraz %i w albumie %a" -msgid "Image link" -msgstr "Odnośnik do obrazka" +msgid "Image %i in %c category" +msgstr "Obraz %i w kategorii %c" -msgid "Image URL" -msgstr "Adres grafiki" - -msgid "Thumbnail URL" -msgstr "Odnośnik do miniaturki" - -msgid "Medium URL" -msgstr "Odnośnik do średniej grafiki" +msgid "Image %i hosted in %w" +msgstr "Obraz %i hostowany w %w" msgid "Start uploading" msgstr "Rozpocznij wysyłanie" @@ -595,14 +591,19 @@ msgstr "Logowanie wymagane" msgid "Image" msgid_plural "Images" msgstr[0] "Grafika" -msgstr[1] "Grafiki" -msgstr[2] "Grafik" +msgstr[1] "" +msgstr[2] "" + +#, php-format +msgid "%s doesn't exists" +msgstr "%s nie istnieje" msgid "Category" msgstr "Kategoria" -msgid "IP address already banned" -msgstr "Adres IP jest już zablokowany" +#, php-format +msgid "%s URL key already being used." +msgstr "Adres RL %s jest już używany." msgid "Missing values" msgstr "Brakujące wartości" @@ -610,22 +611,78 @@ msgstr "Brakujące wartości" msgid "Invalid username" msgstr "Błędna nazwa użytkownika" +msgid "Invalid role" +msgstr "Niewłaściwa rola" + msgid "Username already being used" msgstr "Nazwa użytkownika jest już używana" +#, php-format +msgid "%s added" +msgstr "%s dodany" + +msgid "IP address already banned" +msgstr "Adres IP jest już zablokowany" + +#, php-format +msgid "%s not found" +msgstr "%s nie znaleziony" + +#, php-format +msgid "Add a password or another social connection before deleting %s" +msgstr "Dodaj hasło lub inne połączenie społecznościowe przed usunięciem %s" + +#, php-format +msgid "Add an email or another social connection before deleting %s" +msgstr "Dodaj e-mail lub inne połączenie społecznościowe przed usunięciem %s" + #, php-format msgid "%s has been disconnected." msgstr "%s został odłączony." +msgid "Test email from %s @ %t" +msgstr "Wiadomość testowa od %s @ %t" + msgid "This is just a test" msgstr "To tylko test" +#, php-format +msgid "Test email sent to %s." +msgstr "Testowa wiadomość e-mail wysłana do %s." + +#, php-format +msgid "Downloading %s data" +msgstr "Pobrano %s danych" + +#, php-format +msgid "%s %u followed" +msgstr "%s %u obserwowany" + +#, php-format +msgid "%s %u unfollowed" +msgstr "%s %u nieobserwowany" + +msgid "Content liked" +msgstr "Treści polubione" + +msgid "Content disliked" +msgstr "Treść niepolubiona" + msgid "%u liked your %t %c" msgstr "%u polubił Twój %t %c" #, php-format msgid "%u is now following you" -msgstr "%u zaczął Cię śledzić" +msgstr "%u zaczął Cię obserwować" + +msgid "A private user" +msgstr "Prywatny użytkownik" + +msgid "License key removed" +msgstr "Klucz licencyjny usunięty" + +msgid "License key updated" +msgstr "Klucz licencyjny zaktualizowany" msgid "Wrong Username/Email password combination" msgstr "Błędna kombinacja nazwy użytkownika lub adresu e-mail i hasła" @@ -636,8 +693,11 @@ msgstr "Zaloguj" msgid "Upload images" msgstr "Wyślij obrazy" +msgid "%t search results for %s" +msgstr "%t wyników wyszukiwania dla %s" + msgid "Search" -msgstr "Szukaj" +msgstr "Wyszukiwanie" msgid "Account" msgstr "Konto" @@ -648,6 +708,19 @@ msgstr "Profil" msgid "Password" msgstr "Hasło" +msgid "Security" +msgstr "Bezpieczeństwo" + +msgid "Connections" +msgstr "Połączenia" + +msgid "Powered by" +msgstr "Obsługiwany przez" + +#, php-format +msgid "Invalid image expiration: %s" +msgstr "Nieprawidłowy czas wygaśnięcia obrazu: %s" + #, php-format msgid "An email has been sent to %s with instructions to activate this email" msgstr "Wiadomość z instrukcjami aktywacji konta została wysłana na adres %s" @@ -686,15 +759,38 @@ msgstr "Ustawienia dla %s" msgid "Username" msgstr "Nazwa użytkownika" +msgid "user" +msgid_plural "users" +msgstr[0] "użytkownik" +msgstr[1] "" +msgstr[2] "użytkownicy" + +#, php-format +msgid "Do you really want to delete this %s?" +msgstr "Jesteś pewny, że chcesz usunąć %s?" + +msgid "This can't be undone." +msgstr "Tego nie można cofnąć." + msgid "Delete user" msgstr "Usuń użytkownika" msgid "User ID" msgstr "Identyfikator użytkownika" +msgid "Images" +msgstr "Grafiki" + msgid "Register date" msgstr "Data rejestracji" +msgid "You must agree to the terms and privacy policy" +msgstr "Musisz zgodzić się na warunki i politykę prywatności" + +#, php-format +msgid "You must be at least %s years old to use this website." +msgstr "Aby korzystać z tej witryny, musisz mieć co najmniej %s lat." + msgid "Create account" msgstr "Utwórz konto" @@ -706,10 +802,23 @@ msgstr "Albumy" #, php-format msgid "Liked by %s" -msgstr "%s polubień" +msgstr "Polubione przez %s" msgid "Liked" -msgstr "Polubień" +msgstr "Polubione" + +msgid "%t followed by %s" +msgstr "%t obserwowany przez %s" + +msgid "%t following %s" +msgstr "%t obserwuje %s" + +msgid "Followers" +msgstr "Obserwujący" + +#, php-format +msgid "Search results for %s" +msgstr "Wyniki wyszukiwania dla %s" msgid "album" msgid_plural "albums" @@ -720,6 +829,9 @@ msgstr[2] "albumów" msgid "Flooding detected. You can only upload %limit% %content% per %time%" msgstr "Wykryto flooding. Możesz przesłać tylko %limit% %content% przez %time%" +msgid "Unnamed" +msgstr "Nienazwany" + msgid "Note: This content is private but anyone with the link will be able to see this." msgstr "Uwaga: Ta zawartość jest prywatna, ale każda osoba posiadająca link może ją zobaczyć." @@ -822,6 +934,10 @@ msgstr "dorosły" msgid "teen" msgstr "nastolatek" +#, php-format +msgid "Content of type %s is forbidden" +msgstr "Zawartość typu %s jest niedozwolona" + #, php-format msgid "Can't create %s destination dir" msgstr "Nie można utworzyć katalogu docelowego %s" @@ -868,6 +984,37 @@ msgstr "%s temu" msgid "moments ago" msgstr "chwilę temu" +msgid "There is an update available for your system." +msgstr "Są dostępne aktualizacje." + +#, php-format +msgid "Go to %s to download and install this update." +msgstr "Przejdź do %s, aby pobrać i zainstalować tę aktualizację." + +msgid "System database is outdated." +msgstr "Baza danych systemu jest nieaktualna." + +msgid "Update" +msgstr "Aktualizacja" + +#, php-format +msgid "You need to %s." +msgstr "Musisz %s." + +msgid "Website is in maintenance mode." +msgstr "Witryna jest w trybie konserwacji." + +#, php-format +msgid "To revert this setting go to %s." +msgstr "Aby przywrócić to ustawienie, przejdź do %s." + +#, php-format +msgid "%s settings" +msgstr "%s ustawienia" + +msgid "You haven't changed the default email settings. Go to %emailSettings% to fix this." +msgstr "Nie zmieniłeś domyślnych ustawień poczty e-mail. Przejdź do %emailSettings%, aby to zmienić." + msgid "Discovery" msgstr "Odkrywaj" @@ -880,6 +1027,10 @@ msgstr "Zamknij" msgid "Advanced search" msgstr "Wyszukiwanie zaawansowane" +#, php-format +msgid "Notices (%s)" +msgstr "Powiadomienia (%s)" + msgid "Notifications" msgstr "Powiadomienia" @@ -892,6 +1043,15 @@ msgstr "Nie masz żadnych powiadomień" msgid "My Profile" msgstr "Mój profil" +msgid "Palette" +msgstr "Paleta" + +msgid "Administrator" +msgstr "Administrator" + +msgid "Manager" +msgstr "Menadżer" + msgid "Sign out" msgstr "Wyloguj się" @@ -930,37 +1090,80 @@ msgid "Error deleting profile background image." msgstr "Wystąpił błąd podczas usuwanie grafiki tła profilu." #, javascript-format -msgid "Update available v%s" -msgstr "Dostępna aktualizacja v%s" +msgid "Chevereto v%s available" +msgstr "Chevereto v%s jest dostępne" + +msgid "There is a new Chevereto version available with the following release notes." +msgstr "Dostępna jest nowa wersja Chevereto z następującymi zmianami dotyczącymi wydania." + +#, javascript-format +msgid "Check %s for a complete changelog since you last upgrade." +msgstr "Sprawdź %s, aby uzyskać pełny dziennik zmian od ostatniej aktualizacji." + +msgid "documentation" +msgstr "dokumentacja" + +#, javascript-format +msgid "Check the %s for alternative update methods." +msgstr "Sprawdź %s dla alternatywnych metod aktualizacji." #, javascript-format msgid "This website is running latest %s version" msgstr "Masz najnowszą wersję %s" +#, javascript-format +msgid "Chevereto v%s installed" +msgstr "Chevereto v%s zainstalowany" + +msgid "Usage of Chevereto Software must be in compliance with the software license terms known as \"The Chevereto License\"." +msgstr "Korzystanie z Oprogramowania Chevereto musi być zgodne z warunkami licencji oprogramowania znanymi jako „Licencja Chevereto”." + +msgid "License agreement" +msgstr "Umowa licencyjna" + msgid "Please review the system requirements before proceeding" msgstr "Przed kontynuowaniem przejrzyj wymagania systemowe" -msgid "Like" -msgstr "Lubię to" +#, javascript-format, php-format +msgid "Get a license at %s to unlock all features and support." +msgstr "Uzyskaj licencję w %s, aby odblokować wszystkie funkcje i wsparcie." + +msgid "You can enter your license key in the dashboard panel." +msgstr "Klucz licencyjny można wprowadzić w panelu pulpitu nawigacyjnego." + +msgid "Enter license" +msgstr "Wprowadź licencję" msgid "Create album" msgstr "Utwórz album" -msgid "Edit" -msgstr "Edytuj" - msgid "Approve" msgstr "Zatwierdź" msgid "Delete" msgstr "Usuń" -msgid "Previous" -msgstr "Poprzedni" +msgid "Edit" +msgstr "Edytuj" + +msgid "Toggle flag" +msgstr "Przełącz flagę" + +msgid "Like" +msgstr "Lubię to" msgid "Next" msgstr "Następny" +msgid "Previous" +msgstr "Poprzedni" + +msgid "Toggle select" +msgstr "Zmień zaznaczenie" + +msgid "Zoom" +msgstr "Powiększ" + msgid "File too big." msgstr "Plik jest zbyt duży." @@ -970,12 +1173,21 @@ msgstr "Nieprawidłowy lub nieobsługiwany format pliku." msgid "Some files couldn't be added" msgstr "Część plików nie mogła zostać dodana" +msgid "Some files couldn't be loaded" +msgstr "Niektóre pliki nie mogą być załadowane" + +msgid "file" +msgid_plural "files" +msgstr[0] "plik" +msgstr[1] "" +msgstr[2] "pliki" + #, javascript-format msgid "%s's Albums" msgstr "Albumy użytkownika %s" -msgid "Image edited successfully." -msgstr "Grafika została edytowana pomyślnie." +msgid "File edited successfully." +msgstr "Plik został pomyślnie edytowany." msgid "private" msgstr "prywatny" @@ -1013,12 +1225,19 @@ msgstr "Blokada IP usunięta" msgid "Please fill all the required fields." msgstr "Wypełnij wszystkie wymagane pola." +msgid "Invalid storage capacity value. Make sure to use a valid format." +msgstr "Nieprawidłowa wartość pojemności pamięci. Upewnij się, że używasz prawidłowego formatu." + msgid "Invalid URL." msgstr "Błędny URL" msgid "Storage successfully edited." msgstr "Pomyślnie edytowano pamięć." +#, javascript-format +msgid "%s added successfully." +msgstr "%s pomyślnie dodano." + msgid "The content has been deleted." msgstr "Zawartość została usunięta." @@ -1067,6 +1286,12 @@ msgstr "Potwierdź akcję" msgid "information" msgstr "informacja" +msgid "Paste" +msgstr "Wklej" + +msgid "Right click" +msgstr "Kliknij prawym przyciskiem myszy" + msgid "We received a request to change the email of your %n account at %w." msgstr "Otrzymaliśmy prośbę zmiany adresu e-mail twojego konta %n na %w." @@ -1079,14 +1304,14 @@ msgid "Alternatively you can copy and paste the URL into your browser: %s" msgid "If you didn't intend this just ignore this message." -msgstr "Jeśli tego nie chcesz, po prostu zignoruj tę wiadomość." +msgstr "Jeśli to nie Ty wysłałeś tę prośbę po prostu zignoruj tę wiadomość." #, php-format msgid "This request was made from IP: %s" msgstr "Prośba została dodana z następującego adresu IP: %s" msgid "We received a request to register the %n account at %w." -msgstr "Otrzymaliśmy prośbę o rejestrację konta %n na %w." +msgstr "Otrzymaliśmy prośbę rejestracji konta %n na %w." #, php-format msgid "To complete the process you must activate your account." @@ -1106,7 +1331,7 @@ msgid "Now that your account is ready you can enjoy uploading your images, creat msgstr "Teraz, gdy Twoje konto jest gotowe, możesz cieszyć się wysyłaniem grafik, tworzeniem albumów i ustawianiem prywatności, a także odkrywaniem innych wspaniałych funkcji." msgid "By the way, here is you very own awesome profile page: %n. Go ahead and customize it, its yours!." -msgstr "Tak przy okazji, tutaj jest Twoja własna wspaniała strona profilowa: %n. Rozejrzyj się i ją spersonalizuj, jest Twoja!" +msgstr "Tak przy okazji, tutaj jest Twoja własna strona profilu: %n. Możesz ją spersonalizować, jest Twoja!" msgid "Thank you for joining" msgstr "Dziękujemy za dołączenie do nas" @@ -1114,20 +1339,24 @@ msgstr "Dziękujemy za dołączenie do nas" msgid "This email was sent from %w %u" msgstr "Ta wiadomość e-mail została wysłana z %w %u" -msgid "Drag and drop or paste images here to upload" -msgstr "Przeciągnij lub wklej obrazy tutaj" +msgid "Drag and drop or paste files here to upload" +msgstr "Przeciągnij i upuść lub wklej pliki tutaj, aby je przesłać" -msgid "Select the images to upload" -msgstr "Wybierz grafikę do wysłania" +msgid "Select the files to upload" +msgstr "Wybierz pliki do przesłania" msgid "You can also %i or %u." msgstr "Możesz także %i lub %u." +#, php-format +msgid "You can also %s." +msgstr "Możesz także %s." + msgid "browse from your computer" msgstr "przejrzeć swój komputer" -msgid "add image URLs" -msgstr "dodać adresy obrazów" +msgid "add file URLs" +msgstr "Użyć adres sieciowy pliku" msgid "You can also %i, %c or %u." msgstr "Możesz także %i, %c lub %u." @@ -1135,11 +1364,21 @@ msgstr "Możesz także %i, %c lub %u." msgid "You can also %i or %c." msgstr "Możesz wybrać %i lub %c." -msgid "browse from your device" -msgstr "przeglądaj ze swojego urządzenia" +msgid "browse from device" +msgstr "przeglądaj z urządzenia" -msgid "take a picture" -msgstr "zrób zdjęcie" +msgid "use camera" +msgstr "użyj kamery" + +#, php-format +msgid "Register to get %s" +msgstr "Zarejestruj się, aby uzyskać %s" + +msgid "clicking" +msgstr "klikając" + +msgid "Customize upload by %action% on any preview" +msgstr "Dostosuj ustawienia zdjęcia (tytuł, tagi, opis) %action% na dowolnej miniaturze" msgid "Uploading %q %o" msgstr "Wysyłanie %q %o" @@ -1147,17 +1386,53 @@ msgstr "Wysyłanie %q %o" msgid "complete" msgstr "zakończono" +msgid "The queue is being uploaded, it should take just a few seconds to complete." +msgstr "Kolejka jest przesyłana, jej ukończenie powinno zająć tylko kilka sekund." + msgid "Upload complete" msgstr "Wysyłanie zakończone" +#, php-format +msgid "Uploaded content added to %s." +msgstr "Przesłana zawartość dodana do %s." + +#, php-format +msgid "create new %s" +msgstr "stwórz nowy %s" + +#, php-format +msgid "move it to an existing %s" +msgstr "przenieś do istniejącego %s" + msgid "create an account" msgstr "utwórz konto" msgid "sign in" msgstr "zaloguj" +#, php-format +msgid "No %s have been uploaded" +msgstr "Nie %s zostały przesłane" + +msgid "Some errors have occurred and the system couldn't process your request." +msgstr "Wystąpiły pewne błędy i system nie mógł przetworzyć żądania." + +msgid "category" +msgstr "kategorie" + +#, php-format +msgid "Select %s" +msgstr "Wybierz %s" + +msgid "Auto delete" +msgstr "Automatyczne kasowanie" + msgid "Sign up" -msgstr "Zaloguj" +msgstr "Zarejestruj się" + +#, php-format +msgid "%s to be able to customize or disable image auto delete." +msgstr "%s aby móc dostosować lub wyłączyć automatyczne usuwanie obrazów." msgid "Mark this if the upload is not family safe" msgstr "Oznacz tę pozycję jako tylko dla dorosłych" @@ -1171,6 +1446,9 @@ msgstr "Wysyłanie" msgid "cancel remaining" msgstr "anuluj pozostałe" +msgid "Note: Some files couldn't be uploaded." +msgstr "Uwaga: niektórych plików nie można przesłać." + msgid "learn more" msgstr "dowiedz się więcej" @@ -1180,6 +1458,12 @@ msgstr "Sprawdź r msgid "reset" msgstr "resetuj" +msgid "Note" +msgstr "Notatka" + +msgid "We must approve the uploaded content before being able to share." +msgstr "Musimy zatwierdzić przesłaną zawartość przed jej udostępnieniem." + msgid "copy" msgstr "kopiuj" @@ -1189,6 +1473,13 @@ msgstr "wstaw" msgid "Remove" msgstr "Usuń" +msgid "upload" +msgstr "prześlij" + +#, php-format +msgid "Edit %s" +msgstr "Edytuj %s" + msgid "Title" msgstr "Tytuł" @@ -1216,44 +1507,74 @@ msgstr "Ustaw ograniczenia wiekowe" msgid "Description" msgstr "Opis" -msgid "Add image URLs" -msgstr "Dodaj adresy obrazów" +#, php-format +msgid "Brief description of this %s" +msgstr "Krótki opis do %s" -msgid "Add the image URLs here" -msgstr "Dodaj tutaj adresy grafik" +msgid "File URLs" +msgstr "Adres URL pliku" + +msgid "Add file URLs here" +msgstr "Dodaj tutaj adresy URL plików" + +#, php-format +msgid "Create %s" +msgstr "Utwórz %s" + +msgid "The uploaded content will be moved to this newly created album." +msgstr "Przesłana zawartość zostanie przeniesiona do tego nowo utworzonego albumu." + +msgid "You must %s or %l if you want to edit this album later on." +msgstr "Musisz %s lub %l, jeśli chcesz edytować ten album później." + +#, php-format +msgid "Move to %s" +msgstr "Przenieś do %s" + +msgid "Select an existing album to move the uploaded content." +msgstr "Wybierz istniejący album, aby przenieść przesłaną zawartość." msgid "Error report" msgstr "Raport błędu" -msgid "Links" -msgstr "Odnośniki" +msgid "Viewer" +msgstr "Przeglądarka" msgid "Direct" msgstr "Bezposrednio" -msgid "HTML Codes" -msgstr "Kody HTML" +msgid "Frame" +msgstr "Ramka" -msgid "HTML image" -msgstr "obraz HTML" +msgid "Thumbnail" +msgstr "Miniatura" -msgid "HTML medium linked" -msgstr "Kod HTML do średniej grafiki z odnośnikiem" +msgid "embed" +msgstr "osadzony" -msgid "HTML thumbnail linked" -msgstr "Kod HTML do miniaturki z odnośnikiem" +#, php-format +msgid "%s full linked" +msgstr "%s w pełni połączony" -msgid "BBCodes" -msgstr "BBCode" +#, php-format +msgid "%s thumbnail linked" +msgstr "%s powiązane z miniaturą" -msgid "BBCode medium linked" -msgstr "BBCode do średniej grafiki z odnośnikiem" +#, php-format +msgid "%s full" +msgstr "%s pełny" -msgid "BBCode thumbnail linked" -msgstr "BBCode do miniaturki z odnośnikiem" +msgid "All these words" +msgstr "Wszystkie te słowa" -msgid "Viewer links" -msgstr "Odnośniki do przeglądarki" +msgid "This exact word or phrase" +msgstr "Dokładnie to słowo lub wyrażenie" + +msgid "None of these words" +msgstr "Żadne z tych słów" + +msgid "Storage" +msgstr "Pamięć masowa" msgid "IP address" msgstr "Adres IP" @@ -1261,6 +1582,32 @@ msgstr "Adres IP" msgid "Name" msgstr "Imię" +#, php-format +msgid "Unnamed %s" +msgstr "Nieoznaczony %s" + +msgid "Call to action" +msgstr "Wezwanie do działania" + +msgid "Enable call to action buttons" +msgstr "Włącz przyciski wezwania do działania" + +#, php-format +msgid "Call to action buttons will be displayed on the %s page and in content belonging to." +msgstr "Przyciski wezwania do działania będą wyświetlane na stronie %s i w treści należącej do niej." + +msgid "You can use %emoji% or %package% icons." +msgstr "Możesz używać ikon %emoji% lub %package%." + +msgid "Label" +msgstr "Etykieta" + +msgid "Buy now" +msgstr "Kup teraz" + +msgid "Icon" +msgstr "Ikona" + msgid "Privacy" msgstr "Prywatność" @@ -1276,12 +1623,54 @@ msgstr "Prywatny (każda osoba z linkiem)" msgid "Private (password protected)" msgstr "Prywatny (chroniony hasłem)" +msgid "Change password" +msgstr "Zmiana hasła" + +msgid "Set password" +msgstr "Ustaw hasło" + +#, php-format +msgid "%s name" +msgstr "%s nazwa" + msgid "URL key" msgstr "Klucz URL" +#, php-format +msgid "%s URL key" +msgstr "%s klucz URL" + +msgid "Only letters, numbers, and hyphens" +msgstr "Tylko litery, cyfry i myślniki" + +msgid "Flag not safe" +msgstr "Oznacz jako niebezpieczne" + msgid "Path" msgstr "Ścieżka" +msgid "Local path (absolute)" +msgstr "Ścieżka lokalna (absolutna)" + +msgid "Directory structure" +msgstr "Struktura katalogów" + +msgid "Don't parse folders" +msgstr "Nie analizuj folderów" + +msgid "Threads" +msgstr "Wątek" + +msgid "Select number of threads" +msgstr "Wybierz liczbę wątków" + +#, php-format +msgid "This determines how intensive and fast will be the import process. Don't use more than %s threads on a shared server." +msgstr "Określa to, jak intensywny i szybki będzie proces importu. Nie używaj więcej niż %s wątków na serwerze współdzielonym." + +msgid "You can use wildcard * characters." +msgstr "Można użyć znaków *." + msgid "Expiration date" msgstr "Data wygasania" @@ -1294,12 +1683,34 @@ msgstr "Przykład" msgid "Message" msgstr "Wiadomość" +msgid "Text message, HTML or a redirect URL" +msgstr "Wiadomość tekstowa, HTML lub przekierowany adres URL" + +msgid "Storage name" +msgstr "Nazwa magazynu" + +msgid "Region" +msgstr "Obszar" + +msgid "Storage region" +msgstr "Obszar pamięci" + msgid "Key" msgstr "Klucz" msgid "Private key" msgstr "Klucz prywatny" +msgid "Google Cloud JSON key" +msgstr "Klucz Google Cloud JSON" + +#, php-format +msgid "You will need a service account for this." +msgstr "Będziesz potrzebować <%s>konta usługi do tego." + +msgid "Service name" +msgstr "Nazwa usługi" + msgid "Server path" msgstr "Ścieżka serwera" @@ -1315,6 +1726,16 @@ msgstr "wyświetl więcej" msgid "Load more" msgstr "Załaduj więcej" +msgid "Clear" +msgstr "Wyczyść" + +msgid "Actions" +msgstr "Akcje" + +#, php-format +msgid "Assign %s" +msgstr "Przyporządkuj %s" + msgid "Flag as safe" msgstr "Usuń ograniczenia wiekowe" @@ -1324,12 +1745,22 @@ msgstr "Wybierz wszystkie" msgid "Clear selection" msgstr "Wyczyść zaznaczenie" +#, php-format +msgid "Create new %s" +msgstr "Stwórz nowy %s" + msgid "Sign in with another account" msgstr "Zaloguj się przy użyciu innego konta" +msgid "Sign in with %label%" +msgstr "Zaloguj się przez %label%" + msgid "There's nothing to show here." msgstr "Nie ma tutaj nic do wyświetlenia." +msgid "Selection will be assigned to %t." +msgstr "Wybór zostanie przypisany do %t." + msgid "There is no categories." msgstr "Brak kategorii." @@ -1345,14 +1776,42 @@ msgstr "Potwierdź ustawienie ograniczeń wiekowych" msgid "Do you really want to flag this content as unsafe?" msgstr "Czy naprawdę chcesz ustawić ograniczenia wiekowe tej zawartości?" +msgid "Confirm approval" +msgstr "Potwierdź" + +msgid "Do you really want to approve this content?" +msgstr "Czy na pewno chcesz zatwierdzić tę zawartość?" + msgid "Confirm deletion" msgstr "Potwierdź usunięcie" +msgid "Do you really want to remove this content?" +msgstr "Czy na pewno chcesz usunąć tę zawartość?" + +msgid "Do you really want to approve all the selected content?" +msgstr "Czy na pewno chcesz zatwierdzić całą wybraną zawartość?" + +msgid "Do you really want to remove all the selected content?" +msgstr "Czy na pewno chcesz usunąć całą wybraną zawartość?" + msgid "Guest" msgstr "Gość" +msgid "Private album" +msgstr "Prywatny album" + +msgid "Uploaded by guest" +msgstr "Przesłane przez gościa" + +msgid "Uploaded by private" +msgstr "Wgrane prywatnie" + +#, php-format +msgid "by %u" +msgstr "przez %u" + msgid "Toggle unsafe flag" -msgstr "Przełącz ustawienia wiekowe" +msgstr "Ustaw ograniczenie wiekowe" msgid "You either don't have permission to access this page or the link has expired." msgstr "Nie masz uprawnień do dostępu do tej strony albo odnośnik już wygasł." @@ -1398,6 +1857,10 @@ msgstr "Poprzednia wiadomość z instrukcjami resetowania hasła została wysła msgid "Resend instructions" msgstr "Wyślij instrukcje ponownie" +#, php-format +msgid "Enter your username or email address to continue. You may need to check your spam folder or whitelist %s" +msgstr "Wprowadź nazwę użytkownika lub adres e-mail, aby kontynuować. Może być konieczne sprawdzenie folderu spamu lub białej listy %s" + msgid "Username or Email address" msgstr "Nazwa użytkownika lub adres e-mail" @@ -1414,9 +1877,19 @@ msgstr "Wpisz swoje nowe hasło" msgid "%d characters min" msgstr "minimum %d znaków" +msgid "Password strength" +msgstr "Siła hasła" + msgid "Re-enter your new password" msgstr "Wpisz ponownie swoje nowe hasło" +#, php-format +msgid "An email to %s has been sent with instructions to activate your account. If you don't receive the instructions try checking your junk or spam filters." +msgstr "E-mail do %s został wysłany z instrukcjami aktywacji konta. Jeśli nie otrzymasz instrukcji, spróbuj sprawdzić filtry spamu." + +msgid "Unable to authenticate?" +msgstr "Nie można uwierzytelnić?" + msgid "If you lost your authentication device you must contact the system administrator." msgstr "W przypadku utraty urządzenia uwierzytelniającego należy skontaktować się z administratorem strony." @@ -1429,6 +1902,9 @@ msgstr "Kod bezpieczeństwa" msgid "Sub album" msgstr "Album podrzędny" +msgid "Do you really want to delete this %a and all of its %i?" +msgstr "Czy naprawdę chcesz usunąć? %a i wszystko %i?" + msgid "Upload to album" msgstr "Wyślij do albumu" @@ -1445,21 +1921,144 @@ msgstr "Zanim przejdziesz dalej, przeczytaj i zaakceptuj następujące warunki:" msgid "This website contains information, links and images of sexually explicit material. If you are under the age of %s, if such material offends you or if it's illegal to view such material in your community please do not continue.\n\nI am at least %s years of age and I believe that as an adult it is my inalienable right to receive/view sexually explicit material. I desire to receive/view sexually explicit material. \n\nI believe that sexual acts between consenting adults are neither offensive nor obscene. The viewing, reading and downloading of sexually explicit materials does not violate the standards of my community, town, city, state or country.\n\nThe sexually explicit material I am viewing is for my own personal use and I will not expose minors to the material.\n\nI am solely responsible for any false disclosures or legal ramifications of viewing, reading or downloading any material in this site. Furthermore this website nor its affiliates will be held responsible for any legal ramifications arising from fraudulent entry into or use of this website.\n\nThis consent screen constitutes a legal agreement between this website and you and/or any business in which you have any legal or equitable interest. If any portion of this agreement is deemed unenforceable by a court of competent jurisdiction it shall not affect the enforceability of the other portions of the agreement." msgstr "Ta strona internetowa zawiera informacje, linki i obrazy o charakterze jednoznacznie seksualnym. Jeśli masz mniej niż %s lat, jeśli takie materiały Cię obrażają lub jeśli oglądanie takich materiałów w Twojej społeczności jest nielegalne, nie kontynuuj.\n\nMam co najmniej %s lat i uważam, że jako osoba dorosła mam niezbywalne prawo do otrzymywania/przeglądania materiałów o charakterze jednoznacznie seksualnym. Chcę otrzymywać/oglądać materiały o charakterze jednoznacznie seksualnym.\n\nUważam, że akty seksualne między wyrażającymi zgodę dorosłymi nie są ani obraźliwe, ani nieprzyzwoite. Oglądanie, czytanie i pobieranie materiałów o charakterze jednoznacznie seksualnym nie narusza standardów mojej społeczności lub kraju.\n\nMateriały o charakterze jednoznacznie seksualnym, które oglądam, są przeznaczone na mój własny użytek i nie będę narażać nieletnich na kontakt z tymi materiałami.\n\nPonoszę wyłączną odpowiedzialność za wszelkie fałszywe ujawnienia lub konsekwencje prawne przeglądania, czytania lub pobierania jakichkolwiek materiałów z tej witryny. Ponadto ta witryna internetowa ani jej podmioty stowarzyszone nie ponoszą odpowiedzialności za jakiekolwiek konsekwencje prawne wynikające z nieuczciwego wejścia na tę witrynę lub korzystania z niej.\n\nTen ekran zgody stanowi umowę prawną między tą witryną a Tobą i/lub jakąkolwiek firmą, w której masz jakikolwiek prawny lub słuszny interes. Jeżeli jakakolwiek część niniejszej umowy zostanie uznana przez właściwy sąd za niewykonalną, nie wpłynie to na wykonalność pozostałych części umowy." +msgid "By clicking in \"I Agree\" you declare that you have read and understood all the conditions mentioned above." +msgstr "Klikając „Zgadzam się”, oświadczasz, że przeczytałeś i zrozumiałeś wszystkie wyżej wymienione warunki." + msgid "I Agree" msgstr "Zgadzam się" -msgid "documentation" -msgstr "dokumentacja" +#, php-format +msgid "Learn about %s at our %d." +msgstr "Dowiedz się więcej o %s w naszej %d." msgid "Check the errors to proceed." msgstr "Sprawdź błędy, aby kontynuować." +msgid "Queued" +msgstr "W kolejce" + +msgid "Working" +msgstr "Pracuje" + +msgid "Paused" +msgstr "Wstrzymane" + +msgid "Canceled" +msgstr "Wycofany" + +msgid "Completed" +msgstr "Zakończono" + +msgid "Process" +msgstr "Proces" + +msgid "Pause" +msgstr "Pauza" + +msgid "Cancel" +msgstr "Anuluj" + +msgid "Process log" +msgstr "Rejestr procesów" + +msgid "Errors" +msgstr "Błąd" + +#, php-format +msgid "Do you really want to remove the import ID %s?" +msgstr "Czy na pewno chcesz usunąć identyfikator importu %s?" + +msgid "Reset" +msgstr "Resetuj" + +msgid "Resume" +msgstr "Wznów" + +msgid "Status" +msgstr "Status" + +msgid "Run the following command to import content to Chevereto:" +msgstr "Uruchom następujące polecenie, aby zaimportować zawartość do Chevereto:" + +#, php-format +msgid "Read the %s for more information about this feature." +msgstr "Przeczytaj %s więcej informacji o tej funkcji." + +msgid "Single profile" +msgstr "Pojedynczy profil" + +#, php-format +msgid "This setting is always disabled when using %s website mode." +msgstr "To ustawienie jest zawsze wyłączone, gdy używany jest tryb strony %s." + +msgid "Dashboard > Settings > Website" +msgstr "Pulpit nawigacyjny > Ustawienia > Strona" + +#, php-format +msgid "Do you really want to delete %s?" +msgstr "Czy naprawdę chcesz usunąć %s?" + +msgid "Shows a consent screen before accessing the website. Useful for adult content websites where minors shouldn't be allowed." +msgstr "Wyświetla ekran zgody przed uzyskaniem dostępu do strony internetowej. Przydatny w witrynach z treściami dla dorosłych, w których nieletni nie powinni być dopuszczeni." + +msgid "Enable consent screen" +msgstr "Włącz ekran zgody" + +msgid "Consent screen cover image" +msgstr "Obrazek ekranu zgody" + msgid "Show not safe content in listings" msgstr "Pokaż na listach zawartości tylko dla dorosłych" +msgid "Enable this if you want to show not safe content in listings." +msgstr "Włącz tę opcję, jeśli chcesz wyświetlać niebezpieczne treści w listach." + +msgid "Can be overridden by user own settings." +msgstr "Może zostać zastąpiony przez własne ustawienia użytkownika." + +msgid "This setting doesn't affect administrators." +msgstr "To ustawienie nie wpływa na administratorów." + +msgid "Blur NSFW content in listings" +msgstr "Rozmyj zawartość NSFW" + +msgid "Enable this if you want to apply a blur effect on the NSFW images in listings." +msgstr "Włącz to, jeśli chcesz zastosować efekt rozmycia na obrazach NSFW." + +msgid "Show not safe content in random mode" +msgstr "Wyświetlanie niebezpiecznej zawartości w trybie losowym" + +msgid "Show banners in not safe content" +msgstr "Wyświetlanie banerów w treściach niebezpiecznych" + +msgid "Enable this if you want to show banners in not safe content pages." +msgstr "Włącz to, jeśli chcesz wyświetlać bannery na stronach z treściami nieodpowiednimi." + +#, php-format +msgid "Lock %s editing" +msgstr "Zablokuj edycję %s" + +msgid "Enable this to prevent users from changing the NSFW flag. When enabled, only admin and managers will have this permission." +msgstr "\"Włącz to, aby zapobiec użytkownikom w zmianie flagi NSFW. Gdy ta opcja jest włączona, tylko administratorzy i menedżerowie będą mieli te uprawnienia." + +msgid "One rule per line" +msgstr "Jedna reguła na linię" + +msgid "Define words that won't be allowed for content." +msgstr "Zdefiniuj słowa, które nie będą dozwolone w treści." + msgid "Cookie law compliance" msgstr "Zgodność z przepisami dotyczącymi plików cookie" +msgid "Enable this to display a message that complies with the EU Cookie law requirements. Note: You only need this if your website is hosted in the EU and if you add tracking cookies." +msgstr "Włącz to, aby wyświetlić komunikat zgodny z wymogami prawa UE dotyczącymi plików cookie. Uwaga: potrzebujesz tego tylko wtedy, gdy Twoja witryna jest hostowana w UE i jeśli dodasz śledzące pliki cookie." + +msgid "email delivery" +msgstr "dostarczanie e-maili" + +msgid "Don't forget to test %t at %s" +msgstr "Nie zapomnij przetestować %t w %s." + msgid "From name" msgstr "Nazwa nadawcy" @@ -1502,6 +2101,24 @@ msgstr "Bezpieczeństwo SMTP" msgid "Unsecured" msgstr "Niezabezpieczony" +msgid "Comments API" +msgstr "API komentarzy" + +#, php-format +msgid "Disqus API works with %s." +msgstr "Interfejs API Disqus współpracuje z %s." + +msgid "Disqus shortname" +msgstr "Disqus krótka nazwa" + +#, php-format +msgid "%s secret key" +msgstr "%s tajny klucz" + +#, php-format +msgid "%s public key" +msgstr "%s publiczny klucz" + msgid "Comment code" msgstr "Kod komentarzy" @@ -1514,12 +2131,73 @@ msgstr "Kod Analytics" msgid "Google Analytics or anything you want. It will be added to the theme footer." msgstr "Google Analytics lub cokolwiek innego. Zostanie dodany w stopce stylu." +#, php-format +msgid "%s spam protection" +msgstr "%s ochrona przed spamem" + +msgid "user generated content" +msgstr "treści generowane przez użytkowników" + +msgid "Enable this to use %l to block spam on %c." +msgstr "Włącz to, aby używać %l do blokowania spamu w %c." + +#, php-format +msgid "%s API key" +msgstr "%s klucz API" + +msgid "user signup" +msgstr "rejestracja użytkownika" + +#, php-format +msgid "%s site key" +msgstr "%s klucz witryny" + +msgid "How many failed attempts are needed to ask for CAPTCHA? Use zero (0) to always show CAPTCHA." +msgstr "Ile nieudanych prób jest potrzebnych, aby poprosić o CAPTCHA? Użyj zera (0), aby zawsze wyświetlać CAPTCHA." + +#, php-format +msgid "Force %s on contact page" +msgstr "Wymuś %s na stronie kontaktowej" + +#, php-format +msgid "Enable this to always show %s on contact page." +msgstr "Włącz tę opcję, aby zawsze wyświetlać %s na stronie kontaktowej." + +#, php-format +msgid "Use %s to combat child sexual abuse material (CSAM)." +msgstr "Używaj %s do zwalczania materiałów przedstawiających seksualne wykorzystywanie dzieci (CSAM)." + +#, php-format +msgid "Automatically moderate the content using the %s service." +msgstr "Automatycznie moderuj zawartość za pomocą usługi %s." + +msgid "Automatic approve" +msgstr "Automatyczne zatwierdzanie" + +msgid "Enable this to automatically approve content moderated by this service." +msgstr "Włącz tę opcję, aby automatycznie zatwierdzać treści moderowane przez tę usługę." + +msgid "Block content" +msgstr "Blokuj treść" + +msgid "Adult" +msgstr "Dorosły" + +msgid "Teen and adult" +msgstr "Nastolatki i dorośli" + +msgid "Flag NSFW" +msgstr "Flaga NSFW" + msgid "Twitter account" msgstr "Konto na Twitterze" msgid "Toggle this to enable or disable HTTPS" msgstr "Przełącz to, aby włączyć lub wyłączyć HTTPS" +msgid "Toggle this to enable or disable this storage" +msgstr "Przełącz, aby włączyć lub wyłączyć tę pamięć masową." + msgid "Quota" msgstr "Udział" @@ -1532,6 +2210,172 @@ msgstr "Metoda przychowywania" msgid "Disk used" msgstr "Zajęta powierzchnia dyskowa" +msgid "Local storage is used by default or when no external storage is active." +msgstr "Lokalna pamięć masowa jest używana domyślnie lub gdy nie jest aktywna pamięć zewnętrzna." + +msgid "storage" +msgstr "magazyn" + +msgid "Enabled file extensions" +msgstr "Włączone rozszerzenia plików" + +msgid "Unsupported in your server" +msgstr "Nieobsługiwane na serwerze" + +msgid "Only checked file extensions will be allowed to be uploaded." +msgstr "Tylko zaznaczone rozszerzenia plików będą mogły być przesyłane." + +msgid "Enable uploads" +msgstr "Włącz wysyłanie" + +#, php-format +msgid "Enable this if you want to allow %s uploads." +msgstr "Włącz tę opcję, jeśli chcesz zezwolić na przesyłanie %s." + +msgid "Enable this if you want to allow file upload from URLs." +msgstr "Włącz to, jeśli chcesz zezwolić na przesyłanie plików z adresów URL." + +msgid "Note that enabling this will expose your server IP." +msgstr "Pamiętaj, że włączenie tego spowoduje ujawnienie IP Twojego serwera." + +msgid "This feature is available only for administrators." +msgstr "Ta funkcja jest dostępna tylko dla administratorów." + +msgid "Upload user interface" +msgstr "Interfejs przesyłania" + +msgid "Guest uploads" +msgstr "Wysyłanie dla gości" + +msgid "Enable this if you want to allow non registered users to upload." +msgstr "Włącz to, aby umożliwić wysyłanie dla osób niezarejestrowanych" + +msgid "Moderate uploads" +msgstr "Moderuj przesyłane pliki" + +msgid "Enable this to moderate incoming uploads. Target content will require moderation for approval." +msgstr "Włącz to, aby moderować nadchodzące przesyłane pliki. Docelowa treść będzie wymagała moderacji w celu zatwierdzenia." + +msgid "Enable embed codes (uploader)" +msgstr "Włącz kody osadzania (dla przesyłających)" + +msgid "Enable this if you want to show embed codes when upload gets completed." +msgstr "Włącz to, jeśli chcesz wyświetlić kody osadzania po zakończeniu przesyłania." + +msgid "Upload threads" +msgstr "Wątki przesyłania" + +msgid "Number of simultaneous upload threads (parallel uploads)" +msgstr "Liczba wątków jednoczesnego przesyłania (przesyłanie równoległe)" + +msgid "Redirect on single upload" +msgstr "Przekierowanie na pojedyncze przesyłanie" + +msgid "Enable this if you want to redirect to file viewer on single upload." +msgstr "Włącz jeśli chcesz przekierować do przeglądarki plików podczas pojedynczego przesyłania." + +msgid "Enable duplicate uploads" +msgstr "Włącz zduplikowane przesyłanie" + +msgid "Enable this if you want to allow duplicate uploads from the same IP within 24hrs." +msgstr "Włącz to, jeśli chcesz zezwolić na zduplikowane przesyłanie z tego samego adresu IP w ciągu 24 godzin." + +msgid "Enable expirable uploads" +msgstr "Włączanie przesyłania danych z datą ważności" + +msgid "Enable this if you want to allow uploads with an automatic delete option." +msgstr "Włącz to, jeśli chcesz zezwolić na przesyłanie z opcją automatycznego usuwania." + +msgid "Auto delete guest uploads" +msgstr "Automatyczne usuwanie dla gości" + +msgid "Enable this if you want to force guest uploads to be auto deleted after certain time." +msgstr "Włącz tę opcję, jeśli chcesz wymusić automatyczne usuwanie przesyłanych plików gości po określonym czasie." + +msgid "Maximum image size" +msgstr "Maksymalny rozmiar obrazu" + +msgid "Images greater than this size will get automatically downsized. Use zero (0) to don't set a limit." +msgstr "Obrazy większe niż ten rozmiar zostaną automatycznie zmniejszone. Użyj zera (0), aby nie ustawić limitu." + +msgid "Image Exif data" +msgstr "Dane EXIF obrazu" + +msgid "Keep" +msgstr "Zachowaj" + +#, php-format +msgid "Select the default setting for image Exif data on upload." +msgstr "Ustaw domyślne ustawienia dla obrazu Dane Exif przy przesyłaniu." + +msgid "Image Exif data (user setting)" +msgstr "Dane Exif zdjęć (ustawienia użytkownika)" + +msgid "Enable this if you want to allow each user to configure how image Exif data will be handled." +msgstr "Włącz to, jeśli chcesz pozwolić każdemu użytkownikowi skonfigurować sposób obsługi danych Exif obrazu." + +msgid "Maximum upload file size" +msgstr "Maksymalny rozmiar wysyłanego pliku" + +msgid "Maximum size allowed by server is %s. This limit is capped by %u and %p (%f values)." +msgstr "Maksymalny rozmiar dozwolony przez serwer to %s. Limit ten jest ograniczony przez %u i %p (wartości %f )." + +msgid "guests" +msgstr "gość" + +#, php-format +msgid "Same as \"%s\" but for guests." +msgstr "To samo co '%s', ale dla gości." + +msgid "File path" +msgstr "Ścieżka do pliku" + +msgid "Relative to Chevereto root" +msgstr "Względna do głównego katalogu Chevereto" + +msgid "Where to store the uploaded files? Relative to Chevereto root." +msgstr "Gdzie przechowywać przesłane pliki? Względem katalogu głównego Chevereto." + +msgid "Storage mode" +msgstr "Tryb przechowywania" + +msgid "Datefolders" +msgstr "Foldery z datami" + +#, php-format +msgid "Datefolders creates %s structure" +msgstr "Foldery z datami tworzą strukturę %s" + +msgid "File naming method" +msgstr "Metoda nazewnictwa plików" + +msgid "Original" +msgstr "Oryginalna" + +msgid "Mix original + random" +msgstr "Wymieszaj oryginalny + losowo" + +msgid "\"Original\" will try to keep the file source name while \"Random\" will generate a random name. \"ID\" will name the file just like the file ID." +msgstr "\"Oryginalny\" spróbuje zachować nazwę źródłowego pliku, podczas gdy \"Losowy\" wygeneruje losową nazwę. \"ID\" nazwie plik tak, jak oryginalna nazwa." + +msgid "Thumb size" +msgstr "Rozmiar miniaturki" + +msgid "Thumbnails will be fixed to this size." +msgstr "Miniaturki zostaną dopasowane do tego rozmiaru." + +msgid "Medium image fixed dimension" +msgstr "Stały rozmiar średniego obrazu" + +msgid "Medium sized images will be fixed to this dimension. For example, if you select \"width\" that dimension will be fixed and image height will be automatically calculated." +msgstr "Obrazy o średnim rozmiarze zostaną dopasowane do tego wymiaru. Na przykład, jeśli wybierzesz „szerokość”, wymiar ten zostanie użyty, a wysokość obrazu zostanie obliczona automatycznie." + +msgid "Width or height will be automatically calculated." +msgstr "Szerokość lub wysokość zostanie obliczona automatycznie." + +msgid "Block file uploads by IP if the system notice a flood behavior based on the number of uploads per time period." +msgstr "Blokuj przesyłanie plików z adresu IP, jeśli system zauważy zachowanie przypominające zalewanie na podstawie liczby przesyłanych plików w danym okresie czasu." + msgid "Notify to email" msgstr "Powiadom adres" @@ -1553,11 +2397,42 @@ msgstr "Limit tygodniowy" msgid "Monthly limit" msgstr "Limit miesięczny" +msgid "Public API key" +msgstr "Publiczny klucz API" + +#, php-format +msgid "Check the %s documentation." +msgstr "Sprawdź dokumentację %s." + msgid "Style" msgstr "Styl" +msgid "Landing page" +msgstr "Strona startowa" + +msgid "explore" +msgstr "odkrywaj" + +#, php-format +msgid "Select the homepage style. To customize it further edit app/themes/%s/views/index.php" +msgstr "Wybierz styl strony głównej. Aby go dostosować, edytuj app/themes/%s/views/index.php." + msgid "Cover image" -msgstr "Okładka" +msgstr "Jako okładka albumu" + +msgid "Do you really want to delete?" +msgstr "Czy naprawdę chcesz usunąć?" + +#, php-format +msgid "Delete %s" +msgstr "Kasowanie %s" + +msgid "Add new cover image" +msgstr "Dodaj nowy obraz okładki" + +#, php-format +msgid "This will be added inside the homepage %s tag. Leave it blank to use the default contents." +msgstr "Zostanie to dodane na stronie głównej %s tag. Pozostaw puste, aby użyć domyślnej zawartości." msgid "Paragraph" msgstr "Akapit" @@ -1589,6 +2464,9 @@ msgstr "Domyślna" msgid "Open URL" msgstr "Otwórz URL" +msgid "Enter an absolute or relative URL" +msgstr "Wprowadź absolutny lub względny adres URL." + msgid "Empty" msgstr "Pusty" @@ -1596,67 +2474,16 @@ msgstr "Pusty" msgid "Your user id is: %s" msgstr "Twój identyfikator użytkownika: %s" -msgid "Enable uploads" -msgstr "Włącz wysyłanie" - -msgid "Enable this if you want to allow image upload from URLs." -msgstr "Włącz tę opcję, jeśli chcesz zezwolić na przesyłanie obrazów. To ustawienie nie ma wpływu na administratorów." - -msgid "Note that enabling this will expose your server IP." -msgstr "Pamiętaj, że włączenie tego spowoduje ujawnienie IP Twojego serwera." - -msgid "Guest uploads" -msgstr "Wysyłanie dla gości" - -msgid "Enable this if you want to allow non registered users to upload." -msgstr "Włącz to, aby umożliwić wysyłanie dla osób niezarejestrowanych" - -msgid "Maximum image size" -msgstr "Maksymalny rozmiar obrazu" - -msgid "Image Exif data" -msgstr "Dane EXIF obrazu" - -msgid "Keep" -msgstr "Zachowaj" - -msgid "Maximum upload file size" -msgstr "Maksymalny rozmiar wysyłanego pliku" - -msgid "Image path" -msgstr "Ścieżka do grafiki" - -msgid "Relative to Chevereto root" -msgstr "Względna do głównego katalogu Chevereto" - -msgid "Where to store the images? Relative to Chevereto root." -msgstr "Gdzie przechowywać grafiki? Względnie do głównego katalogu Chevereto." - -msgid "Storage mode" -msgstr "Tryb przechowywania" - -msgid "Datefolders" -msgstr "Foldery z datami" - -#, php-format -msgid "Datefolders creates %s structure" -msgstr "Foldery z datami tworzą strukturę %s" - -msgid "File naming method" -msgstr "Metoda nazewnictwa plików" - -msgid "Original" -msgstr "Oryginalna" - -msgid "Thumb size" -msgstr "Rozmiar miniaturki" - -msgid "Thumbnails will be fixed to this size." -msgstr "Miniaturki zostaną dopasowane do tego rozmiaru." - msgid "Expires" msgstr "Wygasa" +#, php-format +msgid "Do you really want to remove the ban to the IP %s?" +msgstr "Czy na pewno chcesz usunąć bana dla IP %s?" + +msgid "Banned IP address will be forbidden to use the entire website." +msgstr "Zablokowany adres IP nie będzie mógł korzystać z całej witryny." + msgid "Default language" msgstr "Domyślny język" @@ -1678,9 +2505,18 @@ msgstr "Włącz to, jeśli chcesz pozwolić na wybór języka." msgid "Enabled languages" msgstr "Włączone języki" +msgid "Only checked languages will be used in your website." +msgstr "W witrynie będą używane tylko zaznaczone języki." + +msgid "List items per page" +msgstr "Lista elementów na stronę" + msgid "How many items should be displayed per page listing." msgstr "Ilość pozycji wyświetlana na każdej stronie listy" +msgid "List pagination mode" +msgstr "Tryb paginacji listy" + msgid "Endless scrolling" msgstr "Nieskończone przewijanie" @@ -1690,6 +2526,9 @@ msgstr "Klasyczne stronicowanie" msgid "What pagination method should be used." msgstr "Metoda stronicowania, która ma być używana." +msgid "Image listing size" +msgstr "Rozmiar listy obrazów" + msgid "Fluid" msgstr "Płynna" @@ -1699,18 +2538,57 @@ msgstr "Stała" msgid "Both methods use a fixed width but fluid method uses automatic heights." msgstr "Obie metody używają stałej szerokości, ale metoda \"płynna\" używa automatycznej wysokości." +msgid "Sets the minimum content count needed to show %t in %s." +msgstr "Ustawia minimalną liczbę treści potrzebną do wyświetlenia %t w %s." + +msgid "Listing columns number" +msgstr "Dostosuj ilość kolumn" + +msgid "Here you can set how many columns are used based on each target device." +msgstr "Tutaj możesz ustawić liczbę kolumn używanych na podstawie każdego urządzenia docelowego." + msgid "Phone" msgstr "Telefon" +msgid "Phablet" +msgstr "Mały tablet" + +msgid "Tablet" +msgstr "Tablet" + msgid "Desktop" msgstr "Komputer stacjonarny" +msgid "Text option uses the website name as logo." +msgstr "Opcja używa nazwy strony jako logo." + +msgid "Logo vector" +msgstr "Logo wektorowe" + +msgid "Vector version or your website logo in SVG format." +msgstr "Wersja wektorowa logo witryny w formacie SVG." + +msgid "Logo image" +msgstr "Obraz logo" + +msgid "Bitmap version or your website logo. PNG format is recommended." +msgstr "Wersja bitmapowa logo witryny. Zalecany jest format PNG." + msgid "Logo height" msgstr "Wysokość logo" msgid "No value" msgstr "Brak wartości" +msgid "Use this to set the logo height if needed." +msgstr "Użyj opcji, aby w razie potrzeby ustawić wysokość logo." + +msgid "Favicon image" +msgstr "Obraz Favicon" + +msgid "Favicon image. Image must have same width and height." +msgstr "Obraz Favicon. Obraz musi mieć taką samą szerokość i wysokość." + msgid "Page title" msgstr "Tytuł strony" @@ -1754,34 +2632,87 @@ msgstr "Widoczna strona" msgid "Hidden page" msgstr "Ukryta strona" -msgid "File path" -msgstr "Ścieżka do pliku" +msgid "Hidden pages won't be show in system menus, but anyone can access to it with the link." +msgstr "Ukryte strony nie będą wyświetlane w menu systemowym, ale każdy może uzyskać do nich dostęp za pomocą linku." + +msgid "Only alphanumerics, hyphens and forward slash" +msgstr "Tylko znaki alfanumeryczne, myślniki i ukośniki" + +#, php-format +msgid "A %f file relative to %s" +msgstr "Plik %f względem %s" msgid "Meta keywords" msgstr "Słowa kluczowe" +msgid "Meta description" +msgstr "Opis meta" + msgid "Source code" msgstr "Kod źródłowy" +#, php-format +msgid "No write permission in %s path you will need to add this file using an external editor." +msgstr "Brak uprawnień do zapisu w ścieżce %s, należy dodać ten plik za pomocą zewnętrznego edytora." + msgid "Link URL" msgstr "Adres URL" +msgid "Link target attribute" +msgstr "Atrybut łącza docelowego" + +msgid "Link rel attribute" +msgstr "Atrybut rel łącza" + +msgid "Only alphanumerics, hyphens and whitespaces" +msgstr "Tylko znaki alfanumeryczne, myślniki i białe znaki" + +#, php-format +msgid "HTML %s attribute" +msgstr "HTML %s atrybut" + +#, php-format +msgid "Do you really want to delete the page ID %s?" +msgstr "Na pewno chcesz usunąć stronę ID %s?" + #, php-format msgid "Routing for %s" msgstr "Routing dla %s" +#, php-format +msgid "Enable this if you want to use SEO %s URLs." +msgstr "Włącz tę opcję, jeśli chcesz używać adresów URL SEO %s." + +msgid "Semantics allows you to define the nouns used for content to customize your content driven experience." +msgstr "Semantyka pozwala zdefiniować rzeczowniki używane dla treści w celu dostosowania doświadczenia opartego na treści." + msgid "Automatic updates check" msgstr "Automatycznie sprawdź aktualizacje" +msgid "When enabled the system will automatically check for new updates." +msgstr "Po włączeniu tej opcji system będzie automatycznie sprawdzał dostępność nowych aktualizacji." + +msgid "Display available updates notification" +msgstr "Wyświetlanie powiadomienia o dostępnych aktualizacjach" + +msgid "Enable this to show a notice on top warning you about new available system updates." +msgstr "Włącz tę opcję, aby wyświetlić na górze powiadomienie informujące o nowych dostępnych aktualizacjach systemu." + msgid "Maintenance" msgstr "Konserwacja" +msgid "When enabled the website will show a maintenance message." +msgstr "Po włączeniu strona wyświetli komunikat o konserwacji." + msgid "Crypt salt" msgstr "Sól szyfrowania" msgid "This is the salt used to convert numeric ID to alphanumeric. It was generated on install." msgstr "Jest to sól używana do konwersji identyfikatorów numerycznych na alfanumeryczne. Została ona wygenerowana przy instalacji." +msgid "Enable this if you want to debug errors." +msgstr "Włącz tę opcję, jeśli chcesz debugować błędy." + msgid "Debug level" msgstr "Poziom debugowania" @@ -1791,18 +2722,72 @@ msgstr "Brak" msgid "Error log" msgstr "Dziennik błędów" +msgid "Enable %service%" +msgstr "Włącz %service%" + +msgid "Enable this if you want to send debug messages to %xr%." +msgstr "Włącz tę opcję, jeśli chcesz wysyłać komunikaty debugowania do %xr%." + +#, php-format +msgid "Default %s" +msgstr "Domyślne %s" + +msgid "Image load max. filesize" +msgstr "Maksymalny rozmiar wgrywanego obrazu" + +msgid "Images greater than this size will show a button to load full resolution image." +msgstr "Obrazy większe niż ten rozmiar będą wyświetlane z przyciskiem umożliwiającym załadowanie obrazu w pełnej rozdzielczości." + msgid "Enable download button" msgstr "Włącz przycisk pobierania" msgid "Enable this if you want to show the image download button." msgstr "Włącz to, jeśli chcesz wyświetlać przycisk pobierania grafiki." +msgid "Enable right click on image" +msgstr "Włącz prawy przycisk na obrazie" + +msgid "Enable this if you want to allow right click on image viewer page." +msgstr "Włącz tę opcję, jeśli chcesz zezwolić na kliknięcie prawym przyciskiem myszy na stronie przeglądania obrazów." + +msgid "Enable show Exif data" +msgstr "Włącz wyświetlanie danych Exif" + +msgid "Enable this if you want to show image Exif data." +msgstr "Włącz tę opcję, jeśli chcesz wyświetlać dane Exif obrazu." + +#, php-format +msgid "%s first tab" +msgstr "%s pierwsza zakładka" + +#, php-format +msgid "Determine the first tab on %s page." +msgstr "Określenie pierwszej zakładki na stronie %s." + msgid "Enable social share" msgstr "Włącz udostępnianie w sieciach społecznościowych." msgid "Enable this if you want to show social network buttons to share content." msgstr "Włącz to, jeśli chcesz wyświetlać przyciski do udostępniania treści w sieciach społecznościowych." +msgid "Enable embed codes (content)" +msgstr "Włącz kody osadzania (dla treści)" + +msgid "Everybody" +msgstr "Wszyscy" + +msgid "Users only" +msgstr "Tylko użytkownicy" + +msgid "Enable this if you want to show embed codes for the content." +msgstr "Włącz tę opcję, jeśli chcesz wyświetlać kody osadzania treści." + +msgid "Not safe content checkbox in uploader" +msgstr "Pole wyboru treści nieodpowiednich w przesyłaniu" + +msgid "Enable this if you want to show a checkbox to indicate not safe content upload." +msgstr "Włącz to, jeśli chcesz wyświetlić pole wyboru do zaznaczenia przesyłania treści nieodpowiednich." + msgid "Custom CSS code" msgstr "Własny kod CSS" @@ -1818,6 +2803,15 @@ msgstr "Dodaj tutaj własny kod JS. Zostanie on dodany jako ', [ '%page_url' => Handler::var('canonical') ?? get_current_url(removeQs: ['lang'], public: true), diff --git a/app/src/Legacy/functions.php b/app/src/Legacy/functions.php index 049826b..98b576a 100644 --- a/app/src/Legacy/functions.php +++ b/app/src/Legacy/functions.php @@ -37,6 +37,7 @@ use Chevereto\Vars\PostVar; use Chevereto\Vars\RequestVar; use Chevereto\Vars\ServerVar; use Chevereto\Vars\SessionVar; +use ErrorException; use Exception; use Intervention\Image\ImageManagerStatic; use LogicException; @@ -49,6 +50,7 @@ use Throwable; use function Chevere\Filesystem\filePhpForPath; use function Chevere\Message\message; use function Chevere\Parameter\cast; +use function Chevere\Parameter\getType; use function Chevere\Writer\streamFor; use function Chevere\Writer\writers; use function Chevereto\Legacy\G\absolute_to_url; @@ -1081,7 +1083,6 @@ function loaderHandler( 'CHEVERETO_EDITION' => 'free', 'CHEVERETO_ENABLE_API_GUEST' => '0', 'CHEVERETO_ENABLE_BANNERS' => '0', - 'CHEVERETO_ENABLE_BULK_IMPORTER' => '0', 'CHEVERETO_ENABLE_CAPTCHA' => '0', 'CHEVERETO_ENABLE_CONSENT_SCREEN' => '0', 'CHEVERETO_ENABLE_COOKIE_COMPLIANCE' => '0', @@ -1168,7 +1169,21 @@ function loaderHandler( $envVar['CHEVERETO_XRDEBUG_HOST'] = 'host.docker.internal'; } } - $envVar = array_map('strval', $envVar); + foreach ($envVar as &$envValue) { + if (is_string($envValue)) { + continue; + } + + try { + $envValue = (string) $envValue; + } catch (ErrorException) { + $type = getType($envValue); + $envValue = match ($type) { + 'array' => '[]', + default => '', + }; + } + } new EnvVar($envVar); new ServerVar(array_merge($envDefault, $env, $_server)); new CookieVar($_cookie); diff --git a/content/legacy/system/style.css b/content/legacy/system/style.css index 2306136..2afb922 100644 --- a/content/legacy/system/style.css +++ b/content/legacy/system/style.css @@ -648,3 +648,18 @@ body.body--installing .flex-box .loader { .description-meta:empty { display: none; } + +a.label--version { + color: inherit; + text-decoration: none; + font-size: .6em; + border-radius: .2em; + background-color: rgba(0, 0, 0, .1); + padding: .3em 0.4em; + display: block; + font-weight: 400; + line-height: normal; + position: absolute; + right: 20px; + top: 20px; +} diff --git a/content/legacy/system/style.min.css b/content/legacy/system/style.min.css index dcf7fbd..b96681a 100644 --- a/content/legacy/system/style.min.css +++ b/content/legacy/system/style.min.css @@ -1 +1 @@ -body,html{height:100%}body{margin:0;background:#3498db;background:linear-gradient(to bottom,#3498db 0,#8e44ad 100%)}html#error body{background:#ecf0f1}html{color:#000;font:16px Helvetica,Arial,sans-serif;line-height:1.3}.body--block{margin:20px}.body--flex{margin:0;display:flex;flex-direction:column}.user-select-none{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.force-select{-webkit-user-select:all;-moz-user-select:all;-ms-user-select:all;user-select:all}main{width:100%;height:100%;padding:0;margin:0;border:0;display:flex;align-items:center;justify-content:center;overflow-y:auto;flex:1}@media (min-width:768px){main{padding:20px}}main>div{width:630px}.main--stack{width:100%;max-width:900px}*{-ms-box-sizing:border-box;box-sizing:border-box;outline:0}a{color:#3498db;outline:0;text-decoration:none}a:hover{text-decoration:underline}p,ul>li{line-height:140%}.soft-hidden{display:none}.p{margin-top:20px;margin-bottom:20px}.alert,.highlight,.log{font-size:.9em;padding:1em}.alert:empty,.highlight:empty{display:none}.highlight{background:rgba(255,255,255,.5);-webkit-border-start:4px solid #8e44ad;border-inline-start:4px solid #8e44ad}.alert{position:relative;background:rgba(241,196,15,.3);-webkit-border-start:4px solid #f1c40f;border-inline-start:4px solid #f1c40f;-webkit-padding-end:2em;padding-inline-end:2em}.alert pre{overflow:auto}.alert code,.alert pre{background:rgba(241,196,15,.3)}.alert pre code{background:0 0}.shake{-webkit-animation:shake .5s cubic-bezier(.36,.07,.19,.97) both;animation:shake .5s cubic-bezier(.36,.07,.19,.97) both;transform:translate3d(0,0,0);-webkit-backface-visibility:hidden;backface-visibility:hidden;perspective:1000px}.alert-close{cursor:pointer;position:absolute;inset-inline-end:1em;top:1em;width:1em;height:1em;opacity:.3}.alert-close:hover{opacity:1}.alert-close:after,.alert-close:before{position:absolute;inset-inline-start:7.5px;content:' ';height:16px;width:2px;background-color:#333}.alert-close:before{transform:rotate(45deg)}.alert-close:after{transform:rotate(-45deg)}.button,button,input,select{font-family:Helvetica,Arial,sans-serif;padding:10px;color:#000}input{border:1px solid rgba(0,0,0,.1);background:0 0;border-top-color:transparent;border-left-color:transparent;border-right-color:transparent;-webkit-padding-start:0;padding-inline-start:0;transition:border-width 1s linear}input:focus,select:focus{border-bottom-color:#3498db}input:-webkit-autofill,input:-webkit-autofill:focus input:-webkit-autofill,input:-webkit-autofill:hover,select:-webkit-autofill,select:-webkit-autofill:focus,select:-webkit-autofill:hover,textarea:-webkit-autofill,textarea:-webkit-autofill:hover textarea:-webkit-autofill:focus{-webkit-text-fill-color:inherit;-webkit-box-shadow:0 0 0 1000px transparent inset;-webkit-transition:background-color 5000s ease-in-out 0s;transition:background-color 5000s ease-in-out 0s}.button,button{display:inline-block;font-size:.83em;font-weight:700;-webkit-padding-end:15px;padding-inline-end:15px;-webkit-padding-start:15px;padding-inline-start:15px;line-height:.83em;outline:0;cursor:pointer;text-shadow:1px 1px 0 rgba(255,255,255,.1);text-decoration:none;border:0;background-color:rgba(0,0,0,.05);box-shadow:inset 0 2px 5px transparent}.button:hover,button:hover{text-decoration:none}.button:active,button:active{box-shadow:inset 0 2px 5px rgba(0,0,0,.3)}.button.action,button.action{text-shadow:1px 1px 0 rgba(0,0,0,.05);color:#fff;background:#006edb}.button.action:hover,button.action:hover{background:#0077ed}button[disabled],input[disabled]{cursor:wait}input[data-disabled]{cursor:not-allowed}.input-label label{font-size:.9em;display:block;font-weight:700}h1{line-height:1em}code{font-size:.9em;font-family:monospace;background:rgba(0,0,0,.1)}.pre{display:block;background-color:rgba(0,0,0,.1);overflow:auto;height:180px;font-size:.9em;white-space:nowrap;width:100%;resize:none;border:none;margin:1em 0;-moz-tab-size:4;-o-tab-size:4;tab-size:4}@-webkit-keyframes spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}@keyframes spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}.flex-box .loader{display:inline-block;border:.15em solid rgb(52 152 219 / 20%);border-top:.15em solid #3498db;border-radius:50%;width:1em;height:1em;-webkit-animation:spin 2s linear infinite;animation:spin 2s linear infinite;z-index:1;font-size:32px;position:absolute;top:20px;inset-inline-end:20px;margin:0;opacity:0}.flex-box form input{font-size:.83em}.flex-box .loader--show,body.body--installing .flex-box .loader{opacity:1}.animate{transition:all .2s ease}.animate--slow{transition-duration:.8s}.text-align-center{text-align:center}.flex{display:flex}.flex--full{min-height:100%;overflow:hidden}.screen{margin:auto;flex-wrap:wrap;flex-direction:row;justify-content:center;display:flex;visibility:visible}.screen--error{opacity:1;display:flex;transform:scale(1)}@-webkit-keyframes fadeInFromNone{0%{display:none;opacity:0}100%{opacity:1;transform:scale(1)}}@keyframes fadeInFromNone{0%{display:none;opacity:0}100%{opacity:1;transform:scale(1)}}.flex-item{flex:1 0 100%;justify-content:center}.flex-box{background:rgba(255,255,255,.8);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-size:cover;background-position:center;border-radius:10px;min-width:270px;position:relative;margin:20px;flex:1 0 0}.flex-box>div{margin:20px}.flex-box+.flex-box{margin-top:0}.log{background:rgba(255,255,255,.1);overflow:auto;max-height:10em;margin:0;padding:0}.log:empty{display:none}.log p{margin:0;padding:5px}.log p:nth-child(even){background:rgba(255,255,255,.25)}.radius{border-radius:3px}.error-box{background:0 0;box-shadow:none}.error-box a{font-weight:400;text-decoration:none}.error-box a:hover{-webkit-text-decoration-style:solid;text-decoration-style:solid;-webkit-text-decoration-color:#000;text-decoration-color:#000}.error-box-code{opacity:.4;font-size:.9em;border-top:1px solid rgba(0,0,0,.2);padding-top:10px}@media (min-width:680px){.col-8{width:310px}.col-width{width:630px}.flex-box+.flex-box{margin-top:20px;-webkit-margin-start:0;margin-inline-start:0}}.width-100p{width:100%}.header img,.header svg{height:40px;width:auto;max-height:100%;margin:20px auto;display:block}.header img path,.header svg path{fill:#fff}.install-details{font-size:.9em;font-family:monospace}.install-details pre{margin:0;font-family:inherit}@-webkit-keyframes shake{10%,90%{transform:translate3d(-1px,0,0)}20%,80%{transform:translate3d(2px,0,0)}30%,50%,70%{transform:translate3d(-4px,0,0)}40%,60%{transform:translate3d(4px,0,0)}}@keyframes shake{10%,90%{transform:translate3d(-1px,0,0)}20%,80%{transform:translate3d(2px,0,0)}30%,50%,70%{transform:translate3d(-4px,0,0)}40%,60%{transform:translate3d(4px,0,0)}}.display-block{display:block}.input-warning{position:absolute;inset-inline-end:0;top:0;font-size:80%}.red-warning{color:#d74634}.input-password input[type=password]{-webkit-padding-end:55px;padding-inline-end:55px}.input-password{position:relative}.input-password .input-password-strength{position:absolute;inset-inline-end:0;top:50%;margin-top:5px;z-index:-1}.input-password-strength{background:rgba(0,0,0,.1)}.input-password-strength,.input-password-strength span{display:block;width:50px;height:8px}.input-password-strength span{width:0%;background-color:transparent}.input-password-strength [data-veredict=very-weak]{background-color:#e74c3c}.input-password-strength [data-veredict=weak]{background-color:#e67e22}.input-password-strength [data-veredict=average],.input-password-strength [data-veredict=strong],.input-password-strength [data-veredict=stronger]{background-color:#2ecc71}.description-meta:empty{display:none} \ No newline at end of file +body,html{height:100%}body{margin:0;background:#3498db;background:linear-gradient(to bottom,#3498db 0,#8e44ad 100%)}html#error body{background:#ecf0f1}html{color:#000;font:16px Helvetica,Arial,sans-serif;line-height:1.3}.body--block{margin:20px}.body--flex{margin:0;display:flex;flex-direction:column}.user-select-none{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.force-select{-webkit-user-select:all;-moz-user-select:all;-ms-user-select:all;user-select:all}main{width:100%;height:100%;padding:0;margin:0;border:0;display:flex;align-items:center;justify-content:center;overflow-y:auto;flex:1}@media (min-width:768px){main{padding:20px}}main>div{width:630px}.main--stack{width:100%;max-width:900px}*{-ms-box-sizing:border-box;box-sizing:border-box;outline:0}a{color:#3498db;outline:0;text-decoration:none}a:hover{text-decoration:underline}p,ul>li{line-height:140%}.soft-hidden{display:none}.p{margin-top:20px;margin-bottom:20px}.alert,.highlight,.log{font-size:.9em;padding:1em}.alert:empty,.highlight:empty{display:none}.highlight{background:rgba(255,255,255,.5);-webkit-border-start:4px solid #8e44ad;border-inline-start:4px solid #8e44ad}.alert{position:relative;background:rgba(241,196,15,.3);-webkit-border-start:4px solid #f1c40f;border-inline-start:4px solid #f1c40f;-webkit-padding-end:2em;padding-inline-end:2em}.alert pre{overflow:auto}.alert code,.alert pre{background:rgba(241,196,15,.3)}.alert pre code{background:0 0}.shake{-webkit-animation:shake .5s cubic-bezier(.36,.07,.19,.97) both;animation:shake .5s cubic-bezier(.36,.07,.19,.97) both;transform:translate3d(0,0,0);-webkit-backface-visibility:hidden;backface-visibility:hidden;perspective:1000px}.alert-close{cursor:pointer;position:absolute;inset-inline-end:1em;top:1em;width:1em;height:1em;opacity:.3}.alert-close:hover{opacity:1}.alert-close:after,.alert-close:before{position:absolute;inset-inline-start:7.5px;content:' ';height:16px;width:2px;background-color:#333}.alert-close:before{transform:rotate(45deg)}.alert-close:after{transform:rotate(-45deg)}.button,button,input,select{font-family:Helvetica,Arial,sans-serif;padding:10px;color:#000}input{border:1px solid rgba(0,0,0,.1);background:0 0;border-top-color:transparent;border-left-color:transparent;border-right-color:transparent;-webkit-padding-start:0;padding-inline-start:0;transition:border-width 1s linear}input:focus,select:focus{border-bottom-color:#3498db}input:-webkit-autofill,input:-webkit-autofill:focus input:-webkit-autofill,input:-webkit-autofill:hover,select:-webkit-autofill,select:-webkit-autofill:focus,select:-webkit-autofill:hover,textarea:-webkit-autofill,textarea:-webkit-autofill:hover textarea:-webkit-autofill:focus{-webkit-text-fill-color:inherit;-webkit-box-shadow:0 0 0 1000px transparent inset;-webkit-transition:background-color 5000s ease-in-out 0s;transition:background-color 5000s ease-in-out 0s}.button,button{display:inline-block;font-size:.83em;font-weight:700;-webkit-padding-end:15px;padding-inline-end:15px;-webkit-padding-start:15px;padding-inline-start:15px;line-height:.83em;outline:0;cursor:pointer;text-shadow:1px 1px 0 rgba(255,255,255,.1);text-decoration:none;border:0;background-color:rgba(0,0,0,.05);box-shadow:inset 0 2px 5px transparent}.button:hover,button:hover{text-decoration:none}.button:active,button:active{box-shadow:inset 0 2px 5px rgba(0,0,0,.3)}.button.action,button.action{text-shadow:1px 1px 0 rgba(0,0,0,.05);color:#fff;background:#006edb}.button.action:hover,button.action:hover{background:#0077ed}button[disabled],input[disabled]{cursor:wait}input[data-disabled]{cursor:not-allowed}.input-label label{font-size:.9em;display:block;font-weight:700}h1{line-height:1em}code{font-size:.9em;font-family:monospace;background:rgba(0,0,0,.1)}.pre{display:block;background-color:rgba(0,0,0,.1);overflow:auto;height:180px;font-size:.9em;white-space:nowrap;width:100%;resize:none;border:none;margin:1em 0;-moz-tab-size:4;-o-tab-size:4;tab-size:4}@-webkit-keyframes spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}@keyframes spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}.flex-box .loader{display:inline-block;border:.15em solid rgb(52 152 219 / 20%);border-top:.15em solid #3498db;border-radius:50%;width:1em;height:1em;-webkit-animation:spin 2s linear infinite;animation:spin 2s linear infinite;z-index:1;font-size:32px;position:absolute;top:20px;inset-inline-end:20px;margin:0;opacity:0}.flex-box form input{font-size:.83em}.flex-box .loader--show,body.body--installing .flex-box .loader{opacity:1}.animate{transition:all .2s ease}.animate--slow{transition-duration:.8s}.text-align-center{text-align:center}.flex{display:flex}.flex--full{min-height:100%;overflow:hidden}.screen{margin:auto;flex-wrap:wrap;flex-direction:row;justify-content:center;display:flex;visibility:visible}.screen--error{opacity:1;display:flex;transform:scale(1)}@-webkit-keyframes fadeInFromNone{0%{display:none;opacity:0}100%{opacity:1;transform:scale(1)}}@keyframes fadeInFromNone{0%{display:none;opacity:0}100%{opacity:1;transform:scale(1)}}.flex-item{flex:1 0 100%;justify-content:center}.flex-box{background:rgba(255,255,255,.8);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-size:cover;background-position:center;border-radius:10px;min-width:270px;position:relative;margin:20px;flex:1 0 0}.flex-box>div{margin:20px}.flex-box+.flex-box{margin-top:0}.log{background:rgba(255,255,255,.1);overflow:auto;max-height:10em;margin:0;padding:0}.log:empty{display:none}.log p{margin:0;padding:5px}.log p:nth-child(even){background:rgba(255,255,255,.25)}.radius{border-radius:3px}.error-box{background:0 0;box-shadow:none}.error-box a{font-weight:400;text-decoration:none}.error-box a:hover{-webkit-text-decoration-style:solid;text-decoration-style:solid;-webkit-text-decoration-color:#000;text-decoration-color:#000}.error-box-code{opacity:.4;font-size:.9em;border-top:1px solid rgba(0,0,0,.2);padding-top:10px}@media (min-width:680px){.col-8{width:310px}.col-width{width:630px}.flex-box+.flex-box{margin-top:20px;-webkit-margin-start:0;margin-inline-start:0}}.width-100p{width:100%}.header img,.header svg{height:40px;width:auto;max-height:100%;margin:20px auto;display:block}.header img path,.header svg path{fill:#fff}.install-details{font-size:.9em;font-family:monospace}.install-details pre{margin:0;font-family:inherit}@-webkit-keyframes shake{10%,90%{transform:translate3d(-1px,0,0)}20%,80%{transform:translate3d(2px,0,0)}30%,50%,70%{transform:translate3d(-4px,0,0)}40%,60%{transform:translate3d(4px,0,0)}}@keyframes shake{10%,90%{transform:translate3d(-1px,0,0)}20%,80%{transform:translate3d(2px,0,0)}30%,50%,70%{transform:translate3d(-4px,0,0)}40%,60%{transform:translate3d(4px,0,0)}}.display-block{display:block}.input-warning{position:absolute;inset-inline-end:0;top:0;font-size:80%}.red-warning{color:#d74634}.input-password input[type=password]{-webkit-padding-end:55px;padding-inline-end:55px}.input-password{position:relative}.input-password .input-password-strength{position:absolute;inset-inline-end:0;top:50%;margin-top:5px;z-index:-1}.input-password-strength{background:rgba(0,0,0,.1)}.input-password-strength,.input-password-strength span{display:block;width:50px;height:8px}.input-password-strength span{width:0%;background-color:transparent}.input-password-strength [data-veredict=very-weak]{background-color:#e74c3c}.input-password-strength [data-veredict=weak]{background-color:#e67e22}.input-password-strength [data-veredict=average],.input-password-strength [data-veredict=strong],.input-password-strength [data-veredict=stronger]{background-color:#2ecc71}.description-meta:empty{display:none}a.label--version{color:inherit;text-decoration:none;font-size:.6em;border-radius:.2em;background-color:rgba(0,0,0,.1);padding:.3em .4em;display:block;font-weight:400;line-height:normal;position:absolute;right:20px;top:20px} \ No newline at end of file diff --git a/content/legacy/themes/Peafowl/custom_hooks/share_links.sample.php b/content/legacy/themes/Peafowl/custom_hooks/share_links.sample.php index 32d4eba..d7ea0ac 100644 --- a/content/legacy/themes/Peafowl/custom_hooks/share_links.sample.php +++ b/content/legacy/themes/Peafowl/custom_hooks/share_links.sample.php @@ -16,7 +16,7 @@ $share_links_networks = [ 'label' => 'Email' ], 'facebook' => [ - 'url' => 'http://www.facebook.com/share.php?u=%URL%', + 'url' => 'https://www.facebook.com/share.php?u=%URL%', 'label' => 'Facebook' ], 'twitter' => [ @@ -24,7 +24,7 @@ $share_links_networks = [ 'label' => 'X' ], 'blogger' => [ - 'url' => 'http://www.blogger.com/blog-this.g?n=%TITLE%&source=&b=%HTML%', + 'url' => 'https://www.blogger.com/blog-this.g?n=%TITLE%&source=&b=%HTML%', 'label' => 'Blogger' ], 'tumblr' => [ @@ -32,15 +32,15 @@ $share_links_networks = [ 'label' => 'Tumblr.' ], 'pinterest' => [ - 'url' => 'http://www.pinterest.com/pin/create/bookmarklet/?media=%IMAGE%&url=%URL%&is_video=false&description=%DESCRIPTION%&title=%TITLE%', + 'url' => 'https://www.pinterest.com/pin/create/bookmarklet/?media=%IMAGE%&url=%URL%&is_video=false&description=%DESCRIPTION%&title=%TITLE%', 'label' => 'Pinterest' ], 'reddit' => [ - 'url' => 'http://old.reddit.com/submit?type=link&url=%URL%&title=%TITLE%&text=%DESCRIPTION%', + 'url' => 'https://old.reddit.com/submit?type=link&url=%URL%&title=%TITLE%&text=%DESCRIPTION%', 'label' => 'reddit' ], 'vk' => [ - 'url' => 'http://vk.com/share.php?url=%URL%', + 'url' => 'https://vk.com/share.php?url=%URL%', 'label' => 'VK' ] ]; diff --git a/content/legacy/themes/Peafowl/head.php b/content/legacy/themes/Peafowl/head.php index dc1b724..898f7b4 100644 --- a/content/legacy/themes/Peafowl/head.php +++ b/content/legacy/themes/Peafowl/head.php @@ -66,11 +66,11 @@ foreach ($links as $rel => $href) { - + - - + $href) { } $open_graph = [ 'type' => 'website', - 'url' => $links['canonical'] ?? get_current_url(safe: true, removeQs: ['lang'], public: true), + 'url' => $links['canonical'] + ?? get_current_url(safe: true, removeQs: ['lang'], public: true), 'title' => getSetting('website_doctitle', true), 'image' => getSetting('homepage_cover_images')[0]['url'] ?? '', - 'site_name' => Handler::var('safe_html_website_name'), - 'description' => Handler::var('safe_html_meta_description'), + 'site_name' => Handler::var('website_name'), + 'description' => Handler::var('meta_description'), ]; if (getSetting('facebook_app_id')) { $open_graph['fb:app_id'] = getSetting('facebook_app_id'); @@ -136,7 +137,9 @@ foreach ($links as $rel => $href) { $open_graph_extend = [ 'type' => 'profile', 'title' => Handler::var('user')['name'], - 'image' => isset(Handler::var('user')['avatar']) ? Handler::var('user')['avatar']['url'] : '', + 'image' => isset(Handler::var('user')['avatar']) + ? Handler::var('user')['avatar']['url'] + : '', ]; break; @@ -155,12 +158,16 @@ foreach ($links as $rel => $href) { continue; } $prop = strpos($k, ':') !== false ? $k : "og:$k"; - echo '' . "\n"; + echo '' . "\n"; } $twitter_card = [ 'card' => 'summary', 'description' => Handler::var('safe_html_meta_description'), - 'title' => str_replace_last(' - ' . Handler::var('safe_html_website_name'), '', Handler::var('safe_html_doctitle')), + 'title' => str_replace_last( + ' - ' . Handler::var('safe_html_website_name'), + '', + Handler::var('safe_html_doctitle') + ), 'site' => getSetting('twitter_account') ? ('@' . getSetting('twitter_account')) : null, ]; switch (true) { diff --git a/content/legacy/themes/Peafowl/lib/chevereto-all.js b/content/legacy/themes/Peafowl/lib/chevereto-all.js index 1e12310..705b61a 100644 --- a/content/legacy/themes/Peafowl/lib/chevereto-all.js +++ b/content/legacy/themes/Peafowl/lib/chevereto-all.js @@ -140,26 +140,26 @@ for(var i=0; ia?this[a+this.length]:this[a]:e.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a){return n.each(this,a)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(e.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor()},push:g,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(e=arguments[h]))for(d in e)a=g[d],c=e[d],g!==c&&(j&&c&&(n.isPlainObject(c)||(b=n.isArray(c)))?(b?(b=!1,f=a&&n.isArray(a)?a:[]):f=a&&n.isPlainObject(a)?a:{},g[d]=n.extend(j,f,c)):void 0!==c&&(g[d]=c));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray||function(a){return"array"===n.type(a)},isWindow:function(a){return null!=a&&a==a.window},isNumeric:function(a){var b=a&&a.toString();return!n.isArray(a)&&b-parseFloat(b)+1>=0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},isPlainObject:function(a){var b;if(!a||"object"!==n.type(a)||a.nodeType||n.isWindow(a))return!1;try{if(a.constructor&&!k.call(a,"constructor")&&!k.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}if(!l.ownFirst)for(b in a)return k.call(a,b);for(b in a);return void 0===b||k.call(a,b)},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?i[j.call(a)]||"object":typeof a},globalEval:function(b){b&&n.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b){var c,d=0;if(s(a)){for(c=a.length;c>d;d++)if(b.call(a[d],d,a[d])===!1)break}else for(d in a)if(b.call(a[d],d,a[d])===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):g.call(c,a)),c},inArray:function(a,b,c){var d;if(b){if(h)return h.call(b,a,c);for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,b){var c=+b.length,d=0,e=a.length;while(c>d)a[e++]=b[d++];if(c!==c)while(void 0!==b[d])a[e++]=b[d++];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,e,g=0,h=[];if(s(a))for(d=a.length;d>g;g++)e=b(a[g],g,c),null!=e&&h.push(e);else for(g in a)e=b(a[g],g,c),null!=e&&h.push(e);return f.apply([],h)},guid:1,proxy:function(a,b){var c,d,f;return"string"==typeof b&&(f=a[b],b=a,a=f),n.isFunction(a)?(c=e.call(arguments,2),d=function(){return a.apply(b||this,c.concat(e.call(arguments)))},d.guid=a.guid=a.guid||n.guid++,d):void 0},now:function(){return+new Date},support:l}),"function"==typeof Symbol&&(n.fn[Symbol.iterator]=c[Symbol.iterator]),n.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(a,b){i["[object "+b+"]"]=b.toLowerCase()});function s(a){var b=!!a&&"length"in a&&a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ga(),z=ga(),A=ga(),B=function(a,b){return a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+M+"))|)"+L+"*\\]",O=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+N+")*)|.*)\\)|)",P=new RegExp(L+"+","g"),Q=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),R=new RegExp("^"+L+"*,"+L+"*"),S=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),T=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),U=new RegExp(O),V=new RegExp("^"+M+"$"),W={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M+"|[*])"),ATTR:new RegExp("^"+N),PSEUDO:new RegExp("^"+O),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},X=/^(?:input|select|textarea|button)$/i,Y=/^h\d$/i,Z=/^[^{]+\{\s*\[native \w/,$=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,_=/[+~]/,aa=/'|\\/g,ba=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),ca=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},da=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(ea){H={apply:E.length?function(a,b){G.apply(a,I.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function fa(a,b,d,e){var f,h,j,k,l,o,r,s,w=b&&b.ownerDocument,x=b?b.nodeType:9;if(d=d||[],"string"!=typeof a||!a||1!==x&&9!==x&&11!==x)return d;if(!e&&((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,p)){if(11!==x&&(o=$.exec(a)))if(f=o[1]){if(9===x){if(!(j=b.getElementById(f)))return d;if(j.id===f)return d.push(j),d}else if(w&&(j=w.getElementById(f))&&t(b,j)&&j.id===f)return d.push(j),d}else{if(o[2])return H.apply(d,b.getElementsByTagName(a)),d;if((f=o[3])&&c.getElementsByClassName&&b.getElementsByClassName)return H.apply(d,b.getElementsByClassName(f)),d}if(c.qsa&&!A[a+" "]&&(!q||!q.test(a))){if(1!==x)w=b,s=a;else if("object"!==b.nodeName.toLowerCase()){(k=b.getAttribute("id"))?k=k.replace(aa,"\\$&"):b.setAttribute("id",k=u),r=g(a),h=r.length,l=V.test(k)?"#"+k:"[id='"+k+"']";while(h--)r[h]=l+" "+qa(r[h]);s=r.join(","),w=_.test(a)&&oa(b.parentNode)||b}if(s)try{return H.apply(d,w.querySelectorAll(s)),d}catch(y){}finally{k===u&&b.removeAttribute("id")}}}return i(a.replace(Q,"$1"),b,d,e)}function ga(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ha(a){return a[u]=!0,a}function ia(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ja(a,b){var c=a.split("|"),e=c.length;while(e--)d.attrHandle[c[e]]=b}function ka(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function la(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function na(a){return ha(function(b){return b=+b,ha(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function oa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=fa.support={},f=fa.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=fa.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=n.documentElement,p=!f(n),(e=n.defaultView)&&e.top!==e&&(e.addEventListener?e.addEventListener("unload",da,!1):e.attachEvent&&e.attachEvent("onunload",da)),c.attributes=ia(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ia(function(a){return a.appendChild(n.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Z.test(n.getElementsByClassName),c.getById=ia(function(a){return o.appendChild(a).id=u,!n.getElementsByName||!n.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ba,ca);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ba,ca);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return"undefined"!=typeof b.getElementsByClassName&&p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=Z.test(n.querySelectorAll))&&(ia(function(a){o.appendChild(a).innerHTML="",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ia(function(a){var b=n.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=Z.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ia(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",O)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=Z.test(o.compareDocumentPosition),t=b||Z.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===n||a.ownerDocument===v&&t(v,a)?-1:b===n||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,g=[a],h=[b];if(!e||!f)return a===n?-1:b===n?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return ka(a,b);c=a;while(c=c.parentNode)g.unshift(c);c=b;while(c=c.parentNode)h.unshift(c);while(g[d]===h[d])d++;return d?ka(g[d],h[d]):g[d]===v?-1:h[d]===v?1:0},n):n},fa.matches=function(a,b){return fa(a,null,null,b)},fa.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(T,"='$1']"),c.matchesSelector&&p&&!A[b+" "]&&(!r||!r.test(b))&&(!q||!q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return fa(b,n,null,[a]).length>0},fa.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},fa.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&D.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},fa.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},fa.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=fa.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=fa.selectors={cacheLength:50,createPseudo:ha,match:W,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ba,ca),a[3]=(a[3]||a[4]||a[5]||"").replace(ba,ca),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||fa.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&fa.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return W.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&U.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(ba,ca).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+L+")"+a+"("+L+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=fa.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(P," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h,t=!1;if(q){if(f){while(p){m=b;while(m=m[p])if(h?m.nodeName.toLowerCase()===r:1===m.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){m=q,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n&&j[2],m=n&&q.childNodes[n];while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if(1===m.nodeType&&++t&&m===b){k[a]=[w,n,t];break}}else if(s&&(m=b,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n),t===!1)while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if((h?m.nodeName.toLowerCase()===r:1===m.nodeType)&&++t&&(s&&(l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),k[a]=[w,t]),m===b))break;return t-=e,t===d||t%d===0&&t/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||fa.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ha(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ha(function(a){var b=[],c=[],d=h(a.replace(Q,"$1"));return d[u]?ha(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ha(function(a){return function(b){return fa(a,b).length>0}}),contains:ha(function(a){return a=a.replace(ba,ca),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ha(function(a){return V.test(a||"")||fa.error("unsupported lang: "+a),a=a.replace(ba,ca).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Y.test(a.nodeName)},input:function(a){return X.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:na(function(){return[0]}),last:na(function(a,b){return[b-1]}),eq:na(function(a,b,c){return[0>c?c+b:c]}),even:na(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:na(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:na(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:na(function(a,b,c){for(var d=0>c?c+b:c;++db;b++)d+=a[b].value;return d}function ra(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j,k=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(j=b[u]||(b[u]={}),i=j[b.uniqueID]||(j[b.uniqueID]={}),(h=i[d])&&h[0]===w&&h[1]===f)return k[2]=h[2];if(i[d]=k,k[2]=a(b,c,g))return!0}}}function sa(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function ta(a,b,c){for(var d=0,e=b.length;e>d;d++)fa(a,b[d],c);return c}function ua(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(c&&!c(f,d,e)||(g.push(f),j&&b.push(h)));return g}function va(a,b,c,d,e,f){return d&&!d[u]&&(d=va(d)),e&&!e[u]&&(e=va(e,f)),ha(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ta(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:ua(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=ua(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=ua(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function wa(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=ra(function(a){return a===b},h,!0),l=ra(function(a){return J(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[ra(sa(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return va(i>1&&sa(m),i>1&&qa(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(Q,"$1"),c,e>i&&wa(a.slice(i,e)),f>e&&wa(a=a.slice(e)),f>e&&qa(a))}m.push(c)}return sa(m)}function xa(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,o,q,r=0,s="0",t=f&&[],u=[],v=j,x=f||e&&d.find.TAG("*",k),y=w+=null==v?1:Math.random()||.1,z=x.length;for(k&&(j=g===n||g||k);s!==z&&null!=(l=x[s]);s++){if(e&&l){o=0,g||l.ownerDocument===n||(m(l),h=!p);while(q=a[o++])if(q(l,g||n,h)){i.push(l);break}k&&(w=y)}c&&((l=!q&&l)&&r--,f&&t.push(l))}if(r+=s,c&&s!==r){o=0;while(q=b[o++])q(t,u,g,h);if(f){if(r>0)while(s--)t[s]||u[s]||(u[s]=F.call(i));u=ua(u)}H.apply(i,u),k&&!f&&u.length>0&&r+b.length>1&&fa.uniqueSort(i)}return k&&(w=y,j=v),t};return c?ha(f):f}return h=fa.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=wa(b[c]),f[u]?d.push(f):e.push(f);f=A(a,xa(e,d)),f.selector=a}return f},i=fa.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(ba,ca),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=W.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(ba,ca),_.test(j[0].type)&&oa(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&qa(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,!b||_.test(a)&&oa(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ia(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ia(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||ja("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ia(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ja("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ia(function(a){return null==a.getAttribute("disabled")})||ja(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),fa}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.uniqueSort=n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&n(a).is(c))break;d.push(a)}return d},v=function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c},w=n.expr.match.needsContext,x=/^<([\w-]+)\s*\/?>(?:<\/\1>|)$/,y=/^.[^:#\[\.,]*$/;function z(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(y.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return n.inArray(a,b)>-1!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=[],d=this,e=d.length;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;e>b;b++)if(n.contains(d[b],this))return!0}));for(b=0;e>b;b++)n.find(a,d[b],c);return c=this.pushStack(e>1?n.unique(c):c),c.selector=this.selector?this.selector+" "+a:a,c},filter:function(a){return this.pushStack(z(this,a||[],!1))},not:function(a){return this.pushStack(z(this,a||[],!0))},is:function(a){return!!z(this,"string"==typeof a&&w.test(a)?n(a):a||[],!1).length}});var A,B=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,C=n.fn.init=function(a,b,c){var e,f;if(!a)return this;if(c=c||A,"string"==typeof a){if(e="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:B.exec(a),!e||!e[1]&&b)return!b||b.jquery?(b||c).find(a):this.constructor(b).find(a);if(e[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(e[1],b&&b.nodeType?b.ownerDocument||b:d,!0)),x.test(e[1])&&n.isPlainObject(b))for(e in b)n.isFunction(this[e])?this[e](b[e]):this.attr(e,b[e]);return this}if(f=d.getElementById(e[2]),f&&f.parentNode){if(f.id!==e[2])return A.find(a);this.length=1,this[0]=f}return this.context=d,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?"undefined"!=typeof c.ready?c.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};C.prototype=n.fn,A=n(d);var D=/^(?:parents|prev(?:Until|All))/,E={children:!0,contents:!0,next:!0,prev:!0};n.fn.extend({has:function(a){var b,c=n(a,this),d=c.length;return this.filter(function(){for(b=0;d>b;b++)if(n.contains(this,c[b]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=w.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.uniqueSort(f):f)},index:function(a){return a?"string"==typeof a?n.inArray(this[0],n(a)):n.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.uniqueSort(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function F(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return u(a,"parentNode")},parentsUntil:function(a,b,c){return u(a,"parentNode",c)},next:function(a){return F(a,"nextSibling")},prev:function(a){return F(a,"previousSibling")},nextAll:function(a){return u(a,"nextSibling")},prevAll:function(a){return u(a,"previousSibling")},nextUntil:function(a,b,c){return u(a,"nextSibling",c)},prevUntil:function(a,b,c){return u(a,"previousSibling",c)},siblings:function(a){return v((a.parentNode||{}).firstChild,a)},children:function(a){return v(a.firstChild)},contents:function(a){return n.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(E[a]||(e=n.uniqueSort(e)),D.test(a)&&(e=e.reverse())),this.pushStack(e)}});var G=/\S+/g;function H(a){var b={};return n.each(a.match(G)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?H(a):n.extend({},a);var b,c,d,e,f=[],g=[],h=-1,i=function(){for(e=a.once,d=b=!0;g.length;h=-1){c=g.shift();while(++h-1)f.splice(c,1),h>=c&&h--}),this},has:function(a){return a?n.inArray(a,f)>-1:f.length>0},empty:function(){return f&&(f=[]),this},disable:function(){return e=g=[],f=c="",this},disabled:function(){return!f},lock:function(){return e=!0,c||j.disable(),this},locked:function(){return!!e},fireWith:function(a,c){return e||(c=c||[],c=[a,c.slice?c.slice():c],g.push(c),b||i()),this},fire:function(){return j.fireWith(this,arguments),this},fired:function(){return!!d}};return j},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().progress(c.notify).done(c.resolve).fail(c.reject):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=e.call(arguments),d=c.length,f=1!==d||a&&n.isFunction(a.promise)?d:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(d){b[a]=this,c[a]=arguments.length>1?e.call(arguments):d,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(d>1)for(i=new Array(d),j=new Array(d),k=new Array(d);d>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().progress(h(b,j,i)).done(h(b,k,c)).fail(g.reject):--f;return f||g.resolveWith(k,c),g.promise()}});var I;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){(a===!0?--n.readyWait:n.isReady)||(n.isReady=!0,a!==!0&&--n.readyWait>0||(I.resolveWith(d,[n]),n.fn.triggerHandler&&(n(d).triggerHandler("ready"),n(d).off("ready"))))}});function J(){d.addEventListener?(d.removeEventListener("DOMContentLoaded",K),a.removeEventListener("load",K)):(d.detachEvent("onreadystatechange",K),a.detachEvent("onload",K))}function K(){(d.addEventListener||"load"===a.event.type||"complete"===d.readyState)&&(J(),n.ready())}n.ready.promise=function(b){if(!I)if(I=n.Deferred(),"complete"===d.readyState||"loading"!==d.readyState&&!d.documentElement.doScroll)a.setTimeout(n.ready);else if(d.addEventListener)d.addEventListener("DOMContentLoaded",K),a.addEventListener("load",K);else{d.attachEvent("onreadystatechange",K),a.attachEvent("onload",K);var c=!1;try{c=null==a.frameElement&&d.documentElement}catch(e){}c&&c.doScroll&&!function f(){if(!n.isReady){try{c.doScroll("left")}catch(b){return a.setTimeout(f,50)}J(),n.ready()}}()}return I.promise(b)},n.ready.promise();var L;for(L in n(l))break;l.ownFirst="0"===L,l.inlineBlockNeedsLayout=!1,n(function(){var a,b,c,e;c=d.getElementsByTagName("body")[0],c&&c.style&&(b=d.createElement("div"),e=d.createElement("div"),e.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(e).appendChild(b),"undefined"!=typeof b.style.zoom&&(b.style.cssText="display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1",l.inlineBlockNeedsLayout=a=3===b.offsetWidth,a&&(c.style.zoom=1)),c.removeChild(e))}),function(){var a=d.createElement("div");l.deleteExpando=!0;try{delete a.test}catch(b){l.deleteExpando=!1}a=null}();var M=function(a){var b=n.noData[(a.nodeName+" ").toLowerCase()],c=+a.nodeType||1;return 1!==c&&9!==c?!1:!b||b!==!0&&a.getAttribute("classid")===b},N=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,O=/([A-Z])/g;function P(a,b,c){if(void 0===c&&1===a.nodeType){var d="data-"+b.replace(O,"-$1").toLowerCase();if(c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:N.test(c)?n.parseJSON(c):c}catch(e){}n.data(a,b,c)}else c=void 0; }return c}function Q(a){var b;for(b in a)if(("data"!==b||!n.isEmptyObject(a[b]))&&"toJSON"!==b)return!1;return!0}function R(a,b,d,e){if(M(a)){var f,g,h=n.expando,i=a.nodeType,j=i?n.cache:a,k=i?a[h]:a[h]&&h;if(k&&j[k]&&(e||j[k].data)||void 0!==d||"string"!=typeof b)return k||(k=i?a[h]=c.pop()||n.guid++:h),j[k]||(j[k]=i?{}:{toJSON:n.noop}),"object"!=typeof b&&"function"!=typeof b||(e?j[k]=n.extend(j[k],b):j[k].data=n.extend(j[k].data,b)),g=j[k],e||(g.data||(g.data={}),g=g.data),void 0!==d&&(g[n.camelCase(b)]=d),"string"==typeof b?(f=g[b],null==f&&(f=g[n.camelCase(b)])):f=g,f}}function S(a,b,c){if(M(a)){var d,e,f=a.nodeType,g=f?n.cache:a,h=f?a[n.expando]:n.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){n.isArray(b)?b=b.concat(n.map(b,n.camelCase)):b in d?b=[b]:(b=n.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;while(e--)delete d[b[e]];if(c?!Q(d):!n.isEmptyObject(d))return}(c||(delete g[h].data,Q(g[h])))&&(f?n.cleanData([a],!0):l.deleteExpando||g!=g.window?delete g[h]:g[h]=void 0)}}}n.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(a){return a=a.nodeType?n.cache[a[n.expando]]:a[n.expando],!!a&&!Q(a)},data:function(a,b,c){return R(a,b,c)},removeData:function(a,b){return S(a,b)},_data:function(a,b,c){return R(a,b,c,!0)},_removeData:function(a,b){return S(a,b,!0)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=n.data(f),1===f.nodeType&&!n._data(f,"parsedAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),P(f,d,e[d])));n._data(f,"parsedAttrs",!0)}return e}return"object"==typeof a?this.each(function(){n.data(this,a)}):arguments.length>1?this.each(function(){n.data(this,a,b)}):f?P(f,a,n.data(f,a)):void 0},removeData:function(a){return this.each(function(){n.removeData(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=n._data(a,b),c&&(!d||n.isArray(c)?d=n._data(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return n._data(a,c)||n._data(a,c,{empty:n.Callbacks("once memory").add(function(){n._removeData(a,b+"queue"),n._removeData(a,c)})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.lengthh;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},Z=/^(?:checkbox|radio)$/i,$=/<([\w:-]+)/,_=/^$|\/(?:java|ecma)script/i,aa=/^\s+/,ba="abbr|article|aside|audio|bdi|canvas|data|datalist|details|dialog|figcaption|figure|footer|header|hgroup|main|mark|meter|nav|output|picture|progress|section|summary|template|time|video";function ca(a){var b=ba.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}!function(){var a=d.createElement("div"),b=d.createDocumentFragment(),c=d.createElement("input");a.innerHTML="
a",l.leadingWhitespace=3===a.firstChild.nodeType,l.tbody=!a.getElementsByTagName("tbody").length,l.htmlSerialize=!!a.getElementsByTagName("link").length,l.html5Clone="<:nav>"!==d.createElement("nav").cloneNode(!0).outerHTML,c.type="checkbox",c.checked=!0,b.appendChild(c),l.appendChecked=c.checked,a.innerHTML="",l.noCloneChecked=!!a.cloneNode(!0).lastChild.defaultValue,b.appendChild(a),c=d.createElement("input"),c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),a.appendChild(c),l.checkClone=a.cloneNode(!0).cloneNode(!0).lastChild.checked,l.noCloneEvent=!!a.addEventListener,a[n.expando]=1,l.attributes=!a.getAttribute(n.expando)}();var da={option:[1,""],legend:[1,"
","
"],area:[1,"",""],param:[1,"",""],thead:[1,"","
"],tr:[2,"","
"],col:[2,"","
"],td:[3,"","
"],_default:l.htmlSerialize?[0,"",""]:[1,"X
","
"]};da.optgroup=da.option,da.tbody=da.tfoot=da.colgroup=da.caption=da.thead,da.th=da.td;function ea(a,b){var c,d,e=0,f="undefined"!=typeof a.getElementsByTagName?a.getElementsByTagName(b||"*"):"undefined"!=typeof a.querySelectorAll?a.querySelectorAll(b||"*"):void 0;if(!f)for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++)!b||n.nodeName(d,b)?f.push(d):n.merge(f,ea(d,b));return void 0===b||b&&n.nodeName(a,b)?n.merge([a],f):f}function fa(a,b){for(var c,d=0;null!=(c=a[d]);d++)n._data(c,"globalEval",!b||n._data(b[d],"globalEval"))}var ga=/<|&#?\w+;/,ha=/r;r++)if(g=a[r],g||0===g)if("object"===n.type(g))n.merge(q,g.nodeType?[g]:g);else if(ga.test(g)){i=i||p.appendChild(b.createElement("div")),j=($.exec(g)||["",""])[1].toLowerCase(),m=da[j]||da._default,i.innerHTML=m[1]+n.htmlPrefilter(g)+m[2],f=m[0];while(f--)i=i.lastChild;if(!l.leadingWhitespace&&aa.test(g)&&q.push(b.createTextNode(aa.exec(g)[0])),!l.tbody){g="table"!==j||ha.test(g)?""!==m[1]||ha.test(g)?0:i:i.firstChild,f=g&&g.childNodes.length;while(f--)n.nodeName(k=g.childNodes[f],"tbody")&&!k.childNodes.length&&g.removeChild(k)}n.merge(q,i.childNodes),i.textContent="";while(i.firstChild)i.removeChild(i.firstChild);i=p.lastChild}else q.push(b.createTextNode(g));i&&p.removeChild(i),l.appendChecked||n.grep(ea(q,"input"),ia),r=0;while(g=q[r++])if(d&&n.inArray(g,d)>-1)e&&e.push(g);else if(h=n.contains(g.ownerDocument,g),i=ea(p.appendChild(g),"script"),h&&fa(i),c){f=0;while(g=i[f++])_.test(g.type||"")&&c.push(g)}return i=null,p}!function(){var b,c,e=d.createElement("div");for(b in{submit:!0,change:!0,focusin:!0})c="on"+b,(l[b]=c in a)||(e.setAttribute(c,"t"),l[b]=e.attributes[c].expando===!1);e=null}();var ka=/^(?:input|select|textarea)$/i,la=/^key/,ma=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,na=/^(?:focusinfocus|focusoutblur)$/,oa=/^([^.]*)(?:\.(.+)|)/;function pa(){return!0}function qa(){return!1}function ra(){try{return d.activeElement}catch(a){}}function sa(a,b,c,d,e,f){var g,h;if("object"==typeof b){"string"!=typeof c&&(d=d||c,c=void 0);for(h in b)sa(a,h,c,d,b[h],f);return a}if(null==d&&null==e?(e=c,d=c=void 0):null==e&&("string"==typeof c?(e=d,d=void 0):(e=d,d=c,c=void 0)),e===!1)e=qa;else if(!e)return a;return 1===f&&(g=e,e=function(a){return n().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=n.guid++)),a.each(function(){n.event.add(this,b,e,d,c)})}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=n._data(a);if(r){c.handler&&(i=c,c=i.handler,e=i.selector),c.guid||(c.guid=n.guid++),(g=r.events)||(g=r.events={}),(k=r.handle)||(k=r.handle=function(a){return"undefined"==typeof n||a&&n.event.triggered===a.type?void 0:n.event.dispatch.apply(k.elem,arguments)},k.elem=a),b=(b||"").match(G)||[""],h=b.length;while(h--)f=oa.exec(b[h])||[],o=q=f[1],p=(f[2]||"").split(".").sort(),o&&(j=n.event.special[o]||{},o=(e?j.delegateType:j.bindType)||o,j=n.event.special[o]||{},l=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},i),(m=g[o])||(m=g[o]=[],m.delegateCount=0,j.setup&&j.setup.call(a,d,p,k)!==!1||(a.addEventListener?a.addEventListener(o,k,!1):a.attachEvent&&a.attachEvent("on"+o,k))),j.add&&(j.add.call(a,l),l.handler.guid||(l.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,l):m.push(l),n.event.global[o]=!0);a=null}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=n.hasData(a)&&n._data(a);if(r&&(k=r.events)){b=(b||"").match(G)||[""],j=b.length;while(j--)if(h=oa.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=k[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=f=m.length;while(f--)g=m[f],!e&&q!==g.origType||c&&c.guid!==g.guid||h&&!h.test(g.namespace)||d&&d!==g.selector&&("**"!==d||!g.selector)||(m.splice(f,1),g.selector&&m.delegateCount--,l.remove&&l.remove.call(a,g));i&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete k[o])}else for(o in k)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(k)&&(delete r.handle,n._removeData(a,"events"))}},trigger:function(b,c,e,f){var g,h,i,j,l,m,o,p=[e||d],q=k.call(b,"type")?b.type:b,r=k.call(b,"namespace")?b.namespace.split("."):[];if(i=m=e=e||d,3!==e.nodeType&&8!==e.nodeType&&!na.test(q+n.event.triggered)&&(q.indexOf(".")>-1&&(r=q.split("."),q=r.shift(),r.sort()),h=q.indexOf(":")<0&&"on"+q,b=b[n.expando]?b:new n.Event(q,"object"==typeof b&&b),b.isTrigger=f?2:3,b.namespace=r.join("."),b.rnamespace=b.namespace?new RegExp("(^|\\.)"+r.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=e),c=null==c?[b]:n.makeArray(c,[b]),l=n.event.special[q]||{},f||!l.trigger||l.trigger.apply(e,c)!==!1)){if(!f&&!l.noBubble&&!n.isWindow(e)){for(j=l.delegateType||q,na.test(j+q)||(i=i.parentNode);i;i=i.parentNode)p.push(i),m=i;m===(e.ownerDocument||d)&&p.push(m.defaultView||m.parentWindow||a)}o=0;while((i=p[o++])&&!b.isPropagationStopped())b.type=o>1?j:l.bindType||q,g=(n._data(i,"events")||{})[b.type]&&n._data(i,"handle"),g&&g.apply(i,c),g=h&&i[h],g&&g.apply&&M(i)&&(b.result=g.apply(i,c),b.result===!1&&b.preventDefault());if(b.type=q,!f&&!b.isDefaultPrevented()&&(!l._default||l._default.apply(p.pop(),c)===!1)&&M(e)&&h&&e[q]&&!n.isWindow(e)){m=e[h],m&&(e[h]=null),n.event.triggered=q;try{e[q]()}catch(s){}n.event.triggered=void 0,m&&(e[h]=m)}return b.result}},dispatch:function(a){a=n.event.fix(a);var b,c,d,f,g,h=[],i=e.call(arguments),j=(n._data(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,c=0;while((g=f.handlers[c++])&&!a.isImmediatePropagationStopped())a.rnamespace&&!a.rnamespace.test(g.namespace)||(a.handleObj=g,a.data=g.data,d=((n.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==d&&(a.result=d)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&("click"!==a.type||isNaN(a.button)||a.button<1))for(;i!=this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(d=[],c=0;h>c;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?n(e,this).index(i)>-1:n.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h]","i"),va=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi,wa=/\s*$/g,Aa=ca(d),Ba=Aa.appendChild(d.createElement("div"));function Ca(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function Da(a){return a.type=(null!==n.find.attr(a,"type"))+"/"+a.type,a}function Ea(a){var b=ya.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function Fa(a,b){if(1===b.nodeType&&n.hasData(a)){var c,d,e,f=n._data(a),g=n._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)n.event.add(b,c,h[c][d])}g.data&&(g.data=n.extend({},g.data))}}function Ga(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!l.noCloneEvent&&b[n.expando]){e=n._data(b);for(d in e.events)n.removeEvent(b,d,e.handle);b.removeAttribute(n.expando)}"script"===c&&b.text!==a.text?(Da(b).text=a.text,Ea(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),l.html5Clone&&a.innerHTML&&!n.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&Z.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:"input"!==c&&"textarea"!==c||(b.defaultValue=a.defaultValue)}}function Ha(a,b,c,d){b=f.apply([],b);var e,g,h,i,j,k,m=0,o=a.length,p=o-1,q=b[0],r=n.isFunction(q);if(r||o>1&&"string"==typeof q&&!l.checkClone&&xa.test(q))return a.each(function(e){var f=a.eq(e);r&&(b[0]=q.call(this,e,f.html())),Ha(f,b,c,d)});if(o&&(k=ja(b,a[0].ownerDocument,!1,a,d),e=k.firstChild,1===k.childNodes.length&&(k=e),e||d)){for(i=n.map(ea(k,"script"),Da),h=i.length;o>m;m++)g=k,m!==p&&(g=n.clone(g,!0,!0),h&&n.merge(i,ea(g,"script"))),c.call(a[m],g,m);if(h)for(j=i[i.length-1].ownerDocument,n.map(i,Ea),m=0;h>m;m++)g=i[m],_.test(g.type||"")&&!n._data(g,"globalEval")&&n.contains(j,g)&&(g.src?n._evalUrl&&n._evalUrl(g.src):n.globalEval((g.text||g.textContent||g.innerHTML||"").replace(za,"")));k=e=null}return a}function Ia(a,b,c){for(var d,e=b?n.filter(b,a):a,f=0;null!=(d=e[f]);f++)c||1!==d.nodeType||n.cleanData(ea(d)),d.parentNode&&(c&&n.contains(d.ownerDocument,d)&&fa(ea(d,"script")),d.parentNode.removeChild(d));return a}n.extend({htmlPrefilter:function(a){return a.replace(va,"<$1>")},clone:function(a,b,c){var d,e,f,g,h,i=n.contains(a.ownerDocument,a);if(l.html5Clone||n.isXMLDoc(a)||!ua.test("<"+a.nodeName+">")?f=a.cloneNode(!0):(Ba.innerHTML=a.outerHTML,Ba.removeChild(f=Ba.firstChild)),!(l.noCloneEvent&&l.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(d=ea(f),h=ea(a),g=0;null!=(e=h[g]);++g)d[g]&&Ga(e,d[g]);if(b)if(c)for(h=h||ea(a),d=d||ea(f),g=0;null!=(e=h[g]);g++)Fa(e,d[g]);else Fa(a,f);return d=ea(f,"script"),d.length>0&&fa(d,!i&&ea(a,"script")),d=h=e=null,f},cleanData:function(a,b){for(var d,e,f,g,h=0,i=n.expando,j=n.cache,k=l.attributes,m=n.event.special;null!=(d=a[h]);h++)if((b||M(d))&&(f=d[i],g=f&&j[f])){if(g.events)for(e in g.events)m[e]?n.event.remove(d,e):n.removeEvent(d,e,g.handle);j[f]&&(delete j[f],k||"undefined"==typeof d.removeAttribute?d[i]=void 0:d.removeAttribute(i),c.push(f))}}}),n.fn.extend({domManip:Ha,detach:function(a){return Ia(this,a,!0)},remove:function(a){return Ia(this,a)},text:function(a){return Y(this,function(a){return void 0===a?n.text(this):this.empty().append((this[0]&&this[0].ownerDocument||d).createTextNode(a))},null,a,arguments.length)},append:function(){return Ha(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ca(this,a);b.appendChild(a)}})},prepend:function(){return Ha(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ca(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return Ha(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return Ha(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},empty:function(){for(var a,b=0;null!=(a=this[b]);b++){1===a.nodeType&&n.cleanData(ea(a,!1));while(a.firstChild)a.removeChild(a.firstChild);a.options&&n.nodeName(a,"select")&&(a.options.length=0)}return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return Y(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a)return 1===b.nodeType?b.innerHTML.replace(ta,""):void 0;if("string"==typeof a&&!wa.test(a)&&(l.htmlSerialize||!ua.test(a))&&(l.leadingWhitespace||!aa.test(a))&&!da[($.exec(a)||["",""])[1].toLowerCase()]){a=n.htmlPrefilter(a);try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(ea(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=[];return Ha(this,arguments,function(b){var c=this.parentNode;n.inArray(this,a)<0&&(n.cleanData(ea(this)),c&&c.replaceChild(b,this))},a)}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=0,e=[],f=n(a),h=f.length-1;h>=d;d++)c=d===h?this:this.clone(!0),n(f[d])[b](c),g.apply(e,c.get());return this.pushStack(e)}});var Ja,Ka={HTML:"block",BODY:"block"};function La(a,b){var c=n(b.createElement(a)).appendTo(b.body),d=n.css(c[0],"display");return c.detach(),d}function Ma(a){var b=d,c=Ka[a];return c||(c=La(a,b),"none"!==c&&c||(Ja=(Ja||n("