diff --git a/.github/ISSUE_TEMPLATE/bug-report.yml b/.github/ISSUE_TEMPLATE/bug-report.yml new file mode 100644 index 000000000..13612d5cf --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug-report.yml @@ -0,0 +1,65 @@ +name: 🐞 Bug report +title: "[Bug]: " +labels: ["bug", "triage"] +description: Report an issue with Pixelfed here +body: + - type: markdown + attributes: + value: | + Thanks for taking the time to fill out this bug report! + + Before you proceed: + + - Make sure to check whether there are similar issues in the repository + - Make sure you're using the latest version of the app + + - type: markdown + attributes: + value: | + ## Required information + - type: textarea + id: description + attributes: + label: Description + description: Please provide a clear, concise and descriptive explanation of what the bug is. Include screenshots or a video if possible. Tell us what were you expecting to happen instead of what is happening now. + validations: + required: true + + - type: textarea + id: steps-to-reproduce + attributes: + label: Steps to reproduce + description: Provide a detailed list of steps that reproduce the issue. + placeholder: | + 1. + 2. + 3. + validations: + required: true + + - type: input + id: pixelfed-version + attributes: + label: Pixelfed version + description: What version of Pixelfed are you using? + placeholder: ex. 1.2.3 + validations: + required: true + + - type: markdown + attributes: + value: | + ## Additonal information + + Providing as much information as possible greatly helps us with reproducting the issues. + + - type: dropdown + id: acknowledgements + attributes: + label: Acknowledgements + description: I searched for similar issues in the repository. + options: + - 'Yes' + validations: + required: true + diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 000000000..f23f87c99 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,8 @@ +blank_issues_enabled: false +contact_links: + - name: Mobile Application Issues + url: https://github.com/pixelfed/pixelfed-rn/issues + about: Please create issues in the mobile app repo. + - name: Question + url: https://discord.gg/6Fy6AJMbMU + about: Please ask and answer questions in our Discord server diff --git a/.github/ISSUE_TEMPLATE/feature-request.yml b/.github/ISSUE_TEMPLATE/feature-request.yml new file mode 100644 index 000000000..be5da96fc --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature-request.yml @@ -0,0 +1,52 @@ +name: 💡 Feature request +title: "[Feature]: " +labels: ["enhancement", "triage"] +description: Suggest a new feature for Pixelfed here +body: + - type: markdown + attributes: + value: | + Thanks for taking the time to fill out this feature request form! + + Before you proceed: + + - Make sure to check whether there are similar feature requests open in the repository + - Make sure this isn't currenly being worked on in a pull request + + - type: markdown + attributes: + value: | + ## Required information + - type: textarea + id: description + attributes: + label: Description + description: Please provide a clear, concise and description of what the feature is. + validations: + required: true + + - type: textarea + id: use-case + attributes: + label: Use-case + description: Please describe how this feature will benefit you and other users. + validations: + required: true + + - type: markdown + attributes: + value: | + ## Additonal information + + Providing as much information as possible greatly helps us with reproducting the issues. + + - type: dropdown + id: acknowledgements + attributes: + label: Acknowledgements + description: I searched for similar feature requests in the repository. + options: + - 'Yes' + validations: + required: true + diff --git a/.github/ISSUE_TEMPLATE/federation.yml b/.github/ISSUE_TEMPLATE/federation.yml new file mode 100644 index 000000000..5354124f1 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/federation.yml @@ -0,0 +1,65 @@ +name: 🐞 Federation (ActivityPub) +title: "[Federation]: " +labels: ["activitypub", "triage"] +description: Report an issue with Pixelfed and the Fediverse/ActivityPub here +body: + - type: markdown + attributes: + value: | + Thanks for taking the time to fill out this bug report! + + Before you proceed: + + - Make sure to check whether there are similar issues in the repository + - Make sure you're using the latest version of the app + + - type: markdown + attributes: + value: | + ## Required information + - type: textarea + id: description + attributes: + label: Description + description: Please provide a clear, concise and descriptive explanation of what the bug is. Include screenshots or a video if possible. Tell us what were you expecting to happen instead of what is happening now. + validations: + required: true + + - type: textarea + id: steps-to-reproduce + attributes: + label: Steps to reproduce + description: Provide a detailed list of steps that reproduce the issue. + placeholder: | + 1. + 2. + 3. + validations: + required: true + + - type: input + id: pixelfed-version + attributes: + label: Pixelfed version + description: What version of Pixelfed are you using? + placeholder: ex. 1.2.3 + validations: + required: true + + - type: markdown + attributes: + value: | + ## Additonal information + + Providing as much information as possible greatly helps us with reproducting the issues. + + - type: dropdown + id: acknowledgements + attributes: + label: Acknowledgements + description: I searched for similar issues in the repository. + options: + - 'Yes' + validations: + required: true + diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index f9d2304cb..e485340d7 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -8,7 +8,7 @@ However, if you file a bug report, your issue should contain a title and a clear Remember, bug reports are created in the hope that others with the same problem will be able to collaborate with you on solving it. Do not expect that the bug report will automatically see any activity or that others will jump to fix it. Creating a bug report serves to help yourself and others start on the path of fixing the problem. ## Core Development Discussion -Informal discussion regarding bugs, new features, and implementation of existing features takes place in the ```#pixelfed-dev``` channel on the Freenode IRC network. +Informal discussion regarding bugs, new features, and implementation of existing features takes place on [discord](https://discord.gg/VDhM32hbUK) or in the [```#pixeldev```](https://matrix.to/#/#pixeldev:matrix.org) channel matrix. ## Branches If you want to contribute to this repository, please file your pull request against the `staging` branch. diff --git a/app/Http/Controllers/Api/V1/DomainBlockController.php b/app/Http/Controllers/Api/V1/DomainBlockController.php index 3b6730789..61bdcdce3 100644 --- a/app/Http/Controllers/Api/V1/DomainBlockController.php +++ b/app/Http/Controllers/Api/V1/DomainBlockController.php @@ -56,7 +56,7 @@ class DomainBlockController extends Controller abort_if(!$request->user(), 403); $this->validate($request, [ - 'domain' => 'required|active_url|min:1|max:120' + 'domain' => 'required|min:1|max:120' ]); $pid = $request->user()->profile_id; diff --git a/composer.lock b/composer.lock index 10466fddc..00f137c8a 100644 --- a/composer.lock +++ b/composer.lock @@ -62,16 +62,16 @@ }, { "name": "aws/aws-sdk-php", - "version": "3.340.4", + "version": "3.342.0", "source": { "type": "git", "url": "https://github.com/aws/aws-sdk-php.git", - "reference": "2896cfb3f6b2bd06757b16e99e1cab93c9598af3" + "reference": "5b8c837ab0c9754ab3408bd9afe6f0c67516b1fd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/2896cfb3f6b2bd06757b16e99e1cab93c9598af3", - "reference": "2896cfb3f6b2bd06757b16e99e1cab93c9598af3", + "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/5b8c837ab0c9754ab3408bd9afe6f0c67516b1fd", + "reference": "5b8c837ab0c9754ab3408bd9afe6f0c67516b1fd", "shasum": "" }, "require": { @@ -153,9 +153,9 @@ "support": { "forum": "https://github.com/aws/aws-sdk-php/discussions", "issues": "https://github.com/aws/aws-sdk-php/issues", - "source": "https://github.com/aws/aws-sdk-php/tree/3.340.4" + "source": "https://github.com/aws/aws-sdk-php/tree/3.342.0" }, - "time": "2025-02-28T19:13:38+00:00" + "time": "2025-03-05T19:20:14+00:00" }, { "name": "bacon/bacon-qr-code", @@ -273,21 +273,21 @@ }, { "name": "buzz/laravel-h-captcha", - "version": "v1.0.5", + "version": "v1.0.6", "source": { "type": "git", "url": "https://github.com/thinhbuzz/laravel-h-captcha.git", - "reference": "53435b15cf2094306d65584e68d4ed63dee1b9b9" + "reference": "b42e87229d6abeeba7e6ff0d785649b57c69e03e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thinhbuzz/laravel-h-captcha/zipball/53435b15cf2094306d65584e68d4ed63dee1b9b9", - "reference": "53435b15cf2094306d65584e68d4ed63dee1b9b9", + "url": "https://api.github.com/repos/thinhbuzz/laravel-h-captcha/zipball/b42e87229d6abeeba7e6ff0d785649b57c69e03e", + "reference": "b42e87229d6abeeba7e6ff0d785649b57c69e03e", "shasum": "" }, "require": { "guzzlehttp/guzzle": "6.*|7.*", - "illuminate/support": "5.*|6.*|7.*|8.*|9.*|10.*|11.*", + "illuminate/support": "5.*|6.*|7.*|8.*|9.*|10.*|11.*|12.*", "php": ">=5.4.0" }, "type": "library", @@ -323,20 +323,13 @@ "captcha", "h-captcha", "hcaptcha", - "laravel", - "laravel 10", - "laravel 11", - "laravel 5", - "laravel 6", - "laravel 7", - "laravel 8", - "laravel 9" + "laravel" ], "support": { "issues": "https://github.com/thinhbuzz/laravel-h-captcha/issues", - "source": "https://github.com/thinhbuzz/laravel-h-captcha/tree/v1.0.5" + "source": "https://github.com/thinhbuzz/laravel-h-captcha/tree/v1.0.6" }, - "time": "2024-03-04T11:23:51+00:00" + "time": "2025-03-04T13:06:32+00:00" }, { "name": "carbonphp/carbon-doctrine-types", @@ -1296,16 +1289,16 @@ }, { "name": "endroid/qr-code", - "version": "6.0.3", + "version": "6.0.4", "source": { "type": "git", "url": "https://github.com/endroid/qr-code.git", - "reference": "bdbb06e767efe9abe3c00461662b4059a6cd0b55" + "reference": "74b62f4aba2f2ffd30d80bccb10947c04cfe1b98" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/endroid/qr-code/zipball/bdbb06e767efe9abe3c00461662b4059a6cd0b55", - "reference": "bdbb06e767efe9abe3c00461662b4059a6cd0b55", + "url": "https://api.github.com/repos/endroid/qr-code/zipball/74b62f4aba2f2ffd30d80bccb10947c04cfe1b98", + "reference": "74b62f4aba2f2ffd30d80bccb10947c04cfe1b98", "shasum": "" }, "require": { @@ -1356,7 +1349,7 @@ ], "support": { "issues": "https://github.com/endroid/qr-code/issues", - "source": "https://github.com/endroid/qr-code/tree/6.0.3" + "source": "https://github.com/endroid/qr-code/tree/6.0.4" }, "funding": [ { @@ -1364,7 +1357,7 @@ "type": "github" } ], - "time": "2024-10-29T19:28:52+00:00" + "time": "2025-03-04T12:23:14+00:00" }, { "name": "evenement/evenement", @@ -2243,16 +2236,16 @@ }, { "name": "jaybizzle/crawler-detect", - "version": "v1.3.3", + "version": "v1.3.4", "source": { "type": "git", "url": "https://github.com/JayBizzle/Crawler-Detect.git", - "reference": "d14a1c24553d7024a577ebc2bd8667de1033be68" + "reference": "d3b7ff28994e1b0de764ab7412fa269a79634ff3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/JayBizzle/Crawler-Detect/zipball/d14a1c24553d7024a577ebc2bd8667de1033be68", - "reference": "d14a1c24553d7024a577ebc2bd8667de1033be68", + "url": "https://api.github.com/repos/JayBizzle/Crawler-Detect/zipball/d3b7ff28994e1b0de764ab7412fa269a79634ff3", + "reference": "d3b7ff28994e1b0de764ab7412fa269a79634ff3", "shasum": "" }, "require": { @@ -2289,9 +2282,9 @@ ], "support": { "issues": "https://github.com/JayBizzle/Crawler-Detect/issues", - "source": "https://github.com/JayBizzle/Crawler-Detect/tree/v1.3.3" + "source": "https://github.com/JayBizzle/Crawler-Detect/tree/v1.3.4" }, - "time": "2025-02-26T18:40:58+00:00" + "time": "2025-03-05T23:12:10+00:00" }, { "name": "jenssegers/agent", @@ -2500,16 +2493,16 @@ }, { "name": "laravel/framework", - "version": "v11.44.0", + "version": "v11.44.1", "source": { "type": "git", "url": "https://github.com/laravel/framework.git", - "reference": "e9a33da34815ac1ed46c7e4c477a775f4592f0a7" + "reference": "0883d4175f4e2b5c299e7087ad3c74f2ce195c6d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/e9a33da34815ac1ed46c7e4c477a775f4592f0a7", - "reference": "e9a33da34815ac1ed46c7e4c477a775f4592f0a7", + "url": "https://api.github.com/repos/laravel/framework/zipball/0883d4175f4e2b5c299e7087ad3c74f2ce195c6d", + "reference": "0883d4175f4e2b5c299e7087ad3c74f2ce195c6d", "shasum": "" }, "require": { @@ -2617,7 +2610,7 @@ "league/flysystem-read-only": "^3.25.1", "league/flysystem-sftp-v3": "^3.25.1", "mockery/mockery": "^1.6.10", - "orchestra/testbench-core": "^9.9.4", + "orchestra/testbench-core": "^9.11.2", "pda/pheanstalk": "^5.0.6", "php-http/discovery": "^1.15", "phpstan/phpstan": "^2.0", @@ -2711,7 +2704,7 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2025-02-24T13:08:54+00:00" + "time": "2025-03-05T15:34:10+00:00" }, { "name": "laravel/helpers", @@ -2772,16 +2765,16 @@ }, { "name": "laravel/horizon", - "version": "v5.30.3", + "version": "v5.31.0", "source": { "type": "git", "url": "https://github.com/laravel/horizon.git", - "reference": "7b9ee870bf0e425b956fd0433f616f98fe951f72" + "reference": "a21e7d64784b24eaf3bf873f82affbf67707a72a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/horizon/zipball/7b9ee870bf0e425b956fd0433f616f98fe951f72", - "reference": "7b9ee870bf0e425b956fd0433f616f98fe951f72", + "url": "https://api.github.com/repos/laravel/horizon/zipball/a21e7d64784b24eaf3bf873f82affbf67707a72a", + "reference": "a21e7d64784b24eaf3bf873f82affbf67707a72a", "shasum": "" }, "require": { @@ -2846,9 +2839,9 @@ ], "support": { "issues": "https://github.com/laravel/horizon/issues", - "source": "https://github.com/laravel/horizon/tree/v5.30.3" + "source": "https://github.com/laravel/horizon/tree/v5.31.0" }, - "time": "2025-02-11T13:52:50+00:00" + "time": "2025-03-04T14:56:42+00:00" }, { "name": "laravel/passport", @@ -4216,16 +4209,16 @@ }, { "name": "livewire/livewire", - "version": "v3.6.0", + "version": "v3.6.1", "source": { "type": "git", "url": "https://github.com/livewire/livewire.git", - "reference": "4c66b569cb729ba9b2f4a3c4e79f50fd8f2b71d1" + "reference": "0df0a762698176d714e42e2dfed92b6b9e24b8e4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/livewire/livewire/zipball/4c66b569cb729ba9b2f4a3c4e79f50fd8f2b71d1", - "reference": "4c66b569cb729ba9b2f4a3c4e79f50fd8f2b71d1", + "url": "https://api.github.com/repos/livewire/livewire/zipball/0df0a762698176d714e42e2dfed92b6b9e24b8e4", + "reference": "0df0a762698176d714e42e2dfed92b6b9e24b8e4", "shasum": "" }, "require": { @@ -4280,7 +4273,7 @@ "description": "A front-end framework for Laravel.", "support": { "issues": "https://github.com/livewire/livewire/issues", - "source": "https://github.com/livewire/livewire/tree/v3.6.0" + "source": "https://github.com/livewire/livewire/tree/v3.6.1" }, "funding": [ { @@ -4288,7 +4281,7 @@ "type": "github" } ], - "time": "2025-02-26T00:57:32+00:00" + "time": "2025-03-04T21:48:52+00:00" }, { "name": "minishlink/web-push", @@ -11803,16 +11796,16 @@ }, { "name": "phpunit/phpunit", - "version": "11.5.10", + "version": "11.5.11", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "d5df2b32d729562ff8db634678d71085ee579006" + "reference": "3946ac38410be7440186c6e74584f31b15107fc7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/d5df2b32d729562ff8db634678d71085ee579006", - "reference": "d5df2b32d729562ff8db634678d71085ee579006", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/3946ac38410be7440186c6e74584f31b15107fc7", + "reference": "3946ac38410be7440186c6e74584f31b15107fc7", "shasum": "" }, "require": { @@ -11826,7 +11819,7 @@ "phar-io/manifest": "^2.0.4", "phar-io/version": "^3.2.1", "php": ">=8.2", - "phpunit/php-code-coverage": "^11.0.8", + "phpunit/php-code-coverage": "^11.0.9", "phpunit/php-file-iterator": "^5.1.0", "phpunit/php-invoker": "^5.0.1", "phpunit/php-text-template": "^4.0.1", @@ -11884,7 +11877,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", "security": "https://github.com/sebastianbergmann/phpunit/security/policy", - "source": "https://github.com/sebastianbergmann/phpunit/tree/11.5.10" + "source": "https://github.com/sebastianbergmann/phpunit/tree/11.5.11" }, "funding": [ { @@ -11900,7 +11893,7 @@ "type": "tidelift" } ], - "time": "2025-02-25T06:11:48+00:00" + "time": "2025-03-05T07:36:02+00:00" }, { "name": "sebastian/cli-parser", diff --git a/docker/shared/root/docker/install/base.sh b/docker/shared/root/docker/install/base.sh index a1a32a003..b1fa02a0f 100755 --- a/docker/shared/root/docker/install/base.sh +++ b/docker/shared/root/docker/install/base.sh @@ -16,6 +16,7 @@ declare -a packages=() # Standard packages packages+=( apt-utils + bzip2 ca-certificates curl git diff --git a/resources/assets/components/AccountImport.vue b/resources/assets/components/AccountImport.vue index 4cc6408f1..7c50ff6f2 100644 --- a/resources/assets/components/AccountImport.vue +++ b/resources/assets/components/AccountImport.vue @@ -394,7 +394,7 @@ let file = this.$refs.zipInput.files[0]; let entries = await this.model(file); if (entries && entries.length) { - let files = await entries.filter(e => e.filename === 'content/posts_1.json' || e.filename === 'your_instagram_activity/content/posts_1.json'); + let files = await entries.filter(e => e.filename === 'content/posts_1.json' || e.filename === 'your_instagram_activity/content/posts_1.json' || e.filename === 'your_instagram_activity/media/posts_1.json'); if(!files || !files.length) { this.contactModal( @@ -415,7 +415,7 @@ let entries = await this.model(file); if (entries && entries.length) { this.zipFiles = entries; - let media = await entries.filter(e => e.filename === 'content/posts_1.json' || e.filename === 'your_instagram_activity/content/posts_1.json')[0].getData(new zip.TextWriter()); + let media = await entries.filter(e => e.filename === 'content/posts_1.json' || e.filename === 'your_instagram_activity/content/posts_1.json' || e.filename === 'your_instagram_activity/media/posts_1.json')[0].getData(new zip.TextWriter()); this.filterPostMeta(media); let imgs = await Promise.all(entries.filter(entry => { diff --git a/resources/assets/components/Direct.vue b/resources/assets/components/Direct.vue index 3de61c3c0..b00319104 100644 --- a/resources/assets/components/Direct.vue +++ b/resources/assets/components/Direct.vue @@ -92,6 +92,7 @@ aria-label="Search usernames" :get-result-value="getTagResultValue" @submit="onTagSubmitLocation" + :debounce-time="500" ref="autocomplete" > diff --git a/resources/assets/components/partials/navbar.vue b/resources/assets/components/partials/navbar.vue index fa85ac730..8fea06452 100644 --- a/resources/assets/components/partials/navbar.vue +++ b/resources/assets/components/partials/navbar.vue @@ -270,7 +270,7 @@ @@ -344,12 +344,12 @@ hide-footer centered body-class="p-0 ui-menu" - title="UI Settings"> + title="$t('navmenu.appearance')">
-

Theme

+

{{ $t('appearance.theme') }}

@@ -358,19 +358,19 @@ class="btn" :class="[ uiColorScheme == 'system' ? 'btn-primary' : 'btn-outline-primary']" @click="toggleUi('system')"> - Auto + {{ $t('appearance.auto') }}
@@ -379,7 +379,7 @@
-

Profile Layout

+

{{ $t('appearance.profileLayout') }}

@@ -388,19 +388,19 @@ class="btn" :class="[ profileLayout == 'grid' ? 'btn-primary' : 'btn-outline-primary']" @click="toggleProfileLayout('grid')"> - Grid + {{ $t('appearance.grid') }}
@@ -409,7 +409,7 @@
-

Compact Media Previews

+

{{ $t('appearance.compactPreviews') }}

@@ -418,7 +418,7 @@
-

Load Comments

+

{{ $t('appearance.loadComments') }}

@@ -427,7 +427,7 @@
-

Hide Counts & Stats

+

{{ $t('appearance.hideStats') }}

diff --git a/resources/lang/bn/web.php b/resources/lang/bn/web.php index ab60b932e..016521371 100644 --- a/resources/lang/bn/web.php +++ b/resources/lang/bn/web.php @@ -146,13 +146,13 @@ return [ 'spam' => 'স্প্যাম', 'sensitive' => 'সংবেদনশীল বস্তু', 'abusive' => 'অত্যাচারজনক বা ক্ষতিকারক', - 'underageAccount' => 'Underage Account', - 'copyrightInfringement' => 'Copyright Infringement', + 'underageAccount' => 'কমবয়সী অ্যাকাউন্ট', + 'copyrightInfringement' => 'স্বত্ত্বাধিকার লঙ্ঘন', 'impersonation' => 'Impersonation', - 'scamOrFraud' => 'Scam or Fraud', - 'confirmReport' => 'Confirm Report', - 'confirmReportText' => 'Are you sure you want to report this post?', - 'reportSent' => 'Report Sent!', + 'scamOrFraud' => 'ভণ্ডামি বা প্রতারণা', + 'confirmReport' => 'প্রতিবেদন নিশ্চিত করো', + 'confirmReportText' => 'তুমি কী এই পোস্টটি নিয়ে সমস্যা জানানোর ব্যাপারে নিশ্চিত?', + 'reportSent' => 'প্রতিবেদন পাঠানো হয়েছে!', 'reportSentText' => 'We have successfully received your report.', 'reportSentError' => 'There was an issue reporting this post.', diff --git a/resources/lang/en/web.php b/resources/lang/en/web.php index 2c6a7b418..3acde415b 100644 --- a/resources/lang/en/web.php +++ b/resources/lang/en/web.php @@ -59,6 +59,7 @@ return [ 'profile' => 'Profile', 'drive' => 'Drive', 'settings' => 'Settings', + 'appearance' => 'Appearance', 'compose' => 'Create New', 'logout' => 'Logout', @@ -205,4 +206,20 @@ return [ 'contactAdminMsg' => 'If you\'d like to contact an administrator about this post or report', ], + 'appearance' => [ + 'theme' => 'Theme', + 'profileLayout' => 'Profile Layout', + 'compactPreviews' => 'Compact Media Previews', + 'loadComments' => 'Load Comments', + 'hideStats' => 'Hide Counts & Stats', + + 'auto' => 'Auto', + 'lightMode' => 'Light mode', + 'darkMode' => 'Dark mode', + + 'grid' => 'Grid', + 'masonry' => 'Masonry', + 'feed' => 'Feed', + ], + ]; diff --git a/resources/lang/es/settings.php b/resources/lang/es/settings.php index e69de29bb..ae0f0628b 100644 --- a/resources/lang/es/settings.php +++ b/resources/lang/es/settings.php @@ -0,0 +1,195 @@ + 'Cuenta', + 'accessibility' => 'Accessibilidad', + 'email' => 'Correo', + 'invites' => 'Invitaciones', + 'media' => 'Media', + 'notifications' => 'Notificaciones', + 'password' => 'Contraseña', + 'privacy' => 'Privacidad', + 'relationships' => 'Relaciones', + 'security' => 'Seguridad', + 'timelines' => 'Líneas Temporales', + 'applications' => 'Aplicaciones', + 'developers' => 'Desarrolladoras', + 'import' => 'Importar', + 'export' => 'Exportar', + 'labs' => 'Labs', + 'parental_controls' => 'Control Parental', + + 'submit' => 'Enviar', + 'error' => 'Error', + 'cancel' => 'Cancelar', + 'save' => 'Guardar', + 'download' => 'Descargar', + + 'home.account_settings' => 'Configuración de Cuenta', + 'home.change_profile_photo' => 'Cambiar Foto de Perfil', + 'home.select_a_profile_photo' => 'Seleccionar una foto de perfil', + 'home.must_be_a_jpeg_or_png_max_avatar_size' => 'Debe ser un jpeg o png. Tamaño máximo del avatar:', + 'home.upload' => 'Subir', + 'home.delete_profile_photo' => 'Eliminar Foto de Perfil', + 'home.name' => 'Nombre', + 'home.your_name' => 'Tu Nombre', + 'home.website' => 'Portal Web', + 'home.bio' => 'Bio', + 'home.add_a_bio_here' => 'Añade una bio aquí', + 'home.language' => 'Idioma', + 'home.pronouns' => 'Pronombres', + 'home.select_pronouns' => 'Selecciona Pronombre(s)', + 'home.select_up_to_4_pronouns_that_will_appear_on_etc' => 'Selecciona hasta 4 pronombres que aparecerán en tu perfil.', + 'home.account_aliases' => 'Alias de Cuenta', + 'home.manage_account_alias' => 'Gestionar alias de cuenta', + 'home.to_move_from_another_account_to_this_one_first_etc' => 'Para migrar de otra cuenta a esta, primero tienes que crear un alias.', + 'home.account_migrate' => 'Migración de Cuenta', + 'home.migrate_to_another_account' => 'Migrar a otra cuenta', + 'home.to_redirect_this_account_to_a_different_one_etc' => 'Para redirigir esta cuenta a otra diferente (si hay soporte).', + 'home.storage_usage' => 'Uso de Almacenamiento', + 'home.storage_used' => 'Almacenamiento Usado', + 'home.are_you_sure_you_want_to_delete_your_profile_photo' => '¿Seguro que quieres eliminar tu foto de perfil?', + 'home.an_error_occured_please_try_again_later' => 'Ocurrió un error, por favor, intentalo de nuevo más tarde', + + 'accessibility.reduce_motion' => 'Reduce Movimiento', + 'accessibility.prevent_animation_effects' => 'Evita efectos de animación.', + 'accessibility.high_contrast_mode' => 'Modo de Alto Contraste', + 'accessibility.high_contrast_mode_for_the_visually_impaired' => 'Modo de alto contraste para diversidades funcionales.', + 'accessibility.disable_video_autoplay' => 'Deshabilitar reproducción automática de video', + 'accessibility.prevent_videos_from_autoplaying' => 'Evitar que los videos se reproduzcan automáticamente.', + + 'email.email_settings' => 'Configuración de Correo', + 'email.email_address' => 'Dirección de Correo', + 'email.verified' => 'Verificado', + 'email.unverified' => 'No verificado', + 'email.you_need_to' => 'Debes', + 'email.verify_your_email' => 'verificar tu cuenta de correo', + + 'media.default_license' => 'Licencia por Defecto', + 'media.set_a_default_license_for_new_posts' => 'Define una licencia por defecto para nuevas publicaciones.', + 'media.sync_licenses' => 'Sincroniza Licencias', + 'media.update_existing_posts_with_your_new_default_etc' => 'Actualiza las publicaciones existentes con la nueva licencia por defecto. Puedes sincronizarlas dos veces cada 24 horas.', + 'media.license_changes_may_not_be_reflected_on_remote_servers' => 'Los cambios de licencia pueden no verse reflejados en servidores remotos.', + 'media.require_media_descriptions' => 'Requerir Descripción de Media', + 'media.briefly_describe_your_media_to_improve_etc' => 'Describe brevemente tu media para mejorar la accesibilidad.', + 'media.not_available_for_mobile_or_3rd_party_apps_etc' => 'No disponible para móvil o aplicaciones de terceros en este momento.', + + 'password.update_password' => 'Actualizar Contraseña', + 'password.current' => 'Actual', + 'password.your_current_password' => 'Tu contraseña actual', + 'password.new' => 'Nueva', + 'password.enter_new_password_here' => 'Introduce la nueva contraseña aquí', + 'password.confirm' => 'Confirmar', + 'password.confirm_new_password' => 'Confirmar nueva contraseña', + + 'privacy.privacy_settings' => 'Configuración de Privacidad', + 'privacy.private_account' => 'Cuenta Privada', + 'privacy.when_your_account_is_private_only_people_you_etc' => 'Cuando tu cuenta es privada, sólo la gente que apruebes podrá ver tus fotos y videos en pixelfed. Tus seguidores actuales no se verán afectadas.', + 'privacy.disable_search_engine_indexing' => 'Deshabilitar indexación por Motor de Búsqueda (Search Engine)', + 'privacy.when_your_account_is_visible_to_search_engines_etc' => 'Cuando tu cuenta es visible para motores de búsqueda, tu información puede ser escrapeada y almacenada por estos motores.', + 'privacy.not_available_when_your_account_is_private' => 'No disponible cuando tu cuenta es privada', + 'privacy.include_public_posts_in_search_results' => 'Incluir publicaciones públicas en los resultados de búsqueda', + 'privacy.your_public_posts_may_appear_in_search_results_etc' => 'Tus publicaciones públicas pueden aparecer en los resultados de búsqueda de Pixelfed y Mastodon. La gente que haya interactuado con tus publicacions pueden buscarlas igualmente.', + 'privacy.show_on_directory' => 'Aparecer en el Directorio', + 'privacy.when_this_option_is_enabled_your_profile_is_etc' => 'Cuando esta opción está activada, tu perfil se incuy en el Directorio. Sólo se pueden elegir cuentas públicas.', + 'privacy.receive_direct_messages_from_anyone' => 'Recibir Mensajes Directos de cualquiera', + 'privacy.if_selected_you_will_be_able_to_receive_messages_etc' => 'Si está seleccionado, podrás recibir mensajes y notificaciones de cualquier cuenta incluso si no la sigues.', + 'privacy.hide_sensitive_content_from_search_results' => 'Esconder contenido sensible de los resultados de búsqueda', + 'privacy.this_prevents_posts_with_potentially_sensitive_etc' => 'Esto previene a las publicaciones con contenido potencialmente sensible aparecer en tus resultados de búsqueda.', + 'privacy.remove_blocked_and_muted_accounts' => 'Eliminar cuentas silenciadas y bloqueadas', + 'privacy.use_this_to_eliminate_search_results_from_accounts_etc' => 'Úsalo para eliminar resultados de búsqueda de las cuentas que has bloqueado o silenciado.', + 'privacy.display_media_that_may_contain_sensitive_content' => 'Muestra media que contenga contenido sensible', + 'privacy.show_all_media_including_potentially_sensitive_content' => 'Muestra todo el media, incluyendo contenido potencialmente sensible.', + 'privacy.show_follower_count' => 'Mostrar Contador de Seguidoras', + 'privacy.display_follower_count_on_profile' => 'Mostrar contador de seguidoras en el perfil', + 'privacy.show_following_count' => 'Mostrar Contador de Seguidas', + 'privacy.display_following_count_on_profile' => 'Mostrar contador de seguidas en el perfil', + 'privacy.disable_embeds' => 'Deshabilitar Incrustados', + 'privacy.disable_post_and_profile_embeds' => 'Deshabilitar publicaciones y perfil incrustados', + 'privacy.enable_atom_feed' => 'Habilitar Atom Feed', + 'privacy.enable_your_profile_atom_feed_only_public_profiles_etc' => 'Habilitar el atom feed de tu perfil. Sólo se puede seleccionar en cuentas públicas.', + 'privacy.confirm_this_action' => 'Confirma esta acción', + 'privacy.please_select_the_type_of_private_account_you_etc' => 'Por favor, selecciona el tipo de seguridad que quieres para tu cuenta:', + 'privacy.keep_existing_followers' => 'Mantener seguidoras existentes', + 'privacy.only_keep_mutual_followers' => 'Sólo mantener seguidoras mútuas', + 'privacy.only_followers_that_have_followed_you_for_atleast' => 'Sólo seguidoras que te hayan seguido durante al menos', + 'privacy.hour' => 'hora', + 'privacy.day' => 'día', + 'privacy.weeks' => 'semanas', + 'privacy.month' => 'mes', + 'privacy.months' => 'meses', + 'privacy.year' => 'año', + 'privacy.remove_existing_followers' => 'Eliminar seguidoras existentes', + 'privacy.allow_new_follow_requests' => 'Permitir nuevas solicitudes de seguimiento', + 'privacy.block_notifications_from_accounts_i_dont_follow' => 'Bloquear notificaciones de cuentas que no sigo', + 'privacy.an_error_occured_please_try_again' => 'Ocurrió un error. Por favor, prueba de nuevo.', + + 'relationships' => 'Relaciones', + 'relationships.followers' => 'Seguidoras', + 'relationships.following' => 'Siguiendo', + 'relationships.hashtags' => 'Etiquetas', + 'relationships.hashtag' => 'Etiqueta', + 'relationships.username' => 'Nombre de usuaria', + 'relationships.action' => 'Acción', + 'relationships.unfollow' => 'Dejar de seguir', + 'relationships.mute' => 'Silenciar', + 'relationships.block' => 'Bloquear', + 'relationships.mute_successful' => 'Silenciamiento con éxito', + 'relationships.you_have_successfully_muted_that_user' => 'Has silenciado con éxito esa cuenta', + 'relationships.block_successful' => 'Bloqueo con éxito', + 'relationships.you_have_successfully_blocked_that_user' => 'Has bloqueado con éxito esa cuenta', + 'relationships.unfollow_successful' => 'Has dejado de seguir con éxito', + 'relationships.you_have_successfully_unfollowed_that_user' => 'Has dejado de seguir con éxito esa cuenta', + 'relationships.an_error_occured_when_attempting_to_unfollow_this_user' => 'Un error ocurrió al intentar dejar de seguir esa cuenta', + 'relationships.you_have_successfully_unfollowed_that_hashtag' => 'Has dejado de seguir con éxito esa etiqueta', + + 'security.two_factor_authentication' => 'Autentificación de Dos Factores', + 'security.enabled' => 'Activo', + 'security.danger_zone' => 'Zona Peligrosa', + 'security.temporarily_disable_account' => 'Deshabilitar Temporalmente la Cuenta', + 'security.disable_your_account_to_hide_your_posts_until_next_log_in' => 'Deshabilita tu cuenta para esconder tus publicaciones hasta el siguiente inicio de sesión.', + 'security.disable' => 'Deshabilitar', + 'security.delete_this_account' => 'Eliminar esta cuenta', + 'security.once_you_delete_your_account_there_is_no_going_back_etc' => 'Una vez eliminada tu cuenta, no hay marcha atrás. Por favor, tenlo claro.', + 'security.delete' => 'Eliminar', + 'security.account_log' => 'Registro (log) de cuenta', + 'security.no_activity_logs_found' => '¡No se han encontrado registros de actividad!', + 'security.ip_address' => 'Dirección IP:', + 'security.user_agent' => 'User Agent:', + 'security.devices' => 'Dispositivos', + 'security.ip' => 'IP:', + 'security.device' => 'Dispositivo:', + 'security.browser' => 'Navegador:', + 'security.last_login' => 'Último Inicio de Sesión:', + 'security.country' => 'País:', + 'security.trust' => 'Confianza', + 'security.remove_device' => 'Eliminar Dispositivo', + 'security.timeline_settings' => 'Configuración de Línea Temporal', + 'security.show_text_only_posts' => 'Mostrar publicaciones de sólo texto', + 'security.show_text_only_posts_from_accounts_you_follow_home_etc' => 'Mostrar publicaciones de sólo texto de las cuentas que sigues. (Sólo en la línia temporal Principal)', + 'security.show_replies' => 'Mostrar respuestas', + 'security.show_replies_from_accounts_you_follow_home_timeline_only' => 'Mostrar respuestas de las cuentas que sigues. (Sólo en la línia temporal Principal)', + 'security.show_reblogs' => 'Mostrar Impulsos', + 'security.see_reblogs_from_accounts_you_follow_in_your_home_etc' => 'Mostrar impulsos de las cuentas que sigues en tu línea temporal principal. (Sólo en la línia temporal Principal)', + 'security.photo_reblogs_only' => 'Impulsos de publicaciones de foto sólamente', + 'security.only_see_reblogs_of_photos_or_photo_albums_home_etc' => 'Sólo mostrar impulsos de fotos o álbumes de foto. (Sólo en la línia temporal Principal)', + + // incomplete + // the oauth panel is loaded from elsewhere + 'developers.oauth_has_not_been_enabled_on_this_instance' => 'No está OAuth activado en esta instancia.', + + // incomplete + // import/ig.blade.php seems not in use anymore + 'import.import_from_instagram' => 'Importar de Instagram', + + 'export.data_export' => 'Exportar Datos', + 'export.we_generate_data_exports_once_per_hour_and_they_may_etc' => 'Generamos exportaciones de datos una vez cada hora, y pueden no contener los datos más actualizados si los has solicitado recientemente.', + 'export.statuses' => 'Estados', + 'export.mute_block_lists' => 'Lista de Silenciadas/Bloqueos', + + // incomplete + // some language outside the blades (in app/Http/Controllers/Settings/LabsSettings.php) + 'labs' => 'Labs', + 'labs.experimental_features' => 'Características experimentales', + 'labs.use_dark_mode_theme' => 'Usar tema en modo oscuro.', +]; diff --git a/resources/lang/es/web.php b/resources/lang/es/web.php index 77a93d237..ff805dcf9 100644 --- a/resources/lang/es/web.php +++ b/resources/lang/es/web.php @@ -59,6 +59,7 @@ return [ 'profile' => 'Perfil', 'drive' => 'Multimedia', 'settings' => 'Ajustes', + 'appearance' => 'Aspecto', 'compose' => 'Crear Nuevo', 'logout' => 'Cerrar sesión', @@ -120,7 +121,7 @@ return [ 'collections' => 'Colecciones', 'follow' => 'Seguir', 'unfollow' => 'Dejar de seguir', - 'editProfile' => 'Editar Perfil', + 'editProfile' => 'Editar perfil', 'followRequested' => 'Seguimiento Solicitado', 'joined' => 'Se unió', @@ -129,12 +130,12 @@ return [ ], 'menu' => [ - 'viewPost' => 'Ver Publicación', - 'viewProfile' => 'Ver Perfil', - 'moderationTools' => 'Herramientas de Moderación', + 'viewPost' => 'Ver publicación', + 'viewProfile' => 'Ver perfil', + 'moderationTools' => 'Herramientas de moderación', 'report' => 'Reportar', 'archive' => 'Archivar', - 'unarchive' => 'No Archivar', + 'unarchive' => 'Desarchivar', 'embed' => 'Incrustar', 'selectOneOption' => 'Selecciona una de las siguientes opciones', @@ -160,7 +161,7 @@ return [ 'modCWSuccess' => 'Spoiler añadido correctamente', 'modRemoveCWConfirm' => '¿Seguro que desea eliminar el spoiler de esta publicación?', 'modRemoveCWSuccess' => 'Spoiler eliminado correctamente', - 'modUnlistConfirm' => '¿Seguro que desea no listar esta publicación?', + 'modUnlistConfirm' => '¿Estás seguro de que deseas no listar esta publicación?', 'modUnlistSuccess' => 'Publicación no listada correctamente', 'modMarkAsSpammerConfirm' => '¿Seguro que quiere marcar este usuario como spammer? Todas las publicaciones existentes y futuras no serán listadas en las líneas temporales y se les agregará un Spoiler o alerta de contenido.', 'modMarkAsSpammerSuccess' => 'Cuenta marcada como spam correctamente', @@ -205,4 +206,20 @@ return [ 'contactAdminMsg' => 'Si quieres contactar un administrador sobre esta publicación o reporte', ], + 'appearance' => [ + 'theme' => 'Tema', + 'profileLayout' => 'Arreglo de Perfil', + 'compactPreviews' => 'Previstas Compactas de Medios', + 'loadComments' => 'Cargar Comentarios', + 'hideStats' => 'Ocultar Cuentas y Estadísticas', + + 'auto' => 'Automático', + 'lightMode' => 'Modo claro', + 'darkMode' => 'Modo oscuro', + + 'grid' => 'Cuadrícula', + 'masonry' => 'Mampostería', + 'feed' => 'Feed', + ], + ]; diff --git a/resources/lang/fr/web.php b/resources/lang/fr/web.php index 0bd57fc76..518682eda 100644 --- a/resources/lang/fr/web.php +++ b/resources/lang/fr/web.php @@ -44,8 +44,8 @@ return [ 'admin' => 'Tableau de bord d\'administration', // Timelines - 'homeFeed' => 'Flux principal', - 'localFeed' => 'Flux local', + 'homeFeed' => 'Fil principal', + 'localFeed' => 'Fil local', 'globalFeed' => 'Fil global', // Core features @@ -93,7 +93,7 @@ return [ 'mentioned' => 'a mentionné', 'you' => 'vous', - 'yourApplication' => 'Votre candidature à rejoindre', + 'yourApplication' => 'Votre demande d\'adhésion', 'applicationApproved' => 'a été approuvée !', 'applicationRejected' => 'a été rejetée. Vous pouvez refaire une demande dans 6 mois.', diff --git a/resources/lang/hi/web.php b/resources/lang/hi/web.php index 79ab3ebe4..14f422546 100644 --- a/resources/lang/hi/web.php +++ b/resources/lang/hi/web.php @@ -133,8 +133,8 @@ return [ 'viewProfile' => 'प्रोफाइल देखें', 'moderationTools' => 'मॉडरेशन टूल्स', 'report' => 'रिपोर्ट', - 'archive' => 'Archive', - 'unarchive' => 'Unarchive', + 'archive' => 'पुरालेख', + 'unarchive' => 'अपुरालेख', 'embed' => 'एम्बेड', 'selectOneOption' => 'किसी एक विकल्प को चुने', @@ -149,60 +149,60 @@ return [ 'underageAccount' => 'नाबालिग अकाउंट', 'copyrightInfringement' => 'कॉपीराईट का उल्लंघन', 'impersonation' => 'प्रतिरूपण', - 'scamOrFraud' => 'Scam or Fraud', - 'confirmReport' => 'Confirm Report', - 'confirmReportText' => 'Are you sure you want to report this post?', - 'reportSent' => 'Report Sent!', - 'reportSentText' => 'We have successfully received your report.', - 'reportSentError' => 'There was an issue reporting this post.', + 'scamOrFraud' => 'घोटाला या धोखाधड़ी', + 'confirmReport' => 'रिपोर्ट की पुष्टि करें', + 'confirmReportText' => 'क्या आप निश्चित रूप से इस पोस्ट की रिपोर्ट करना चाहते हैं?', + 'reportSent' => 'रिपोर्ट भेजी गई!', + 'reportSentText' => 'हमें आपकी रिपोर्ट सफलतापूर्वक प्राप्त हो गई है।', + 'reportSentError' => 'इस पोस्ट की रिपोर्ट करने में समस्या हुई।', 'modAddCWConfirm' => 'क्या यह निश्चित है कि आप प्रकाशित सामग्री के साथ विषय-वस्तु सम्बंधित चेतावनी जोड़ना चाहते हैं?', 'modCWSuccess' => 'विषय-वस्तु सम्बंधित चेतावनी सफलता से जोड़ी गयी', 'modRemoveCWConfirm' => 'क्या यह निश्चित है कि आप प्रकाशित सामग्री से विषय-वस्तु सम्बंधित चेतावनी हटाना चाहते हैं?', 'modRemoveCWSuccess' => 'विषय-वस्तु सम्बंधित चेतावनी सफलता से हटाई गयी', - 'modUnlistConfirm' => 'Are you sure you want to unlist this post?', - 'modUnlistSuccess' => 'Successfully unlisted post', - 'modMarkAsSpammerConfirm' => 'Are you sure you want to mark this user as a spammer? All existing and future posts will be unlisted on timelines and a content warning will be applied.', - 'modMarkAsSpammerSuccess' => 'Successfully marked account as spammer', + 'modUnlistConfirm' => 'क्या आप निश्चित रूप से इस पोस्ट को करना चाहते हैं?', + 'modUnlistSuccess' => 'पोस्ट को सफलतापूर्वक असूचीबद्ध किया गया', + 'modMarkAsSpammerConfirm' => 'क्या आप वाकई इस उपयोगकर्ता को स्पैमर के रूप में चिह्नित करना चाहते हैं? सभी मौजूदा और भविष्य की पोस्ट टाइमलाइन पर असूचीबद्ध कर दी जाएंगी और एक सामग्री चेतावनी लागू की जाएगी।', + 'modMarkAsSpammerSuccess' => 'खाते को स्पैमर के रूप में सफलतापूर्वक चिह्नित किया गया', - 'toFollowers' => 'to Followers', + 'toFollowers' => 'अनुयायियों के लिए', - 'showCaption' => 'Show Caption', - 'showLikes' => 'Show Likes', - 'compactMode' => 'Compact Mode', + 'showCaption' => 'शीर्षक दिखाएं', + 'showLikes' => 'लाइक दिखाएं', + 'compactMode' => 'संक्षिप्त मोड', 'embedConfirmText' => 'By using this embed, you agree to our', - 'deletePostConfirm' => 'Are you sure you want to delete this post?', - 'archivePostConfirm' => 'Are you sure you want to archive this post?', - 'unarchivePostConfirm' => 'Are you sure you want to unarchive this post?', + 'deletePostConfirm' => 'क्या आप वाकई में इस पोस्ट को हटाना चाहते हैं?', + 'archivePostConfirm' => 'क्या आप वाकई इस आइटम को आर्काइव करना चाहते हैं?', + 'unarchivePostConfirm' => 'क्या आप वाकई इस पोस्ट को अनआर्काइव करना चाहते हैं?', ], 'story' => [ - 'add' => 'Add Story' + 'add' => 'कहानी जोड़ें' ], 'timeline' => [ - 'peopleYouMayKnow' => 'People you may know', + 'peopleYouMayKnow' => 'जिन लोगों को आप जानते हों', 'onboarding' => [ - 'welcome' => 'Welcome', - 'thisIsYourHomeFeed' => 'This is your home feed, a chronological feed of posts from accounts you follow.', - 'letUsHelpYouFind' => 'Let us help you find some interesting people to follow', - 'refreshFeed' => 'Refresh my feed', + 'welcome' => 'स्वागत', + 'thisIsYourHomeFeed' => 'यह आपका होम फीड है, जो आपके द्वारा अनुसरण किये जाने वाले खातों के पोस्टों का कालानुक्रमिक फीड है।', + 'letUsHelpYouFind' => 'आइए हम आपको अनुसरण करने के लिए कुछ दिलचस्प लोगों को खोजने में मदद करें', + 'refreshFeed' => 'मेरा फ़ीड ताज़ा करें', ], ], 'hashtags' => [ - 'emptyFeed' => 'We can\'t seem to find any posts for this hashtag' + 'emptyFeed' => 'हमें इस हैशटैग के लिए कोई पोस्ट नहीं मिल रहा है' ], 'report' => [ - 'report' => 'Report', - 'selectReason' => 'Select a reason', - 'reported' => 'Reported', - 'sendingReport' => 'Sending report', - 'thanksMsg' => 'Thanks for the report, people like you help keep our community safe!', - 'contactAdminMsg' => 'If you\'d like to contact an administrator about this post or report', + 'report' => 'रिपोर्ट', + 'selectReason' => 'कारण चुनें', + 'reported' => 'रिपोर्ट किया गया', + 'sendingReport' => 'रिपोर्ट भेज रहे हैं', + 'thanksMsg' => 'रिपोर्ट के लिए धन्यवाद, आप जैसे लोग हमारे समुदाय को सुरक्षित रखने में मदद करते हैं!', + 'contactAdminMsg' => 'यदि आप इस पोस्ट या रिपोर्ट के बारे में किसी व्यवस्थापक से संपर्क करना चाहते हैं', ], ]; diff --git a/resources/lang/it/web.php b/resources/lang/it/web.php index f8f809aeb..119b777b9 100644 --- a/resources/lang/it/web.php +++ b/resources/lang/it/web.php @@ -24,10 +24,10 @@ return [ 'other' => 'Altro', 'readMore' => 'Leggi di più', 'success' => 'Riuscito', - 'proceed' => 'Continua', + 'proceed' => 'Procedi', 'next' => 'Avanti', 'close' => 'Chiudi', - 'clickHere' => 'clicca qui', + 'clickHere' => 'cclicca qui', 'sensitive' => 'Sensibile', 'sensitiveContent' => 'Contenuto Sensibile', diff --git a/resources/lang/pt/navmenu.php b/resources/lang/pt/navmenu.php index 20d6aa12f..ffbb505c5 100644 --- a/resources/lang/pt/navmenu.php +++ b/resources/lang/pt/navmenu.php @@ -1,19 +1,19 @@ 'Procurar', - 'home' => 'Início', - 'local' => 'Local', - 'network' => 'Rede', - 'discover' => 'Descobrir', - 'viewMyProfile' => 'Ver o meu perfil', - 'myTimeline' => 'Minha linha do tempo', - 'publicTimeline' => 'Linha do tempo pública', - 'remoteFollow' => 'Seguir remotamente', - 'settings' => 'Configurações', - 'admin' => 'Administrador', - 'logout' => 'Sair', - 'directMessages' => 'Mensagens diretas', - + 'search' => 'Procurar', + 'home' => 'Início', + 'local' => 'Local', + 'network' => 'Rede', + 'discover' => 'Descobrir', + 'viewMyProfile' => 'Ver meu perfil', + 'myProfile' => 'Meu Perfil', + 'myTimeline' => 'Minha Linha do Tempo', + 'publicTimeline' => 'Linha do Tempo Pública', + 'remoteFollow' => 'Seguir Remotamente', + 'settings' => 'Configurações', + 'admin' => 'Administrador', + 'logout' => 'Sair', + 'directMessages' => 'Mensagens Diretas', + 'composePost' => 'Criar Publicação', ]; diff --git a/resources/lang/pt/profile.php b/resources/lang/pt/profile.php index cb3cf7bef..c5ee87c24 100644 --- a/resources/lang/pt/profile.php +++ b/resources/lang/pt/profile.php @@ -12,4 +12,10 @@ return [ 'status.disabled.header' => 'Perfil Indisponível', 'status.disabled.body' => 'Desculpe, este perfil não está disponível neste momento. Por favor, tente novamente mais tarde.', + +'block.domain.max' => 'Limite máximo de bloqueio de domínios atingido! Você só pode bloquear :max domínios por vez. Peça ao seu administrador para ajustar este limite.', + +'mutedAccounts' => 'Contas Silenciadas', +'blockedAccounts' => 'Contas Bloqueadas', +'blockedDomains' => 'Domínios Bloqueados', ]; diff --git a/resources/lang/pt/settings.php b/resources/lang/pt/settings.php new file mode 100644 index 000000000..8320fe1e8 --- /dev/null +++ b/resources/lang/pt/settings.php @@ -0,0 +1,188 @@ + 'Conta', + 'accessibility' => 'Acessibilidade', + 'email' => 'Email', + 'invites' => 'Convites', + 'media' => 'Mídia', + 'notifications' => 'Notificações', + 'password' => 'Senha', + 'privacy' => 'Privacidade', + 'relationships' => 'Relacionamentos', + 'security' => 'Segurança', + 'timelines' => 'Linhas do Tempo', + 'applications' => 'Aplicativos', + 'developers' => 'Desenvolvedores', + 'import' => 'Importar', + 'export' => 'Exportar', + 'labs' => 'Laboratórios', + 'parental_controls' => 'Controles Parentais', + + 'submit' => 'Enviar', + 'error' => 'Erro', + 'cancel' => 'Cancelar', + 'save' => 'Salvar', + 'download' => 'Baixar', + + 'home.account_settings' => 'Configurações da Conta', + 'home.change_profile_photo' => 'Alterar Foto do Perfil', + 'home.select_a_profile_photo' => 'Selecione uma foto de perfil', + 'home.must_be_a_jpeg_or_png_max_avatar_size' => 'Deve ser um jpeg ou png. Tamanho máximo do avatar:', + 'home.upload' => 'Carregar', + 'home.delete_profile_photo' => 'Excluir Foto do Perfil', + 'home.name' => 'Nome', + 'home.your_name' => 'Seu Nome', + 'home.website' => 'Site', + 'home.bio' => 'Bio', + 'home.add_a_bio_here' => 'Adicione uma bio aqui', + 'home.language' => 'Idioma', + 'home.pronouns' => 'Pronomes', + 'home.select_pronouns' => 'Selecione pronomes', + 'home.select_up_to_4_pronouns_that_will_appear_on_etc' => 'Selecione até 4 pronomes que aparecerão no seu perfil.', + 'home.account_aliases' => 'Apelidos da Conta', + 'home.manage_account_alias' => 'Gerenciar apelido da conta', + 'home.to_move_from_another_account_to_this_one_first_etc' => 'Para migrar de outra conta para esta, primeiro você precisa criar um apelido.', + 'home.account_migrate' => 'Migrar Conta', + 'home.migrate_to_another_account' => 'Migrar para outra conta', + 'home.to_redirect_this_account_to_a_different_one_etc' => 'Para redirecionar esta conta para outra (onde suportado).', + 'home.storage_usage' => 'Uso de Armazenamento', + 'home.storage_used' => 'Armazenamento usado', + 'home.are_you_sure_you_want_to_delete_your_profile_photo' => 'Tem certeza de que deseja excluir sua foto de perfil?', + 'home.an_error_occured_please_try_again_later' => 'Ocorreu um erro, por favor tente novamente mais tarde', + + 'accessibility.reduce_motion' => 'Reduzir Movimento', + 'accessibility.prevent_animation_effects' => 'Prevenir efeitos de animação.', + 'accessibility.high_contrast_mode' => 'Modo de alto contraste', + 'accessibility.high_contrast_mode_for_the_visually_impaired' => 'Modo de alto contraste para deficientes visuais.', + 'accessibility.disable_video_autoplay' => 'Desativar reprodução automática de vídeo', + 'accessibility.prevent_videos_from_autoplaying' => 'Prevenir reprodução automática de vídeos.', + + 'email.email_settings' => 'Configurações de Email', + 'email.email_address' => 'Endereço de Email', + 'email.verified' => 'Verificado', + 'email.unverified' => 'Não Verificado', + 'email.you_need_to' => 'Você precisa', + 'email.verify_your_email' => 'verificar seu email', + + 'media.default_license' => 'Licença Padrão', + 'media.set_a_default_license_for_new_posts' => 'Defina uma licença padrão para novas postagens.', + 'media.sync_licenses' => 'Sincronizar Licenças', + 'media.update_existing_posts_with_your_new_default_etc' => 'Atualize postagens existentes com sua nova licença padrão. Você pode sincronizar duas vezes a cada 24 horas.', + 'media.license_changes_may_not_be_reflected_on_remote_servers' => 'As alterações de licença podem não ser refletidas em servidores remotos.', + 'media.require_media_descriptions' => 'Exigir descrições de mídia', + 'media.briefly_describe_your_media_to_improve_etc' => 'Descreva brevemente sua mídia para melhorar a acessibilidade para pessoas com deficiência visual.', + 'media.not_available_for_mobile_or_3rd_party_apps_etc' => 'Não disponível para aplicativos móveis ou de terceiros no momento.', + + 'password.update_password' => 'Atualizar Senha', + 'password.current' => 'Atual', + 'password.your_current_password' => 'Sua senha atual', + 'password.new' => 'Nova', + 'password.enter_new_password_here' => 'Digite a nova senha aqui', + 'password.confirm' => 'Confirmar', + 'password.confirm_new_password' => 'Confirmar nova senha', + + 'privacy.privacy_settings' => 'Configurações de privacidade', + 'privacy.private_account' => 'Conta privada', + 'privacy.when_your_account_is_private_only_people_you_etc' => 'Quando sua conta é privada, apenas as pessoas que você aprovar podem ver suas fotos e vídeos no Pixelfed. Seus seguidores existentes não serão afetados.', + 'privacy.disable_search_engine_indexing' => 'Desativar indexação de mecanismo de busca', + 'privacy.when_your_account_is_visible_to_search_engines_etc' => 'Quando sua conta é visível para mecanismos de busca, suas informações podem ser rastreadas e armazenadas por mecanismos de busca.', + 'privacy.not_available_when_your_account_is_private' => 'Não disponível quando sua conta é privada', + 'privacy.include_public_posts_in_search_results' => 'Incluir postagens públicas nos resultados de busca', + 'privacy.your_public_posts_may_appear_in_search_results_etc' => 'Suas postagens públicas podem aparecer nos resultados de busca no Pixelfed e no Mastodon. Pessoas que interagiram com suas postagens podem ser capazes de pesquisá-las independentemente.', + 'privacy.show_on_directory' => 'Mostrar no diretório', + 'privacy.when_this_option_is_enabled_your_profile_is_etc' => 'Quando esta opção está habilitada, seu perfil é incluído no Diretório. Apenas perfis públicos são elegíveis.', + 'privacy.receive_direct_messages_from_anyone' => 'Receber mensagens diretas de qualquer pessoa', + 'privacy.if_selected_you_will_be_able_to_receive_messages_etc' => 'Se selecionado, você poderá receber mensagens e notificações de qualquer usuário, mesmo que você não os siga.', + 'privacy.hide_sensitive_content_from_search_results' => 'Ocultar conteúdo sensível dos resultados de busca', + 'privacy.this_prevents_posts_with_potentially_sensitive_etc' => 'Isso impede que postagens com conteúdo potencialmente sensível apareçam nos seus resultados de busca.', + 'privacy.remove_blocked_and_muted_accounts' => 'Remover contas bloqueadas e silenciadas', + 'privacy.use_this_to_eliminate_search_results_from_accounts_etc' => 'Use isso para eliminar resultados de busca de contas que você bloqueou ou silenciou.', + 'privacy.display_media_that_may_contain_sensitive_content' => 'Exibir mídia que pode conter conteúdo sensível', + 'privacy.show_all_media_including_potentially_sensitive_content' => 'Mostrar toda a mídia, incluindo conteúdo potencialmente sensível.', + 'privacy.show_follower_count' => 'Mostrar contagem de seguidores', + 'privacy.display_follower_count_on_profile' => 'Exibir contagem de seguidores no perfil', + 'privacy.show_following_count' => 'Mostrar contagem de seguidos', + 'privacy.display_following_count_on_profile' => 'Exibir contagem de seguidos no perfil', + 'privacy.disable_embeds' => 'Desativar incorporações', + 'privacy.disable_post_and_profile_embeds' => 'Desativar incorporações de postagens e perfis', + 'privacy.enable_atom_feed' => 'Habilitar feed Atom', + 'privacy.enable_your_profile_atom_feed_only_public_profiles_etc' => 'Habilite o feed Atom do seu perfil. Apenas perfis públicos são elegíveis.', + 'privacy.confirm_this_action' => 'Confirme esta ação', + 'privacy.please_select_the_type_of_private_account_you_etc' => 'Por favor, selecione o tipo de conta privada que você gostaria:', + 'privacy.keep_existing_followers' => 'Manter seguidores existentes', + 'privacy.only_keep_mutual_followers' => 'Manter apenas seguidores mútuos', + 'privacy.only_followers_that_have_followed_you_for_atleast' => 'Apenas seguidores que te seguiram por pelo menos', + 'privacy.hour' => 'hora', + 'privacy.day' => 'dia', + 'privacy.weeks' => 'semanas', + 'privacy.month' => 'mês', + 'privacy.months' => 'meses', + 'privacy.year' => 'ano', + 'privacy.remove_existing_followers' => 'Remover seguidores existentes', + 'privacy.allow_new_follow_requests' => 'Permitir novas solicitações de seguimento', + 'privacy.block_notifications_from_accounts_i_dont_follow' => 'Bloquear notificações de contas que eu não sigo', + 'privacy.an_error_occured_please_try_again' => 'Ocorreu um erro. Por favor, tente novamente.', + + 'relationships' => 'Relacionamentos', + 'relationships.followers' => 'Seguidores', + 'relationships.following' => 'Seguindo', + 'relationships.hashtags' => 'Hashtags', + 'relationships.hashtag' => 'Hashtag', + 'relationships.username' => 'Nome de usuário', + 'relationships.action' => 'Ação', + 'relationships.unfollow' => 'Deixar de seguir', + 'relationships.mute' => 'Silenciar', + 'relationships.block' => 'Bloquear', + 'relationships.mute_successful' => 'Silenciamento bem-sucedido', + 'relationships.you_have_successfully_muted_that_user' => 'Você silenciou com sucesso esse usuário', + 'relationships.block_successful' => 'Bloqueio bem-sucedido', + 'relationships.you_have_successfully_blocked_that_user' => 'Você bloqueou com sucesso esse usuário', + 'relationships.unfollow_successful' => 'Deixar de seguir bem-sucedido', + 'relationships.you_have_successfully_unfollowed_that_user' => 'Você deixou de seguir com sucesso esse usuário', + 'relationships.an_error_occured_when_attempting_to_unfollow_this_user' => 'Ocorreu um erro ao tentar deixar de seguir esse usuário', + 'relationships.you_have_successfully_unfollowed_that_hashtag' => 'Você deixou de seguir com sucesso essa hashtag', + + 'security.two_factor_authentication' => 'Autenticação de dois fatores', + 'security.enabled' => 'Habilitado', + 'security.danger_zone' => 'Zona de perigo', + 'security.temporarily_disable_account' => 'Desativar conta temporariamente', + 'security.disable_your_account_to_hide_your_posts_until_next_log_in' => 'Desative sua conta para ocultar suas postagens até o próximo login.', + 'security.disable' => 'Desativar', + 'security.delete_this_account' => 'Excluir esta conta', + 'security.once_you_delete_your_account_there_is_no_going_back_etc' => 'Uma vez que você exclua sua conta, não há como voltar. Por favor, tenha certeza.', + 'security.delete' => 'Excluir', + 'security.account_log' => 'Registro da conta', + 'security.no_activity_logs_found' => 'Nenhum registro de atividade encontrado!', + 'security.ip_address' => 'Endereço IP:', + 'security.user_agent' => 'Agente do usuário:', + 'security.devices' => 'Dispositivos', + 'security.ip' => 'IP:', + 'security.device' => 'Dispositivo:', + 'security.browser' => 'Navegador:', + 'security.last_login' => 'Último login:', + 'security.country' => 'País:', + 'security.trust' => 'Confiar', + 'security.remove_device' => 'Remover dispositivo', + 'security.timeline_settings' => 'Configurações da linha do tempo', + 'security.show_text_only_posts' => 'Mostrar postagens apenas de texto', + 'security.show_text_only_posts_from_accounts_you_follow_home_etc' => 'Mostrar postagens apenas de texto de contas que você segue. (Apenas linha do tempo inicial)', + 'security.show_replies' => 'Mostrar respostas', + 'security.show_replies_from_accounts_you_follow_home_timeline_only' => 'Mostrar respostas de contas que você segue. (Apenas linha do tempo inicial)', + 'security.show_reblogs' => 'Mostrar reblogs', + 'security.see_reblogs_from_accounts_you_follow_in_your_home_etc' => 'Ver reblogs de contas que você segue no seu feed inicial. (Apenas linha do tempo inicial)', + 'security.photo_reblogs_only' => 'Apenas reblogs de fotos', + 'security.only_see_reblogs_of_photos_or_photo_albums_home_etc' => 'Ver apenas reblogs de fotos ou álbuns de fotos. (Apenas linha do tempo inicial)', + + 'developers.oauth_has_not_been_enabled_on_this_instance' => 'OAuth não foi habilitado nesta instância.', + 'import.import_from_instagram' => 'Importar do Instagram', + + 'export.data_export' => 'Exportação de dados', + 'export.we_generate_data_exports_once_per_hour_and_they_may_etc' => 'Geramos exportações de dados uma vez por hora, e elas podem não conter os dados mais recentes se você os solicitou recentemente.', + 'export.statuses' => 'Publicações', + 'export.mute_block_lists' => 'Lista de silenciados/bloqueados', + + 'labs' => 'Laboratórios', + 'labs.experimental_features' => 'Recursos experimentais', + 'labs.use_dark_mode_theme' => 'Usar tema de modo escuro.', +]; diff --git a/resources/lang/pt/site.php b/resources/lang/pt/site.php index 2418cc337..4b25f0e09 100644 --- a/resources/lang/pt/site.php +++ b/resources/lang/pt/site.php @@ -17,4 +17,42 @@ return [ 'places' => 'Locais', 'profiles' => 'Perfis', + // site/about + 'photo_sharing_for_everyone' => 'Compartilhamento de Fotos. Para Todos', + 'pixelfed_is_an_image_sharing_platform_etc' => 'Pixelfed é uma plataforma de compartilhamento de imagens, uma alternativa ética às plataformas centralizadas.', + 'feature_packed' => 'Repleto de Recursos.', + 'the_best_for_the_brightest' => 'O melhor para os mais brilhantes 📸', + 'albums' => 'Álbuns', + 'share_posts_with_up_to' => 'Compartilhe postagens com até', + 'photos' => 'fotos', + 'comments' => 'Comentários', + 'comment_on_a_post_or_send_a_reply' => 'Comente em uma postagem ou envie uma resposta', + 'collections' => 'Coleções', + 'organize_and_share_collections_of_multiple_posts' => 'Organize e compartilhe coleções de várias postagens', + 'discover' => 'Descobrir', + 'explore_categories_hashtags_and_topics' => 'Explore categorias, hashtags e tópicos', + 'photo_filters' => 'Filtros de Fotos', + 'add_a_special_touch_to_your_photos' => 'Adicione um toque especial às suas fotos', + 'stories' => 'Histórias', + 'share_moments_with_your_followers_that_disappear_etc' => 'Compartilhe momentos com seus seguidores que desaparecem após 24 horas', + 'people_have_shared' => 'pessoas compartilharam', + 'photos_and_videos_on' => 'fotos e vídeos em', + 'sign_up_today' => 'Inscreva-se hoje', + 'and_join_our_community_of_photographers_from_etc' => 'e junte-se à nossa comunidade de fotógrafos de todo o mundo.', + + // site/fediverse + 'is_a_portmanteau_of_federation_and_universe_etc' => 'é um portmanteau de “federação” e “universo”. É um nome comum e informal para uma federação de servidores de redes sociais, especializados em diferentes tipos de mídia.', + 'supported_fediverse_projects' => 'Projetos Fediverse Suportados', + 'some_of_the_better_known_fediverse_projects_include' => 'Alguns dos projetos Fediverse mais conhecidos incluem:', + 'a_federated_microblogging_alternative' => 'Uma alternativa de microblogging federada.', + + // site/opensource + 'the_software_that_powers_this_website_is_called' => 'O software que alimenta este site é chamado', + 'and_anyone_can' => 'e qualquer pessoa pode', + 'download' => 'baixar', + 'opensource.or' => 'ou', + 'view' => 'ver', + 'the_source_code_and_run_their_own_instance' => 'o código-fonte e executar sua própria instância!', + 'open_source_in_pixelfed' => 'Código aberto no Pixelfed', + ]; diff --git a/resources/lang/ru/web.php b/resources/lang/ru/web.php index b8a850c07..823bb4eb2 100644 --- a/resources/lang/ru/web.php +++ b/resources/lang/ru/web.php @@ -93,9 +93,9 @@ return [ 'mentioned' => 'упомянул(а)', 'you' => 'вы', - 'yourApplication' => 'Ваше заявка на вступление', - 'applicationApproved' => 'было одобрено!', - 'applicationRejected' => 'было отклонено. Вы можете повторно подать заявку на регистрацию в течение 6 месяцев.', + 'yourApplication' => 'Ваша заявка на вступление', + 'applicationApproved' => 'была одобрена!', + 'applicationRejected' => 'была отклонена. Вы можете повторно подать заявку на регистрацию в течение 6 месяцев.', 'dm' => 'сообщение', 'groupPost' => 'запись в группе',