forked from AkkomaGang/akkoma-fe
Compare commits
2 commits
stable-202
...
stable
Author | SHA1 | Date | |
---|---|---|---|
|
8ab3d34614 | ||
|
4f4aa6f75e |
86 changed files with 2541 additions and 564 deletions
|
@ -1,3 +1,4 @@
|
||||||
|
platform: linux/amd64
|
||||||
pipeline:
|
pipeline:
|
||||||
lint:
|
lint:
|
||||||
when:
|
when:
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
# Hynetsoc-FE
|
# Akkoma-FE
|
||||||
|
|
||||||
![English OK](https://img.shields.io/badge/English-OK-blueviolet) ![日本語OK](https://img.shields.io/badge/%E6%97%A5%E6%9C%AC%E8%AA%9E-OK-blueviolet)
|
![English OK](https://img.shields.io/badge/English-OK-blueviolet) ![日本語OK](https://img.shields.io/badge/%E6%97%A5%E6%9C%AC%E8%AA%9E-OK-blueviolet)
|
||||||
|
|
||||||
|
@ -24,7 +24,7 @@ To use Akkoma-FE in Akkoma, use the [frontend](https://docs.akkoma.dev/stable/ad
|
||||||
|
|
||||||
``` bash
|
``` bash
|
||||||
# install dependencies
|
# install dependencies
|
||||||
npm install -g yarn
|
corepack enable
|
||||||
yarn
|
yarn
|
||||||
|
|
||||||
# serve with hot reload at localhost:8080
|
# serve with hot reload at localhost:8080
|
||||||
|
@ -39,7 +39,7 @@ npm run unit
|
||||||
|
|
||||||
# For Contributors:
|
# For Contributors:
|
||||||
|
|
||||||
You can create file `/config/local.json` (see [example](https://git.pleroma.social/pleroma/pleroma-fe/blob/develop/config/local.example.json)) to enable some convenience dev options:
|
You can create file `/config/local.json` (see [example](https://akkoma.dev/AkkomaGang/akkoma-fe/src/branch/develop/config/local.example.json)) to enable some convenience dev options:
|
||||||
|
|
||||||
* `target`: makes local dev server redirect to some existing instance's BE instead of local BE, useful for testing things in near-production environment and searching for real-life use-cases.
|
* `target`: makes local dev server redirect to some existing instance's BE instead of local BE, useful for testing things in near-production environment and searching for real-life use-cases.
|
||||||
* `staticConfigPreference`: makes FE's `/static/config.json` take preference of BE-served `/api/statusnet/config.json`. Only works in dev mode.
|
* `staticConfigPreference`: makes FE's `/static/config.json` take preference of BE-served `/api/statusnet/config.json`. Only works in dev mode.
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{
|
{
|
||||||
"target": "https://pleroma.soykaf.com/",
|
"target": "https://otp.akkoma.dev/",
|
||||||
"staticConfigPreference": false
|
"staticConfigPreference": false
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,15 +1,15 @@
|
||||||
# Pleroma-FE configuration and customization for instance administrators
|
# Akkoma-FE configuration and customization for instance administrators
|
||||||
|
|
||||||
* *For user configuration, see [Pleroma-FE user guide](../user_guide)*
|
* *For user configuration, see [Akkoma-FE user guide](../user_guide)*
|
||||||
* *For local development server configuration, see [Hacking, tweaking, contributing](HACKING.md)*
|
* *For local development server configuration, see [Hacking, tweaking, contributing](HACKING.md)*
|
||||||
|
|
||||||
## Where configuration is stored
|
## Where configuration is stored
|
||||||
|
|
||||||
PleromaFE gets its configuration from several sources, in order of preference (the one above overrides ones below it)
|
Akkoma-FE gets its configuration from several sources, in order of preference (the one above overrides ones below it)
|
||||||
|
|
||||||
1. `/api/statusnet/config.json` - this is generated on Backend and contains multiple things including instance name, char limit etc. It also contains FE/Client-specific data, PleromaFE uses `pleromafe` field of it. For more info on changing config on BE, look [here](https://docs.akkoma.dev/stable/configuration/cheatsheet.md#frontend_configurations)
|
1. `/api/statusnet/config.json` - this is generated on Backend and contains multiple things including instance name, char limit etc. It also contains FE/Client-specific data, Akkoma-FE uses `pleromafe` field of it. For more info on changing config on BE, look [here](https://docs.akkoma.dev/stable/configuration/cheatsheet.md#frontend_configurations)
|
||||||
2. `/static/config.json` - this is a static FE-provided file, containing only FE specific configuration. This file is completely optional and could be removed but is useful as a fallback if some configuration JSON property isn't present in BE-provided config. It's also a reference point to check what default configuration are and what JSON properties even exist. In local dev mode it could be used to override BE configuration, more about that in HACKING.md. File is located [here](https://akkoma.dev/AkkomaGang/pleroma-fe/src/branch/develop/static/config.json).
|
2. `/static/config.json` - this is a static FE-provided file, containing only FE specific configuration. This file is completely optional and could be removed but is useful as a fallback if some configuration JSON property isn't present in BE-provided config. It's also a reference point to check what default configuration are and what JSON properties even exist. In local dev mode it could be used to override BE configuration, more about that in HACKING.md. File is located [here](https://akkoma.dev/AkkomaGang/akkoma-fe/src/branch/develop/static/config.json).
|
||||||
3. Built-in defaults. Those are hard-coded defaults that are used when `/static/config.json` is not available and BE-provided configuration JSON is missing some JSON properties. ( [Code](https://akkoma.dev/AkkomaGang/pleroma-fe/src/branch/develop/src/modules/instance.js) )
|
3. Built-in defaults. Those are hard-coded defaults that are used when `/static/config.json` is not available and BE-provided configuration JSON is missing some JSON properties. ( [Code](https://akkoma.dev/AkkomaGang/akkoma-fe/src/branch/develop/src/modules/instance.js) )
|
||||||
|
|
||||||
## Instance-defaults
|
## Instance-defaults
|
||||||
|
|
||||||
|
@ -59,7 +59,7 @@ Instance `logo`, could be any image, including svg. By default it assumes logo u
|
||||||
`logoMargin` allows you to adjust vertical margins between logo boundary and navbar borders. The idea is that to have logo's image without any extra margins and instead adjust them to your need in layout.
|
`logoMargin` allows you to adjust vertical margins between logo boundary and navbar borders. The idea is that to have logo's image without any extra margins and instead adjust them to your need in layout.
|
||||||
|
|
||||||
### `minimalScopesMode`
|
### `minimalScopesMode`
|
||||||
Limit scope selection to *Direct*, *User default* and *Scope of post replying to*. This also makes it impossible to reply to a DM with a non-DM post from PleromaFE.
|
Limit scope selection to *Direct*, *User default* and *Scope of post replying to*. This also makes it impossible to reply to a DM with a non-DM post from Akkoma-FE.
|
||||||
|
|
||||||
### `nsfwCensorImage`
|
### `nsfwCensorImage`
|
||||||
Use custom image for NSFW'd images
|
Use custom image for NSFW'd images
|
||||||
|
@ -77,7 +77,7 @@ Change alignment of sidebar and panels to the right. Defaults to `false`.
|
||||||
Show panel showcasing instance features/settings to logged-out visitors
|
Show panel showcasing instance features/settings to logged-out visitors
|
||||||
|
|
||||||
### `showInstanceSpecificPanel`
|
### `showInstanceSpecificPanel`
|
||||||
This allows you to include arbitrary HTML content in a panel below navigation menu. PleromaFE looks for an html page `instance/panel.html`, by default it's not provided in FE, but BE bundles some [default one](https://git.pleroma.social/pleroma/pleroma/blob/develop/priv/static/instance/panel.html). De-facto instance-defaults, since user can hide instance-specific panel.
|
This allows you to include arbitrary HTML content in a panel below navigation menu. Akkoma-FE looks for an html page `instance/panel.html`, by default it's not provided in FE, but BE bundles some [default one](https://git.pleroma.social/pleroma/pleroma/blob/develop/priv/static/instance/panel.html). De-facto instance-defaults, since user can hide instance-specific panel.
|
||||||
|
|
||||||
### `subjectLineBehavior`
|
### `subjectLineBehavior`
|
||||||
How to handle subject line (CW) when replying to a post.
|
How to handle subject line (CW) when replying to a post.
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
# Hacking, tweaking, contributing
|
# Hacking, tweaking, contributing
|
||||||
|
|
||||||
## What PleromaFE even is, how it works
|
## What Akkoma-FE even is, how it works
|
||||||
|
|
||||||
PleromaFE is an SPA (Single-Page Application) backed by [Vue](https://vuejs.org/) framework. It means that it's just a nearly-empty HTML page with bunch of JavaScript that actually generates and controls DOM (i.e. html elements) in Runtime. Currently, there's no way around it - you have to have Javascript enabled in the browser to make it work, there is a theoretical possibility to generate some HTML server-side but it's not implemented yet.
|
Akkoma-FE is an SPA (Single-Page Application) backed by [Vue](https://vuejs.org/) framework. It means that it's just a nearly-empty HTML page with bunch of JavaScript that actually generates and controls DOM (i.e. html elements) in Runtime. Currently, there's no way around it - you have to have Javascript enabled in the browser to make it work, there is a theoretical possibility to generate some HTML server-side but it's not implemented yet.
|
||||||
|
|
||||||
You can serve static html page and everything from any HTTP(S) server but currently it will try to access /api/ path at same domain it's running on, meaning that as of right now you cannot put it on one domain and access the other without proxying requests.
|
You can serve static html page and everything from any HTTP(S) server but currently it will try to access /api/ path at same domain it's running on, meaning that as of right now you cannot put it on one domain and access the other without proxying requests.
|
||||||
|
|
||||||
|
@ -67,19 +67,19 @@ server {
|
||||||
|
|
||||||
### API, Data, Operations
|
### API, Data, Operations
|
||||||
|
|
||||||
In 99% cases PleromaFE uses [MastoAPI](https://docs.joinmastodon.org/api/) with [Pleroma Extensions](https://docs.akkoma.dev/stable/differences_in_mastoapi_responses.md) to fetch the data. The rest is either QvitterAPI leftovers or pleroma-exclusive APIs. QvitterAPI doesn't exactly have documentation and uses different JSON structure and sometimes different parameters and workflows, [this](https://twitter-api.readthedocs.io/en/latest/index.html) could be a good reference though. Some pleroma-exclusive API may still be using QvitterAPI JSON structure.
|
In 99% cases Akkoma-FE uses [MastoAPI](https://docs.joinmastodon.org/api/) with [Pleroma Extensions](https://docs.akkoma.dev/stable/differences_in_mastoapi_responses.md) to fetch the data. The rest is either QvitterAPI leftovers or pleroma-exclusive APIs. QvitterAPI doesn't exactly have documentation and uses different JSON structure and sometimes different parameters and workflows, [this](https://twitter-api.readthedocs.io/en/latest/index.html) could be a good reference though. Some pleroma-exclusive API may still be using QvitterAPI JSON structure.
|
||||||
|
|
||||||
PleromaFE supports both formats by transforming them into internal format which is basically QvitterAPI one with some additions and renaming. All data is passed trough [Entity Normalizer](https://git.pleroma.social/pleroma/pleroma-fe/-/blob/develop/src/services/entity_normalizer/entity_normalizer.service.js) which can serve as a reference of API and what's actually used, it's also a host for all the hacks and data transformation.
|
Akkoma-FE supports both formats by transforming them into internal format which is basically QvitterAPI one with some additions and renaming. All data is passed trough [Entity Normalizer](https://akkoma.dev/AkkomaGang/akkoma-fe/src/branch/develop/src/services/entity_normalizer/entity_normalizer.service.js) which can serve as a reference of API and what's actually used, it's also a host for all the hacks and data transformation.
|
||||||
|
|
||||||
For most part, PleromaFE tries to store all the info it can get in global vuex store - every user and post are passed trough updating mechanism where data is either added or merged with existing data, reactively updating the information throughout UI, so if in newest request user's post counter increased, it will be instantly updated in open user profile cards. This is also used to find users, posts and sometimes to build timelines and/or request parameters.
|
For most part, Akkoma-FE tries to store all the info it can get in global vuex store - every user and post are passed trough updating mechanism where data is either added or merged with existing data, reactively updating the information throughout UI, so if in newest request user's post counter increased, it will be instantly updated in open user profile cards. This is also used to find users, posts and sometimes to build timelines and/or request parameters.
|
||||||
|
|
||||||
PleromaFE also tries to persist this store, however only stable data is stored, such as user authentication and preferences, user highlights. Persistence is performed by saving and loading chunk of vuex store in browser's LocalStorage/IndexedDB.
|
Akkoma-FE also tries to persist this store, however only stable data is stored, such as user authentication and preferences, user highlights. Persistence is performed by saving and loading chunk of vuex store in browser's LocalStorage/IndexedDB.
|
||||||
|
|
||||||
TODO: Refactor API code and document it here
|
TODO: Refactor API code and document it here
|
||||||
|
|
||||||
### Themes
|
### Themes
|
||||||
|
|
||||||
PleromaFE uses custom theme "framework" which is pretty much just a style tag rendered by vue which only contains CSS3 variables. Every color used in UI should be derived from theme. Theme is stored in a JSON object containing color, opacity, shadow and font information, with most of it being optional.
|
Akkoma-FE uses custom theme "framework" which is pretty much just a style tag rendered by vue which only contains CSS3 variables. Every color used in UI should be derived from theme. Theme is stored in a JSON object containing color, opacity, shadow and font information, with most of it being optional.
|
||||||
|
|
||||||
The most basic theme can consist of 4 to 8 "basic colors", which is also what previous version of themes allowed, with all other colors being derived from those basic colors, i.e. "light background" will be "background" color lightened/darkened, "panel header" will be same as "foreground". The idea is that you can specify just basic color palette and everything else will be generated automatically, but if you really need to tweak some specific color - you can.
|
The most basic theme can consist of 4 to 8 "basic colors", which is also what previous version of themes allowed, with all other colors being derived from those basic colors, i.e. "light background" will be "background" color lightened/darkened, "panel header" will be same as "foreground". The idea is that you can specify just basic color palette and everything else will be generated automatically, but if you really need to tweak some specific color - you can.
|
||||||
|
|
||||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 491 B After Width: | Height: | Size: 1.4 KiB |
BIN
docs/docs/images/akkoma_logo_vector_bg_32.png
Normal file
BIN
docs/docs/images/akkoma_logo_vector_bg_32.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.4 KiB |
24
docs/docs/images/akkoma_logo_vector_nobg.svg
Normal file
24
docs/docs/images/akkoma_logo_vector_nobg.svg
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 362.83 362.83">
|
||||||
|
<defs>
|
||||||
|
<style>
|
||||||
|
.cls-1, .cls-2 {
|
||||||
|
fill: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cls-2 {
|
||||||
|
stroke: #fff;
|
||||||
|
stroke-miterlimit: 10;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</defs>
|
||||||
|
<g id="Layer_6" data-name="Layer 6">
|
||||||
|
<path class="cls-1" d="M115.2,131.89c6.26-6.54,20.19-20.63,42.39-26.14,15.79-3.92,28.51-1.28,33.51,0,83.72,21.41,116.03,201.78,77.79,226.32-10.28,6.6-26.86,2.7-36.77-3.3-32.63-19.78-29.3-72.87-44.44-73.73-5.11-.29-7.15,5.8-20.91,24.94-19.63,27.3-31.49,43.44-49.21,50.87-2.53,1.06-26.91,12.07-41.84,1.23-38.55-28-2.96-155.84,39.49-200.18Zm56.31,10.45c-27.39-.52-46.38,38.21-37.98,54.55,10.09,19.62,65.5,18.26,74.77-3.3,7.21-16.78-11.38-50.77-36.79-51.24Z"/>
|
||||||
|
</g>
|
||||||
|
<g id="Layer_4" data-name="Layer 4">
|
||||||
|
<path class="cls-1" d="M68.93,86.51c-6.55,27.74,252.45,113.97,267.56,89.66,9.24-14.87-64.9-83.62-163.53-97.57-39.06-5.52-100.95-5.14-104.03,7.91Z"/>
|
||||||
|
</g>
|
||||||
|
<g id="Layer_5" data-name="Layer 5">
|
||||||
|
<path class="cls-2" d="M138.96,93.76c.41-5.25,6.51-5.74,28.85-19.42,26.97-16.51,28.85-22.38,56.86-40.83,30.07-19.81,48.46-31.94,54.82-26.61,9.72,8.15-25.18,43.33-21.31,99.35,.87,12.61,3.12,17.79-.86,23.01-18.25,23.95-120.07-13.68-118.35-35.5Z"/>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 1.3 KiB |
Binary file not shown.
Before Width: | Height: | Size: 530 B |
|
@ -1,92 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
||||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
|
||||||
|
|
||||||
<svg
|
|
||||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
|
||||||
xmlns:cc="http://creativecommons.org/ns#"
|
|
||||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
|
||||||
xmlns:svg="http://www.w3.org/2000/svg"
|
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
|
||||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
|
||||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
|
||||||
version="1.1"
|
|
||||||
id="svg4485"
|
|
||||||
width="512"
|
|
||||||
height="512"
|
|
||||||
viewBox="0 0 512 512"
|
|
||||||
sodipodi:docname="pleroma_logo_vector_nobg.svg"
|
|
||||||
inkscape:version="0.92.1 r15371">
|
|
||||||
<metadata
|
|
||||||
id="metadata4491">
|
|
||||||
<rdf:RDF>
|
|
||||||
<cc:Work
|
|
||||||
rdf:about="">
|
|
||||||
<dc:format>image/svg+xml</dc:format>
|
|
||||||
<dc:type
|
|
||||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
|
||||||
<dc:title></dc:title>
|
|
||||||
</cc:Work>
|
|
||||||
</rdf:RDF>
|
|
||||||
</metadata>
|
|
||||||
<defs
|
|
||||||
id="defs4489" />
|
|
||||||
<sodipodi:namedview
|
|
||||||
pagecolor="#ffffff"
|
|
||||||
bordercolor="#666666"
|
|
||||||
borderopacity="1"
|
|
||||||
objecttolerance="10"
|
|
||||||
gridtolerance="10"
|
|
||||||
guidetolerance="10"
|
|
||||||
inkscape:pageopacity="0"
|
|
||||||
inkscape:pageshadow="2"
|
|
||||||
inkscape:window-width="1680"
|
|
||||||
inkscape:window-height="997"
|
|
||||||
id="namedview4487"
|
|
||||||
showgrid="false"
|
|
||||||
inkscape:zoom="0.70710678"
|
|
||||||
inkscape:cx="26.131594"
|
|
||||||
inkscape:cy="235.37499"
|
|
||||||
inkscape:window-x="1912"
|
|
||||||
inkscape:window-y="22"
|
|
||||||
inkscape:window-maximized="1"
|
|
||||||
inkscape:current-layer="svg4485" />
|
|
||||||
<g
|
|
||||||
id="g4612">
|
|
||||||
<path
|
|
||||||
sodipodi:nodetypes="cccccc"
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
id="path4495"
|
|
||||||
d="M 235,89 V 423 H 152 V 115 l 26,-26 z"
|
|
||||||
style="opacity:1;fill:#fba457;fill-opacity:1;stroke:#009bff;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.17587938" />
|
|
||||||
<circle
|
|
||||||
r="26"
|
|
||||||
cx="178"
|
|
||||||
cy="115"
|
|
||||||
id="path4497"
|
|
||||||
style="opacity:1;fill:#fba457;fill-opacity:1;stroke:#009bff;stroke-width:0;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.17587938" />
|
|
||||||
<circle
|
|
||||||
r="26"
|
|
||||||
cx="335"
|
|
||||||
cy="230"
|
|
||||||
id="path4497-0"
|
|
||||||
style="opacity:1;fill:#fba457;fill-opacity:1;stroke:#009bff;stroke-width:0;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.17587938" />
|
|
||||||
<path
|
|
||||||
sodipodi:nodetypes="cccccc"
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
id="path4516"
|
|
||||||
d="M 277,256 V 89 l 84,3e-6 L 361.00002,230 335,256 Z"
|
|
||||||
style="fill:#fba457;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
|
||||||
<circle
|
|
||||||
r="26"
|
|
||||||
cx="335"
|
|
||||||
cy="397"
|
|
||||||
id="path4497-0-6"
|
|
||||||
style="opacity:1;fill:#fba457;fill-opacity:1;stroke:#009bff;stroke-width:0;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.17587938" />
|
|
||||||
<path
|
|
||||||
sodipodi:nodetypes="cccccc"
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
id="path4516-5"
|
|
||||||
d="m 277,423 v -83 h 84 l 2e-5,57 L 335,423 Z"
|
|
||||||
style="opacity:1;fill:#fba457;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 3.3 KiB |
|
@ -1,8 +1,8 @@
|
||||||
# Introduction to Pleroma-FE
|
# Introduction to Akkoma-FE
|
||||||
## What is Pleroma-FE?
|
## What is Akkoma-FE?
|
||||||
|
|
||||||
Pleroma-FE is the default user-facing frontend for Pleroma. It's user interface is modeled after Qvitter which is modeled after an older Twitter design. It provides a simple 2-column interface for microblogging. While being simple by default it also provides many powerful customization options.
|
Akkoma-FE is the default user-facing frontend for Pleroma. It's user interface is modeled after Qvitter which is modeled after an older Twitter design. It provides a simple 2-column interface for microblogging. While being simple by default it also provides many powerful customization options.
|
||||||
|
|
||||||
## How can I use it?
|
## How can I use it?
|
||||||
|
|
||||||
If your instance uses Pleroma-FE, you can acces it by going to your instance (e.g. <https://pleroma.soykaf.com>). You can read more about it's basic functionality in the [Pleroma-FE User Guide](./user_guide/). We also have [a guide for administrators](./CONFIGURATION.md) and for [hackers/contributors](./HACKING.md).
|
If your instance uses Akkoma-FE, you can acces it by going to your instance (e.g. <https://pleroma.soykaf.com>). You can read more about it's basic functionality in the [Akkoma-FE User Guide](./user_guide/). We also have [a guide for administrators](./CONFIGURATION.md) and for [hackers/contributors](./HACKING.md).
|
||||||
|
|
|
@ -1,13 +1,13 @@
|
||||||
# Adding stickers
|
# Adding stickers
|
||||||
|
|
||||||
Pleroma-fe supports stickers, which are essentially little images stored server-side
|
Akkoma-FE supports stickers, which are essentially little images stored server-side
|
||||||
which can be selected by a user to automatically attach them to a post.
|
which can be selected by a user to automatically attach them to a post.
|
||||||
|
|
||||||
There's no explicit setting for these, they just rely on the existence of certain files.
|
There's no explicit setting for these, they just rely on the existence of certain files.
|
||||||
|
|
||||||
## Initialising the sticker config file
|
## Initialising the sticker config file
|
||||||
|
|
||||||
You're probably serving pleroma-fe from your instance's `instance/static/` directory -
|
You're probably serving Akkoma-FE from your instance's `instance/static/` directory -
|
||||||
this directy can also override files served at a given path.
|
this directy can also override files served at a given path.
|
||||||
|
|
||||||
The first thing we need to do is set up our `stickers.json` file. At `instance/static/static/stickers.json`,
|
The first thing we need to do is set up our `stickers.json` file. At `instance/static/static/stickers.json`,
|
||||||
|
@ -50,4 +50,4 @@ The `tabIcon` will appear on the sticker picker itself as a representative of th
|
||||||
|
|
||||||
You can add as many stickers as you like. They should all be in the same directory as your `pack.json`.
|
You can add as many stickers as you like. They should all be in the same directory as your `pack.json`.
|
||||||
|
|
||||||
Now you should find that there's a sticky note icon on the emoji picker on pleroma-fe that allows you to attach stickers.
|
Now you should find that there's a sticky note icon on the emoji picker on Akkoma-FE that allows you to attach stickers.
|
||||||
|
|
|
@ -8,13 +8,13 @@
|
||||||
>
|
>
|
||||||
> --Catbag
|
> --Catbag
|
||||||
|
|
||||||
Pleroma-FE is the default user-facing frontend for Pleroma. If your instance uses Pleroma-FE, you can access it by going to your instance (e.g. <https://pleroma.soykaf.com>). After logging in you will have two columns in front of you. Here we're going to keep it to the default behaviour, but some instances swap the left and right columns. If you're on such an instance what we refer to as the left column will be on your right and vice versa.
|
Akkoma-FE is the default user-facing frontend for Pleroma. If your instance uses Akkoma-FE, you can access it by going to your instance (e.g. <https://pleroma.soykaf.com>). After logging in you will have two columns in front of you. Here we're going to keep it to the default behaviour, but some instances swap the left and right columns. If you're on such an instance what we refer to as the left column will be on your right and vice versa.
|
||||||
|
|
||||||
### Left column
|
### Left column
|
||||||
|
|
||||||
- first block: This section is dedicated to [posting](posting_reading_basic_functions.md)
|
- first block: This section is dedicated to [posting](posting_reading_basic_functions.md)
|
||||||
- second block: Here you can switch between the different views for the right column.
|
- second block: Here you can switch between the different views for the right column.
|
||||||
- Optional third block: This is the Instance panel that can be activated, but is deactivated by default. It's fully customisable by instance admins and by default has links to the Pleroma-FE and Mastodon-FE.
|
- Optional third block: This is the Instance panel that can be activated, but is deactivated by default. It's fully customisable by instance admins and by default has links to the Akkoma-FE and Mastodon-FE.
|
||||||
- fourth block: This is the Notifications block, here you will get notified whenever somebody mentions you, follows you, repeats or favorites one of your statuses
|
- fourth block: This is the Notifications block, here you will get notified whenever somebody mentions you, follows you, repeats or favorites one of your statuses
|
||||||
|
|
||||||
### Right column
|
### Right column
|
||||||
|
|
|
@ -15,11 +15,11 @@ Posts will contain the text you are posting, but some content will be modified:
|
||||||
Let's clear up some basic stuff. When you post something it's called a **post** or it could be called a **status** or even a **toot** or a **prööt** depending on whom you ask. Post has body/content but it also has some other stuff in it - from attachments, visibility scope, subject line...
|
Let's clear up some basic stuff. When you post something it's called a **post** or it could be called a **status** or even a **toot** or a **prööt** depending on whom you ask. Post has body/content but it also has some other stuff in it - from attachments, visibility scope, subject line...
|
||||||
|
|
||||||
**Emoji** are small images embedded in text, there are two major types of emoji: [unicode emoji](https://en.wikipedia.org/wiki/Emoji) and custom emoji. While unicode emoji are universal and standardized, they can appear differently depending on where you are using them or may not appear at all on older systems. Custom emoji are a more *fun* kind - instance administrator can define many images as *custom emoji* for their users. This works very simple - custom emoji is defined by its *shortcode* and an image, so that any shortcode enclosed in colons get replaced with image if such shortcode exist.
|
**Emoji** are small images embedded in text, there are two major types of emoji: [unicode emoji](https://en.wikipedia.org/wiki/Emoji) and custom emoji. While unicode emoji are universal and standardized, they can appear differently depending on where you are using them or may not appear at all on older systems. Custom emoji are a more *fun* kind - instance administrator can define many images as *custom emoji* for their users. This works very simple - custom emoji is defined by its *shortcode* and an image, so that any shortcode enclosed in colons get replaced with image if such shortcode exist.
|
||||||
Let's say there's a `:pleroma:` emoji defined on an instance. That means
|
Let's say there's a `:akkoma:` emoji defined on an instance. That means
|
||||||
> First time using :pleroma: pleroma!
|
> First time using :akkoma: akkoma!
|
||||||
|
|
||||||
will become
|
will become
|
||||||
> First time using ![pleroma](../assets/example_emoji.png) pleroma!
|
> First time using ![akkoma](../assets/example_emoji.png) akkoma!
|
||||||
|
|
||||||
Note that you can only use emoji defined on your instance, you cannot "copy" someone else's emoji, and will have to ask your administrator to copy emoji from other instance to yours.
|
Note that you can only use emoji defined on your instance, you cannot "copy" someone else's emoji, and will have to ask your administrator to copy emoji from other instance to yours.
|
||||||
Lastly, there's two convenience options for emoji: an emoji picker (smiley face to the right of "submit" button) and autocomplete suggestions - when you start typing :shortcode: it will automatically try to suggest you emoji and complete the shortcode for you if you select one. If emoji doesn't show up in suggestions nor in emoji picker it means there's no such emoji on your instance, if shortcode doesn't match any defined emoji it will appear as text.
|
Lastly, there's two convenience options for emoji: an emoji picker (smiley face to the right of "submit" button) and autocomplete suggestions - when you start typing :shortcode: it will automatically try to suggest you emoji and complete the shortcode for you if you select one. If emoji doesn't show up in suggestions nor in emoji picker it means there's no such emoji on your instance, if shortcode doesn't match any defined emoji it will appear as text.
|
||||||
|
@ -42,7 +42,7 @@ A few things to consider about the security and usage of these scopes:
|
||||||
- Changing scopes during a thread or adding people to a direct message will not retroactively make them see the whole conversation. If you add someone to a direct message conversation, they will not see the post that happened before they were mentioned.
|
- Changing scopes during a thread or adding people to a direct message will not retroactively make them see the whole conversation. If you add someone to a direct message conversation, they will not see the post that happened before they were mentioned.
|
||||||
* **Reply-to** if you are replying to someone, your post will also contain a note that your post is referring to the post you're replying to. Person you're replying to will receive a notification *even* if you remove them from mentioned people. You won't receive notifications when replying to your own posts, but it's useful to reply to your own posts to provide people some context if it's a follow-up to a previous post. There's a small "Reply to ..." label under post author's name which you can hover on to see what post it's referring to.
|
* **Reply-to** if you are replying to someone, your post will also contain a note that your post is referring to the post you're replying to. Person you're replying to will receive a notification *even* if you remove them from mentioned people. You won't receive notifications when replying to your own posts, but it's useful to reply to your own posts to provide people some context if it's a follow-up to a previous post. There's a small "Reply to ..." label under post author's name which you can hover on to see what post it's referring to.
|
||||||
|
|
||||||
Sometimes you may encounter posts that seem different than what they are supposed to. For example, you might see a direct message without any mentions in the text. This can happen because internally, the Fediverse has a different addressing mechanism similar to email, with `to` and `cc` fields. While these are not directly accessible in PleromaFE, other software in the Fediverse might generate those posts. Do not worry in these cases, these are normal and not a bug.
|
Sometimes you may encounter posts that seem different than what they are supposed to. For example, you might see a direct message without any mentions in the text. This can happen because internally, the Fediverse has a different addressing mechanism similar to email, with `to` and `cc` fields. While these are not directly accessible in Akkoma-FE, other software in the Fediverse might generate those posts. Do not worry in these cases, these are normal and not a bug.
|
||||||
|
|
||||||
## Rich text
|
## Rich text
|
||||||
|
|
||||||
|
@ -67,7 +67,7 @@ If you set the input-method to Markdown, and post this, it will look something l
|
||||||
|
|
||||||
## Misskey markdown
|
## Misskey markdown
|
||||||
|
|
||||||
The akkoma version of pleroma-fe includes support for writing and rendering
|
Akkoma-FE includes support for writing and rendering
|
||||||
misskey markdown (MFM). To write this you will need to select "MFM" from
|
misskey markdown (MFM). To write this you will need to select "MFM" from
|
||||||
the content type dropdown (if supported), and then you can format text
|
the content type dropdown (if supported), and then you can format text
|
||||||
[in MFM](https://akkoma.dev/sfr/marked-mfm/src/branch/master/docs/syntax.md).
|
[in MFM](https://akkoma.dev/sfr/marked-mfm/src/branch/master/docs/syntax.md).
|
||||||
|
|
|
@ -83,7 +83,7 @@ Here you can change your password, revoke access tokens, configure 2-factor auth
|
||||||
|
|
||||||
## Theme
|
## Theme
|
||||||
|
|
||||||
Here you can change the look and feel of Pleroma-FE. You can choose from several instance-provided presets and you can load one from file and save current theme to file. Before you apply new theme you can see what it will look like approximately in preview section.
|
Here you can change the look and feel of Akkoma-FE. You can choose from several instance-provided presets and you can load one from file and save current theme to file. Before you apply new theme you can see what it will look like approximately in preview section.
|
||||||
|
|
||||||
The themes engine was made to be easy to use while giving an option for powerful in-depth customization - you can just tweak colors on "Common" tab and leave everything else as is.
|
The themes engine was made to be easy to use while giving an option for powerful in-depth customization - you can just tweak colors on "Common" tab and leave everything else as is.
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,7 @@ When you see someone, you can click on their user picture to view their profile,
|
||||||
|
|
||||||
**Following** is self-explanatory, it adds them to your Home Timeline, lists you as a follower and gives you access to follower-only posts if they have any.
|
**Following** is self-explanatory, it adds them to your Home Timeline, lists you as a follower and gives you access to follower-only posts if they have any.
|
||||||
|
|
||||||
**Muting** collapses posts and notifications made by them, giving you an option to see the post if you're curious. Clients other than PleromaFE may completely remove their posts.
|
**Muting** collapses posts and notifications made by them, giving you an option to see the post if you're curious. Clients other than Akkoma-FE may completely remove their posts.
|
||||||
|
|
||||||
**Blocking** a user removes them from your timeline and notifications and prevents them from following you (automatically unfollows them from you).
|
**Blocking** a user removes them from your timeline and notifications and prevents them from following you (automatically unfollows them from you).
|
||||||
|
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
site_name: Pleroma-FE Documentation
|
site_name: Akkoma-FE Documentation
|
||||||
theme:
|
theme:
|
||||||
favicon: 'images/pleroma_logo_vector_bg_32.png'
|
favicon: 'images/akkoma_logo_vector_bg_32.png'
|
||||||
name: 'material'
|
name: 'material'
|
||||||
custom_dir: 'theme'
|
custom_dir: 'theme'
|
||||||
# Disable google fonts
|
# Disable google fonts
|
||||||
font: false
|
font: false
|
||||||
logo: 'images/pleroma_logo_vector_nobg.svg'
|
logo: 'images/akkoma_logo_vector_nobg.svg'
|
||||||
features:
|
features:
|
||||||
- tabs
|
- tabs
|
||||||
palette:
|
palette:
|
||||||
|
@ -14,8 +14,8 @@ theme:
|
||||||
|
|
||||||
extra_css:
|
extra_css:
|
||||||
- css/extra.css
|
- css/extra.css
|
||||||
repo_name: 'AkkomaGang/pleroma-fe'
|
repo_name: 'AkkomaGang/akkoma-fe'
|
||||||
repo_url: 'https://akkoma.dev/AkkomaGang/pleroma-fe'
|
repo_url: 'https://akkoma.dev/AkkomaGang/akkoma-fe'
|
||||||
|
|
||||||
extra:
|
extra:
|
||||||
repo_icon: gitea
|
repo_icon: gitea
|
||||||
|
|
8
docs/theme/partials/source.html
vendored
8
docs/theme/partials/source.html
vendored
|
@ -38,11 +38,11 @@
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% if page and page.url.startswith('backend') %}
|
{% if page and page.url.startswith('backend') %}
|
||||||
{% set repo_url = "https://git.pleroma.social/pleroma/pleroma" %}
|
{% set repo_url = "https://akkoma.dev/AkkomaGang/akkoma" %}
|
||||||
{% set repo_name = "pleroma/pleroma" %}
|
{% set repo_name = "AkkomaGang/akkoma" %}
|
||||||
{% elif page and page.url.startswith('frontend') %}
|
{% elif page and page.url.startswith('frontend') %}
|
||||||
{% set repo_url = "https://git.pleroma.social/pleroma/pleroma-fe" %}
|
{% set repo_url = "https://akkoma.dev/AkkomaGang/akkoma-fe" %}
|
||||||
{% set repo_name = "pleroma/pleroma-fe" %}
|
{% set repo_name = "AkkomaGang/akkoma-fe" %}
|
||||||
{% else %}
|
{% else %}
|
||||||
{% set repo_url = config.repo_url %}
|
{% set repo_url = config.repo_url %}
|
||||||
{% set repo_name = config.repo_name %}
|
{% set repo_name = config.repo_name %}
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "pleroma_fe",
|
"name": "pleroma_fe",
|
||||||
"version": "3.5.0",
|
"version": "3.11.0",
|
||||||
"description": "A frontend for Akkoma instances",
|
"description": "A frontend for Akkoma instances",
|
||||||
"author": "Roger Braun <roger@rogerbraun.net>",
|
"author": "Roger Braun <roger@rogerbraun.net>",
|
||||||
"private": true,
|
"private": true,
|
||||||
|
|
|
@ -64,6 +64,11 @@ export default {
|
||||||
'-' + this.layoutType
|
'-' + this.layoutType
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
pageBackground () {
|
||||||
|
return this.mergedConfig.displayPageBackgrounds
|
||||||
|
? this.$store.state.users.displayBackground
|
||||||
|
: null
|
||||||
|
},
|
||||||
currentUser () { return this.$store.state.users.currentUser },
|
currentUser () { return this.$store.state.users.currentUser },
|
||||||
userBackground () { return this.currentUser.background_image },
|
userBackground () { return this.currentUser.background_image },
|
||||||
instanceBackground () {
|
instanceBackground () {
|
||||||
|
@ -71,7 +76,7 @@ export default {
|
||||||
? null
|
? null
|
||||||
: this.$store.state.instance.background
|
: this.$store.state.instance.background
|
||||||
},
|
},
|
||||||
background () { return this.userBackground || this.instanceBackground },
|
background () { return this.pageBackground || this.userBackground || this.instanceBackground },
|
||||||
bgStyle () {
|
bgStyle () {
|
||||||
if (this.background) {
|
if (this.background) {
|
||||||
return {
|
return {
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
html {
|
html {
|
||||||
font-size: 14px;
|
font-size: 0.875rem;
|
||||||
// overflow-x: clip causes my browser's tab to crash with SIGILL lul
|
// overflow-x: clip causes my browser's tab to crash with SIGILL lul
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -469,7 +469,7 @@ textarea,
|
||||||
color: $fallback--lightText;
|
color: $fallback--lightText;
|
||||||
color: var(--inputText, $fallback--lightText);
|
color: var(--inputText, $fallback--lightText);
|
||||||
font-family: sans-serif;
|
font-family: sans-serif;
|
||||||
font-family: var(--inputFont, sans-serif);
|
font-family: var(--interfaceFont, sans-serif);
|
||||||
font-size: 1em;
|
font-size: 1em;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
|
|
|
@ -37,7 +37,7 @@
|
||||||
white-space: pre-line;
|
white-space: pre-line;
|
||||||
word-break: break-word;
|
word-break: break-word;
|
||||||
text-overflow: ellipsis;
|
text-overflow: ellipsis;
|
||||||
overflow: scroll;
|
overflow: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
&.-static {
|
&.-static {
|
||||||
|
|
|
@ -7,7 +7,7 @@ import {
|
||||||
faStickyNote,
|
faStickyNote,
|
||||||
faSmileBeam
|
faSmileBeam
|
||||||
} from '@fortawesome/free-solid-svg-icons'
|
} from '@fortawesome/free-solid-svg-icons'
|
||||||
import { trim, escapeRegExp, startCase } from 'lodash'
|
import { trim, escapeRegExp, startCase, debounce } from 'lodash'
|
||||||
|
|
||||||
library.add(
|
library.add(
|
||||||
faBoxOpen,
|
faBoxOpen,
|
||||||
|
@ -42,6 +42,9 @@ const EmojiPicker = {
|
||||||
EmojiGrid
|
EmojiGrid
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
debouncedSearch: debounce(function (e) {
|
||||||
|
this.keyword = e.target.value
|
||||||
|
}, 500),
|
||||||
onStickerUploaded (e) {
|
onStickerUploaded (e) {
|
||||||
this.$emit('sticker-uploaded', e)
|
this.$emit('sticker-uploaded', e)
|
||||||
},
|
},
|
||||||
|
@ -85,17 +88,6 @@ const EmojiPicker = {
|
||||||
activeGroupView () {
|
activeGroupView () {
|
||||||
return this.showingStickers ? '' : this.activeGroup
|
return this.showingStickers ? '' : this.activeGroup
|
||||||
},
|
},
|
||||||
stickersAvailable () {
|
|
||||||
if (this.$store.state.instance.stickers) {
|
|
||||||
return this.$store.state.instance.stickers.length > 0
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
},
|
|
||||||
filteredEmoji () {
|
|
||||||
return this.filterByKeyword(
|
|
||||||
this.$store.state.instance.customEmoji || []
|
|
||||||
)
|
|
||||||
},
|
|
||||||
emojis () {
|
emojis () {
|
||||||
const recentEmojis = this.$store.getters.recentEmojis
|
const recentEmojis = this.$store.getters.recentEmojis
|
||||||
const standardEmojis = this.$store.state.instance.emoji || []
|
const standardEmojis = this.$store.state.instance.emoji || []
|
||||||
|
|
|
@ -44,11 +44,10 @@
|
||||||
>
|
>
|
||||||
<div class="emoji-search">
|
<div class="emoji-search">
|
||||||
<input
|
<input
|
||||||
v-model="keyword"
|
|
||||||
type="text"
|
type="text"
|
||||||
class="form-control"
|
class="form-control"
|
||||||
:placeholder="$t('emoji.search_emoji')"
|
:placeholder="$t('emoji.search_emoji')"
|
||||||
@input="$event.target.composing = false"
|
@input="debouncedSearch"
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
<EmojiGrid
|
<EmojiGrid
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
import UserAvatar from '../user_avatar/user_avatar.vue'
|
import UserAvatar from '../user_avatar/user_avatar.vue'
|
||||||
import UserListPopover from '../user_list_popover/user_list_popover.vue'
|
import UserListPopover from '../user_list_popover/user_list_popover.vue'
|
||||||
|
import StillImage from '../still-image/still-image.vue'
|
||||||
|
|
||||||
const EMOJI_REACTION_COUNT_CUTOFF = 12
|
const EMOJI_REACTION_COUNT_CUTOFF = 12
|
||||||
|
|
||||||
|
@ -12,7 +13,8 @@ const EmojiReactions = {
|
||||||
name: 'EmojiReactions',
|
name: 'EmojiReactions',
|
||||||
components: {
|
components: {
|
||||||
UserAvatar,
|
UserAvatar,
|
||||||
UserListPopover
|
UserListPopover,
|
||||||
|
StillImage
|
||||||
},
|
},
|
||||||
props: ['status'],
|
props: ['status'],
|
||||||
data: () => ({
|
data: () => ({
|
||||||
|
|
|
@ -14,12 +14,13 @@
|
||||||
<span
|
<span
|
||||||
v-if="reaction.url !== null"
|
v-if="reaction.url !== null"
|
||||||
>
|
>
|
||||||
<img
|
<StillImage
|
||||||
:src="reaction.url"
|
:src="reaction.url"
|
||||||
:title="reaction.name"
|
:title="reaction.name"
|
||||||
|
:alt="reaction.name"
|
||||||
class="reaction-emoji"
|
class="reaction-emoji"
|
||||||
height="2.55em"
|
height="2.55em"
|
||||||
>
|
/>
|
||||||
{{ reaction.count }}
|
{{ reaction.count }}
|
||||||
</span>
|
</span>
|
||||||
<span v-else>
|
<span v-else>
|
||||||
|
|
|
@ -136,8 +136,13 @@ const ExtraButtons = {
|
||||||
},
|
},
|
||||||
doRedraftStatus () {
|
doRedraftStatus () {
|
||||||
this.$store.dispatch('fetchStatusSource', { id: this.status.id })
|
this.$store.dispatch('fetchStatusSource', { id: this.status.id })
|
||||||
.then(data => this.$store.dispatch('openPostStatusModal', {
|
.then(data => {
|
||||||
|
let repliedUserId = this.status.in_reply_to_user_id;
|
||||||
|
let repliedUser = this.status.attentions.filter(user =>
|
||||||
|
user.id === repliedUserId);
|
||||||
|
this.$store.dispatch('openPostStatusModal', {
|
||||||
isRedraft: true,
|
isRedraft: true,
|
||||||
|
attentions: this.status.attentions,
|
||||||
statusId: this.status.id,
|
statusId: this.status.id,
|
||||||
subject: data.spoiler_text,
|
subject: data.spoiler_text,
|
||||||
statusText: data.text,
|
statusText: data.text,
|
||||||
|
@ -146,8 +151,11 @@ const ExtraButtons = {
|
||||||
statusFiles: [...this.status.attachments],
|
statusFiles: [...this.status.attachments],
|
||||||
statusScope: this.status.visibility,
|
statusScope: this.status.visibility,
|
||||||
statusLanguage: this.status.language,
|
statusLanguage: this.status.language,
|
||||||
statusContentType: data.content_type
|
statusContentType: data.content_type,
|
||||||
}))
|
replyTo: this.status.in_reply_to_status_id,
|
||||||
|
repliedUser: repliedUser
|
||||||
|
})
|
||||||
|
})
|
||||||
this.doDeleteStatus()
|
this.doDeleteStatus()
|
||||||
},
|
},
|
||||||
showRedraftStatusConfirmDialog () {
|
showRedraftStatusConfirmDialog () {
|
||||||
|
|
|
@ -55,6 +55,9 @@
|
||||||
|
|
||||||
.interactive {
|
.interactive {
|
||||||
.svg-inline--fa {
|
.svg-inline--fa {
|
||||||
|
@media (prefers-reduced-motion: reduce) {
|
||||||
|
animation: unset;
|
||||||
|
}
|
||||||
animation-duration: 0.6s;
|
animation-duration: 0.6s;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,9 +1,13 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="list">
|
<div
|
||||||
|
class="list"
|
||||||
|
role="list"
|
||||||
|
>
|
||||||
<div
|
<div
|
||||||
v-for="item in items"
|
v-for="item in items"
|
||||||
:key="getKey(item)"
|
:key="getKey(item)"
|
||||||
class="list-item"
|
class="list-item"
|
||||||
|
role="listitem"
|
||||||
>
|
>
|
||||||
<slot
|
<slot
|
||||||
name="item"
|
name="item"
|
||||||
|
|
|
@ -93,9 +93,6 @@ const MentionLink = {
|
||||||
this.highlightType
|
this.highlightType
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
useAtIcon () {
|
|
||||||
return this.mergedConfig.useAtIcon
|
|
||||||
},
|
|
||||||
isRemote () {
|
isRemote () {
|
||||||
return this.userName !== this.userNameFull
|
return this.userName !== this.userNameFull
|
||||||
},
|
},
|
||||||
|
|
|
@ -157,6 +157,9 @@
|
||||||
box-shadow: var(--panelShadow);
|
box-shadow: var(--panelShadow);
|
||||||
transition-property: transform;
|
transition-property: transform;
|
||||||
transition-duration: 0.25s;
|
transition-duration: 0.25s;
|
||||||
|
@media (prefers-reduced-motion: reduce) {
|
||||||
|
transition: unset;
|
||||||
|
}
|
||||||
transform: translateX(0);
|
transform: translateX(0);
|
||||||
z-index: 1001;
|
z-index: 1001;
|
||||||
-webkit-overflow-scrolling: touch;
|
-webkit-overflow-scrolling: touch;
|
||||||
|
|
|
@ -151,7 +151,6 @@
|
||||||
>
|
>
|
||||||
<Timeago
|
<Timeago
|
||||||
:time="notification.created_at"
|
:time="notification.created_at"
|
||||||
:with-direction="true"
|
|
||||||
:auto-update="240"
|
:auto-update="240"
|
||||||
/>
|
/>
|
||||||
</router-link>
|
</router-link>
|
||||||
|
|
|
@ -105,9 +105,12 @@
|
||||||
flex: 1;
|
flex: 1;
|
||||||
padding-left: 0.8em;
|
padding-left: 0.8em;
|
||||||
min-width: 0;
|
min-width: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.heading-right, .notification-right {
|
||||||
.timeago {
|
.timeago {
|
||||||
min-width: 3em;
|
display: inline-block;
|
||||||
|
min-width: 6em;
|
||||||
text-align: right;
|
text-align: right;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -114,7 +114,7 @@
|
||||||
svg {
|
svg {
|
||||||
width: 22px;
|
width: 22px;
|
||||||
margin-right: 0.75rem;
|
margin-right: 0.75rem;
|
||||||
color: var(--menuPopoverIcon, $fallback--icon)
|
color: var(--popoverIcon, $fallback--icon)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -138,7 +138,7 @@ const PostStatusForm = {
|
||||||
statusText = buildMentionsString({ user: this.repliedUser, attentions: this.attentions }, currentUser)
|
statusText = buildMentionsString({ user: this.repliedUser, attentions: this.attentions }, currentUser)
|
||||||
}
|
}
|
||||||
|
|
||||||
const { postContentType: contentType, sensitiveByDefault, sensitiveIfSubject, interfaceLanguage } = this.$store.getters.mergedConfig
|
const { postContentType: contentType, sensitiveByDefault, sensitiveIfSubject, interfaceLanguage, alwaysShowSubjectInput } = this.$store.getters.mergedConfig
|
||||||
|
|
||||||
let statusParams = {
|
let statusParams = {
|
||||||
spoilerText: this.subject || '',
|
spoilerText: this.subject || '',
|
||||||
|
@ -199,6 +199,10 @@ const PostStatusForm = {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// When first loading the form, hide the subject (CW) field if it's disabled or doesn't have a starting value.
|
||||||
|
// "disableSubject" seems to take priority over "alwaysShowSubjectInput".
|
||||||
|
const showSubject = !this.disableSubject && (statusParams.spoilerText || alwaysShowSubjectInput)
|
||||||
|
|
||||||
return {
|
return {
|
||||||
dropFiles: [],
|
dropFiles: [],
|
||||||
uploadingFiles: false,
|
uploadingFiles: false,
|
||||||
|
@ -213,7 +217,10 @@ const PostStatusForm = {
|
||||||
preview: null,
|
preview: null,
|
||||||
previewLoading: false,
|
previewLoading: false,
|
||||||
emojiInputShown: false,
|
emojiInputShown: false,
|
||||||
idempotencyKey: ''
|
idempotencyKey: '',
|
||||||
|
activeEmojiInput: undefined,
|
||||||
|
activeTextInput: undefined,
|
||||||
|
subjectVisible: showSubject
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
|
@ -674,8 +681,33 @@ const PostStatusForm = {
|
||||||
this.$refs['emoji-input'].resize()
|
this.$refs['emoji-input'].resize()
|
||||||
},
|
},
|
||||||
showEmojiPicker () {
|
showEmojiPicker () {
|
||||||
this.$refs['textarea'].focus()
|
if (!this.activeEmojiInput || !this.activeTextInput)
|
||||||
this.$refs['emoji-input'].triggerShowPicker()
|
this.focusStatusInput()
|
||||||
|
|
||||||
|
this.$refs[this.activeTextInput].focus()
|
||||||
|
this.$refs[this.activeEmojiInput].triggerShowPicker()
|
||||||
|
},
|
||||||
|
focusStatusInput() {
|
||||||
|
this.activeEmojiInput = 'emoji-input'
|
||||||
|
this.activeTextInput = 'textarea'
|
||||||
|
},
|
||||||
|
focusSubjectInput() {
|
||||||
|
this.activeEmojiInput = 'subject-emoji-input'
|
||||||
|
this.activeTextInput = 'subject-input'
|
||||||
|
},
|
||||||
|
toggleSubjectVisible() {
|
||||||
|
// If hiding CW, then we need to clear the subject and reset focus
|
||||||
|
if (this.subjectVisible)
|
||||||
|
{
|
||||||
|
this.focusStatusInput()
|
||||||
|
|
||||||
|
// "nsfw" property is normally set by the @change listener, but this bypasses it.
|
||||||
|
// We need to clear it manually instead.
|
||||||
|
this.newStatus.spoilerText = ''
|
||||||
|
this.newStatus.nsfw = false
|
||||||
|
}
|
||||||
|
|
||||||
|
this.subjectVisible = !this.subjectVisible
|
||||||
},
|
},
|
||||||
clearError () {
|
clearError () {
|
||||||
this.error = null
|
this.error = null
|
||||||
|
|
|
@ -118,13 +118,16 @@
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<EmojiInput
|
<EmojiInput
|
||||||
v-if="!disableSubject && (newStatus.spoilerText || alwaysShowSubject)"
|
ref="subject-emoji-input"
|
||||||
|
v-if="subjectVisible"
|
||||||
v-model="newStatus.spoilerText"
|
v-model="newStatus.spoilerText"
|
||||||
enable-emoji-picker
|
enable-emoji-picker
|
||||||
|
hide-emoji-button
|
||||||
:suggest="emojiSuggestor"
|
:suggest="emojiSuggestor"
|
||||||
class="form-control"
|
class="form-control"
|
||||||
>
|
>
|
||||||
<input
|
<input
|
||||||
|
ref="subject-input"
|
||||||
v-model="newStatus.spoilerText"
|
v-model="newStatus.spoilerText"
|
||||||
type="text"
|
type="text"
|
||||||
:placeholder="$t('post_status.content_warning')"
|
:placeholder="$t('post_status.content_warning')"
|
||||||
|
@ -132,6 +135,7 @@
|
||||||
size="1"
|
size="1"
|
||||||
class="form-post-subject"
|
class="form-post-subject"
|
||||||
@input="onSubjectInput"
|
@input="onSubjectInput"
|
||||||
|
@focus="focusSubjectInput()"
|
||||||
>
|
>
|
||||||
</EmojiInput>
|
</EmojiInput>
|
||||||
<i18n-t
|
<i18n-t
|
||||||
|
@ -173,6 +177,7 @@
|
||||||
@input="resize"
|
@input="resize"
|
||||||
@compositionupdate="resize"
|
@compositionupdate="resize"
|
||||||
@paste="paste"
|
@paste="paste"
|
||||||
|
@focus="focusStatusInput()"
|
||||||
/>
|
/>
|
||||||
<p
|
<p
|
||||||
v-if="hasStatusLengthLimit"
|
v-if="hasStatusLengthLimit"
|
||||||
|
@ -276,6 +281,15 @@
|
||||||
>
|
>
|
||||||
<FAIcon icon="poll-h" />
|
<FAIcon icon="poll-h" />
|
||||||
</button>
|
</button>
|
||||||
|
<button
|
||||||
|
v-if="!disableSubject"
|
||||||
|
class="spoiler-icon button-unstyled"
|
||||||
|
:class="{ selected: subjectVisible }"
|
||||||
|
:title="$t('post_status.toggle_content_warning')"
|
||||||
|
@click="toggleSubjectVisible"
|
||||||
|
>
|
||||||
|
<FAIcon icon="eye-slash" />
|
||||||
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<button
|
<button
|
||||||
v-if="posting"
|
v-if="posting"
|
||||||
|
@ -291,12 +305,14 @@
|
||||||
>
|
>
|
||||||
{{ $t('post_status.post') }}
|
{{ $t('post_status.post') }}
|
||||||
</button>
|
</button>
|
||||||
<!-- touchstart is used to keep the OSK at the same position after a message send -->
|
<!-- To keep the OSK at the same position after a message send, -->
|
||||||
|
<!-- @touchstart.stop.prevent was used. But while OSK position is -->
|
||||||
|
<!-- quirky, accidental mobile posts caused by the workaround -->
|
||||||
|
<!-- when people tried to scroll were a more serious bug. -->
|
||||||
<button
|
<button
|
||||||
v-else
|
v-else
|
||||||
:disabled="uploadingFiles || disableSubmit"
|
:disabled="uploadingFiles || disableSubmit"
|
||||||
class="btn button-default"
|
class="btn button-default"
|
||||||
@touchstart.stop.prevent="postStatus($event, newStatus)"
|
|
||||||
@click.stop.prevent="postStatus($event, newStatus)"
|
@click.stop.prevent="postStatus($event, newStatus)"
|
||||||
>
|
>
|
||||||
{{ $t('post_status.post') }}
|
{{ $t('post_status.post') }}
|
||||||
|
@ -454,7 +470,7 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.media-upload-icon, .poll-icon, .emoji-icon {
|
.media-upload-icon, .poll-icon, .emoji-icon, .spoiler-icon {
|
||||||
font-size: 1.85em;
|
font-size: 1.85em;
|
||||||
line-height: 1.1;
|
line-height: 1.1;
|
||||||
flex: 1;
|
flex: 1;
|
||||||
|
@ -497,6 +513,11 @@
|
||||||
|
|
||||||
.poll-icon {
|
.poll-icon {
|
||||||
order: 3;
|
order: 3;
|
||||||
|
justify-content: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.spoiler-icon {
|
||||||
|
order: 4;
|
||||||
justify-content: right;
|
justify-content: right;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -74,6 +74,9 @@
|
||||||
|
|
||||||
.interactive {
|
.interactive {
|
||||||
.svg-inline--fa {
|
.svg-inline--fa {
|
||||||
|
@media (prefers-reduced-motion: reduce) {
|
||||||
|
animation: unset;
|
||||||
|
}
|
||||||
animation-duration: 0.6s;
|
animation-duration: 0.6s;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -38,7 +38,7 @@ label.Select {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
padding: 0 2em 0 .2em;
|
padding: 0 2em 0 .2em;
|
||||||
font-family: sans-serif;
|
font-family: sans-serif;
|
||||||
font-family: var(--inputFont, sans-serif);
|
font-family: var(--interfaceFont, sans-serif);
|
||||||
font-size: 1em;
|
font-size: 1em;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
z-index: 1;
|
z-index: 1;
|
||||||
|
|
|
@ -21,7 +21,6 @@
|
||||||
>
|
>
|
||||||
{{ $t('settings.settings_profile_force_sync') }}
|
{{ $t('settings.settings_profile_force_sync') }}
|
||||||
</button>
|
</button>
|
||||||
|
|
||||||
</p>
|
</p>
|
||||||
<div
|
<div
|
||||||
@click="toggleExpandedSettings"
|
@click="toggleExpandedSettings"
|
||||||
|
@ -147,6 +146,11 @@
|
||||||
{{ $t('settings.show_wider_shortcuts') }}
|
{{ $t('settings.show_wider_shortcuts') }}
|
||||||
</BooleanSetting>
|
</BooleanSetting>
|
||||||
</li>
|
</li>
|
||||||
|
<li>
|
||||||
|
<BooleanSetting path="displayPageBackgrounds">
|
||||||
|
{{ $t('settings.show_page_backgrounds') }}
|
||||||
|
</BooleanSetting>
|
||||||
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<BooleanSetting path="stopGifs">
|
<BooleanSetting path="stopGifs">
|
||||||
{{ $t('settings.stop_gifs') }}
|
{{ $t('settings.stop_gifs') }}
|
||||||
|
@ -484,14 +488,6 @@
|
||||||
</BooleanSetting>
|
</BooleanSetting>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
<li>
|
|
||||||
<BooleanSetting
|
|
||||||
path="useAtIcon"
|
|
||||||
expert="1"
|
|
||||||
>
|
|
||||||
{{ $t('settings.use_at_icon') }}
|
|
||||||
</BooleanSetting>
|
|
||||||
</li>
|
|
||||||
<li>
|
<li>
|
||||||
<BooleanSetting path="mentionLinkShowAvatar">
|
<BooleanSetting path="mentionLinkShowAvatar">
|
||||||
{{ $t('settings.mention_link_show_avatar') }}
|
{{ $t('settings.mention_link_show_avatar') }}
|
||||||
|
|
|
@ -10,17 +10,20 @@ import SelectableList from 'src/components/selectable_list/selectable_list.vue'
|
||||||
import ProgressButton from 'src/components/progress_button/progress_button.vue'
|
import ProgressButton from 'src/components/progress_button/progress_button.vue'
|
||||||
import withSubscription from 'src/components/../hocs/with_subscription/with_subscription'
|
import withSubscription from 'src/components/../hocs/with_subscription/with_subscription'
|
||||||
import Checkbox from 'src/components/checkbox/checkbox.vue'
|
import Checkbox from 'src/components/checkbox/checkbox.vue'
|
||||||
|
import withLoadMore from 'src/components/../hocs/with_load_more/with_load_more'
|
||||||
|
|
||||||
const BlockList = withSubscription({
|
const BlockList = withLoadMore({
|
||||||
fetch: (props, $store) => $store.dispatch('fetchBlocks'),
|
fetch: (props, $store) => $store.dispatch('fetchBlocks'),
|
||||||
select: (props, $store) => get($store.state.users.currentUser, 'blockIds', []),
|
select: (props, $store) => get($store.state.users.currentUser, 'blockIds', []),
|
||||||
childPropName: 'items'
|
childPropName: 'items',
|
||||||
|
destroy: () => {}
|
||||||
})(SelectableList)
|
})(SelectableList)
|
||||||
|
|
||||||
const MuteList = withSubscription({
|
const MuteList = withLoadMore({
|
||||||
fetch: (props, $store) => $store.dispatch('fetchMutes'),
|
fetch: (props, $store) => $store.dispatch('fetchMutes'),
|
||||||
select: (props, $store) => get($store.state.users.currentUser, 'muteIds', []),
|
select: (props, $store) => get($store.state.users.currentUser, 'muteIds', []),
|
||||||
childPropName: 'items'
|
childPropName: 'items',
|
||||||
|
destroy: () => {}
|
||||||
})(SelectableList)
|
})(SelectableList)
|
||||||
|
|
||||||
const DomainMuteList = withSubscription({
|
const DomainMuteList = withSubscription({
|
||||||
|
|
|
@ -12,6 +12,7 @@ import InterfaceLanguageSwitcher from 'src/components/interface_language_switche
|
||||||
import BooleanSetting from '../helpers/boolean_setting.vue'
|
import BooleanSetting from '../helpers/boolean_setting.vue'
|
||||||
import SharedComputedObject from '../helpers/shared_computed_object.js'
|
import SharedComputedObject from '../helpers/shared_computed_object.js'
|
||||||
import localeService from 'src/services/locale/locale.service.js'
|
import localeService from 'src/services/locale/locale.service.js'
|
||||||
|
import ChoiceSetting from '../helpers/choice_setting.vue'
|
||||||
|
|
||||||
import { library } from '@fortawesome/fontawesome-svg-core'
|
import { library } from '@fortawesome/fontawesome-svg-core'
|
||||||
import {
|
import {
|
||||||
|
@ -32,6 +33,7 @@ const ProfileTab = {
|
||||||
newName: this.$store.state.users.currentUser.name_unescaped,
|
newName: this.$store.state.users.currentUser.name_unescaped,
|
||||||
newBio: unescape(this.$store.state.users.currentUser.description),
|
newBio: unescape(this.$store.state.users.currentUser.description),
|
||||||
newLocked: this.$store.state.users.currentUser.locked,
|
newLocked: this.$store.state.users.currentUser.locked,
|
||||||
|
newPermitFollowback: this.$store.state.users.currentUser.permit_followback,
|
||||||
newFields: this.$store.state.users.currentUser.fields.map(field => ({ name: field.name, value: field.value })),
|
newFields: this.$store.state.users.currentUser.fields.map(field => ({ name: field.name, value: field.value })),
|
||||||
showRole: this.$store.state.users.currentUser.show_role,
|
showRole: this.$store.state.users.currentUser.show_role,
|
||||||
role: this.$store.state.users.currentUser.role,
|
role: this.$store.state.users.currentUser.role,
|
||||||
|
@ -46,9 +48,16 @@ const ProfileTab = {
|
||||||
emailLanguage: this.$store.state.users.currentUser.language || '',
|
emailLanguage: this.$store.state.users.currentUser.language || '',
|
||||||
newPostTTLDays: this.$store.state.users.currentUser.status_ttl_days,
|
newPostTTLDays: this.$store.state.users.currentUser.status_ttl_days,
|
||||||
expirePosts: this.$store.state.users.currentUser.status_ttl_days !== null,
|
expirePosts: this.$store.state.users.currentUser.status_ttl_days !== null,
|
||||||
|
userAcceptsDirectMessagesFrom: this.$store.state.users.currentUser.accepts_direct_messages_from,
|
||||||
|
userAcceptsDirectMessagesFromOptions: ["everybody", "nobody", "people_i_follow"].map(mode => ({
|
||||||
|
key: mode,
|
||||||
|
value: mode,
|
||||||
|
label: this.$t(`settings.user_accepts_direct_messages_from_${mode}`)
|
||||||
|
}))
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
components: {
|
components: {
|
||||||
|
ChoiceSetting,
|
||||||
ScopeSelector,
|
ScopeSelector,
|
||||||
ImageCropper,
|
ImageCropper,
|
||||||
EmojiInput,
|
EmojiInput,
|
||||||
|
@ -126,7 +135,9 @@ const ProfileTab = {
|
||||||
fields_attributes: this.newFields.filter(el => el != null),
|
fields_attributes: this.newFields.filter(el => el != null),
|
||||||
bot: this.bot,
|
bot: this.bot,
|
||||||
show_role: this.showRole,
|
show_role: this.showRole,
|
||||||
status_ttl_days: this.expirePosts ? this.newPostTTLDays : -1
|
status_ttl_days: this.expirePosts ? this.newPostTTLDays : -1,
|
||||||
|
permit_followback: this.permit_followback,
|
||||||
|
accepts_direct_messages_from: this.userAcceptsDirectMessagesFrom
|
||||||
/* eslint-enable camelcase */
|
/* eslint-enable camelcase */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -89,6 +89,15 @@
|
||||||
{{ $t('settings.bot') }}
|
{{ $t('settings.bot') }}
|
||||||
</Checkbox>
|
</Checkbox>
|
||||||
</p>
|
</p>
|
||||||
|
<p>
|
||||||
|
<ChoiceSetting
|
||||||
|
id="userAcceptsDirectMessagesFrom"
|
||||||
|
path="userAcceptsDirectMessagesFrom"
|
||||||
|
:options="userAcceptsDirectMessagesFromOptions"
|
||||||
|
>
|
||||||
|
{{ $t('settings.user_accepts_direct_messages_from') }}
|
||||||
|
</ChoiceSetting>
|
||||||
|
</p>
|
||||||
<p>
|
<p>
|
||||||
<Checkbox v-model="expirePosts">
|
<Checkbox v-model="expirePosts">
|
||||||
{{ $t('settings.expire_posts_enabled') }}
|
{{ $t('settings.expire_posts_enabled') }}
|
||||||
|
@ -102,6 +111,9 @@
|
||||||
class="expire-posts-days"
|
class="expire-posts-days"
|
||||||
:placeholder="$t('settings.expire_posts_input_placeholder')"
|
:placeholder="$t('settings.expire_posts_input_placeholder')"
|
||||||
/>
|
/>
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
<interface-language-switcher
|
<interface-language-switcher
|
||||||
|
@ -247,6 +259,19 @@
|
||||||
<BooleanSetting path="serverSide_locked">
|
<BooleanSetting path="serverSide_locked">
|
||||||
{{ $t('settings.lock_account_description') }}
|
{{ $t('settings.lock_account_description') }}
|
||||||
</BooleanSetting>
|
</BooleanSetting>
|
||||||
|
<ul
|
||||||
|
class="setting-list suboptions"
|
||||||
|
:class="[{disabled: !serverSide_locked}]"
|
||||||
|
>
|
||||||
|
<li>
|
||||||
|
<BooleanSetting
|
||||||
|
path="serverSide_permitFollowback"
|
||||||
|
:disabled="!serverSide_locked"
|
||||||
|
>
|
||||||
|
{{ $t('settings.permit_followback_description') }}
|
||||||
|
</BooleanSetting>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<BooleanSetting path="serverSide_discoverable">
|
<BooleanSetting path="serverSide_discoverable">
|
||||||
|
|
|
@ -89,6 +89,10 @@
|
||||||
margin: 1em 1em 0;
|
margin: 1em 1em 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.presets {
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
.tab-header {
|
.tab-header {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
|
|
|
@ -268,6 +268,10 @@
|
||||||
.side-drawer {
|
.side-drawer {
|
||||||
overflow-x: hidden;
|
overflow-x: hidden;
|
||||||
transition-timing-function: cubic-bezier(0, 1, 0.5, 1);
|
transition-timing-function: cubic-bezier(0, 1, 0.5, 1);
|
||||||
|
@media (prefers-reduced-motion: reduce) {
|
||||||
|
transition-timing-function: unset;
|
||||||
|
transition: unset;
|
||||||
|
}
|
||||||
transition: 0.35s;
|
transition: 0.35s;
|
||||||
transition-property: transform;
|
transition-property: transform;
|
||||||
margin: 0 0 0 -100px;
|
margin: 0 0 0 -100px;
|
||||||
|
|
|
@ -20,6 +20,7 @@ import generateProfileLink from 'src/services/user_profile_link_generator/user_p
|
||||||
import { highlightClass, highlightStyle } from '../../services/user_highlighter/user_highlighter.js'
|
import { highlightClass, highlightStyle } from '../../services/user_highlighter/user_highlighter.js'
|
||||||
import { muteWordHits } from '../../services/status_parser/status_parser.js'
|
import { muteWordHits } from '../../services/status_parser/status_parser.js'
|
||||||
import { unescape, uniqBy } from 'lodash'
|
import { unescape, uniqBy } from 'lodash'
|
||||||
|
import StillImage from '../still-image/still-image.vue'
|
||||||
|
|
||||||
import { library } from '@fortawesome/fontawesome-svg-core'
|
import { library } from '@fortawesome/fontawesome-svg-core'
|
||||||
import {
|
import {
|
||||||
|
@ -117,7 +118,8 @@ const Status = {
|
||||||
RichContent,
|
RichContent,
|
||||||
MentionLink,
|
MentionLink,
|
||||||
MentionsLine,
|
MentionsLine,
|
||||||
QuoteButton
|
QuoteButton,
|
||||||
|
StillImage
|
||||||
},
|
},
|
||||||
props: [
|
props: [
|
||||||
'statusoid',
|
'statusoid',
|
||||||
|
|
|
@ -174,12 +174,12 @@
|
||||||
>
|
>
|
||||||
@{{ status.user.screen_name_ui }}
|
@{{ status.user.screen_name_ui }}
|
||||||
</router-link>
|
</router-link>
|
||||||
<img
|
<StillImage
|
||||||
v-if="!!(status.user && status.user.favicon)"
|
v-if="!!(status.user && status.user.favicon)"
|
||||||
class="status-favicon"
|
class="status-favicon"
|
||||||
:src="status.user.favicon"
|
:src="status.user.favicon"
|
||||||
:title="faviconAlt(status)"
|
:title="faviconAlt(status)"
|
||||||
>
|
/>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -190,7 +190,7 @@
|
||||||
>
|
>
|
||||||
<Timeago
|
<Timeago
|
||||||
:time="status.created_at"
|
:time="status.created_at"
|
||||||
:with-direction="true"
|
:with-direction="!compact"
|
||||||
:auto-update="60"
|
:auto-update="60"
|
||||||
/>
|
/>
|
||||||
</router-link>
|
</router-link>
|
||||||
|
|
|
@ -17,6 +17,9 @@
|
||||||
|
|
||||||
.emoji:hover {
|
.emoji:hover {
|
||||||
transform: scale(1.4);
|
transform: scale(1.4);
|
||||||
|
@media (prefers-reduced-motion: reduce) {
|
||||||
|
transition: unset;
|
||||||
|
}
|
||||||
transition: 0.05s;
|
transition: 0.05s;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -11,8 +11,9 @@ const StillImage = {
|
||||||
],
|
],
|
||||||
data () {
|
data () {
|
||||||
return {
|
return {
|
||||||
stopGifs: this.$store.getters.mergedConfig.stopGifs,
|
stopGifs: this.$store.getters.mergedConfig.stopGifs || window.matchMedia('(prefers-reduced-motion: reduce)').matches,
|
||||||
isAnimated: false
|
isAnimated: false,
|
||||||
|
imageTypeLabel: ''
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
|
@ -39,14 +40,24 @@ const StillImage = {
|
||||||
this.imageLoadError && this.imageLoadError()
|
this.imageLoadError && this.imageLoadError()
|
||||||
},
|
},
|
||||||
detectAnimation (image) {
|
detectAnimation (image) {
|
||||||
if (this.mimetype === 'image/gif' || this.src.endsWith('.gif')) {
|
const mediaProxyAvailable = this.$store.state.instance.mediaProxyAvailable
|
||||||
|
|
||||||
|
if (!mediaProxyAvailable) {
|
||||||
|
// It's a bit aggressive to assume all images we can't find the mimetype of is animated, but necessary for
|
||||||
|
// people in need of reduced motion accessibility. As such, we'll consider those images animated if the user
|
||||||
|
// agent is set to prefer reduced motion. Otherwise, it'll just be used as an early exit.
|
||||||
|
if (window.matchMedia('(prefers-reduced-motion: reduce)').matches) {
|
||||||
|
// Since the canvas and images are not pixel-perfect matching (due to scaling),
|
||||||
|
// It makes the images jiggle on hover, which is not ideal for accessibility, methinks
|
||||||
this.isAnimated = true
|
this.isAnimated = true
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
// harmless CORS errors without-- clean console with
|
this.detectWithoutMediaProxy(image)
|
||||||
if (!this.$store.state.instance.mediaProxyAvailable) return
|
} else {
|
||||||
// Animated JPEGs?
|
this.detectWithMediaProxy(image)
|
||||||
if (!(this.src.endsWith('.webp') || this.src.endsWith('.png'))) return
|
}
|
||||||
|
},
|
||||||
|
detectAnimationWithFetch (image) {
|
||||||
// Browser Cache should ensure image doesn't get loaded twice if cache exists
|
// Browser Cache should ensure image doesn't get loaded twice if cache exists
|
||||||
fetch(image.src, {
|
fetch(image.src, {
|
||||||
referrerPolicy: 'same-origin'
|
referrerPolicy: 'same-origin'
|
||||||
|
@ -55,12 +66,20 @@ const StillImage = {
|
||||||
// We don't need to read the whole file so only call it once
|
// We don't need to read the whole file so only call it once
|
||||||
data.body.getReader().read()
|
data.body.getReader().read()
|
||||||
.then(reader => {
|
.then(reader => {
|
||||||
if (this.src.endsWith('.webp') && this.isAnimatedWEBP(reader.value)) {
|
// Ordered from least to most intensive
|
||||||
|
if (this.isGIF(reader.value)) {
|
||||||
this.isAnimated = true
|
this.isAnimated = true
|
||||||
|
this.setLabel('GIF')
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
if (this.src.endsWith('.png') && this.isAnimatedPNG(reader.value)) {
|
if (this.isAnimatedWEBP(reader.value)) {
|
||||||
this.isAnimated = true
|
this.isAnimated = true
|
||||||
|
this.setLabel('WEBP')
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if (this.isAnimatedPNG(reader.value)) {
|
||||||
|
this.isAnimated = true
|
||||||
|
this.setLabel('APNG')
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
@ -68,6 +87,53 @@ const StillImage = {
|
||||||
// this.imageLoadError && this.imageLoadError()
|
// this.imageLoadError && this.imageLoadError()
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
detectWithMediaProxy (image) {
|
||||||
|
this.detectAnimationWithFetch(image)
|
||||||
|
},
|
||||||
|
detectWithoutMediaProxy (image) {
|
||||||
|
// We'll just assume that gifs and webp are animated
|
||||||
|
const extension = image.src.split('.').pop().toLowerCase()
|
||||||
|
|
||||||
|
if (extension === 'gif') {
|
||||||
|
this.isAnimated = true
|
||||||
|
this.setLabel('GIF')
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if (extension === 'webp') {
|
||||||
|
this.isAnimated = true
|
||||||
|
this.setLabel('WEBP')
|
||||||
|
return
|
||||||
|
}
|
||||||
|
// Beware the apng! use this if ye dare
|
||||||
|
// if (extension === 'png') {
|
||||||
|
// this.isAnimated = true
|
||||||
|
// this.setLabel('PNG')
|
||||||
|
// return
|
||||||
|
// }
|
||||||
|
|
||||||
|
// Hail mary for extensionless
|
||||||
|
if (extension.includes('/')) {
|
||||||
|
// Don't mind the CORS error barrage
|
||||||
|
this.detectAnimationWithFetch(image)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
setLabel (name) {
|
||||||
|
this.imageTypeLabel = name;
|
||||||
|
},
|
||||||
|
isGIF (data) {
|
||||||
|
// I am a perfectly sane individual
|
||||||
|
//
|
||||||
|
// GIF HEADER CHUNK
|
||||||
|
// === START HEADER ===
|
||||||
|
// 47 49 46 38 ("GIF8")
|
||||||
|
const gifHeader = [0x47, 0x49, 0x46];
|
||||||
|
for (let i = 0; i < 3; i++) {
|
||||||
|
if (data[i] !== gifHeader[i]) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true
|
||||||
|
},
|
||||||
isAnimatedWEBP (data) {
|
isAnimatedWEBP (data) {
|
||||||
/**
|
/**
|
||||||
* WEBP HEADER CHUNK
|
* WEBP HEADER CHUNK
|
||||||
|
@ -102,14 +168,53 @@ const StillImage = {
|
||||||
return (str.substring(0, idatPos > 0 ? idatPos : 0).indexOf('acTL') > 0)
|
return (str.substring(0, idatPos > 0 ? idatPos : 0).indexOf('acTL') > 0)
|
||||||
},
|
},
|
||||||
drawThumbnail() {
|
drawThumbnail() {
|
||||||
const canvas = this.$refs.canvas
|
const canvas = this.$refs.canvas;
|
||||||
if (!this.$refs.canvas) return
|
if (!canvas) return;
|
||||||
const image = this.$refs.src
|
|
||||||
const width = image.naturalWidth
|
const context = canvas.getContext('2d');
|
||||||
const height = image.naturalHeight
|
const image = this.$refs.src;
|
||||||
canvas.width = width
|
const parentElement = canvas.parentElement;
|
||||||
canvas.height = height
|
|
||||||
canvas.getContext('2d').drawImage(image, 0, 0, width, height)
|
// Draw the quick, unscaled version first
|
||||||
|
context.drawImage(image, 0, 0, parentElement.clientWidth, parentElement.clientHeight);
|
||||||
|
|
||||||
|
// Use requestAnimationFrame to schedule the scaling to the next frame
|
||||||
|
requestAnimationFrame(() => {
|
||||||
|
// Compute scaling ratio between the natural dimensions of the image and its display dimensions
|
||||||
|
const scalingRatioWidth = parentElement.clientWidth / image.naturalWidth;
|
||||||
|
const scalingRatioHeight = parentElement.clientHeight / image.naturalHeight;
|
||||||
|
|
||||||
|
// Adjust for high-DPI displays
|
||||||
|
const ratio = window.devicePixelRatio || 1;
|
||||||
|
canvas.width = image.naturalWidth * scalingRatioWidth * ratio;
|
||||||
|
canvas.height = image.naturalHeight * scalingRatioHeight * ratio;
|
||||||
|
canvas.style.width = `${parentElement.clientWidth}px`;
|
||||||
|
canvas.style.height = `${parentElement.clientHeight}px`;
|
||||||
|
context.scale(ratio, ratio);
|
||||||
|
|
||||||
|
// Maintain the aspect ratio of the image
|
||||||
|
const imgAspectRatio = image.naturalWidth / image.naturalHeight;
|
||||||
|
const canvasAspectRatio = parentElement.clientWidth / parentElement.clientHeight;
|
||||||
|
|
||||||
|
let drawWidth, drawHeight;
|
||||||
|
|
||||||
|
if (imgAspectRatio > canvasAspectRatio) {
|
||||||
|
drawWidth = parentElement.clientWidth;
|
||||||
|
drawHeight = parentElement.clientWidth / imgAspectRatio;
|
||||||
|
} else {
|
||||||
|
drawHeight = parentElement.clientHeight;
|
||||||
|
drawWidth = parentElement.clientHeight * imgAspectRatio;
|
||||||
|
}
|
||||||
|
|
||||||
|
context.clearRect(0, 0, canvas.width, canvas.height); // Clear the previous unscaled image
|
||||||
|
context.imageSmoothingEnabled = true;
|
||||||
|
context.imageSmoothingQuality = 'high';
|
||||||
|
|
||||||
|
// Draw the good one for realsies
|
||||||
|
const dx = (parentElement.clientWidth - drawWidth) / 2;
|
||||||
|
const dy = (parentElement.clientHeight - drawHeight) / 2;
|
||||||
|
context.drawImage(image, dx, dy, drawWidth, drawHeight);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
updated () {
|
updated () {
|
||||||
|
|
|
@ -1,9 +1,15 @@
|
||||||
<template>
|
<template>
|
||||||
<div
|
<div
|
||||||
|
ref="still-image"
|
||||||
class="still-image"
|
class="still-image"
|
||||||
:class="{ animated: animated }"
|
:class="{ animated: animated }"
|
||||||
:style="style"
|
:style="style"
|
||||||
>
|
>
|
||||||
|
<div
|
||||||
|
v-if="animated && imageTypeLabel"
|
||||||
|
class="image-type-label">
|
||||||
|
{{ imageTypeLabel }}
|
||||||
|
</div>
|
||||||
<canvas
|
<canvas
|
||||||
v-if="animated"
|
v-if="animated"
|
||||||
ref="canvas"
|
ref="canvas"
|
||||||
|
@ -57,30 +63,26 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
&.animated {
|
.image-type-label {
|
||||||
&::before {
|
|
||||||
zoom: var(--_still_image-label-scale, 1);
|
|
||||||
content: 'gif';
|
|
||||||
position: absolute;
|
position: absolute;
|
||||||
|
top: 0.25em;
|
||||||
|
left: 0.25em;
|
||||||
line-height: 1;
|
line-height: 1;
|
||||||
font-size: 0.7em;
|
font-size: 0.6em;
|
||||||
top: 0.5em;
|
|
||||||
left: 0.5em;
|
|
||||||
background: rgba(127, 127, 127, 0.5);
|
background: rgba(127, 127, 127, 0.5);
|
||||||
color: #fff;
|
color: #fff;
|
||||||
display: block;
|
|
||||||
padding: 2px 4px;
|
padding: 2px 4px;
|
||||||
border-radius: $fallback--tooltipRadius;
|
|
||||||
border-radius: var(--tooltipRadius, $fallback--tooltipRadius);
|
border-radius: var(--tooltipRadius, $fallback--tooltipRadius);
|
||||||
z-index: 2;
|
z-index: 2;
|
||||||
visibility: var(--_still-image-label-visibility, visible);
|
visibility: var(--_still-image-label-visibility, visible);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
&.animated {
|
||||||
&:hover canvas {
|
&:hover canvas {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
&:hover::before {
|
&:hover .image-type-label {
|
||||||
visibility: var(--_still-image-label-visibility, hidden);
|
visibility: var(--_still-image-label-visibility, hidden);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -62,6 +62,9 @@
|
||||||
border-top-right-radius: 0;
|
border-top-right-radius: 0;
|
||||||
border-top-left-radius: 0;
|
border-top-left-radius: 0;
|
||||||
transform: translateY(-100%);
|
transform: translateY(-100%);
|
||||||
|
@media (prefers-reduced-motion: reduce) {
|
||||||
|
transition: unset;
|
||||||
|
}
|
||||||
transition: transform 100ms;
|
transition: transform 100ms;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -89,6 +92,9 @@
|
||||||
|
|
||||||
svg {
|
svg {
|
||||||
margin-left: 0.6em;
|
margin-left: 0.6em;
|
||||||
|
@media (prefers-reduced-motion: reduce) {
|
||||||
|
transition: unset;
|
||||||
|
}
|
||||||
transition: transform 100ms;
|
transition: transform 100ms;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -16,22 +16,6 @@
|
||||||
>{{ $t("nav.home_timeline") }}</span>
|
>{{ $t("nav.home_timeline") }}</span>
|
||||||
</router-link>
|
</router-link>
|
||||||
</li>
|
</li>
|
||||||
<li v-if="bubbleTimelineVisible">
|
|
||||||
<router-link
|
|
||||||
class="menu-item"
|
|
||||||
:to="{ name: 'bubble-timeline' }"
|
|
||||||
>
|
|
||||||
<FAIcon
|
|
||||||
fixed-width
|
|
||||||
class="fa-scale-110 fa-old-padding "
|
|
||||||
icon="circle"
|
|
||||||
/>
|
|
||||||
<span
|
|
||||||
:title="$t('nav.bubble_timeline_description')"
|
|
||||||
:aria-label="$t('nav.bubble_timeline_description')"
|
|
||||||
>{{ $t("nav.bubble_timeline") }}</span>
|
|
||||||
</router-link>
|
|
||||||
</li>
|
|
||||||
<li v-if="publicTimelineVisible">
|
<li v-if="publicTimelineVisible">
|
||||||
<router-link
|
<router-link
|
||||||
class="menu-item"
|
class="menu-item"
|
||||||
|
@ -48,6 +32,22 @@
|
||||||
>{{ $t("nav.public_tl") }}</span>
|
>{{ $t("nav.public_tl") }}</span>
|
||||||
</router-link>
|
</router-link>
|
||||||
</li>
|
</li>
|
||||||
|
<li v-if="bubbleTimelineVisible">
|
||||||
|
<router-link
|
||||||
|
class="menu-item"
|
||||||
|
:to="{ name: 'bubble-timeline' }"
|
||||||
|
>
|
||||||
|
<FAIcon
|
||||||
|
fixed-width
|
||||||
|
class="fa-scale-110 fa-old-padding "
|
||||||
|
icon="circle"
|
||||||
|
/>
|
||||||
|
<span
|
||||||
|
:title="$t('nav.bubble_timeline_description')"
|
||||||
|
:aria-label="$t('nav.bubble_timeline_description')"
|
||||||
|
>{{ $t("nav.bubble_timeline") }}</span>
|
||||||
|
</router-link>
|
||||||
|
</li>
|
||||||
<li v-if="federatedTimelineVisible">
|
<li v-if="federatedTimelineVisible">
|
||||||
<router-link
|
<router-link
|
||||||
class="menu-item"
|
class="menu-item"
|
||||||
|
|
|
@ -33,7 +33,7 @@
|
||||||
--_avatarShadowBox: var(--avatarStatusShadow);
|
--_avatarShadowBox: var(--avatarStatusShadow);
|
||||||
--_avatarShadowFilter: var(--avatarStatusShadowFilter);
|
--_avatarShadowFilter: var(--avatarStatusShadowFilter);
|
||||||
--_avatarShadowInset: var(--avatarStatusShadowInset);
|
--_avatarShadowInset: var(--avatarStatusShadowInset);
|
||||||
--_still-image-label-visibility: hidden;
|
// --_still-image-label-visibility: hidden;
|
||||||
|
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
position: relative;
|
position: relative;
|
||||||
|
|
|
@ -145,10 +145,12 @@ const UserProfile = {
|
||||||
if (user) {
|
if (user) {
|
||||||
loadById(user.id)
|
loadById(user.id)
|
||||||
this.note = user.relationship.note
|
this.note = user.relationship.note
|
||||||
|
this.$store.dispatch('setDisplayBackground', user.background_image)
|
||||||
} else {
|
} else {
|
||||||
this.$store.dispatch('fetchUser', userNameOrId)
|
this.$store.dispatch('fetchUser', userNameOrId)
|
||||||
.then(({ id, relationship }) => {
|
.then(({ id, relationship, background_image }) => {
|
||||||
this.note = relationship.note
|
this.note = relationship.note
|
||||||
|
this.$store.dispatch('setDisplayBackground', background_image)
|
||||||
return loadById(id)
|
return loadById(id)
|
||||||
})
|
})
|
||||||
.catch((reason) => {
|
.catch((reason) => {
|
||||||
|
@ -225,6 +227,9 @@ const UserProfile = {
|
||||||
Conversation,
|
Conversation,
|
||||||
RichContent,
|
RichContent,
|
||||||
FollowedTagList
|
FollowedTagList
|
||||||
|
},
|
||||||
|
beforeRouteLeave(to, from) {
|
||||||
|
this.$store.dispatch('setDisplayBackground', null)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -3,11 +3,13 @@ import * as bodyScrollLock from 'body-scroll-lock'
|
||||||
let previousNavPaddingRight
|
let previousNavPaddingRight
|
||||||
let previousAppBgWrapperRight
|
let previousAppBgWrapperRight
|
||||||
const lockerEls = new Set([])
|
const lockerEls = new Set([])
|
||||||
|
const allowedScrollableClasses = ['emoji-tabs-item', 'emoji-item']
|
||||||
|
|
||||||
const disableBodyScroll = (el) => {
|
const disableBodyScroll = (el) => {
|
||||||
const scrollBarGap = window.innerWidth - document.documentElement.clientWidth
|
const scrollBarGap = window.innerWidth - document.documentElement.clientWidth
|
||||||
bodyScrollLock.disableBodyScroll(el, {
|
bodyScrollLock.disableBodyScroll(el, {
|
||||||
reserveScrollBarGap: true
|
reserveScrollBarGap: true,
|
||||||
|
allowTouchMove: el => allowedScrollableClasses.includes(el.parentElement.className),
|
||||||
})
|
})
|
||||||
lockerEls.add(el)
|
lockerEls.add(el)
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
|
|
|
@ -884,7 +884,6 @@
|
||||||
"upload_a_photo": "Pujar una foto",
|
"upload_a_photo": "Pujar una foto",
|
||||||
"useStreamingApi": "Rebre apunts i notificacions en temps real",
|
"useStreamingApi": "Rebre apunts i notificacions en temps real",
|
||||||
"useStreamingApiWarning": "És genial emprar-lo. Si es trenca, refresca, suposo?",
|
"useStreamingApiWarning": "És genial emprar-lo. Si es trenca, refresca, suposo?",
|
||||||
"use_at_icon": "Mostra el símbol {'@'} com a icona enlloc de text",
|
|
||||||
"use_contain_fit": "No retallar els adjunts en miniatures",
|
"use_contain_fit": "No retallar els adjunts en miniatures",
|
||||||
"use_one_click_nsfw": "Obre els adjunts NSFW amb només un clic",
|
"use_one_click_nsfw": "Obre els adjunts NSFW amb només un clic",
|
||||||
"user_mutes": "Usuaris",
|
"user_mutes": "Usuaris",
|
||||||
|
|
|
@ -916,7 +916,6 @@
|
||||||
"upload_a_photo": "Lade ein Foto hoch",
|
"upload_a_photo": "Lade ein Foto hoch",
|
||||||
"useStreamingApi": "Empfange Posts und Benachrichtigungen in Echtzeit",
|
"useStreamingApi": "Empfange Posts und Benachrichtigungen in Echtzeit",
|
||||||
"useStreamingApiWarning": "(Nicht empfohlen, experimentell, bekannt dafür, Posts zu überspringen)",
|
"useStreamingApiWarning": "(Nicht empfohlen, experimentell, bekannt dafür, Posts zu überspringen)",
|
||||||
"use_at_icon": "{'@'}-Symbol als Icon und nicht als Text anzeigen",
|
|
||||||
"use_blurhash": "Blurhash für NSFW-Vorschauen verwenden",
|
"use_blurhash": "Blurhash für NSFW-Vorschauen verwenden",
|
||||||
"use_contain_fit": "Vorschaubilder nicht zuschneiden",
|
"use_contain_fit": "Vorschaubilder nicht zuschneiden",
|
||||||
"use_one_click_nsfw": "Heikle Anhänge mit nur einem Klick öffnen",
|
"use_one_click_nsfw": "Heikle Anhänge mit nur einem Klick öffnen",
|
||||||
|
|
220
src/i18n/el.json
Normal file
220
src/i18n/el.json
Normal file
|
@ -0,0 +1,220 @@
|
||||||
|
{
|
||||||
|
"about": {
|
||||||
|
"mrf": {
|
||||||
|
"keyword": {
|
||||||
|
"keyword_policies": "Πολιτικές λέξεων-κλειδιών",
|
||||||
|
"reject": "Απόρριψη",
|
||||||
|
"replace": "Αντικατάσταση"
|
||||||
|
},
|
||||||
|
"mrf_policies": "Ενεργοποιημένες πολιτικές MRF",
|
||||||
|
"mrf_policies_desc": "",
|
||||||
|
"simple": {
|
||||||
|
"accept": "Αποδοχή",
|
||||||
|
"accept_desc": "Αυτό το instance αποδέχεται μηνύματα μόνο από τα ακόλουθα instances:",
|
||||||
|
"ftl_removal": "Αφαίρεση από το χρονολόγιο \"Γνωστού Δίκτυου\"",
|
||||||
|
"ftl_removal_desc": "Αυτό το instance αφαιρεί αυτά τα instances από το χρονολόγιο \"Γνωστού Δικτύου\":",
|
||||||
|
"quarantine": "Καραντίνα",
|
||||||
|
"quarantine_desc": "Αυτό το instance δε θα στέλνει αναρτήσεις στα ακόλουθα instances:",
|
||||||
|
"reason": "Λόγος",
|
||||||
|
"simple_policies": "Πολιτικές του instance"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"staff": "Προσωπικό"
|
||||||
|
},
|
||||||
|
"announcements": {
|
||||||
|
"all_day_prompt": "Αυτό είναι ένα ολοήμερο συμβάν",
|
||||||
|
"cancel_edit_action": "Ακύρωση",
|
||||||
|
"close_error": "Κλείσιμο",
|
||||||
|
"delete_action": "Διαγραφή",
|
||||||
|
"edit_action": "Επεξεργασία",
|
||||||
|
"end_time_display": "Λήγει στις {time}",
|
||||||
|
"end_time_prompt": "Λήξη: ",
|
||||||
|
"inactive_message": "Αυτή η ανακοίνωση είναι ανενεργή",
|
||||||
|
"page_header": "Ανακοινώσεις",
|
||||||
|
"post_action": "Ανάρτηση",
|
||||||
|
"title": "Ανακοίνωση"
|
||||||
|
},
|
||||||
|
"chats": {
|
||||||
|
"delete_confirm": "Θέλετε σίγουρα να διαγράψετε αυτό το μήνυμα;",
|
||||||
|
"empty_message_error": "Δε μπορεί να σταλεί κενό μήνυμα",
|
||||||
|
"error_sending_message": "Κάτι πήγε λάθος κατά την αποστολή του μηνύματος.",
|
||||||
|
"message_user": "Στείλε μήνυμα στον/στην {nickname}",
|
||||||
|
"more": "Περισσότερα",
|
||||||
|
"new": "Νέο Chat",
|
||||||
|
"you": "Εσείς:"
|
||||||
|
},
|
||||||
|
"display_date": {
|
||||||
|
"today": "Σήμερα"
|
||||||
|
},
|
||||||
|
"domain_mute_card": {
|
||||||
|
"mute": "Σίγαση"
|
||||||
|
},
|
||||||
|
"emoji": {
|
||||||
|
"add_emoji": "Εισαγωγή emoji",
|
||||||
|
"load_all": "Φόρτωση όλων των {emojiAmount} emoji",
|
||||||
|
"recent": "Χρησιμοποιήθηκαν πρόσφατα",
|
||||||
|
"search_emoji": "Αναζήτηση για ένα emoji",
|
||||||
|
"stickers": "Αυτοκόλλητα"
|
||||||
|
},
|
||||||
|
"errors": {
|
||||||
|
"storage_unavailable": "Το Pleroma δε μπόρεσε να προσπελάσει τον αποθηκευτικό χώρο του browser. Η σύνδεσή σας ή οι τοπικές ρυθμίσεις σας δε θα αποθηκευτούν και μπορεί να αντιμετωπίσετε απρόοπτα θέματα. Προσπαθήστε να ενεργοποιήσετε τα cookies."
|
||||||
|
},
|
||||||
|
"exporter": {
|
||||||
|
"export": "Εξαγωγή"
|
||||||
|
},
|
||||||
|
"features_panel": {
|
||||||
|
"text_limit": "Όριο κειμένου"
|
||||||
|
},
|
||||||
|
"file_type": {
|
||||||
|
"audio": "Ήχος",
|
||||||
|
"file": "Αρχείο",
|
||||||
|
"image": "Εικόνα",
|
||||||
|
"video": "Βίντεο"
|
||||||
|
},
|
||||||
|
"general": {
|
||||||
|
"apply": "Εφαρμογή",
|
||||||
|
"cancel": "Ακύρωση",
|
||||||
|
"close": "Κλείσιμο",
|
||||||
|
"disable": "Απενεργοποίηση",
|
||||||
|
"enable": "Ενεργοποίηση",
|
||||||
|
"error_retry": "Παρακαλώ δοκιμάστε ξανά",
|
||||||
|
"flash_content": "Κάντε κλικ για την εμφάνιση Flash περιεχομένου με τη χρήση του Ruffle (Πειραματικό, μπορεί να μη λειτουργεί).",
|
||||||
|
"loading": "Φόρτωση…",
|
||||||
|
"more": "Περισσότερα",
|
||||||
|
"optional": "προαιρετικό",
|
||||||
|
"retry": "Δοκιμάστε ξανά",
|
||||||
|
"role": {
|
||||||
|
"admin": "Διαχειριστής",
|
||||||
|
"moderator": "Συντονιστής"
|
||||||
|
},
|
||||||
|
"scope_in_timeline": {
|
||||||
|
"direct": "Άμεσο",
|
||||||
|
"local": "Τοπικό",
|
||||||
|
"private": "Μόνο για ακόλουθους",
|
||||||
|
"public": "Δημόσιο",
|
||||||
|
"unlisted": "Εκτός Λίστας"
|
||||||
|
},
|
||||||
|
"show_less": "Δείξε λιγότερα",
|
||||||
|
"show_more": "Δείξε περισσότερα"
|
||||||
|
},
|
||||||
|
"image_cropper": {
|
||||||
|
"cancel": "Ακύρωση",
|
||||||
|
"crop_picture": "Περικοπή εικόνας",
|
||||||
|
"save": "Αποθήκευση",
|
||||||
|
"save_without_cropping": "Αποθήκευση χωρίς περικοπή"
|
||||||
|
},
|
||||||
|
"importer": {
|
||||||
|
"success": "Εισήχθη επιτυχώς."
|
||||||
|
},
|
||||||
|
"languages": {
|
||||||
|
"ar": "Αραβικά",
|
||||||
|
"az": "Αζερικά",
|
||||||
|
"bg": "Βουλγαρικά",
|
||||||
|
"cs": "Τσεχικά",
|
||||||
|
"da": "Δανικά",
|
||||||
|
"de": "Γερμανικά",
|
||||||
|
"el": "Ελληνικά",
|
||||||
|
"en": "Αγγλικά",
|
||||||
|
"eo": "Εσπεράντο",
|
||||||
|
"es": "Ισπανικά",
|
||||||
|
"fa": "Περσικά",
|
||||||
|
"fi": "Φινλανδικά",
|
||||||
|
"fr": "Γαλλικά",
|
||||||
|
"ga": "Ιρλανδικά",
|
||||||
|
"he": "Εβραϊκά",
|
||||||
|
"hi": "Χίντι",
|
||||||
|
"hu": "Ουγγρικά",
|
||||||
|
"id": "Ινδονησιακά",
|
||||||
|
"it": "Ιταλικά",
|
||||||
|
"ja": "Ιαπωνικά",
|
||||||
|
"ko": "Κορεατικά",
|
||||||
|
"lt": "Λιθουανικά",
|
||||||
|
"lv": "Λετονικά",
|
||||||
|
"nl": "Ολλανδικά",
|
||||||
|
"pl": "Πολωνικά",
|
||||||
|
"pt": "Πορτογαλικά",
|
||||||
|
"ru": "Ρωσικά",
|
||||||
|
"sk": "Σλοβακικά",
|
||||||
|
"sv": "Σουηδικά",
|
||||||
|
"tr": "Τουρκικά",
|
||||||
|
"translated_from": {
|
||||||
|
"ar": "Μεταφράστηκε από τα @:languages.ar",
|
||||||
|
"az": "Μεταφράστηκε από τα @:languages.az",
|
||||||
|
"bg": "Μεταφράστηκε από τα @:languages.bg",
|
||||||
|
"cs": "Μεταφράστηκε από τα @:languages.cs",
|
||||||
|
"da": "Μεταφράστηκε από τα @:languages.da",
|
||||||
|
"de": "Μεταφράστηκε από τα @:languages.de",
|
||||||
|
"el": "Μεταφράστηκε από τα @:languages.el",
|
||||||
|
"en": "Μεταφράστηκε από τα @:languages.en",
|
||||||
|
"eo": "Μεταφράστηκε από τα @:languages.eo",
|
||||||
|
"es": "Μεταφράστηκε από τα @:languages.es",
|
||||||
|
"fa": "Μεταφράστηκε από τα @:languages.fa",
|
||||||
|
"fi": "Μεταφράστηκε από τα @:languages.fi",
|
||||||
|
"fr": "Μεταφράστηκε από τα @:languages.fr",
|
||||||
|
"ga": "Μεταφράστηκε από τα @:languages.ga",
|
||||||
|
"he": "Μεταφράστηκε από τα @:languages.he",
|
||||||
|
"hi": "Μεταφράστηκε από τα @:languages.hi",
|
||||||
|
"hu": "Μεταφράστηκε από τα @:languages.hu",
|
||||||
|
"id": "Μεταφράστηκε από τα @:languages.id",
|
||||||
|
"it": "Μεταφράστηκε από τα @:languages.it",
|
||||||
|
"ja": "Μεταφράστηκε από τα @:languages.ja",
|
||||||
|
"ko": "Μεταφράστηκε από τα @:languages.ko",
|
||||||
|
"lt": "Μεταφράστηκε από τα @:languages.lt",
|
||||||
|
"lv": "Μεταφράστηκε από τα @:languages.lv",
|
||||||
|
"nl": "Μεταφράστηκε από τα @:languages.nl",
|
||||||
|
"pl": "Μεταφράστηκε από τα @:languages.pl",
|
||||||
|
"pt": "Μεταφράστηκε από τα @:languages.pt",
|
||||||
|
"ru": "Μεταφράστηκε από τα @:languages.ru",
|
||||||
|
"sk": "Μεταφράστηκε από τα @:languages.sk",
|
||||||
|
"sv": "Μεταφράστηκε από τα @:languages.sv",
|
||||||
|
"tr": "tr",
|
||||||
|
"uk": "Μεταφράστηκε από τα @:languages.uk",
|
||||||
|
"zh": "Μεταφράστηκε από τα @:languages.zh"
|
||||||
|
},
|
||||||
|
"uk": "Ουκρανικά",
|
||||||
|
"zh": "Κινεζικά"
|
||||||
|
},
|
||||||
|
"lists": {
|
||||||
|
"create": "Δημιουργία",
|
||||||
|
"delete": "Διαγραφή λίστας",
|
||||||
|
"lists": "Λίστες",
|
||||||
|
"new": "Νέα Λίστα",
|
||||||
|
"save": "Αποθήκευση αλλαγών",
|
||||||
|
"search": "Αναζήτηση χρηστών",
|
||||||
|
"title": "Τίτλος λίστας"
|
||||||
|
},
|
||||||
|
"login": {
|
||||||
|
"authentication_code": "Κωδικός επαλήθευσης",
|
||||||
|
"description": "Σύνδεση με OAuth",
|
||||||
|
"enter_recovery_code": "Εισάγετε τον κωδικό ανάκτησης",
|
||||||
|
"hint": "Συνδεθείτε για να μπείτε στη συζήτηση",
|
||||||
|
"login": "Σύνδεση",
|
||||||
|
"logout": "Αποσύνδεση",
|
||||||
|
"logout_confirm": "Θέλετε σίγουρα να αποσυνδεθείτε;",
|
||||||
|
"logout_confirm_accept_button": "Αποσύνδεση",
|
||||||
|
"logout_confirm_cancel_button": "Ακύρωση",
|
||||||
|
"logout_confirm_title": "Αποσύνδεση",
|
||||||
|
"password": "Κωδικός πρόσβασης",
|
||||||
|
"placeholder": "τοονομαχρηστημου",
|
||||||
|
"recovery_code": "Κωδικός ανάκτησης",
|
||||||
|
"register": "Εγγραφή",
|
||||||
|
"username": "Όνομα χρήστη"
|
||||||
|
},
|
||||||
|
"media_modal": {
|
||||||
|
"next": "Επόμενο",
|
||||||
|
"previous": "Προηγούμενο"
|
||||||
|
},
|
||||||
|
"moderation": {
|
||||||
|
"reports": {
|
||||||
|
"add_note": "Προσθήκη σημείωσης",
|
||||||
|
"close": "Κλείσιμο",
|
||||||
|
"delete_note": "Διαγραφή",
|
||||||
|
"delete_note_accept": "Ναι, διάγραψέ το",
|
||||||
|
"delete_note_cancel": "Όχι, κράτα το",
|
||||||
|
"delete_note_confirm": "Θέλετε σίγουρα να διαγράψετε αυτήν τη σημείωση;",
|
||||||
|
"note_placeholder": "Αφήστε μια σημείωση",
|
||||||
|
"notes": "{ count } σημείωση | { count } σημειώσεις",
|
||||||
|
"statuses": "{ count } ανάρτηση| { count } αναρτήσεις"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -260,9 +260,9 @@
|
||||||
"logout_confirm_cancel_button": "Cancel",
|
"logout_confirm_cancel_button": "Cancel",
|
||||||
"logout_confirm_title": "Log out",
|
"logout_confirm_title": "Log out",
|
||||||
"password": "Password",
|
"password": "Password",
|
||||||
"placeholder": "Your email or username",
|
"placeholder": "myusername",
|
||||||
"recovery_code": "Recovery code",
|
"recovery_code": "Recovery code",
|
||||||
"register": "Want to register?",
|
"register": "Register",
|
||||||
"username": "Username"
|
"username": "Username"
|
||||||
},
|
},
|
||||||
"media_modal": {
|
"media_modal": {
|
||||||
|
@ -380,6 +380,7 @@
|
||||||
"text/x.misskeymarkdown": "MFM"
|
"text/x.misskeymarkdown": "MFM"
|
||||||
},
|
},
|
||||||
"content_warning": "CW: content warning (optional)",
|
"content_warning": "CW: content warning (optional)",
|
||||||
|
"toggle_content_warning": "Toggle content warning",
|
||||||
"default": "Postin' from the den! Yeehaw!",
|
"default": "Postin' from the den! Yeehaw!",
|
||||||
"direct_warning_to_all": "This post will be visible to all the mentioned users.",
|
"direct_warning_to_all": "This post will be visible to all the mentioned users.",
|
||||||
"direct_warning_to_first_only": "This post will only be visible to the mentioned users at the beginning of the message.",
|
"direct_warning_to_first_only": "This post will only be visible to the mentioned users at the beginning of the message.",
|
||||||
|
@ -600,6 +601,7 @@
|
||||||
"list_aliases_error": "Error fetching aliases: {error}",
|
"list_aliases_error": "Error fetching aliases: {error}",
|
||||||
"list_backups_error": "Error fetching backup list: {error}",
|
"list_backups_error": "Error fetching backup list: {error}",
|
||||||
"lock_account_description": "Restrict your account to approved followers only",
|
"lock_account_description": "Restrict your account to approved followers only",
|
||||||
|
"permit_followback_description": "Automatically approve requests from already followed users",
|
||||||
"loop_video": "Loop videos",
|
"loop_video": "Loop videos",
|
||||||
"loop_video_silent_only": "Loop only videos without sound (i.e. Mastodon's \"gifs\")",
|
"loop_video_silent_only": "Loop only videos without sound (i.e. Mastodon's \"gifs\")",
|
||||||
"mascot": "Mastodon FE Mascot",
|
"mascot": "Mastodon FE Mascot",
|
||||||
|
@ -749,6 +751,7 @@
|
||||||
"show_nav_shortcuts": "Show extra navigation shortcuts in top panel",
|
"show_nav_shortcuts": "Show extra navigation shortcuts in top panel",
|
||||||
"show_panel_nav_shortcuts": "Show timeline navigation shortcuts at the top of the panel",
|
"show_panel_nav_shortcuts": "Show timeline navigation shortcuts at the top of the panel",
|
||||||
"show_scrollbars": "Show side column's scrollbars",
|
"show_scrollbars": "Show side column's scrollbars",
|
||||||
|
"show_page_backgrounds": "Show page-specific backgrounds, e.g. for user profiles",
|
||||||
"show_wider_shortcuts": "Show wider gap between top panel shortcuts",
|
"show_wider_shortcuts": "Show wider gap between top panel shortcuts",
|
||||||
"show_yous": "Show (You)s",
|
"show_yous": "Show (You)s",
|
||||||
"stop_gifs": "Pause animated images until you hover on them",
|
"stop_gifs": "Pause animated images until you hover on them",
|
||||||
|
@ -922,13 +925,16 @@
|
||||||
"upload_a_photo": "Upload a photo",
|
"upload_a_photo": "Upload a photo",
|
||||||
"useStreamingApi": "Receive posts and notifications real-time",
|
"useStreamingApi": "Receive posts and notifications real-time",
|
||||||
"useStreamingApiWarning": "It's cool use it. If it breaks refresh I guess?",
|
"useStreamingApiWarning": "It's cool use it. If it breaks refresh I guess?",
|
||||||
"use_at_icon": "Display {'@'} symbol as an icon instead of text",
|
|
||||||
"use_contain_fit": "Don't crop the attachment in thumbnails",
|
"use_contain_fit": "Don't crop the attachment in thumbnails",
|
||||||
"use_one_click_nsfw": "Open NSFW attachments with just one click",
|
"use_one_click_nsfw": "Open NSFW attachments with just one click",
|
||||||
"user_mutes": "Users",
|
"user_mutes": "Users",
|
||||||
"user_profile_default_tab": "Default Tab on User Profile",
|
"user_profile_default_tab": "Default Tab on User Profile",
|
||||||
"user_profiles": "User Profiles",
|
"user_profiles": "User Profiles",
|
||||||
"user_settings": "User Settings",
|
"user_settings": "User Settings",
|
||||||
|
"user_accepts_direct_messages_from": "Accept DMs From",
|
||||||
|
"user_accepts_direct_messages_from_everybody": "Everybody",
|
||||||
|
"user_accepts_direct_messages_from_nobody": "Nobody",
|
||||||
|
"user_accepts_direct_messages_from_people_i_follow": "People I follow",
|
||||||
"valid_until": "Valid until",
|
"valid_until": "Valid until",
|
||||||
"values": {
|
"values": {
|
||||||
"false": "no",
|
"false": "no",
|
||||||
|
|
|
@ -84,6 +84,7 @@
|
||||||
"keep_open": "Mantener el selector abierto",
|
"keep_open": "Mantener el selector abierto",
|
||||||
"load_all": "Cargando todos los {emojiAmount} emoji",
|
"load_all": "Cargando todos los {emojiAmount} emoji",
|
||||||
"load_all_hint": "Cargado el primer emoji {saneAmount}, cargar todos los emoji puede causar problemas de rendimiento.",
|
"load_all_hint": "Cargado el primer emoji {saneAmount}, cargar todos los emoji puede causar problemas de rendimiento.",
|
||||||
|
"recent": "Recientemente usado",
|
||||||
"search_emoji": "Buscar un emoji",
|
"search_emoji": "Buscar un emoji",
|
||||||
"stickers": "Pegatinas",
|
"stickers": "Pegatinas",
|
||||||
"unicode": "Emojis unicode"
|
"unicode": "Emojis unicode"
|
||||||
|
@ -915,13 +916,20 @@
|
||||||
"token": "Token",
|
"token": "Token",
|
||||||
"tooltipRadius": "Información/alertas",
|
"tooltipRadius": "Información/alertas",
|
||||||
"translation_language": "Idioma de traducción automática",
|
"translation_language": "Idioma de traducción automática",
|
||||||
|
"tree_advanced": "Mostrar botones extras para abrir y cerrar la cadena de réplicas en los hilos",
|
||||||
"type_domains_to_mute": "Buscar dominios para silenciar",
|
"type_domains_to_mute": "Buscar dominios para silenciar",
|
||||||
"upload_a_photo": "Subir una foto",
|
"upload_a_photo": "Subir una foto",
|
||||||
"useStreamingApi": "Recibir publicaciones y notificaciones en tiempo real",
|
"useStreamingApi": "Recibir publicaciones y notificaciones en tiempo real",
|
||||||
"useStreamingApiWarning": "(no recomendado, experimental, puede omitir publicaciones)",
|
"useStreamingApiWarning": "(no recomendado, experimental, puede omitir publicaciones)",
|
||||||
|
"use_blurhash": "Usar miniaturas borrosas para las imágenes sensibles",
|
||||||
"use_contain_fit": "No recortar los adjuntos en miniaturas",
|
"use_contain_fit": "No recortar los adjuntos en miniaturas",
|
||||||
"use_one_click_nsfw": "Abrir los adjuntos NSFW con un solo click",
|
"use_one_click_nsfw": "Abrir los adjuntos NSFW con un solo click",
|
||||||
|
"user_accepts_direct_messages_from": "Aceptar mensajes directos de",
|
||||||
|
"user_accepts_direct_messages_from_everybody": "Todos",
|
||||||
|
"user_accepts_direct_messages_from_nobody": "Nadie",
|
||||||
|
"user_accepts_direct_messages_from_people_i_follow": "Personas que sigo",
|
||||||
"user_mutes": "Usuarios",
|
"user_mutes": "Usuarios",
|
||||||
|
"user_profiles": "Perfiles de usuario",
|
||||||
"user_settings": "Ajustes del Usuario",
|
"user_settings": "Ajustes del Usuario",
|
||||||
"valid_until": "Válido hasta",
|
"valid_until": "Válido hasta",
|
||||||
"values": {
|
"values": {
|
||||||
|
@ -934,26 +942,61 @@
|
||||||
"title": "Versión"
|
"title": "Versión"
|
||||||
},
|
},
|
||||||
"virtual_scrolling": "Optimizar la representación de la linea temporal",
|
"virtual_scrolling": "Optimizar la representación de la linea temporal",
|
||||||
"word_filter": "Filtro de palabras"
|
"word_filter": "Filtro de palabras",
|
||||||
|
"wordfilter": "Filtro de palabras"
|
||||||
|
},
|
||||||
|
"settings_profile": {
|
||||||
|
"creating": "Creando un nuevo perfil de configuración \"{profile}\"...",
|
||||||
|
"synchronization_error": "No se pudo sincronizar la configuración: {err}",
|
||||||
|
"synchronized": "¡Ajustes sincronizados!",
|
||||||
|
"synchronizing": "Sincronizando los ajustes de perfil \"{profile}\"..."
|
||||||
},
|
},
|
||||||
"status": {
|
"status": {
|
||||||
|
"ancestor_follow": "Vea {numReplies} respuesta en esta publicación | Ver otras {numReplies} respuestas en esta publicación",
|
||||||
|
"ancestor_follow_with_icon": "{icon} {text}",
|
||||||
|
"attachment_stop_flash": "Parar el reproductor Flash",
|
||||||
"bookmark": "Marcar",
|
"bookmark": "Marcar",
|
||||||
"copy_link": "Copiar el enlace al estado",
|
"collapse_attachments": "Minimizar adjuntos",
|
||||||
"delete": "Eliminar publicación",
|
"copy_link": "Copiar el enlace al mensaje",
|
||||||
"delete_confirm": "¿Realmente quieres borrar la publicación?",
|
"delete": "Eliminar mensaje",
|
||||||
|
"delete_confirm": "¿Realmente quieres borrar el mensaje?",
|
||||||
|
"delete_confirm_accept_button": "Sí, elimínelo",
|
||||||
|
"delete_confirm_cancel_button": "No, mantenerlo",
|
||||||
|
"delete_confirm_title": "Confirmar la eliminación",
|
||||||
|
"edit": "Editar",
|
||||||
|
"edit_history": "Editar el historial",
|
||||||
|
"edit_history_modal_title": "Editado {historyCount} vez | Editado {historyCount} veces",
|
||||||
|
"edited_at": "Editado {time}",
|
||||||
"expand": "Expandir",
|
"expand": "Expandir",
|
||||||
"external_source": "Fuente externa",
|
"external_source": "Fuente externa",
|
||||||
"favorites": "Favoritos",
|
"favorites": "Favoritos",
|
||||||
|
"hide_attachment": "Ocultar adjuntos",
|
||||||
"hide_content": "Ocultar el contenido",
|
"hide_content": "Ocultar el contenido",
|
||||||
"hide_full_subject": "Ocultar el tema completo",
|
"hide_full_subject": "Ocultar la advertencia de contenido",
|
||||||
|
"many_attachments": "El mensaje tiene {number} adjunto | El mensaje tiene {number} adjuntos",
|
||||||
"mentions": "Menciones",
|
"mentions": "Menciones",
|
||||||
|
"move_down": "Desplazar adjunto a la derecha",
|
||||||
|
"move_up": "Desplazar adjunto a la izquierda",
|
||||||
"mute_conversation": "Silenciar la conversación",
|
"mute_conversation": "Silenciar la conversación",
|
||||||
"nsfw": "NSFW (No apropiado para el trabajo)",
|
"nsfw": "NSFW (No apropiado para el trabajo)",
|
||||||
|
"open_gallery": "Abrir la galería",
|
||||||
|
"override_translation_source_language": "Anular el idioma de origen",
|
||||||
"pin": "Fijar en tu perfil",
|
"pin": "Fijar en tu perfil",
|
||||||
"pinned": "Fijado",
|
"pinned": "Fijado",
|
||||||
"plus_more": "+{number} más",
|
"plus_more": "+{number} más",
|
||||||
|
"redraft": "Eliminar y volver a redactar",
|
||||||
|
"redraft_confirm": "¿Realmente deseas eliminar y volver a redactar esta publicación? Las interacciones con la publicación original no se conservarán.",
|
||||||
|
"redraft_confirm_accept_button": "Sí, eliminar y volver a redactar",
|
||||||
|
"redraft_confirm_cancel_button": "No, conserva el original",
|
||||||
|
"redraft_confirm_title": "Confirmar eliminación y volver a redactar",
|
||||||
|
"remove_attachment": "Quitar archivo adjunto",
|
||||||
|
"repeat_confirm": "¿De verdad quieres repetir esta entrada?",
|
||||||
|
"repeat_confirm_accept_button": "Si, repítela",
|
||||||
|
"repeat_confirm_cancel_button": "No, no repitas",
|
||||||
|
"repeat_confirm_title": "Confirmar repetir",
|
||||||
"repeats": "Repetidos",
|
"repeats": "Repetidos",
|
||||||
"replies_list": "Respuestas:",
|
"replies_list": "Respuestas:",
|
||||||
|
"replies_list_with_others": "Ver {numReplies} respuesta | Ver {numReplies} respuestas más",
|
||||||
"reply_to": "Respondiendo a",
|
"reply_to": "Respondiendo a",
|
||||||
"show_content": "Mostrar el contenido",
|
"show_content": "Mostrar el contenido",
|
||||||
"show_full_subject": "Mostrar el tema completo",
|
"show_full_subject": "Mostrar el tema completo",
|
||||||
|
|
|
@ -425,6 +425,8 @@
|
||||||
"reason_placeholder": "Cette instance modère les inscriptions manuellement.\nExpliquer ce qui motive votre inscription à l'administration.",
|
"reason_placeholder": "Cette instance modère les inscriptions manuellement.\nExpliquer ce qui motive votre inscription à l'administration.",
|
||||||
"register": "Enregistrer",
|
"register": "Enregistrer",
|
||||||
"registration": "Inscription",
|
"registration": "Inscription",
|
||||||
|
"request_sent": "Votre demande d'enregistrement est en attente d'approbation. Vous recevrez un courriel lorsque votre compte sera approuvé.",
|
||||||
|
"request_sent_title": "Demande d'abonnement envoyée",
|
||||||
"token": "Jeton d'invitation",
|
"token": "Jeton d'invitation",
|
||||||
"username_placeholder": "ex : misato",
|
"username_placeholder": "ex : misato",
|
||||||
"validations": {
|
"validations": {
|
||||||
|
@ -918,7 +920,6 @@
|
||||||
"upload_a_photo": "Envoyer une photo",
|
"upload_a_photo": "Envoyer une photo",
|
||||||
"useStreamingApi": "Recevoir les messages et notifications en temps réel",
|
"useStreamingApi": "Recevoir les messages et notifications en temps réel",
|
||||||
"useStreamingApiWarning": "(Non recommandé, expérimental, connu pour rater des messages)",
|
"useStreamingApiWarning": "(Non recommandé, expérimental, connu pour rater des messages)",
|
||||||
"use_at_icon": "Afficher le symbol {'@'} comme une image",
|
|
||||||
"use_contain_fit": "Ne pas rogner les miniatures des pièces-jointes",
|
"use_contain_fit": "Ne pas rogner les miniatures des pièces-jointes",
|
||||||
"use_one_click_nsfw": "Ouvrir les pièces-jointes sensibles avec un seul clic",
|
"use_one_click_nsfw": "Ouvrir les pièces-jointes sensibles avec un seul clic",
|
||||||
"user_mutes": "Comptes",
|
"user_mutes": "Comptes",
|
||||||
|
|
|
@ -1,11 +1,15 @@
|
||||||
{
|
{
|
||||||
"about": {
|
"about": {
|
||||||
|
"bubble_instances": "Instance Bubble Lokal",
|
||||||
|
"bubble_instances_description": "Instansi yang dipilih oleh admin untuk mewakili daerah lokal instansi ini",
|
||||||
"mrf": {
|
"mrf": {
|
||||||
"federation": "Federasi",
|
"federation": "Federasi",
|
||||||
"keyword": {
|
"keyword": {
|
||||||
"ftl_removal": "Penghapusan dari Linimasa \"Jaringan Yang Dikenal\"",
|
"ftl_removal": "Penghapusan dari Linimasa \"Jaringan Yang Dikenal\"",
|
||||||
"is_replaced_by": "→",
|
"is_replaced_by": "→",
|
||||||
"reject": "Tolak"
|
"keyword_policies": "Kebijakan Kata Kunci",
|
||||||
|
"reject": "Tolak",
|
||||||
|
"replace": "Ganti"
|
||||||
},
|
},
|
||||||
"mrf_policies": "Kebijakan MRF yang diaktifkan",
|
"mrf_policies": "Kebijakan MRF yang diaktifkan",
|
||||||
"mrf_policies_desc": "Kebijakan MRF memanipulasi federasi yang terjadi pada instansi ini. Kebijakan berikut adalah yang aktif:",
|
"mrf_policies_desc": "Kebijakan MRF memanipulasi federasi yang terjadi pada instansi ini. Kebijakan berikut adalah yang aktif:",
|
||||||
|
@ -80,6 +84,7 @@
|
||||||
"keep_open": "Tetap buka pemilih",
|
"keep_open": "Tetap buka pemilih",
|
||||||
"load_all": "Memuat semua {emojiAmount} emoji",
|
"load_all": "Memuat semua {emojiAmount} emoji",
|
||||||
"load_all_hint": "Memuat {saneAmount} emoji pertama, memuat semua emoji dapat menyebabkan masalah performa.",
|
"load_all_hint": "Memuat {saneAmount} emoji pertama, memuat semua emoji dapat menyebabkan masalah performa.",
|
||||||
|
"recent": "Baru-baru ini digunakan",
|
||||||
"search_emoji": "Cari emoji",
|
"search_emoji": "Cari emoji",
|
||||||
"stickers": "Stiker",
|
"stickers": "Stiker",
|
||||||
"unicode": "Emoji Unicode"
|
"unicode": "Emoji Unicode"
|
||||||
|
@ -93,9 +98,11 @@
|
||||||
},
|
},
|
||||||
"features_panel": {
|
"features_panel": {
|
||||||
"media_proxy": "Proxy media",
|
"media_proxy": "Proxy media",
|
||||||
|
"scope_options": "Opsi cakupan",
|
||||||
"text_limit": "Batas teks",
|
"text_limit": "Batas teks",
|
||||||
"title": "Fitur-fitur",
|
"title": "Fitur-fitur",
|
||||||
"upload_limit": "Batas unggahan"
|
"upload_limit": "Batas unggahan",
|
||||||
|
"who_to_follow": "Siapa untuk diikuti"
|
||||||
},
|
},
|
||||||
"file_type": {
|
"file_type": {
|
||||||
"audio": "Audio",
|
"audio": "Audio",
|
||||||
|
@ -113,6 +120,7 @@
|
||||||
"close": "Tutup",
|
"close": "Tutup",
|
||||||
"confirm": "Konfirmasi",
|
"confirm": "Konfirmasi",
|
||||||
"disable": "Nonaktifkan",
|
"disable": "Nonaktifkan",
|
||||||
|
"dismiss": "Tutup",
|
||||||
"enable": "Aktifkan",
|
"enable": "Aktifkan",
|
||||||
"error_retry": "Harap coba lagi",
|
"error_retry": "Harap coba lagi",
|
||||||
"flash_content": "Klik untuk menampilkan konten Flash menggunakan Ruffle (Eksperimental, mungkin tidak bekerja).",
|
"flash_content": "Klik untuk menampilkan konten Flash menggunakan Ruffle (Eksperimental, mungkin tidak bekerja).",
|
||||||
|
@ -132,7 +140,8 @@
|
||||||
"direct": "Langsung",
|
"direct": "Langsung",
|
||||||
"local": "Lokal - hanya instansi kamu yang dapat melihat postingan ini",
|
"local": "Lokal - hanya instansi kamu yang dapat melihat postingan ini",
|
||||||
"private": "Hanya pengikut",
|
"private": "Hanya pengikut",
|
||||||
"public": "Publik"
|
"public": "Publik",
|
||||||
|
"unlisted": "Tidak Tercantum"
|
||||||
},
|
},
|
||||||
"show_less": "Tampilkan lebih sedikit",
|
"show_less": "Tampilkan lebih sedikit",
|
||||||
"show_more": "Tampilkan lebih banyak",
|
"show_more": "Tampilkan lebih banyak",
|
||||||
|
@ -227,6 +236,7 @@
|
||||||
"lists": {
|
"lists": {
|
||||||
"create": "Buat",
|
"create": "Buat",
|
||||||
"delete": "Hapus daftar",
|
"delete": "Hapus daftar",
|
||||||
|
"following_only": "Batas mengikuti",
|
||||||
"lists": "Daftar",
|
"lists": "Daftar",
|
||||||
"new": "Buat Daftar",
|
"new": "Buat Daftar",
|
||||||
"save": "Simpan perubahan",
|
"save": "Simpan perubahan",
|
||||||
|
@ -276,6 +286,7 @@
|
||||||
"note_placeholder": "Tinggalkan catatan",
|
"note_placeholder": "Tinggalkan catatan",
|
||||||
"notes": "{ count } catatan",
|
"notes": "{ count } catatan",
|
||||||
"reopen": "Buka kembali",
|
"reopen": "Buka kembali",
|
||||||
|
"report": "Laporan di",
|
||||||
"reports": "Laporan",
|
"reports": "Laporan",
|
||||||
"resolve": "Selesaikan",
|
"resolve": "Selesaikan",
|
||||||
"show_closed": "Tampilkan yang telah ditutup",
|
"show_closed": "Tampilkan yang telah ditutup",
|
||||||
|
@ -291,6 +302,8 @@
|
||||||
"administration": "Administrasi",
|
"administration": "Administrasi",
|
||||||
"announcements": "Pengumuman",
|
"announcements": "Pengumuman",
|
||||||
"back": "Kembali",
|
"back": "Kembali",
|
||||||
|
"bookmarks": "Bookmark",
|
||||||
|
"bubble_timeline": "Timeline Bubble",
|
||||||
"bubble_timeline_description": "Postingan dari instansi yang dekat dengan instansimu, yang direkomendasikan oleh admin kamu",
|
"bubble_timeline_description": "Postingan dari instansi yang dekat dengan instansimu, yang direkomendasikan oleh admin kamu",
|
||||||
"chats": "Obrolan",
|
"chats": "Obrolan",
|
||||||
"dms": "Pesan langsung",
|
"dms": "Pesan langsung",
|
||||||
|
@ -309,7 +322,8 @@
|
||||||
"timelines": "Linimasa",
|
"timelines": "Linimasa",
|
||||||
"twkn": "Jaringan Yang Dikenal",
|
"twkn": "Jaringan Yang Dikenal",
|
||||||
"twkn_timeline_description": "Postingan dari seluruh jaringan",
|
"twkn_timeline_description": "Postingan dari seluruh jaringan",
|
||||||
"user_search": "Penelusuran Pengguna"
|
"user_search": "Penelusuran Pengguna",
|
||||||
|
"who_to_follow": "Siapa untuk diikuti"
|
||||||
},
|
},
|
||||||
"notifications": {
|
"notifications": {
|
||||||
"broken_favorite": "Postingan tak dikenal, mencarinya…",
|
"broken_favorite": "Postingan tak dikenal, mencarinya…",
|
||||||
|
@ -385,7 +399,8 @@
|
||||||
"direct": "Langsung - posting hanya kepada pengguna yang disebut",
|
"direct": "Langsung - posting hanya kepada pengguna yang disebut",
|
||||||
"local": "Lokal - postingan tidak akan difederasi",
|
"local": "Lokal - postingan tidak akan difederasi",
|
||||||
"private": "Hanya-pengikut - posting hanya kepada pengikut",
|
"private": "Hanya-pengikut - posting hanya kepada pengikut",
|
||||||
"public": "Publik - posting ke linimasa publik"
|
"public": "Publik - posting ke linimasa publik",
|
||||||
|
"unlisted": "Tidak Tercantum - Tidak memposting ke timeline publik"
|
||||||
},
|
},
|
||||||
"scope_notice": {
|
"scope_notice": {
|
||||||
"local": "Postingan ini tidak akan terlihat di instansi lain",
|
"local": "Postingan ini tidak akan terlihat di instansi lain",
|
||||||
|
@ -402,6 +417,7 @@
|
||||||
"captcha": "CAPTCHA",
|
"captcha": "CAPTCHA",
|
||||||
"email": "Surel",
|
"email": "Surel",
|
||||||
"email_language": "Dalam bahasa apa kamu ingin menerima surel dari server ini?",
|
"email_language": "Dalam bahasa apa kamu ingin menerima surel dari server ini?",
|
||||||
|
"fullname": "Tampilan Nama",
|
||||||
"fullname_placeholder": "cth. Atsuko Kagari",
|
"fullname_placeholder": "cth. Atsuko Kagari",
|
||||||
"new_captcha": "Klik gambarnya untuk mendapatkan captcha baru",
|
"new_captcha": "Klik gambarnya untuk mendapatkan captcha baru",
|
||||||
"password_confirm": "Konfirmasi kata sandi",
|
"password_confirm": "Konfirmasi kata sandi",
|
||||||
|
@ -424,6 +440,7 @@
|
||||||
},
|
},
|
||||||
"remote_user_resolver": {
|
"remote_user_resolver": {
|
||||||
"error": "Tidak ditemukan.",
|
"error": "Tidak ditemukan.",
|
||||||
|
"remote_user_resolver": "Pencarian pengguna jarak jauh",
|
||||||
"searching_for": "Mencari"
|
"searching_for": "Mencari"
|
||||||
},
|
},
|
||||||
"search": {
|
"search": {
|
||||||
|
@ -437,16 +454,24 @@
|
||||||
"select_all": "Pilih semua"
|
"select_all": "Pilih semua"
|
||||||
},
|
},
|
||||||
"settings": {
|
"settings": {
|
||||||
|
"accent": "Aksen",
|
||||||
|
"account_alias": "Akun alias",
|
||||||
|
"account_alias_table_head": "Alias",
|
||||||
"account_backup": "Pencadangan akun",
|
"account_backup": "Pencadangan akun",
|
||||||
"account_backup_description": "Ini memungkinkan kamu untuk mengunduh arsip yang berisi informasi tentang akun dan postingan kamu, namun belum bisa diimpor ke akun Pleroma.",
|
"account_backup_description": "Ini memungkinkan kamu untuk mengunduh arsip yang berisi informasi tentang akun dan postingan kamu, namun belum bisa diimpor ke akun Pleroma.",
|
||||||
|
"account_backup_table_head": "Cadangan",
|
||||||
"account_privacy": "Privasi",
|
"account_privacy": "Privasi",
|
||||||
|
"add_alias_error": "Gagal menambahkan alias: {error}",
|
||||||
"add_backup": "Buat cadangan baru",
|
"add_backup": "Buat cadangan baru",
|
||||||
"add_backup_error": "Gagal menambahkan cadangan baru: {error}",
|
"add_backup_error": "Gagal menambahkan cadangan baru: {error}",
|
||||||
|
"added_alias": "Alias telah ditambahkan.",
|
||||||
"added_backup": "Cadangan baru ditambahkan.",
|
"added_backup": "Cadangan baru ditambahkan.",
|
||||||
"allow_following_move": "Ikuti otomatis apabila akun yang diikuti pindah",
|
"allow_following_move": "Ikuti otomatis apabila akun yang diikuti pindah",
|
||||||
|
"always_show_post_button": "Selalu tampilkan tombol posting baru yang mengambang",
|
||||||
"app_name": "Nama aplikasi",
|
"app_name": "Nama aplikasi",
|
||||||
"attachmentRadius": "Lampiran",
|
"attachmentRadius": "Lampiran",
|
||||||
"attachments": "Lampiran",
|
"attachments": "Lampiran",
|
||||||
|
"autohide_floating_post_button": "Sembunyikan tombol buat posting secara otomatis (Ponsel)",
|
||||||
"avatar": "Avatar",
|
"avatar": "Avatar",
|
||||||
"avatarAltRadius": "Avatar (notifikasi)",
|
"avatarAltRadius": "Avatar (notifikasi)",
|
||||||
"avatarRadius": "Avatar",
|
"avatarRadius": "Avatar",
|
||||||
|
@ -474,6 +499,8 @@
|
||||||
"changed_password": "Kata sandi berhasil diubah!",
|
"changed_password": "Kata sandi berhasil diubah!",
|
||||||
"chatMessageRadius": "Pesan obrolan",
|
"chatMessageRadius": "Pesan obrolan",
|
||||||
"checkboxRadius": "Kotak centang",
|
"checkboxRadius": "Kotak centang",
|
||||||
|
"collapse_subject": "Tampilkan post dengan peringatan",
|
||||||
|
"columns": "Kolum",
|
||||||
"composing": "Menulis",
|
"composing": "Menulis",
|
||||||
"confirm_dialogs": "Perlukan konfirmasi sebelum:",
|
"confirm_dialogs": "Perlukan konfirmasi sebelum:",
|
||||||
"confirm_dialogs_approve_follow": "Menerima permintaan mengikuti",
|
"confirm_dialogs_approve_follow": "Menerima permintaan mengikuti",
|
||||||
|
@ -484,17 +511,23 @@
|
||||||
"confirm_dialogs_repeat": "Mengulangi postingan",
|
"confirm_dialogs_repeat": "Mengulangi postingan",
|
||||||
"confirm_dialogs_unfollow": "Berhenti mengikuti seseorang",
|
"confirm_dialogs_unfollow": "Berhenti mengikuti seseorang",
|
||||||
"confirm_new_password": "Konfirmasi kata sandi baru",
|
"confirm_new_password": "Konfirmasi kata sandi baru",
|
||||||
|
"confirmation_dialogs": "Opsi Konfirmasi",
|
||||||
"conversation_display": "Gaya tampilan percakapan",
|
"conversation_display": "Gaya tampilan percakapan",
|
||||||
|
"conversation_display_linear": "Gaya Linier",
|
||||||
"conversation_display_tree": "Bercabang",
|
"conversation_display_tree": "Bercabang",
|
||||||
|
"conversation_other_replies_button": "Tampilkan tombol \"Balasan lainnya\"",
|
||||||
"conversation_other_replies_button_below": "Di bawah postingan",
|
"conversation_other_replies_button_below": "Di bawah postingan",
|
||||||
"conversation_other_replies_button_inside": "Di postingan",
|
"conversation_other_replies_button_inside": "Di postingan",
|
||||||
"current_avatar": "Avatarmu saat ini",
|
"current_avatar": "Avatarmu saat ini",
|
||||||
|
"current_mascot": "Maskot utamamu",
|
||||||
"current_password": "Kata sandi saat ini",
|
"current_password": "Kata sandi saat ini",
|
||||||
"data_import_export_tab": "Impor / ekspor data",
|
"data_import_export_tab": "Impor / ekspor data",
|
||||||
|
"default_vis": "Cakupan visibilitas default",
|
||||||
"delete_account": "Hapus akun",
|
"delete_account": "Hapus akun",
|
||||||
"delete_account_description": "Hapus data kamu secara permanen dan nonaktifkan akunmu.",
|
"delete_account_description": "Hapus data kamu secara permanen dan nonaktifkan akunmu.",
|
||||||
"delete_account_error": "Ada masalah ketika menghapus akun kamu. Jika ini terus terjadi harap hubungi adminstrator instansi kamu.",
|
"delete_account_error": "Ada masalah ketika menghapus akun kamu. Jika ini terus terjadi harap hubungi adminstrator instansi kamu.",
|
||||||
"delete_account_instructions": "Ketik kata sandi kamu pada input di bawah untuk mengonfirmasi penghapusan akun.",
|
"delete_account_instructions": "Ketik kata sandi kamu pada input di bawah untuk mengonfirmasi penghapusan akun.",
|
||||||
|
"disable_sticky_headers": "Jangan tempel tajuk kolom ke bagian atas layar",
|
||||||
"discoverable": "Izinkan penelusuran akun ini pada hasil pencarian dan layanan lainnya",
|
"discoverable": "Izinkan penelusuran akun ini pada hasil pencarian dan layanan lainnya",
|
||||||
"domain_mutes": "Domain",
|
"domain_mutes": "Domain",
|
||||||
"download_backup": "Unduh",
|
"download_backup": "Unduh",
|
||||||
|
@ -505,6 +538,7 @@
|
||||||
"expert_mode": "Tampilkan pengaturan lanjutan",
|
"expert_mode": "Tampilkan pengaturan lanjutan",
|
||||||
"expire_posts_enabled": "Hapus postingan setelah jumlah hari yang ditentukan",
|
"expire_posts_enabled": "Hapus postingan setelah jumlah hari yang ditentukan",
|
||||||
"expire_posts_input_placeholder": "Jumlah hari",
|
"expire_posts_input_placeholder": "Jumlah hari",
|
||||||
|
"export_theme": "Simpan preset",
|
||||||
"file_export_import": {
|
"file_export_import": {
|
||||||
"backup_restore": "Pencadangan pengaturan",
|
"backup_restore": "Pencadangan pengaturan",
|
||||||
"backup_settings": "Cadangkan pengaturan ke berkas",
|
"backup_settings": "Cadangkan pengaturan ke berkas",
|
||||||
|
@ -519,7 +553,12 @@
|
||||||
},
|
},
|
||||||
"filtering": "Penyaringan",
|
"filtering": "Penyaringan",
|
||||||
"filtering_explanation": "Semua postingan yang mengandung kata-kata ini akan dibisukan, satu kata per baris",
|
"filtering_explanation": "Semua postingan yang mengandung kata-kata ini akan dibisukan, satu kata per baris",
|
||||||
|
"follow_export": "Ekspor Follow",
|
||||||
|
"follow_export_button": "Export yang kamu ikuti ke dalam file csv",
|
||||||
|
"follow_import": "Import pengikut",
|
||||||
"follow_import_error": "Terjadi kesalahan ketika mengimpor pengikut",
|
"follow_import_error": "Terjadi kesalahan ketika mengimpor pengikut",
|
||||||
|
"follows_imported": "Daftar mengikuti telah diimpor! Proses mungkin membutuhkan beberapa saat.",
|
||||||
|
"foreground": "Latar depan",
|
||||||
"fun": "Seru",
|
"fun": "Seru",
|
||||||
"general": "Umum",
|
"general": "Umum",
|
||||||
"greentext": "Panah meme",
|
"greentext": "Panah meme",
|
||||||
|
@ -527,17 +566,30 @@
|
||||||
"hide_attachments_in_convo": "Sembunyikan lampiran pada percakapan",
|
"hide_attachments_in_convo": "Sembunyikan lampiran pada percakapan",
|
||||||
"hide_attachments_in_tl": "Sembunyikan lampiran di linimasa",
|
"hide_attachments_in_tl": "Sembunyikan lampiran di linimasa",
|
||||||
"hide_bot_indication": "Sembunyikan tanda bot pada postingan",
|
"hide_bot_indication": "Sembunyikan tanda bot pada postingan",
|
||||||
|
"hide_favorites_description": "Jangan tunjukkan daftar kesukaan saya (orang masih mendapatkan notifikasi)",
|
||||||
"hide_filtered_statuses": "Sembunyikan semua postingan yang tersaring",
|
"hide_filtered_statuses": "Sembunyikan semua postingan yang tersaring",
|
||||||
"hide_followers_count_description": "Jangan tampilkan jumlah pengikut",
|
"hide_followers_count_description": "Jangan tampilkan jumlah pengikut",
|
||||||
"hide_followers_description": "Jangan tampilkan siapa yang mengikutiku",
|
"hide_followers_description": "Jangan tampilkan siapa yang mengikutiku",
|
||||||
"hide_follows_count_description": "Jangan tampilkan jumlah mengikuti",
|
"hide_follows_count_description": "Jangan tampilkan jumlah mengikuti",
|
||||||
"hide_follows_description": "Jangan tampilkan siapa yang aku ikuti",
|
"hide_follows_description": "Jangan tampilkan siapa yang aku ikuti",
|
||||||
|
"hide_isp": "Sembunyikan panel spesifik instansi",
|
||||||
|
"hide_list_aliases_error_action": "Tutup",
|
||||||
|
"hide_media_previews": "Sembunyikan pratinjau media",
|
||||||
"hide_muted_posts": "Sembunyikan postingan-postingan dari pengguna yang dibisukan",
|
"hide_muted_posts": "Sembunyikan postingan-postingan dari pengguna yang dibisukan",
|
||||||
|
"hide_muted_threads": "Sembunyikan thread yang dibisukan",
|
||||||
"hide_post_stats": "Sembunyikan statistik postingan (seperti jumlah favorit)",
|
"hide_post_stats": "Sembunyikan statistik postingan (seperti jumlah favorit)",
|
||||||
"hide_shoutbox": "Sembunyikan kotak suara instansi",
|
"hide_shoutbox": "Sembunyikan kotak suara instansi",
|
||||||
|
"hide_site_favicon": "Sembunyikan favicon instansi di panel atas",
|
||||||
|
"hide_site_name": "Sembunyikan nama instansi di panel atas",
|
||||||
|
"hide_threads_with_blocked_users": "Sembunyikan thread yang menyebut orang yang diblok",
|
||||||
"hide_user_stats": "Sembunyikan statistik pengguna (seperti jumlah pengikut)",
|
"hide_user_stats": "Sembunyikan statistik pengguna (seperti jumlah pengikut)",
|
||||||
"hide_wallpaper": "Sembunyikan latar belakang instansi",
|
"hide_wallpaper": "Sembunyikan latar belakang instansi",
|
||||||
|
"hide_wordfiltered_statuses": "Sembunyikan post yang disaring dengan kata",
|
||||||
"import_blocks_from_a_csv_file": "Impor blokiran dari berkas csv",
|
"import_blocks_from_a_csv_file": "Impor blokiran dari berkas csv",
|
||||||
|
"import_followers_from_a_csv_file": "Impor daftar mengikuti dari berkas csv",
|
||||||
|
"import_mutes_from_a_csv_file": "Impor daftar pembisuan dari berkas csv",
|
||||||
|
"import_theme": "Muat preset",
|
||||||
|
"inputRadius": "Bidang masukan",
|
||||||
"instance_default": "(bawaan: {value})",
|
"instance_default": "(bawaan: {value})",
|
||||||
"instance_default_simple": "(bawaan)",
|
"instance_default_simple": "(bawaan)",
|
||||||
"interface": "Antarmuka",
|
"interface": "Antarmuka",
|
||||||
|
@ -545,16 +597,23 @@
|
||||||
"invalid_theme_imported": "Berkas yang dipilih bukan sebuah tema yang didukung Pleroma. Tidak ada perubahan yang dibuat pada tema kamu.",
|
"invalid_theme_imported": "Berkas yang dipilih bukan sebuah tema yang didukung Pleroma. Tidak ada perubahan yang dibuat pada tema kamu.",
|
||||||
"limited_availability": "Tidak tersedia di browser kamu",
|
"limited_availability": "Tidak tersedia di browser kamu",
|
||||||
"links": "Tautan",
|
"links": "Tautan",
|
||||||
|
"list_aliases_error": "Gagal mengambil alias: {error}",
|
||||||
|
"list_backups_error": "Gagal mengambil daftar cadangan: {error}",
|
||||||
"lock_account_description": "Batasi akunmu kepada pengikut yang sudah disetujui saja",
|
"lock_account_description": "Batasi akunmu kepada pengikut yang sudah disetujui saja",
|
||||||
"loop_video": "Ulang-ulang video",
|
"loop_video": "Ulang-ulang video",
|
||||||
"loop_video_silent_only": "Ulang-ulang video tanpa suara (seperti \"gif\" Mastodon)",
|
"loop_video_silent_only": "Ulang-ulang video tanpa suara (seperti \"gif\" Mastodon)",
|
||||||
|
"mascot": "Maskot Mastodon FE",
|
||||||
|
"max_depth_in_thread": "Tingat thread maksimum yang ditampilkan oleh bawaan",
|
||||||
"max_thumbnails": "Jumlah thumbnail maksimum per postingan (kosong = tidak terbatas)",
|
"max_thumbnails": "Jumlah thumbnail maksimum per postingan (kosong = tidak terbatas)",
|
||||||
"mention_link_bolden_you": "Sorot sebutan kamu apabila kamu disebut",
|
"mention_link_bolden_you": "Sorot sebutan kamu apabila kamu disebut",
|
||||||
"mention_link_display": "Tampilkan tautan sebutan",
|
"mention_link_display": "Tampilkan tautan sebutan",
|
||||||
"mention_link_display_full": "selalu sebagai nama lengkap (cth. {'@'}foo{'@'}example.org)",
|
"mention_link_display_full": "selalu sebagai nama lengkap (cth. {'@'}foo{'@'}example.org)",
|
||||||
"mention_link_display_full_for_remote": "sebagai nama lengkap hanya untuk pengguna di instansi lain (cth. {'@'}foo{'@'}example.org)",
|
"mention_link_display_full_for_remote": "sebagai nama lengkap hanya untuk pengguna di instansi lain (cth. {'@'}foo{'@'}example.org)",
|
||||||
"mention_link_display_short": "selalu sebagai nama pendek (cth. {'@'}foo)",
|
"mention_link_display_short": "selalu sebagai nama pendek (cth. {'@'}foo)",
|
||||||
|
"mention_link_fade_domain": "Pudarkan domain (contoh: {'@'}example.org di {'@'}foo{'@'}example.org)",
|
||||||
"mention_link_show_avatar": "Tampilkan avatar pengguna di samping tautan",
|
"mention_link_show_avatar": "Tampilkan avatar pengguna di samping tautan",
|
||||||
|
"mention_link_show_tooltip": "Tunjukkan nama penuh pengguna sebagai tooltip untuk pengguna jauh",
|
||||||
|
"mention_links": "Tautan sebutan",
|
||||||
"mfa": {
|
"mfa": {
|
||||||
"authentication_methods": "Metode otentikasi",
|
"authentication_methods": "Metode otentikasi",
|
||||||
"confirm_and_enable": "Konfirmasi & aktifkan OTP",
|
"confirm_and_enable": "Konfirmasi & aktifkan OTP",
|
||||||
|
@ -563,6 +622,8 @@
|
||||||
"recovery_codes": "Kode pemulihan.",
|
"recovery_codes": "Kode pemulihan.",
|
||||||
"recovery_codes_warning": "Tulis kodenya atau simpan mereka di tempat yang aman - jika tidak kamu tidak akan melihat mereka lagi. Jika kamu tidak dapat mengakses aplikasi 2FA kamu dan kode pemulihanmu hilang, kamu tidak akan bisa mengakses akun kamu.",
|
"recovery_codes_warning": "Tulis kodenya atau simpan mereka di tempat yang aman - jika tidak kamu tidak akan melihat mereka lagi. Jika kamu tidak dapat mengakses aplikasi 2FA kamu dan kode pemulihanmu hilang, kamu tidak akan bisa mengakses akun kamu.",
|
||||||
"scan": {
|
"scan": {
|
||||||
|
"desc": "Menggunakan aplikasi dua-faktor kamu, pindai kode QR ini atau masukkan kunci teks:",
|
||||||
|
"secret_code": "Kunci",
|
||||||
"title": "Pindai"
|
"title": "Pindai"
|
||||||
},
|
},
|
||||||
"setup_otp": "Siapkan OTP",
|
"setup_otp": "Siapkan OTP",
|
||||||
|
@ -570,10 +631,19 @@
|
||||||
"verify": {
|
"verify": {
|
||||||
"desc": "Untuk mengaktifkan otentikasi dua-faktor, masukkan kode dari aplikasi dua-faktor kamu:"
|
"desc": "Untuk mengaktifkan otentikasi dua-faktor, masukkan kode dari aplikasi dua-faktor kamu:"
|
||||||
},
|
},
|
||||||
|
"wait_pre_setup_otp": "Pengaturan awal OTP",
|
||||||
"waiting_a_recovery_codes": "Menerima kode cadangan…",
|
"waiting_a_recovery_codes": "Menerima kode cadangan…",
|
||||||
"warning_of_generate_new_codes": "Ketika kamu menghasilkan kode pemulihan baru, kode lama kamu berhenti bekerja."
|
"warning_of_generate_new_codes": "Ketika kamu menghasilkan kode pemulihan baru, kode lama kamu berhenti bekerja."
|
||||||
},
|
},
|
||||||
|
"minimal_scopes_mode": "Minimalkan pilihan seleksi lingkup posting",
|
||||||
"more_settings": "Lebih banyak pengaturan",
|
"more_settings": "Lebih banyak pengaturan",
|
||||||
|
"move_account": "Pindahkan akun",
|
||||||
|
"move_account_error": "Gagal memindahkan akun: {error}",
|
||||||
|
"move_account_notes": "Jika kamu ingin memindahkan akun ini ke tempat lain, kamu harus pergi ke akun tujuan kamu dan menambahkan alias yang mengarah ke sini.",
|
||||||
|
"move_account_target": "Akun tujuan (contoh {example})",
|
||||||
|
"moved_account": "Akun telah dipindahkan.",
|
||||||
|
"mute_bot_posts": "Bisukan posting dari bot",
|
||||||
|
"mute_export": "Expor pembisuan",
|
||||||
"mutes_and_blocks": "Bisuan dan Blokiran",
|
"mutes_and_blocks": "Bisuan dan Blokiran",
|
||||||
"name": "Nama",
|
"name": "Nama",
|
||||||
"name_bio": "Nama & bio",
|
"name_bio": "Nama & bio",
|
||||||
|
@ -663,7 +733,7 @@
|
||||||
"fine_print": "Baca {0} kami untuk belajar sesuatu yang tak ada gunanya!",
|
"fine_print": "Baca {0} kami untuk belajar sesuatu yang tak ada gunanya!",
|
||||||
"header": "Pratinjau",
|
"header": "Pratinjau",
|
||||||
"header_faint": "Ini baik-baik saja",
|
"header_faint": "Ini baik-baik saja",
|
||||||
"input": "Baru saja mendarat di L.A.",
|
"input": "Baru saja mendarat di Luna Nova Academy",
|
||||||
"link": "sebuah tautan yang kecil nan bagus"
|
"link": "sebuah tautan yang kecil nan bagus"
|
||||||
},
|
},
|
||||||
"shadows": {
|
"shadows": {
|
||||||
|
@ -684,15 +754,15 @@
|
||||||
"use_source": "Versi baru"
|
"use_source": "Versi baru"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"subject_line_behavior": "Salin subyek ketika membalas",
|
"subject_line_behavior": "Salin peringatan isi ketika membalas",
|
||||||
"subject_line_email": "Seperti surel: \"re: subyek\"",
|
"subject_line_email": "Seperti surel: \"re: peringatan\"",
|
||||||
"subject_line_mastodon": "Seperti mastodon: salin saja",
|
"subject_line_mastodon": "Seperti mastodon: salin saja",
|
||||||
"subject_line_noop": "Jangan salin",
|
"subject_line_noop": "Jangan salin",
|
||||||
"text": "Teks",
|
"text": "Teks",
|
||||||
"theme": "Tema",
|
"theme": "Tema",
|
||||||
"token": "Token",
|
"token": "Token",
|
||||||
"upload_a_photo": "Unggah foto",
|
"upload_a_photo": "Unggah foto",
|
||||||
"useStreamingApiWarning": "(Tidak disarankan, eksperimental, diketahui dapat melewati postingan-postingan)",
|
"useStreamingApiWarning": "Ini bagus, gunakan. Kalau tidak jalan, mungkin segarkan halaman?",
|
||||||
"use_one_click_nsfw": "Buka lampiran NSFW hanya dengan satu klik",
|
"use_one_click_nsfw": "Buka lampiran NSFW hanya dengan satu klik",
|
||||||
"user_settings": "Pengaturan Pengguna",
|
"user_settings": "Pengaturan Pengguna",
|
||||||
"valid_until": "Valid hingga",
|
"valid_until": "Valid hingga",
|
||||||
|
@ -708,7 +778,7 @@
|
||||||
"word_filter": "Penyaring kata"
|
"word_filter": "Penyaring kata"
|
||||||
},
|
},
|
||||||
"status": {
|
"status": {
|
||||||
"delete": "Hapus status",
|
"delete": "Hapus post",
|
||||||
"delete_confirm": "Apakah kamu benar-benar ingin menghapus postingan ini?",
|
"delete_confirm": "Apakah kamu benar-benar ingin menghapus postingan ini?",
|
||||||
"favorites": "Favorit",
|
"favorites": "Favorit",
|
||||||
"hide_content": "",
|
"hide_content": "",
|
||||||
|
@ -721,7 +791,7 @@
|
||||||
"reply_to": "Balas ke",
|
"reply_to": "Balas ke",
|
||||||
"show_content": "",
|
"show_content": "",
|
||||||
"status_deleted": "Postingan ini telah dihapus",
|
"status_deleted": "Postingan ini telah dihapus",
|
||||||
"status_unavailable": "Status tidak tersedia",
|
"status_unavailable": "Post tidak tersedia",
|
||||||
"thread_muted_and_words": ", memiliki kata:",
|
"thread_muted_and_words": ", memiliki kata:",
|
||||||
"unmute_conversation": "Berhenti membisikan percakapan",
|
"unmute_conversation": "Berhenti membisikan percakapan",
|
||||||
"unpin": "Berhenti menyematkan dari profil"
|
"unpin": "Berhenti menyematkan dari profil"
|
||||||
|
@ -751,9 +821,9 @@
|
||||||
"timeline": {
|
"timeline": {
|
||||||
"conversation": "Percakapan",
|
"conversation": "Percakapan",
|
||||||
"error": "Terjadi kesalahan memuat linimasa: {0}",
|
"error": "Terjadi kesalahan memuat linimasa: {0}",
|
||||||
"no_more_statuses": "Tidak ada status lagi",
|
"no_more_statuses": "Tidak ada post lagi",
|
||||||
"no_retweet_hint": "Postingan ditandai sebagai hanya-pengikut atau langsung dan tidak dapat diulang atau dikutip",
|
"no_retweet_hint": "Postingan ditandai sebagai hanya-pengikut atau langsung dan tidak dapat diulang atau dikutip",
|
||||||
"no_statuses": "Tidak ada status",
|
"no_statuses": "Tidak ada post",
|
||||||
"reload": "Muat ulang",
|
"reload": "Muat ulang",
|
||||||
"repeated": "diulangi"
|
"repeated": "diulangi"
|
||||||
},
|
},
|
||||||
|
@ -817,7 +887,7 @@
|
||||||
"per_day": "per hari",
|
"per_day": "per hari",
|
||||||
"report": "Laporkan",
|
"report": "Laporkan",
|
||||||
"show_repeats": "Tampilkan ulangan",
|
"show_repeats": "Tampilkan ulangan",
|
||||||
"statuses": "Status",
|
"statuses": "Postingan",
|
||||||
"unblock": "Berhenti memblokir",
|
"unblock": "Berhenti memblokir",
|
||||||
"unmute": "Berhenti membisukan"
|
"unmute": "Berhenti membisukan"
|
||||||
},
|
},
|
||||||
|
|
190
src/i18n/it.json
190
src/i18n/it.json
|
@ -1,5 +1,7 @@
|
||||||
{
|
{
|
||||||
"about": {
|
"about": {
|
||||||
|
"bubble_instances": "Istanze della Bolla Locale",
|
||||||
|
"bubble_instances_description": "Istanze selezionate dagli amministratori per rappresentare l'area d'interesse dell'istanza",
|
||||||
"mrf": {
|
"mrf": {
|
||||||
"federation": "Federazione",
|
"federation": "Federazione",
|
||||||
"keyword": {
|
"keyword": {
|
||||||
|
@ -16,12 +18,15 @@
|
||||||
"accept_desc": "Questa stanza accetta messaggi solo dalle seguenti altre:",
|
"accept_desc": "Questa stanza accetta messaggi solo dalle seguenti altre:",
|
||||||
"ftl_removal": "Rimozione dalla sequenza federale",
|
"ftl_removal": "Rimozione dalla sequenza federale",
|
||||||
"ftl_removal_desc": "Questa stanza rimuove le seguenti dalla sequenza federale:",
|
"ftl_removal_desc": "Questa stanza rimuove le seguenti dalla sequenza federale:",
|
||||||
|
"instance": "Istanza",
|
||||||
"media_nsfw": "Allegati oscurati d'ufficio",
|
"media_nsfw": "Allegati oscurati d'ufficio",
|
||||||
"media_nsfw_desc": "Questa stanza oscura gli allegati dei messaggi provenienti da queste stanze:",
|
"media_nsfw_desc": "Questa stanza oscura gli allegati dei messaggi provenienti da queste stanze:",
|
||||||
"media_removal": "Rimozione multimedia",
|
"media_removal": "Rimozione multimedia",
|
||||||
"media_removal_desc": "Questa istanza rimuove gli allegati dalle seguenti stanze:",
|
"media_removal_desc": "Questa istanza rimuove gli allegati dalle seguenti stanze:",
|
||||||
|
"not_applicable": "N/D",
|
||||||
"quarantine": "Quarantena",
|
"quarantine": "Quarantena",
|
||||||
"quarantine_desc": "Questa stanza inoltrerà solo messaggi pubblici alle seguenti:",
|
"quarantine_desc": "Questa istanza non invierà post alle seguenti istanze:",
|
||||||
|
"reason": "Motivazione",
|
||||||
"reject": "Rifiuta",
|
"reject": "Rifiuta",
|
||||||
"reject_desc": "Questa stanza rifiuterà i messaggi provenienti dalle seguenti:",
|
"reject_desc": "Questa stanza rifiuterà i messaggi provenienti dalle seguenti:",
|
||||||
"simple_policies": "Regole specifiche alla stanza"
|
"simple_policies": "Regole specifiche alla stanza"
|
||||||
|
@ -29,6 +34,27 @@
|
||||||
},
|
},
|
||||||
"staff": "Responsabili"
|
"staff": "Responsabili"
|
||||||
},
|
},
|
||||||
|
"announcements": {
|
||||||
|
"all_day_prompt": "Evento lungo tutto il giorno",
|
||||||
|
"cancel_edit_action": "Annulla",
|
||||||
|
"close_error": "Chiudi",
|
||||||
|
"delete_action": "Elimina",
|
||||||
|
"edit_action": "Modifica",
|
||||||
|
"end_time_display": "Finisce alle {time}",
|
||||||
|
"end_time_prompt": "Ora di fine: ",
|
||||||
|
"inactive_message": "Questo annuncio è inattivo",
|
||||||
|
"mark_as_read_action": "Segna come già letto",
|
||||||
|
"page_header": "Annunci",
|
||||||
|
"post_action": "Post",
|
||||||
|
"post_error": "Errore: {error}",
|
||||||
|
"post_form_header": "Posta annuncio",
|
||||||
|
"post_placeholder": "Contenuto dell'annuncio",
|
||||||
|
"published_time_display": "Pubblicato alle {time}",
|
||||||
|
"start_time_display": "Inizia alle {time}",
|
||||||
|
"start_time_prompt": "Ora di inizio: ",
|
||||||
|
"submit_edit_action": "Invia",
|
||||||
|
"title": "Annuncio"
|
||||||
|
},
|
||||||
"chats": {
|
"chats": {
|
||||||
"chats": "Conversazioni",
|
"chats": "Conversazioni",
|
||||||
"delete": "Elimina",
|
"delete": "Elimina",
|
||||||
|
@ -58,6 +84,7 @@
|
||||||
"keep_open": "Tieni aperto il menù",
|
"keep_open": "Tieni aperto il menù",
|
||||||
"load_all": "Carico tutti i {emojiAmount} emoji",
|
"load_all": "Carico tutti i {emojiAmount} emoji",
|
||||||
"load_all_hint": "Primi {saneAmount} emoji caricati, caricarli tutti potrebbe causare rallentamenti.",
|
"load_all_hint": "Primi {saneAmount} emoji caricati, caricarli tutti potrebbe causare rallentamenti.",
|
||||||
|
"recent": "Usato di recente",
|
||||||
"search_emoji": "Cerca un emoji",
|
"search_emoji": "Cerca un emoji",
|
||||||
"stickers": "Adesivi",
|
"stickers": "Adesivi",
|
||||||
"unicode": "Emoji Unicode"
|
"unicode": "Emoji Unicode"
|
||||||
|
@ -109,6 +136,13 @@
|
||||||
"admin": "Amministratore",
|
"admin": "Amministratore",
|
||||||
"moderator": "Moderatore"
|
"moderator": "Moderatore"
|
||||||
},
|
},
|
||||||
|
"scope_in_timeline": {
|
||||||
|
"direct": "Diretto",
|
||||||
|
"local": "Locale - Solo la tua istanza può vedere questo post",
|
||||||
|
"private": "Solo per i seguaci",
|
||||||
|
"public": "Pubblico",
|
||||||
|
"unlisted": "Non elencato"
|
||||||
|
},
|
||||||
"show_less": "Ripiega",
|
"show_less": "Ripiega",
|
||||||
"show_more": "Mostra tutto",
|
"show_more": "Mostra tutto",
|
||||||
"submit": "Invia",
|
"submit": "Invia",
|
||||||
|
@ -131,6 +165,84 @@
|
||||||
"load_older": "Carica interazioni precedenti",
|
"load_older": "Carica interazioni precedenti",
|
||||||
"moves": "Utenti migrati"
|
"moves": "Utenti migrati"
|
||||||
},
|
},
|
||||||
|
"languages": {
|
||||||
|
"ar": "Arabo",
|
||||||
|
"az": "Azero",
|
||||||
|
"bg": "Bulgaro",
|
||||||
|
"cs": "Ceco",
|
||||||
|
"da": "Danese",
|
||||||
|
"de": "Tedesco",
|
||||||
|
"el": "Greco",
|
||||||
|
"en": "Inglese",
|
||||||
|
"eo": "Esperanto",
|
||||||
|
"es": "Spagnolo",
|
||||||
|
"fa": "Persiano",
|
||||||
|
"fi": "Finlandese",
|
||||||
|
"fr": "Francese",
|
||||||
|
"ga": "Irlandese",
|
||||||
|
"he": "Ebreo",
|
||||||
|
"hi": "Hindi",
|
||||||
|
"hu": "Ungherese",
|
||||||
|
"id": "Indonesiano",
|
||||||
|
"it": "Italiano",
|
||||||
|
"ja": "Giapponese",
|
||||||
|
"ko": "Coreano",
|
||||||
|
"lt": "Lituano",
|
||||||
|
"lv": "Lettone",
|
||||||
|
"nl": "Olandese",
|
||||||
|
"pl": "Polacco",
|
||||||
|
"pt": "Portoghese",
|
||||||
|
"ru": "Russo",
|
||||||
|
"sk": "Slovacco",
|
||||||
|
"sv": "Svedese",
|
||||||
|
"tr": "Turco",
|
||||||
|
"translated_from": {
|
||||||
|
"ar": "Tradotto dall' @:languages.ar",
|
||||||
|
"az": "Tradotto dall' @:languages.az",
|
||||||
|
"bg": "Tradotto dal @:languages.bg",
|
||||||
|
"cs": "Tradotto dal @:languages.cs",
|
||||||
|
"da": "Tradotto dal @:languages.da",
|
||||||
|
"de": "Tradotto dal @:languages.de",
|
||||||
|
"el": "Tradotto dal @:languages.el",
|
||||||
|
"en": "Tradotto dall' @:languages.en",
|
||||||
|
"eo": "Tradotto dal @:languages.eo",
|
||||||
|
"es": "Tradotto dallo @:languages.es",
|
||||||
|
"fa": "Tradotto dal @:languages.fa",
|
||||||
|
"fi": "Tradotto dal @:languages.fi",
|
||||||
|
"fr": "Tradotto dal @:languages.fr",
|
||||||
|
"ga": "Tradotto dal @:languages.ga",
|
||||||
|
"he": "Tradotto dal @:languages.he",
|
||||||
|
"hi": "Tradotto dal @:languages.hi",
|
||||||
|
"hu": "Tradotto dal @:languages.hu",
|
||||||
|
"id": "Tradotto dal @:languages.id",
|
||||||
|
"it": "Tradotto dall' @:languages.it",
|
||||||
|
"ja": "Tradotto dal @:languages.ja",
|
||||||
|
"ko": "Tradotto dal @:languages.ko",
|
||||||
|
"lt": "Tradotto dal @:languages.lt",
|
||||||
|
"lv": "Tradotto dal @:languages.lv",
|
||||||
|
"nl": "Tradotto dall' @:languages.nl",
|
||||||
|
"pl": "Tradotto dal @:languages.pl",
|
||||||
|
"pt": "Tradotto dal @:languages.pt",
|
||||||
|
"ru": "Tradotto dal @:languages.ru",
|
||||||
|
"sk": "Tradotto dal @:languages.sk",
|
||||||
|
"sv": "Tradotto dal @:languages.sv",
|
||||||
|
"tr": "Tradotto dal @:languages.tr",
|
||||||
|
"uk": "Tradotto dal @:languages.uk",
|
||||||
|
"zh": "Tradotto dal @:languages.zh"
|
||||||
|
},
|
||||||
|
"uk": "Ucraino",
|
||||||
|
"zh": "Cinese"
|
||||||
|
},
|
||||||
|
"lists": {
|
||||||
|
"create": "Crea",
|
||||||
|
"delete": "Elimina lista",
|
||||||
|
"following_only": "Limita a chi segui",
|
||||||
|
"lists": "Liste",
|
||||||
|
"new": "Nuova Lista",
|
||||||
|
"save": "Salva cambiamenti",
|
||||||
|
"search": "Cerca utenti",
|
||||||
|
"title": "Titolo della lista"
|
||||||
|
},
|
||||||
"login": {
|
"login": {
|
||||||
"authentication_code": "Codice di autenticazione",
|
"authentication_code": "Codice di autenticazione",
|
||||||
"description": "Accedi con OAuth",
|
"description": "Accedi con OAuth",
|
||||||
|
@ -143,6 +255,10 @@
|
||||||
"hint": "Accedi per conversare",
|
"hint": "Accedi per conversare",
|
||||||
"login": "Accedi",
|
"login": "Accedi",
|
||||||
"logout": "Disconnettiti",
|
"logout": "Disconnettiti",
|
||||||
|
"logout_confirm": "Sicuro di disconnetterti?",
|
||||||
|
"logout_confirm_accept_button": "Disconnetti",
|
||||||
|
"logout_confirm_cancel_button": "Annulla",
|
||||||
|
"logout_confirm_title": "Disconnetti",
|
||||||
"password": "Password",
|
"password": "Password",
|
||||||
"placeholder": "es. Lupo Lucio",
|
"placeholder": "es. Lupo Lucio",
|
||||||
"recovery_code": "Codice di recupero",
|
"recovery_code": "Codice di recupero",
|
||||||
|
@ -150,31 +266,67 @@
|
||||||
"username": "Nome utente"
|
"username": "Nome utente"
|
||||||
},
|
},
|
||||||
"media_modal": {
|
"media_modal": {
|
||||||
|
"counter": "{current} / {total}",
|
||||||
|
"hide": "Chiudi visualizzatore multimediale",
|
||||||
"next": "Prossimo",
|
"next": "Prossimo",
|
||||||
"previous": "Precedente"
|
"previous": "Precedente"
|
||||||
},
|
},
|
||||||
|
"moderation": {
|
||||||
|
"moderation": "Moderazione",
|
||||||
|
"reports": {
|
||||||
|
"add_note": "Aggiungi nota",
|
||||||
|
"close": "Chiudi",
|
||||||
|
"delete_note": "Elimina",
|
||||||
|
"delete_note_accept": "Si, eliminalo",
|
||||||
|
"delete_note_cancel": "No, lascialo stare",
|
||||||
|
"delete_note_confirm": "Sei sicurə di voler eliminare questa nota?",
|
||||||
|
"delete_note_title": "Conferma eliminazione",
|
||||||
|
"no_content": "Nessuna descrizione",
|
||||||
|
"no_reports": "Nessun report da mostrare",
|
||||||
|
"note_placeholder": "Lascia una nota",
|
||||||
|
"notes": "{ count } nota | { count } note",
|
||||||
|
"reopen": "Riapri",
|
||||||
|
"report": "Riporta su",
|
||||||
|
"reports": "Rapporti",
|
||||||
|
"resolve": "Risolvi",
|
||||||
|
"show_closed": "Mostra chiusi",
|
||||||
|
"statuses": "{ count } post| { count } post",
|
||||||
|
"tag_policy_notice": "Abilita il TagPolicy MRF per poter impostare restrizioni sui post",
|
||||||
|
"tags": "Imposta restrizioni sui post"
|
||||||
|
},
|
||||||
|
"statuses": "Post",
|
||||||
|
"users": "Utenti"
|
||||||
|
},
|
||||||
"nav": {
|
"nav": {
|
||||||
"about": "Informazioni",
|
"about": "Informazioni",
|
||||||
"administration": "Amministrazione",
|
"administration": "Amministrazione",
|
||||||
|
"announcements": "Annunci",
|
||||||
"back": "Indietro",
|
"back": "Indietro",
|
||||||
"bookmarks": "Segnalibri",
|
"bookmarks": "Segnalibri",
|
||||||
|
"bubble_timeline": "Timeline della Bolla Locale",
|
||||||
|
"bubble_timeline_description": "Post da istanze vicine alla tua e raccomandate dagli amministratori",
|
||||||
"chats": "Conversazioni",
|
"chats": "Conversazioni",
|
||||||
"dms": "Messaggi privati",
|
"dms": "Messaggi privati",
|
||||||
"friend_requests": "Vogliono seguirti",
|
"friend_requests": "Vogliono seguirti",
|
||||||
"home_timeline": "Sequenza personale",
|
"home_timeline": "Sequenza personale",
|
||||||
|
"home_timeline_description": "Post dalle persone che segui",
|
||||||
"interactions": "Interazioni",
|
"interactions": "Interazioni",
|
||||||
|
"lists": "Liste",
|
||||||
"mentions": "Menzioni",
|
"mentions": "Menzioni",
|
||||||
|
"moderation": "Moderazione",
|
||||||
"preferences": "Preferenze",
|
"preferences": "Preferenze",
|
||||||
|
"public_timeline_description": "Post pubblici da questa istanza",
|
||||||
"public_tl": "Sequenza pubblica",
|
"public_tl": "Sequenza pubblica",
|
||||||
"search": "Ricerca",
|
"search": "Ricerca",
|
||||||
"timeline": "Sequenza personale",
|
"timeline": "Sequenza personale",
|
||||||
"timelines": "Sequenze",
|
"timelines": "Sequenze",
|
||||||
"twkn": "Sequenza federale",
|
"twkn": "Sequenza federale",
|
||||||
|
"twkn_timeline_description": "Post da tutta la rete",
|
||||||
"user_search": "Ricerca utenti",
|
"user_search": "Ricerca utenti",
|
||||||
"who_to_follow": "Chi seguire"
|
"who_to_follow": "Chi seguire"
|
||||||
},
|
},
|
||||||
"notifications": {
|
"notifications": {
|
||||||
"broken_favorite": "Stato sconosciuto, lo sto cercando…",
|
"broken_favorite": "Post sconosciuto, lo sto cercando…",
|
||||||
"error": "Errore nel caricare le notifiche: {0}",
|
"error": "Errore nel caricare le notifiche: {0}",
|
||||||
"favorited_you": "ha gradito",
|
"favorited_you": "ha gradito",
|
||||||
"follow_request": "vuole seguirti",
|
"follow_request": "vuole seguirti",
|
||||||
|
@ -183,9 +335,10 @@
|
||||||
"migrated_to": "è migrato verso",
|
"migrated_to": "è migrato verso",
|
||||||
"no_more_notifications": "Fine delle notifiche",
|
"no_more_notifications": "Fine delle notifiche",
|
||||||
"notifications": "Notifiche",
|
"notifications": "Notifiche",
|
||||||
|
"poll_ended": "sondaggio terminato",
|
||||||
"reacted_with": "ha reagito con {0}",
|
"reacted_with": "ha reagito con {0}",
|
||||||
"read": "Letto!",
|
"read": "Letto!",
|
||||||
"repeated_you": "ha condiviso il tuo messaggio"
|
"repeated_you": "ha condiviso il tuo post"
|
||||||
},
|
},
|
||||||
"password_reset": {
|
"password_reset": {
|
||||||
"check_email": "Controlla la tua posta elettronica.",
|
"check_email": "Controlla la tua posta elettronica.",
|
||||||
|
@ -223,15 +376,20 @@
|
||||||
"text/bbcode": "BBCode",
|
"text/bbcode": "BBCode",
|
||||||
"text/html": "HTML",
|
"text/html": "HTML",
|
||||||
"text/markdown": "Markdown",
|
"text/markdown": "Markdown",
|
||||||
"text/plain": "Testo normale"
|
"text/plain": "Testo normale",
|
||||||
|
"text/x.misskeymarkdown": "MFM"
|
||||||
},
|
},
|
||||||
"content_warning": "Oggetto (facoltativo)",
|
"content_warning": "Contenuto Sensibile (facoltativo)",
|
||||||
"default": "Sono appena atterrato a Città Laggiù.",
|
"default": "Sono appena atterrato a Città Laggiù.",
|
||||||
"direct_warning_to_all": "Questo messaggio sarà visibile a tutti i menzionati.",
|
"direct_warning_to_all": "Questo messaggio sarà visibile a tutti i menzionati.",
|
||||||
"direct_warning_to_first_only": "Questo messaggio sarà visibile solo agli utenti menzionati in testa.",
|
"direct_warning_to_first_only": "Questo messaggio sarà visibile solo agli utenti menzionati in testa.",
|
||||||
|
"edit_remote_warning": "Le modifiche fatte al messaggio potrebbero non essere visibili su alcune istanze!",
|
||||||
|
"edit_status": "Modifica Stato",
|
||||||
|
"edit_unsupported_warning": "Sondaggi e menzioni non verranno cambiati in fase di modifica.",
|
||||||
"empty_status_error": "Aggiungi del testo o degli allegati",
|
"empty_status_error": "Aggiungi del testo o degli allegati",
|
||||||
"media_description": "Descrizione allegati",
|
"media_description": "Descrizione allegati",
|
||||||
"media_description_error": "Allegati non caricati, riprova",
|
"media_description_error": "Allegati non caricati, riprova",
|
||||||
|
"media_not_sensitive_warning": "C'è un Contenuto Sensibile, ma gli allegati non sono contrassegnati come sensibili!",
|
||||||
"new_status": "Nuovo messaggio",
|
"new_status": "Nuovo messaggio",
|
||||||
"post": "Pubblica",
|
"post": "Pubblica",
|
||||||
"posting": "Sto pubblicando",
|
"posting": "Sto pubblicando",
|
||||||
|
@ -239,21 +397,26 @@
|
||||||
"preview_empty": "Vuoto",
|
"preview_empty": "Vuoto",
|
||||||
"scope": {
|
"scope": {
|
||||||
"direct": "Diretto - Visibile solo agli utenti menzionati",
|
"direct": "Diretto - Visibile solo agli utenti menzionati",
|
||||||
|
"local": "Locale - non federare questo messaggio",
|
||||||
"private": "Solo per seguaci - Visibile solo dai tuoi seguaci",
|
"private": "Solo per seguaci - Visibile solo dai tuoi seguaci",
|
||||||
"public": "Pubblico - Visibile sulla sequenza pubblica",
|
"public": "Pubblico - Visibile sulla sequenza pubblica",
|
||||||
"unlisted": "Nascosto - Non visibile sulla sequenza pubblica"
|
"unlisted": "Nascosto - Non visibile sulla sequenza pubblica"
|
||||||
},
|
},
|
||||||
"scope_notice": {
|
"scope_notice": {
|
||||||
|
"local": "Questo messaggio non sarà visibile sulle altre istanze",
|
||||||
"private": "Questo messaggio sarà visibile solo ai tuoi seguaci",
|
"private": "Questo messaggio sarà visibile solo ai tuoi seguaci",
|
||||||
"public": "Questo messaggio sarà visibile a tutti",
|
"public": "Questo messaggio sarà visibile a tutti",
|
||||||
"unlisted": "Questo messaggio non sarà visibile sulla sequenza locale né su quella pubblica"
|
"unlisted": "Questo messaggio non sarà visibile sulla sequenza locale né su quella pubblica"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"registration": {
|
"registration": {
|
||||||
|
"awaiting_email_confirmation": "Il tuo account è stato registrato e un'email è stata inviata al tuo indirizzo. Controllala per completare la registrazione.",
|
||||||
|
"awaiting_email_confirmation_title": "Attendo la conferma dell'email",
|
||||||
"bio": "Introduzione",
|
"bio": "Introduzione",
|
||||||
"bio_placeholder": "es.\nCiao, sono Lupo Lucio.\nSono un lupo fantastico che vive nel Fantabosco. Forse mi hai visto alla Melevisione.",
|
"bio_placeholder": "es.\nCiao, sono Lupo Lucio.\nSono un lupo fantastico che vive nel Fantabosco. Forse mi hai visto alla Melevisione.",
|
||||||
"captcha": "CAPTCHA",
|
"captcha": "CAPTCHA",
|
||||||
"email": "Email",
|
"email": "Email",
|
||||||
|
"email_language": "In quale lingua vuoi ricevere email dal server?",
|
||||||
"fullname": "Nome visualizzato",
|
"fullname": "Nome visualizzato",
|
||||||
"fullname_placeholder": "es. Lupo Lucio",
|
"fullname_placeholder": "es. Lupo Lucio",
|
||||||
"new_captcha": "Clicca il captcha per averne uno nuovo",
|
"new_captcha": "Clicca il captcha per averne uno nuovo",
|
||||||
|
@ -262,6 +425,8 @@
|
||||||
"reason_placeholder": "L'amministratore esamina ciascuna richiesta.\nFornisci il motivo della tua iscrizione.",
|
"reason_placeholder": "L'amministratore esamina ciascuna richiesta.\nFornisci il motivo della tua iscrizione.",
|
||||||
"register": "Registrati",
|
"register": "Registrati",
|
||||||
"registration": "Registrazione",
|
"registration": "Registrazione",
|
||||||
|
"request_sent": "La richiesta di registrazione è stata inoltrata ad un amministratore. Riceverai un'email non appena il tuo account verrà approvato.",
|
||||||
|
"request_sent_title": "Richiesta di registrazione inviata",
|
||||||
"token": "Codice d'invito",
|
"token": "Codice d'invito",
|
||||||
"username_placeholder": "es. mister_wolf",
|
"username_placeholder": "es. mister_wolf",
|
||||||
"validations": {
|
"validations": {
|
||||||
|
@ -290,6 +455,17 @@
|
||||||
},
|
},
|
||||||
"settings": {
|
"settings": {
|
||||||
"accent": "Accento",
|
"accent": "Accento",
|
||||||
|
"account_alias": "Alias dell'account",
|
||||||
|
"account_alias_table_head": "Alias",
|
||||||
|
"account_backup": "Backup dell'account",
|
||||||
|
"account_backup_description": "Puoi scaricare un archivio con le tue informazioni ed i tuoi messaggi, ma non possono essere importati in un account Akkoma.",
|
||||||
|
"account_backup_table_head": "Backup",
|
||||||
|
"account_privacy": "Privacy",
|
||||||
|
"add_alias_error": "Errore durante l'aggiunta dell'alias: {error}",
|
||||||
|
"add_backup": "Crea un nuovo backup",
|
||||||
|
"add_backup_error": "Errore durante l'aggiunta di un nuovo backup: {error}",
|
||||||
|
"added_alias": "Alias aggiunto.",
|
||||||
|
"added_backup": "Nuovo backup aggiunto.",
|
||||||
"allow_following_move": "Consenti l'iscrizione automatica ai profili traslocati",
|
"allow_following_move": "Consenti l'iscrizione automatica ai profili traslocati",
|
||||||
"always_show_post_button": "Non nascondere il pulsante di composizione",
|
"always_show_post_button": "Non nascondere il pulsante di composizione",
|
||||||
"app_name": "Nome applicazione",
|
"app_name": "Nome applicazione",
|
||||||
|
@ -301,6 +477,7 @@
|
||||||
"avatarRadius": "Icone utente",
|
"avatarRadius": "Icone utente",
|
||||||
"avatar_size_instruction": "La taglia minima per l'icona personale è 150x150 pixel.",
|
"avatar_size_instruction": "La taglia minima per l'icona personale è 150x150 pixel.",
|
||||||
"background": "Sfondo",
|
"background": "Sfondo",
|
||||||
|
"backup_not_ready": "Questo backup non è ancora pronto.",
|
||||||
"bio": "Introduzione",
|
"bio": "Introduzione",
|
||||||
"block_export": "Esporta blocchi",
|
"block_export": "Esporta blocchi",
|
||||||
"block_export_button": "Esporta i tuoi blocchi in un file CSV",
|
"block_export_button": "Esporta i tuoi blocchi in un file CSV",
|
||||||
|
@ -322,7 +499,8 @@
|
||||||
"changed_password": "Password cambiata correttamente!",
|
"changed_password": "Password cambiata correttamente!",
|
||||||
"chatMessageRadius": "Messaggi istantanei",
|
"chatMessageRadius": "Messaggi istantanei",
|
||||||
"checkboxRadius": "Caselle di selezione",
|
"checkboxRadius": "Caselle di selezione",
|
||||||
"collapse_subject": "Ripiega messaggi con oggetto",
|
"collapse_subject": "Ripiega messaggi con Contenuto Sensibile",
|
||||||
|
"columns": "Colonne",
|
||||||
"composing": "Composizione",
|
"composing": "Composizione",
|
||||||
"confirm_new_password": "Conferma la nuova password",
|
"confirm_new_password": "Conferma la nuova password",
|
||||||
"current_avatar": "La tua icona attuale",
|
"current_avatar": "La tua icona attuale",
|
||||||
|
|
11
src/i18n/ja.json
Normal file
11
src/i18n/ja.json
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
"about": {
|
||||||
|
"mrf": {
|
||||||
|
"keyword": {
|
||||||
|
"is_replaced_by": "→",
|
||||||
|
"replace": "置き換える"
|
||||||
|
},
|
||||||
|
"mrf_policies": "有効なMRFポリシー"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -4,6 +4,8 @@
|
||||||
"mrf": {
|
"mrf": {
|
||||||
"federation": "フェデレーション",
|
"federation": "フェデレーション",
|
||||||
"keyword": {
|
"keyword": {
|
||||||
|
"ftl_removal": "「せつぞくしているすべてのネットワーク」タイムラインからのぞく",
|
||||||
|
"is_replaced_by": "→",
|
||||||
"keyword_policies": "キーワードポリシー",
|
"keyword_policies": "キーワードポリシー",
|
||||||
"reject": "おことわり",
|
"reject": "おことわり",
|
||||||
"replace": "おきかえ"
|
"replace": "おきかえ"
|
||||||
|
@ -119,7 +121,7 @@
|
||||||
"error_retry": "もういちど、ためしてください",
|
"error_retry": "もういちど、ためしてください",
|
||||||
"flash_content": "クリックすると、Ruffle をつかって、フラッシュさくひんをひょうじします。(うまくうごかないかもしれません)",
|
"flash_content": "クリックすると、Ruffle をつかって、フラッシュさくひんをひょうじします。(うまくうごかないかもしれません)",
|
||||||
"flash_fail": "フラッシュさくひんのロードに、しっぱいしました。コンソールに、くわしいことがかかれています。",
|
"flash_fail": "フラッシュさくひんのロードに、しっぱいしました。コンソールに、くわしいことがかかれています。",
|
||||||
"flash_security": "フラッシュさくひんは、あぶないことをしてくるかもしれないので、ちゅういしてください。",
|
"flash_security": "フラッシュさくひんは、あなたのコンピューターに、あぶないことをしてくるかもしれないので、ちゅういしてください。",
|
||||||
"generic_error": "エラーになりました",
|
"generic_error": "エラーになりました",
|
||||||
"loading": "ロードしています…",
|
"loading": "ロードしています…",
|
||||||
"more": "つづき",
|
"more": "つづき",
|
||||||
|
@ -521,7 +523,7 @@
|
||||||
"delete_account_description": "あなたのアカウントとメッセージが、きえます。",
|
"delete_account_description": "あなたのアカウントとメッセージが、きえます。",
|
||||||
"delete_account_error": "アカウントをけすことが、できなかったかもしれません。インスタンスのアドミニストレーターに、おといあわせください。",
|
"delete_account_error": "アカウントをけすことが、できなかったかもしれません。インスタンスのアドミニストレーターに、おといあわせください。",
|
||||||
"delete_account_instructions": "ほんとうにアカウントをけしてもいいなら、パスワードをかいてください。",
|
"delete_account_instructions": "ほんとうにアカウントをけしてもいいなら、パスワードをかいてください。",
|
||||||
"disable_sticky_headers": "カラムヘッダーを、がめんのいちばんうえにくっつけない",
|
"disable_sticky_headers": "カラムヘッダーをがめんのいちばんうえにくっつけない",
|
||||||
"discoverable": "けんさくなどのサービスで、このアカウントをみつけてもよい",
|
"discoverable": "けんさくなどのサービスで、このアカウントをみつけてもよい",
|
||||||
"domain_mutes": "ドメイン",
|
"domain_mutes": "ドメイン",
|
||||||
"download_backup": "ダウンロード",
|
"download_backup": "ダウンロード",
|
||||||
|
@ -532,7 +534,7 @@
|
||||||
"expert_mode": "こまかいせっていをひょうじ",
|
"expert_mode": "こまかいせっていをひょうじ",
|
||||||
"export_theme": "セーブ",
|
"export_theme": "セーブ",
|
||||||
"filtering": "フィルタリング",
|
"filtering": "フィルタリング",
|
||||||
"filtering_explanation": "これらのことばをふくむすべてのものがミュートされます。1ぎょうに1つのことばをかいてください",
|
"filtering_explanation": "これらのことばをふくむすべてのとうこうがミュートされます。1ぎょうに1つのことばをかいてください",
|
||||||
"follow_export": "フォローのエクスポート",
|
"follow_export": "フォローのエクスポート",
|
||||||
"follow_export_button": "エクスポート",
|
"follow_export_button": "エクスポート",
|
||||||
"follow_import": "フォローインポート",
|
"follow_import": "フォローインポート",
|
||||||
|
@ -886,6 +888,7 @@
|
||||||
"media": "メディア",
|
"media": "メディア",
|
||||||
"mention": "メンション",
|
"mention": "メンション",
|
||||||
"mute": "ミュート",
|
"mute": "ミュート",
|
||||||
|
"mute_domain": "ドメインをブロック",
|
||||||
"mute_progress": "ミュートしています…",
|
"mute_progress": "ミュートしています…",
|
||||||
"muted": "ミュートしています!",
|
"muted": "ミュートしています!",
|
||||||
"per_day": "/日",
|
"per_day": "/日",
|
||||||
|
@ -896,6 +899,7 @@
|
||||||
"subscribe": "サブスクライブ",
|
"subscribe": "サブスクライブ",
|
||||||
"unblock": "ブロックをやめる",
|
"unblock": "ブロックをやめる",
|
||||||
"unblock_progress": "ブロックをとりけしています…",
|
"unblock_progress": "ブロックをとりけしています…",
|
||||||
|
"unfollow_confirm": "{user}のフォローをやめますか?",
|
||||||
"unmute": "ミュートをやめる",
|
"unmute": "ミュートをやめる",
|
||||||
"unmute_progress": "ミュートをとりけしています…",
|
"unmute_progress": "ミュートをとりけしています…",
|
||||||
"unsubscribe": "サブスクライブをやめる"
|
"unsubscribe": "サブスクライブをやめる"
|
||||||
|
|
|
@ -921,7 +921,6 @@
|
||||||
"upload_a_photo": "画像をアップロード",
|
"upload_a_photo": "画像をアップロード",
|
||||||
"useStreamingApi": "投稿と通知を、すぐに受け取る",
|
"useStreamingApi": "投稿と通知を、すぐに受け取る",
|
||||||
"useStreamingApiWarning": "(実験中で、投稿を取りこぼすかもしれないので、おすすめしません)",
|
"useStreamingApiWarning": "(実験中で、投稿を取りこぼすかもしれないので、おすすめしません)",
|
||||||
"use_at_icon": "{'@'}マークをアイコンにする",
|
|
||||||
"use_contain_fit": "画像のサムネイルを、切り抜かない",
|
"use_contain_fit": "画像のサムネイルを、切り抜かない",
|
||||||
"use_one_click_nsfw": "NSFWなファイルを1クリックで開く",
|
"use_one_click_nsfw": "NSFWなファイルを1クリックで開く",
|
||||||
"user_mutes": "ユーザー",
|
"user_mutes": "ユーザー",
|
||||||
|
|
|
@ -21,6 +21,7 @@ const loaders = {
|
||||||
ga: () => import('./ga.json'),
|
ga: () => import('./ga.json'),
|
||||||
he: () => import('./he.json'),
|
he: () => import('./he.json'),
|
||||||
hu: () => import('./hu.json'),
|
hu: () => import('./hu.json'),
|
||||||
|
id: () => import('./id.json'),
|
||||||
it: () => import('./it.json'),
|
it: () => import('./it.json'),
|
||||||
ja: () => import('./ja_pedantic.json'),
|
ja: () => import('./ja_pedantic.json'),
|
||||||
ja_easy: () => import('./ja_easy.json'),
|
ja_easy: () => import('./ja_easy.json'),
|
||||||
|
@ -35,6 +36,7 @@ const loaders = {
|
||||||
sk: () => import('./sk.json'),
|
sk: () => import('./sk.json'),
|
||||||
te: () => import('./te.json'),
|
te: () => import('./te.json'),
|
||||||
uk: () => import('./uk.json'),
|
uk: () => import('./uk.json'),
|
||||||
|
vi: () => import('./vi.json'),
|
||||||
zh: () => import('./zh.json'),
|
zh: () => import('./zh.json'),
|
||||||
zh_Hant: () => import('./zh_Hant.json')
|
zh_Hant: () => import('./zh_Hant.json')
|
||||||
}
|
}
|
||||||
|
|
|
@ -918,7 +918,6 @@
|
||||||
"upload_a_photo": "Foto uploaden",
|
"upload_a_photo": "Foto uploaden",
|
||||||
"useStreamingApi": "Berichten en meldingen in real-time ontvangen",
|
"useStreamingApi": "Berichten en meldingen in real-time ontvangen",
|
||||||
"useStreamingApiWarning": "Iets experimenteels met berichten streamen uwu miss kun je beter uit laten ofzo?",
|
"useStreamingApiWarning": "Iets experimenteels met berichten streamen uwu miss kun je beter uit laten ofzo?",
|
||||||
"use_at_icon": "{'@'} symbool als icoon tonen in plaats van tekst",
|
|
||||||
"use_blurhash": "Waas tonen over NSFW-miniaturen",
|
"use_blurhash": "Waas tonen over NSFW-miniaturen",
|
||||||
"use_contain_fit": "Bijlage in miniaturen niet bijsnijden",
|
"use_contain_fit": "Bijlage in miniaturen niet bijsnijden",
|
||||||
"use_one_click_nsfw": "Gevoelige bijlagen met slechts één klik openen",
|
"use_one_click_nsfw": "Gevoelige bijlagen met slechts één klik openen",
|
||||||
|
|
480
src/i18n/pl.json
480
src/i18n/pl.json
|
@ -1,5 +1,7 @@
|
||||||
{
|
{
|
||||||
"about": {
|
"about": {
|
||||||
|
"bubble_instances": "Instancje lokalnej bańki",
|
||||||
|
"bubble_instances_description": "Instancje wybrane przez administratorów w celu przedstawienia okolicy tej instancji",
|
||||||
"mrf": {
|
"mrf": {
|
||||||
"federation": "Federacja",
|
"federation": "Federacja",
|
||||||
"keyword": {
|
"keyword": {
|
||||||
|
@ -12,16 +14,19 @@
|
||||||
"mrf_policies": "Włączone zasady MRF",
|
"mrf_policies": "Włączone zasady MRF",
|
||||||
"mrf_policies_desc": "Zasady MRF zmieniają zachowanie federowania instancji. Następujące zasady są włączone:",
|
"mrf_policies_desc": "Zasady MRF zmieniają zachowanie federowania instancji. Następujące zasady są włączone:",
|
||||||
"simple": {
|
"simple": {
|
||||||
"accept": "Akceptowanie",
|
"accept": "Akceptowane",
|
||||||
"accept_desc": "Ta instancja akceptuje tylko posty z wymienionych instancji:",
|
"accept_desc": "Ta instancja akceptuje tylko posty z wymienionych instancji:",
|
||||||
"ftl_removal": "Usunięcie z „Całej znanej sieci”",
|
"ftl_removal": "Usunięcie z „Całej znanej sieci”",
|
||||||
"ftl_removal_desc": "Ta instancja usuwa wymienionych instancje z „Całej znanej sieci”:",
|
"ftl_removal_desc": "Ta instancja usuwa wymienionych instancje z „Całej znanej sieci”:",
|
||||||
|
"instance": "Instancja",
|
||||||
"media_nsfw": "Multimedia ustawione jako wrażliwe",
|
"media_nsfw": "Multimedia ustawione jako wrażliwe",
|
||||||
"media_nsfw_desc": "Ta instancja wymusza, by multimedia z wymienionych instancji były ustawione jako wrażliwe:",
|
"media_nsfw_desc": "Ta instancja wymusza, by multimedia z wymienionych instancji były ustawione jako wrażliwe:",
|
||||||
"media_removal": "Usuwanie multimediów",
|
"media_removal": "Usuwanie multimediów",
|
||||||
"media_removal_desc": "Ta instancja usuwa multimedia z postów od wymienionych instancji:",
|
"media_removal_desc": "Ta instancja usuwa multimedia z postów od wymienionych instancji:",
|
||||||
|
"not_applicable": "nie dotyczy",
|
||||||
"quarantine": "Kwarantanna",
|
"quarantine": "Kwarantanna",
|
||||||
"quarantine_desc": "Ta instancja wysyła tylko publiczne posty do wymienionych instancji:",
|
"quarantine_desc": "Ta instancja nie wysyła postów do wymienionych instancji:",
|
||||||
|
"reason": "Powód",
|
||||||
"reject": "Odrzucanie",
|
"reject": "Odrzucanie",
|
||||||
"reject_desc": "Ta instancja odrzuca posty z wymienionych instancji:",
|
"reject_desc": "Ta instancja odrzuca posty z wymienionych instancji:",
|
||||||
"simple_policies": "Zasady specyficzne dla instancji"
|
"simple_policies": "Zasady specyficzne dla instancji"
|
||||||
|
@ -29,10 +34,31 @@
|
||||||
},
|
},
|
||||||
"staff": "Administracja"
|
"staff": "Administracja"
|
||||||
},
|
},
|
||||||
|
"announcements": {
|
||||||
|
"all_day_prompt": "Jest to całodzienne wydarzenie",
|
||||||
|
"cancel_edit_action": "Anuluj",
|
||||||
|
"close_error": "Zamknij",
|
||||||
|
"delete_action": "Usuń",
|
||||||
|
"edit_action": "Edytuj",
|
||||||
|
"end_time_display": "Kończy się o {time}",
|
||||||
|
"end_time_prompt": "Koniec: ",
|
||||||
|
"inactive_message": "To ogłoszenie jest nieaktywne",
|
||||||
|
"mark_as_read_action": "Oznacz jako przeczytane",
|
||||||
|
"page_header": "Ogłoszenia",
|
||||||
|
"post_action": "Wyślij",
|
||||||
|
"post_error": "Błąd: {error}",
|
||||||
|
"post_form_header": "Wyślij ogłoszenie",
|
||||||
|
"post_placeholder": "Zawartość ogłoszenia",
|
||||||
|
"published_time_display": "Opublikowano o {time}",
|
||||||
|
"start_time_display": "Zaczyna się o {time}",
|
||||||
|
"start_time_prompt": "Początek: ",
|
||||||
|
"submit_edit_action": "Wyślij",
|
||||||
|
"title": "Ogłoszenie"
|
||||||
|
},
|
||||||
"chats": {
|
"chats": {
|
||||||
"chats": "Czaty",
|
"chats": "Czaty",
|
||||||
"delete": "Usuń",
|
"delete": "Usuń",
|
||||||
"delete_confirm": "Czy na pewno chcesz usunąć tą wiadomość?",
|
"delete_confirm": "Czy na pewno chcesz usunąć tę wiadomość?",
|
||||||
"empty_chat_list_placeholder": "Nie masz jeszcze żadnych czatów. Zacznij nowy czat!",
|
"empty_chat_list_placeholder": "Nie masz jeszcze żadnych czatów. Zacznij nowy czat!",
|
||||||
"empty_message_error": "Nie można wysłać pustej wiadomości",
|
"empty_message_error": "Nie można wysłać pustej wiadomości",
|
||||||
"error_loading_chat": "Coś poszło nie tak podczas ładowania czatu.",
|
"error_loading_chat": "Coś poszło nie tak podczas ładowania czatu.",
|
||||||
|
@ -48,8 +74,8 @@
|
||||||
"domain_mute_card": {
|
"domain_mute_card": {
|
||||||
"mute": "Wycisz",
|
"mute": "Wycisz",
|
||||||
"mute_progress": "Wyciszam…",
|
"mute_progress": "Wyciszam…",
|
||||||
"unmute": "Odcisz",
|
"unmute": "Cofnij wyciszenie",
|
||||||
"unmute_progress": "Odciszam…"
|
"unmute_progress": "Cofam wyciszenie…"
|
||||||
},
|
},
|
||||||
"emoji": {
|
"emoji": {
|
||||||
"add_emoji": "Wstaw emoji",
|
"add_emoji": "Wstaw emoji",
|
||||||
|
@ -58,16 +84,17 @@
|
||||||
"keep_open": "Zostaw selektor otwarty",
|
"keep_open": "Zostaw selektor otwarty",
|
||||||
"load_all": "Ładuję wszystkie {emojiAmount} emoji",
|
"load_all": "Ładuję wszystkie {emojiAmount} emoji",
|
||||||
"load_all_hint": "Załadowano pierwsze {saneAmount} emoji, Załadowanie wszystkich emoji może spowodować problemy z wydajnością.",
|
"load_all_hint": "Załadowano pierwsze {saneAmount} emoji, Załadowanie wszystkich emoji może spowodować problemy z wydajnością.",
|
||||||
|
"recent": "Ostatnio używane",
|
||||||
"search_emoji": "Wyszukaj emoji",
|
"search_emoji": "Wyszukaj emoji",
|
||||||
"stickers": "Naklejki",
|
"stickers": "Naklejki",
|
||||||
"unicode": "Emoji unicode"
|
"unicode": "Emoji unicode"
|
||||||
},
|
},
|
||||||
"errors": {
|
"errors": {
|
||||||
"storage_unavailable": "Pleroma nie mogła uzyskać dostępu do pamięci masowej przeglądarki. Twój login lub lokalne ustawienia nie zostaną zapisane i możesz napotkać problemy. Spróbuj włączyć ciasteczka."
|
"storage_unavailable": "Akkoma nie mogła uzyskać dostępu do pamięci masowej przeglądarki. Twój login lub lokalne ustawienia nie zostaną zapisane i możesz napotkać problemy. Spróbuj włączyć ciasteczka."
|
||||||
},
|
},
|
||||||
"exporter": {
|
"exporter": {
|
||||||
"export": "Eksportuj",
|
"export": "Eksportuj",
|
||||||
"processing": "Przetwarzam, za chwilę zostaniesz zapytany(-na) o ściągnięcie pliku"
|
"processing": "Przetwarzam, za chwilę zostaniesz zapytane o ściągnięcie pliku"
|
||||||
},
|
},
|
||||||
"features_panel": {
|
"features_panel": {
|
||||||
"media_proxy": "Proxy mediów",
|
"media_proxy": "Proxy mediów",
|
||||||
|
@ -96,8 +123,9 @@
|
||||||
"dismiss": "Odrzuć",
|
"dismiss": "Odrzuć",
|
||||||
"enable": "Włącz",
|
"enable": "Włącz",
|
||||||
"error_retry": "Spróbuj ponownie",
|
"error_retry": "Spróbuj ponownie",
|
||||||
"flash_content": "Naciśnij, aby wyświetlić zawartości Flash z użyciem Ruffle (eksperymentalnie, może nie działać).",
|
"flash_content": "Naciśnij, aby wyświetlić zawartości Flash z użyciem Ruffle (eksperymentalne, może nie działać).",
|
||||||
"flash_fail": "Nie udało się załadować treści flash, zajrzyj do konsoli, aby odnaleźć szczegóły.",
|
"flash_fail": "Nie udało się załadować treści flash, zajrzyj do konsoli, by zobaczyć szczegóły.",
|
||||||
|
"flash_security": "Zauważ, że może to być potencjalnie niebezpieczne, ponieważ Flash zawiera dowolny kod wykonywalny.",
|
||||||
"generic_error": "Wystąpił błąd",
|
"generic_error": "Wystąpił błąd",
|
||||||
"loading": "Ładowanie…",
|
"loading": "Ładowanie…",
|
||||||
"more": "Więcej",
|
"more": "Więcej",
|
||||||
|
@ -108,6 +136,13 @@
|
||||||
"admin": "Administrator",
|
"admin": "Administrator",
|
||||||
"moderator": "Moderator"
|
"moderator": "Moderator"
|
||||||
},
|
},
|
||||||
|
"scope_in_timeline": {
|
||||||
|
"direct": "Wiadomość bezpośrednia",
|
||||||
|
"local": "Lokalnie - tylko twoja instancja może zobaczyć ten post",
|
||||||
|
"private": "Tylko dla śledzących",
|
||||||
|
"public": "Publicznie",
|
||||||
|
"unlisted": "Poza listą"
|
||||||
|
},
|
||||||
"show_less": "Pokaż mniej",
|
"show_less": "Pokaż mniej",
|
||||||
"show_more": "Pokaż więcej",
|
"show_more": "Pokaż więcej",
|
||||||
"submit": "Wyślij",
|
"submit": "Wyślij",
|
||||||
|
@ -130,6 +165,84 @@
|
||||||
"load_older": "Załaduj starsze interakcje",
|
"load_older": "Załaduj starsze interakcje",
|
||||||
"moves": "Użytkownik migruje"
|
"moves": "Użytkownik migruje"
|
||||||
},
|
},
|
||||||
|
"languages": {
|
||||||
|
"ar": "Arabski",
|
||||||
|
"az": "Azerski",
|
||||||
|
"bg": "Bułgarski",
|
||||||
|
"cs": "Czeski",
|
||||||
|
"da": "Duński",
|
||||||
|
"de": "Niemiecki",
|
||||||
|
"el": "Grecki",
|
||||||
|
"en": "Angielski",
|
||||||
|
"eo": "Esperanto",
|
||||||
|
"es": "Hiszpański",
|
||||||
|
"fa": "Perski",
|
||||||
|
"fi": "Fiński",
|
||||||
|
"fr": "Francuski",
|
||||||
|
"ga": "Irlandzki",
|
||||||
|
"he": "Hebrajski",
|
||||||
|
"hi": "Hindi",
|
||||||
|
"hu": "Węgierski",
|
||||||
|
"id": "Indonezyjski",
|
||||||
|
"it": "Włoski",
|
||||||
|
"ja": "Japoński",
|
||||||
|
"ko": "Koreański",
|
||||||
|
"lt": "Litewski",
|
||||||
|
"lv": "Łotewski",
|
||||||
|
"nl": "Holenderski",
|
||||||
|
"pl": "Polski",
|
||||||
|
"pt": "Portugalski",
|
||||||
|
"ru": "Rosyjski",
|
||||||
|
"sk": "Słowacki",
|
||||||
|
"sv": "Szwedzki",
|
||||||
|
"tr": "Turecki",
|
||||||
|
"translated_from": {
|
||||||
|
"ar": "Przetłumaczono z języka arabskiego",
|
||||||
|
"az": "Przetłumaczono z języka azerskiego",
|
||||||
|
"bg": "Przetłumaczono z języka bułgarskiego",
|
||||||
|
"cs": "Przetłumaczono z języka czeskiego",
|
||||||
|
"da": "Przetłumaczono z języka duńskiego",
|
||||||
|
"de": "Przetłumaczono z języka niemieckiego",
|
||||||
|
"el": "Przetłumaczono z języka greckiego",
|
||||||
|
"en": "Przetłumaczono z języka angielskiego",
|
||||||
|
"eo": "Przetłumaczono z Esperanto",
|
||||||
|
"es": "Przetłumaczono z języka hiszpańskiego",
|
||||||
|
"fa": "Przetłumaczono z języka perskiego",
|
||||||
|
"fi": "Przetłumaczono z języka fińskiego",
|
||||||
|
"fr": "Przetłumaczono z języka francuskiego",
|
||||||
|
"ga": "Przetłumaczono z języka irlandzkiego",
|
||||||
|
"he": "Przetłumaczono z języka hebrajskiego",
|
||||||
|
"hi": "Przetłumaczono z Hindi",
|
||||||
|
"hu": "Przetłumaczono z języka węgierskiego",
|
||||||
|
"id": "Przetłumaczono z języka indonezyjskiego",
|
||||||
|
"it": "Przetłumaczono z języka włoskiego",
|
||||||
|
"ja": "Przetłumaczono z języka japońskiego",
|
||||||
|
"ko": "Przetłumaczono z języka koreańskiego",
|
||||||
|
"lt": "Przetłumaczono z języka litewskiego",
|
||||||
|
"lv": "Przetłumaczono z języka łotewskiego",
|
||||||
|
"nl": "Przetłumaczono z języka holenderskiego",
|
||||||
|
"pl": "Przetłumaczono z języka polskiego",
|
||||||
|
"pt": "Przetłumaczono z języka portugalskiego",
|
||||||
|
"ru": "Przetłumaczono z języka rosyjskiego",
|
||||||
|
"sk": "Przetłumaczono z języka słowackiego",
|
||||||
|
"sv": "Przetłumaczono z języka szwedzkiego",
|
||||||
|
"tr": "Przetłumaczono z języka tureckiego",
|
||||||
|
"uk": "Przetłumaczono z języka ukraińskiego",
|
||||||
|
"zh": "Przetłumaczono z języka chińskiego"
|
||||||
|
},
|
||||||
|
"uk": "Ukraiński",
|
||||||
|
"zh": "Chiński"
|
||||||
|
},
|
||||||
|
"lists": {
|
||||||
|
"create": "Stwórz listę",
|
||||||
|
"delete": "Usuń listę",
|
||||||
|
"following_only": "Zawęź do Śledzących",
|
||||||
|
"lists": "Listy",
|
||||||
|
"new": "Nowa Lista",
|
||||||
|
"save": "Zapisz zmiany",
|
||||||
|
"search": "Szukaj użytkowników",
|
||||||
|
"title": "Tytuł listy"
|
||||||
|
},
|
||||||
"login": {
|
"login": {
|
||||||
"authentication_code": "Kod weryfikacyjny",
|
"authentication_code": "Kod weryfikacyjny",
|
||||||
"description": "Zaloguj używając OAuth",
|
"description": "Zaloguj używając OAuth",
|
||||||
|
@ -142,61 +255,102 @@
|
||||||
"hint": "Zaloguj się, aby dołączyć do dyskusji",
|
"hint": "Zaloguj się, aby dołączyć do dyskusji",
|
||||||
"login": "Zaloguj",
|
"login": "Zaloguj",
|
||||||
"logout": "Wyloguj",
|
"logout": "Wyloguj",
|
||||||
|
"logout_confirm": "Czy na pewno chcesz się wylogować?",
|
||||||
|
"logout_confirm_accept_button": "Wyloguj",
|
||||||
|
"logout_confirm_cancel_button": "Anuluj",
|
||||||
|
"logout_confirm_title": "Wyloguj",
|
||||||
"password": "Hasło",
|
"password": "Hasło",
|
||||||
"placeholder": "n.p. lain",
|
"placeholder": "mojanazwausera",
|
||||||
"recovery_code": "Kod zapasowy",
|
"recovery_code": "Kod zapasowy",
|
||||||
"register": "Zarejestruj",
|
"register": "Zarejestruj",
|
||||||
"username": "Użytkownik"
|
"username": "Użytkownik"
|
||||||
},
|
},
|
||||||
"media_modal": {
|
"media_modal": {
|
||||||
|
"counter": "{current} / {total}",
|
||||||
|
"hide": "Zamknij przeglądarkę mediów",
|
||||||
"next": "Następne",
|
"next": "Następne",
|
||||||
"previous": "Poprzednie"
|
"previous": "Poprzednie"
|
||||||
},
|
},
|
||||||
|
"moderation": {
|
||||||
|
"moderation": "Moderacja",
|
||||||
|
"reports": {
|
||||||
|
"add_note": "Dodaj komentarz",
|
||||||
|
"close": "Zamknij",
|
||||||
|
"delete_note": "Usuń",
|
||||||
|
"delete_note_accept": "Tak, usuń",
|
||||||
|
"delete_note_cancel": "Nie, zostaw",
|
||||||
|
"delete_note_confirm": "Czy na pewno chesz usunąć ten komentarz?",
|
||||||
|
"delete_note_title": "Potwierdź usunięcie",
|
||||||
|
"no_content": "Brak opisu",
|
||||||
|
"no_reports": "Brak raportów do pokazania",
|
||||||
|
"note_placeholder": "Zostaw komenarz",
|
||||||
|
"notes": "{ count } komentarz | { count } komentarzy",
|
||||||
|
"reopen": "Otwórz ponownie",
|
||||||
|
"report": "Raport na",
|
||||||
|
"reports": "Raporty",
|
||||||
|
"resolve": "Oznacz jako rozwiązane",
|
||||||
|
"show_closed": "Pokaż zamknięte",
|
||||||
|
"statuses": "{ count } post| { count } postów",
|
||||||
|
"tag_policy_notice": "Włącz TagPolicy MRF by ustawić obostrzenia dla wpisów",
|
||||||
|
"tags": "Ustaw obostrzenia dla wpisów"
|
||||||
|
},
|
||||||
|
"statuses": "Wpisy",
|
||||||
|
"users": "Użytkownicy"
|
||||||
|
},
|
||||||
"nav": {
|
"nav": {
|
||||||
"about": "O nas",
|
"about": "O nas",
|
||||||
"administration": "Administracja",
|
"administration": "Administracja",
|
||||||
|
"announcements": "Ogłoszenia",
|
||||||
"back": "Wróć",
|
"back": "Wróć",
|
||||||
"bookmarks": "Zakładki",
|
"bookmarks": "Zakładki",
|
||||||
|
"bubble_timeline": "Lokalna bańka",
|
||||||
|
"bubble_timeline_description": "Wpisy z instancji bliskich twojej, tak jak zaleca administracja",
|
||||||
"chats": "Czaty",
|
"chats": "Czaty",
|
||||||
"dms": "Wiadomości bezpośrednie",
|
"dms": "Wiadomości bezpośrednie",
|
||||||
"friend_requests": "Prośby o możliwość obserwacji",
|
"friend_requests": "Prośby o możliwość obserwacji",
|
||||||
"home_timeline": "Główna oś czasu",
|
"home_timeline": "Główna oś czasu",
|
||||||
|
"home_timeline_description": "Wpisy ludzi, których śledzisz",
|
||||||
"interactions": "Interakcje",
|
"interactions": "Interakcje",
|
||||||
|
"lists": "Listy",
|
||||||
"mentions": "Wzmianki",
|
"mentions": "Wzmianki",
|
||||||
|
"moderation": "Moderacja",
|
||||||
"preferences": "Preferencje",
|
"preferences": "Preferencje",
|
||||||
|
"public_timeline_description": "Publiczne wpisy z tej instancji",
|
||||||
"public_tl": "Publiczna oś czasu",
|
"public_tl": "Publiczna oś czasu",
|
||||||
"search": "Wyszukiwanie",
|
"search": "Wyszukiwanie",
|
||||||
"timeline": "Oś czasu",
|
"timeline": "Oś czasu",
|
||||||
"timelines": "Osie czasu",
|
"timelines": "Osie czasu",
|
||||||
"twkn": "Znana sieć",
|
"twkn": "Znana sieć",
|
||||||
|
"twkn_timeline_description": "Wpisy z całej znanej sieci",
|
||||||
"user_search": "Wyszukiwanie użytkowników",
|
"user_search": "Wyszukiwanie użytkowników",
|
||||||
"who_to_follow": "Sugestie obserwacji"
|
"who_to_follow": "Sugestie obserwacji"
|
||||||
},
|
},
|
||||||
"notifications": {
|
"notifications": {
|
||||||
"broken_favorite": "Nieznany status, szukam go…",
|
"broken_favorite": "Nieznany wpis, szukam go…",
|
||||||
"error": "Błąd pobierania powiadomień: {0}",
|
"error": "Błąd pobierania powiadomień: {0}",
|
||||||
"favorited_you": "dodał(-a) twój status do ulubionych",
|
"favorited_you": "dodało twój wpis do ulubionych",
|
||||||
"follow_request": "chce ciebie obserwować",
|
"follow_request": "chce ciebie obserwować",
|
||||||
"followed_you": "obserwuje cię",
|
"followed_you": "obserwuje cię",
|
||||||
"load_older": "Załaduj starsze powiadomienia",
|
"load_older": "Załaduj starsze powiadomienia",
|
||||||
"migrated_to": "wyemigrował do",
|
"migrated_to": "wyemigrował do",
|
||||||
"no_more_notifications": "Nie masz więcej powiadomień",
|
"no_more_notifications": "Nie masz więcej powiadomień",
|
||||||
"notifications": "Powiadomienia",
|
"notifications": "Powiadomienia",
|
||||||
|
"poll_ended": "Ankieta zakończona",
|
||||||
"reacted_with": "zareagował z {0}",
|
"reacted_with": "zareagował z {0}",
|
||||||
"read": "Przeczytane!",
|
"read": "Przeczytane!",
|
||||||
"repeated_you": "powtórzył(-a) twój status"
|
"repeated_you": "powtórzyło twój wpis"
|
||||||
},
|
},
|
||||||
"password_reset": {
|
"password_reset": {
|
||||||
"check_email": "Sprawdź pocztę, aby uzyskać link do zresetowania hasła.",
|
"check_email": "Sprawdź pocztę, aby uzyskać link do zresetowania hasła.",
|
||||||
"forgot_password": "Zapomniałeś(-aś) hasła?",
|
"forgot_password": "Zapomniałoś hasła?",
|
||||||
"instruction": "Wprowadź swój adres email lub nazwę użytkownika. Wyślemy ci link z którym możesz zresetować hasło.",
|
"instruction": "Wprowadź swój adres email lub nazwę użytkownika. Wyślemy ci link z którym możesz zresetować hasło.",
|
||||||
"password_reset": "Reset hasła",
|
"password_reset": "Reset hasła",
|
||||||
"password_reset_disabled": "Resetowanie hasła jest wyłączone. Proszę skontaktuj się z administratorem tej instancji.",
|
"password_reset_disabled": "Resetowanie hasła jest wyłączone. Proszę skontaktuj się z administracją tej instancji.",
|
||||||
"password_reset_required": "Musisz zresetować hasło, by się zalogować.",
|
"password_reset_required": "Musisz zresetować hasło, by się zalogować.",
|
||||||
"password_reset_required_but_mailer_is_disabled": "Musisz zresetować hasło, ale resetowanie hasła jest wyłączone. Proszę skontaktuj się z administratorem tej instancji.",
|
"password_reset_required_but_mailer_is_disabled": "Musisz zresetować hasło, ale resetowanie hasła jest wyłączone. Proszę skontaktuj się z administracją tej instancji.",
|
||||||
"placeholder": "Twój email lub nazwa użytkownika",
|
"placeholder": "Twój email lub nazwa użytkownika",
|
||||||
"return_home": "Wróć do strony głównej",
|
"return_home": "Wróć do strony głównej",
|
||||||
"too_many_requests": "Przekroczyłeś(-aś) limit prób, spróbuj ponownie później."
|
"too_many_requests": "Przekroczyłoś limit prób, spróbuj ponownie później."
|
||||||
},
|
},
|
||||||
"polls": {
|
"polls": {
|
||||||
"add_option": "Dodaj opcję",
|
"add_option": "Dodaj opcję",
|
||||||
|
@ -222,47 +376,59 @@
|
||||||
"text/bbcode": "BBCode",
|
"text/bbcode": "BBCode",
|
||||||
"text/html": "HTML",
|
"text/html": "HTML",
|
||||||
"text/markdown": "Markdown",
|
"text/markdown": "Markdown",
|
||||||
"text/plain": "Czysty tekst"
|
"text/plain": "Czysty tekst",
|
||||||
|
"text/x.misskeymarkdown": "MFM"
|
||||||
},
|
},
|
||||||
"content_warning": "Temat (nieobowiązkowy)",
|
"content_warning": "Ostrzeżenie o zawartości (nieobowiązkowe)",
|
||||||
"default": "Właśnie wróciłem z kościoła",
|
"default": "Właśnie wróciłom z kremówek",
|
||||||
"direct_warning_to_all": "Ten wpis zobaczą wszystkie osoby, o których wspomniałeś(-aś).",
|
"direct_warning_to_all": "Ten wpis zobaczą wszystkie osoby, o których wspomniałoś.",
|
||||||
"direct_warning_to_first_only": "Ten wpis zobaczą tylko te osoby, o których wspomniałeś(-aś) na początku wiadomości.",
|
"direct_warning_to_first_only": "Ten wpis zobaczą tylko te osoby, o których wspomniałoś na początku wiadomości.",
|
||||||
|
"edit_remote_warning": "Zmiany dokonane w tym wpisie mogą nie być widoczne na niektórych instancjach!",
|
||||||
|
"edit_status": "Edytuj wpis",
|
||||||
|
"edit_unsupported_warning": "Ankiety i wzmianki nie zostaną zmienione przez edycję",
|
||||||
"empty_status_error": "Nie można wysłać pustego wpisu bez plików",
|
"empty_status_error": "Nie można wysłać pustego wpisu bez plików",
|
||||||
"media_description": "Opis mediów",
|
"media_description": "Opis mediów",
|
||||||
"media_description_error": "Nie udało się zaktualizować mediów, spróbuj ponownie",
|
"media_description_error": "Nie udało się zaktualizować mediów, spróbuj ponownie",
|
||||||
"new_status": "Dodaj nowy status",
|
"media_not_sensitive_warning": "Ustawiłoś ostrzeżenie o zawartości, ale załączniki nie zostały oznaczone jako wrażliwe!",
|
||||||
|
"new_status": "Dodaj nowy wpis",
|
||||||
"post": "Opublikuj",
|
"post": "Opublikuj",
|
||||||
"posting": "Wysyłanie",
|
"posting": "Wysyłanie",
|
||||||
"preview": "Podgląd",
|
"preview": "Podgląd",
|
||||||
"preview_empty": "Pusty",
|
"preview_empty": "Pusty",
|
||||||
"scope": {
|
"scope": {
|
||||||
"direct": "Bezpośredni – tylko dla wspomnianych użytkowników",
|
"direct": "Bezpośredni – tylko dla wspomnianych użytkowników",
|
||||||
|
"local": "Lokalnie - nie federuj tego wpisu",
|
||||||
"private": "Tylko dla obserwujących – umieść dla osób, które cię obserwują",
|
"private": "Tylko dla obserwujących – umieść dla osób, które cię obserwują",
|
||||||
"public": "Publiczny – umieść na publicznych osiach czasu",
|
"public": "Publiczny – umieść na publicznych osiach czasu",
|
||||||
"unlisted": "Niewidoczny – nie umieszczaj na publicznych osiach czasu"
|
"unlisted": "Niewidoczny – nie umieszczaj na publicznych osiach czasu"
|
||||||
},
|
},
|
||||||
"scope_notice": {
|
"scope_notice": {
|
||||||
|
"local": "Ten wpis nie będzie widoczny dla innych instancji",
|
||||||
"private": "Ten post będzie widoczny tylko dla twoich obserwujących",
|
"private": "Ten post będzie widoczny tylko dla twoich obserwujących",
|
||||||
"public": "Ten post będzie widoczny dla każdego",
|
"public": "Ten wpis będzie widoczny dla każdego",
|
||||||
"unlisted": "Ten post nie będzie widoczny na publicznej osi czasu i całej znanej sieci"
|
"unlisted": "Ten wpis nie będzie widoczny na publicznej osi czasu i całej znanej sieci"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"registration": {
|
"registration": {
|
||||||
|
"awaiting_email_confirmation": "Twoje konto zostało zarejestrowane i email został wysłany na twój adres. Sprawdź swoją skrzynkę by dokończyć rejestrację.",
|
||||||
|
"awaiting_email_confirmation_title": "Oczekiwanie na potwierdzenie emailem",
|
||||||
"bio": "Bio",
|
"bio": "Bio",
|
||||||
"bio_placeholder": "e.g.\nCześć, jestem Lain.\nJestem dziewczynką z anime żyjącą na peryferiach Japonii. Możesz znać mnie z Wired.",
|
"bio_placeholder": "e.g.\nCześć! Witaj w moim bio.\nLubię oglądać anime i grać w gry. Mam nadzieję, że zostaniemy przyjaciółmi!",
|
||||||
"captcha": "CAPTCHA",
|
"captcha": "CAPTCHA",
|
||||||
"email": "E-mail",
|
"email": "E-mail",
|
||||||
|
"email_language": "W jakim języku chcesz otrzymywać wiadomości z tego serwera?",
|
||||||
"fullname": "Wyświetlana nazwa profilu",
|
"fullname": "Wyświetlana nazwa profilu",
|
||||||
"fullname_placeholder": "np. Lain Iwakura",
|
"fullname_placeholder": "np. Atsuko Kagari",
|
||||||
"new_captcha": "Naciśnij na obrazek, aby dostać nowy kod captcha",
|
"new_captcha": "Naciśnij na obrazek, aby dostać nowy kod captcha",
|
||||||
"password_confirm": "Potwierdzenie hasła",
|
"password_confirm": "Potwierdzenie hasła",
|
||||||
"reason": "Powód rejestracji",
|
"reason": "Powód rejestracji",
|
||||||
"reason_placeholder": "Ta instancja ręcznie zatwierdza rejestracje.\nPoinformuj administratora, dlaczego chcesz się zarejestrować.",
|
"reason_placeholder": "Ta instancja ręcznie zatwierdza rejestracje.\nPoinformuj administratora, dlaczego chcesz się zarejestrować.",
|
||||||
"register": "Zarejestruj się",
|
"register": "Zarejestruj się",
|
||||||
"registration": "Rejestracja",
|
"registration": "Rejestracja",
|
||||||
|
"request_sent": "Twoja prośba o rejestrację została wysłana i czeka na potwierdzenie. Dostaniesz email kiedy twoje konto zostanie zaakceptowane.",
|
||||||
|
"request_sent_title": "Wysłano prośbę o rejestrację",
|
||||||
"token": "Token zaproszenia",
|
"token": "Token zaproszenia",
|
||||||
"username_placeholder": "np. lain",
|
"username_placeholder": "np. akko",
|
||||||
"validations": {
|
"validations": {
|
||||||
"email_required": "nie może być pusty",
|
"email_required": "nie może być pusty",
|
||||||
"fullname_required": "nie może być pusta",
|
"fullname_required": "nie może być pusta",
|
||||||
|
@ -289,7 +455,19 @@
|
||||||
},
|
},
|
||||||
"settings": {
|
"settings": {
|
||||||
"accent": "Akcent",
|
"accent": "Akcent",
|
||||||
|
"account_alias": "Aliasy konta",
|
||||||
|
"account_alias_table_head": "Alias",
|
||||||
|
"account_backup": "Kopia zapasowa konta",
|
||||||
|
"account_backup_description": "Możesz ściągnąć archiwum danych swojego konta oraz swoje posty, ale na razie nie da się ich importować do konta na Akkomie.",
|
||||||
|
"account_backup_table_head": "Kopia zapasowa",
|
||||||
|
"account_privacy": "Prywatność",
|
||||||
|
"add_alias_error": "Błąd dodawania aliasu: {error}",
|
||||||
|
"add_backup": "Stwórz nową kopię zapasową",
|
||||||
|
"add_backup_error": "Błąd dodawania kopii zapasowej: {error}",
|
||||||
|
"added_alias": "Dodano alias.",
|
||||||
|
"added_backup": "Dodano kopię zapasową.",
|
||||||
"allow_following_move": "Zezwalaj na automatyczną obserwację gdy obserwowane konto migruje",
|
"allow_following_move": "Zezwalaj na automatyczną obserwację gdy obserwowane konto migruje",
|
||||||
|
"always_show_post_button": "Zawsze pokazuj pływający przycisk Nowy Wpis",
|
||||||
"app_name": "Nazwa aplikacji",
|
"app_name": "Nazwa aplikacji",
|
||||||
"attachmentRadius": "Załączniki",
|
"attachmentRadius": "Załączniki",
|
||||||
"attachments": "Załączniki",
|
"attachments": "Załączniki",
|
||||||
|
@ -299,6 +477,7 @@
|
||||||
"avatarRadius": "Awatary",
|
"avatarRadius": "Awatary",
|
||||||
"avatar_size_instruction": "Zalecany minimalny rozmiar awatarów to 150x150 pikseli.",
|
"avatar_size_instruction": "Zalecany minimalny rozmiar awatarów to 150x150 pikseli.",
|
||||||
"background": "Tło",
|
"background": "Tło",
|
||||||
|
"backup_not_ready": "Kopia zapasowa nie jest jeszcze gotowa.",
|
||||||
"bio": "Bio",
|
"bio": "Bio",
|
||||||
"block_export": "Eksport blokad",
|
"block_export": "Eksport blokad",
|
||||||
"block_export_button": "Eksportuj twoje blokady do pliku .csv",
|
"block_export_button": "Eksportuj twoje blokady do pliku .csv",
|
||||||
|
@ -320,10 +499,27 @@
|
||||||
"changed_password": "Pomyślnie zmieniono hasło!",
|
"changed_password": "Pomyślnie zmieniono hasło!",
|
||||||
"chatMessageRadius": "Wiadomość czatu",
|
"chatMessageRadius": "Wiadomość czatu",
|
||||||
"checkboxRadius": "Pola wyboru",
|
"checkboxRadius": "Pola wyboru",
|
||||||
"collapse_subject": "Zwijaj posty z tematami",
|
"collapse_subject": "Zwijaj posty z ostrzeżeniami o treści",
|
||||||
|
"columns": "Kolumny",
|
||||||
"composing": "Pisanie",
|
"composing": "Pisanie",
|
||||||
|
"confirm_dialogs": "Wymagaj potwierdzenia dla:",
|
||||||
|
"confirm_dialogs_approve_follow": "Akceptację prośby o śledzenie",
|
||||||
|
"confirm_dialogs_block": "Blokowanie kogoś",
|
||||||
|
"confirm_dialogs_delete": "Usunięcie wpisu",
|
||||||
|
"confirm_dialogs_deny_follow": "Odrzucenie prośby o śledzenie",
|
||||||
|
"confirm_dialogs_mute": "Wyciszenie kogoś",
|
||||||
|
"confirm_dialogs_repeat": "Powtórzenie wpisu",
|
||||||
|
"confirm_dialogs_unfollow": "Odwołanie śledzenia kogoś",
|
||||||
"confirm_new_password": "Potwierdź nowe hasło",
|
"confirm_new_password": "Potwierdź nowe hasło",
|
||||||
|
"confirmation_dialogs": "Opcje potwierdzeń",
|
||||||
|
"conversation_display": "Styl wyświetlania rozmów",
|
||||||
|
"conversation_display_linear": "Liniowy",
|
||||||
|
"conversation_display_tree": "Drzewiasty",
|
||||||
|
"conversation_other_replies_button": "Pokaż przycisk \"inne odpowiedzi\"",
|
||||||
|
"conversation_other_replies_button_below": "Pod wpisami",
|
||||||
|
"conversation_other_replies_button_inside": "Wewnątrz wpisów",
|
||||||
"current_avatar": "Twój obecny awatar",
|
"current_avatar": "Twój obecny awatar",
|
||||||
|
"current_mascot": "Twoja obecna maskotka",
|
||||||
"current_password": "Obecne hasło",
|
"current_password": "Obecne hasło",
|
||||||
"data_import_export_tab": "Import/eksport danych",
|
"data_import_export_tab": "Import/eksport danych",
|
||||||
"default_vis": "Domyślny zakres widoczności",
|
"default_vis": "Domyślny zakres widoczności",
|
||||||
|
@ -331,23 +527,32 @@
|
||||||
"delete_account_description": "Trwale usuń dane i zdezaktywuj konto.",
|
"delete_account_description": "Trwale usuń dane i zdezaktywuj konto.",
|
||||||
"delete_account_error": "Wystąpił problem z usuwaniem twojego konta. Jeżeli problem powtarza się, poinformuj administratora swojej instancji.",
|
"delete_account_error": "Wystąpił problem z usuwaniem twojego konta. Jeżeli problem powtarza się, poinformuj administratora swojej instancji.",
|
||||||
"delete_account_instructions": "Wprowadź swoje hasło w poniższe pole aby potwierdzić usunięcie konta.",
|
"delete_account_instructions": "Wprowadź swoje hasło w poniższe pole aby potwierdzić usunięcie konta.",
|
||||||
|
"disable_sticky_headers": "Nie przyklejaj nagłówków kolumn do góry ekranu",
|
||||||
"discoverable": "Zezwól na odkrywanie tego konta w wynikach wyszukiwania i innych usługach",
|
"discoverable": "Zezwól na odkrywanie tego konta w wynikach wyszukiwania i innych usługach",
|
||||||
"domain_mutes": "Domeny",
|
"domain_mutes": "Domeny",
|
||||||
|
"download_backup": "Ściągnij",
|
||||||
|
"email_language": "Język w którym otrzymujesz emaile od serwera",
|
||||||
"emoji_reactions_on_timeline": "Pokaż reakcje emoji na osi czasu",
|
"emoji_reactions_on_timeline": "Pokaż reakcje emoji na osi czasu",
|
||||||
"enable_web_push_notifications": "Włącz powiadomienia push",
|
"enable_web_push_notifications": "Włącz powiadomienia push",
|
||||||
"enter_current_password_to_confirm": "Wprowadź obecne hasło, by potwierdzić twoją tożsamość",
|
"enter_current_password_to_confirm": "Wprowadź obecne hasło, by potwierdzić twoją tożsamość",
|
||||||
|
"expert_mode": "Pokaż zaawansowane",
|
||||||
|
"expire_posts_enabled": "Usuń wpisy po zadanej liczbie dni",
|
||||||
|
"expire_posts_input_placeholder": "Liczba dni",
|
||||||
"export_theme": "Zapisz motyw",
|
"export_theme": "Zapisz motyw",
|
||||||
"file_export_import": {
|
"file_export_import": {
|
||||||
"backup_restore": "Kopia zapasowa ustawień",
|
"backup_restore": "Kopia zapasowa ustawień",
|
||||||
"backup_settings": "Kopia zapasowa ustawień do pliku",
|
"backup_settings": "Kopia zapasowa ustawień do pliku",
|
||||||
"backup_settings_theme": "Kopia zapasowa ustawień i motywu do pliku",
|
"backup_settings_theme": "Kopia zapasowa ustawień i motywu do pliku",
|
||||||
"errors": {
|
"errors": {
|
||||||
|
"file_slightly_new": "Nie zgadza się pomniejsza wersja pliku, niektóre ustawienia mogą się nie załadować",
|
||||||
|
"file_too_new": "Niekompatybilna główna wersja: {fileMajor}, ten PleromaFE (wersja ustawień {feMajor}) jest zbyt stary by to obsłużyć",
|
||||||
|
"file_too_old": "Niekompatybilna główna wersja: {fileMajor}, wersja pliku jest zbyt stara i nie wspierana (min. ustawiona wer. {feMajor})",
|
||||||
"invalid_file": "Wybrany plik nie jest obsługiwaną kopią zapasową ustawień Pleromy. Nie dokonano żadnych zmian."
|
"invalid_file": "Wybrany plik nie jest obsługiwaną kopią zapasową ustawień Pleromy. Nie dokonano żadnych zmian."
|
||||||
},
|
},
|
||||||
"restore_settings": "Przywróć ustawienia z pliku"
|
"restore_settings": "Przywróć ustawienia z pliku"
|
||||||
},
|
},
|
||||||
"filtering": "Filtrowanie",
|
"filtering": "Filtrowanie",
|
||||||
"filtering_explanation": "Wszystkie statusy zawierające te słowa będą wyciszone. Jedno słowo na linijkę.",
|
"filtering_explanation": "Wszystkie wpisy zawierające te słowa będą wyciszone. Jedno słowo na linijkę.",
|
||||||
"follow_export": "Eksport obserwowanych",
|
"follow_export": "Eksport obserwowanych",
|
||||||
"follow_export_button": "Eksportuj swoją listę obserwowanych do pliku CSV",
|
"follow_export_button": "Eksportuj swoją listę obserwowanych do pliku CSV",
|
||||||
"follow_import": "Import obserwowanych",
|
"follow_import": "Import obserwowanych",
|
||||||
|
@ -360,18 +565,26 @@
|
||||||
"hide_all_muted_posts": "Ukryj wyciszone słowa",
|
"hide_all_muted_posts": "Ukryj wyciszone słowa",
|
||||||
"hide_attachments_in_convo": "Ukrywaj załączniki w rozmowach",
|
"hide_attachments_in_convo": "Ukrywaj załączniki w rozmowach",
|
||||||
"hide_attachments_in_tl": "Ukrywaj załączniki w osi czasu",
|
"hide_attachments_in_tl": "Ukrywaj załączniki w osi czasu",
|
||||||
|
"hide_bot_indication": "Ukryj we wpisach oznaczenie botów",
|
||||||
|
"hide_favorites_description": "Nie pokazuj list moich ulubionych (ludzie wciąż dostaną notyfikacje)",
|
||||||
"hide_filtered_statuses": "Ukrywaj filtrowane statusy",
|
"hide_filtered_statuses": "Ukrywaj filtrowane statusy",
|
||||||
"hide_followers_count_description": "Nie pokazuj licznika obserwujących",
|
"hide_followers_count_description": "Nie pokazuj licznika obserwujących",
|
||||||
"hide_followers_description": "Nie pokazuj kto mnie obserwuje",
|
"hide_followers_description": "Nie pokazuj kto mnie obserwuje",
|
||||||
"hide_follows_count_description": "Nie pokazuj licznika obserwowanych",
|
"hide_follows_count_description": "Nie pokazuj licznika obserwowanych",
|
||||||
"hide_follows_description": "Nie pokazuj kogo obserwuję",
|
"hide_follows_description": "Nie pokazuj kogo obserwuję",
|
||||||
"hide_isp": "Ukryj panel informacji o instancji",
|
"hide_isp": "Ukryj panel informacji o instancji",
|
||||||
|
"hide_list_aliases_error_action": "Zamknij",
|
||||||
"hide_media_previews": "Ukryj podgląd mediów",
|
"hide_media_previews": "Ukryj podgląd mediów",
|
||||||
"hide_muted_posts": "Ukrywaj wpisy wyciszonych użytkowników",
|
"hide_muted_posts": "Ukrywaj wpisy wyciszonych użytkowników",
|
||||||
|
"hide_muted_threads": "Ukryj wyciszone wątki",
|
||||||
"hide_post_stats": "Ukrywaj statysyki postów (np. liczbę polubień)",
|
"hide_post_stats": "Ukrywaj statysyki postów (np. liczbę polubień)",
|
||||||
"hide_shoutbox": "Ukryj shoutbox instancji",
|
"hide_shoutbox": "Ukryj shoutbox instancji",
|
||||||
|
"hide_site_favicon": "Ukryj favikonę instancji na górze panelu",
|
||||||
|
"hide_site_name": "Ukryj nazwę instancji na górze panelu",
|
||||||
|
"hide_threads_with_blocked_users": "Ukryj wątki wspominające o zablokowanych użytkownikach",
|
||||||
"hide_user_stats": "Ukrywaj statysyki użytkowników (np. liczbę obserwujących)",
|
"hide_user_stats": "Ukrywaj statysyki użytkowników (np. liczbę obserwujących)",
|
||||||
"hide_wallpaper": "Ukryj tło instancji",
|
"hide_wallpaper": "Ukryj tło instancji",
|
||||||
|
"hide_wordfiltered_statuses": "Ukryj wpisy zawierające wyfiltrowane słowa",
|
||||||
"import_blocks_from_a_csv_file": "Importuj blokady z pliku CSV",
|
"import_blocks_from_a_csv_file": "Importuj blokady z pliku CSV",
|
||||||
"import_followers_from_a_csv_file": "Importuj obserwowanych z pliku CSV",
|
"import_followers_from_a_csv_file": "Importuj obserwowanych z pliku CSV",
|
||||||
"import_mutes_from_a_csv_file": "Zaimportuj wyciszenia z pliku .csv",
|
"import_mutes_from_a_csv_file": "Zaimportuj wyciszenia z pliku .csv",
|
||||||
|
@ -384,10 +597,23 @@
|
||||||
"invalid_theme_imported": "Wybrany plik nie jest obsługiwanym motywem Pleromy. Nie dokonano zmian w twoim motywie.",
|
"invalid_theme_imported": "Wybrany plik nie jest obsługiwanym motywem Pleromy. Nie dokonano zmian w twoim motywie.",
|
||||||
"limited_availability": "Niedostępne w twojej przeglądarce",
|
"limited_availability": "Niedostępne w twojej przeglądarce",
|
||||||
"links": "Łącza",
|
"links": "Łącza",
|
||||||
|
"list_aliases_error": "Błąd pobierania aliasów: {error}",
|
||||||
|
"list_backups_error": "Błąd pobierania listy kopii zapasowych: {error}",
|
||||||
"lock_account_description": "Spraw, by konto mogli wyświetlać tylko zatwierdzeni obserwujący",
|
"lock_account_description": "Spraw, by konto mogli wyświetlać tylko zatwierdzeni obserwujący",
|
||||||
"loop_video": "Zapętlaj filmy",
|
"loop_video": "Zapętlaj filmy",
|
||||||
"loop_video_silent_only": "Zapętlaj tylko filmy bez dźwięku (np. mastodonowe „gify”)",
|
"loop_video_silent_only": "Zapętlaj tylko filmy bez dźwięku (np. mastodonowe „gify”)",
|
||||||
|
"mascot": "Maskotka Mastodon FE",
|
||||||
|
"max_depth_in_thread": "Maksymalna liczba poziomów w wątku wyświetlana domyślnie",
|
||||||
"max_thumbnails": "Maksymalna liczba miniatur w poście",
|
"max_thumbnails": "Maksymalna liczba miniatur w poście",
|
||||||
|
"mention_link_bolden_you": "Podkreśl wspomnienia o tobie",
|
||||||
|
"mention_link_display": "Pokaż linki wspomnień",
|
||||||
|
"mention_link_display_full": "zawsze jako pełne nazwy (np. {'@'}foo{'@'}example.org)",
|
||||||
|
"mention_link_display_full_for_remote": "jako pełne nazwy tylko dla zdalnych użytkowników (np. {'@'}foo{'@'}example.org)",
|
||||||
|
"mention_link_display_short": "zawsze jako krótkie nazwy (np. {'@'}foo)",
|
||||||
|
"mention_link_fade_domain": "Wyblakłe domeny (np. {'@'}example.org w {'@'}foo{'@'}example.org)",
|
||||||
|
"mention_link_show_avatar": "Pokaż avatar użytkownika obok linku",
|
||||||
|
"mention_link_show_tooltip": "Pokaż pełne nazwy użytkowników jako dymek dla zdalnych użytkowników",
|
||||||
|
"mention_links": "Linki wspomnień",
|
||||||
"mfa": {
|
"mfa": {
|
||||||
"authentication_methods": "Metody weryfikacji",
|
"authentication_methods": "Metody weryfikacji",
|
||||||
"confirm_and_enable": "Potwierdź i włącz OTP",
|
"confirm_and_enable": "Potwierdź i włącz OTP",
|
||||||
|
@ -411,6 +637,12 @@
|
||||||
},
|
},
|
||||||
"minimal_scopes_mode": "Zminimalizuj opcje wyboru zakresu postów",
|
"minimal_scopes_mode": "Zminimalizuj opcje wyboru zakresu postów",
|
||||||
"more_settings": "Więcej ustawień",
|
"more_settings": "Więcej ustawień",
|
||||||
|
"move_account": "Przenieś konto",
|
||||||
|
"move_account_error": "Błąd przenoszenia konta: {error}",
|
||||||
|
"move_account_notes": "Jeśli chcesz przenieść to konto gdzieś indziej, musisz przejść do konta docelowego i dodać tam alias wskazujący tutaj.",
|
||||||
|
"move_account_target": "Konto docelowe (np. {example})",
|
||||||
|
"moved_account": "Konto zostało przeniesione.",
|
||||||
|
"mute_bot_posts": "Wycisz posty botów",
|
||||||
"mute_export": "Eksport wyciszeń",
|
"mute_export": "Eksport wyciszeń",
|
||||||
"mute_export_button": "Wyeksportuj swoje wyciszenia do pliku .csv",
|
"mute_export_button": "Wyeksportuj swoje wyciszenia do pliku .csv",
|
||||||
"mute_import": "Import wyciszeń",
|
"mute_import": "Import wyciszeń",
|
||||||
|
@ -420,6 +652,7 @@
|
||||||
"mutes_tab": "Wyciszenia",
|
"mutes_tab": "Wyciszenia",
|
||||||
"name": "Imię",
|
"name": "Imię",
|
||||||
"name_bio": "Imię i bio",
|
"name_bio": "Imię i bio",
|
||||||
|
"new_alias_target": "Dodaj nowy alias (np. {example})",
|
||||||
"new_email": "Nowy e-mail",
|
"new_email": "Nowy e-mail",
|
||||||
"new_password": "Nowe hasło",
|
"new_password": "Nowe hasło",
|
||||||
"no_blocks": "Brak blokad",
|
"no_blocks": "Brak blokad",
|
||||||
|
@ -429,6 +662,7 @@
|
||||||
"notification_mutes": "By przestać otrzymywać powiadomienia od jednego użytkownika, wycisz go.",
|
"notification_mutes": "By przestać otrzymywać powiadomienia od jednego użytkownika, wycisz go.",
|
||||||
"notification_setting_block_from_strangers": "Zablokuj powiadomienia od użytkowników których nie obserwujesz",
|
"notification_setting_block_from_strangers": "Zablokuj powiadomienia od użytkowników których nie obserwujesz",
|
||||||
"notification_setting_filters": "Filtry",
|
"notification_setting_filters": "Filtry",
|
||||||
|
"notification_setting_hide_if_cw": "Ukryj zawartość powiadomień jeśli jest pod Ostrzeżeniem o Treści",
|
||||||
"notification_setting_hide_notification_contents": "Ukryj nadawcę i zawartość powiadomień push",
|
"notification_setting_hide_notification_contents": "Ukryj nadawcę i zawartość powiadomień push",
|
||||||
"notification_setting_privacy": "Prywatność",
|
"notification_setting_privacy": "Prywatność",
|
||||||
"notification_visibility": "Rodzaje powiadomień do wyświetlania",
|
"notification_visibility": "Rodzaje powiadomień do wyświetlania",
|
||||||
|
@ -437,6 +671,7 @@
|
||||||
"notification_visibility_likes": "Ulubione",
|
"notification_visibility_likes": "Ulubione",
|
||||||
"notification_visibility_mentions": "Wzmianki",
|
"notification_visibility_mentions": "Wzmianki",
|
||||||
"notification_visibility_moves": "Użytkownik migruje",
|
"notification_visibility_moves": "Użytkownik migruje",
|
||||||
|
"notification_visibility_polls": "Koniec ankiety w której brałoś udział",
|
||||||
"notification_visibility_repeats": "Powtórzenia",
|
"notification_visibility_repeats": "Powtórzenia",
|
||||||
"notifications": "Powiadomienia",
|
"notifications": "Powiadomienia",
|
||||||
"nsfw_clickthrough": "Włącz domyślne ukrywanie załączników o treści nieprzyzwoitej (NSFW)",
|
"nsfw_clickthrough": "Włącz domyślne ukrywanie załączników o treści nieprzyzwoitej (NSFW)",
|
||||||
|
@ -445,7 +680,9 @@
|
||||||
"panelRadius": "Panele",
|
"panelRadius": "Panele",
|
||||||
"pause_on_unfocused": "Wstrzymuj strumieniowanie kiedy karta nie jest aktywna",
|
"pause_on_unfocused": "Wstrzymuj strumieniowanie kiedy karta nie jest aktywna",
|
||||||
"play_videos_in_modal": "Odtwarzaj filmy bezpośrednio w przeglądarce mediów",
|
"play_videos_in_modal": "Odtwarzaj filmy bezpośrednio w przeglądarce mediów",
|
||||||
"post_status_content_type": "Post status content type",
|
"post_look_feel": "Wygląd wpisów",
|
||||||
|
"post_status_content_type": "Domyślny typ zawartości wpisów",
|
||||||
|
"posts": "Wpisy",
|
||||||
"preload_images": "Ładuj wstępnie obrazy",
|
"preload_images": "Ładuj wstępnie obrazy",
|
||||||
"presets": "Gotowe motywy",
|
"presets": "Gotowe motywy",
|
||||||
"profile_background": "Tło profilu",
|
"profile_background": "Tło profilu",
|
||||||
|
@ -459,6 +696,10 @@
|
||||||
"profile_tab": "Profil",
|
"profile_tab": "Profil",
|
||||||
"radii_help": "Ustaw zaokrąglenie krawędzi interfejsu (w pikselach)",
|
"radii_help": "Ustaw zaokrąglenie krawędzi interfejsu (w pikselach)",
|
||||||
"refresh_token": "Odśwież token",
|
"refresh_token": "Odśwież token",
|
||||||
|
"remove_alias": "Usuń ten alias",
|
||||||
|
"remove_backup": "Usuń kopię zapasową",
|
||||||
|
"render_mfm": "Wyświetlaj Misskey Markdown",
|
||||||
|
"render_mfm_on_hover": "Pauzuj animacje MFM dopóki nie najedziesz na nie kursorem",
|
||||||
"replies_in_timeline": "Odpowiedzi na osi czasu",
|
"replies_in_timeline": "Odpowiedzi na osi czasu",
|
||||||
"reply_visibility_all": "Pokazuj wszystkie odpowiedzi",
|
"reply_visibility_all": "Pokazuj wszystkie odpowiedzi",
|
||||||
"reply_visibility_following": "Pokazuj tylko odpowiedzi skierowane do mnie i osób które obserwuję",
|
"reply_visibility_following": "Pokazuj tylko odpowiedzi skierowane do mnie i osób które obserwuję",
|
||||||
|
@ -482,13 +723,34 @@
|
||||||
"security": "Bezpieczeństwo",
|
"security": "Bezpieczeństwo",
|
||||||
"security_tab": "Bezpieczeństwo",
|
"security_tab": "Bezpieczeństwo",
|
||||||
"sensitive_by_default": "Domyślnie oznaczaj wpisy jako wrażliwe",
|
"sensitive_by_default": "Domyślnie oznaczaj wpisy jako wrażliwe",
|
||||||
|
"sensitive_if_subject": "Automatycznie oznacz obrazki jako wrażliwe jeśli jest ustawnione ostrzeżenie o zawartości",
|
||||||
"set_new_avatar": "Ustaw nowy awatar",
|
"set_new_avatar": "Ustaw nowy awatar",
|
||||||
|
"set_new_mascot": "Ustaw nową maskotkę",
|
||||||
"set_new_profile_background": "Ustaw nowe tło profilu",
|
"set_new_profile_background": "Ustaw nowe tło profilu",
|
||||||
"set_new_profile_banner": "Ustaw nowy banner profilu",
|
"set_new_profile_banner": "Ustaw nowy banner profilu",
|
||||||
"setting_changed": "Opcja różni się od domyślnej",
|
"setting_changed": "Opcja różni się od domyślnej",
|
||||||
|
"setting_server_side": "Ta opcja jest przywiązana do twojego profilu i wpływa na wszystkie sesje i klienty",
|
||||||
"settings": "Ustawienia",
|
"settings": "Ustawienia",
|
||||||
|
"settings_profile": "Profile Ustawień",
|
||||||
|
"settings_profile_creation": "Stwórz nowy profil",
|
||||||
|
"settings_profile_creation_new_name_label": "Nazwa",
|
||||||
|
"settings_profile_creation_submit": "Stwórz",
|
||||||
|
"settings_profile_currently": "Aktualnie używane jest {name} (wersja: {version})",
|
||||||
|
"settings_profile_delete": "Usuń",
|
||||||
|
"settings_profile_delete_confirm": "Czy na pewno chesz usunąć ten profil?",
|
||||||
|
"settings_profile_force_sync": "Synchronizuj",
|
||||||
|
"settings_profile_in_use": "W użyciu",
|
||||||
|
"settings_profile_use": "Użyj",
|
||||||
|
"settings_profiles_refresh": "Odświerz profile ustawień",
|
||||||
|
"settings_profiles_show": "Pokaż wszystkie profile ustawień",
|
||||||
|
"settings_profiles_unshow": "Ukryj wszystkie profile ustawień",
|
||||||
"show_admin_badge": "Pokazuj odznakę „Administrator” na moim profilu",
|
"show_admin_badge": "Pokazuj odznakę „Administrator” na moim profilu",
|
||||||
"show_moderator_badge": "Pokazuj odznakę „Moderator” na moim profilu",
|
"show_moderator_badge": "Pokazuj odznakę „Moderator” na moim profilu",
|
||||||
|
"show_nav_shortcuts": "Pokaż dodatkowe skróty nawigacyjne w górnym panelu",
|
||||||
|
"show_panel_nav_shortcuts": "Pokaż skróty nawigacji osi czasu na górze panelu",
|
||||||
|
"show_scrollbars": "Pokaż paski przewijania kolumn bocznych",
|
||||||
|
"show_wider_shortcuts": "Zwiększ odstęp między skrótami na panelu górnym",
|
||||||
|
"show_yous": "Pokaż (Ty)",
|
||||||
"stop_gifs": "Odtwarzaj GIFy po najechaniu kursorem",
|
"stop_gifs": "Odtwarzaj GIFy po najechaniu kursorem",
|
||||||
"streaming": "Włącz automatycznie strumieniowanie nowych postów gdy jesteś na początku strony",
|
"streaming": "Włącz automatycznie strumieniowanie nowych postów gdy jesteś na początku strony",
|
||||||
"style": {
|
"style": {
|
||||||
|
@ -614,15 +876,15 @@
|
||||||
"help": {
|
"help": {
|
||||||
"fe_downgraded": "Wersja PleromaFE została cofnięta.",
|
"fe_downgraded": "Wersja PleromaFE została cofnięta.",
|
||||||
"fe_upgraded": "Silnik motywów PleromaFE został zaaktualizowany.",
|
"fe_upgraded": "Silnik motywów PleromaFE został zaaktualizowany.",
|
||||||
"future_version_imported": "Plik który zaimportowałeś(-aś) został stworzony w nowszej wersji FE.",
|
"future_version_imported": "Plik który zaimportowałoś został stworzony w nowszej wersji FE.",
|
||||||
"migration_napshot_gone": "Z jakiegoś powodu migawka zniknęła, niektóre rzeczy mogą wyglądać inaczej niż zapamiętałeś(-aś).",
|
"migration_napshot_gone": "Z jakiegoś powodu migawka zniknęła, niektóre rzeczy mogą wyglądać inaczej niż zapamiętałoś.",
|
||||||
"migration_snapshot_ok": "Żeby być bezpiecznym, migawka motywu została załadowana. Możesz spróbować załadować dane motywu.",
|
"migration_snapshot_ok": "Żeby być bezpiecznym, migawka motywu została załadowana. Możesz spróbować załadować dane motywu.",
|
||||||
"older_version_imported": "Plik który zaimportowałeś(-aś) został stworzony w starszej wersji FE.",
|
"older_version_imported": "Plik który zaimportowałoś został stworzony w starszej wersji FE.",
|
||||||
"snapshot_missing": "Nie znaleziono migawki motywu w pliku, więc motyw może wyglądać inaczej niż pierwotnie zaplanowano.",
|
"snapshot_missing": "Nie znaleziono migawki motywu w pliku, więc motyw może wyglądać inaczej niż pierwotnie zaplanowano.",
|
||||||
"snapshot_present": "Migawka motywu jest załadowana, więc wszystkie wartości zostały nadpisane. Zamiast tego możesz załadować właściwe dane motywu.",
|
"snapshot_present": "Migawka motywu jest załadowana, więc wszystkie wartości zostały nadpisane. Zamiast tego możesz załadować właściwe dane motywu.",
|
||||||
"snapshot_source_mismatch": "Konflikt wersji: najprawdopodobniej FE zostało cofnięte do poprzedniej wersji i zaktualizowane ponownie, jeśli zmieniłeś(-aś) motyw używając starszej wersji FE, najprawdopodobniej chcesz używać starszej wersji, w przeciwnym razie użyj nowej wersji.",
|
"snapshot_source_mismatch": "Konflikt wersji: najprawdopodobniej FE zostało cofnięte do poprzedniej wersji i zaktualizowane ponownie, jeśli zmieniłoś motyw używając starszej wersji FE, najprawdopodobniej chcesz używać starszej wersji, w przeciwnym razie użyj nowej wersji.",
|
||||||
"upgraded_from_v2": "PleromaFE zostało zaaktualizowane, motyw może wyglądać nieco inaczej niż zapamiętałeś(-aś).",
|
"upgraded_from_v2": "PleromaFE zostało zaaktualizowane, motyw może wyglądać nieco inaczej niż zapamiętałoś.",
|
||||||
"v2_imported": "Plik który zaimportowałeś(-aś) został stworzony dla starszego FE. Próbujemy zwiększyć kompatybilność, lecz wciąż mogą występować rozbieżności."
|
"v2_imported": "Plik który zaimportowałoś został stworzony dla starszego FE. Próbujemy zwiększyć kompatybilność, lecz wciąż mogą występować rozbieżności."
|
||||||
},
|
},
|
||||||
"keep_as_is": "Zostaw po staremu",
|
"keep_as_is": "Zostaw po staremu",
|
||||||
"keep_color": "Zachowaj kolory",
|
"keep_color": "Zachowaj kolory",
|
||||||
|
@ -637,9 +899,9 @@
|
||||||
"use_source": "Nowa wersja"
|
"use_source": "Nowa wersja"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"subject_input_always_show": "Zawsze pokazuj pole tematu",
|
"subject_input_always_show": "Zawsze pokazuj pole ostrzeżenia o treści",
|
||||||
"subject_line_behavior": "Kopiuj temat podczas odpowiedzi",
|
"subject_line_behavior": "Kopiuj ostrzeżenie o treści podczas odpowiedzi",
|
||||||
"subject_line_email": "Jak w mailach – „re: temat”",
|
"subject_line_email": "Jak w mailach – „re: ostrzeżenie”",
|
||||||
"subject_line_mastodon": "Jak na Mastodonie – po prostu kopiuj",
|
"subject_line_mastodon": "Jak na Mastodonie – po prostu kopiuj",
|
||||||
"subject_line_noop": "Nie kopiuj",
|
"subject_line_noop": "Nie kopiuj",
|
||||||
"text": "Tekst",
|
"text": "Tekst",
|
||||||
|
@ -647,15 +909,30 @@
|
||||||
"theme_help": "Użyj kolorów w notacji szesnastkowej (#rrggbb), by stworzyć swój motyw.",
|
"theme_help": "Użyj kolorów w notacji szesnastkowej (#rrggbb), by stworzyć swój motyw.",
|
||||||
"theme_help_v2_1": "Możesz też zastąpić kolory i widoczność poszczególnych komponentów przełączając pola wyboru, użyj „Wyczyść wszystko” aby usunąć wszystkie zastąpienia.",
|
"theme_help_v2_1": "Możesz też zastąpić kolory i widoczność poszczególnych komponentów przełączając pola wyboru, użyj „Wyczyść wszystko” aby usunąć wszystkie zastąpienia.",
|
||||||
"theme_help_v2_2": "Ikony pod niektórych wpisami są wskaźnikami kontrastu pomiędzy tłem a tekstem, po najechaniu na nie otrzymasz szczegółowe informacje. Zapamiętaj, że jeżeli używasz przezroczystości, wskaźniki pokazują najgorszy możliwy przypadek.",
|
"theme_help_v2_2": "Ikony pod niektórych wpisami są wskaźnikami kontrastu pomiędzy tłem a tekstem, po najechaniu na nie otrzymasz szczegółowe informacje. Zapamiętaj, że jeżeli używasz przezroczystości, wskaźniki pokazują najgorszy możliwy przypadek.",
|
||||||
|
"third_column_mode": "Jeśli jest dość miejsca, pokaż trzecią kolumnę zawierającą",
|
||||||
|
"third_column_mode_none": "Nie pokazuj trzeciej kolumny",
|
||||||
|
"third_column_mode_notifications": "Kolumnę powiadomień",
|
||||||
|
"third_column_mode_postform": "Główny formularz wpisu i nawigacja",
|
||||||
"token": "Token",
|
"token": "Token",
|
||||||
"tooltipRadius": "Etykiety/alerty",
|
"tooltipRadius": "Etykiety/alerty",
|
||||||
|
"translation_language": "Automatyczny Język Tłumaczeń",
|
||||||
|
"tree_advanced": "Pokaż dodatkowe przyciski do otwierania i zamykania ciągów odpowiedzi w wątkach",
|
||||||
|
"tree_fade_ancestors": "Pokaż przodków aktualnego wpisu jako blady tekst",
|
||||||
"type_domains_to_mute": "Wyszukaj domeny, które chcesz wyciszyć",
|
"type_domains_to_mute": "Wyszukaj domeny, które chcesz wyciszyć",
|
||||||
"upload_a_photo": "Wyślij zdjęcie",
|
"upload_a_photo": "Wyślij zdjęcie",
|
||||||
"useStreamingApi": "Otrzymuj posty i powiadomienia w czasie rzeczywistym",
|
"useStreamingApi": "Otrzymuj posty i powiadomienia w czasie rzeczywistym",
|
||||||
"useStreamingApiWarning": "(Niezalecane, eksperymentalne, pomija posty)",
|
"useStreamingApiWarning": "(Niezalecane, eksperymentalne, pomija posty)",
|
||||||
|
"use_at_icon": "Pokazuj symbol {'@'} jako ikonę a nie tekst",
|
||||||
|
"use_blurhash": "Używaj rozmycia dla miniatur wrażliwych obrazków",
|
||||||
"use_contain_fit": "Nie przycinaj załączników na miniaturach",
|
"use_contain_fit": "Nie przycinaj załączników na miniaturach",
|
||||||
"use_one_click_nsfw": "Otwieraj załączniki NSFW jednym kliknięciem",
|
"use_one_click_nsfw": "Otwieraj załączniki NSFW jednym kliknięciem",
|
||||||
|
"user_accepts_direct_messages_from": "Pozwalaj na wiadomości od",
|
||||||
|
"user_accepts_direct_messages_from_everybody": "Każdego",
|
||||||
|
"user_accepts_direct_messages_from_nobody": "Nikogo",
|
||||||
|
"user_accepts_direct_messages_from_people_i_follow": "Ludzi, których śledzę",
|
||||||
"user_mutes": "Użytkownicy",
|
"user_mutes": "Użytkownicy",
|
||||||
|
"user_profile_default_tab": "Domyślna Karta na Profilu Użytkownika",
|
||||||
|
"user_profiles": "Profile Użytkowników",
|
||||||
"user_settings": "Ustawienia użytkownika",
|
"user_settings": "Ustawienia użytkownika",
|
||||||
"valid_until": "Ważne do",
|
"valid_until": "Ważne do",
|
||||||
"values": {
|
"values": {
|
||||||
|
@ -668,34 +945,86 @@
|
||||||
"title": "Wersja"
|
"title": "Wersja"
|
||||||
},
|
},
|
||||||
"virtual_scrolling": "Optymalizuj renderowanie osi czasu",
|
"virtual_scrolling": "Optymalizuj renderowanie osi czasu",
|
||||||
"word_filter": "Filtr słów"
|
"word_filter": "Filtr słów",
|
||||||
|
"wordfilter": "Filtr słów"
|
||||||
|
},
|
||||||
|
"settings_profile": {
|
||||||
|
"creating": "Tworzę nowy profil ustawień \"{profile}\"...",
|
||||||
|
"synchronization_error": "Nie można zsynchronizować ustawień: {err}",
|
||||||
|
"synchronized": "Zsynchronizowano ustawienia!",
|
||||||
|
"synchronizing": "Synchronizuję profil ustawień \"{profile}\"..."
|
||||||
},
|
},
|
||||||
"status": {
|
"status": {
|
||||||
|
"ancestor_follow": "Pokaż {numReplies} inną odpowiedź pod tym wpisem | Pokaż {numReplies} innych odpowiedzi pod tym wpisem",
|
||||||
|
"ancestor_follow_with_icon": "{icon} {text}",
|
||||||
|
"attachment_stop_flash": "Zatrzymaj odtwarzacz Flash",
|
||||||
"bookmark": "Dodaj do zakładek",
|
"bookmark": "Dodaj do zakładek",
|
||||||
"copy_link": "Kopiuj link do statusu",
|
"collapse_attachments": "Złóż załączniki",
|
||||||
"delete": "Usuń status",
|
"copy_link": "Kopiuj link do wpisu",
|
||||||
"delete_confirm": "Czy naprawdę chcesz usunąć ten status?",
|
"delete": "Usuń wpis",
|
||||||
|
"delete_confirm": "Czy naprawdę chcesz usunąć ten wpis?",
|
||||||
|
"delete_confirm_accept_button": "Tak, usuń",
|
||||||
|
"delete_confirm_cancel_button": "Nie, zostaw",
|
||||||
|
"delete_confirm_title": "Potwierdź usunięcie",
|
||||||
|
"edit": "Edytuj",
|
||||||
|
"edit_history": "Historia edycji",
|
||||||
|
"edit_history_modal_title": "Edytowano {historyCount} raz | Edytowano {historyCount} razy",
|
||||||
|
"edited_at": "Edytowano {time}",
|
||||||
"expand": "Rozwiń",
|
"expand": "Rozwiń",
|
||||||
"external_source": "Zewnętrzne źródło",
|
"external_source": "Zewnętrzne źródło",
|
||||||
"favorites": "Ulubione",
|
"favorites": "Ulubione",
|
||||||
|
"hide_attachment": "Ukryj załącznik",
|
||||||
"hide_content": "Ukryj zawartość",
|
"hide_content": "Ukryj zawartość",
|
||||||
"hide_full_subject": "Ukryj cały temat",
|
"hide_full_subject": "Ukryj całe ostrzeżenie o treści",
|
||||||
|
"many_attachments": "Wpis ma {number} załącznik | Wpis ma {number} załączników",
|
||||||
|
"mentions": "Wspomnienia",
|
||||||
|
"move_down": "Przesuń załączniki w prawo",
|
||||||
|
"move_up": "Przesuń załączniki w lewo",
|
||||||
"mute_conversation": "Wycisz konwersację",
|
"mute_conversation": "Wycisz konwersację",
|
||||||
"nsfw": "NSFW",
|
"nsfw": "NSFW",
|
||||||
|
"open_gallery": "Otwórz galerię",
|
||||||
|
"override_translation_source_language": "Nadpisz język źródłowy",
|
||||||
"pin": "Przypnij na profilu",
|
"pin": "Przypnij na profilu",
|
||||||
"pinned": "Przypnięte",
|
"pinned": "Przypnięte",
|
||||||
|
"plus_more": "+{number} więcej",
|
||||||
|
"redraft": "Usuń i przeredaguj",
|
||||||
|
"redraft_confirm": "Czy na pewno chesz usunąć i przeredagować post? Interakcje z oryginalnym wpisem nie zostaną zachowane.",
|
||||||
|
"redraft_confirm_accept_button": "Tak, usuń i przeredaguj",
|
||||||
|
"redraft_confirm_cancel_button": "Nie, zostaw wpis oryginalny",
|
||||||
|
"redraft_confirm_title": "Potwierdź usunięcie i przeredagowanie",
|
||||||
|
"remove_attachment": "Usuń załącznik",
|
||||||
|
"repeat_confirm": "Czy na pewno chesz powtórzyć ten wpis?",
|
||||||
|
"repeat_confirm_accept_button": "Tak, powtórz",
|
||||||
|
"repeat_confirm_cancel_button": "Nie, nie powtarzaj",
|
||||||
|
"repeat_confirm_title": "Potwierdź powtórzenie",
|
||||||
"repeats": "Powtórzenia",
|
"repeats": "Powtórzenia",
|
||||||
"replies_list": "Odpowiedzi:",
|
"replies_list": "Odpowiedzi:",
|
||||||
|
"replies_list_with_others": "Pokaż {numReplies} więcej odpowiedź | Pokaż {numReplies} więcej odpowiedzi",
|
||||||
"reply_to": "Odpowiedź dla",
|
"reply_to": "Odpowiedź dla",
|
||||||
|
"show_all_attachments": "Pokaż wszystkie załączniki",
|
||||||
|
"show_all_conversation": "Pokaż pełną rozmowę ({numStatus} inny wpis) | Pokaż pełną rozmowę ({numStatus} innych wpisów)",
|
||||||
|
"show_all_conversation_with_icon": "{icon} {text}",
|
||||||
|
"show_attachment_description": "Podgląd opisu (otwórz załącznik by zobaczyć pełen opis)",
|
||||||
|
"show_attachment_in_modal": "Pokaż załącznik w oknie",
|
||||||
"show_content": "Pokaż zawartość",
|
"show_content": "Pokaż zawartość",
|
||||||
"show_full_subject": "Pokaż cały temat",
|
"show_full_subject": "Pokaż całe ostrzeżenie o treści",
|
||||||
|
"show_only_conversation_under_this": "Pokaż tylko odpowiedzi na ten wpis",
|
||||||
"status_deleted": "Ten wpis został usunięty",
|
"status_deleted": "Ten wpis został usunięty",
|
||||||
"status_unavailable": "Status niedostępny",
|
"status_unavailable": "Wpis niedostępny",
|
||||||
|
"thread_follow": "Pokaż {numStatus} więcej odpowiedź | Pokaż {numStatus} więcej odpowiedzi",
|
||||||
|
"thread_follow_with_icon": "{icon} {text}",
|
||||||
|
"thread_hide": "Ukryj ten wątek",
|
||||||
"thread_muted": "Wątek wyciszony",
|
"thread_muted": "Wątek wyciszony",
|
||||||
"thread_muted_and_words": ", ma słowa:",
|
"thread_muted_and_words": ", ma słowa:",
|
||||||
|
"thread_show": "Pokaż ten wątek",
|
||||||
|
"thread_show_full": "Pokaż {numStatus} odpowiedź | Pokaż wszystkie {numStatus} odpowiedzi",
|
||||||
|
"thread_show_full_with_icon": "{icon} {text}",
|
||||||
|
"translate": "Przetłumacz",
|
||||||
|
"translated_from": "Przetłumaczone z {language}",
|
||||||
"unbookmark": "Usuń z zakładek",
|
"unbookmark": "Usuń z zakładek",
|
||||||
"unmute_conversation": "Odcisz konwersację",
|
"unmute_conversation": "Odcisz konwersację",
|
||||||
"unpin": "Odepnij z profilu"
|
"unpin": "Odepnij z profilu",
|
||||||
|
"you": "(Ty)"
|
||||||
},
|
},
|
||||||
"time": {
|
"time": {
|
||||||
"in_future": "za {0}",
|
"in_future": "za {0}",
|
||||||
|
@ -723,23 +1052,29 @@
|
||||||
"collapse": "Zwiń",
|
"collapse": "Zwiń",
|
||||||
"conversation": "Rozmowa",
|
"conversation": "Rozmowa",
|
||||||
"error": "Błąd pobierania osi czasu: {0}",
|
"error": "Błąd pobierania osi czasu: {0}",
|
||||||
"load_older": "Załaduj starsze statusy",
|
"follow_tag": "Śledź hasztag",
|
||||||
"no_more_statuses": "Brak kolejnych statusów",
|
"load_older": "Załaduj starsze wpisy",
|
||||||
|
"no_more_statuses": "Brak kolejnych wpisów",
|
||||||
"no_retweet_hint": "Wpis oznaczony jako tylko dla obserwujących lub bezpośredni nie może zostać powtórzony",
|
"no_retweet_hint": "Wpis oznaczony jako tylko dla obserwujących lub bezpośredni nie może zostać powtórzony",
|
||||||
"no_statuses": "Brak statusów",
|
"no_statuses": "Brak wpisów",
|
||||||
"reload": "Odśwież",
|
"reload": "Odśwież",
|
||||||
"repeated": "powtórzył(-a)",
|
"repeated": "powtórzył(-a)",
|
||||||
"show_new": "Pokaż nowe",
|
"show_new": "Pokaż nowe",
|
||||||
"socket_broke": "Utracono połączenie w czasie rzeczywistym: kod CloseEvent {0}",
|
"socket_broke": "Utracono połączenie w czasie rzeczywistym: kod CloseEvent {0}",
|
||||||
"socket_reconnected": "Osiągnięto połączenie w czasie rzeczywistym",
|
"socket_reconnected": "Osiągnięto połączenie w czasie rzeczywistym",
|
||||||
|
"unfollow_tag": "Przestań śledzić hasztag",
|
||||||
"up_to_date": "Na bieżąco"
|
"up_to_date": "Na bieżąco"
|
||||||
},
|
},
|
||||||
|
"toast": {
|
||||||
|
"no_translation_target_set": "Nie ustawiono docelowego języka tłumaczenia - to może się nie udać. Ustaw język docelowy w ustawieniach."
|
||||||
|
},
|
||||||
"tool_tip": {
|
"tool_tip": {
|
||||||
"accept_follow_request": "Akceptuj prośbę o możliwość obserwacji",
|
"accept_follow_request": "Akceptuj prośbę o możliwość obserwacji",
|
||||||
"add_reaction": "Dodaj reakcję",
|
"add_reaction": "Dodaj reakcję",
|
||||||
"bookmark": "Zakładka",
|
"bookmark": "Zakładka",
|
||||||
"favorite": "Dodaj do ulubionych",
|
"favorite": "Dodaj do ulubionych",
|
||||||
"media_upload": "Wyślij media",
|
"media_upload": "Wyślij media",
|
||||||
|
"quote": "Cytuj",
|
||||||
"reject_follow_request": "Odrzuć prośbę o możliwość obserwacji",
|
"reject_follow_request": "Odrzuć prośbę o możliwość obserwacji",
|
||||||
"repeat": "Powtórz",
|
"repeat": "Powtórz",
|
||||||
"reply": "Odpowiedz",
|
"reply": "Odpowiedz",
|
||||||
|
@ -766,6 +1101,7 @@
|
||||||
"deactivate_account": "Dezaktywuj konto",
|
"deactivate_account": "Dezaktywuj konto",
|
||||||
"delete_account": "Usuń konto",
|
"delete_account": "Usuń konto",
|
||||||
"delete_user": "Usuń użytkownika",
|
"delete_user": "Usuń użytkownika",
|
||||||
|
"delete_user_data_and_deactivate_confirmation": "To nieodwracalnie usunie dane tego konta i je zdezaktywuje. Czy na pewno chesz to zrobić?",
|
||||||
"disable_any_subscription": "Zakaż całkowicie obserwowania użytkownika",
|
"disable_any_subscription": "Zakaż całkowicie obserwowania użytkownika",
|
||||||
"disable_remote_subscription": "Zakaż obserwowania użytkownika ze zdalnych instancji",
|
"disable_remote_subscription": "Zakaż obserwowania użytkownika ze zdalnych instancji",
|
||||||
"force_nsfw": "Oznacz wszystkie posty jako NSFW",
|
"force_nsfw": "Oznacz wszystkie posty jako NSFW",
|
||||||
|
@ -780,17 +1116,36 @@
|
||||||
"strip_media": "Usuń multimedia z postów"
|
"strip_media": "Usuń multimedia z postów"
|
||||||
},
|
},
|
||||||
"approve": "Przyjmij",
|
"approve": "Przyjmij",
|
||||||
|
"approve_confirm": "Czy na pewno chesz pozwolić by ten użytkownik cię śledził?",
|
||||||
|
"approve_confirm_accept_button": "Tak, akceptuj",
|
||||||
|
"approve_confirm_cancel_button": "Nie, anuluj",
|
||||||
|
"approve_confirm_title": "Akceptuj prośbę o śledzenie",
|
||||||
"block": "Zablokuj",
|
"block": "Zablokuj",
|
||||||
|
"block_confirm": "Czy na pewno chesz zablokować {user}?",
|
||||||
|
"block_confirm_accept_button": "Tak, blokuj",
|
||||||
|
"block_confirm_cancel_button": "Nie, nie blokuj",
|
||||||
|
"block_confirm_title": "Blokuj użytkownika",
|
||||||
"block_progress": "Blokuję…",
|
"block_progress": "Blokuję…",
|
||||||
"blocked": "Zablokowany!",
|
"blocked": "Zablokowany!",
|
||||||
|
"blocks_you": "Blokuje cię!",
|
||||||
"bot": "Bot",
|
"bot": "Bot",
|
||||||
|
"deactivated": "Zdezaktywowano",
|
||||||
"deny": "Odrzuć",
|
"deny": "Odrzuć",
|
||||||
|
"deny_confirm": "Czy na pewno chesz odmówić prośbie o śledzenie?",
|
||||||
|
"deny_confirm_accept_button": "Tak, odmów",
|
||||||
|
"deny_confirm_cancel_button": "Nie, nie odmawiaj",
|
||||||
|
"deny_confirm_title": "Odmów prośbie o śledzenie",
|
||||||
|
"domain_muted": "Odblokuj domenę",
|
||||||
"edit_profile": "Edytuj profil",
|
"edit_profile": "Edytuj profil",
|
||||||
"favorites": "Ulubione",
|
"favorites": "Ulubione",
|
||||||
"follow": "Obserwuj",
|
"follow": "Obserwuj",
|
||||||
|
"follow_cancel": "Anuluj prośbę",
|
||||||
"follow_progress": "Wysyłam prośbę…",
|
"follow_progress": "Wysyłam prośbę…",
|
||||||
"follow_sent": "Wysłano prośbę!",
|
"follow_sent": "Wysłano prośbę!",
|
||||||
|
"follow_tag": "Śledź hasztag",
|
||||||
"follow_unfollow": "Przestań obserwować",
|
"follow_unfollow": "Przestań obserwować",
|
||||||
|
"followed_tags": "Śledzone hasztagi",
|
||||||
|
"followed_users": "Śledzeni użytkownicy",
|
||||||
"followees": "Obserwowani",
|
"followees": "Obserwowani",
|
||||||
"followers": "Obserwujący",
|
"followers": "Obserwujący",
|
||||||
"following": "Obserwowany!",
|
"following": "Obserwowany!",
|
||||||
|
@ -798,28 +1153,47 @@
|
||||||
"hidden": "Ukryte",
|
"hidden": "Ukryte",
|
||||||
"hide_repeats": "Ukryj powtórzenia",
|
"hide_repeats": "Ukryj powtórzenia",
|
||||||
"highlight": {
|
"highlight": {
|
||||||
"disabled": "Bez wyróżnienia"
|
"disabled": "Bez wyróżnienia",
|
||||||
|
"side": "Pasek boczny",
|
||||||
|
"solid": "Jednokolorowe tło",
|
||||||
|
"striped": "Tło w paski"
|
||||||
},
|
},
|
||||||
"its_you": "To ty!",
|
"its_you": "To ty!",
|
||||||
"media": "Media",
|
"media": "Media",
|
||||||
"mention": "Wspomnienie",
|
"mention": "Wspomnienie",
|
||||||
"message": "Napisz",
|
"message": "Napisz",
|
||||||
"mute": "Wycisz",
|
"mute": "Wycisz",
|
||||||
|
"mute_confirm": "Czy na pewno chcesz wyciszyć {user}?",
|
||||||
|
"mute_confirm_accept_button": "Tak, wycisz",
|
||||||
|
"mute_confirm_cancel_button": "Nie, nie wyciszaj",
|
||||||
|
"mute_confirm_title": "Wycisz użytkownika",
|
||||||
|
"mute_domain": "Blokuj domenę",
|
||||||
"mute_progress": "Wyciszam…",
|
"mute_progress": "Wyciszam…",
|
||||||
"muted": "Wyciszony(-a)",
|
"muted": "Wyciszony(-a)",
|
||||||
|
"not_following_any_hashtags": "Nie śledzisz żadnych hasztagów",
|
||||||
|
"note": "Prywatna notatka",
|
||||||
"per_day": "dziennie",
|
"per_day": "dziennie",
|
||||||
"remote_follow": "Zdalna obserwacja",
|
"remote_follow": "Zdalna obserwacja",
|
||||||
|
"remove_follower": "Zdalny śledzący",
|
||||||
|
"replies": "Z odpowiedziami",
|
||||||
"report": "Zgłoś",
|
"report": "Zgłoś",
|
||||||
|
"requested_by": "Chce cię śledzić",
|
||||||
"show_repeats": "Pokaż powtórzenia",
|
"show_repeats": "Pokaż powtórzenia",
|
||||||
"statuses": "Statusy",
|
"statuses": "Wpisy",
|
||||||
"subscribe": "Subskrybuj",
|
"subscribe": "Subskrybuj",
|
||||||
"unblock": "Odblokuj",
|
"unblock": "Odblokuj",
|
||||||
"unblock_progress": "Odblokowuję…",
|
"unblock_progress": "Odblokowuję…",
|
||||||
|
"unfollow_confirm": "Czy na pewno chesz przestać śledzić {user}?",
|
||||||
|
"unfollow_confirm_accept_button": "Tak, przestań śledzić",
|
||||||
|
"unfollow_confirm_cancel_button": "Nie, nie przestawaj",
|
||||||
|
"unfollow_confirm_title": "Przestań śledzić użytkownika",
|
||||||
|
"unfollow_tag": "Przestań śledzić hasztag",
|
||||||
"unmute": "Cofnij wyciszenie",
|
"unmute": "Cofnij wyciszenie",
|
||||||
"unmute_progress": "Cofam wyciszenie…",
|
"unmute_progress": "Cofam wyciszenie…",
|
||||||
"unsubscribe": "Odsubskrybuj"
|
"unsubscribe": "Odsubskrybuj"
|
||||||
},
|
},
|
||||||
"user_profile": {
|
"user_profile": {
|
||||||
|
"field_validated": "Link zweryfikowany",
|
||||||
"profile_does_not_exist": "Przepraszamy, ten profil nie istnieje.",
|
"profile_does_not_exist": "Przepraszamy, ten profil nie istnieje.",
|
||||||
"profile_loading_error": "Przepraszamy, wystąpił błąd podczas ładowania tego profilu.",
|
"profile_loading_error": "Przepraszamy, wystąpił błąd podczas ładowania tego profilu.",
|
||||||
"timeline_title": "Oś czasu użytkownika"
|
"timeline_title": "Oś czasu użytkownika"
|
||||||
|
|
|
@ -30,7 +30,27 @@
|
||||||
"simple_policies": "Políticas especificas do domínio"
|
"simple_policies": "Políticas especificas do domínio"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"staff": "Staff"
|
"staff": "Equipe"
|
||||||
|
},
|
||||||
|
"announcements": {
|
||||||
|
"all_day_prompt": "Este evento dura o dia inteiro",
|
||||||
|
"cancel_edit_action": "Cancelar",
|
||||||
|
"close_error": "Fechar",
|
||||||
|
"delete_action": "Apagar",
|
||||||
|
"edit_action": "Editar",
|
||||||
|
"end_time_display": "Termina às {time}",
|
||||||
|
"inactive_message": "Este anúncio está inativo",
|
||||||
|
"mark_as_read_action": "Marcar como lido",
|
||||||
|
"page_header": "Anúncios",
|
||||||
|
"post_action": "Publicar",
|
||||||
|
"post_error": "Erro: {error}",
|
||||||
|
"post_form_header": "Publicar anúncio",
|
||||||
|
"post_placeholder": "Conteúdo do anúncio",
|
||||||
|
"published_time_display": "Publicado às {time}",
|
||||||
|
"start_time_display": "Começa às {time}",
|
||||||
|
"start_time_prompt": "Hora de início: ",
|
||||||
|
"submit_edit_action": "Enviar",
|
||||||
|
"title": "Anúncio"
|
||||||
},
|
},
|
||||||
"announcements": {
|
"announcements": {
|
||||||
"all_day_prompt": "Este evento dura o dia inteiro",
|
"all_day_prompt": "Este evento dura o dia inteiro",
|
||||||
|
@ -167,7 +187,7 @@
|
||||||
"password": "Palavra-passe",
|
"password": "Palavra-passe",
|
||||||
"placeholder": "ex. lain",
|
"placeholder": "ex. lain",
|
||||||
"recovery_code": "Código de recuperação",
|
"recovery_code": "Código de recuperação",
|
||||||
"register": "Registar",
|
"register": "Registrar",
|
||||||
"username": "Nome de Utilizador"
|
"username": "Nome de Utilizador"
|
||||||
},
|
},
|
||||||
"media_modal": {
|
"media_modal": {
|
||||||
|
@ -244,7 +264,7 @@
|
||||||
"text/plain": "Texto puro"
|
"text/plain": "Texto puro"
|
||||||
},
|
},
|
||||||
"content_warning": "Assunto (opcional)",
|
"content_warning": "Assunto (opcional)",
|
||||||
"default": "Acabei de chegar a Lisboa.",
|
"default": "Acabei de chegar em",
|
||||||
"direct_warning_to_all": "Esta publicação será visível para todos os utilizadores mencionados.",
|
"direct_warning_to_all": "Esta publicação será visível para todos os utilizadores mencionados.",
|
||||||
"direct_warning_to_first_only": "Esta publicação só será visível para os utilizadores mencionados no início da mensagem.",
|
"direct_warning_to_first_only": "Esta publicação só será visível para os utilizadores mencionados no início da mensagem.",
|
||||||
"empty_status_error": "Não consegues publicar um post vazio e sem ficheiros",
|
"empty_status_error": "Não consegues publicar um post vazio e sem ficheiros",
|
||||||
|
@ -268,7 +288,7 @@
|
||||||
},
|
},
|
||||||
"registration": {
|
"registration": {
|
||||||
"bio": "Biografia",
|
"bio": "Biografia",
|
||||||
"bio_placeholder": "ex.\nOlá, sou a Lain\nSou uma menina de anime que vive no Japão suburbano. Devem conhecer-me do \"the Wired\".",
|
"bio_placeholder": "Ex.:\nBem-vindo a minha bio.\nEu amo assistir anime e jogar. Eu espero que possamos ser amigos!",
|
||||||
"captcha": "CAPTCHA",
|
"captcha": "CAPTCHA",
|
||||||
"email": "Endereço de e-mail",
|
"email": "Endereço de e-mail",
|
||||||
"fullname": "Nome para exibição",
|
"fullname": "Nome para exibição",
|
||||||
|
@ -401,7 +421,7 @@
|
||||||
"scan": {
|
"scan": {
|
||||||
"desc": "Utilizando a sua aplicação de dois fatores, faça scan deste código QR ou insira a chave de texto:",
|
"desc": "Utilizando a sua aplicação de dois fatores, faça scan deste código QR ou insira a chave de texto:",
|
||||||
"secret_code": "Chave",
|
"secret_code": "Chave",
|
||||||
"title": "Scan"
|
"title": "Escanear"
|
||||||
},
|
},
|
||||||
"setup_otp": "Configurar palavra-passe de utilização única",
|
"setup_otp": "Configurar palavra-passe de utilização única",
|
||||||
"title": "Autenticação de Dois Fatores",
|
"title": "Autenticação de Dois Fatores",
|
||||||
|
@ -566,7 +586,7 @@
|
||||||
"fine_print": "Leia nosso {0} para não aprender nada!",
|
"fine_print": "Leia nosso {0} para não aprender nada!",
|
||||||
"header": "Pré-visualizar",
|
"header": "Pré-visualizar",
|
||||||
"header_faint": "Isto está bem",
|
"header_faint": "Isto está bem",
|
||||||
"input": "Acabei de chegar a Lisboa.",
|
"input": "Acabei de chegar na Lua",
|
||||||
"link": "um belo link",
|
"link": "um belo link",
|
||||||
"mono": "conteúdo",
|
"mono": "conteúdo",
|
||||||
"text": "Vários {0} e {1}"
|
"text": "Vários {0} e {1}"
|
||||||
|
@ -648,7 +668,7 @@
|
||||||
"type_domains_to_mute": "Pesquisar domínios para silenciar",
|
"type_domains_to_mute": "Pesquisar domínios para silenciar",
|
||||||
"upload_a_photo": "Enviar uma foto",
|
"upload_a_photo": "Enviar uma foto",
|
||||||
"useStreamingApi": "Receber publicações e notificações em tempo real",
|
"useStreamingApi": "Receber publicações e notificações em tempo real",
|
||||||
"useStreamingApiWarning": "(não recomendado, experimental, pode omitir publicações)",
|
"useStreamingApiWarning": "É legal usar isso. Se der algum problema, atualize, eu acho?",
|
||||||
"use_contain_fit": "Não cortar o anexo na miniatura",
|
"use_contain_fit": "Não cortar o anexo na miniatura",
|
||||||
"use_one_click_nsfw": "Abrir anexos sensíveis com um clique",
|
"use_one_click_nsfw": "Abrir anexos sensíveis com um clique",
|
||||||
"user_mutes": "Utilizadores",
|
"user_mutes": "Utilizadores",
|
||||||
|
|
149
src/i18n/ru.json
149
src/i18n/ru.json
|
@ -1,5 +1,7 @@
|
||||||
{
|
{
|
||||||
"about": {
|
"about": {
|
||||||
|
"bubble_instances": "Узлы из локального пузыря",
|
||||||
|
"bubble_instances_description": "Узлы, выбранные администрацией для обозначения местности данного узла",
|
||||||
"mrf": {
|
"mrf": {
|
||||||
"federation": "Федерация",
|
"federation": "Федерация",
|
||||||
"keyword": {
|
"keyword": {
|
||||||
|
@ -16,12 +18,15 @@
|
||||||
"accept_desc": "Данный узел принимает сообщения только со следующих узлов:",
|
"accept_desc": "Данный узел принимает сообщения только со следующих узлов:",
|
||||||
"ftl_removal": "Скрытие с федеративной ленты",
|
"ftl_removal": "Скрытие с федеративной ленты",
|
||||||
"ftl_removal_desc": "Данный узел скрывает следующие узлы с федеративной ленты:",
|
"ftl_removal_desc": "Данный узел скрывает следующие узлы с федеративной ленты:",
|
||||||
|
"instance": "Узел",
|
||||||
"media_nsfw": "Принужденно помеченно как имеющее щекотливый характер",
|
"media_nsfw": "Принужденно помеченно как имеющее щекотливый характер",
|
||||||
"media_nsfw_desc": "Данный узел принужденно помечает вложения со следующих узлов как имеющие щекотливый характер:",
|
"media_nsfw_desc": "Данный узел принужденно помечает вложения со следующих узлов как имеющие щекотливый характер:",
|
||||||
"media_removal": "Удаление вложений",
|
"media_removal": "Удаление вложений",
|
||||||
"media_removal_desc": "Данный узел удаляет вложения со следующих узлов:",
|
"media_removal_desc": "Данный узел удаляет вложения со следующих узлов:",
|
||||||
|
"not_applicable": "Н/Д",
|
||||||
"quarantine": "Зона карантина",
|
"quarantine": "Зона карантина",
|
||||||
"quarantine_desc": "Данный узел отправляет только публичные статусы следующим узлам:",
|
"quarantine_desc": "Данный узел не отправляет статусы следующим узлам:",
|
||||||
|
"reason": "Причина",
|
||||||
"reject": "Черный список",
|
"reject": "Черный список",
|
||||||
"reject_desc": "Данный узел не принимает сообщения со следующих узлов:",
|
"reject_desc": "Данный узел не принимает сообщения со следующих узлов:",
|
||||||
"simple_policies": "Правила для определенных узлов"
|
"simple_policies": "Правила для определенных узлов"
|
||||||
|
@ -29,17 +34,43 @@
|
||||||
},
|
},
|
||||||
"staff": "Администрация"
|
"staff": "Администрация"
|
||||||
},
|
},
|
||||||
|
"announcements": {
|
||||||
|
"all_day_prompt": "Весь день",
|
||||||
|
"cancel_edit_action": "Отмена",
|
||||||
|
"close_error": "Закрыть",
|
||||||
|
"delete_action": "Удалить",
|
||||||
|
"edit_action": "Редактировать",
|
||||||
|
"end_time_display": "Заканчивается в {time}",
|
||||||
|
"end_time_prompt": "Конец: ",
|
||||||
|
"inactive_message": "Это объявление неактивно",
|
||||||
|
"mark_as_read_action": "Прочитано",
|
||||||
|
"page_header": "Объявления",
|
||||||
|
"post_action": "Опубликовать",
|
||||||
|
"post_error": "Ошибка: {error}",
|
||||||
|
"post_form_header": "Опубликовать объявление",
|
||||||
|
"post_placeholder": "Содержание объявления",
|
||||||
|
"published_time_display": "Опубликовано в {time}",
|
||||||
|
"start_time_display": "Начинается в {time}",
|
||||||
|
"start_time_prompt": "Начало: ",
|
||||||
|
"submit_edit_action": "Отправить",
|
||||||
|
"title": "Объявление"
|
||||||
|
},
|
||||||
"chats": {
|
"chats": {
|
||||||
"chats": "Беседы",
|
"chats": "Беседы",
|
||||||
"delete": "Удалить",
|
"delete": "Удалить",
|
||||||
"delete_confirm": "Вы точно хотите удалить сообщение?",
|
"delete_confirm": "Вы точно хотите удалить сообщение?",
|
||||||
"empty_chat_list_placeholder": "У вас пока нет бесед. Начните одну!",
|
"empty_chat_list_placeholder": "У вас пока нет бесед. Начните одну!",
|
||||||
"empty_message_error": "Нельзя отправить пустое сообщение",
|
"empty_message_error": "Нельзя отправить пустое сообщение",
|
||||||
|
"error_loading_chat": "Произошла ошибка при загрузке беседы.",
|
||||||
"error_sending_message": "Произошла ошибка при отправке сообщения.",
|
"error_sending_message": "Произошла ошибка при отправке сообщения.",
|
||||||
"message_user": "Напишите {nickname}",
|
"message_user": "Напишите {nickname}",
|
||||||
|
"more": "Больше",
|
||||||
"new": "Новая беседа",
|
"new": "Новая беседа",
|
||||||
"you": "Вы:"
|
"you": "Вы:"
|
||||||
},
|
},
|
||||||
|
"display_date": {
|
||||||
|
"today": "Сегодня"
|
||||||
|
},
|
||||||
"domain_mute_card": {
|
"domain_mute_card": {
|
||||||
"mute": "Игнорировать",
|
"mute": "Игнорировать",
|
||||||
"mute_progress": "В процессе…",
|
"mute_progress": "В процессе…",
|
||||||
|
@ -53,6 +84,7 @@
|
||||||
"keep_open": "Оставить окно выбора открытым",
|
"keep_open": "Оставить окно выбора открытым",
|
||||||
"load_all": "Все {emojiAmount} эмодзи загружаются",
|
"load_all": "Все {emojiAmount} эмодзи загружаются",
|
||||||
"load_all_hint": "Загружены первые {saneAmount} эмодзи, загрузка всех эмодзи может привести к проблемам с производительностью.",
|
"load_all_hint": "Загружены первые {saneAmount} эмодзи, загрузка всех эмодзи может привести к проблемам с производительностью.",
|
||||||
|
"recent": "Недавно использованные",
|
||||||
"search_emoji": "Поиск эмодзи",
|
"search_emoji": "Поиск эмодзи",
|
||||||
"stickers": "Стикеры",
|
"stickers": "Стикеры",
|
||||||
"unicode": "Стандартные эмодзи"
|
"unicode": "Стандартные эмодзи"
|
||||||
|
@ -91,6 +123,9 @@
|
||||||
"dismiss": "Закрыть",
|
"dismiss": "Закрыть",
|
||||||
"enable": "Включить",
|
"enable": "Включить",
|
||||||
"error_retry": "Пожалуйста попробуйте еще раз",
|
"error_retry": "Пожалуйста попробуйте еще раз",
|
||||||
|
"flash_content": "Показывать Flash-контент с помощью Ruffle (экспериментально, гарантии работы нет).",
|
||||||
|
"flash_fail": "Не удалось загрузить Flash-контент, подробности см. в консоли.",
|
||||||
|
"flash_security": "Эта функция является потенциально опасной, так как Flash-контент допускает выполнение произвольного кода.",
|
||||||
"generic_error": "Произошла ошибка",
|
"generic_error": "Произошла ошибка",
|
||||||
"loading": "Загрузка…",
|
"loading": "Загрузка…",
|
||||||
"more": "Больше",
|
"more": "Больше",
|
||||||
|
@ -101,6 +136,13 @@
|
||||||
"admin": "Администратор",
|
"admin": "Администратор",
|
||||||
"moderator": "Модератор"
|
"moderator": "Модератор"
|
||||||
},
|
},
|
||||||
|
"scope_in_timeline": {
|
||||||
|
"direct": "Прямой",
|
||||||
|
"local": "Локальный - только ваш узел может видеть этот статус",
|
||||||
|
"private": "Только для читателей",
|
||||||
|
"public": "Публичный",
|
||||||
|
"unlisted": "Тихий"
|
||||||
|
},
|
||||||
"show_less": "Показать меньше",
|
"show_less": "Показать меньше",
|
||||||
"show_more": "Показать больше",
|
"show_more": "Показать больше",
|
||||||
"submit": "Отправить",
|
"submit": "Отправить",
|
||||||
|
@ -123,6 +165,84 @@
|
||||||
"load_older": "Загрузить старые взаимодействия",
|
"load_older": "Загрузить старые взаимодействия",
|
||||||
"moves": "Переезды"
|
"moves": "Переезды"
|
||||||
},
|
},
|
||||||
|
"languages": {
|
||||||
|
"ar": "Арабский",
|
||||||
|
"az": "Азербайджанский",
|
||||||
|
"bg": "Болгарский",
|
||||||
|
"cs": "Чешский",
|
||||||
|
"da": "Датский",
|
||||||
|
"de": "Немецкий",
|
||||||
|
"el": "Греческий",
|
||||||
|
"en": "Английский",
|
||||||
|
"eo": "Эсперанто",
|
||||||
|
"es": "Испанский",
|
||||||
|
"fa": "Персидский",
|
||||||
|
"fi": "Финский",
|
||||||
|
"fr": "Французский",
|
||||||
|
"ga": "Ирландский",
|
||||||
|
"he": "Иврит",
|
||||||
|
"hi": "Хинди",
|
||||||
|
"hu": "Венгерский",
|
||||||
|
"id": "Индонезийский",
|
||||||
|
"it": "Итальянский",
|
||||||
|
"ja": "Японский",
|
||||||
|
"ko": "Корейский",
|
||||||
|
"lt": "Литовский",
|
||||||
|
"lv": "Латышский",
|
||||||
|
"nl": "Нидерландский",
|
||||||
|
"pl": "Польский",
|
||||||
|
"pt": "Португальский",
|
||||||
|
"ru": "Русский",
|
||||||
|
"sk": "Словацкий",
|
||||||
|
"sv": "Шведский",
|
||||||
|
"tr": "Турецкий",
|
||||||
|
"translated_from": {
|
||||||
|
"ar": "Переведено с арабского",
|
||||||
|
"az": "Переведено с азербайджанского",
|
||||||
|
"bg": "Переведено с болгарского",
|
||||||
|
"cs": "Переведено с чешского",
|
||||||
|
"da": "Переведено с датского",
|
||||||
|
"de": "Переведено с немецкого",
|
||||||
|
"el": "Переведено с греческого",
|
||||||
|
"en": "Переведено с английского",
|
||||||
|
"eo": "Переведено с эсперанто",
|
||||||
|
"es": "Переведено с испанского",
|
||||||
|
"fa": "Переведено с персидского",
|
||||||
|
"fi": "Переведено с финского",
|
||||||
|
"fr": "Переведено с французского",
|
||||||
|
"ga": "Переведено с ирландского",
|
||||||
|
"he": "Переведено с иврита",
|
||||||
|
"hi": "Переведено с хинди",
|
||||||
|
"hu": "Переведено с венгерского",
|
||||||
|
"id": "Переведено с индонезийского",
|
||||||
|
"it": "Переведено с итальянского",
|
||||||
|
"ja": "Переведено с японского",
|
||||||
|
"ko": "Переведено с корейского",
|
||||||
|
"lt": "Переведено с литовского",
|
||||||
|
"lv": "Переведено с латышского",
|
||||||
|
"nl": "Переведено с нидерландского",
|
||||||
|
"pl": "Переведено с польского",
|
||||||
|
"pt": "Переведено с португальского",
|
||||||
|
"ru": "Переведено с русского",
|
||||||
|
"sk": "Переведено со словацкого",
|
||||||
|
"sv": "Переведено со шведского",
|
||||||
|
"tr": "Переведено с турецкого",
|
||||||
|
"uk": "Переведено с украинского",
|
||||||
|
"zh": "Переведено с китайского"
|
||||||
|
},
|
||||||
|
"uk": "Украинский",
|
||||||
|
"zh": "Китайский"
|
||||||
|
},
|
||||||
|
"lists": {
|
||||||
|
"create": "Создать",
|
||||||
|
"delete": "Удалить список",
|
||||||
|
"following_only": "Показывать только читаемых пользователей",
|
||||||
|
"lists": "Списки",
|
||||||
|
"new": "Новый список",
|
||||||
|
"save": "Сохранить изменения",
|
||||||
|
"search": "Найти пользователя",
|
||||||
|
"title": "Название списка"
|
||||||
|
},
|
||||||
"login": {
|
"login": {
|
||||||
"authentication_code": "Код аутентификации",
|
"authentication_code": "Код аутентификации",
|
||||||
"description": "Войти с помощью OAuth",
|
"description": "Войти с помощью OAuth",
|
||||||
|
@ -135,16 +255,41 @@
|
||||||
"hint": "Войдите чтобы присоединиться к дискуссии",
|
"hint": "Войдите чтобы присоединиться к дискуссии",
|
||||||
"login": "Войти",
|
"login": "Войти",
|
||||||
"logout": "Выйти",
|
"logout": "Выйти",
|
||||||
|
"logout_confirm": "Точно завершить сеанс?",
|
||||||
|
"logout_confirm_accept_button": "Выйти",
|
||||||
|
"logout_confirm_cancel_button": "Отмена",
|
||||||
|
"logout_confirm_title": "Выйти",
|
||||||
"password": "Пароль",
|
"password": "Пароль",
|
||||||
"placeholder": "e.c. lain",
|
"placeholder": "пользователь123",
|
||||||
"recovery_code": "Код восстановления",
|
"recovery_code": "Код восстановления",
|
||||||
"register": "Зарегистрироваться",
|
"register": "Зарегистрироваться",
|
||||||
"username": "Имя пользователя"
|
"username": "Имя пользователя"
|
||||||
},
|
},
|
||||||
"media_modal": {
|
"media_modal": {
|
||||||
|
"counter": "{current} / {total}",
|
||||||
|
"hide": "Закрыть смотровое окно",
|
||||||
"next": "Следующая",
|
"next": "Следующая",
|
||||||
"previous": "Предыдущая"
|
"previous": "Предыдущая"
|
||||||
},
|
},
|
||||||
|
"moderation": {
|
||||||
|
"moderation": "Модерация",
|
||||||
|
"reports": {
|
||||||
|
"add_note": "Добавить заметку",
|
||||||
|
"close": "Закрыть",
|
||||||
|
"delete_note": "Удалить",
|
||||||
|
"delete_note_accept": "Да, удалить",
|
||||||
|
"delete_note_cancel": "Нет, оставить",
|
||||||
|
"delete_note_confirm": "Точно удалить эту заметку?",
|
||||||
|
"delete_note_title": "Подтвердить удаление",
|
||||||
|
"no_content": "Описание отсутствует",
|
||||||
|
"no_reports": "Жалоб нет",
|
||||||
|
"note_placeholder": "Добавьте вашу заметку",
|
||||||
|
"notes": "{ count } заметка | { count } заметок",
|
||||||
|
"reopen": "Возобновить",
|
||||||
|
"report": "Жалоба на",
|
||||||
|
"reports": "Жалобы"
|
||||||
|
}
|
||||||
|
},
|
||||||
"nav": {
|
"nav": {
|
||||||
"about": "Об узле",
|
"about": "Об узле",
|
||||||
"administration": "Панель администратора",
|
"administration": "Панель администратора",
|
||||||
|
|
34
src/i18n/th.json
Normal file
34
src/i18n/th.json
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
{
|
||||||
|
"about": {
|
||||||
|
"bubble_instances": "เซิร์ฟเวอร์เพื่อนบ้าน",
|
||||||
|
"bubble_instances_description": "เซิร์ฟเวอร์ที่แอดมินตั้งค่าไว้เพื่อแสดงเป็นเพื่อนบ้าน",
|
||||||
|
"mrf": {
|
||||||
|
"keyword": {
|
||||||
|
"keyword_policies": "นโยบายของคีย์เวิร์ดค้นหา",
|
||||||
|
"reject": "ไม่อนุมัติ",
|
||||||
|
"replace": "แทนที่"
|
||||||
|
},
|
||||||
|
"simple": {
|
||||||
|
"accept": "ยอมรับ",
|
||||||
|
"accept_desc": "เซิร์ฟเวอร์นี้จะรับข้อความเฉพาะเซิฟร์เวอร์ต่อไปนี้:",
|
||||||
|
"instance": "เซิฟเวอร์",
|
||||||
|
"media_nsfw": "มีเดียถูกบังคับตั้งให้เป็น NSFW",
|
||||||
|
"not_applicable": "ไม่สามารถใช้ได้",
|
||||||
|
"quarantine": "คัดกรอง",
|
||||||
|
"reason": "เหตุผล",
|
||||||
|
"reject": "ปฎิเสธ"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"staff": "ผู้ดูแล"
|
||||||
|
},
|
||||||
|
"announcements": {
|
||||||
|
"cancel_edit_action": "ยกเลิก",
|
||||||
|
"close_error": "ปิด",
|
||||||
|
"delete_action": "ลบประกาศ",
|
||||||
|
"edit_action": "แก้ไขประกาศ",
|
||||||
|
"end_time_prompt": "เวลาสิ้นสุด: ",
|
||||||
|
"mark_as_read_action": "ตั้งเป็นอ่านแล้ว",
|
||||||
|
"page_header": "ประกาศ",
|
||||||
|
"post_action": "โพสต์"
|
||||||
|
}
|
||||||
|
}
|
134
src/i18n/tr.json
Normal file
134
src/i18n/tr.json
Normal file
|
@ -0,0 +1,134 @@
|
||||||
|
{
|
||||||
|
"about": {
|
||||||
|
"bubble_instances": "Yerel Balon Örnekleri",
|
||||||
|
"bubble_instances_description": "Yöneticiler tarafından bu örneğin yerel alanını temsil etmesi için seçilen örnekler",
|
||||||
|
"mrf": {
|
||||||
|
"federation": "Federasyon",
|
||||||
|
"keyword": {
|
||||||
|
"ftl_removal": "\"Bilinen Tüm Ağ\" Zaman Çizelgesinden Kaldırma",
|
||||||
|
"is_replaced_by": "→",
|
||||||
|
"keyword_policies": "Anahtar kelime politikaları",
|
||||||
|
"reject": "Reddetmek",
|
||||||
|
"replace": "Yer değiştirmek"
|
||||||
|
},
|
||||||
|
"mrf_policies": "Etkinleştirilmiş MRF politikaları",
|
||||||
|
"mrf_policies_desc": "MRF ilkeleri, örneğin federasyon davranışını manipüle eder. Aşağıdaki politikalar etkinleştirildi:",
|
||||||
|
"simple": {
|
||||||
|
"accept": "Kabul etmek",
|
||||||
|
"accept_desc": "Bu örnek yalnızca aşağıdaki örneklerden gelen mesajları kabul eder:",
|
||||||
|
"ftl_removal": "\"Bilinen Ağ\" Zaman Çizelgesinden Kaldırma",
|
||||||
|
"ftl_removal_desc": "Bu örnek, şu örnekleri \"Bilinen Ağ\" zaman çizelgesinden kaldırır:",
|
||||||
|
"instance": "Örnek",
|
||||||
|
"media_nsfw": "Medya hassas olarak ayarlandı",
|
||||||
|
"media_nsfw_desc": "Bu örnek, medyayı aşağıdaki örneklerdeki gönderilerde hassas olarak ayarlanmasına zorlar:",
|
||||||
|
"media_removal": "Medya Kaldırma",
|
||||||
|
"media_removal_desc": "Bu örnek, aşağıdaki örneklerdeki yayınlardan medyayı kaldırır:",
|
||||||
|
"not_applicable": "Yok",
|
||||||
|
"quarantine": "Karantina",
|
||||||
|
"quarantine_desc": "Bu örnek, aşağıdaki örneklere gönderi göndermeyecek:",
|
||||||
|
"reason": "Sebep",
|
||||||
|
"reject": "Reddetmek",
|
||||||
|
"reject_desc": "Bu örnek, aşağıdaki örneklerden gelen mesajları kabul etmeyecektir:",
|
||||||
|
"simple_policies": "Örneğe özgü politikalar"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"staff": "Kadro"
|
||||||
|
},
|
||||||
|
"announcements": {
|
||||||
|
"all_day_prompt": "Bu tüm gün süren bir etkinlik",
|
||||||
|
"cancel_edit_action": "İptal etmek",
|
||||||
|
"close_error": "Kapalı",
|
||||||
|
"delete_action": "Sil",
|
||||||
|
"edit_action": "Düzenle",
|
||||||
|
"end_time_display": "{time} saatinde biter",
|
||||||
|
"end_time_prompt": "Bitiş zamanı: ",
|
||||||
|
"inactive_message": "Bu duyuru etkin değil",
|
||||||
|
"mark_as_read_action": "Okundu olarak işaretle",
|
||||||
|
"page_header": "Duyurular",
|
||||||
|
"post_action": "Post",
|
||||||
|
"post_error": "Hata: {error}",
|
||||||
|
"post_form_header": "Post sonrası",
|
||||||
|
"post_placeholder": "Duyuru içeriği",
|
||||||
|
"published_time_display": "{time} tarihinde yayınlandı",
|
||||||
|
"start_time_display": "{time} saatinde başlar",
|
||||||
|
"start_time_prompt": "Başlangıç saati: ",
|
||||||
|
"submit_edit_action": "Gönder",
|
||||||
|
"title": "Duyuru"
|
||||||
|
},
|
||||||
|
"chats": {
|
||||||
|
"chats": "Sohbetler",
|
||||||
|
"delete": "Sil",
|
||||||
|
"delete_confirm": "Bu mesajı gerçekten silmek istiyor musun?",
|
||||||
|
"empty_chat_list_placeholder": "Henüz hiç sohbetiniz yok. Yeni bir sohbet başlatın!",
|
||||||
|
"empty_message_error": "Boş mesaj gönderilemiyor",
|
||||||
|
"error_loading_chat": "Sohbet yüklenirken bir şeyler ters gitti.",
|
||||||
|
"error_sending_message": "Mesajı gönderirken bir şeyler ters gitti.",
|
||||||
|
"message_user": "{nickname} mesajı",
|
||||||
|
"more": "Daha",
|
||||||
|
"new": "Yeni Sohbet",
|
||||||
|
"you": "Sen:"
|
||||||
|
},
|
||||||
|
"display_date": {
|
||||||
|
"today": "Bugün"
|
||||||
|
},
|
||||||
|
"domain_mute_card": {
|
||||||
|
"mute": "Sesini kapat",
|
||||||
|
"mute_progress": "Ses kapatılıyor…",
|
||||||
|
"unmute": "Sesini aç",
|
||||||
|
"unmute_progress": "Sessize alınıyor…"
|
||||||
|
},
|
||||||
|
"emoji": {
|
||||||
|
"add_emoji": "Emoji ekle",
|
||||||
|
"custom": "Özel emoji",
|
||||||
|
"emoji": "Emoji",
|
||||||
|
"keep_open": "Seçiciyi açık tut",
|
||||||
|
"load_all": "Tüm {emojiAmount} emoji yükleniyor",
|
||||||
|
"load_all_hint": "İlk {saneAmount} emoji yüklendi, tüm emojilerin yüklenmesi performans sorunlarına neden olabilir.",
|
||||||
|
"recent": "Son zamanlarda kullanılmış",
|
||||||
|
"search_emoji": "Emoji ara",
|
||||||
|
"stickers": "Çıkartmalar",
|
||||||
|
"unicode": "Unicode emojisi"
|
||||||
|
},
|
||||||
|
"errors": {
|
||||||
|
"storage_unavailable": "Pleroma, tarayıcı depolama alanına erişemedi. Oturum açma bilgileriniz veya yerel ayarlarınız kaydedilmeyecek ve beklenmeyen sorunlarla karşılaşabilirsiniz. Çerezleri etkinleştirmeyi deneyin."
|
||||||
|
},
|
||||||
|
"exporter": {
|
||||||
|
"export": "Dışa aktar",
|
||||||
|
"processing": "İşleniyor, yakında dosyanızı indirmeniz istenecek"
|
||||||
|
},
|
||||||
|
"features_panel": {
|
||||||
|
"media_proxy": "Medya proxy'si",
|
||||||
|
"scope_options": "Kapsam seçenekleri",
|
||||||
|
"text_limit": "Metin sınırı",
|
||||||
|
"title": "Özellikler",
|
||||||
|
"upload_limit": "Yükleme sınırı",
|
||||||
|
"who_to_follow": "Kimi takip etmeli"
|
||||||
|
},
|
||||||
|
"file_type": {
|
||||||
|
"audio": "Ses",
|
||||||
|
"file": "Dosya",
|
||||||
|
"image": "Resim",
|
||||||
|
"video": "Video"
|
||||||
|
},
|
||||||
|
"finder": {
|
||||||
|
"error_fetching_user": "Kullanıcı getirilirken hata oluştu",
|
||||||
|
"find_user": "Kullanıcı bul"
|
||||||
|
},
|
||||||
|
"general": {
|
||||||
|
"apply": "Uygula",
|
||||||
|
"cancel": "İptal",
|
||||||
|
"close": "Kapalı",
|
||||||
|
"confirm": "Onayla",
|
||||||
|
"disable": "Devre dışı bırak",
|
||||||
|
"dismiss": "Reddetmek",
|
||||||
|
"enable": "Etkinleştir",
|
||||||
|
"error_retry": "Lütfen tekrar deneyin",
|
||||||
|
"flash_content": "Ruffle kullanarak Flash içeriğini göstermek için tıklayın (Deneysel, çalışmayabilir).",
|
||||||
|
"flash_fail": "Flash içeriği yüklenemedi, ayrıntılar için konsola bakın.",
|
||||||
|
"flash_security": "Flash içeriği hala isteğe bağlı kod olduğundan, bunun potansiyel olarak tehlikeli olabileceğini unutmayın.",
|
||||||
|
"generic_error": "Bir hata oluştu",
|
||||||
|
"loading": "Yükleniyor…",
|
||||||
|
"more": "Daha",
|
||||||
|
"optional": "Seçenek"
|
||||||
|
}
|
||||||
|
}
|
323
src/i18n/uk.json
323
src/i18n/uk.json
|
@ -23,6 +23,7 @@
|
||||||
"media_nsfw_desc": "Сервер примусово позначає дражливими медіа з таких серверів:",
|
"media_nsfw_desc": "Сервер примусово позначає дражливими медіа з таких серверів:",
|
||||||
"media_removal": "Видалення медіа",
|
"media_removal": "Видалення медіа",
|
||||||
"media_removal_desc": "Сервер вилучає медіа в дописах із таких серверів:",
|
"media_removal_desc": "Сервер вилучає медіа в дописах із таких серверів:",
|
||||||
|
"not_applicable": "Не застосовується",
|
||||||
"quarantine": "Карантин",
|
"quarantine": "Карантин",
|
||||||
"quarantine_desc": "Сервер не надсилатиме дописів таким серверам:",
|
"quarantine_desc": "Сервер не надсилатиме дописів таким серверам:",
|
||||||
"reason": "Підстава",
|
"reason": "Підстава",
|
||||||
|
@ -31,7 +32,28 @@
|
||||||
"simple_policies": "Відносно цілих серверів"
|
"simple_policies": "Відносно цілих серверів"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"staff": "Адміністрація"
|
"staff": "Команда"
|
||||||
|
},
|
||||||
|
"announcements": {
|
||||||
|
"all_day_prompt": "Триває весь день",
|
||||||
|
"cancel_edit_action": "Скасувати",
|
||||||
|
"close_error": "Закрити",
|
||||||
|
"delete_action": "Видалити",
|
||||||
|
"edit_action": "Редагувати",
|
||||||
|
"end_time_display": "Закінчується {time}",
|
||||||
|
"end_time_prompt": "Закінчується: ",
|
||||||
|
"inactive_message": "Це оголошення вимкнено",
|
||||||
|
"mark_as_read_action": "Прочитано",
|
||||||
|
"page_header": "Оголошення",
|
||||||
|
"post_action": "Розмістити",
|
||||||
|
"post_error": "Помилка: {error}",
|
||||||
|
"post_form_header": "Розмістити оголошення",
|
||||||
|
"post_placeholder": "Вміст оголошення",
|
||||||
|
"published_time_display": "Оприлюднено {time}",
|
||||||
|
"start_time_display": "Починається {time}",
|
||||||
|
"start_time_prompt": "Починається: ",
|
||||||
|
"submit_edit_action": "Надіслати",
|
||||||
|
"title": "Оголошення"
|
||||||
},
|
},
|
||||||
"announcements": {
|
"announcements": {
|
||||||
"all_day_prompt": "Триває весь день",
|
"all_day_prompt": "Триває весь день",
|
||||||
|
@ -71,10 +93,10 @@
|
||||||
"today": "Сьогодні"
|
"today": "Сьогодні"
|
||||||
},
|
},
|
||||||
"domain_mute_card": {
|
"domain_mute_card": {
|
||||||
"mute": "Ігнорувати",
|
"mute": "Приглушити",
|
||||||
"mute_progress": "Вимикаю…",
|
"mute_progress": "Глушіння…",
|
||||||
"unmute": "Вимкнути заглушення",
|
"unmute": "Відновити",
|
||||||
"unmute_progress": "Вмикаю…"
|
"unmute_progress": "Відновлення…"
|
||||||
},
|
},
|
||||||
"emoji": {
|
"emoji": {
|
||||||
"add_emoji": "Додати емоджі",
|
"add_emoji": "Додати емоджі",
|
||||||
|
@ -83,6 +105,7 @@
|
||||||
"keep_open": "Тримати панель відкритою",
|
"keep_open": "Тримати панель відкритою",
|
||||||
"load_all": "Всі {emojiAmount} емоджі завантажуються",
|
"load_all": "Всі {emojiAmount} емоджі завантажуються",
|
||||||
"load_all_hint": "Завантажено {saneAmount} емоджі, більша кількість може спричинити гальмування.",
|
"load_all_hint": "Завантажено {saneAmount} емоджі, більша кількість може спричинити гальмування.",
|
||||||
|
"recent": "Нещодавно вжиті",
|
||||||
"search_emoji": "Пошук емоджі",
|
"search_emoji": "Пошук емоджі",
|
||||||
"stickers": "Наліпки",
|
"stickers": "Наліпки",
|
||||||
"unicode": "Стандартні емоджі"
|
"unicode": "Стандартні емоджі"
|
||||||
|
@ -131,19 +154,19 @@
|
||||||
"peek": "Глянути",
|
"peek": "Глянути",
|
||||||
"retry": "Спробуйте ще раз",
|
"retry": "Спробуйте ще раз",
|
||||||
"role": {
|
"role": {
|
||||||
"admin": "Адмініструє",
|
"admin": "Адміністрація",
|
||||||
"moderator": "Модерує"
|
"moderator": "Модерування"
|
||||||
},
|
},
|
||||||
"scope_in_timeline": {
|
"scope_in_timeline": {
|
||||||
"direct": "Особисто",
|
"direct": "Особисто",
|
||||||
"local": "Місцево — допис видно тільки на вашому сервері",
|
"local": "Місцево — допис видно тільки на вашому сервері",
|
||||||
"private": "Приватно",
|
"private": "Приватно",
|
||||||
"public": "Загальнодоступно",
|
"public": "Загальнодоступно",
|
||||||
"unlisted": "Непублічно"
|
"unlisted": "Приховано"
|
||||||
},
|
},
|
||||||
"show_less": "Показати менше",
|
"show_less": "Показати менше",
|
||||||
"show_more": "Показати більше",
|
"show_more": "Показати більше",
|
||||||
"submit": "Відправити",
|
"submit": "Надіслати",
|
||||||
"verify": "Перевірити"
|
"verify": "Перевірити"
|
||||||
},
|
},
|
||||||
"image_cropper": {
|
"image_cropper": {
|
||||||
|
@ -154,7 +177,7 @@
|
||||||
},
|
},
|
||||||
"importer": {
|
"importer": {
|
||||||
"error": "Під час імпортування файлу сталася помилка.",
|
"error": "Під час імпортування файлу сталася помилка.",
|
||||||
"submit": "Відправити",
|
"submit": "Надіслати",
|
||||||
"success": "Імпортовано успішно."
|
"success": "Імпортовано успішно."
|
||||||
},
|
},
|
||||||
"interactions": {
|
"interactions": {
|
||||||
|
@ -164,8 +187,72 @@
|
||||||
"moves": "Переїзди користувач_ок"
|
"moves": "Переїзди користувач_ок"
|
||||||
},
|
},
|
||||||
"languages": {
|
"languages": {
|
||||||
|
"ar": "арабська",
|
||||||
|
"az": "азербайджанська",
|
||||||
|
"bg": "болгарська",
|
||||||
|
"cs": "чеська",
|
||||||
|
"da": "данська",
|
||||||
|
"de": "німецька",
|
||||||
|
"el": "грецька",
|
||||||
"en": "англійська",
|
"en": "англійська",
|
||||||
"uk": "українська"
|
"eo": "есперанто",
|
||||||
|
"es": "іспанська",
|
||||||
|
"fa": "перська",
|
||||||
|
"fi": "фінська",
|
||||||
|
"fr": "французька",
|
||||||
|
"ga": "ірландська",
|
||||||
|
"he": "іврит",
|
||||||
|
"hi": "гінді",
|
||||||
|
"hu": "угорська",
|
||||||
|
"id": "індонезійська",
|
||||||
|
"it": "італійська",
|
||||||
|
"ja": "японська",
|
||||||
|
"ko": "корейська",
|
||||||
|
"lt": "литовська",
|
||||||
|
"lv": "латвійська",
|
||||||
|
"nl": "нідерландська",
|
||||||
|
"pl": "польська",
|
||||||
|
"pt": "португальська",
|
||||||
|
"ru": "російська",
|
||||||
|
"sk": "словацька",
|
||||||
|
"sv": "шведська",
|
||||||
|
"tr": "турецька",
|
||||||
|
"translated_from": {
|
||||||
|
"ar": "Перекладено з арабської",
|
||||||
|
"az": "Перекладено з азербайджанської",
|
||||||
|
"bg": "Перекладено з болгарської",
|
||||||
|
"cs": "Перекладено з чеської",
|
||||||
|
"da": "Перекладено з данської",
|
||||||
|
"de": "Перекладено з німецької",
|
||||||
|
"el": "Перекладено з грецької",
|
||||||
|
"en": "Перекладено з англійської",
|
||||||
|
"eo": "Перекладено з есперанто",
|
||||||
|
"es": "Перекладено з іспанської",
|
||||||
|
"fa": "Перекладено з перської",
|
||||||
|
"fi": "Перекладено з фінської",
|
||||||
|
"fr": "Перекладено з французької",
|
||||||
|
"ga": "Перекладено з ірландської",
|
||||||
|
"he": "Перекладено з івриту",
|
||||||
|
"hi": "Перекладено з гінді",
|
||||||
|
"hu": "Перекладено з угорської",
|
||||||
|
"id": "Перекладено з індонезійської",
|
||||||
|
"it": "Перекладено з італійської",
|
||||||
|
"ja": "Перекладено з японської",
|
||||||
|
"ko": "Перекладено з корейської",
|
||||||
|
"lt": "Перекладено з литовської",
|
||||||
|
"lv": "Перекладено з латвійської",
|
||||||
|
"nl": "Перекладено з нідерландської",
|
||||||
|
"pl": "Перекладено з польської",
|
||||||
|
"pt": "Перекладено з португальської",
|
||||||
|
"ru": "Перекладено з російської",
|
||||||
|
"sk": "Перекладено зі словацької",
|
||||||
|
"sv": "Перекладено зі словенської",
|
||||||
|
"tr": "Перекладено з турецької",
|
||||||
|
"uk": "Перекладено з української",
|
||||||
|
"zh": "Перекладено з китайської"
|
||||||
|
},
|
||||||
|
"uk": "українська",
|
||||||
|
"zh": "китайська"
|
||||||
},
|
},
|
||||||
"lists": {
|
"lists": {
|
||||||
"create": "Створити",
|
"create": "Створити",
|
||||||
|
@ -173,6 +260,7 @@
|
||||||
"following_only": "Лише за ким ви стежите",
|
"following_only": "Лише за ким ви стежите",
|
||||||
"lists": "Списки",
|
"lists": "Списки",
|
||||||
"new": "Новий список",
|
"new": "Новий список",
|
||||||
|
"save": "Зберегти зміни",
|
||||||
"search": "Знайти користувач_ок",
|
"search": "Знайти користувач_ок",
|
||||||
"title": "Назва списку"
|
"title": "Назва списку"
|
||||||
},
|
},
|
||||||
|
@ -199,6 +287,7 @@
|
||||||
"username": "Логін"
|
"username": "Логін"
|
||||||
},
|
},
|
||||||
"media_modal": {
|
"media_modal": {
|
||||||
|
"counter": "{current} / {total}",
|
||||||
"hide": "Закрити медіаперегляд",
|
"hide": "Закрити медіаперегляд",
|
||||||
"next": "Наступна",
|
"next": "Наступна",
|
||||||
"previous": "Попередня"
|
"previous": "Попередня"
|
||||||
|
@ -222,7 +311,9 @@
|
||||||
"reports": "Скарги",
|
"reports": "Скарги",
|
||||||
"resolve": "Вирішено",
|
"resolve": "Вирішено",
|
||||||
"show_closed": "Показати закриті",
|
"show_closed": "Показати закриті",
|
||||||
"statuses": "Дописів: { count } | Дописів: { count }"
|
"statuses": "Дописів: { count } | Дописів: { count }",
|
||||||
|
"tag_policy_notice": "Увімкніть MRF TagPolicy, щоб обмежувати окремі обліковки",
|
||||||
|
"tags": "Обмежити обліковку"
|
||||||
},
|
},
|
||||||
"statuses": "Дописи",
|
"statuses": "Дописи",
|
||||||
"users": "Користувач_ки"
|
"users": "Користувач_ки"
|
||||||
|
@ -242,21 +333,21 @@
|
||||||
"home_timeline_description": "Дописи від тих, на кого ви підписані",
|
"home_timeline_description": "Дописи від тих, на кого ви підписані",
|
||||||
"interactions": "Взаємодії",
|
"interactions": "Взаємодії",
|
||||||
"lists": "Списки",
|
"lists": "Списки",
|
||||||
"mentions": "Згадування",
|
"mentions": "Згадки",
|
||||||
"moderation": "Модерування",
|
"moderation": "Модерування",
|
||||||
"preferences": "Налаштування",
|
"preferences": "Налаштування",
|
||||||
"public_timeline_description": "Загальнодоступні дописи всіх на цьому сервері",
|
"public_timeline_description": "Загальнодоступні дописи всіх на цьому сервері",
|
||||||
"public_tl": "Спільна стрічка",
|
"public_tl": "Спільна стрічка",
|
||||||
"search": "Пошук",
|
"search": "Пошук",
|
||||||
"timeline": "Домашня стрічка",
|
"timeline": "Стрічка",
|
||||||
"timelines": "Стрічки",
|
"timelines": "Стрічки",
|
||||||
"twkn": "Уся відома мережа",
|
"twkn": "Уся відома мережа",
|
||||||
"twkn_timeline_description": "Дописи з усієї мережі",
|
"twkn_timeline_description": "Дописи з усієї мережі",
|
||||||
"user_search": "Пошук користувач_ок",
|
"user_search": "Пошук користувач_ок",
|
||||||
"who_to_follow": "Кого відстежувати"
|
"who_to_follow": "На кого підписатись"
|
||||||
},
|
},
|
||||||
"notifications": {
|
"notifications": {
|
||||||
"broken_favorite": "Невідомий допис, шукаю його…",
|
"broken_favorite": "Допис невідомий, пошук триває…",
|
||||||
"error": "Помилка при оновленні сповіщень: {0}",
|
"error": "Помилка при оновленні сповіщень: {0}",
|
||||||
"favorited_you": "вподобує",
|
"favorited_you": "вподобує",
|
||||||
"follow_request": "хоче підписатись",
|
"follow_request": "хоче підписатись",
|
||||||
|
@ -285,12 +376,12 @@
|
||||||
"polls": {
|
"polls": {
|
||||||
"add_option": "Додати варіант",
|
"add_option": "Додати варіант",
|
||||||
"add_poll": "Додати опитування",
|
"add_poll": "Додати опитування",
|
||||||
"expired": "Опитування закінчилось {0} тому",
|
"expired": "Завершено {0} тому",
|
||||||
"expires_in": "Опитування закінчується через {0}",
|
"expires_in": "До кінця {0}",
|
||||||
"expiry": "Термін опитування",
|
"expiry": "Термін опитування",
|
||||||
"multiple_choices": "Декілька варіантів",
|
"multiple_choices": "Декілька варіантів",
|
||||||
"not_enough_options": "Замало унікальних варіантів в опитуванні",
|
"not_enough_options": "Замало унікальних варіантів в опитуванні",
|
||||||
"option": "Відповідь",
|
"option": "Варіант",
|
||||||
"people_voted_count": "Осіб: {count} | Осіб: {count}",
|
"people_voted_count": "Осіб: {count} | Осіб: {count}",
|
||||||
"single_choice": "Один варіант",
|
"single_choice": "Один варіант",
|
||||||
"type": "Тип опитування",
|
"type": "Тип опитування",
|
||||||
|
@ -322,7 +413,7 @@
|
||||||
"media_not_sensitive_warning": "Ви вказали засторогу, але не позначили вкладення дражливими!",
|
"media_not_sensitive_warning": "Ви вказали засторогу, але не позначили вкладення дражливими!",
|
||||||
"new_status": "Новий допис",
|
"new_status": "Новий допис",
|
||||||
"post": "Розмістити",
|
"post": "Розмістити",
|
||||||
"posting": "Відправляється",
|
"posting": "Розміщення",
|
||||||
"preview": "Попередній перегляд",
|
"preview": "Попередній перегляд",
|
||||||
"preview_empty": "Порожньо",
|
"preview_empty": "Порожньо",
|
||||||
"scope": {
|
"scope": {
|
||||||
|
@ -340,11 +431,13 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"registration": {
|
"registration": {
|
||||||
|
"awaiting_email_confirmation": "Вам надіслано лист підтвердження створення обліковки. Перевірте е-пошту, щоб завершити реєстрацію.",
|
||||||
|
"awaiting_email_confirmation_title": "Очікування підтвердження поштою",
|
||||||
"bio": "Опис",
|
"bio": "Опис",
|
||||||
"bio_placeholder": "як-от:\nВолинянка. Подорожую.\nДемократична соціалістка. Пишу драматичні поеми. Жити хочу! Геть, думи сумні!",
|
"bio_placeholder": "як-от:\nВолинянка. Подорожую.\nДемократична соціалістка. Пишу драматичні поеми. Жити хочу! Геть, думи сумні!",
|
||||||
"captcha": "CAPTCHA",
|
"captcha": "CAPTCHA",
|
||||||
"email": "Е-пошта",
|
"email": "Е-пошта",
|
||||||
"email_language": "Якою мовою отримувати листи з сервера?",
|
"email_language": "Мова листів сервера",
|
||||||
"fullname": "Ім'я",
|
"fullname": "Ім'я",
|
||||||
"fullname_placeholder": "як-от Лариса Косач",
|
"fullname_placeholder": "як-от Лариса Косач",
|
||||||
"new_captcha": "Натисніть на зображення, щоб оновити код, якщо він нерозбірливий",
|
"new_captcha": "Натисніть на зображення, щоб оновити код, якщо він нерозбірливий",
|
||||||
|
@ -353,6 +446,8 @@
|
||||||
"reason_placeholder": "Запити на реєстрацію підтверджуються вручну.\nРозкажіть адміністрації, чому хочете зареєструватися.",
|
"reason_placeholder": "Запити на реєстрацію підтверджуються вручну.\nРозкажіть адміністрації, чому хочете зареєструватися.",
|
||||||
"register": "Зареєструватися",
|
"register": "Зареєструватися",
|
||||||
"registration": "Реєстрація",
|
"registration": "Реєстрація",
|
||||||
|
"request_sent": "Ваш запит на реєстрацію надіслано на розгляд. Ви отримаєте лист, коли вашу реєстрацію схвалять.",
|
||||||
|
"request_sent_title": "Запит на реєстрацію надіслано",
|
||||||
"token": "Ключ запрошення",
|
"token": "Ключ запрошення",
|
||||||
"username_placeholder": "як-от lesia",
|
"username_placeholder": "як-от lesia",
|
||||||
"validations": {
|
"validations": {
|
||||||
|
@ -370,7 +465,7 @@
|
||||||
"searching_for": "Шукаю"
|
"searching_for": "Шукаю"
|
||||||
},
|
},
|
||||||
"search": {
|
"search": {
|
||||||
"hashtags": "Хештеги",
|
"hashtags": "Теги",
|
||||||
"no_results": "Немає результатів",
|
"no_results": "Немає результатів",
|
||||||
"people": "Люди",
|
"people": "Люди",
|
||||||
"people_talking": "{count} людей говорять про це",
|
"people_talking": "{count} людей говорять про це",
|
||||||
|
@ -382,34 +477,34 @@
|
||||||
"settings": {
|
"settings": {
|
||||||
"accent": "Акцент",
|
"accent": "Акцент",
|
||||||
"account_alias": "Інші обліковки",
|
"account_alias": "Інші обліковки",
|
||||||
"account_alias_table_head": "Нова обліковка",
|
"account_alias_table_head": "Попередня обліковка",
|
||||||
"account_backup": "Резервне копіювання обліковки",
|
"account_backup": "Резервне копіювання обліковки",
|
||||||
"account_backup_description": "Можете завантажити архів даних і дописів своєї обліковки. Але імпортувати їх на іншу обліковку поки неможливо.",
|
"account_backup_description": "Можете завантажити архів даних і дописів своєї обліковки. Але імпортувати їх на іншу обліковку поки неможливо.",
|
||||||
"account_backup_table_head": "Резервна копія",
|
"account_backup_table_head": "Резервна копія",
|
||||||
"account_privacy": "Приватність",
|
"account_privacy": "Приватність",
|
||||||
"add_alias_error": "Помилка додання нової обліковки: {error}",
|
"add_alias_error": "Помилка додання обліковки: {error}",
|
||||||
"add_backup": "Створити резервну копію",
|
"add_backup": "Створити резервну копію",
|
||||||
"add_backup_error": "Помилка резервного копіювання: {error}",
|
"add_backup_error": "Помилка резервного копіювання: {error}",
|
||||||
"added_alias": "Нову обліковку додано.",
|
"added_alias": "Обліковку додано.",
|
||||||
"added_backup": "Резервну копію створено.",
|
"added_backup": "Резервну копію створено.",
|
||||||
"allow_following_move": "Дозволити автостеження при переміщенні на інший інстанс",
|
"allow_following_move": "Дозволити автостеження при переміщенні на інший інстанс",
|
||||||
"always_show_post_button": "Завжди показувати кнопку «Новий допис»",
|
"always_show_post_button": "Завжди показувати кнопку «Новий допис»",
|
||||||
"app_name": "Назва програми",
|
"app_name": "Назва програми",
|
||||||
"attachmentRadius": "Вкладення",
|
"attachmentRadius": "Вкладення",
|
||||||
"attachments": "Вкладення",
|
"attachments": "Вкладення",
|
||||||
"autohide_floating_post_button": "Автоматично ховати кнопку \"Новий допис\" (в мобільній версії)",
|
"autohide_floating_post_button": "Автоматично ховати кнопку «Новий допис» (на мобільному)",
|
||||||
"avatar": "Аватар",
|
"avatar": "Аватар",
|
||||||
"avatarAltRadius": "Аватари у сповіщеннях",
|
"avatarAltRadius": "Аватари у сповіщеннях",
|
||||||
"avatarRadius": "Аватари",
|
"avatarRadius": "Аватари",
|
||||||
"avatar_size_instruction": "Рекомендований мінімальний розмір для зображень аватара становить 150x150 пікселів.",
|
"avatar_size_instruction": "Рекомендований мінімальний розмір для зображень аватара становить 150x150 пікселів.",
|
||||||
"background": "Обкладинка",
|
"background": "Тло",
|
||||||
"backup_not_ready": "Резервна копія ще не готова.",
|
"backup_not_ready": "Резервна копія ще не готова.",
|
||||||
"bio": "Опис",
|
"bio": "Опис",
|
||||||
"block_export": "Експорт блокувань",
|
"block_export": "Експорт блокувань",
|
||||||
"block_export_button": "Експорт блокувань у файл CSV",
|
"block_export_button": "Експорт блокувань у CSV-файл",
|
||||||
"block_import": "Імпорт блокувань",
|
"block_import": "Імпорт блокувань",
|
||||||
"block_import_error": "Помилка імпортування блокувань",
|
"block_import_error": "Помилка імпорту блокувань",
|
||||||
"blocks_imported": "Блокування імпортовані! Їх обробка триватиме певний час.",
|
"blocks_imported": "Блокування імпортовано! Їх буде застосовано поступово.",
|
||||||
"blocks_tab": "Блокування",
|
"blocks_tab": "Блокування",
|
||||||
"bot": "Це обліковка бота",
|
"bot": "Це обліковка бота",
|
||||||
"btnRadius": "Кнопки",
|
"btnRadius": "Кнопки",
|
||||||
|
@ -441,6 +536,11 @@
|
||||||
"conversation_display": "Стиль показу розмови",
|
"conversation_display": "Стиль показу розмови",
|
||||||
"conversation_display_linear": "Колонка",
|
"conversation_display_linear": "Колонка",
|
||||||
"conversation_display_tree": "Дерево",
|
"conversation_display_tree": "Дерево",
|
||||||
|
"conversation_other_replies_button": "Кнопка «Переглянути ще»",
|
||||||
|
"conversation_other_replies_button_below": "Під дописами",
|
||||||
|
"conversation_other_replies_button_inside": "Всередині дописів",
|
||||||
|
"current_avatar": "Ваш поточний аватар",
|
||||||
|
"current_mascot": "Ваш поточний маскот",
|
||||||
"current_password": "Поточний пароль",
|
"current_password": "Поточний пароль",
|
||||||
"data_import_export_tab": "Імпорт/експорт даних",
|
"data_import_export_tab": "Імпорт/експорт даних",
|
||||||
"default_vis": "Типовий рівень приватності",
|
"default_vis": "Типовий рівень приватності",
|
||||||
|
@ -461,24 +561,24 @@
|
||||||
"expire_posts_input_placeholder": "Скільки днів",
|
"expire_posts_input_placeholder": "Скільки днів",
|
||||||
"export_theme": "Завантажити",
|
"export_theme": "Завантажити",
|
||||||
"file_export_import": {
|
"file_export_import": {
|
||||||
"backup_restore": "Резервне копіювання налаштувань",
|
"backup_restore": "Копія налаштувань",
|
||||||
"backup_settings": "Завантажити файл налаштувань",
|
"backup_settings": "Завантажити файл налаштувань",
|
||||||
"backup_settings_theme": "Завантажити налаштування й тему",
|
"backup_settings_theme": "Завантажити налаштування й тему",
|
||||||
"errors": {
|
"errors": {
|
||||||
"file_slightly_new": "Другорядна версія файлу відрізняється, деякі налаштування можуть бути не прийняті",
|
"file_slightly_new": "Файл призначено для трохи новішої версії й може спрацювати не повністю",
|
||||||
"file_too_new": "Несумісна основна версія: {fileMajor}, ця версія PleromaFE ({feMajor}) занадто стара для його обробки",
|
"file_too_new": "Версія {fileMajor} новіша, ніж ця AkkomaFE ({feMajor}) може обробити",
|
||||||
"file_too_old": "Несумісна основна версія: {fileMajor}, версія файлу занадто стара і не підтримується (мінімальна версія налаштувань {feMajor})",
|
"file_too_old": "Версія {fileMajor} більше не підтримується (треба {feMajor} чи новіше)",
|
||||||
"invalid_file": "Вибраний файл не є резервною копією налаштувань Pleroma. Ніяких змін не було зроблено."
|
"invalid_file": "Вибраний файл не є резервною копією налаштувань Pleroma. Ніяких змін не було зроблено."
|
||||||
},
|
},
|
||||||
"restore_settings": "Відновити налаштування з файлу"
|
"restore_settings": "Відновити налаштування з файлу"
|
||||||
},
|
},
|
||||||
"filtering": "Фільтр",
|
"filtering": "Фільтр",
|
||||||
"filtering_explanation": "Усі дописи з цими словами буде сховано. Пишіть кожне слово з нового рядка",
|
"filtering_explanation": "Усі дописи з цими словами буде сховано. Пишіть кожне слово з нового рядка",
|
||||||
"follow_export": "Експортувати відстежуваних",
|
"follow_export": "Експорт підписок",
|
||||||
"follow_export_button": "Експортувати відстежуваних до csv файлу",
|
"follow_export_button": "Експорт підписок до CSV-файлу",
|
||||||
"follow_import": "Імпортувати відстежуваних",
|
"follow_import": "Імпорт підписок",
|
||||||
"follow_import_error": "Помилка імпортування відстежуваних",
|
"follow_import_error": "Помилка імпорту підписок",
|
||||||
"follows_imported": "Відстежуваних імпортовано! Їхня обробка потребує часу.",
|
"follows_imported": "Підписки імпортовано! Їх буде застосовано поступово.",
|
||||||
"foreground": "Передній план",
|
"foreground": "Передній план",
|
||||||
"fun": "Іграшки",
|
"fun": "Іграшки",
|
||||||
"general": "Загальні",
|
"general": "Загальні",
|
||||||
|
@ -497,7 +597,7 @@
|
||||||
"hide_list_aliases_error_action": "Закрити",
|
"hide_list_aliases_error_action": "Закрити",
|
||||||
"hide_media_previews": "Приховати попередній перегляд медіа",
|
"hide_media_previews": "Приховати попередній перегляд медіа",
|
||||||
"hide_muted_posts": "Ховати повідомлення приглушених користувач_ок",
|
"hide_muted_posts": "Ховати повідомлення приглушених користувач_ок",
|
||||||
"hide_muted_threads": "Ховати заглушені гілки",
|
"hide_muted_threads": "Ховати приглушені гілки",
|
||||||
"hide_post_stats": "Ховати статистику дописів (скільки вподобань тощо)",
|
"hide_post_stats": "Ховати статистику дописів (скільки вподобань тощо)",
|
||||||
"hide_shoutbox": "Приховати оголошення сервера",
|
"hide_shoutbox": "Приховати оголошення сервера",
|
||||||
"hide_site_favicon": "Вилучити значок сервера з шапки",
|
"hide_site_favicon": "Вилучити значок сервера з шапки",
|
||||||
|
@ -506,9 +606,9 @@
|
||||||
"hide_user_stats": "Ховати користувацьку статистику (скільки підписок тощо)",
|
"hide_user_stats": "Ховати користувацьку статистику (скільки підписок тощо)",
|
||||||
"hide_wallpaper": "Сховати шпалери сервера",
|
"hide_wallpaper": "Сховати шпалери сервера",
|
||||||
"hide_wordfiltered_statuses": "Ховати дописи зі словами з фільтру",
|
"hide_wordfiltered_statuses": "Ховати дописи зі словами з фільтру",
|
||||||
"import_blocks_from_a_csv_file": "Імпортувати заблокованих з csv файлу",
|
"import_blocks_from_a_csv_file": "Імпортуйте CSV-файл блокувань",
|
||||||
"import_followers_from_a_csv_file": "Імпортувати відстежуваних з csv файлу",
|
"import_followers_from_a_csv_file": "Імпортуйте CSV-файл підписок",
|
||||||
"import_mutes_from_a_csv_file": "Імпорт заглушених з csv файлу",
|
"import_mutes_from_a_csv_file": "Імпортуйте CSV-файл приглушень",
|
||||||
"import_theme": "Вивантажити",
|
"import_theme": "Вивантажити",
|
||||||
"inputRadius": "Поля вводу",
|
"inputRadius": "Поля вводу",
|
||||||
"instance_default": "(усталено: {value})",
|
"instance_default": "(усталено: {value})",
|
||||||
|
@ -518,13 +618,16 @@
|
||||||
"invalid_theme_imported": "Вибраний файл не є темою Pleroma. У вашу тему не внесено жодних змін.",
|
"invalid_theme_imported": "Вибраний файл не є темою Pleroma. У вашу тему не внесено жодних змін.",
|
||||||
"limited_availability": "Недоступно у вашому браузері",
|
"limited_availability": "Недоступно у вашому браузері",
|
||||||
"links": "Посилання",
|
"links": "Посилання",
|
||||||
"list_aliases_error": "Помилка завантаження нових обліковок: {error}",
|
"list_aliases_error": "Помилка завантаження обліковок: {error}",
|
||||||
"list_backups_error": "Помилка завантаження переліку копій: {error}",
|
"list_backups_error": "Помилка завантаження переліку копій: {error}",
|
||||||
"lock_account_description": "Показувати лише схваленим підписни_цям",
|
"lock_account_description": "Показувати лише схваленим підписни_цям",
|
||||||
"loop_video": "Зациклити відео",
|
"loop_video": "Зациклити відео",
|
||||||
"loop_video_silent_only": "Зациклити відео без звуку (напр. Mastodon \"gifs\")",
|
"loop_video_silent_only": "Зациклити відео без звуку (напр. Mastodon \"gifs\")",
|
||||||
|
"mascot": "Маскот Mastodon FE",
|
||||||
|
"max_depth_in_thread": "Максимальна кількість типово показаних рівнів гілки обговорення",
|
||||||
"max_thumbnails": "Максимальна кількість мініатюр на повідомлення",
|
"max_thumbnails": "Максимальна кількість мініатюр на повідомлення",
|
||||||
"mention_link_display": "Показувати згадування",
|
"mention_link_bolden_you": "Підсвічувати посилання, коли вас згадують",
|
||||||
|
"mention_link_display": "Формат посилань згадок",
|
||||||
"mention_link_display_full": "завжди повністю (як-от {'@'}lesia{'@'}example.org)",
|
"mention_link_display_full": "завжди повністю (як-от {'@'}lesia{'@'}example.org)",
|
||||||
"mention_link_display_full_for_remote": "повністю, якщо це інший сервер (як-от {'@'}lesia{'@'}example.org)",
|
"mention_link_display_full_for_remote": "повністю, якщо це інший сервер (як-от {'@'}lesia{'@'}example.org)",
|
||||||
"mention_link_display_short": "завжди коротко (як-от {'@'}lesia)",
|
"mention_link_display_short": "завжди коротко (як-от {'@'}lesia)",
|
||||||
|
@ -557,34 +660,37 @@
|
||||||
"more_settings": "Більше налаштувань",
|
"more_settings": "Більше налаштувань",
|
||||||
"move_account": "Переїхати",
|
"move_account": "Переїхати",
|
||||||
"move_account_error": "Помилка переїзду обліковки: {error}",
|
"move_account_error": "Помилка переїзду обліковки: {error}",
|
||||||
"move_account_notes": "Щоб переїхати з цієї обліковки на іншу, вкажіть у її налаштуваннях цю облікову як нову.",
|
"move_account_notes": "Щоб переїхати з цієї обліковки на іншу, додайте в її налаштуваннях цю обліковку як попередню.",
|
||||||
|
"move_account_target": "Нова обліковка (як-от {example})",
|
||||||
|
"moved_account": "Переїзд обліковки виконано.",
|
||||||
"mute_bot_posts": "Сховати дописи ботів",
|
"mute_bot_posts": "Сховати дописи ботів",
|
||||||
"mute_export": "Експорт ігнорувань",
|
"mute_export": "Експорт приглушень",
|
||||||
"mute_export_button": "Експорт заглушених у csv файл",
|
"mute_export_button": "Експорт приглушених у csv файл",
|
||||||
"mute_import": "Імпорт ігнорувань",
|
"mute_import": "Імпорт приглушень",
|
||||||
"mute_import_error": "Під час імпорту заглушених сталася помилка",
|
"mute_import_error": "Під час імпорту приглушених сталася помилка",
|
||||||
"mutes_and_blocks": "Заглушення та блокування",
|
"mutes_and_blocks": "Приглушення та блокування",
|
||||||
"mutes_imported": "Заглушені імпортовані! Їх обробка триватиме певний час.",
|
"mutes_imported": "Приглушення імпортовано! Їх буде застосовано поступово.",
|
||||||
"mutes_tab": "Заглушені",
|
"mutes_tab": "Приглушення",
|
||||||
"name": "Ім'я",
|
"name": "Ім'я",
|
||||||
"name_bio": "Особисті дані",
|
"name_bio": "Особисті дані",
|
||||||
"new_alias_target": "Вкажіть нову обліковку (як-от {example})",
|
"new_alias_target": "Додайте стару обліковку ({example})",
|
||||||
"new_email": "Нова е-пошта",
|
"new_email": "Нова е-пошта",
|
||||||
"new_password": "Новий пароль",
|
"new_password": "Новий пароль",
|
||||||
"no_blocks": "Блокування відсутні",
|
"no_blocks": "Нікого не заблоковано",
|
||||||
"no_mutes": "Заглушені відсутні",
|
"no_mutes": "Нікого не приглушено",
|
||||||
"no_rich_text_description": "Видалення всього форматування тексту з усіх дописів",
|
"no_rich_text_description": "Видалення всього форматування тексту з усіх дописів",
|
||||||
"notification_blocks": "Блокування користувача зупиняє всі сповіщення від нього, а також скасовує його відстеження.",
|
"notification_blocks": "Щоб не отримувати сповіщень від когось і вилучити їх із підписни_ць, заблокуйте їх.",
|
||||||
"notification_mutes": "Щоб перестати отримувати сповіщення від певного користувача, заглушіть його.",
|
"notification_mutes": "Щоб просто не отримувати сповіщень від когось, приглушіть їх.",
|
||||||
"notification_setting_block_from_strangers": "Блокувати сповіщення від тих, на кого ви не підписані",
|
"notification_setting_block_from_strangers": "Блокувати сповіщення від тих, на кого ви не підписані",
|
||||||
"notification_setting_filters": "Фільтри",
|
"notification_setting_filters": "Фільтри",
|
||||||
|
"notification_setting_hide_if_cw": "Ховати вміст push-сповіщення за наявності застороги",
|
||||||
"notification_setting_hide_notification_contents": "Ховати відправника та вміст push-сповіщень",
|
"notification_setting_hide_notification_contents": "Ховати відправника та вміст push-сповіщень",
|
||||||
"notification_setting_privacy": "Приватність",
|
"notification_setting_privacy": "Приватність",
|
||||||
"notification_visibility": "Сповіщати про такі події",
|
"notification_visibility": "Сповіщати про такі події",
|
||||||
"notification_visibility_emoji_reactions": "Реакції",
|
"notification_visibility_emoji_reactions": "Реакції",
|
||||||
"notification_visibility_follows": "Підписни_ці",
|
"notification_visibility_follows": "Підписни_ці",
|
||||||
"notification_visibility_likes": "Вподобане",
|
"notification_visibility_likes": "Вподобане",
|
||||||
"notification_visibility_mentions": "Згадування",
|
"notification_visibility_mentions": "Згадки",
|
||||||
"notification_visibility_moves": "Переїзди користувач_ок",
|
"notification_visibility_moves": "Переїзди користувач_ок",
|
||||||
"notification_visibility_polls": "Результати голосувань",
|
"notification_visibility_polls": "Результати голосувань",
|
||||||
"notification_visibility_repeats": "Поширення",
|
"notification_visibility_repeats": "Поширення",
|
||||||
|
@ -593,7 +699,7 @@
|
||||||
"oauth_tokens": "OAuth-ключі",
|
"oauth_tokens": "OAuth-ключі",
|
||||||
"pad_emoji": "Автоматично додавати простір з обидвох сторін емоджі",
|
"pad_emoji": "Автоматично додавати простір з обидвох сторін емоджі",
|
||||||
"panelRadius": "Панелі",
|
"panelRadius": "Панелі",
|
||||||
"pause_on_unfocused": "Призупинити трансляцію, коли вкладка неактивна",
|
"pause_on_unfocused": "Лише коли вкладка активна",
|
||||||
"play_videos_in_modal": "Відтворювати відео у спливаючій рамці",
|
"play_videos_in_modal": "Відтворювати відео у спливаючій рамці",
|
||||||
"post_look_feel": "Вигляд дописів",
|
"post_look_feel": "Вигляд дописів",
|
||||||
"post_status_content_type": "Типова розмітка тексту",
|
"post_status_content_type": "Типова розмітка тексту",
|
||||||
|
@ -611,7 +717,7 @@
|
||||||
"profile_tab": "Профіль",
|
"profile_tab": "Профіль",
|
||||||
"radii_help": "Радіус заокруглення кутів інтерфейсу (в пікселях)",
|
"radii_help": "Радіус заокруглення кутів інтерфейсу (в пікселях)",
|
||||||
"refresh_token": "Оновити ключ",
|
"refresh_token": "Оновити ключ",
|
||||||
"remove_alias": "Вилучити нову обліковку",
|
"remove_alias": "Вилучити обліковку",
|
||||||
"remove_backup": "Вилучити",
|
"remove_backup": "Вилучити",
|
||||||
"render_mfm": "Показувати розмітку Misskey",
|
"render_mfm": "Показувати розмітку Misskey",
|
||||||
"render_mfm_on_hover": "Анімувати MFM лише при наведенні",
|
"render_mfm_on_hover": "Анімувати MFM лише при наведенні",
|
||||||
|
@ -633,13 +739,14 @@
|
||||||
"saving_err": "Помилка при збереженні налаштувань",
|
"saving_err": "Помилка при збереженні налаштувань",
|
||||||
"saving_ok": "Налаштування збережені",
|
"saving_ok": "Налаштування збережені",
|
||||||
"scope_copy": "Відповідати на тому ж рівні приватності (завжди ввімкнено для особистих повідомлень)",
|
"scope_copy": "Відповідати на тому ж рівні приватності (завжди ввімкнено для особистих повідомлень)",
|
||||||
"search_user_to_block": "Шукайте кого ви хочете заблокувати",
|
"search_user_to_block": "Шукайте, кого слід заблокувати",
|
||||||
"search_user_to_mute": "Шукайте кого ви хочете заглушити",
|
"search_user_to_mute": "Шукайте, кого слід приглушити",
|
||||||
"security": "Безпека",
|
"security": "Безпека",
|
||||||
"security_tab": "Безпека",
|
"security_tab": "Безпека",
|
||||||
"sensitive_by_default": "Одразу позначати дописи дражливими",
|
"sensitive_by_default": "Одразу позначати дописи дражливими",
|
||||||
"sensitive_if_subject": "Позначати зображення дражливими, якщо вказано застереження",
|
"sensitive_if_subject": "Позначати зображення дражливими, якщо вказано засторогу",
|
||||||
"set_new_avatar": "Встановити новий аватар",
|
"set_new_avatar": "Встановити новий аватар",
|
||||||
|
"set_new_mascot": "Встановити нового маскота",
|
||||||
"set_new_profile_background": "Встановити нову обкладинку профілю",
|
"set_new_profile_background": "Встановити нову обкладинку профілю",
|
||||||
"set_new_profile_banner": "Встановити новий банер",
|
"set_new_profile_banner": "Встановити новий банер",
|
||||||
"setting_changed": "Конфігурація відрізняється від типової",
|
"setting_changed": "Конфігурація відрізняється від типової",
|
||||||
|
@ -664,6 +771,7 @@
|
||||||
"show_panel_nav_shortcuts": "Ярлики стрічок у заголовку панелі",
|
"show_panel_nav_shortcuts": "Ярлики стрічок у заголовку панелі",
|
||||||
"show_scrollbars": "Смуги прокрутки в бокових панелях",
|
"show_scrollbars": "Смуги прокрутки в бокових панелях",
|
||||||
"show_wider_shortcuts": "Більша відстань між ярликами в заголовку",
|
"show_wider_shortcuts": "Більша відстань між ярликами в заголовку",
|
||||||
|
"show_yous": "Показувати «(ви)»",
|
||||||
"stop_gifs": "Анімувати GIF лише при наведенні",
|
"stop_gifs": "Анімувати GIF лише при наведенні",
|
||||||
"streaming": "Автоматично показувати нові дописи вгорі стрічки",
|
"streaming": "Автоматично показувати нові дописи вгорі стрічки",
|
||||||
"style": {
|
"style": {
|
||||||
|
@ -744,10 +852,10 @@
|
||||||
"faint_link": "корисний підручник",
|
"faint_link": "корисний підручник",
|
||||||
"fine_print": "Прочитайте наш {0} аби нічого нового не дізнатись!",
|
"fine_print": "Прочитайте наш {0} аби нічого нового не дізнатись!",
|
||||||
"header": "Попередній перегляд",
|
"header": "Попередній перегляд",
|
||||||
"header_faint": "Все гаразд",
|
"header_faint": "Усе гаразд",
|
||||||
"input": "Що нового?",
|
"input": "Що нового?",
|
||||||
"link": "невеличке посилання",
|
"link": "невеличке посилання",
|
||||||
"mono": "змісту",
|
"mono": "вмісту",
|
||||||
"text": "Трохи більше {0} та {1}"
|
"text": "Трохи більше {0} та {1}"
|
||||||
},
|
},
|
||||||
"radii": {
|
"radii": {
|
||||||
|
@ -819,7 +927,7 @@
|
||||||
"subject_line_noop": "не копіювати",
|
"subject_line_noop": "не копіювати",
|
||||||
"text": "Текст",
|
"text": "Текст",
|
||||||
"theme": "Тема",
|
"theme": "Тема",
|
||||||
"theme_help": "Замініть кольори теми своїми в форматі (#rrggbb).",
|
"theme_help": "Замініть кольори теми своїми в форматі #rrggbb.",
|
||||||
"theme_help_v2_1": "Деякі кольори й прозорості розраховуються автоматично. Позначайте їх пташками, щоб замінити їх вручну. Кнопка «Очистити все» видаляє всі такі заміни.",
|
"theme_help_v2_1": "Деякі кольори й прозорості розраховуються автоматично. Позначайте їх пташками, щоб замінити їх вручну. Кнопка «Очистити все» видаляє всі такі заміни.",
|
||||||
"theme_help_v2_2": "Значки під кольорами показують, наскільки добре видно текст на тлі. При наведенні побачите деталі. Якщо використовуєте прозорість, буде оцінено найгірший варіант.",
|
"theme_help_v2_2": "Значки під кольорами показують, наскільки добре видно текст на тлі. При наведенні побачите деталі. Якщо використовуєте прозорість, буде оцінено найгірший варіант.",
|
||||||
"third_column_mode": "Третя панель, якщо достатньо місця",
|
"third_column_mode": "Третя панель, якщо достатньо місця",
|
||||||
|
@ -828,13 +936,20 @@
|
||||||
"third_column_mode_postform": "Новий допис і меню",
|
"third_column_mode_postform": "Новий допис і меню",
|
||||||
"token": "Ключ",
|
"token": "Ключ",
|
||||||
"tooltipRadius": "Підказки/попередження",
|
"tooltipRadius": "Підказки/попередження",
|
||||||
"type_domains_to_mute": "Пошук доменів для заглушення",
|
"translation_language": "Мова автоматичного перекладу",
|
||||||
|
"tree_advanced": "Показувати додаткові кнопки відкриття й закриття ланцюгів відповідей у гілках",
|
||||||
|
"tree_fade_ancestors": "Показувати менш виразно дописи, що передують поточному",
|
||||||
|
"type_domains_to_mute": "Шукайте домени, які слід приглушити",
|
||||||
"upload_a_photo": "Вивантажити фото",
|
"upload_a_photo": "Вивантажити фото",
|
||||||
"useStreamingApi": "Отримувати дописи та сповіщення наживо",
|
"useStreamingApi": "Отримувати дописи та сповіщення наживо",
|
||||||
"useStreamingApiWarning": "(Не рекомендується, експериментально, повідомлення можуть зникати)",
|
"useStreamingApiWarning": "Загалом працює. Якщо не зовсім, спробуєте оновити сторінку?",
|
||||||
"use_at_icon": "Значок {'@'} замість символа",
|
"use_blurhash": "Показувати дражливі мініатюри (як розмиті кольори)",
|
||||||
"use_contain_fit": "Не обрізати краї мініатюр",
|
"use_contain_fit": "Не обрізати краї мініатюр",
|
||||||
"use_one_click_nsfw": "Відкривати NSFW вкладення одним кліком миші",
|
"use_one_click_nsfw": "Відкривати NSFW вкладення одним кліком миші",
|
||||||
|
"user_accepts_direct_messages_from": "Приймати особисті повідомлення",
|
||||||
|
"user_accepts_direct_messages_from_everybody": "Будь-чиї",
|
||||||
|
"user_accepts_direct_messages_from_nobody": "Нічиї",
|
||||||
|
"user_accepts_direct_messages_from_people_i_follow": "Від тих, на кого я підписуюсь",
|
||||||
"user_mutes": "Користувач_ки",
|
"user_mutes": "Користувач_ки",
|
||||||
"user_profile_default_tab": "Типова вкладка профілів",
|
"user_profile_default_tab": "Типова вкладка профілів",
|
||||||
"user_profiles": "Користувацькі профілі",
|
"user_profiles": "Користувацькі профілі",
|
||||||
|
@ -853,8 +968,18 @@
|
||||||
"word_filter": "Фільтр слів",
|
"word_filter": "Фільтр слів",
|
||||||
"wordfilter": "Фільтр слів"
|
"wordfilter": "Фільтр слів"
|
||||||
},
|
},
|
||||||
|
"settings_profile": {
|
||||||
|
"creating": "Створення профілю налаштувань «{profile}»…",
|
||||||
|
"synchronization_error": "Не вдалося синхронізувати налаштування: {err}",
|
||||||
|
"synchronized": "Налаштування синхронізовано!",
|
||||||
|
"synchronizing": "Синхронізація профілю налаштувань «{profile}»…"
|
||||||
|
},
|
||||||
"status": {
|
"status": {
|
||||||
|
"ancestor_follow": "Переглянути ще {numReplies} під цим дописом | Переглянути ще {numReplies} під цим дописом",
|
||||||
|
"ancestor_follow_with_icon": "{icon} {text}",
|
||||||
|
"attachment_stop_flash": "Зупинити Flash-плеєр",
|
||||||
"bookmark": "Додати до закладок",
|
"bookmark": "Додати до закладок",
|
||||||
|
"collapse_attachments": "Згорнути вкладення",
|
||||||
"copy_link": "Скопіювати посилання на допис",
|
"copy_link": "Скопіювати посилання на допис",
|
||||||
"delete": "Видалити допис",
|
"delete": "Видалити допис",
|
||||||
"delete_confirm": "Точно видалити допис?",
|
"delete_confirm": "Точно видалити допис?",
|
||||||
|
@ -868,11 +993,17 @@
|
||||||
"expand": "Розгорнути",
|
"expand": "Розгорнути",
|
||||||
"external_source": "Зовнішнє джерело",
|
"external_source": "Зовнішнє джерело",
|
||||||
"favorites": "Вподобане",
|
"favorites": "Вподобане",
|
||||||
|
"hide_attachment": "Сховати вкладення",
|
||||||
"hide_content": "Сховати вміст",
|
"hide_content": "Сховати вміст",
|
||||||
"hide_full_subject": "Сховати всю тему",
|
"hide_full_subject": "Згорнути засторогу",
|
||||||
"mute_conversation": "Заглушити розмову",
|
"many_attachments": "Вкладень: {number} | Вкладень: {number}",
|
||||||
|
"mentions": "Згадки",
|
||||||
|
"move_down": "Посунути вкладення праворуч",
|
||||||
|
"move_up": "Посунути вкладення ліворуч",
|
||||||
|
"mute_conversation": "Приглушити розмову",
|
||||||
"nsfw": "Дражливий вміст",
|
"nsfw": "Дражливий вміст",
|
||||||
"open_gallery": "Відкрити галерею",
|
"open_gallery": "Відкрити галерею",
|
||||||
|
"override_translation_source_language": "Замістити початкову мову",
|
||||||
"pin": "Закріпити в профілі",
|
"pin": "Закріпити в профілі",
|
||||||
"pinned": "Закріплено",
|
"pinned": "Закріплено",
|
||||||
"plus_more": "ще {number}",
|
"plus_more": "ще {number}",
|
||||||
|
@ -881,21 +1012,33 @@
|
||||||
"redraft_confirm_accept_button": "Так, видалити й переписати",
|
"redraft_confirm_accept_button": "Так, видалити й переписати",
|
||||||
"redraft_confirm_cancel_button": "Ні, лишити оригінал",
|
"redraft_confirm_cancel_button": "Ні, лишити оригінал",
|
||||||
"redraft_confirm_title": "Підтвердьте видалення й переписання",
|
"redraft_confirm_title": "Підтвердьте видалення й переписання",
|
||||||
"remove_attachment": "Видалити долучення",
|
"remove_attachment": "Видалити вкладення",
|
||||||
|
"repeat_confirm": "Точно поширити допис?",
|
||||||
|
"repeat_confirm_accept_button": "Так, поширити",
|
||||||
|
"repeat_confirm_cancel_button": "Ні, не поширювати",
|
||||||
|
"repeat_confirm_title": "Підтвердьте поширення",
|
||||||
"repeats": "Поширення",
|
"repeats": "Поширення",
|
||||||
"replies_list": "Відповіді:",
|
"replies_list": "Відповіді:",
|
||||||
|
"replies_list_with_others": "Ще відповідей: {numReplies} | Ще відповідей: {numReplies}",
|
||||||
"reply_to": "Відповідь",
|
"reply_to": "Відповідь",
|
||||||
"show_all_attachments": "Показати всі вкладення",
|
"show_all_attachments": "Показати всі вкладення",
|
||||||
|
"show_all_conversation": "Показати всю розмову (ще дописів: {numStatus}) | Показати всю розмову (ще дописів: {numStatus})",
|
||||||
|
"show_all_conversation_with_icon": "{icon} {text}",
|
||||||
"show_attachment_description": "Переглянути опис (натисніть саме вкладення, якщо опис не вміщається)",
|
"show_attachment_description": "Переглянути опис (натисніть саме вкладення, якщо опис не вміщається)",
|
||||||
"show_attachment_in_modal": "Показати вкладення у вікні",
|
"show_attachment_in_modal": "Показати вкладення у вікні",
|
||||||
"show_content": "Показати вміст",
|
"show_content": "Показати вміст",
|
||||||
"show_full_subject": "Показати всю засторогу",
|
"show_full_subject": "Показати всю засторогу",
|
||||||
|
"show_only_conversation_under_this": "Показати відповіді лише до цього допису",
|
||||||
"status_deleted": "Цей допис був видалений",
|
"status_deleted": "Цей допис був видалений",
|
||||||
"status_unavailable": "Допис недоступний",
|
"status_unavailable": "Допис недоступний",
|
||||||
|
"thread_follow": "Ще відповідей: {numStatus} | Ще відповідей: {numStatus}",
|
||||||
|
"thread_follow_with_icon": "{icon} {text}",
|
||||||
"thread_hide": "Сховати гілку",
|
"thread_hide": "Сховати гілку",
|
||||||
"thread_muted": "Гілку приглушено",
|
"thread_muted": "Гілку приглушено",
|
||||||
"thread_muted_and_words": ", має слова:",
|
"thread_muted_and_words": ", має слова:",
|
||||||
"thread_show": "Показати гілку",
|
"thread_show": "Показати гілку",
|
||||||
|
"thread_show_full": "Показати відповіді: {numStatus} | Показати відповіді: {numStatus}",
|
||||||
|
"thread_show_full_with_icon": "{icon} {text}",
|
||||||
"translate": "Перекласти",
|
"translate": "Перекласти",
|
||||||
"translated_from": "В оригіналі: {language}",
|
"translated_from": "В оригіналі: {language}",
|
||||||
"unbookmark": "Видалити із закладок",
|
"unbookmark": "Видалити із закладок",
|
||||||
|
@ -929,6 +1072,7 @@
|
||||||
"collapse": "Згорнути",
|
"collapse": "Згорнути",
|
||||||
"conversation": "Розмова",
|
"conversation": "Розмова",
|
||||||
"error": "Помилка завантаження стрічки: {0}",
|
"error": "Помилка завантаження стрічки: {0}",
|
||||||
|
"follow_tag": "Підписатись на тег",
|
||||||
"load_older": "Завантажити давніші дописи",
|
"load_older": "Завантажити давніші дописи",
|
||||||
"no_more_statuses": "Більше немає дописів",
|
"no_more_statuses": "Більше немає дописів",
|
||||||
"no_retweet_hint": "Допис приватний чи особистий, тож його не можна поширити чи цитувати",
|
"no_retweet_hint": "Допис приватний чи особистий, тож його не можна поширити чи цитувати",
|
||||||
|
@ -938,8 +1082,12 @@
|
||||||
"show_new": "Показати нові",
|
"show_new": "Показати нові",
|
||||||
"socket_broke": "Втрачено з'єднання у реальному часі: код {0}",
|
"socket_broke": "Втрачено з'єднання у реальному часі: код {0}",
|
||||||
"socket_reconnected": "Встановлено з'єднання у реальному часі",
|
"socket_reconnected": "Встановлено з'єднання у реальному часі",
|
||||||
|
"unfollow_tag": "Відписатись від тегу",
|
||||||
"up_to_date": "Оновлено"
|
"up_to_date": "Оновлено"
|
||||||
},
|
},
|
||||||
|
"toast": {
|
||||||
|
"no_translation_target_set": "Не обрано цільової мови перекладу — може не вдатися. Оберіть у налаштуваннях, на яку мову перекладати."
|
||||||
|
},
|
||||||
"tool_tip": {
|
"tool_tip": {
|
||||||
"accept_follow_request": "Дозволити підписатись",
|
"accept_follow_request": "Дозволити підписатись",
|
||||||
"add_reaction": "Додати реакцію",
|
"add_reaction": "Додати реакцію",
|
||||||
|
@ -978,14 +1126,14 @@
|
||||||
"disable_remote_subscription": "Заборонити підписуватись користувач_кам з інших серверів",
|
"disable_remote_subscription": "Заборонити підписуватись користувач_кам з інших серверів",
|
||||||
"force_nsfw": "Позначити всі дописи дражливими",
|
"force_nsfw": "Позначити всі дописи дражливими",
|
||||||
"force_unlisted": "Не показувати дописи в стрічці",
|
"force_unlisted": "Не показувати дописи в стрічці",
|
||||||
"grant_admin": "Надати права адміністратора",
|
"grant_admin": "Дозволити адміністрування",
|
||||||
"grant_moderator": "Надати права модератора",
|
"grant_moderator": "Дозволити модерування",
|
||||||
"moderation": "Модерування",
|
"moderation": "Модерування",
|
||||||
"quarantine": "Не розповсюджувати дописи на інших інстансах",
|
"quarantine": "Не розповсюджувати дописи на інших інстансах",
|
||||||
"revoke_admin": "Позбавити прав адміністратора",
|
"revoke_admin": "Позбавити прав адміністрування",
|
||||||
"revoke_moderator": "Позбавити прав модератора",
|
"revoke_moderator": "Позбавити прав модерування",
|
||||||
"sandbox": "Показувати дописи лише підписни_цям",
|
"sandbox": "Показувати дописи лише підписни_цям",
|
||||||
"strip_media": "Вилучити медіа з дописів користувача"
|
"strip_media": "Вилучити медіа з дописів"
|
||||||
},
|
},
|
||||||
"approve": "Дозволити",
|
"approve": "Дозволити",
|
||||||
"approve_confirm": "Точно дозволити користувач_ці на вас підписатись?",
|
"approve_confirm": "Точно дозволити користувач_ці на вас підписатись?",
|
||||||
|
@ -1006,13 +1154,18 @@
|
||||||
"deny_confirm": "Точно відхилити запит на підписку?",
|
"deny_confirm": "Точно відхилити запит на підписку?",
|
||||||
"deny_confirm_accept_button": "Так, відхилити",
|
"deny_confirm_accept_button": "Так, відхилити",
|
||||||
"deny_confirm_cancel_button": "Ні, скасувати",
|
"deny_confirm_cancel_button": "Ні, скасувати",
|
||||||
|
"deny_confirm_title": "Відхилити запит на підписку",
|
||||||
|
"domain_muted": "Розблокувати домен",
|
||||||
"edit_profile": "Редагувати профіль",
|
"edit_profile": "Редагувати профіль",
|
||||||
"favorites": "Вподобання",
|
"favorites": "Вподобання",
|
||||||
"follow": "Підписатись",
|
"follow": "Підписатись",
|
||||||
"follow_cancel": "Скасувати запит",
|
"follow_cancel": "Скасувати запит",
|
||||||
"follow_progress": "Запитую…",
|
"follow_progress": "Надсилання…",
|
||||||
"follow_sent": "Запит відправлено!",
|
"follow_sent": "Запит надіслано!",
|
||||||
|
"follow_tag": "Підписатись на тег",
|
||||||
"follow_unfollow": "Відписатись",
|
"follow_unfollow": "Відписатись",
|
||||||
|
"followed_tags": "Підписки на теги",
|
||||||
|
"followed_users": "Підписки на користувач_ок",
|
||||||
"followees": "Підписки",
|
"followees": "Підписки",
|
||||||
"followers": "Підписни_ці",
|
"followers": "Підписни_ці",
|
||||||
"following": "Ви підписані!",
|
"following": "Ви підписані!",
|
||||||
|
@ -1036,7 +1189,8 @@
|
||||||
"mute_confirm_title": "Приглушення",
|
"mute_confirm_title": "Приглушення",
|
||||||
"mute_domain": "Заблокувати домен",
|
"mute_domain": "Заблокувати домен",
|
||||||
"mute_progress": "Глушимо…",
|
"mute_progress": "Глушимо…",
|
||||||
"muted": "Заглушено",
|
"muted": "Приглушено",
|
||||||
|
"not_following_any_hashtags": "У вас нема підписок на теги",
|
||||||
"note": "Приватна нотатка",
|
"note": "Приватна нотатка",
|
||||||
"per_day": "на день",
|
"per_day": "на день",
|
||||||
"remote_follow": "Підписатись",
|
"remote_follow": "Підписатись",
|
||||||
|
@ -1053,8 +1207,9 @@
|
||||||
"unfollow_confirm_accept_button": "Так, відписатись",
|
"unfollow_confirm_accept_button": "Так, відписатись",
|
||||||
"unfollow_confirm_cancel_button": "Ні, не відписуватись",
|
"unfollow_confirm_cancel_button": "Ні, не відписуватись",
|
||||||
"unfollow_confirm_title": "Відписка",
|
"unfollow_confirm_title": "Відписка",
|
||||||
"unmute": "Зняти глушення",
|
"unfollow_tag": "Відписатись від тегу",
|
||||||
"unmute_progress": "Знімаємо глушення…",
|
"unmute": "Відновити",
|
||||||
|
"unmute_progress": "Відновлення…",
|
||||||
"unsubscribe": "Відписатись"
|
"unsubscribe": "Відписатись"
|
||||||
},
|
},
|
||||||
"user_profile": {
|
"user_profile": {
|
||||||
|
@ -1069,7 +1224,7 @@
|
||||||
"forward_description": "Це обліковка з іншого сервера. Надіслати його адміністрації копію скарги?",
|
"forward_description": "Це обліковка з іншого сервера. Надіслати його адміністрації копію скарги?",
|
||||||
"forward_to": "Переслати до {0}",
|
"forward_to": "Переслати до {0}",
|
||||||
"generic_error": "Виникла помилка під час обробки вашого запиту.",
|
"generic_error": "Виникла помилка під час обробки вашого запиту.",
|
||||||
"submit": "Відправити",
|
"submit": "Надіслати",
|
||||||
"title": "Поскаржитись на {0}"
|
"title": "Поскаржитись на {0}"
|
||||||
},
|
},
|
||||||
"who_to_follow": {
|
"who_to_follow": {
|
||||||
|
|
399
src/i18n/vi.json
399
src/i18n/vi.json
|
@ -1,5 +1,7 @@
|
||||||
{
|
{
|
||||||
"about": {
|
"about": {
|
||||||
|
"bubble_instances": "Các máy chủ lân cận",
|
||||||
|
"bubble_instances_description": "Các máy chủ được quản trị chọn để thể hiện vùng xung quanh máy chủ này",
|
||||||
"mrf": {
|
"mrf": {
|
||||||
"federation": "Liên hợp",
|
"federation": "Liên hợp",
|
||||||
"keyword": {
|
"keyword": {
|
||||||
|
@ -16,12 +18,15 @@
|
||||||
"accept_desc": "Máy chủ này chỉ chấp nhận tin nhắn từ những máy chủ:",
|
"accept_desc": "Máy chủ này chỉ chấp nhận tin nhắn từ những máy chủ:",
|
||||||
"ftl_removal": "Giới hạn chung",
|
"ftl_removal": "Giới hạn chung",
|
||||||
"ftl_removal_desc": "Nội dung từ những máy chủ sau sẽ bị ẩn:",
|
"ftl_removal_desc": "Nội dung từ những máy chủ sau sẽ bị ẩn:",
|
||||||
"media_nsfw": "Áp đặt nhạy cảm",
|
"instance": "Máy chủ",
|
||||||
"media_nsfw_desc": "Nội dung từ những máy chủ sau sẽ bị tự động gắn nhãn nhạy cảm:",
|
"media_nsfw": "Áp đặt nhạy cảm cho nội dung đa phương tiện",
|
||||||
|
"media_nsfw_desc": "Nội dung đa phương tiện từ những máy chủ sau sẽ bị tự động gắn nhãn nhạy cảm:",
|
||||||
"media_removal": "Ẩn Media",
|
"media_removal": "Ẩn Media",
|
||||||
"media_removal_desc": "Media từ những máy chủ sau sẽ bị ẩn:",
|
"media_removal_desc": "Media từ những máy chủ sau sẽ bị ẩn:",
|
||||||
"quarantine": "Bảo hành",
|
"not_applicable": "không ghi",
|
||||||
"quarantine_desc": "Máy chủ này sẽ gửi tút công khai đến những máy chủ:",
|
"quarantine": "Cách ly",
|
||||||
|
"quarantine_desc": "Máy chủ này sẽ chỉ gửi bài đăng công khai đến những máy chủ:",
|
||||||
|
"reason": "Lý do",
|
||||||
"reject": "Từ chối",
|
"reject": "Từ chối",
|
||||||
"reject_desc": "Máy chủ này không chấp nhận tin nhắn từ những máy chủ:",
|
"reject_desc": "Máy chủ này không chấp nhận tin nhắn từ những máy chủ:",
|
||||||
"simple_policies": "Quy tắc máy chủ"
|
"simple_policies": "Quy tắc máy chủ"
|
||||||
|
@ -29,6 +34,27 @@
|
||||||
},
|
},
|
||||||
"staff": "Nhân viên"
|
"staff": "Nhân viên"
|
||||||
},
|
},
|
||||||
|
"announcements": {
|
||||||
|
"all_day_prompt": "Đây là sự kiện kéo dài cả ngày",
|
||||||
|
"cancel_edit_action": "Huỷ",
|
||||||
|
"close_error": "Đóng",
|
||||||
|
"delete_action": "Xoá",
|
||||||
|
"edit_action": "Sửa",
|
||||||
|
"end_time_display": "Kết thúc lúc {time}",
|
||||||
|
"end_time_prompt": "Thời gian kết thúc: ",
|
||||||
|
"inactive_message": "Thông báo này đang vô hiệu",
|
||||||
|
"mark_as_read_action": "Đánh dấu đã đọc",
|
||||||
|
"page_header": "Thông báo",
|
||||||
|
"post_action": "Bài đăng",
|
||||||
|
"post_error": "Lỗi: {error}",
|
||||||
|
"post_form_header": "Đăng thông báo",
|
||||||
|
"post_placeholder": "Nội dung thông báo",
|
||||||
|
"published_time_display": "Đăng lúc {time}",
|
||||||
|
"start_time_display": "Bắt đầu lúc {time}",
|
||||||
|
"start_time_prompt": "Thời gian bắt đầu: ",
|
||||||
|
"submit_edit_action": "Đăng",
|
||||||
|
"title": "Thông báo"
|
||||||
|
},
|
||||||
"chats": {
|
"chats": {
|
||||||
"chats": "Chat",
|
"chats": "Chat",
|
||||||
"delete": "Xóa",
|
"delete": "Xóa",
|
||||||
|
@ -58,6 +84,7 @@
|
||||||
"keep_open": "Mở khung lựa chọn",
|
"keep_open": "Mở khung lựa chọn",
|
||||||
"load_all": "Đang tải {emojiAmount} emoji",
|
"load_all": "Đang tải {emojiAmount} emoji",
|
||||||
"load_all_hint": "Tải trước {saneAmount} emoji, tải toàn bộ emoji có thể gây xử lí chậm.",
|
"load_all_hint": "Tải trước {saneAmount} emoji, tải toàn bộ emoji có thể gây xử lí chậm.",
|
||||||
|
"recent": "Sử dụng gần đây",
|
||||||
"search_emoji": "Tìm emoji",
|
"search_emoji": "Tìm emoji",
|
||||||
"stickers": "Sticker",
|
"stickers": "Sticker",
|
||||||
"unicode": "Unicode emoji"
|
"unicode": "Unicode emoji"
|
||||||
|
@ -109,6 +136,13 @@
|
||||||
"admin": "Quản trị viên",
|
"admin": "Quản trị viên",
|
||||||
"moderator": "Kiểm duyệt viên"
|
"moderator": "Kiểm duyệt viên"
|
||||||
},
|
},
|
||||||
|
"scope_in_timeline": {
|
||||||
|
"direct": "Trực tiếp",
|
||||||
|
"local": "Nội bộ - chỉ thành viên cùng máy chủ xem được bài đăng này",
|
||||||
|
"private": "Cho người theo dõi",
|
||||||
|
"public": "Công khai",
|
||||||
|
"unlisted": "Hạn chế"
|
||||||
|
},
|
||||||
"show_less": "Thu gọn",
|
"show_less": "Thu gọn",
|
||||||
"show_more": "Xem thêm",
|
"show_more": "Xem thêm",
|
||||||
"submit": "Gửi tặng",
|
"submit": "Gửi tặng",
|
||||||
|
@ -131,6 +165,84 @@
|
||||||
"load_older": "Xem tương tác cũ hơn",
|
"load_older": "Xem tương tác cũ hơn",
|
||||||
"moves": "Người dùng chuyển đi"
|
"moves": "Người dùng chuyển đi"
|
||||||
},
|
},
|
||||||
|
"languages": {
|
||||||
|
"ar": "tiếng Ả-rập",
|
||||||
|
"az": "tiếng Azerbaijan",
|
||||||
|
"bg": "tiếng Bulgari",
|
||||||
|
"cs": "tiếng Séc",
|
||||||
|
"da": "tiếng Đan Mạch",
|
||||||
|
"de": "tiếng Đức",
|
||||||
|
"el": "tiếng Hy Lạp",
|
||||||
|
"en": "tiếng Anh",
|
||||||
|
"eo": "Quốc tế ngữ",
|
||||||
|
"es": "tiếng Tây Ban Nha",
|
||||||
|
"fa": "tiếng Ba Tư",
|
||||||
|
"fi": "tiếng Phần Lan",
|
||||||
|
"fr": "tiếng Pháp",
|
||||||
|
"ga": "tiếng Ireland",
|
||||||
|
"he": "tiếng Hebrew",
|
||||||
|
"hi": "tiếng Hindi",
|
||||||
|
"hu": "tiếng Hungari",
|
||||||
|
"id": "tiếng Indonesia",
|
||||||
|
"it": "tiếng Ý",
|
||||||
|
"ja": "tiếng Nhật",
|
||||||
|
"ko": "tiếng Hàn",
|
||||||
|
"lt": "tiếng Litva",
|
||||||
|
"lv": "tiếng Latvia",
|
||||||
|
"nl": "tiếng Hà Lan",
|
||||||
|
"pl": "tiếng Ba Lan",
|
||||||
|
"pt": "tiếng Bồ Đào Nha",
|
||||||
|
"ru": "tiếng Nga",
|
||||||
|
"sk": "tiếng Slovakia",
|
||||||
|
"sv": "tiếng Thuỵ Điển",
|
||||||
|
"tr": "tiếng Thổ Nhĩ Kỳ",
|
||||||
|
"translated_from": {
|
||||||
|
"ar": "Dịch từ @:languages.ar",
|
||||||
|
"az": "Dịch từ @:languages.az",
|
||||||
|
"bg": "Dịch từ @:languages.bg",
|
||||||
|
"cs": "Dịch từ @:languages.cs",
|
||||||
|
"da": "Dịch từ @:languages.da",
|
||||||
|
"de": "Dịch từ @:languages.de",
|
||||||
|
"el": "Dịch từ @:languages.el",
|
||||||
|
"en": "Dịch từ @:languages.en",
|
||||||
|
"eo": "Dịch từ @:languages.eo",
|
||||||
|
"es": "Dịch từ @:languages.es",
|
||||||
|
"fa": "Dịch từ @:languages.fa",
|
||||||
|
"fi": "Dịch từ @:languages.fi",
|
||||||
|
"fr": "Dịch từ @:languages.fr",
|
||||||
|
"ga": "Dịch từ @:languages.ga",
|
||||||
|
"he": "Dịch từ @:languages.he",
|
||||||
|
"hi": "Dịch từ @:languages.hi",
|
||||||
|
"hu": "Dịch từ @:languages.hu",
|
||||||
|
"id": "Dịch từ @:languages.id",
|
||||||
|
"it": "Dịch từ @:languages.it",
|
||||||
|
"ja": "Dịch từ @:languages.ja",
|
||||||
|
"ko": "Dịch từ @:languages.ko",
|
||||||
|
"lt": "Dịch từ @:languages.lt",
|
||||||
|
"lv": "Dịch từ @:languages.lv",
|
||||||
|
"nl": "Dịch từ @:languages.nl",
|
||||||
|
"pl": "Dịch từ @:languages.pl",
|
||||||
|
"pt": "Dịch từ @:languages.pt",
|
||||||
|
"ru": "Dịch từ @:languages.ru",
|
||||||
|
"sk": "Dịch từ @:languages.sk",
|
||||||
|
"sv": "Dịch từ @:languages.sv",
|
||||||
|
"tr": "Dịch từ @:languages.tr",
|
||||||
|
"uk": "Dịch từ @:languages.uk",
|
||||||
|
"zh": "Dịch từ @:languages.zh"
|
||||||
|
},
|
||||||
|
"uk": "Tiếng Ukraina",
|
||||||
|
"zh": "Tiếng Trung"
|
||||||
|
},
|
||||||
|
"lists": {
|
||||||
|
"create": "Tạo",
|
||||||
|
"delete": "Xoá danh sách",
|
||||||
|
"following_only": "Giới hạn chỉ người được theo dõi",
|
||||||
|
"lists": "Danh sách",
|
||||||
|
"new": "Tạo danh sách mới",
|
||||||
|
"save": "Lưu thay đổi",
|
||||||
|
"search": "Tìm người dùng",
|
||||||
|
"title": "Tên danh sách"
|
||||||
|
},
|
||||||
"login": {
|
"login": {
|
||||||
"authentication_code": "Mã truy cập",
|
"authentication_code": "Mã truy cập",
|
||||||
"description": "Đăng nhập bằng OAuth",
|
"description": "Đăng nhập bằng OAuth",
|
||||||
|
@ -143,60 +255,101 @@
|
||||||
"hint": "Đăng nhập để cùng trò chuyện",
|
"hint": "Đăng nhập để cùng trò chuyện",
|
||||||
"login": "Đăng nhập",
|
"login": "Đăng nhập",
|
||||||
"logout": "Đăng xuất",
|
"logout": "Đăng xuất",
|
||||||
|
"logout_confirm": "Bạn có chắc mình muốn đăng xuất?",
|
||||||
|
"logout_confirm_accept_button": "Đăng xuất",
|
||||||
|
"logout_confirm_cancel_button": "Huỷ",
|
||||||
|
"logout_confirm_title": "Đăng xuất",
|
||||||
"password": "Mật khẩu",
|
"password": "Mật khẩu",
|
||||||
"placeholder": "vd: cobetronxinh",
|
"placeholder": "ví dụ: kimdung",
|
||||||
"recovery_code": "Mã khôi phục",
|
"recovery_code": "Mã khôi phục",
|
||||||
"register": "Đăng ký",
|
"register": "Đăng ký",
|
||||||
"username": "Tên người dùng"
|
"username": "Tên người dùng"
|
||||||
},
|
},
|
||||||
"media_modal": {
|
"media_modal": {
|
||||||
|
"counter": "{current} / {total}",
|
||||||
|
"hide": "Đóng nội dung đa phương tiện",
|
||||||
"next": "Kế tiếp",
|
"next": "Kế tiếp",
|
||||||
"previous": "Trước đó"
|
"previous": "Trước đó"
|
||||||
},
|
},
|
||||||
|
"moderation": {
|
||||||
|
"moderation": "Quản lý",
|
||||||
|
"reports": {
|
||||||
|
"add_note": "Thêm ghi chú",
|
||||||
|
"close": "Đóng",
|
||||||
|
"delete_note": "Xoá",
|
||||||
|
"delete_note_accept": "Đúng, tôi muốn xoá",
|
||||||
|
"delete_note_cancel": "Không, giữ lại",
|
||||||
|
"delete_note_confirm": "Bạn có chắc bạn muốn xoá ghi chú này?",
|
||||||
|
"delete_note_title": "Xác nhận xoá",
|
||||||
|
"no_content": "Không có mô tả",
|
||||||
|
"no_reports": "Không có báo cáo nào",
|
||||||
|
"note_placeholder": "Để lại ghi chú",
|
||||||
|
"notes": "{ count } ghi chú | { count } ghi chú",
|
||||||
|
"reopen": "Mở lại",
|
||||||
|
"report": "Báo cáo",
|
||||||
|
"reports": "Báo cáo",
|
||||||
|
"resolve": "Giải quyết",
|
||||||
|
"show_closed": "Hiện những thông báo đã đóng",
|
||||||
|
"statuses": "{ count } bài đăng| { count } bài đăng",
|
||||||
|
"tag_policy_notice": "Kích hoạt MRF TagPolicy để giới hạn bài đăng",
|
||||||
|
"tags": "Giới hạn bài đăng"
|
||||||
|
},
|
||||||
|
"statuses": "Bài đăng",
|
||||||
|
"users": "Người dùng"
|
||||||
|
},
|
||||||
"nav": {
|
"nav": {
|
||||||
"about": "Về máy chủ này",
|
"about": "Về máy chủ này",
|
||||||
"administration": "Vận hành bởi",
|
"administration": "Vận hành bởi",
|
||||||
|
"announcements": "Thông báo",
|
||||||
"back": "Quay lại",
|
"back": "Quay lại",
|
||||||
"bookmarks": "Đã lưu",
|
"bookmarks": "Đã lưu",
|
||||||
|
"bubble_timeline": "Dòng thời gian lân cận",
|
||||||
|
"bubble_timeline_description": "Bài đăng từ các máy chủ gần với của bạn, được chọn bởi quản trị viên",
|
||||||
"chats": "Chat",
|
"chats": "Chat",
|
||||||
"dms": "Nhắn tin",
|
"dms": "Nhắn tin",
|
||||||
"friend_requests": "Yêu cầu theo dõi",
|
"friend_requests": "Yêu cầu theo dõi",
|
||||||
"home_timeline": "Bảng tin của bạn",
|
"home_timeline": "Bảng tin của bạn",
|
||||||
"interactions": "Giao tiếp",
|
"home_timeline_description": "Bài đăng từ những người bạn theo dõi",
|
||||||
|
"interactions": "Tương tác",
|
||||||
|
"lists": "Danh sách",
|
||||||
"mentions": "Lượt nhắc đến",
|
"mentions": "Lượt nhắc đến",
|
||||||
|
"moderation": "Quản lý",
|
||||||
"preferences": "Thiết lập",
|
"preferences": "Thiết lập",
|
||||||
|
"public_timeline_description": "Bài đăng công khai từ máy chủ này",
|
||||||
"public_tl": "Bảng tin máy chủ",
|
"public_tl": "Bảng tin máy chủ",
|
||||||
"search": "Tìm kiếm",
|
"search": "Tìm kiếm",
|
||||||
"timeline": "Bảng tin",
|
"timeline": "Bảng tin",
|
||||||
"timelines": "Bảng tin",
|
"timelines": "Bảng tin",
|
||||||
"twkn": "Thế giới",
|
"twkn": "Thế giới",
|
||||||
|
"twkn_timeline_description": "Bài đăng từ toàn bộ mạng liên hợp",
|
||||||
"user_search": "Tìm kiếm người dùng",
|
"user_search": "Tìm kiếm người dùng",
|
||||||
"who_to_follow": "Đề xuất theo dõi"
|
"who_to_follow": "Đề xuất theo dõi"
|
||||||
},
|
},
|
||||||
"notifications": {
|
"notifications": {
|
||||||
"broken_favorite": "Trạng thái chưa rõ, đang tìm kiếm…",
|
"broken_favorite": "Trạng thái chưa rõ, đang tìm kiếm…",
|
||||||
"error": "Lỗi khi nạp thông báo {0}",
|
"error": "Lỗi khi nạp thông báo {0}",
|
||||||
"favorited_you": "thích tút của bạn",
|
"favorited_you": "thích bài đăng của bạn",
|
||||||
"follow_request": "yêu cầu theo dõi bạn",
|
"follow_request": "yêu cầu theo dõi bạn",
|
||||||
"followed_you": "theo dõi bạn",
|
"followed_you": "theo dõi bạn",
|
||||||
"load_older": "Xem những thông báo cũ hơn",
|
"load_older": "Xem những thông báo cũ hơn",
|
||||||
"migrated_to": "chuyển sang",
|
"migrated_to": "chuyển sang",
|
||||||
"no_more_notifications": "Không còn thông báo nào",
|
"no_more_notifications": "Không còn thông báo nào",
|
||||||
"notifications": "Thông báo",
|
"notifications": "Thông báo",
|
||||||
"reacted_with": "chạm tới {0}",
|
"poll_ended": "bình chọn đã kết thúc",
|
||||||
|
"reacted_with": "biểu lộ cảm xúc {0}",
|
||||||
"read": "Đọc!",
|
"read": "Đọc!",
|
||||||
"repeated_you": "chia sẻ tút của bạn"
|
"repeated_you": "chia sẻ bài đăng của bạn"
|
||||||
},
|
},
|
||||||
"password_reset": {
|
"password_reset": {
|
||||||
"check_email": "Kiểm tra email của bạn.",
|
"check_email": "Kiểm tra đường dẫn khôi phục mật khẩu trong email của bạn.",
|
||||||
"forgot_password": "Quên mật khẩu",
|
"forgot_password": "Quên mật khẩu?",
|
||||||
"instruction": "Nhập email hoặc tên người dùng. Chúng tôi sẽ gửi email reset mật khẩu cho bạn.",
|
"instruction": "Nhập email hoặc tên người dùng. Chúng tôi sẽ gửi email khôi phục mật khẩu cho bạn.",
|
||||||
"password_reset": "Đổi mật khẩu",
|
"password_reset": "Đổi mật khẩu",
|
||||||
"password_reset_disabled": "Reset mật khẩu bị tắt. Hãy liên hệ quản trị viên máy chủ.",
|
"password_reset_disabled": "Đổi mật khẩu bị tắt. Hãy liên hệ quản trị viên máy chủ.",
|
||||||
"password_reset_required": "Bạn phải đổi mật khẩu để đăng nhập.",
|
"password_reset_required": "Bạn phải đổi mật khẩu để đăng nhập.",
|
||||||
"password_reset_required_but_mailer_is_disabled": "Bạn cần phải đổi mật khẩu, nhưng tính năng bị tắt. Hãy liên hệ quản trị viên máy chủ.",
|
"password_reset_required_but_mailer_is_disabled": "Bạn cần phải đổi mật khẩu, nhưng tính năng bị tắt. Hãy liên hệ quản trị viên máy chủ.",
|
||||||
"placeholder": "Email hoặc tên người dùng",
|
"placeholder": "Email hoặc tên người dùng",
|
||||||
"return_home": "Quay lại Pleroma",
|
"return_home": "Quay lại trang chủ",
|
||||||
"too_many_requests": "Bạn đã vượt giới hạn cho phép, hãy thử lại sau."
|
"too_many_requests": "Bạn đã vượt giới hạn cho phép, hãy thử lại sau."
|
||||||
},
|
},
|
||||||
"polls": {
|
"polls": {
|
||||||
|
@ -212,58 +365,70 @@
|
||||||
"single_choice": "Chỉ được chọn một lựa chọn",
|
"single_choice": "Chỉ được chọn một lựa chọn",
|
||||||
"type": "Kiểu bình chọn",
|
"type": "Kiểu bình chọn",
|
||||||
"vote": "Bình chọn",
|
"vote": "Bình chọn",
|
||||||
"votes": "người bình chọn",
|
"votes": "lượt bình chọn",
|
||||||
"votes_count": "{count} bình chọn | {count} bình chọn"
|
"votes_count": "{count} bình chọn | {count} bình chọn"
|
||||||
},
|
},
|
||||||
"post_status": {
|
"post_status": {
|
||||||
"account_not_locked_warning": "Tài khoản của bạn chưa {0}. Bất kỳ ai cũng có thể xem những tút dành cho người theo dõi của bạn.",
|
"account_not_locked_warning": "Tài khoản của bạn chưa {0}. Bất kỳ ai cũng có thể xem những tút dành cho người theo dõi của bạn.",
|
||||||
"account_not_locked_warning_link": "đã khóa",
|
"account_not_locked_warning_link": "được khóa",
|
||||||
"attachments_sensitive": "Đánh dấu media là nhạy cảm",
|
"attachments_sensitive": "Đánh dấu media là nhạy cảm",
|
||||||
"content_type": {
|
"content_type": {
|
||||||
"text/bbcode": "BBCode",
|
"text/bbcode": "BBCode",
|
||||||
"text/html": "HTML",
|
"text/html": "HTML",
|
||||||
"text/markdown": "Markdown",
|
"text/markdown": "Markdown",
|
||||||
"text/plain": "Văn bản"
|
"text/plain": "Văn bản",
|
||||||
|
"text/x.misskeymarkdown": "Markdown kiểu Misskey"
|
||||||
},
|
},
|
||||||
"content_warning": "Tiêu đề (tùy chọn)",
|
"content_warning": "Cảnh báo nội dung (tùy chọn)",
|
||||||
"default": "Đời người con gái không muốn yêu ai được không?",
|
"default": "Đời người con gái không muốn yêu ai được không?",
|
||||||
"direct_warning_to_all": "Những ai được nhắc đến sẽ đều thấy tút này.",
|
"direct_warning_to_all": "Những ai được nhắc đến sẽ đều thấy bài đăng này.",
|
||||||
"direct_warning_to_first_only": "Người đầu tiên được nhắc đến mới có thể thấy tút này.",
|
"direct_warning_to_first_only": "Những được nhắc đến ở đầu bài dăng mới có thể thấy bài đăng này.",
|
||||||
"empty_status_error": "Không thể đăng một tút trống và không có media",
|
"edit_remote_warning": "Thay đổi của bài đăng này có thể không đến được một số máy chủ khác!",
|
||||||
"media_description": "Mô tả media",
|
"edit_status": "Sửa bài đăng",
|
||||||
|
"edit_unsupported_warning": "Bình chọn và những người được đề cập sẽ không bị thay đổi bởi chỉnh sửa.",
|
||||||
|
"empty_status_error": "Không thể đăng một bài đăng trống và không có tập tin đính kèm",
|
||||||
|
"media_description": "Mô tả nội dung tập tin",
|
||||||
"media_description_error": "Cập nhật media thất bại, thử lại sau",
|
"media_description_error": "Cập nhật media thất bại, thử lại sau",
|
||||||
"new_status": "Đăng tút",
|
"media_not_sensitive_warning": "Bạn có cảnh báo nội dung, nhưng tập tin đính kèm chưa được đánh dấu là nhạy cảm!",
|
||||||
|
"new_status": "Bài đăng mới",
|
||||||
"post": "Đăng",
|
"post": "Đăng",
|
||||||
"posting": "Đang đăng tút",
|
"posting": "Đang đăng",
|
||||||
"preview": "Xem trước",
|
"preview": "Xem trước",
|
||||||
"preview_empty": "Trống",
|
"preview_empty": "Trống",
|
||||||
"scope": {
|
"scope": {
|
||||||
"direct": "Tin nhắn - chỉ người được nhắc đến mới thấy",
|
"direct": "Tin nhắn - chỉ người được nhắc đến mới thấy",
|
||||||
|
"local": "Nội bộ - không chia sẻ sang máy chủ khác",
|
||||||
"private": "Riêng tư - Chỉ dành cho người theo dõi",
|
"private": "Riêng tư - Chỉ dành cho người theo dõi",
|
||||||
"public": "Công khai - hiện trên bảng tin máy chủ",
|
"public": "Công khai - hiện trên bảng tin máy chủ",
|
||||||
"unlisted": "Hạn chế - không hiện trên bảng tin"
|
"unlisted": "Hạn chế - không hiện trên bảng tin"
|
||||||
},
|
},
|
||||||
"scope_notice": {
|
"scope_notice": {
|
||||||
"private": "Chỉ những người theo dõi bạn mới thấy tút này",
|
"local": "Bài đăng này sẽ không hiện trên máy chủ khác",
|
||||||
"public": "Mọi người đều có thể thấy tút này",
|
"private": "Chỉ những người theo dõi bạn mới thấy bài đăng này",
|
||||||
"unlisted": "Tút này sẽ không hiện trong bảng tin máy chủ và thế giới"
|
"public": "Mọi người đều có thể thấy bài đăng này",
|
||||||
|
"unlisted": "Bài đăng này sẽ không hiện trong bảng tin máy chủ và thế giới"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"registration": {
|
"registration": {
|
||||||
|
"awaiting_email_confirmation": "Tài khoản của bạn đã được đăng ký và một email đã được gửi cho bạn. Hãy kiểm tra email để hoàn tất đăng ký.",
|
||||||
|
"awaiting_email_confirmation_title": "Đang chờ xác nhận email",
|
||||||
"bio": "Tiểu sử",
|
"bio": "Tiểu sử",
|
||||||
"bio_placeholder": "vd:\nHi, I'm Cô Bé Tròn Xinh.\nI’m an anime girl living in suburban Vietnam. You may know me from the school.",
|
"bio_placeholder": "ví dụ:\nChào mừng bạn đến với tiểu sử của tôi.\nTôi thích viết văn theo trường phái hiện thực, sau này viết báo kháng chiến. Hi vọng chúng ta có thể làm bạn!",
|
||||||
"captcha": "CAPTCHA",
|
"captcha": "CAPTCHA",
|
||||||
"email": "Email",
|
"email": "Email",
|
||||||
|
"email_language": "Bạn muốn nhận email từ máy chủ này bằng ngôn ngữ nào?",
|
||||||
"fullname": "Tên hiển thị",
|
"fullname": "Tên hiển thị",
|
||||||
"fullname_placeholder": "vd: Cô Bé Tròn Xinh",
|
"fullname_placeholder": "ví dụ: Trần Hữu Tri",
|
||||||
"new_captcha": "Nhấn vào hình ảnh để đổi captcha mới",
|
"new_captcha": "Nhấn vào hình ảnh để đổi captcha mới",
|
||||||
"password_confirm": "Xác nhận mật khẩu",
|
"password_confirm": "Xác nhận mật khẩu",
|
||||||
"reason": "Lý do đăng ký",
|
"reason": "Lý do đăng ký",
|
||||||
"reason_placeholder": "Máy chủ này phê duyệt đăng ký thủ công.\nHãy cho quản trị viên biết lý do bạn muốn đăng ký.",
|
"reason_placeholder": "Máy chủ này phê duyệt đăng ký thủ công.\nHãy cho quản trị viên biết lý do bạn muốn đăng ký.",
|
||||||
"register": "Đăng ký",
|
"register": "Đăng ký",
|
||||||
"registration": "Đăng ký",
|
"registration": "Đăng ký",
|
||||||
|
"request_sent": "Đơn xin đăng ký đã được gửi và đang chờ phê duyệt. Bạn sẽ nhận được email khi tài khoản của bạn được duyệt.",
|
||||||
|
"request_sent_title": "Đã gửi đơn xin đăng ký",
|
||||||
"token": "Lời mời",
|
"token": "Lời mời",
|
||||||
"username_placeholder": "vd: cobetronxinh",
|
"username_placeholder": "vd: namcao",
|
||||||
"validations": {
|
"validations": {
|
||||||
"email_required": "không được để trống",
|
"email_required": "không được để trống",
|
||||||
"fullname_required": "không được để trống",
|
"fullname_required": "không được để trống",
|
||||||
|
@ -281,7 +446,7 @@
|
||||||
"search": {
|
"search": {
|
||||||
"hashtags": "Hashtag",
|
"hashtags": "Hashtag",
|
||||||
"no_results": "Không tìm thấy",
|
"no_results": "Không tìm thấy",
|
||||||
"people": "Người",
|
"people": "Mọi người",
|
||||||
"people_talking": "{count} người đang trò chuyện",
|
"people_talking": "{count} người đang trò chuyện",
|
||||||
"person_talking": "{count} người đang trò chuyện"
|
"person_talking": "{count} người đang trò chuyện"
|
||||||
},
|
},
|
||||||
|
@ -290,6 +455,13 @@
|
||||||
},
|
},
|
||||||
"settings": {
|
"settings": {
|
||||||
"accent": "Màu chủ đạo",
|
"accent": "Màu chủ đạo",
|
||||||
|
"account_backup": "Sao lưu dữ liệu",
|
||||||
|
"account_backup_description": "Tạo bản sao thông tin tài khoản và các bài viết (Akkoma hiện tại chưa thể nhập dữ liệu ngược lại từ bản sao).",
|
||||||
|
"account_backup_table_head": "Các bản sao",
|
||||||
|
"account_privacy": "Riêng tư",
|
||||||
|
"add_backup": "Thêm bản sao dữ liệu",
|
||||||
|
"add_backup_error": "Lỗi khi sao dữ liệu: {error}",
|
||||||
|
"added_backup": "Đã tạo bản sao dữ liệu.",
|
||||||
"allow_following_move": "Cho phép tự động theo dõi lại khi tài khoản đang theo dõi chuyển sang máy chủ khác",
|
"allow_following_move": "Cho phép tự động theo dõi lại khi tài khoản đang theo dõi chuyển sang máy chủ khác",
|
||||||
"always_show_post_button": "Luôn hiện nút viết tút mới",
|
"always_show_post_button": "Luôn hiện nút viết tút mới",
|
||||||
"app_name": "Tên app",
|
"app_name": "Tên app",
|
||||||
|
@ -301,6 +473,7 @@
|
||||||
"avatarRadius": "Ảnh đại diện",
|
"avatarRadius": "Ảnh đại diện",
|
||||||
"avatar_size_instruction": "Kích cỡ tối thiểu 150x150 pixels.",
|
"avatar_size_instruction": "Kích cỡ tối thiểu 150x150 pixels.",
|
||||||
"background": "Ảnh nền",
|
"background": "Ảnh nền",
|
||||||
|
"backup_not_ready": "Sao lưu chưa hoàn tất.",
|
||||||
"bio": "Tiểu sử",
|
"bio": "Tiểu sử",
|
||||||
"block_export": "Xuất danh sách chặn",
|
"block_export": "Xuất danh sách chặn",
|
||||||
"block_export_button": "Xuất danh sách chặn ra tập tin CSV",
|
"block_export_button": "Xuất danh sách chặn ra tập tin CSV",
|
||||||
|
@ -322,9 +495,27 @@
|
||||||
"changed_password": "Đổi mật khẩu thành công!",
|
"changed_password": "Đổi mật khẩu thành công!",
|
||||||
"chatMessageRadius": "Tin nhắn chat",
|
"chatMessageRadius": "Tin nhắn chat",
|
||||||
"checkboxRadius": "Hộp kiểm",
|
"checkboxRadius": "Hộp kiểm",
|
||||||
"collapse_subject": "Thu gọn những tút có tựa đề",
|
"collapse_subject": "Thu gọn các bài viết có cảnh báo về nội dung",
|
||||||
|
"columns": "Cột",
|
||||||
"composing": "Thu gọn",
|
"composing": "Thu gọn",
|
||||||
|
"confirm_dialogs": "Yêu cầu xác nhận cho:",
|
||||||
|
"confirm_dialogs_approve_follow": "Cho phép theo dõi",
|
||||||
|
"confirm_dialogs_block": "Chặn ai đó",
|
||||||
|
"confirm_dialogs_delete": "Xoá bài viết",
|
||||||
|
"confirm_dialogs_deny_follow": "Không cho theo dõi",
|
||||||
|
"confirm_dialogs_mute": "Bơ ai đó",
|
||||||
|
"confirm_dialogs_repeat": "Chia sẻ bài viết",
|
||||||
|
"confirm_dialogs_unfollow": "Ngừng theo dõi ai đó",
|
||||||
"confirm_new_password": "Xác nhận mật khẩu mới",
|
"confirm_new_password": "Xác nhận mật khẩu mới",
|
||||||
|
"confirmation_dialogs": "Lựa chọn xác nhận",
|
||||||
|
"conversation_display": "Cách hiển thị một thớt",
|
||||||
|
"conversation_display_linear": "Dọc",
|
||||||
|
"conversation_display_tree": "Hình cây",
|
||||||
|
"conversation_other_replies_button": "Hiện nút \"các phản hồi khác\"",
|
||||||
|
"conversation_other_replies_button_below": "Dưới bài viết",
|
||||||
|
"conversation_other_replies_button_inside": "Trong bài viết",
|
||||||
|
"current_avatar": "Hình đại diện hiện tại",
|
||||||
|
"current_mascot": "Linh vật hiện tại",
|
||||||
"current_password": "Mật khẩu cũ",
|
"current_password": "Mật khẩu cũ",
|
||||||
"data_import_export_tab": "Nhập / Xuất dữ liệu",
|
"data_import_export_tab": "Nhập / Xuất dữ liệu",
|
||||||
"default_vis": "Kiểu đăng tút mặc định",
|
"default_vis": "Kiểu đăng tút mặc định",
|
||||||
|
@ -332,11 +523,16 @@
|
||||||
"delete_account_description": "Xóa vĩnh viễn mọi dữ liệu và vô hiệu hóa tài khoản của bạn.",
|
"delete_account_description": "Xóa vĩnh viễn mọi dữ liệu và vô hiệu hóa tài khoản của bạn.",
|
||||||
"delete_account_error": "Có lỗi khi xóa tài khoản. Xin liên hệ quản trị viên máy chủ để tìm hiểu.",
|
"delete_account_error": "Có lỗi khi xóa tài khoản. Xin liên hệ quản trị viên máy chủ để tìm hiểu.",
|
||||||
"delete_account_instructions": "Nhập mật khẩu bên dưới để xác nhận.",
|
"delete_account_instructions": "Nhập mật khẩu bên dưới để xác nhận.",
|
||||||
|
"disable_sticky_headers": "Đừng dính đỉnh các cột vào trần màn hình",
|
||||||
"discoverable": "Hiện tài khoản trong công cụ tìm kiếm và những tính năng khác",
|
"discoverable": "Hiện tài khoản trong công cụ tìm kiếm và những tính năng khác",
|
||||||
"domain_mutes": "Máy chủ",
|
"domain_mutes": "Máy chủ",
|
||||||
|
"download_backup": "Tải xuống",
|
||||||
|
"email_language": "Ngôn ngữ gửi thư điện tử từ máy chủ",
|
||||||
"emoji_reactions_on_timeline": "Hiện tương tác emoji trên bảng tin",
|
"emoji_reactions_on_timeline": "Hiện tương tác emoji trên bảng tin",
|
||||||
"enable_web_push_notifications": "Cho phép thông báo đẩy trên web",
|
"enable_web_push_notifications": "Cho phép thông báo đẩy trên web",
|
||||||
"enter_current_password_to_confirm": "Nhập mật khẩu để xác thực",
|
"enter_current_password_to_confirm": "Nhập mật khẩu để xác thực",
|
||||||
|
"expire_posts_enabled": "Xoá bài đăng sau một số ngày",
|
||||||
|
"expire_posts_input_placeholder": "Số ngày",
|
||||||
"export_theme": "Lưu mẫu",
|
"export_theme": "Lưu mẫu",
|
||||||
"file_export_import": {
|
"file_export_import": {
|
||||||
"backup_restore": "Sao lưu",
|
"backup_restore": "Sao lưu",
|
||||||
|
@ -345,13 +541,13 @@
|
||||||
"errors": {
|
"errors": {
|
||||||
"file_slightly_new": "Phiên bản tập tin khác biệt, không thể áp dụng một vài thay đổi",
|
"file_slightly_new": "Phiên bản tập tin khác biệt, không thể áp dụng một vài thay đổi",
|
||||||
"file_too_new": "Phiên bản không tương thích: {fileMajor}, phiên bản PleromaFE(settings ver {feMajor}) của máy chủ này quá cũ để sử dụng",
|
"file_too_new": "Phiên bản không tương thích: {fileMajor}, phiên bản PleromaFE(settings ver {feMajor}) của máy chủ này quá cũ để sử dụng",
|
||||||
"file_too_old": "Phiên bản không tương thích: {fileMajor}, phiên bản tập tin quá cũ và không được hỗ trợ (min. set. ver. {feMajor})",
|
"file_too_old": "Phiên bản không tương thích: {fileMajor}, tập tin quá cũ và không được hỗ trợ (phiên bản tối thiểu: {feMajor})",
|
||||||
"invalid_file": "Tập tin đã chọn không hỗ trợ bởi Pleroma. Giữ nguyên mọi thay đổi."
|
"invalid_file": "Tập tin đã chọn không hỗ trợ bởi Pleroma. Giữ nguyên mọi thay đổi."
|
||||||
},
|
},
|
||||||
"restore_settings": "Khôi phục thiết lập từ tập tin"
|
"restore_settings": "Khôi phục thiết lập từ tập tin"
|
||||||
},
|
},
|
||||||
"filtering": "Bộ lọc",
|
"filtering": "Bộ lọc",
|
||||||
"filtering_explanation": "Những tút chứa từ sau sẽ bị ẩn, mỗi chữ một hàng",
|
"filtering_explanation": "Những bài viết chứa các từ sau sẽ bị ẩn, mỗi từ một hàng",
|
||||||
"follow_export": "Xuất danh sách theo dõi",
|
"follow_export": "Xuất danh sách theo dõi",
|
||||||
"follow_export_button": "Xuất danh sách theo dõi ra tập tin CSV",
|
"follow_export_button": "Xuất danh sách theo dõi ra tập tin CSV",
|
||||||
"follow_import": "Nhập danh sách theo dõi",
|
"follow_import": "Nhập danh sách theo dõi",
|
||||||
|
@ -364,16 +560,20 @@
|
||||||
"hide_all_muted_posts": "Ẩn những tút đã ẩn",
|
"hide_all_muted_posts": "Ẩn những tút đã ẩn",
|
||||||
"hide_attachments_in_convo": "Ẩn tập tin đính kèm trong thảo luận",
|
"hide_attachments_in_convo": "Ẩn tập tin đính kèm trong thảo luận",
|
||||||
"hide_attachments_in_tl": "Ẩn tập tin đính kèm trong bảng tin",
|
"hide_attachments_in_tl": "Ẩn tập tin đính kèm trong bảng tin",
|
||||||
|
"hide_favorites_description": "Không hiện danh sách bài đăng đã thích (mọi người vẫn nhận được thông báo)",
|
||||||
"hide_filtered_statuses": "Ẩn những tút đã lọc",
|
"hide_filtered_statuses": "Ẩn những tút đã lọc",
|
||||||
"hide_followers_count_description": "Ẩn số lượng người theo dõi tôi",
|
"hide_followers_count_description": "Ẩn số lượng người theo dõi tôi",
|
||||||
"hide_followers_description": "Ẩn danh sách những người theo dõi tôi",
|
"hide_followers_description": "Ẩn danh sách những người theo dõi tôi",
|
||||||
"hide_follows_count_description": "Ẩn số lượng người tôi theo dõi",
|
"hide_follows_count_description": "Ẩn số lượng người tôi theo dõi",
|
||||||
"hide_follows_description": "Ẩn danh sách những người tôi theo dõi",
|
"hide_follows_description": "Ẩn danh sách những người tôi theo dõi",
|
||||||
"hide_isp": "Ẩn thanh bên của máy chủ",
|
"hide_isp": "Ẩn thanh bên của máy chủ",
|
||||||
|
"hide_list_aliases_error_action": "Đóng",
|
||||||
"hide_media_previews": "Ẩn xem trước media",
|
"hide_media_previews": "Ẩn xem trước media",
|
||||||
"hide_muted_posts": "Ẩn tút từ các người dùng đã ẩn",
|
"hide_muted_posts": "Ẩn tút từ các người dùng đã ẩn",
|
||||||
"hide_post_stats": "Ẩn tương tác của tút (vd: số lượt thích)",
|
"hide_post_stats": "Ẩn tương tác của tút (vd: số lượt thích)",
|
||||||
"hide_shoutbox": "Ẩn thanh chat máy chủ",
|
"hide_shoutbox": "Ẩn thanh chat máy chủ",
|
||||||
|
"hide_site_favicon": "Ẩn biểu tượng máy chủ ở thanh trên cùng",
|
||||||
|
"hide_site_name": "Ẩn tên máy chủ ở thanh trên cùng",
|
||||||
"hide_user_stats": "Ẩn số liệu người dùng (vd: số người theo dõi)",
|
"hide_user_stats": "Ẩn số liệu người dùng (vd: số người theo dõi)",
|
||||||
"hide_wallpaper": "Ẩn ảnh nền máy chủ",
|
"hide_wallpaper": "Ẩn ảnh nền máy chủ",
|
||||||
"import_blocks_from_a_csv_file": "Nhập danh sách chặn từ tập tin CSV",
|
"import_blocks_from_a_csv_file": "Nhập danh sách chặn từ tập tin CSV",
|
||||||
|
@ -388,10 +588,17 @@
|
||||||
"invalid_theme_imported": "Tập tin đã chọn không hỗ trợ bởi Pleroma. Giao diện của bạn sẽ giữ nguyên.",
|
"invalid_theme_imported": "Tập tin đã chọn không hỗ trợ bởi Pleroma. Giao diện của bạn sẽ giữ nguyên.",
|
||||||
"limited_availability": "Trình duyệt không hỗ trợ",
|
"limited_availability": "Trình duyệt không hỗ trợ",
|
||||||
"links": "Liên kết",
|
"links": "Liên kết",
|
||||||
|
"list_backups_error": "Lỗi khi liệt kê các bản sao: {error}",
|
||||||
"lock_account_description": "Tự phê duyệt yêu cầu theo dõi",
|
"lock_account_description": "Tự phê duyệt yêu cầu theo dõi",
|
||||||
"loop_video": "Lặp lại video",
|
"loop_video": "Lặp lại video",
|
||||||
"loop_video_silent_only": "Chỉ lặp lại những video không có âm thanh",
|
"loop_video_silent_only": "Chỉ lặp lại những video không có âm thanh",
|
||||||
"max_thumbnails": "Số ảnh xem trước tối đa cho mỗi tút",
|
"max_thumbnails": "Số ảnh xem trước tối đa cho mỗi tút",
|
||||||
|
"mention_link_display_full": "luôn hiện đầy đủ tên (v.d. {'@'}foo{'@'}example.org)",
|
||||||
|
"mention_link_display_full_for_remote": "chỉ hiện đầy đủ tên cho người từ máy chủ khác (v.d. {'@'}foo{'@'}example.org)",
|
||||||
|
"mention_link_display_short": "luôn rút gọn tên (v.d. {'@'}foo)",
|
||||||
|
"mention_link_fade_domain": "Làm mờ tên miền (v.d. {'@'}example.org trong {'@'}foo{'@'}example.org)",
|
||||||
|
"mention_link_show_avatar": "Hiện ảnh đại diện cạnh đường dẫn",
|
||||||
|
"mention_link_show_tooltip": "Hiện tên đầy đủ khi trỏ vào cho người dùng từ máy chủ khác",
|
||||||
"mfa": {
|
"mfa": {
|
||||||
"authentication_methods": "Phương pháp xác thực",
|
"authentication_methods": "Phương pháp xác thực",
|
||||||
"confirm_and_enable": "Xác nhận và kích hoạt OTP",
|
"confirm_and_enable": "Xác nhận và kích hoạt OTP",
|
||||||
|
@ -444,12 +651,13 @@
|
||||||
"notification_visibility_repeats": "Chia sẻ",
|
"notification_visibility_repeats": "Chia sẻ",
|
||||||
"notifications": "Thông báo",
|
"notifications": "Thông báo",
|
||||||
"nsfw_clickthrough": "Cho phép nhấn vào xem các tút nhạy cảm",
|
"nsfw_clickthrough": "Cho phép nhấn vào xem các tút nhạy cảm",
|
||||||
"oauth_tokens": "OAuth tokens",
|
"oauth_tokens": "Các phiên đăng nhập",
|
||||||
"pad_emoji": "Nhớ chừa khoảng cách khi chèn emoji",
|
"pad_emoji": "Nhớ chừa khoảng cách khi chèn emoji",
|
||||||
"panelRadius": "Panels",
|
"panelRadius": "Hộp thoại",
|
||||||
"pause_on_unfocused": "Dừng phát khi đang lướt các tút khác",
|
"pause_on_unfocused": "Dừng phát khi đang lướt các tút khác",
|
||||||
"play_videos_in_modal": "Phát video trong khung hình riêng",
|
"play_videos_in_modal": "Phát video trong khung hình riêng",
|
||||||
"post_status_content_type": "Loại tút đăng",
|
"post_status_content_type": "Định dạng mặc định cho bài viết",
|
||||||
|
"posts": "Bài đăng",
|
||||||
"preload_images": "Tải trước hình ảnh",
|
"preload_images": "Tải trước hình ảnh",
|
||||||
"presets": "Mẫu có sẵn",
|
"presets": "Mẫu có sẵn",
|
||||||
"profile_background": "Ảnh nền trang cá nhân",
|
"profile_background": "Ảnh nền trang cá nhân",
|
||||||
|
@ -463,6 +671,9 @@
|
||||||
"profile_tab": "Trang cá nhân",
|
"profile_tab": "Trang cá nhân",
|
||||||
"radii_help": "Thiết lập góc bo tròn (bằng pixels)",
|
"radii_help": "Thiết lập góc bo tròn (bằng pixels)",
|
||||||
"refresh_token": "Làm tươi token",
|
"refresh_token": "Làm tươi token",
|
||||||
|
"remove_backup": "Xoá",
|
||||||
|
"render_mfm": "Xử lí Markdown Misskey",
|
||||||
|
"render_mfm_on_hover": "Dừng hoạt hình MFM đến khi di chuột lên",
|
||||||
"replies_in_timeline": "Trả lời trong bảng tin",
|
"replies_in_timeline": "Trả lời trong bảng tin",
|
||||||
"reply_visibility_all": "Hiện toàn bộ trả lời",
|
"reply_visibility_all": "Hiện toàn bộ trả lời",
|
||||||
"reply_visibility_following": "Chỉ hiện những trả lời có nhắc tới tôi hoặc từ những người mà tôi theo dõi",
|
"reply_visibility_following": "Chỉ hiện những trả lời có nhắc tới tôi hoặc từ những người mà tôi theo dõi",
|
||||||
|
@ -476,7 +687,7 @@
|
||||||
"reset_profile_background": "Đặt lại ảnh nền",
|
"reset_profile_background": "Đặt lại ảnh nền",
|
||||||
"reset_profile_banner": "Đặt lại ảnh bìa",
|
"reset_profile_banner": "Đặt lại ảnh bìa",
|
||||||
"revoke_token": "Gỡ",
|
"revoke_token": "Gỡ",
|
||||||
"right_sidebar": "Hiện thanh bên bên phải",
|
"right_sidebar": "Đảo ngược thứ tự các cột",
|
||||||
"save": "Lưu thay đổi",
|
"save": "Lưu thay đổi",
|
||||||
"saving_err": "Thiết lập lỗi lưu",
|
"saving_err": "Thiết lập lỗi lưu",
|
||||||
"saving_ok": "Đã lưu các thay đổi",
|
"saving_ok": "Đã lưu các thay đổi",
|
||||||
|
@ -486,13 +697,30 @@
|
||||||
"security": "Bảo mật",
|
"security": "Bảo mật",
|
||||||
"security_tab": "Bảo mật",
|
"security_tab": "Bảo mật",
|
||||||
"sensitive_by_default": "Mặc định tút là nhạy cảm",
|
"sensitive_by_default": "Mặc định tút là nhạy cảm",
|
||||||
|
"sensitive_if_subject": "Tự động đánh dấu hình ảnh nhậy cảm khi có cảnh báo nội dung",
|
||||||
"set_new_avatar": "Đổi ảnh đại diện",
|
"set_new_avatar": "Đổi ảnh đại diện",
|
||||||
|
"set_new_mascot": "Thay đổi linh vật",
|
||||||
"set_new_profile_background": "Đổi ảnh nền",
|
"set_new_profile_background": "Đổi ảnh nền",
|
||||||
"set_new_profile_banner": "Đổi ảnh bìa",
|
"set_new_profile_banner": "Đổi ảnh bìa",
|
||||||
"setting_changed": "Thiết lập khác với mặc định",
|
"setting_changed": "Thiết lập khác với mặc định",
|
||||||
|
"setting_server_side": "Cài đặt này gắn liền với tài khoản của bạn và có hiệu lực với tất cả phiên làm việc và client khác nhau",
|
||||||
"settings": "Cài đặt",
|
"settings": "Cài đặt",
|
||||||
|
"settings_profile": "Phiên bản tuỳ chỉnh",
|
||||||
|
"settings_profile_creation": "Tạo bản mới",
|
||||||
|
"settings_profile_creation_new_name_label": "Tên",
|
||||||
|
"settings_profile_creation_submit": "Tạo",
|
||||||
|
"settings_profile_currently": "Hiện tại: {name} (phiên bản thứ {version})",
|
||||||
|
"settings_profile_delete": "Xoá",
|
||||||
|
"settings_profile_delete_confirm": "Chắc chắn xoá bản tuỳ chọn này?",
|
||||||
|
"settings_profile_force_sync": "Đồng bộ",
|
||||||
|
"settings_profile_in_use": "Đang sử dụng",
|
||||||
|
"settings_profile_use": "Dùng",
|
||||||
|
"settings_profiles_refresh": "Tải lại bản tuỳ chỉnh",
|
||||||
|
"settings_profiles_show": "Hiện tất cả bản tuỳ chỉnh",
|
||||||
|
"settings_profiles_unshow": "Ẩn hết các bản tuỳ chỉnh",
|
||||||
"show_admin_badge": "Hiện huy hiệu \"Quản trị viên\" trên trang của tôi",
|
"show_admin_badge": "Hiện huy hiệu \"Quản trị viên\" trên trang của tôi",
|
||||||
"show_moderator_badge": "Hiện huy hiệu \"Kiểm duyệt viên\" trên trang của tôi",
|
"show_moderator_badge": "Hiện huy hiệu \"Kiểm duyệt viên\" trên trang của tôi",
|
||||||
|
"show_yous": "Hiện (bạn) sau tên người dùng của bạn trong bài viết",
|
||||||
"stop_gifs": "Chỉ phát GIF khi chạm vào",
|
"stop_gifs": "Chỉ phát GIF khi chạm vào",
|
||||||
"streaming": "Tự động tải tút mới khi cuộn lên trên",
|
"streaming": "Tự động tải tút mới khi cuộn lên trên",
|
||||||
"style": {
|
"style": {
|
||||||
|
@ -518,16 +746,16 @@
|
||||||
"inputs": "Khung soạn thảo",
|
"inputs": "Khung soạn thảo",
|
||||||
"panel_header": "Tiêu đề panel",
|
"panel_header": "Tiêu đề panel",
|
||||||
"poll": "Biểu đồ cuộc bình chọn",
|
"poll": "Biểu đồ cuộc bình chọn",
|
||||||
"popover": "Tooltips, menus, popovers",
|
"popover": "Tooltip, menu, popover",
|
||||||
"post": "Tút/Tiểu sử",
|
"post": "Tút/Tiểu sử",
|
||||||
"pressed": "Khi nhấn xuống",
|
"pressed": "Khi nhấn xuống",
|
||||||
"selectedMenu": "Chọn menu",
|
"selectedMenu": "Chọn menu",
|
||||||
"selectedPost": "Chọn tút",
|
"selectedPost": "Chọn tút",
|
||||||
"tabs": "Tab",
|
"tabs": "Tab",
|
||||||
"toggled": "Toggled",
|
"toggled": "Đã thay đổi",
|
||||||
"top_bar": "Thanh trên cùng",
|
"top_bar": "Thanh trên cùng",
|
||||||
"underlay": "Lớp dưới",
|
"underlay": "Lớp dưới",
|
||||||
"wallpaper": "Wallpaper"
|
"wallpaper": "Hình nền"
|
||||||
},
|
},
|
||||||
"common": {
|
"common": {
|
||||||
"color": "Màu sắc",
|
"color": "Màu sắc",
|
||||||
|
@ -549,7 +777,7 @@
|
||||||
"_tab_label": "Chung",
|
"_tab_label": "Chung",
|
||||||
"foreground_hint": "Mở tab \"Nâng cao\" để có nhiều tùy chọn hơn",
|
"foreground_hint": "Mở tab \"Nâng cao\" để có nhiều tùy chọn hơn",
|
||||||
"main": "Màu sắc chung",
|
"main": "Màu sắc chung",
|
||||||
"rgbo": "Icons, accents, badges"
|
"rgbo": "Biểu tượng, accent, huy hiệu"
|
||||||
},
|
},
|
||||||
"fonts": {
|
"fonts": {
|
||||||
"_tab_label": "Phông chữ",
|
"_tab_label": "Phông chữ",
|
||||||
|
@ -641,9 +869,9 @@
|
||||||
"use_source": "Bản mới"
|
"use_source": "Bản mới"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"subject_input_always_show": "Luôn hiện vùng tiêu đề",
|
"subject_input_always_show": "Luôn hiện hộp nhập cảnh báo nội dung",
|
||||||
"subject_line_behavior": "Chép tiêu đề khi trả lời",
|
"subject_line_behavior": "Chép cảnh báo về nội dung khi trả lời",
|
||||||
"subject_line_email": "Giống email: \"re: subject\"",
|
"subject_line_email": "Như email: \"re: cảnh báo\"",
|
||||||
"subject_line_mastodon": "Giống Mastodon: copy as is",
|
"subject_line_mastodon": "Giống Mastodon: copy as is",
|
||||||
"subject_line_noop": "Đừng chép",
|
"subject_line_noop": "Đừng chép",
|
||||||
"text": "Văn bản",
|
"text": "Văn bản",
|
||||||
|
@ -651,14 +879,25 @@
|
||||||
"theme_help": "Dùng mã màu hex (#rrggbb) để tự chế theme.",
|
"theme_help": "Dùng mã màu hex (#rrggbb) để tự chế theme.",
|
||||||
"theme_help_v2_1": "Bạn cũng có thể xóa hết màu thành phần và làm theme trong suốt, chọn nút \"Xóa hết\".",
|
"theme_help_v2_1": "Bạn cũng có thể xóa hết màu thành phần và làm theme trong suốt, chọn nút \"Xóa hết\".",
|
||||||
"theme_help_v2_2": "Các biểu tượng bên dưới các mục có độ tương phản nền/văn bản, hãy rê chuột qua để biết thông tin chi tiết. Xin lưu ý rằng, khi sử dụng các độ tương phản trong suốt có thể khiến đọc chữ không ra.",
|
"theme_help_v2_2": "Các biểu tượng bên dưới các mục có độ tương phản nền/văn bản, hãy rê chuột qua để biết thông tin chi tiết. Xin lưu ý rằng, khi sử dụng các độ tương phản trong suốt có thể khiến đọc chữ không ra.",
|
||||||
|
"third_column_mode": "Khi có đủ chỗ, tạo cột thứ ba cho",
|
||||||
|
"third_column_mode_none": "tốn chỗ (không tạo cột thứ ba)",
|
||||||
|
"third_column_mode_notifications": "thông báo",
|
||||||
|
"third_column_mode_postform": "bài viết mới và các đường dẫn nhanh",
|
||||||
"token": "Token",
|
"token": "Token",
|
||||||
"tooltipRadius": "Tooltips/alerts",
|
"tooltipRadius": "Tooltip/cảnh báo",
|
||||||
|
"translation_language": "Dịch tự động về",
|
||||||
"type_domains_to_mute": "Tìm máy chủ để ẩn",
|
"type_domains_to_mute": "Tìm máy chủ để ẩn",
|
||||||
"upload_a_photo": "Tải ảnh lên",
|
"upload_a_photo": "Tải ảnh lên",
|
||||||
"useStreamingApi": "Nhận tút và thông báo theo thời gian thực",
|
"useStreamingApi": "Nhận tút và thông báo theo thời gian thực",
|
||||||
"useStreamingApiWarning": "(Tính năng thử nghiệm, không đề xuất sử dụng)",
|
"useStreamingApiWarning": "(Tính năng thử nghiệm, không đề xuất sử dụng)",
|
||||||
|
"use_at_icon": "Hiển thị kí hiệu {'@'} dạng biểu tượng thay vì chữ",
|
||||||
|
"use_blurhash": "Dùng ảnh xem trước làm mờ cho nội dung nhạy cảm",
|
||||||
"use_contain_fit": "Không cắt ảnh đính kèm trong bản xem trước",
|
"use_contain_fit": "Không cắt ảnh đính kèm trong bản xem trước",
|
||||||
"use_one_click_nsfw": "Xem nội dung nhạy cảm bằng cách nhấn vào",
|
"use_one_click_nsfw": "Xem nội dung nhạy cảm bằng cách nhấn vào",
|
||||||
|
"user_accepts_direct_messages_from": "Nhận tin nhắn riêng từ",
|
||||||
|
"user_accepts_direct_messages_from_everybody": "Mọi người",
|
||||||
|
"user_accepts_direct_messages_from_nobody": "Không ai hết",
|
||||||
|
"user_accepts_direct_messages_from_people_i_follow": "Những người tôi quen",
|
||||||
"user_mutes": "Người dùng",
|
"user_mutes": "Người dùng",
|
||||||
"user_settings": "Thiết lập người dùng",
|
"user_settings": "Thiết lập người dùng",
|
||||||
"valid_until": "Có giá trị tới",
|
"valid_until": "Có giá trị tới",
|
||||||
|
@ -672,31 +911,69 @@
|
||||||
"title": "Phiên bản"
|
"title": "Phiên bản"
|
||||||
},
|
},
|
||||||
"virtual_scrolling": "Render bảng tin",
|
"virtual_scrolling": "Render bảng tin",
|
||||||
"word_filter": "Bộ lọc từ ngữ"
|
"word_filter": "Bộ lọc từ ngữ",
|
||||||
|
"wordfilter": "Lọc từ khoá"
|
||||||
|
},
|
||||||
|
"settings_profile": {
|
||||||
|
"creating": "Đang tạo hồ sơ cài đặt mới \"{profile}\"....",
|
||||||
|
"synchronization_error": "Không thể đồng bộ hoá cài đặt: {err}",
|
||||||
|
"synchronized": "Đã đồng bộ hoá cài đặt!",
|
||||||
|
"synchronizing": "Đang đồng bộ hoá hồ sơ cài đặt \"{profile}\"..."
|
||||||
},
|
},
|
||||||
"status": {
|
"status": {
|
||||||
|
"ancestor_follow": "Xem {numReplies} phản hồi dưới bài này",
|
||||||
|
"ancestor_follow_with_icon": "{icon} {text}",
|
||||||
"bookmark": "Lưu",
|
"bookmark": "Lưu",
|
||||||
"copy_link": "Sao chép URL",
|
"collapse_attachments": "Đóng tập tin đính kèm",
|
||||||
"delete": "Xóa tút",
|
"copy_link": "Sao chép đường dẫn đến bài viết",
|
||||||
"delete_confirm": "Bạn có chắc chắn muốn xóa tút này?",
|
"delete": "Xóa bài viết",
|
||||||
|
"delete_confirm": "Chắc chắn xoá vài viết này?",
|
||||||
|
"delete_confirm_accept_button": "Đúng, xoá nó",
|
||||||
|
"delete_confirm_cancel_button": "Không, giữ lại",
|
||||||
|
"delete_confirm_title": "Xác nhận xoá bài đăng",
|
||||||
|
"edit": "Chỉnh sửa",
|
||||||
|
"edit_history": "Lịch sử chỉnh sửa",
|
||||||
|
"edit_history_modal_title": "Đã sửa {historyCount} lần",
|
||||||
|
"edited_at": "Đã sửa lúc {time}",
|
||||||
"expand": "Xem nguyên văn",
|
"expand": "Xem nguyên văn",
|
||||||
"external_source": "Nguồn bên ngoài",
|
"external_source": "Nguồn bên ngoài",
|
||||||
"favorites": "Thích",
|
"favorites": "Thích",
|
||||||
|
"hide_attachment": "Ẩn tập tin đính kèm",
|
||||||
"hide_content": "Ẩn nội dung",
|
"hide_content": "Ẩn nội dung",
|
||||||
"hide_full_subject": "Ẩn tiêu đề",
|
"hide_full_subject": "Ẩn cảnh báo nội dung",
|
||||||
|
"many_attachments": "Bài đăng có {number} tập tin đính kèm",
|
||||||
"mentions": "Lượt nhắc",
|
"mentions": "Lượt nhắc",
|
||||||
|
"move_down": "Dịch tập tin sang phải",
|
||||||
|
"move_up": "Dịch tập tin sang trái",
|
||||||
"mute_conversation": "Không quan tâm nữa",
|
"mute_conversation": "Không quan tâm nữa",
|
||||||
"nsfw": "Nhạy cảm",
|
"nsfw": "Nhạy cảm",
|
||||||
|
"open_gallery": "Mở bộ ảnh",
|
||||||
"pin": "Ghim trên trang cá nhân",
|
"pin": "Ghim trên trang cá nhân",
|
||||||
"pinned": "Tút được ghim",
|
"pinned": "Tút được ghim",
|
||||||
"plus_more": "+{number} nhiều hơn",
|
"plus_more": "+{number} nhiều hơn",
|
||||||
|
"redraft": "Xoá và viết lại",
|
||||||
|
"redraft_confirm": "Bạn có chắc muốn xoá và viết lại bài đăng này không? Tương tác với bài đăng gốc sẽ bị mất.",
|
||||||
|
"redraft_confirm_accept_button": "Đúng, xoá và viết lại",
|
||||||
|
"redraft_confirm_cancel_button": "Không, giữ lại bài gốc",
|
||||||
|
"redraft_confirm_title": "Xác nhận xoá và viết lại",
|
||||||
|
"remove_attachment": "Xoá tập tin",
|
||||||
|
"repeat_confirm": "Bạn có muốn chia sẻ bài đăng này?",
|
||||||
|
"repeat_confirm_accept_button": "Có, chia sẻ đi",
|
||||||
|
"repeat_confirm_cancel_button": "Không chia sẻ",
|
||||||
|
"repeat_confirm_title": "Xác nhận chia sẻ",
|
||||||
"repeats": "Chia sẻ",
|
"repeats": "Chia sẻ",
|
||||||
"replies_list": "Những trả lời:",
|
"replies_list": "Những trả lời:",
|
||||||
|
"replies_list_with_others": "Xem thêm {numReplies} phản hồi",
|
||||||
"reply_to": "Trả lời",
|
"reply_to": "Trả lời",
|
||||||
|
"show_all_attachments": "Hiện tất cả tập tin đính kèm",
|
||||||
|
"show_all_conversation": "Hiện đầy đủ cuộc trò chuyện ({numStatus} bài đăng nữa)",
|
||||||
|
"show_all_conversation_with_icon": "{icon} {text}",
|
||||||
"show_content": "Hiện nội dung",
|
"show_content": "Hiện nội dung",
|
||||||
"show_full_subject": "Hiện đầy đủ tiêu đề",
|
"show_full_subject": "Hiện đầy đủ cảnh báo nội dung",
|
||||||
|
"show_only_conversation_under_this": "Chỉ hiện trả lời cho bài đăng này",
|
||||||
"status_deleted": "Tút này đã bị xóa",
|
"status_deleted": "Tút này đã bị xóa",
|
||||||
"status_unavailable": "Không tìm thấy tút",
|
"status_unavailable": "Không tìm thấy bài viết",
|
||||||
|
"thread_follow_with_icon": "{icon} {text}",
|
||||||
"thread_muted": "Đã ẩn chủ đề",
|
"thread_muted": "Đã ẩn chủ đề",
|
||||||
"thread_muted_and_words": ", có từ:",
|
"thread_muted_and_words": ", có từ:",
|
||||||
"unbookmark": "Bỏ lưu",
|
"unbookmark": "Bỏ lưu",
|
||||||
|
@ -730,8 +1007,8 @@
|
||||||
"collapse": "Thu gọn",
|
"collapse": "Thu gọn",
|
||||||
"conversation": "Thảo luận",
|
"conversation": "Thảo luận",
|
||||||
"error": "Lỗi khi nạp bảng tin {0}",
|
"error": "Lỗi khi nạp bảng tin {0}",
|
||||||
"load_older": "Xem tút cũ hơn",
|
"load_older": "Xem thêm",
|
||||||
"no_more_statuses": "Không còn tút nào",
|
"no_more_statuses": "Hết",
|
||||||
"no_retweet_hint": "Không thể chia sẻ tin nhắn và những tút riêng tư",
|
"no_retweet_hint": "Không thể chia sẻ tin nhắn và những tút riêng tư",
|
||||||
"no_statuses": "Trống trơn!",
|
"no_statuses": "Trống trơn!",
|
||||||
"reload": "Tải lại",
|
"reload": "Tải lại",
|
||||||
|
@ -797,6 +1074,7 @@
|
||||||
"follow": "Theo dõi",
|
"follow": "Theo dõi",
|
||||||
"follow_progress": "Đang yêu cầu…",
|
"follow_progress": "Đang yêu cầu…",
|
||||||
"follow_sent": "Đã gửi yêu cầu!",
|
"follow_sent": "Đã gửi yêu cầu!",
|
||||||
|
"follow_tag": "Theo dõi hashtag",
|
||||||
"follow_unfollow": "Ngưng theo dõi",
|
"follow_unfollow": "Ngưng theo dõi",
|
||||||
"followees": "Đang theo dõi",
|
"followees": "Đang theo dõi",
|
||||||
"followers": "Người theo dõi",
|
"followers": "Người theo dõi",
|
||||||
|
@ -817,19 +1095,28 @@
|
||||||
"mute": "Ẩn",
|
"mute": "Ẩn",
|
||||||
"mute_progress": "Đang ẩn…",
|
"mute_progress": "Đang ẩn…",
|
||||||
"muted": "Đã ẩn",
|
"muted": "Đã ẩn",
|
||||||
|
"not_following_any_hashtags": "Bạn không theo dõi hashtag nào cả",
|
||||||
"per_day": "tút mỗi ngày",
|
"per_day": "tút mỗi ngày",
|
||||||
"remote_follow": "Theo dõi từ xa",
|
"remote_follow": "Theo dõi từ xa",
|
||||||
|
"replies": "Cả phản hồi",
|
||||||
"report": "Báo cáo",
|
"report": "Báo cáo",
|
||||||
|
"requested_by": "Muốn theo dõi bạn",
|
||||||
"show_repeats": "Hiện lượt chia sẻ",
|
"show_repeats": "Hiện lượt chia sẻ",
|
||||||
"statuses": "Tút",
|
"statuses": "Các bài viết",
|
||||||
"subscribe": "Đăng ký",
|
"subscribe": "Đăng ký",
|
||||||
"unblock": "Bỏ chặn",
|
"unblock": "Bỏ chặn",
|
||||||
"unblock_progress": "Đang bỏ chặn…",
|
"unblock_progress": "Đang bỏ chặn…",
|
||||||
|
"unfollow_confirm": "Xác nhận ngừng theo dõi {user}?",
|
||||||
|
"unfollow_confirm_accept_button": "Phải, ngừng theo dõi",
|
||||||
|
"unfollow_confirm_cancel_button": "Không, tiếp tục theo dõi",
|
||||||
|
"unfollow_confirm_title": "Ngừng theo dõi tài khoản này",
|
||||||
|
"unfollow_tag": "Ngừng theo dõi hashtag",
|
||||||
"unmute": "Bỏ ẩn",
|
"unmute": "Bỏ ẩn",
|
||||||
"unmute_progress": "Đang bỏ ẩn…",
|
"unmute_progress": "Đang bỏ ẩn…",
|
||||||
"unsubscribe": "Hủy đăng ký"
|
"unsubscribe": "Hủy đăng ký"
|
||||||
},
|
},
|
||||||
"user_profile": {
|
"user_profile": {
|
||||||
|
"field_validated": "Đường dẫn được xác nhận",
|
||||||
"profile_does_not_exist": "Xin lỗi, tài khoản này không tồn tại.",
|
"profile_does_not_exist": "Xin lỗi, tài khoản này không tồn tại.",
|
||||||
"profile_loading_error": "Xin lỗi, có lỗi xảy ra khi xem trang cá nhân này.",
|
"profile_loading_error": "Xin lỗi, có lỗi xảy ra khi xem trang cá nhân này.",
|
||||||
"timeline_title": "Bảng tin người dùng"
|
"timeline_title": "Bảng tin người dùng"
|
||||||
|
|
|
@ -84,6 +84,7 @@
|
||||||
"keep_open": "选择器保持打开",
|
"keep_open": "选择器保持打开",
|
||||||
"load_all": "加载全部 {emojiAmount} 个表情符号中",
|
"load_all": "加载全部 {emojiAmount} 个表情符号中",
|
||||||
"load_all_hint": "已加载前 {saneAmount} 个表情符号,加载全部表情符号可能会带来性能问题。",
|
"load_all_hint": "已加载前 {saneAmount} 个表情符号,加载全部表情符号可能会带来性能问题。",
|
||||||
|
"recent": "最近使用",
|
||||||
"search_emoji": "搜索表情符号",
|
"search_emoji": "搜索表情符号",
|
||||||
"stickers": "贴纸",
|
"stickers": "贴纸",
|
||||||
"unicode": "Unicode 表情符号"
|
"unicode": "Unicode 表情符号"
|
||||||
|
@ -575,12 +576,12 @@
|
||||||
"hide_list_aliases_error_action": "关闭",
|
"hide_list_aliases_error_action": "关闭",
|
||||||
"hide_media_previews": "隐藏媒体预览",
|
"hide_media_previews": "隐藏媒体预览",
|
||||||
"hide_muted_posts": "隐藏已静音用户的帖文",
|
"hide_muted_posts": "隐藏已静音用户的帖文",
|
||||||
"hide_muted_threads": "隐藏已静音的同主题帖文",
|
"hide_muted_threads": "隐藏已静音的对话",
|
||||||
"hide_post_stats": "隐藏帖文的统计数据(例如:喜欢的次数)",
|
"hide_post_stats": "隐藏帖文的统计数据(例如:喜欢的次数)",
|
||||||
"hide_shoutbox": "隐藏实例留言板",
|
"hide_shoutbox": "隐藏实例留言板",
|
||||||
"hide_site_favicon": "隐藏顶部面板中的实例图标",
|
"hide_site_favicon": "隐藏顶部面板中的实例图标",
|
||||||
"hide_site_name": "隐藏顶部面板中的实例名称",
|
"hide_site_name": "隐藏顶部面板中的实例名称",
|
||||||
"hide_threads_with_blocked_users": "隐藏提及被屏蔽用户的同主题帖文",
|
"hide_threads_with_blocked_users": "隐藏提及被屏蔽用户的对话",
|
||||||
"hide_user_stats": "隐藏用户的统计数据(例如:关注者的数量)",
|
"hide_user_stats": "隐藏用户的统计数据(例如:关注者的数量)",
|
||||||
"hide_wallpaper": "隐藏实例壁纸",
|
"hide_wallpaper": "隐藏实例壁纸",
|
||||||
"hide_wordfiltered_statuses": "隐藏经过词语过滤的帖文",
|
"hide_wordfiltered_statuses": "隐藏经过词语过滤的帖文",
|
||||||
|
@ -602,7 +603,7 @@
|
||||||
"loop_video": "循环视频",
|
"loop_video": "循环视频",
|
||||||
"loop_video_silent_only": "仅循环没有声音的视频(例如:Mastodon 里的“GIF”)",
|
"loop_video_silent_only": "仅循环没有声音的视频(例如:Mastodon 里的“GIF”)",
|
||||||
"mascot": "Mastodon FE 吉祥物",
|
"mascot": "Mastodon FE 吉祥物",
|
||||||
"max_depth_in_thread": "默认显示同主题帖文中的最大层数",
|
"max_depth_in_thread": "默认显示对话中的最大层数",
|
||||||
"max_thumbnails": "每个帖文最多能显示的缩略图数量",
|
"max_thumbnails": "每个帖文最多能显示的缩略图数量",
|
||||||
"mention_link_bolden_you": "当你被提及时突出显示提及你",
|
"mention_link_bolden_you": "当你被提及时突出显示提及你",
|
||||||
"mention_link_display": "显示提及链接",
|
"mention_link_display": "显示提及链接",
|
||||||
|
@ -732,7 +733,7 @@
|
||||||
"settings": "设置",
|
"settings": "设置",
|
||||||
"settings_profile": "设置配置文件",
|
"settings_profile": "设置配置文件",
|
||||||
"settings_profile_creation": "创建新的配置文件",
|
"settings_profile_creation": "创建新的配置文件",
|
||||||
"settings_profile_creation_new_name_label": "名字",
|
"settings_profile_creation_new_name_label": "名称",
|
||||||
"settings_profile_creation_submit": "创建",
|
"settings_profile_creation_submit": "创建",
|
||||||
"settings_profile_currently": "目前使用 {name}(版本:{version})",
|
"settings_profile_currently": "目前使用 {name}(版本:{version})",
|
||||||
"settings_profile_delete": "删除",
|
"settings_profile_delete": "删除",
|
||||||
|
@ -915,16 +916,19 @@
|
||||||
"token": "令牌",
|
"token": "令牌",
|
||||||
"tooltipRadius": "提醒",
|
"tooltipRadius": "提醒",
|
||||||
"translation_language": "自动翻译语言",
|
"translation_language": "自动翻译语言",
|
||||||
"tree_advanced": "显示额外的按钮来打开和关闭同主题帖文中的回复链",
|
"tree_advanced": "显示额外的按钮来打开和关闭对话中的回复链",
|
||||||
"tree_fade_ancestors": "在当前帖子中以淡色文本显示其原型帖子",
|
"tree_fade_ancestors": "以淡色文本显示当前帖文的上文",
|
||||||
"type_domains_to_mute": "搜索需要静音的域名",
|
"type_domains_to_mute": "搜索需要静音的域名",
|
||||||
"upload_a_photo": "上传照片",
|
"upload_a_photo": "上传照片",
|
||||||
"useStreamingApi": "实时接收帖文和通知",
|
"useStreamingApi": "实时接收帖文和通知",
|
||||||
"useStreamingApiWarning": "(不推荐使用,试验性,已知会跳过一些帖文)",
|
"useStreamingApiWarning": "十分炫酷推荐使用。要是崩了试试刷新?",
|
||||||
"use_at_icon": "将 {'@'} 符号显示为图标而不是文本",
|
|
||||||
"use_blurhash": "对NSFW的缩略图使用模糊处理",
|
"use_blurhash": "对NSFW的缩略图使用模糊处理",
|
||||||
"use_contain_fit": "生成缩略图时不要裁剪附件",
|
"use_contain_fit": "生成缩略图时不要裁剪附件",
|
||||||
"use_one_click_nsfw": "点击一次以打开工作场所不适宜(NSFW)的附件",
|
"use_one_click_nsfw": "点击一次以打开工作场所不适宜(NSFW)的附件",
|
||||||
|
"user_accepts_direct_messages_from": "允许私信自",
|
||||||
|
"user_accepts_direct_messages_from_everybody": "所有人",
|
||||||
|
"user_accepts_direct_messages_from_nobody": "没有人",
|
||||||
|
"user_accepts_direct_messages_from_people_i_follow": "我关注的人",
|
||||||
"user_mutes": "用户",
|
"user_mutes": "用户",
|
||||||
"user_profile_default_tab": "用户资料中的默认标签页",
|
"user_profile_default_tab": "用户资料中的默认标签页",
|
||||||
"user_profiles": "用户资料",
|
"user_profiles": "用户资料",
|
||||||
|
@ -1008,10 +1012,10 @@
|
||||||
"status_unavailable": "帖文不可用",
|
"status_unavailable": "帖文不可用",
|
||||||
"thread_follow": "查看 {numStatus} 条更多回复",
|
"thread_follow": "查看 {numStatus} 条更多回复",
|
||||||
"thread_follow_with_icon": "{icon} {text}",
|
"thread_follow_with_icon": "{icon} {text}",
|
||||||
"thread_hide": "隐藏此同主题帖文",
|
"thread_hide": "隐藏此对话",
|
||||||
"thread_muted": "同主题帖文已被静音",
|
"thread_muted": "对话已被静音",
|
||||||
"thread_muted_and_words": ",含有过滤词:",
|
"thread_muted_and_words": ",含有过滤词:",
|
||||||
"thread_show": "显示这个同主题帖文",
|
"thread_show": "显示这个对话",
|
||||||
"thread_show_full": "显示 {numStatus} 条回复 | 显示全部 {numStatus} 条回复",
|
"thread_show_full": "显示 {numStatus} 条回复 | 显示全部 {numStatus} 条回复",
|
||||||
"thread_show_full_with_icon": "{icon} {text}",
|
"thread_show_full_with_icon": "{icon} {text}",
|
||||||
"translate": "翻译",
|
"translate": "翻译",
|
||||||
|
|
|
@ -55,6 +55,7 @@ export const defaultState = {
|
||||||
alwaysShowNewPostButton: false,
|
alwaysShowNewPostButton: false,
|
||||||
autohideFloatingPostButton: false,
|
autohideFloatingPostButton: false,
|
||||||
pauseOnUnfocused: true,
|
pauseOnUnfocused: true,
|
||||||
|
displayPageBackgrounds: true,
|
||||||
stopGifs: undefined,
|
stopGifs: undefined,
|
||||||
replyVisibility: 'all',
|
replyVisibility: 'all',
|
||||||
thirdColumnMode: 'notifications',
|
thirdColumnMode: 'notifications',
|
||||||
|
@ -95,7 +96,6 @@ export const defaultState = {
|
||||||
disableStickyHeaders: false,
|
disableStickyHeaders: false,
|
||||||
showScrollbars: false,
|
showScrollbars: false,
|
||||||
greentext: undefined, // instance default
|
greentext: undefined, // instance default
|
||||||
useAtIcon: undefined, // instance default
|
|
||||||
mentionLinkDisplay: undefined, // instance default
|
mentionLinkDisplay: undefined, // instance default
|
||||||
mentionLinkShowTooltip: undefined, // instance default
|
mentionLinkShowTooltip: undefined, // instance default
|
||||||
mentionLinkShowAvatar: undefined, // instance default
|
mentionLinkShowAvatar: undefined, // instance default
|
||||||
|
@ -229,7 +229,7 @@ const config = {
|
||||||
break
|
break
|
||||||
case 'interfaceLanguage':
|
case 'interfaceLanguage':
|
||||||
messages.setLanguage(this.getters.i18n, value)
|
messages.setLanguage(this.getters.i18n, value)
|
||||||
Cookies.set(BACKEND_LANGUAGE_COOKIE_NAME, localeService.internalToBackendLocale(value))
|
Cookies.set(BACKEND_LANGUAGE_COOKIE_NAME, localeService.internalToBackendLocale(value), {sameSite: 'Lax'})
|
||||||
dispatch('setInstanceOption', { name: 'interfaceLanguage', value })
|
dispatch('setInstanceOption', { name: 'interfaceLanguage', value })
|
||||||
break
|
break
|
||||||
case 'thirdColumnMode':
|
case 'thirdColumnMode':
|
||||||
|
|
|
@ -21,7 +21,6 @@ const defaultState = {
|
||||||
background: '/static/aurora_borealis.jpg',
|
background: '/static/aurora_borealis.jpg',
|
||||||
collapseMessageWithSubject: true,
|
collapseMessageWithSubject: true,
|
||||||
greentext: false,
|
greentext: false,
|
||||||
useAtIcon: false,
|
|
||||||
mentionLinkDisplay: 'short',
|
mentionLinkDisplay: 'short',
|
||||||
mentionLinkShowTooltip: true,
|
mentionLinkShowTooltip: true,
|
||||||
mentionLinkShowAvatar: false,
|
mentionLinkShowAvatar: false,
|
||||||
|
|
|
@ -37,11 +37,18 @@ const recentEmojis = {
|
||||||
|
|
||||||
getters: {
|
getters: {
|
||||||
recentEmojis: (state, getters, rootState) => state.emojis.reduce((objects, displayText) => {
|
recentEmojis: (state, getters, rootState) => state.emojis.reduce((objects, displayText) => {
|
||||||
const allEmojis = rootState.instance.emoji.concat(rootState.instance.customEmoji)
|
let comparator = emoji => emoji.displayText === displayText
|
||||||
let emojiObject = allEmojis.find(emoji => emoji.displayText === displayText)
|
|
||||||
|
let emojiObject = rootState.instance.emoji.find(comparator)
|
||||||
|
if (emojiObject !== undefined) {
|
||||||
|
objects.push(emojiObject)
|
||||||
|
} else {
|
||||||
|
emojiObject = rootState.instance.customEmoji.find(comparator)
|
||||||
if (emojiObject !== undefined) {
|
if (emojiObject !== undefined) {
|
||||||
objects.push(emojiObject)
|
objects.push(emojiObject)
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return objects
|
return objects
|
||||||
}, []),
|
}, []),
|
||||||
},
|
},
|
||||||
|
|
|
@ -47,6 +47,10 @@ export const settingsMap = {
|
||||||
},
|
},
|
||||||
// Privacy
|
// Privacy
|
||||||
'locked': 'locked',
|
'locked': 'locked',
|
||||||
|
'permitFollowback': {
|
||||||
|
get: 'akkoma.permit_followback',
|
||||||
|
set: 'permit_followback'
|
||||||
|
},
|
||||||
'allowFollowingMove': {
|
'allowFollowingMove': {
|
||||||
get: 'pleroma.allow_following_move',
|
get: 'pleroma.allow_following_move',
|
||||||
set: 'allow_following_move'
|
set: 'allow_following_move'
|
||||||
|
|
|
@ -135,6 +135,10 @@ export const mutations = {
|
||||||
const user = state.usersObject[id]
|
const user = state.usersObject[id]
|
||||||
user['deactivated'] = deactivated
|
user['deactivated'] = deactivated
|
||||||
},
|
},
|
||||||
|
setDisplayBackground(state, url) {
|
||||||
|
console.log("Commiting user profile bg mutation")
|
||||||
|
state.displayBackground = url
|
||||||
|
},
|
||||||
setCurrentUser (state, user) {
|
setCurrentUser (state, user) {
|
||||||
state.lastLoginName = user.screen_name
|
state.lastLoginName = user.screen_name
|
||||||
state.currentUser = mergeWith(state.currentUser || {}, user, mergeArrayLength)
|
state.currentUser = mergeWith(state.currentUser || {}, user, mergeArrayLength)
|
||||||
|
@ -199,21 +203,28 @@ export const mutations = {
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
saveBlockIds (state, blockIds) {
|
saveBlockIds (state, blockIds) {
|
||||||
state.currentUser.blockIds = blockIds
|
console.log("ADDING BLOCK IDS", blockIds);
|
||||||
|
state.currentUser.blockIds = uniq(concat(state.currentUser.blockIds || [], blockIds))
|
||||||
},
|
},
|
||||||
addBlockId (state, blockId) {
|
addBlockId (state, blockId) {
|
||||||
if (state.currentUser.blockIds.indexOf(blockId) === -1) {
|
if (state.currentUser.blockIds.indexOf(blockId) === -1) {
|
||||||
state.currentUser.blockIds.push(blockId)
|
state.currentUser.blockIds.push(blockId)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
setBlockIdsMaxId (state, blockIdsMaxId) {
|
||||||
|
state.currentUser.blockIdsMaxId = blockIdsMaxId
|
||||||
|
},
|
||||||
saveMuteIds (state, muteIds) {
|
saveMuteIds (state, muteIds) {
|
||||||
state.currentUser.muteIds = muteIds
|
state.currentUser.muteIds = uniq(concat(state.currentUser.muteIds || [], muteIds))
|
||||||
},
|
},
|
||||||
addMuteId (state, muteId) {
|
addMuteId (state, muteId) {
|
||||||
if (state.currentUser.muteIds.indexOf(muteId) === -1) {
|
if (state.currentUser.muteIds.indexOf(muteId) === -1) {
|
||||||
state.currentUser.muteIds.push(muteId)
|
state.currentUser.muteIds.push(muteId)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
setMuteIdsMaxId (state, muteIdsMaxId) {
|
||||||
|
state.currentUser.muteIdsMaxId = muteIdsMaxId
|
||||||
|
},
|
||||||
updateMascot (state, mascotUrl) {
|
updateMascot (state, mascotUrl) {
|
||||||
state.currentUser.mascot = mascotUrl
|
state.currentUser.mascot = mascotUrl
|
||||||
},
|
},
|
||||||
|
@ -300,6 +311,7 @@ export const defaultState = {
|
||||||
currentUser: false,
|
currentUser: false,
|
||||||
users: [],
|
users: [],
|
||||||
usersObject: {},
|
usersObject: {},
|
||||||
|
displayBackground: null,
|
||||||
signUpPending: false,
|
signUpPending: false,
|
||||||
signUpErrors: [],
|
signUpErrors: [],
|
||||||
relationships: {},
|
relationships: {},
|
||||||
|
@ -312,6 +324,10 @@ const users = {
|
||||||
mutations,
|
mutations,
|
||||||
getters,
|
getters,
|
||||||
actions: {
|
actions: {
|
||||||
|
setDisplayBackground (store, url) {
|
||||||
|
console.log("Performing user profile bg action...")
|
||||||
|
store.commit('setDisplayBackground', url)
|
||||||
|
},
|
||||||
fetchUserIfMissing (store, id) {
|
fetchUserIfMissing (store, id) {
|
||||||
if (!store.getters.findUser(id)) {
|
if (!store.getters.findUser(id)) {
|
||||||
store.dispatch('fetchUser', id)
|
store.dispatch('fetchUser', id)
|
||||||
|
@ -330,10 +346,21 @@ const users = {
|
||||||
.then((relationships) => store.commit('updateUserRelationship', relationships))
|
.then((relationships) => store.commit('updateUserRelationship', relationships))
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
fetchBlocks (store) {
|
fetchBlocks (store, args) {
|
||||||
return store.rootState.api.backendInteractor.fetchBlocks()
|
const { reset } = args || {}
|
||||||
|
|
||||||
|
const maxId = store.state.currentUser.blockIdsMaxId
|
||||||
|
return store.rootState.api.backendInteractor.fetchBlocks({ maxId })
|
||||||
.then((blocks) => {
|
.then((blocks) => {
|
||||||
store.commit('saveBlockIds', map(blocks, 'id'))
|
store.commit('saveBlockIds', map(blocks, 'id'))
|
||||||
|
if (reset) {
|
||||||
|
store.commit('saveBlockIds', map(blocks, 'id'))
|
||||||
|
} else {
|
||||||
|
map(blocks, 'id').map(id => store.commit('addBlockId', id))
|
||||||
|
}
|
||||||
|
if (blocks.length) {
|
||||||
|
store.commit('setBlockIdsMaxId', last(blocks).id)
|
||||||
|
}
|
||||||
store.commit('addNewUsers', blocks)
|
store.commit('addNewUsers', blocks)
|
||||||
return blocks
|
return blocks
|
||||||
})
|
})
|
||||||
|
@ -353,10 +380,22 @@ const users = {
|
||||||
unblockUsers (store, ids = []) {
|
unblockUsers (store, ids = []) {
|
||||||
return Promise.all(ids.map(id => unblockUser(store, id)))
|
return Promise.all(ids.map(id => unblockUser(store, id)))
|
||||||
},
|
},
|
||||||
fetchMutes (store) {
|
fetchMutes (store, args) {
|
||||||
return store.rootState.api.backendInteractor.fetchMutes()
|
const { reset } = args || {}
|
||||||
|
|
||||||
|
const maxId = store.state.currentUser.muteIdsMaxId
|
||||||
|
return store.rootState.api.backendInteractor.fetchMutes({ maxId })
|
||||||
.then((mutes) => {
|
.then((mutes) => {
|
||||||
store.commit('saveMuteIds', map(mutes, 'id'))
|
store.commit('saveMuteIds', map(mutes, 'id'))
|
||||||
|
if (reset) {
|
||||||
|
store.commit('saveMuteIds', map(mutes, 'id'))
|
||||||
|
} else {
|
||||||
|
map(mutes, 'id').map(id => store.commit('addMuteId', id))
|
||||||
|
}
|
||||||
|
if (mutes.length) {
|
||||||
|
store.commit('setMuteIdsMaxId', last(mutes).id)
|
||||||
|
}
|
||||||
|
|
||||||
store.commit('addNewUsers', mutes)
|
store.commit('addNewUsers', mutes)
|
||||||
return mutes
|
return mutes
|
||||||
})
|
})
|
||||||
|
|
|
@ -1166,8 +1166,13 @@ const generateMfaBackupCodes = ({ credentials }) => {
|
||||||
}).then((data) => data.json())
|
}).then((data) => data.json())
|
||||||
}
|
}
|
||||||
|
|
||||||
const fetchMutes = ({ credentials }) => {
|
const fetchMutes = ({ maxId, credentials }) => {
|
||||||
return promisedRequest({ url: MASTODON_USER_MUTES_URL, credentials })
|
const query = new URLSearchParams({ with_relationships: true })
|
||||||
|
if (maxId) {
|
||||||
|
query.append('max_id', maxId)
|
||||||
|
}
|
||||||
|
|
||||||
|
return promisedRequest({ url: `${MASTODON_USER_MUTES_URL}?${query.toString()}`, credentials })
|
||||||
.then((users) => users.map(parseUser))
|
.then((users) => users.map(parseUser))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1213,8 +1218,12 @@ const unsubscribeUser = ({ id, credentials }) => {
|
||||||
return promisedRequest({ url: MASTODON_UNSUBSCRIBE_USER(id), credentials, method: 'POST' })
|
return promisedRequest({ url: MASTODON_UNSUBSCRIBE_USER(id), credentials, method: 'POST' })
|
||||||
}
|
}
|
||||||
|
|
||||||
const fetchBlocks = ({ credentials }) => {
|
const fetchBlocks = ({ maxId, credentials }) => {
|
||||||
return promisedRequest({ url: MASTODON_USER_BLOCKS_URL, credentials })
|
const query = new URLSearchParams({ with_relationships: true })
|
||||||
|
if (maxId) {
|
||||||
|
query.append('max_id', maxId)
|
||||||
|
}
|
||||||
|
return promisedRequest({ url: `${MASTODON_USER_BLOCKS_URL}?${query.toString()}`, credentials })
|
||||||
.then((users) => users.map(parseUser))
|
.then((users) => users.map(parseUser))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -90,10 +90,12 @@ export const parseUser = (data) => {
|
||||||
output.friends_count = data.following_count
|
output.friends_count = data.following_count
|
||||||
|
|
||||||
output.bot = data.bot
|
output.bot = data.bot
|
||||||
|
output.accepts_direct_messages_from = data.accepts_direct_messages_from
|
||||||
output.follow_requests_count = data.follow_requests_count
|
output.follow_requests_count = data.follow_requests_count
|
||||||
if (data.akkoma) {
|
if (data.akkoma) {
|
||||||
output.instance = data.akkoma.instance
|
output.instance = data.akkoma.instance
|
||||||
output.status_ttl_days = data.akkoma.status_ttl_days
|
output.status_ttl_days = data.akkoma.status_ttl_days
|
||||||
|
output.permit_followback = data.akkoma.permit_followback
|
||||||
}
|
}
|
||||||
|
|
||||||
if (data.pleroma) {
|
if (data.pleroma) {
|
||||||
|
|
|
@ -8,7 +8,30 @@ const specialLanguageCodes = {
|
||||||
'zh': 'zh-Hans'
|
'zh': 'zh-Hans'
|
||||||
}
|
}
|
||||||
|
|
||||||
const internalToBrowserLocale = code => specialLanguageCodes[code] || code
|
// Find a browser language that matches the configured UI language.
|
||||||
|
// Browser language should match the configured generic short code prefix:
|
||||||
|
// eg 'en-GB' browser language matches 'en' UI language.
|
||||||
|
const findBrowserRegionMatch = genericLang => {
|
||||||
|
for (const blang of window.navigator.languages) {
|
||||||
|
if (genericLang === blang.split('-')[0])
|
||||||
|
return blang;
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
const internalToBrowserLocale = (() => {
|
||||||
|
const resolvedBrowserLocales = {}
|
||||||
|
|
||||||
|
return i18nLocale => {
|
||||||
|
if (resolvedBrowserLocales[i18nLocale]) {
|
||||||
|
return resolvedBrowserLocales[i18nLocale]
|
||||||
|
}
|
||||||
|
const lang = specialLanguageCodes[i18nLocale] || i18nLocale;
|
||||||
|
const resolved = findBrowserRegionMatch(lang) || lang;
|
||||||
|
resolvedBrowserLocales[i18nLocale] = resolved
|
||||||
|
return resolved
|
||||||
|
}
|
||||||
|
})()
|
||||||
|
|
||||||
const internalToBackendLocale = code => internalToBrowserLocale(code).replace('_', '-')
|
const internalToBackendLocale = code => internalToBrowserLocale(code).replace('_', '-')
|
||||||
|
|
||||||
|
|
|
@ -7,14 +7,18 @@ export const applyTheme = (input) => {
|
||||||
const body = document.body
|
const body = document.body
|
||||||
body.classList.add('hidden')
|
body.classList.add('hidden')
|
||||||
|
|
||||||
const styleEl = document.getElementById('theme-holder')
|
/** @type {CSSStyleSheet} */
|
||||||
const styleSheet = styleEl.sheet
|
const styleSheet = document.getElementById('theme-holder').sheet
|
||||||
|
|
||||||
|
for (let i = styleSheet.cssRules.length; i--; ) {
|
||||||
|
styleSheet.deleteRule(0)
|
||||||
|
}
|
||||||
|
|
||||||
|
styleSheet.insertRule(
|
||||||
|
`:root { ${rules.radii}; ${rules.colors}; ${rules.shadows}; ${rules.fonts}; }`,
|
||||||
|
0
|
||||||
|
)
|
||||||
|
|
||||||
styleSheet.toString()
|
|
||||||
styleSheet.insertRule(`:root { ${rules.radii} }`, 'index-max')
|
|
||||||
styleSheet.insertRule(`:root { ${rules.colors} }`, 'index-max')
|
|
||||||
styleSheet.insertRule(`:root { ${rules.shadows} }`, 'index-max')
|
|
||||||
styleSheet.insertRule(`:root { ${rules.fonts} }`, 'index-max')
|
|
||||||
body.classList.remove('hidden')
|
body.classList.remove('hidden')
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -2,3 +2,41 @@
|
||||||
place a css file at $static_dir/static/custom.css
|
place a css file at $static_dir/static/custom.css
|
||||||
to apply custom styles to your frontend
|
to apply custom styles to your frontend
|
||||||
*/
|
*/
|
||||||
|
@font-face{
|
||||||
|
font-family:'blockzone';
|
||||||
|
src:url('./fonts/blockzone-webfont.woff2') format("woff2"),
|
||||||
|
url('./fonts/blockzone-webfont.woff') format("woff");
|
||||||
|
font-style:normal;
|
||||||
|
font-weight:400
|
||||||
|
}
|
||||||
|
@font-face{
|
||||||
|
font-family:'PeanutMoney';
|
||||||
|
src:url('./fonts/PeanutMoney.ttf') format("opentype");
|
||||||
|
font-style:normal;
|
||||||
|
font-weight:400
|
||||||
|
}
|
||||||
|
@font-face{
|
||||||
|
font-family:'Heading';
|
||||||
|
src:url('./fonts/heading.woff');
|
||||||
|
font-style:normal;
|
||||||
|
font-weight:400
|
||||||
|
}
|
||||||
|
|
||||||
|
@font-face{
|
||||||
|
font-family:'MonoMMM_5';
|
||||||
|
src:url('./fonts/monoMMM_5.woff');
|
||||||
|
font-style:normal;
|
||||||
|
font-weight:400
|
||||||
|
}
|
||||||
|
@font-face{
|
||||||
|
font-family:'Tiny';
|
||||||
|
src:url('./fonts/tiny.woff');
|
||||||
|
font-style:normal;
|
||||||
|
font-weight:400
|
||||||
|
}
|
||||||
|
@font-face{
|
||||||
|
font-family:'BLACKOUT';
|
||||||
|
src:url('./fonts/BLACKOUT.woff');
|
||||||
|
font-style:normal;
|
||||||
|
font-weight:400
|
||||||
|
}
|
||||||
|
|
|
@ -70,31 +70,21 @@
|
||||||
"buttonHover": [
|
"buttonHover": [
|
||||||
{
|
{
|
||||||
"x": 0,
|
"x": 0,
|
||||||
"y": "2",
|
"y": 2,
|
||||||
"blur": "5",
|
"blur": 3,
|
||||||
"spread": 0,
|
"spread": -2,
|
||||||
"color": "#494949",
|
"color": "#494949",
|
||||||
"alpha": "0.1"
|
"alpha": "0.5"
|
||||||
},
|
|
||||||
{
|
|
||||||
"x": 0,
|
|
||||||
"y": "2",
|
|
||||||
"blur": "0",
|
|
||||||
"spread": "20",
|
|
||||||
"color": "#ffffff",
|
|
||||||
"alpha": "1",
|
|
||||||
"inset": true
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"buttonPressed": [
|
"buttonPressed": [
|
||||||
{
|
{
|
||||||
"x": 0,
|
"x": 0,
|
||||||
"y": 0,
|
"y": 2,
|
||||||
"blur": "4",
|
"blur": 3,
|
||||||
"spread": "0",
|
"spread": -3,
|
||||||
"color": "#494949",
|
"color": "#494949",
|
||||||
"alpha": "0.8",
|
"alpha": "0.5"
|
||||||
"inset": false
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"avatarStatus": [
|
"avatarStatus": [
|
||||||
|
@ -138,14 +128,18 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"opacity": {
|
"opacity": {
|
||||||
"underlay": "1",
|
"underlay": 0,
|
||||||
"border": "0"
|
"border": "0"
|
||||||
},
|
},
|
||||||
"colors": {
|
"colors": {
|
||||||
"bg": "#ffffff",
|
"bg": "#ffffff",
|
||||||
"fg": "#f6f6f6",
|
"fg": "#f6f6f6",
|
||||||
"text": "#494949",
|
"text": "#222222",
|
||||||
"underlay": "#ffffff",
|
"underlay": "#f1f2f3",
|
||||||
|
"wallpaper": "#f1f2f3",
|
||||||
|
"selectedMenu": "#f1f2f3",
|
||||||
|
"selectedMenuPopover": "#f1f2f3",
|
||||||
|
"selectedPost": "#f1f2f3",
|
||||||
"link": "#788ca1",
|
"link": "#788ca1",
|
||||||
"accent": "#97a0aa",
|
"accent": "#97a0aa",
|
||||||
"cBlue": "#788ca1",
|
"cBlue": "#788ca1",
|
||||||
|
@ -156,6 +150,7 @@
|
||||||
"border": "#ffffff",
|
"border": "#ffffff",
|
||||||
"icon": "#b6c9c4",
|
"icon": "#b6c9c4",
|
||||||
"panel": "#ffffff",
|
"panel": "#ffffff",
|
||||||
|
"topBar": "#ffffff",
|
||||||
"topBarText": "#4b4b4b"
|
"topBarText": "#4b4b4b"
|
||||||
},
|
},
|
||||||
"radii": {
|
"radii": {
|
||||||
|
|
Loading…
Reference in a new issue