mirror of
https://github.com/pixelfed/pixelfed.git
synced 2025-02-07 04:10:46 +00:00
Staging (#5674)
* Update .env.docker Registry has changed. Old registry has been discontinued in August 2024. New Registry added, format of Docker tag has been adjusted as it now contains the Debian Release as well. Sample Version is set to current stable but can be adjusted to any of the available branches. * Update .env.docker Stick major.minor according to https://jippi.github.io/docker-pixelfed/customize/tags/#pixelfed-version Disable Debian Release Check until it's solved in dottie. Closes https://github.com/pixelfed/pixelfed/issues/5264 * New translations web.php (Finnish) [ci skip] * New translations web.php (Finnish) [ci skip] * fix: don't restore memory limit after cities import Since this command can only be invoked by CLI, the process will exit after a successful import, so restoring the transient PHP memory limit doesn't really have any affect. In PHP 8.4, this throws the following error (which doesn't happen in 8.3 and below) > [entrypoint / 11-first-time-setup.sh] - (stderr) 128769/128769 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%[2025-01-20 11:29:23] production.ERROR: Failed to set memory limit to 134217728 bytes (Current memory usage is 134746112 bytes) {"exception":"[object] (ErrorException(code: 0): Failed to set memory limit to 134217728 bytes (Current memory usage is 134746112 bytes) at /var/www/app/Console/Commands/ImportCities.php:140) It seems to be a 8.4 behavior change, so removing the logic would make it go away * New translations web.php (Finnish) [ci skip] * New translations web.php (Finnish) [ci skip] * New translations web.php (Portuguese) [ci skip] * New translations web.php (Portuguese) [ci skip] * fix(compose-modal): avoid WebGL if it's not needed * fix(compose-modal): update webgl-media-editor * New translations web.php (Hungarian) [ci skip] * New translations web.php (Russian) [ci skip] * New translations web.php (Russian) [ci skip] * Update .env.example Adding the parameter INSTANCE_DISCOVER_PUBLIC="true" to prevent a HTTP 403 error at the explorer tab in the instance preview. * New variable for lang spanish * Variable for lang spanish * Update Dockerfile, fixes #5535 #5559 * Fix #5582 * Fix #5632 * Update status twitter:card to summary_large_image for images/albums * Update changelog --------- Co-authored-by: Lioh Moeller <lioh.moeller@gmx.net> Co-authored-by: Christian Winther <jippignu@gmail.com> Co-authored-by: Taye Adeyemi <dev@taye.me> Co-authored-by: stemy2 <stemy2@users.noreply.github.com> Co-authored-by: Uthanien <feldarec@gmail.com>
This commit is contained in:
parent
4d68580da4
commit
6276d3539a
18 changed files with 1176 additions and 1060 deletions
|
@ -964,7 +964,7 @@ TZ="${APP_TIMEZONE}"
|
||||||
# Combined with [DOCKER_APP_RUNTIME] and [PHP_VERSION] configured
|
# Combined with [DOCKER_APP_RUNTIME] and [PHP_VERSION] configured
|
||||||
# elsewhere in this file, the final Docker tag is computed.
|
# elsewhere in this file, the final Docker tag is computed.
|
||||||
# @dottie/validate required
|
# @dottie/validate required
|
||||||
DOCKER_APP_RELEASE="branch-jippi-fork"
|
DOCKER_APP_RELEASE="v0.12"
|
||||||
|
|
||||||
# The PHP version to use for [web] and [worker] container
|
# The PHP version to use for [web] and [worker] container
|
||||||
#
|
#
|
||||||
|
@ -981,7 +981,7 @@ DOCKER_APP_RELEASE="branch-jippi-fork"
|
||||||
# *only* the version part. The rest of the full tag is derived from
|
# *only* the version part. The rest of the full tag is derived from
|
||||||
# the [DOCKER_APP_RUNTIME] and [PHP_DEBIAN_RELEASE] settings
|
# the [DOCKER_APP_RUNTIME] and [PHP_DEBIAN_RELEASE] settings
|
||||||
# @dottie/validate required
|
# @dottie/validate required
|
||||||
DOCKER_APP_PHP_VERSION="8.2"
|
DOCKER_APP_PHP_VERSION="8.3"
|
||||||
|
|
||||||
# The container runtime to use.
|
# The container runtime to use.
|
||||||
#
|
#
|
||||||
|
@ -993,7 +993,7 @@ DOCKER_APP_RUNTIME="apache"
|
||||||
#
|
#
|
||||||
# Examlpe: [bookworm] or [bullseye]
|
# Examlpe: [bookworm] or [bullseye]
|
||||||
# @dottie/validate required,oneof=bookworm bullseye
|
# @dottie/validate required,oneof=bookworm bullseye
|
||||||
DOCKER_APP_DEBIAN_RELEASE="bullseye"
|
DOCKER_APP_DEBIAN_RELEASE="bookworm"
|
||||||
|
|
||||||
# The [php] Docker image base type
|
# The [php] Docker image base type
|
||||||
#
|
#
|
||||||
|
@ -1010,7 +1010,7 @@ DOCKER_APP_BASE_TYPE="apache"
|
||||||
# * "your/fork" to pull from a custom fork
|
# * "your/fork" to pull from a custom fork
|
||||||
#
|
#
|
||||||
# @dottie/validate required
|
# @dottie/validate required
|
||||||
DOCKER_APP_IMAGE="ghcr.io/jippi/pixelfed"
|
DOCKER_APP_IMAGE="ghcr.io/jippi/docker-pixelfed"
|
||||||
|
|
||||||
# Pixelfed version (image tag) to pull from the registry.
|
# Pixelfed version (image tag) to pull from the registry.
|
||||||
#
|
#
|
||||||
|
|
|
@ -9,6 +9,7 @@ ENFORCE_EMAIL_VERIFICATION="false"
|
||||||
PF_MAX_USERS="1000"
|
PF_MAX_USERS="1000"
|
||||||
OAUTH_ENABLED="true"
|
OAUTH_ENABLED="true"
|
||||||
ENABLE_CONFIG_CACHE=true
|
ENABLE_CONFIG_CACHE=true
|
||||||
|
INSTANCE_DISCOVER_PUBLIC="true"
|
||||||
|
|
||||||
# Media Configuration
|
# Media Configuration
|
||||||
PF_OPTIMIZE_IMAGES="true"
|
PF_OPTIMIZE_IMAGES="true"
|
||||||
|
|
|
@ -40,6 +40,7 @@
|
||||||
- Update ComposeController, add max_media_attachments attribute ([17918cbe](https://github.com/pixelfed/pixelfed/commit/17918cbe))
|
- Update ComposeController, add max_media_attachments attribute ([17918cbe](https://github.com/pixelfed/pixelfed/commit/17918cbe))
|
||||||
- Fix GroupController, move groups enabled check to each method to fix route:list ([f260572e](https://github.com/pixelfed/pixelfed/commit/f260572e))
|
- Fix GroupController, move groups enabled check to each method to fix route:list ([f260572e](https://github.com/pixelfed/pixelfed/commit/f260572e))
|
||||||
- Update MediaStorageService, handle local media deletes after successful S3 upload ([280f63dc](https://github.com/pixelfed/pixelfed/commit/280f63dc))
|
- Update MediaStorageService, handle local media deletes after successful S3 upload ([280f63dc](https://github.com/pixelfed/pixelfed/commit/280f63dc))
|
||||||
|
- Update status twitter:card to summary_large_image for images/albums ([9a5a9f55](https://github.com/pixelfed/pixelfed/commit/9a5a9f55))
|
||||||
- ([](https://github.com/pixelfed/pixelfed/commit/))
|
- ([](https://github.com/pixelfed/pixelfed/commit/))
|
||||||
|
|
||||||
## [v0.12.4 (2024-11-08)](https://github.com/pixelfed/pixelfed/compare/v0.12.4...dev)
|
## [v0.12.4 (2024-11-08)](https://github.com/pixelfed/pixelfed/compare/v0.12.4...dev)
|
||||||
|
|
|
@ -28,11 +28,11 @@ ARG DOTTIE_VERSION="v0.9.5"
|
||||||
###
|
###
|
||||||
|
|
||||||
# See: https://hub.docker.com/_/php/tags
|
# See: https://hub.docker.com/_/php/tags
|
||||||
ARG PHP_VERSION="8.1"
|
ARG PHP_VERSION="8.3"
|
||||||
|
|
||||||
# See: https://github.com/docker-library/docs/blob/master/php/README.md#image-variants
|
# See: https://github.com/docker-library/docs/blob/master/php/README.md#image-variants
|
||||||
ARG PHP_BASE_TYPE="apache"
|
ARG PHP_BASE_TYPE="apache"
|
||||||
ARG PHP_DEBIAN_RELEASE="bullseye"
|
ARG PHP_DEBIAN_RELEASE="bookworm"
|
||||||
|
|
||||||
ARG RUNTIME_UID=33 # often called 'www-data'
|
ARG RUNTIME_UID=33 # often called 'www-data'
|
||||||
ARG RUNTIME_GID=33 # often called 'www-data'
|
ARG RUNTIME_GID=33 # often called 'www-data'
|
||||||
|
|
|
@ -74,7 +74,6 @@ class ImportCities extends Command
|
||||||
*/
|
*/
|
||||||
public function handle()
|
public function handle()
|
||||||
{
|
{
|
||||||
$old_memory_limit = ini_get('memory_limit');
|
|
||||||
ini_set('memory_limit', '256M');
|
ini_set('memory_limit', '256M');
|
||||||
$path = storage_path('app/cities.json');
|
$path = storage_path('app/cities.json');
|
||||||
|
|
||||||
|
@ -137,7 +136,6 @@ class ImportCities extends Command
|
||||||
$this->line('');
|
$this->line('');
|
||||||
$this->info('Successfully imported ' . $cityCount . ' entries!');
|
$this->info('Successfully imported ' . $cityCount . ' entries!');
|
||||||
$this->line('');
|
$this->line('');
|
||||||
ini_set('memory_limit', $old_memory_limit);
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -103,7 +103,7 @@ class TransformImports extends Command
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
$caption = $ip->caption;
|
$caption = $ip->caption ?? "";
|
||||||
$status = new Status;
|
$status = new Status;
|
||||||
$status->profile_id = $pid;
|
$status->profile_id = $pid;
|
||||||
$status->caption = $caption;
|
$status->caption = $caption;
|
||||||
|
|
37
package-lock.json
generated
37
package-lock.json
generated
|
@ -44,7 +44,7 @@
|
||||||
"vue-loading-overlay": "^3.3.3",
|
"vue-loading-overlay": "^3.3.3",
|
||||||
"vue-timeago": "^5.1.2",
|
"vue-timeago": "^5.1.2",
|
||||||
"vue-tribute": "^1.0.7",
|
"vue-tribute": "^1.0.7",
|
||||||
"webgl-media-editor": "^0.0.1",
|
"webgl-media-editor": "^0.0.6",
|
||||||
"zuck.js": "^1.6.0"
|
"zuck.js": "^1.6.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
@ -2323,6 +2323,12 @@
|
||||||
"m3u8-parser": "~4.7.1"
|
"m3u8-parser": "~4.7.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/@reactively/core": {
|
||||||
|
"version": "0.0.8",
|
||||||
|
"resolved": "https://registry.npmjs.org/@reactively/core/-/core-0.0.8.tgz",
|
||||||
|
"integrity": "sha512-5uAnNf2gQSm3gM7z6Lx079H1/MuDQQI+5aYfwyDFGR9nHZj8yblLY/6aOJVWp+NcBwXVBKuWQ28qWHD9F1qN1w==",
|
||||||
|
"license": "ISC"
|
||||||
|
},
|
||||||
"node_modules/@thaunknown/simple-peer": {
|
"node_modules/@thaunknown/simple-peer": {
|
||||||
"version": "10.0.11",
|
"version": "10.0.11",
|
||||||
"resolved": "https://registry.npmjs.org/@thaunknown/simple-peer/-/simple-peer-10.0.11.tgz",
|
"resolved": "https://registry.npmjs.org/@thaunknown/simple-peer/-/simple-peer-10.0.11.tgz",
|
||||||
|
@ -5645,6 +5651,15 @@
|
||||||
"node": ">=8"
|
"node": ">=8"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/fine-jsx": {
|
||||||
|
"version": "0.0.5",
|
||||||
|
"resolved": "https://registry.npmjs.org/fine-jsx/-/fine-jsx-0.0.5.tgz",
|
||||||
|
"integrity": "sha512-UKQ0ymyZnA605yf7np/wAv3iTs6i9oRKgyYmz+dX+F3VanYEBr60zRQ+WPcYzXMtl9NghNxT736qHfDBjoXVDg==",
|
||||||
|
"license": "AGPL-3.0-only",
|
||||||
|
"dependencies": {
|
||||||
|
"@reactively/core": "^0.0.8"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/fizzy-ui-utils": {
|
"node_modules/fizzy-ui-utils": {
|
||||||
"version": "2.0.7",
|
"version": "2.0.7",
|
||||||
"resolved": "https://registry.npmjs.org/fizzy-ui-utils/-/fizzy-ui-utils-2.0.7.tgz",
|
"resolved": "https://registry.npmjs.org/fizzy-ui-utils/-/fizzy-ui-utils-2.0.7.tgz",
|
||||||
|
@ -10749,16 +10764,28 @@
|
||||||
"node": ">= 8"
|
"node": ">= 8"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/webgl-effects": {
|
||||||
|
"version": "0.0.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/webgl-effects/-/webgl-effects-0.0.3.tgz",
|
||||||
|
"integrity": "sha512-P+qxcO0QyydUnHHwnsge2ckou85Pnsdgn0BKAjrhD9LiPFz5i2hq8rT8AdS7wNdXrXyqlM1Y0id+AB0gKTDtpQ==",
|
||||||
|
"license": "AGPL-3.0-only",
|
||||||
|
"dependencies": {
|
||||||
|
"gl-matrix": "^3.4.3",
|
||||||
|
"twgl.js": "^5.5.4"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/webgl-media-editor": {
|
"node_modules/webgl-media-editor": {
|
||||||
"version": "0.0.1",
|
"version": "0.0.6",
|
||||||
"resolved": "https://registry.npmjs.org/webgl-media-editor/-/webgl-media-editor-0.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/webgl-media-editor/-/webgl-media-editor-0.0.6.tgz",
|
||||||
"integrity": "sha512-TxnuRl3rpWa1Cia/pn+vh+0iz3yDNwzsrnRGJ61YkdZAYuimu2afBivSHv0RK73hKza6Y/YoRCkuEcsFmtxPNw==",
|
"integrity": "sha512-hqpIY+a+ay3QzXKECC4pFSHS0dVogV3GlBWzuSwBzEeGZcs7MeEYxLhFdqUa1D2xFtNnXb0pAo+1lCndYDKP2A==",
|
||||||
"license": "AGPL-3.0-only",
|
"license": "AGPL-3.0-only",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"cropperjs": "^1.6.2",
|
"cropperjs": "^1.6.2",
|
||||||
|
"fine-jsx": "^0.0.5",
|
||||||
"gl-matrix": "^3.4.3",
|
"gl-matrix": "^3.4.3",
|
||||||
"throttle-debounce": "^5.0.2",
|
"throttle-debounce": "^5.0.2",
|
||||||
"twgl.js": "^5.5.4"
|
"twgl.js": "^5.5.4",
|
||||||
|
"webgl-effects": "^0.0.3"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/webidl-conversions": {
|
"node_modules/webidl-conversions": {
|
||||||
|
|
|
@ -71,7 +71,7 @@
|
||||||
"vue-loading-overlay": "^3.3.3",
|
"vue-loading-overlay": "^3.3.3",
|
||||||
"vue-timeago": "^5.1.2",
|
"vue-timeago": "^5.1.2",
|
||||||
"vue-tribute": "^1.0.7",
|
"vue-tribute": "^1.0.7",
|
||||||
"webgl-media-editor": "^0.0.1",
|
"webgl-media-editor": "^0.0.6",
|
||||||
"zuck.js": "^1.6.0"
|
"zuck.js": "^1.6.0"
|
||||||
},
|
},
|
||||||
"collective": {
|
"collective": {
|
||||||
|
|
|
@ -1015,19 +1015,29 @@ export default {
|
||||||
},
|
},
|
||||||
|
|
||||||
created() {
|
created() {
|
||||||
|
try {
|
||||||
this.editor = new MediaEditor({
|
this.editor = new MediaEditor({
|
||||||
effects: filterEffects,
|
effects: filterEffects,
|
||||||
onEdit: (index, {effect, intensity, crop}) => {
|
onEdit: (sourceIndex, {effect, intensity, crop}) => {
|
||||||
if (index >= this.files.length) return
|
if (sourceIndex >= this.files.length) return
|
||||||
const file = this.files[index]
|
const file = this.files[sourceIndex]
|
||||||
|
|
||||||
this.$set(file, 'editState', { effect, intensity, crop })
|
this.$set(file, 'editState', { effect, intensity, crop })
|
||||||
},
|
},
|
||||||
onRenderPreview: (sourceIndex, previewUrl) => {
|
onRenderPreview: (sourceIndex, previewUrl) => {
|
||||||
|
if (sourceIndex >= this.files.length) return
|
||||||
|
const file = this.files[sourceIndex]
|
||||||
|
const { editState } = file
|
||||||
const media = this.media[sourceIndex]
|
const media = this.media[sourceIndex]
|
||||||
if (media) media.preview_url = previewUrl
|
|
||||||
|
// If the image was edited, use the preview image from the editor.
|
||||||
|
if (editState && (editState.crop || editState.effect !== -1)) media.preview_url = previewUrl
|
||||||
|
// When no edits are applied, use the original media URL.
|
||||||
|
// This limits broken previews with firefox's resistFingerprinting setting.
|
||||||
|
else media.preview_url = media.url
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
} catch {}
|
||||||
},
|
},
|
||||||
|
|
||||||
computed: {
|
computed: {
|
||||||
|
@ -1054,8 +1064,9 @@ export default {
|
||||||
},
|
},
|
||||||
|
|
||||||
destroyed() {
|
destroyed() {
|
||||||
this.files.forEach(fileInfo => {
|
this.media.forEach(media => {
|
||||||
URL.revokeObjectURL(fileInfo.url);
|
URL.revokeObjectURL(media.url);
|
||||||
|
URL.revokeObjectURL(media.preview_url);
|
||||||
})
|
})
|
||||||
this.files.length = this.media.length = 0
|
this.files.length = this.media.length = 0
|
||||||
this.editor = undefined
|
this.editor = undefined
|
||||||
|
@ -1161,7 +1172,7 @@ export default {
|
||||||
|
|
||||||
const type = file.type.replace(/\/.*/, '')
|
const type = file.type.replace(/\/.*/, '')
|
||||||
const url = URL.createObjectURL(file)
|
const url = URL.createObjectURL(file)
|
||||||
const preview_url = type === 'image' ? url : '/storage/no-preview.png'
|
const preview_url = type === 'image' ? URL.createObjectURL(file) : '/storage/no-preview.png'
|
||||||
|
|
||||||
this.files.push({ file, editState: undefined })
|
this.files.push({ file, editState: undefined })
|
||||||
this.media.push({ url, preview_url, type })
|
this.media.push({ url, preview_url, type })
|
||||||
|
@ -1182,8 +1193,17 @@ export default {
|
||||||
const media = this.media[i]
|
const media = this.media[i]
|
||||||
|
|
||||||
if (media.type === 'image' && fileInfo.editState) {
|
if (media.type === 'image' && fileInfo.editState) {
|
||||||
|
const { editState, cropperBlob } = fileInfo
|
||||||
|
|
||||||
|
// If the WebGL editor is supported by the browser, apply the edits and use the resulting blob
|
||||||
|
if (this.editor && (editState.effect !== -1 || !!editState.crop)) {
|
||||||
file = await this.editor.toBlob(i)
|
file = await this.editor.toBlob(i)
|
||||||
}
|
}
|
||||||
|
// Otherwise, only the cropped result from cropper.js may be used
|
||||||
|
else if (cropperBlob) {
|
||||||
|
file = cropperBlob
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
let form = new FormData();
|
let form = new FormData();
|
||||||
form.append('file', file);
|
form.append('file', file);
|
||||||
|
@ -1555,12 +1575,29 @@ export default {
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'cropPhoto':
|
case 'cropPhoto':
|
||||||
const { editState } = this.files[this.carouselCursor]
|
const file = this.files[this.carouselCursor]
|
||||||
|
const { cropper } = this.$refs
|
||||||
|
|
||||||
|
// update the file state in this vue component
|
||||||
const croppedState = {
|
const croppedState = {
|
||||||
...editState,
|
...file.editState,
|
||||||
crop: this.$refs.cropper.getData()
|
crop: cropper.getData()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (this.editor) {
|
||||||
|
// also update the file state in the WebGL editor
|
||||||
this.editor.setEditState(this.carouselCursor, croppedState)
|
this.editor.setEditState(this.carouselCursor, croppedState)
|
||||||
|
} else {
|
||||||
|
// if the browser can't run the WebGL editor, get the cropped image from cropper.js
|
||||||
|
cropper.getCroppedCanvas().toBlob((blob) => {
|
||||||
|
const { media } = this.media[this.carouselCursor]
|
||||||
|
|
||||||
|
file.croppedBlob = blob
|
||||||
|
URL.revokeObjectURL(media.preview_url)
|
||||||
|
media.preview_url = URL.createObjectURL(blob)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
this.page = 2;
|
this.page = 2;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
|
@ -13,7 +13,7 @@ return [
|
||||||
|
|
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
'failed' => 'Los datos introducidos no son válidos.',
|
'failed' => 'Los datos introducidos no son válidos.',
|
||||||
'throttle' => 'Demasiados intentos de iniciar sesión. Por favor, inténtalo de nuevo en :seconds segundos.',
|
'throttle' => 'Demasiados intentos de iniciar sesión. Por favor, inténtalo de nuevo en :seconds segundos.',
|
||||||
|
|
||||||
];
|
];
|
||||||
|
|
11
resources/lang/es/exception.php
Normal file
11
resources/lang/es/exception.php
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
return [
|
||||||
|
|
||||||
|
'compose' => [
|
||||||
|
'invalid' => [
|
||||||
|
'album' => 'Debe contener solo una foto o video, o multiples.',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
|
||||||
|
];
|
|
@ -3,6 +3,9 @@
|
||||||
return [
|
return [
|
||||||
|
|
||||||
'likedPhoto' => 'le gustó tu foto.',
|
'likedPhoto' => 'le gustó tu foto.',
|
||||||
|
'likedComment' => 'le gustó tu comentario.',
|
||||||
'startedFollowingYou' => 'empezó a seguirte.',
|
'startedFollowingYou' => 'empezó a seguirte.',
|
||||||
|
'commented' => 'comentó tu foto.',
|
||||||
|
'mentionedYou' => 'te menciono.',
|
||||||
|
'shared' => 'compartir tu foto.',
|
||||||
];
|
];
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
return [
|
return [
|
||||||
|
|
||||||
'common' => [
|
'common' => [
|
||||||
'comment' => 'Kommentti',
|
'comment' => 'Kommentoi',
|
||||||
'commented' => 'Kommentoitu',
|
'commented' => 'Kommentoitu',
|
||||||
'comments' => 'Kommentit',
|
'comments' => 'Kommentit',
|
||||||
'like' => 'Tykkää',
|
'like' => 'Tykkää',
|
||||||
|
@ -13,7 +13,7 @@ return [
|
||||||
'shared' => 'Jaettu',
|
'shared' => 'Jaettu',
|
||||||
'shares' => 'Jaot',
|
'shares' => 'Jaot',
|
||||||
'unshare' => 'Peru jakaminen',
|
'unshare' => 'Peru jakaminen',
|
||||||
'bookmark' => 'Bookmark',
|
'bookmark' => 'Kirjanmerkki',
|
||||||
|
|
||||||
'cancel' => 'Peruuta',
|
'cancel' => 'Peruuta',
|
||||||
'copyLink' => 'Kopioi linkki',
|
'copyLink' => 'Kopioi linkki',
|
||||||
|
@ -24,10 +24,10 @@ return [
|
||||||
'other' => 'Muu',
|
'other' => 'Muu',
|
||||||
'readMore' => 'Lue lisää',
|
'readMore' => 'Lue lisää',
|
||||||
'success' => 'Onnistui',
|
'success' => 'Onnistui',
|
||||||
'proceed' => 'Proceed',
|
'proceed' => 'Jatka',
|
||||||
'next' => 'Next',
|
'next' => 'Seuraava',
|
||||||
'close' => 'Close',
|
'close' => 'Sulje',
|
||||||
'clickHere' => 'click here',
|
'clickHere' => 'klikkaa tästä',
|
||||||
|
|
||||||
'sensitive' => 'Sensitiivinen',
|
'sensitive' => 'Sensitiivinen',
|
||||||
'sensitiveContent' => 'Sensitiivinen sisältö',
|
'sensitiveContent' => 'Sensitiivinen sisältö',
|
||||||
|
@ -82,71 +82,71 @@ return [
|
||||||
'notifications' => [
|
'notifications' => [
|
||||||
'liked' => 'tykkäsi sinun',
|
'liked' => 'tykkäsi sinun',
|
||||||
'commented' => 'kommentoi sinun',
|
'commented' => 'kommentoi sinun',
|
||||||
'reacted' => 'reacted to your',
|
'reacted' => 'reagoi sinun',
|
||||||
'shared' => 'shared your',
|
'shared' => 'jakoi sinun',
|
||||||
'tagged' => 'tagged you in a',
|
'tagged' => 'merkitsi sinut',
|
||||||
|
|
||||||
'updatedA' => 'updated a',
|
'updatedA' => 'päivitetty',
|
||||||
'sentA' => 'sent a',
|
'sentA' => 'lähetti',
|
||||||
|
|
||||||
'followed' => 'followed',
|
'followed' => 'seuraa',
|
||||||
'mentioned' => 'mentioned',
|
'mentioned' => 'mainittu',
|
||||||
'you' => 'you',
|
'you' => 'sinä',
|
||||||
|
|
||||||
'yourApplication' => 'Your application to join',
|
'yourApplication' => 'Liittymistä koskeva hakemuksesi',
|
||||||
'applicationApproved' => 'was approved!',
|
'applicationApproved' => 'oli hyväksytty!',
|
||||||
'applicationRejected' => 'was rejected. You can re-apply to join in 6 months.',
|
'applicationRejected' => 'oli hylätty. Voit hakea uudelleen 6 kuukauden kuluttua.',
|
||||||
|
|
||||||
'dm' => 'dm',
|
'dm' => 'yv',
|
||||||
'groupPost' => 'group post',
|
'groupPost' => 'ryhmäviesti',
|
||||||
'modlog' => 'modlog',
|
'modlog' => 'modelogi',
|
||||||
'post' => 'post',
|
'post' => 'viesti',
|
||||||
'story' => 'story',
|
'story' => 'tarina',
|
||||||
'noneFound' => 'No notifications found',
|
'noneFound' => 'Ilmoituksia ei löytynyt',
|
||||||
],
|
],
|
||||||
|
|
||||||
'post' => [
|
'post' => [
|
||||||
'shareToFollowers' => 'Share to followers',
|
'shareToFollowers' => 'Jaa seuraajille',
|
||||||
'shareToOther' => 'Share to other',
|
'shareToOther' => 'Jaa muille',
|
||||||
'noLikes' => 'No likes yet',
|
'noLikes' => 'Tykkäyksiä ei ole vielä',
|
||||||
'uploading' => 'Uploading',
|
'uploading' => 'Siirretään',
|
||||||
],
|
],
|
||||||
|
|
||||||
'profile' => [
|
'profile' => [
|
||||||
'posts' => 'Posts',
|
'posts' => 'Julkaisut',
|
||||||
'followers' => 'Followers',
|
'followers' => 'Seuraajat',
|
||||||
'following' => 'Following',
|
'following' => 'Seurataan',
|
||||||
'admin' => 'Admin',
|
'admin' => 'Ylläpitäjä',
|
||||||
'collections' => 'Collections',
|
'collections' => 'Kokoelmat',
|
||||||
'follow' => 'Follow',
|
'follow' => 'Seuraa',
|
||||||
'unfollow' => 'Unfollow',
|
'unfollow' => 'Lopeta seuraaminen',
|
||||||
'editProfile' => 'Edit Profile',
|
'editProfile' => 'Muokkaa profiilia',
|
||||||
'followRequested' => 'Follow Requested',
|
'followRequested' => 'Seuraamista pyydetty',
|
||||||
'joined' => 'Joined',
|
'joined' => 'Liittynyt',
|
||||||
|
|
||||||
'emptyCollections' => 'We can\'t seem to find any collections',
|
'emptyCollections' => 'Emme näytä löytävän yhtään kokoelmaa',
|
||||||
'emptyPosts' => 'We can\'t seem to find any posts',
|
'emptyPosts' => 'Emme näytä löytävän yhtään viestiä',
|
||||||
],
|
],
|
||||||
|
|
||||||
'menu' => [
|
'menu' => [
|
||||||
'viewPost' => 'View Post',
|
'viewPost' => 'Näytä viesti',
|
||||||
'viewProfile' => 'View Profile',
|
'viewProfile' => 'Näytä profiili',
|
||||||
'moderationTools' => 'Moderation Tools',
|
'moderationTools' => 'Moderointityökalut',
|
||||||
'report' => 'Report',
|
'report' => 'Ilmoita',
|
||||||
'archive' => 'Archive',
|
'archive' => 'Arkisto',
|
||||||
'unarchive' => 'Unarchive',
|
'unarchive' => 'Palauta arkistosta',
|
||||||
'embed' => 'Embed',
|
'embed' => 'Upota',
|
||||||
|
|
||||||
'selectOneOption' => 'Select one of the following options',
|
'selectOneOption' => 'Valitse yksi seuraavista vaihtoehdoista',
|
||||||
'unlistFromTimelines' => 'Unlist from Timelines',
|
'unlistFromTimelines' => 'Poista aikajanalta',
|
||||||
'addCW' => 'Add Content Warning',
|
'addCW' => 'Lisää sisältövaroitus',
|
||||||
'removeCW' => 'Remove Content Warning',
|
'removeCW' => 'Poista sisältövaroitus',
|
||||||
'markAsSpammer' => 'Mark as Spammer',
|
'markAsSpammer' => 'Merkitse roskapostittajaksi',
|
||||||
'markAsSpammerText' => 'Unlist + CW existing and future posts',
|
'markAsSpammerText' => 'Unlist + SV olevat ja tulevat julkaisut',
|
||||||
'spam' => 'Spam',
|
'spam' => 'Roskaposti',
|
||||||
'sensitive' => 'Sensitive Content',
|
'sensitive' => 'Arkaluonteista sisältöä',
|
||||||
'abusive' => 'Abusive or Harmful',
|
'abusive' => 'Hyökkäävä tai haitallinen',
|
||||||
'underageAccount' => 'Underage Account',
|
'underageAccount' => 'Alaikäisen tili',
|
||||||
'copyrightInfringement' => 'Tekijänoikeusloukkaus',
|
'copyrightInfringement' => 'Tekijänoikeusloukkaus',
|
||||||
'impersonation' => 'Väärennetty henkilöllisyys',
|
'impersonation' => 'Väärennetty henkilöllisyys',
|
||||||
'scamOrFraud' => 'Huijaus tai petos',
|
'scamOrFraud' => 'Huijaus tai petos',
|
||||||
|
@ -182,27 +182,27 @@ return [
|
||||||
],
|
],
|
||||||
|
|
||||||
'timeline' => [
|
'timeline' => [
|
||||||
'peopleYouMayKnow' => 'People you may know',
|
'peopleYouMayKnow' => 'Ihmisiä, jotka saatat tuntea',
|
||||||
|
|
||||||
'onboarding' => [
|
'onboarding' => [
|
||||||
'welcome' => 'Welcome',
|
'welcome' => 'Tervetuloa',
|
||||||
'thisIsYourHomeFeed' => 'This is your home feed, a chronological feed of posts from accounts you follow.',
|
'thisIsYourHomeFeed' => 'Tämä on kotisyötteesi. Aikajärjestyksessä oleva syöte seuraamiesi käyttäjien julkaisuista.',
|
||||||
'letUsHelpYouFind' => 'Let us help you find some interesting people to follow',
|
'letUsHelpYouFind' => 'Anna meidän auttaa löytämään mielenkiintoisia ihmisiä seurattavaksi',
|
||||||
'refreshFeed' => 'Refresh my feed',
|
'refreshFeed' => 'Päivitä syötteeni',
|
||||||
],
|
],
|
||||||
],
|
],
|
||||||
|
|
||||||
'hashtags' => [
|
'hashtags' => [
|
||||||
'emptyFeed' => 'We can\'t seem to find any posts for this hashtag'
|
'emptyFeed' => 'Emme näytä löytävän yhtään viestiä tälle aihetunnisteelle'
|
||||||
],
|
],
|
||||||
|
|
||||||
'report' => [
|
'report' => [
|
||||||
'report' => 'Report',
|
'report' => 'Ilmoita',
|
||||||
'selectReason' => 'Select a reason',
|
'selectReason' => 'Valitse syy',
|
||||||
'reported' => 'Reported',
|
'reported' => 'Ilmoitettu',
|
||||||
'sendingReport' => 'Sending report',
|
'sendingReport' => 'Lähetetään ilmoitusta',
|
||||||
'thanksMsg' => 'Thanks for the report, people like you help keep our community safe!',
|
'thanksMsg' => 'Kiitos ilmoituksesta. Sinä ja kaltaisesi autatte pitämään yhteisön turvallisena!',
|
||||||
'contactAdminMsg' => 'If you\'d like to contact an administrator about this post or report',
|
'contactAdminMsg' => 'Jos haluaisit ottaa yhteyttä ylläpitoom tästä julkaisusta tai ilmoittaa sen',
|
||||||
],
|
],
|
||||||
|
|
||||||
];
|
];
|
||||||
|
|
|
@ -44,7 +44,7 @@ return [
|
||||||
'admin' => 'Admin irányítópult',
|
'admin' => 'Admin irányítópult',
|
||||||
|
|
||||||
// Timelines
|
// Timelines
|
||||||
'homeFeed' => 'Kezdőlap',
|
'homeFeed' => 'Saját idővonal',
|
||||||
'localFeed' => 'Helyi idővonal',
|
'localFeed' => 'Helyi idővonal',
|
||||||
'globalFeed' => 'Globális idővonal',
|
'globalFeed' => 'Globális idővonal',
|
||||||
|
|
||||||
|
@ -63,7 +63,7 @@ return [
|
||||||
'logout' => 'Kijelentkezés',
|
'logout' => 'Kijelentkezés',
|
||||||
|
|
||||||
// Nav footer
|
// Nav footer
|
||||||
'about' => 'Rólunk',
|
'about' => 'Névjegy',
|
||||||
'help' => 'Súgó',
|
'help' => 'Súgó',
|
||||||
'language' => 'Nyelv',
|
'language' => 'Nyelv',
|
||||||
'privacy' => 'Adatvédelem',
|
'privacy' => 'Adatvédelem',
|
||||||
|
@ -186,9 +186,9 @@ return [
|
||||||
|
|
||||||
'onboarding' => [
|
'onboarding' => [
|
||||||
'welcome' => 'Üdvözöljük',
|
'welcome' => 'Üdvözöljük',
|
||||||
'thisIsYourHomeFeed' => 'Ez a kezdőlap, az Ön által követett fiókok bejegyzései időrendi sorrendben.',
|
'thisIsYourHomeFeed' => 'Ez a saját idővonala, az Ön által követett fiókok bejegyzései időrendi sorrendben.',
|
||||||
'letUsHelpYouFind' => 'Keressünk érdekes, követhető embereket',
|
'letUsHelpYouFind' => 'Keressünk érdekes, követhető embereket',
|
||||||
'refreshFeed' => 'Kezdőlap frissítése',
|
'refreshFeed' => 'Idővonal frissítése',
|
||||||
],
|
],
|
||||||
],
|
],
|
||||||
|
|
||||||
|
|
|
@ -19,48 +19,48 @@ return [
|
||||||
'copyLink' => 'Copiar link',
|
'copyLink' => 'Copiar link',
|
||||||
'delete' => 'Eliminar',
|
'delete' => 'Eliminar',
|
||||||
'error' => 'Erro',
|
'error' => 'Erro',
|
||||||
'errorMsg' => 'Algo correu mal. Por favor, tente novamente mais tarde.',
|
'errorMsg' => 'Algo correu mal. Tenta novamente mais tarde.',
|
||||||
'oops' => 'Opa!',
|
'oops' => 'Oops!',
|
||||||
'other' => 'Outro',
|
'other' => 'Outro',
|
||||||
'readMore' => 'Ler mais',
|
'readMore' => 'Ler mais',
|
||||||
'success' => 'Sucesso',
|
'success' => 'Sucesso',
|
||||||
'proceed' => 'Continuar',
|
'proceed' => 'Continuar',
|
||||||
'next' => 'Seguinte',
|
'next' => 'Seguinte',
|
||||||
'close' => 'Fechar',
|
'close' => 'Fechar',
|
||||||
'clickHere' => 'clique aqui',
|
'clickHere' => 'clica aqui',
|
||||||
|
|
||||||
'sensitive' => 'Sensível',
|
'sensitive' => 'Sensível',
|
||||||
'sensitiveContent' => 'Conteúdo sensível',
|
'sensitiveContent' => 'Conteúdo sensível',
|
||||||
'sensitiveContentWarning' => 'Este post pode conter conteúdo sensível',
|
'sensitiveContentWarning' => 'Esta publicação pode conter conteúdo sensível',
|
||||||
],
|
],
|
||||||
|
|
||||||
'site' => [
|
'site' => [
|
||||||
'terms' => 'Termos de Uso',
|
'terms' => 'Termos de Utilização',
|
||||||
'privacy' => 'Política de Privacidade',
|
'privacy' => 'Política de Privacidade',
|
||||||
],
|
],
|
||||||
|
|
||||||
'navmenu' => [
|
'navmenu' => [
|
||||||
'search' => 'Pesquisa',
|
'search' => 'Pesquisar',
|
||||||
'admin' => 'Painel de Administração',
|
'admin' => 'Painel de administração',
|
||||||
|
|
||||||
// Timelines
|
// Timelines
|
||||||
'homeFeed' => 'Inicio',
|
'homeFeed' => 'Início',
|
||||||
'localFeed' => 'Feed local',
|
'localFeed' => 'Feed local',
|
||||||
'globalFeed' => 'Feed global',
|
'globalFeed' => 'Feed global',
|
||||||
|
|
||||||
// Core features
|
// Core features
|
||||||
'discover' => 'Descobrir',
|
'discover' => 'Descobrir',
|
||||||
'directMessages' => 'Mensagens Diretas',
|
'directMessages' => 'Mensagens diretas',
|
||||||
'notifications' => 'Notificações',
|
'notifications' => 'Notificações',
|
||||||
'groups' => 'Grupos',
|
'groups' => 'Grupos',
|
||||||
'stories' => 'Stories',
|
'stories' => 'Stories',
|
||||||
|
|
||||||
// Self links
|
// Self links
|
||||||
'profile' => 'Perfil',
|
'profile' => 'Perfil',
|
||||||
'drive' => 'Drive',
|
'drive' => 'Disco',
|
||||||
'settings' => 'Definições',
|
'settings' => 'Definições',
|
||||||
'compose' => 'Criar novo',
|
'compose' => 'Criar novo',
|
||||||
'logout' => 'Terminar Sessão',
|
'logout' => 'Terminar sessão',
|
||||||
|
|
||||||
// Nav footer
|
// Nav footer
|
||||||
'about' => 'Sobre',
|
'about' => 'Sobre',
|
||||||
|
@ -70,38 +70,38 @@ return [
|
||||||
'terms' => 'Termos',
|
'terms' => 'Termos',
|
||||||
|
|
||||||
// Temporary links
|
// Temporary links
|
||||||
'backToPreviousDesign' => 'Voltar ao design anterior'
|
'backToPreviousDesign' => 'Voltar ao design antigo'
|
||||||
],
|
],
|
||||||
|
|
||||||
'directMessages' => [
|
'directMessages' => [
|
||||||
'inbox' => 'Caixa de Entrada',
|
'inbox' => 'Caixa de entrada',
|
||||||
'sent' => 'Enviadas',
|
'sent' => 'Enviadas',
|
||||||
'requests' => 'Pedidos'
|
'requests' => 'Pedidos'
|
||||||
],
|
],
|
||||||
|
|
||||||
'notifications' => [
|
'notifications' => [
|
||||||
'liked' => 'curtiu seu',
|
'liked' => 'gostou do seu',
|
||||||
'commented' => 'comentou em seu',
|
'commented' => 'comentou no seu',
|
||||||
'reacted' => 'reagiu ao seu',
|
'reacted' => 'reagiu ao seu',
|
||||||
'shared' => 'compartilhou seu',
|
'shared' => 'partilhou o teu',
|
||||||
'tagged' => 'marcou você em um',
|
'tagged' => 'etiquetou-te numa publicação',
|
||||||
|
|
||||||
'updatedA' => 'atualizou um(a)',
|
'updatedA' => 'atualizou uma',
|
||||||
'sentA' => 'enviou um',
|
'sentA' => 'enviou uma',
|
||||||
|
|
||||||
'followed' => 'seguiu',
|
'followed' => 'seguiu-te',
|
||||||
'mentioned' => 'mencionou',
|
'mentioned' => 'mencionou-te',
|
||||||
'you' => 'você',
|
'you' => 'tu',
|
||||||
|
|
||||||
'yourApplication' => 'A sua candidatura para se juntar',
|
'yourApplication' => 'O teu pedido de adesão',
|
||||||
'applicationApproved' => 'foi aprovado!',
|
'applicationApproved' => 'foi aprovado!',
|
||||||
'applicationRejected' => 'foi rejeitado. Você pode se inscrever novamente para participar em 6 meses.',
|
'applicationRejected' => 'foi rejeitado. Podes voltar a candidatar-te dentro de 6 meses.',
|
||||||
|
|
||||||
'dm' => 'mensagem direta',
|
'dm' => 'md',
|
||||||
'groupPost' => 'postagem do grupo',
|
'groupPost' => 'publicação de grupo',
|
||||||
'modlog' => 'histórico de moderação',
|
'modlog' => 'histórico de moderação',
|
||||||
'post' => 'publicação',
|
'post' => 'publicação',
|
||||||
'story' => 'história',
|
'story' => 'estória',
|
||||||
'noneFound' => 'Nenhuma notificação encontrada',
|
'noneFound' => 'Nenhuma notificação encontrada',
|
||||||
],
|
],
|
||||||
|
|
||||||
|
@ -115,12 +115,12 @@ return [
|
||||||
'profile' => [
|
'profile' => [
|
||||||
'posts' => 'Publicações',
|
'posts' => 'Publicações',
|
||||||
'followers' => 'Seguidores',
|
'followers' => 'Seguidores',
|
||||||
'following' => 'A seguir',
|
'following' => 'Seguindo',
|
||||||
'admin' => 'Administrador',
|
'admin' => 'Administrador',
|
||||||
'collections' => 'Coleções',
|
'collections' => 'Coleções',
|
||||||
'follow' => 'Seguir',
|
'follow' => 'Seguir',
|
||||||
'unfollow' => 'Deixar de seguir',
|
'unfollow' => 'Deixar de seguir',
|
||||||
'editProfile' => 'Editar Perfil',
|
'editProfile' => 'Editar perfil',
|
||||||
'followRequested' => 'Pedido para seguir enviado',
|
'followRequested' => 'Pedido para seguir enviado',
|
||||||
'joined' => 'Juntou-se',
|
'joined' => 'Juntou-se',
|
||||||
|
|
||||||
|
@ -137,72 +137,72 @@ return [
|
||||||
'unarchive' => 'Retirar do arquivo',
|
'unarchive' => 'Retirar do arquivo',
|
||||||
'embed' => 'Incorporar',
|
'embed' => 'Incorporar',
|
||||||
|
|
||||||
'selectOneOption' => 'Selecione uma das seguintes opções',
|
'selectOneOption' => 'Seleciona uma das seguintes opções',
|
||||||
'unlistFromTimelines' => 'Remover das cronologias',
|
'unlistFromTimelines' => 'Remover das cronologias',
|
||||||
'addCW' => 'Adicionar aviso de conteúdo',
|
'addCW' => 'Adicionar aviso de conteúdo',
|
||||||
'removeCW' => 'Remover aviso de conteúdo',
|
'removeCW' => 'Remover aviso de conteúdo',
|
||||||
'markAsSpammer' => 'Marcar como Spammer',
|
'markAsSpammer' => 'Marcar como spammer',
|
||||||
'markAsSpammerText' => 'Remover das cronologias e adicionar um aviso de conteúdo às publicações existentes e futuras',
|
'markAsSpammerText' => 'Remover das cronologias e adicionar um aviso de conteúdo às publicações existentes e futuras',
|
||||||
'spam' => 'Lixo Eletrônico',
|
'spam' => 'Spam',
|
||||||
'sensitive' => 'Conteúdo Sensível',
|
'sensitive' => 'Conteúdo sensível',
|
||||||
'abusive' => 'Abusivo ou prejudicial',
|
'abusive' => 'Abusivo ou prejudicial',
|
||||||
'underageAccount' => 'Conta de menor de idade',
|
'underageAccount' => 'Conta de menor de idade',
|
||||||
'copyrightInfringement' => 'Violação de direitos de autor',
|
'copyrightInfringement' => 'Violação de direitos de autor',
|
||||||
'impersonation' => 'Roubo de identidade',
|
'impersonation' => 'Roubo de identidade',
|
||||||
'scamOrFraud' => 'Esquema ou fraude',
|
'scamOrFraud' => 'Esquema ou fraude',
|
||||||
'confirmReport' => 'Confirmar denúncia',
|
'confirmReport' => 'Confirmar denúncia',
|
||||||
'confirmReportText' => 'Tem a certeza que deseja denunciar esta mensagem?',
|
'confirmReportText' => 'Tens a certeza que desejas denunciar esta mensagem?',
|
||||||
'reportSent' => 'Denúncia enviada!',
|
'reportSent' => 'Denúncia enviada!',
|
||||||
'reportSentText' => 'Recebemos com sucesso a sua denúncia.',
|
'reportSentText' => 'Recebemos com sucesso a tua denúncia.',
|
||||||
'reportSentError' => 'Ocorreu um erro ao denunciar este conteúdo.',
|
'reportSentError' => 'Ocorreu um erro ao denunciar este conteúdo.',
|
||||||
|
|
||||||
'modAddCWConfirm' => 'Tem a certeza que pretende adicionar um aviso de conteúdo à publicação?',
|
'modAddCWConfirm' => 'Tens a certeza que pretendes adicionar um aviso de conteúdo à publicação?',
|
||||||
'modCWSuccess' => 'Adicionou com sucesso um aviso de conteúdo',
|
'modCWSuccess' => 'Adicionaste com sucesso um aviso de conteúdo',
|
||||||
'modRemoveCWConfirm' => 'Tem a certeza que pretende remover o aviso de conteúdo desta publicação?',
|
'modRemoveCWConfirm' => 'Tens a certeza que pretendes remover o aviso de conteúdo desta publicação?',
|
||||||
'modRemoveCWSuccess' => 'Removeu com sucesso o aviso de conteúdo',
|
'modRemoveCWSuccess' => 'Removeste com sucesso o aviso de conteúdo',
|
||||||
'modUnlistConfirm' => 'Tem a certeza que pretende deslistar este post?',
|
'modUnlistConfirm' => 'Tem a certeza que pretende deslistar este post?',
|
||||||
'modUnlistSuccess' => 'Deslistou com sucesso este post',
|
'modUnlistSuccess' => 'Deslistou com sucesso este post',
|
||||||
'modMarkAsSpammerConfirm' => 'Você realmente quer denunciar este usuário por spam? Todas as suas publicações anteriores e futuras serão marcadas com um aviso de conteúdo e removidas das linhas do tempo.',
|
'modMarkAsSpammerConfirm' => 'Tem a certeza que deseja marcar este utilizador como spammer? Todos os posts existentes e futuros serão deslistados da timeline e o alerta de conteúdo será aplicado.',
|
||||||
'modMarkAsSpammerSuccess' => 'Marcou com sucesso esta conta como spammer',
|
'modMarkAsSpammerSuccess' => 'Marcou com sucesso esta conta como spammer',
|
||||||
|
|
||||||
'toFollowers' => 'para seguidores',
|
'toFollowers' => 'para Seguidores',
|
||||||
|
|
||||||
'showCaption' => 'Mostar legenda',
|
'showCaption' => 'Mostar legenda',
|
||||||
'showLikes' => 'Mostrar Gostos',
|
'showLikes' => 'Mostrar gostos',
|
||||||
'compactMode' => 'Modo compacto',
|
'compactMode' => 'Modo compacto',
|
||||||
'embedConfirmText' => 'Ao usar de forma “embed”, você concorda com nossas',
|
'embedConfirmText' => 'Ao utilizar este conteúdo, concordas com:',
|
||||||
|
|
||||||
'deletePostConfirm' => 'Tem a certeza que pretende apagar esta publicação?',
|
'deletePostConfirm' => 'Tens a certeza que pretendes eliminar esta publicação?',
|
||||||
'archivePostConfirm' => 'Tem a certeza que pretende arquivar esta publicação?',
|
'archivePostConfirm' => 'Tens a certeza que pretendes arquivar esta publicação?',
|
||||||
'unarchivePostConfirm' => 'Tem a certeza que pretende desarquivar este post?',
|
'unarchivePostConfirm' => 'Tem a certeza que pretende desarquivar este post?',
|
||||||
],
|
],
|
||||||
|
|
||||||
'story' => [
|
'story' => [
|
||||||
'add' => 'Adicionar Story'
|
'add' => 'Adicionar Storie'
|
||||||
],
|
],
|
||||||
|
|
||||||
'timeline' => [
|
'timeline' => [
|
||||||
'peopleYouMayKnow' => 'Pessoas que talvez conheça',
|
'peopleYouMayKnow' => 'Pessoas que talvez conheças',
|
||||||
|
|
||||||
'onboarding' => [
|
'onboarding' => [
|
||||||
'welcome' => 'Bem-vindo',
|
'welcome' => 'Bem-vindo',
|
||||||
'thisIsYourHomeFeed' => 'Este é o seu feed pessoal, com publicações em ordem cronológica das contas que segue.',
|
'thisIsYourHomeFeed' => 'Este é a tua cronologia inicial pessoal, com publicações em ordem cronológica das contas que segue.',
|
||||||
'letUsHelpYouFind' => 'Deixe-nos ajudar a encontrar algumas pessoas interessantes para seguir',
|
'letUsHelpYouFind' => 'Deixa-nos ajudar-te a encontrar algumas pessoas interessantes para seguires',
|
||||||
'refreshFeed' => 'Atualizar o meu feed',
|
'refreshFeed' => 'Atualizar a minha cronologia',
|
||||||
],
|
],
|
||||||
],
|
],
|
||||||
|
|
||||||
'hashtags' => [
|
'hashtags' => [
|
||||||
'emptyFeed' => 'Não encontramos nenhuma publicação com esta hashtag'
|
'emptyFeed' => 'Não conseguimos encontrar publicações com essa hashtag'
|
||||||
],
|
],
|
||||||
|
|
||||||
'report' => [
|
'report' => [
|
||||||
'report' => 'Denunciar',
|
'report' => 'Denunciar',
|
||||||
'selectReason' => 'Selecione uma razão',
|
'selectReason' => 'Seleciona um motivo',
|
||||||
'reported' => 'Denunciado',
|
'reported' => 'Denunciado',
|
||||||
'sendingReport' => 'A enviar denúncia',
|
'sendingReport' => 'A enviar denúncia',
|
||||||
'thanksMsg' => 'Obrigado pela denúncia, pessoas como você ajudam a manter a nossa comunidade segura!',
|
'thanksMsg' => 'Obrigado pela denúncia, as pessoas como tu ajudam a manter a nossa comunidade segura!',
|
||||||
'contactAdminMsg' => 'Se quiser entrar em contato com um administrador acerca desta publicação ou denúncia',
|
'contactAdminMsg' => 'Se quiseres entrar em contacto com um administrador sobre esta publicação ou denúncia',
|
||||||
],
|
],
|
||||||
|
|
||||||
];
|
];
|
||||||
|
|
|
@ -29,9 +29,9 @@ return [
|
||||||
'close' => 'Закрыть',
|
'close' => 'Закрыть',
|
||||||
'clickHere' => 'нажмите здесь',
|
'clickHere' => 'нажмите здесь',
|
||||||
|
|
||||||
'sensitive' => 'Чувствительный',
|
'sensitive' => 'Вызывающий',
|
||||||
'sensitiveContent' => 'Чувствительный контент',
|
'sensitiveContent' => 'Вызывающее содержимое',
|
||||||
'sensitiveContentWarning' => 'Этот пост может содержать чувствительный контент',
|
'sensitiveContentWarning' => 'Эта запись может содержать вызывающее содержимое',
|
||||||
],
|
],
|
||||||
|
|
||||||
'site' => [
|
'site' => [
|
||||||
|
@ -98,9 +98,9 @@ return [
|
||||||
'applicationRejected' => 'было отклонено. Вы можете повторно подать заявку на регистрацию в течение 6 месяцев.',
|
'applicationRejected' => 'было отклонено. Вы можете повторно подать заявку на регистрацию в течение 6 месяцев.',
|
||||||
|
|
||||||
'dm' => 'сообщение',
|
'dm' => 'сообщение',
|
||||||
'groupPost' => 'пост в группе',
|
'groupPost' => 'запись в группе',
|
||||||
'modlog' => 'журнал модерации',
|
'modlog' => 'журнал модерации',
|
||||||
'post' => 'пост',
|
'post' => 'запись',
|
||||||
'story' => 'история',
|
'story' => 'история',
|
||||||
'noneFound' => 'Уведомления не найдены',
|
'noneFound' => 'Уведомления не найдены',
|
||||||
],
|
],
|
||||||
|
@ -108,12 +108,12 @@ return [
|
||||||
'post' => [
|
'post' => [
|
||||||
'shareToFollowers' => 'Поделиться с подписчиками',
|
'shareToFollowers' => 'Поделиться с подписчиками',
|
||||||
'shareToOther' => 'Поделиться с другими',
|
'shareToOther' => 'Поделиться с другими',
|
||||||
'noLikes' => 'Пока никому не понравилось',
|
'noLikes' => 'Пока нет лайков',
|
||||||
'uploading' => 'Загружается',
|
'uploading' => 'Загружается',
|
||||||
],
|
],
|
||||||
|
|
||||||
'profile' => [
|
'profile' => [
|
||||||
'posts' => 'Посты',
|
'posts' => 'Записи',
|
||||||
'followers' => 'Подписчики',
|
'followers' => 'Подписчики',
|
||||||
'following' => 'Подписки',
|
'following' => 'Подписки',
|
||||||
'admin' => 'Администратор',
|
'admin' => 'Администратор',
|
||||||
|
@ -129,7 +129,7 @@ return [
|
||||||
],
|
],
|
||||||
|
|
||||||
'menu' => [
|
'menu' => [
|
||||||
'viewPost' => 'Показать пост',
|
'viewPost' => 'Показать запись',
|
||||||
'viewProfile' => 'Посмотреть профиль',
|
'viewProfile' => 'Посмотреть профиль',
|
||||||
'moderationTools' => 'Инструменты модерации',
|
'moderationTools' => 'Инструменты модерации',
|
||||||
'report' => 'Пожаловаться',
|
'report' => 'Пожаловаться',
|
||||||
|
@ -146,23 +146,23 @@ return [
|
||||||
'spam' => 'Спам',
|
'spam' => 'Спам',
|
||||||
'sensitive' => 'Деликатный контент',
|
'sensitive' => 'Деликатный контент',
|
||||||
'abusive' => 'Жестокое обращение или причинение вреда',
|
'abusive' => 'Жестокое обращение или причинение вреда',
|
||||||
'underageAccount' => 'Несовершеннолетний аккаунт',
|
'underageAccount' => 'Профиль несовершеннолетнего',
|
||||||
'copyrightInfringement' => 'Нарушение авторских прав',
|
'copyrightInfringement' => 'Нарушение авторских прав',
|
||||||
'impersonation' => 'Представление себя за другого человека',
|
'impersonation' => 'Представление себя за другого человека',
|
||||||
'scamOrFraud' => 'Обман или мошенничество',
|
'scamOrFraud' => 'Обман или мошенничество',
|
||||||
'confirmReport' => 'Подтвердить жалобу',
|
'confirmReport' => 'Подтвердить жалобу',
|
||||||
'confirmReportText' => 'Вы действительно хотите пожаловаться на этот пост?',
|
'confirmReportText' => 'Вы действительно хотите пожаловаться на эту запись?',
|
||||||
'reportSent' => 'Жалоба отправлена!',
|
'reportSent' => 'Жалоба отправлена!',
|
||||||
'reportSentText' => 'Мы успешно получили Вашу жалобу.',
|
'reportSentText' => 'Мы успешно получили Вашу жалобу.',
|
||||||
'reportSentError' => 'При отправке жалобы на этот пост произошла ошибка.',
|
'reportSentError' => 'При отправке жалобы на эту запись произошла ошибка.',
|
||||||
|
|
||||||
'modAddCWConfirm' => 'Вы действительно хотите добавить предупреждение о контенте на этот пост?',
|
'modAddCWConfirm' => 'Вы действительно хотите добавить предупреждение о содержимом на этой записи?',
|
||||||
'modCWSuccess' => 'Предупреждение о контенте успешно добавлено',
|
'modCWSuccess' => 'Предупреждение о контенте успешно добавлено',
|
||||||
'modRemoveCWConfirm' => 'Вы действительно хотите удалить предупреждение о контенте с этого поста?',
|
'modRemoveCWConfirm' => 'Вы действительно хотите удалить предупреждение о содержимом с этой записи?',
|
||||||
'modRemoveCWSuccess' => 'Предупреждение о контенте успешно удалено',
|
'modRemoveCWSuccess' => 'Предупреждение о контенте успешно удалено',
|
||||||
'modUnlistConfirm' => 'Вы действительно хотите скрыть этот пост из лент?',
|
'modUnlistConfirm' => 'Вы действительно хотите скрыть эту запись со всех лент?',
|
||||||
'modUnlistSuccess' => 'Пост удален',
|
'modUnlistSuccess' => 'Запись скрыта',
|
||||||
'modMarkAsSpammerConfirm' => 'Вы уверены, что хотите отметить этого пользователя спамом? Все существующие и будущие сообщения будут исключены из списка в сроки, и будет применяться предупреждение о содержании.',
|
'modMarkAsSpammerConfirm' => 'Вы уверены, что хотите отметить этого пользователя как спамера? Все существующие и будущие сообщения будут скрыты в лентах и будет применяться предупреждение о содержании.',
|
||||||
'modMarkAsSpammerSuccess' => 'Аккаунт успешно помечен как спаммер',
|
'modMarkAsSpammerSuccess' => 'Аккаунт успешно помечен как спаммер',
|
||||||
|
|
||||||
'toFollowers' => 'подписчикам',
|
'toFollowers' => 'подписчикам',
|
||||||
|
@ -186,7 +186,7 @@ return [
|
||||||
|
|
||||||
'onboarding' => [
|
'onboarding' => [
|
||||||
'welcome' => 'Добро пожаловать',
|
'welcome' => 'Добро пожаловать',
|
||||||
'thisIsYourHomeFeed' => 'Это ваша домашняя лента, где хронологически собраны посты с аккаунтов, на которые вы подписаны.',
|
'thisIsYourHomeFeed' => 'Это ваша домашняя лента, где хронологически собраны записи от профилей на которые вы подписаны.',
|
||||||
'letUsHelpYouFind' => 'Давайте мы поможем вам найти интересных людей, на которых можно подписаться',
|
'letUsHelpYouFind' => 'Давайте мы поможем вам найти интересных людей, на которых можно подписаться',
|
||||||
'refreshFeed' => 'Обновить мою ленту',
|
'refreshFeed' => 'Обновить мою ленту',
|
||||||
],
|
],
|
||||||
|
@ -202,7 +202,7 @@ return [
|
||||||
'reported' => 'Жалоба отправлена',
|
'reported' => 'Жалоба отправлена',
|
||||||
'sendingReport' => 'Отправка жалобы',
|
'sendingReport' => 'Отправка жалобы',
|
||||||
'thanksMsg' => 'Спасибо за обращение! Такие, как вы, помогают сделать сообщество безопаснее!',
|
'thanksMsg' => 'Спасибо за обращение! Такие, как вы, помогают сделать сообщество безопаснее!',
|
||||||
'contactAdminMsg' => 'Хотите ли вы связаться с администратором по поводу этой публикации или жалобы',
|
'contactAdminMsg' => 'Хотите ли вы связаться с администратором по поводу этой публикации или пожаловаться',
|
||||||
],
|
],
|
||||||
|
|
||||||
];
|
];
|
||||||
|
|
|
@ -1,19 +1,50 @@
|
||||||
@extends('admin.partial.template-full')
|
@extends('admin.partial.template-full')
|
||||||
|
|
||||||
@section('section')
|
@section('section')
|
||||||
<div class="title mb-4">
|
|
||||||
<h3 class="font-weight-bold">Diagnostics</h3>
|
|
||||||
</div>
|
</div>
|
||||||
|
<div class="header bg-primary pb-3 mt-n4">
|
||||||
|
<div class="container-fluid">
|
||||||
|
<div class="header-body">
|
||||||
|
<div class="row align-items-center py-4">
|
||||||
|
<div class="col-12 col-lg-4">
|
||||||
|
<p class="display-1 text-white d-inline-block mb-0">Diagnostics</p>
|
||||||
|
</div>
|
||||||
|
<div class="col-12 col-lg-8 d-flex flex-column flex-md-row pt-3 pt-md-0" style="gap: 10px;">
|
||||||
|
<div class="flex-grow-1">
|
||||||
|
<a
|
||||||
|
class="btn btn-outline-white btn-lg btn-block px-3 mb-0 copy-information"
|
||||||
|
href="#">
|
||||||
|
<i class="far fa-clipboard mr-1"></i>
|
||||||
|
Copy Diagnostics
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<div class="flex-grow-1">
|
||||||
|
<a
|
||||||
|
class="btn btn-outline-white btn-lg btn-block px-3 mb-0 copy-information"
|
||||||
|
href="#">
|
||||||
|
<i class="far fa-chart-network mr-1"></i>
|
||||||
|
Federation Test
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<div class="flex-grow-1">
|
||||||
|
|
||||||
|
<a
|
||||||
|
class="btn btn-outline-white btn-lg btn-block px-3 mb-0 copy-information"
|
||||||
|
href="#">
|
||||||
|
<i class="far fa-mobile mr-1"></i>
|
||||||
|
Mobile App Test
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="container-fluid mt-5">
|
||||||
|
<div class="row justify-content-center">
|
||||||
|
<div class="col-12">
|
||||||
<div class="pb-3 border-bottom">
|
<div class="pb-3 border-bottom">
|
||||||
<p class="font-weight-bold text-muted">
|
|
||||||
Information
|
|
||||||
<span class="small text-primary ml-3 copy-information cursor-pointer text-uppercase font-weight-bold">Copy</span>
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<div class="information">
|
<div class="information">
|
||||||
|
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<p class="font-weight-bold text-muted">
|
<p class="font-weight-bold text-muted">
|
||||||
Troubleshooting
|
Troubleshooting
|
||||||
|
@ -195,7 +226,8 @@
|
||||||
<p class="font-weight-bold text-muted">
|
<p class="font-weight-bold text-muted">
|
||||||
Pixelfed Variables (No Secrets)
|
Pixelfed Variables (No Secrets)
|
||||||
</p>
|
</p>
|
||||||
<table style="width:100%" class="table">
|
<div class="table-responsive">
|
||||||
|
<table class="table">
|
||||||
<thead class="bg-light">
|
<thead class="bg-light">
|
||||||
<tr>
|
<tr>
|
||||||
<th width="5%" scope="col" class="border-0 text-dark">CONFIG</th>
|
<th width="5%" scope="col" class="border-0 text-dark">CONFIG</th>
|
||||||
|
@ -623,17 +655,17 @@
|
||||||
<tr>
|
<tr>
|
||||||
<td><span class="badge badge-primary">MAIL</span></td>
|
<td><span class="badge badge-primary">MAIL</span></td>
|
||||||
<td><strong>MAIL_DRIVER</strong></td>
|
<td><strong>MAIL_DRIVER</strong></td>
|
||||||
<td><span>"{{config_cache('mail.driver')}}"</span></td>
|
<td><span>"{{config_cache('mail.default')}}"</span></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><span class="badge badge-primary">MAIL</span></td>
|
<td><span class="badge badge-primary">MAIL</span></td>
|
||||||
<td><strong>MAIL_HOST</strong></td>
|
<td><strong>MAIL_HOST</strong></td>
|
||||||
<td><span>"{{config_cache('mail.host')}}"</span></td>
|
<td><span>"{{config_cache('mail.mailers.smtp.host')}}"</span></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><span class="badge badge-primary">MAIL</span></td>
|
<td><span class="badge badge-primary">MAIL</span></td>
|
||||||
<td><strong>MAIL_PORT</strong></td>
|
<td><strong>MAIL_PORT</strong></td>
|
||||||
<td><span>"{{config_cache('mail.port')}}"</span></td>
|
<td><span>"{{config_cache('mail.mailers.smtp.port')}}"</span></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><span class="badge badge-primary">MAIL</span></td>
|
<td><span class="badge badge-primary">MAIL</span></td>
|
||||||
|
@ -648,7 +680,7 @@
|
||||||
<tr>
|
<tr>
|
||||||
<td><span class="badge badge-primary">MAIL</span></td>
|
<td><span class="badge badge-primary">MAIL</span></td>
|
||||||
<td><strong>MAIL_ENCRYPTION</strong></td>
|
<td><strong>MAIL_ENCRYPTION</strong></td>
|
||||||
<td><span>"{{config_cache('mail.encryption')}}"</span></td>
|
<td><span>"{{config_cache('mail.mailers.smtp.encryption')}}"</span></td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
|
@ -865,7 +897,7 @@
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
</ul>
|
</ul>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="pb-3 border-bottom">
|
<div class="pb-3 border-bottom">
|
||||||
<div class="form-group mb-0">
|
<div class="form-group mb-0">
|
||||||
|
@ -883,6 +915,9 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
@endsection
|
@endsection
|
||||||
|
|
||||||
@push('scripts')
|
@push('scripts')
|
||||||
|
|
|
@ -48,12 +48,15 @@ if($displayName && $captionPreview) {
|
||||||
|
|
||||||
@push('meta')@if($mediaCount && $s['pf_type'] === "photo" || $s['pf_type'] === "photo:album")
|
@push('meta')@if($mediaCount && $s['pf_type'] === "photo" || $s['pf_type'] === "photo:album")
|
||||||
<meta property="og:image" content="{{$s['media_attachments'][0]['url']}}">
|
<meta property="og:image" content="{{$s['media_attachments'][0]['url']}}">
|
||||||
|
<meta name="twitter:card" content="summary_large_image">
|
||||||
@elseif($mediaCount && $s['pf_type'] === "video" || $s['pf_type'] === "video:album")<meta property="og:video" content="{{$s['media_attachments'][0]['url']}}">
|
@elseif($mediaCount && $s['pf_type'] === "video" || $s['pf_type'] === "video:album")<meta property="og:video" content="{{$s['media_attachments'][0]['url']}}">
|
||||||
|
<meta name="twitter:card" content="summary">
|
||||||
|
@else
|
||||||
|
<meta name="twitter:card" content="summary">
|
||||||
@endif<meta property="og:description" content="{{ $ogDescription }}">
|
@endif<meta property="og:description" content="{{ $ogDescription }}">
|
||||||
<meta property="og:published_time" content="{{$s['created_at']}}">
|
<meta property="og:published_time" content="{{$s['created_at']}}">
|
||||||
<meta property="profile:username" content="{{ $wf }}">
|
<meta property="profile:username" content="{{ $wf }}">
|
||||||
<link href='{{$s['url']}}' rel='alternate' type='application/activity+json'>
|
<link href='{{$s['url']}}' rel='alternate' type='application/activity+json'>
|
||||||
<meta name="twitter:card" content="summary">
|
|
||||||
<meta name="description" content="{{ $ogDescription }}">
|
<meta name="description" content="{{ $ogDescription }}">
|
||||||
@endpush
|
@endpush
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue