diff --git a/.github/workflows/test-chart.yml b/.github/workflows/test-chart.yml new file mode 100644 index 000000000..b9ff80855 --- /dev/null +++ b/.github/workflows/test-chart.yml @@ -0,0 +1,138 @@ +# This is a GitHub workflow defining a set of jobs with a set of steps. +# ref: https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions +# +name: Test chart + +on: + pull_request: + paths: + - "chart/**" + - "!**.md" + - ".github/workflows/test-chart.yml" + push: + paths: + - "chart/**" + - "!**.md" + - ".github/workflows/test-chart.yml" + branches-ignore: + - "dependabot/**" + workflow_dispatch: + +permissions: + contents: read + +defaults: + run: + working-directory: chart + +jobs: + lint-templates: + runs-on: ubuntu-22.04 + + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-python@v4 + with: + python-version: "3.x" + + - name: Install dependencies (yamllint) + run: pip install yamllint + + - run: helm dependency update + + - name: helm lint + run: | + helm lint . \ + --values dev-values.yaml + + - name: helm template + run: | + helm template . \ + --values dev-values.yaml \ + --output-dir rendered-templates + + - name: yamllint (only on templates we manage) + run: | + rm -rf rendered-templates/mastodon/charts + + yamllint rendered-templates \ + --config-data "{rules: {indentation: {spaces: 2}, line-length: disable}}" + + # This job helps us validate that rendered templates are valid k8s resources + # against a k8s api-server, via "helm template --validate", but also that a + # basic configuration can be used to successfully startup mastodon. + # + test-install: + runs-on: ubuntu-22.04 + timeout-minutes: 15 + + strategy: + fail-fast: false + matrix: + include: + # k3s-channel reference: https://update.k3s.io/v1-release/channels + - k3s-channel: latest + - k3s-channel: stable + + # This represents the oldest configuration we test against. + # + # The k8s version chosen is based on the oldest still supported k8s + # version among two managed k8s services, GKE, EKS. + # - GKE: https://endoflife.date/google-kubernetes-engine + # - EKS: https://endoflife.date/amazon-eks + # + # The helm client's version can influence what helper functions is + # available for use in the templates, currently we need v3.6.0 or + # higher. + # + - k3s-channel: v1.21 + helm-version: v3.6.0 + + steps: + - uses: actions/checkout@v3 + + # This action starts a k8s cluster with NetworkPolicy enforcement and + # installs both kubectl and helm. + # + # ref: https://github.com/jupyterhub/action-k3s-helm#readme + # + - uses: jupyterhub/action-k3s-helm@v3 + with: + k3s-channel: ${{ matrix.k3s-channel }} + helm-version: ${{ matrix.helm-version }} + metrics-enabled: false + traefik-enabled: false + docker-enabled: false + + - run: helm dependency update + + # Validate rendered helm templates against the k8s api-server + - name: helm template --validate + run: | + helm template --validate mastodon . \ + --values dev-values.yaml + + - name: helm install + run: | + helm install mastodon . \ + --values dev-values.yaml \ + --timeout 10m + + # This actions provides a report about the state of the k8s cluster, + # providing logs etc on anything that has failed and workloads marked as + # important. + # + # ref: https://github.com/jupyterhub/action-k8s-namespace-report#readme + # + - name: Kubernetes namespace report + uses: jupyterhub/action-k8s-namespace-report@v1 + if: always() + with: + important-workloads: >- + deploy/mastodon-sidekiq + deploy/mastodon-streaming + deploy/mastodon-web + job/mastodon-assets-precompile + job/mastodon-chewy-upgrade + job/mastodon-create-admin + job/mastodon-db-migrate diff --git a/AUTHORS.md b/AUTHORS.md index 9fc5f44f1..18b9f2d70 100644 --- a/AUTHORS.md +++ b/AUTHORS.md @@ -15,32 +15,32 @@ and provided thanks to the work of the following contributors: * [noellabo](https://github.com/noellabo) * [abcang](https://github.com/abcang) * [yiskah](https://github.com/yiskah) +* [tribela](https://github.com/tribela) * [mayaeh](https://github.com/mayaeh) * [nolanlawson](https://github.com/nolanlawson) * [ysksn](https://github.com/ysksn) -* [tribela](https://github.com/tribela) * [sorin-davidoi](https://github.com/sorin-davidoi) * [lynlynlynx](https://github.com/lynlynlynx) * [m4sk1n](mailto:me@m4sk.in) * [Marcin Mikołajczak](mailto:me@m4sk.in) -* [renatolond](https://github.com/renatolond) * [shleeable](https://github.com/shleeable) -* [alpaca-tc](https://github.com/alpaca-tc) +* [renatolond](https://github.com/renatolond) * [zunda](https://github.com/zunda) +* [alpaca-tc](https://github.com/alpaca-tc) * [nclm](https://github.com/nclm) * [ineffyble](https://github.com/ineffyble) * [ariasuni](https://github.com/ariasuni) * [Masoud Abkenar](mailto:ampbox@gmail.com) * [blackle](https://github.com/blackle) * [Quent-in](https://github.com/Quent-in) -* [JantsoP](https://github.com/JantsoP) * [Brawaru](https://github.com/Brawaru) +* [JantsoP](https://github.com/JantsoP) +* [trwnh](https://github.com/trwnh) * [nullkal](https://github.com/nullkal) * [yookoala](https://github.com/yookoala) * [dunn](https://github.com/dunn) * [Aditoo17](https://github.com/Aditoo17) * [Quenty31](https://github.com/Quenty31) -* [marek-lach](https://github.com/marek-lach) * [shuheiktgw](https://github.com/shuheiktgw) * [ashfurrow](https://github.com/ashfurrow) * [danhunsaker](https://github.com/danhunsaker) @@ -48,7 +48,6 @@ and provided thanks to the work of the following contributors: * [Jeroen](mailto:jeroenpraat@users.noreply.github.com) * [takayamaki](https://github.com/takayamaki) * [masarakki](https://github.com/masarakki) -* [trwnh](https://github.com/trwnh) * [ticky](https://github.com/ticky) * [ThisIsMissEm](https://github.com/ThisIsMissEm) * [hinaloe](https://github.com/hinaloe) @@ -57,16 +56,19 @@ and provided thanks to the work of the following contributors: * [Wonderfall](https://github.com/Wonderfall) * [matteoaquila](https://github.com/matteoaquila) * [yukimochi](https://github.com/yukimochi) -* [palindromordnilap](https://github.com/palindromordnilap) +* [nightpool](https://github.com/nightpool) +* [alixrossi](https://github.com/alixrossi) * [rkarabut](https://github.com/rkarabut) * [jeroenpraat](mailto:jeroenpraat@users.noreply.github.com) -* [nightpool](https://github.com/nightpool) +* [marek-lach](https://github.com/marek-lach) * [Artoria2e5](https://github.com/Artoria2e5) +* [rinsuki](https://github.com/rinsuki) * [marrus-sh](https://github.com/marrus-sh) * [krainboltgreene](https://github.com/krainboltgreene) * [pfigel](https://github.com/pfigel) * [BoFFire](https://github.com/BoFFire) * [Aldarone](https://github.com/Aldarone) +* [deepy](https://github.com/deepy) * [clworld](https://github.com/clworld) * [MasterGroosha](https://github.com/MasterGroosha) * [dracos](https://github.com/dracos) @@ -75,7 +77,6 @@ and provided thanks to the work of the following contributors: * [Sylvhem](https://github.com/Sylvhem) * [koyuawsmbrtn](https://github.com/koyuawsmbrtn) * [MitarashiDango](https://github.com/MitarashiDango) -* [rinsuki](https://github.com/rinsuki) * [angristan](https://github.com/angristan) * [JeanGauthier](https://github.com/JeanGauthier) * [kschaper](https://github.com/kschaper) @@ -87,14 +88,15 @@ and provided thanks to the work of the following contributors: * [MightyPork](https://github.com/MightyPork) * [ashleyhull-versent](https://github.com/ashleyhull-versent) * [yhirano55](https://github.com/yhirano55) +* [mashirozx](https://github.com/mashirozx) * [devkral](https://github.com/devkral) * [camponez](https://github.com/camponez) * [Hugo Gameiro](mailto:hmgameiro@gmail.com) +* [Marek Ľach](mailto:graweeld@googlemail.com) * [SerCom_KC](mailto:szescxz@gmail.com) * [aschmitz](https://github.com/aschmitz) * [mfmfuyu](https://github.com/mfmfuyu) * [kedamaDQ](https://github.com/kedamaDQ) -* [mashirozx](https://github.com/mashirozx) * [fpiesche](https://github.com/fpiesche) * [gandaro](https://github.com/gandaro) * [johnsudaar](https://github.com/johnsudaar) @@ -106,8 +108,10 @@ and provided thanks to the work of the following contributors: * [hikari-no-yume](https://github.com/hikari-no-yume) * [seefood](https://github.com/seefood) * [jackjennings](https://github.com/jackjennings) +* [sunny](https://github.com/sunny) * [puckipedia](https://github.com/puckipedia) -* [spla](mailto:spla@mastodont.cat) +* [splaGit](https://github.com/splaGit) +* [tateisu](https://github.com/tateisu) * [walf443](https://github.com/walf443) * [JoelQ](https://github.com/JoelQ) * [mistydemeo](https://github.com/mistydemeo) @@ -118,13 +122,15 @@ and provided thanks to the work of the following contributors: * [tsuwatch](https://github.com/tsuwatch) * [progval](https://github.com/progval) * [victorhck](https://github.com/victorhck) +* [Izorkin](https://github.com/Izorkin) * [manuelviens](mailto:manuelviens@users.noreply.github.com) -* [tateisu](https://github.com/tateisu) * [fvh-P](https://github.com/fvh-P) * [lfuelling](https://github.com/lfuelling) * [rtucker](https://github.com/rtucker) * [Anna e só](mailto:contraexemplos@gmail.com) +* [danieljakots](https://github.com/danieljakots) * [dariusk](https://github.com/dariusk) +* [Gomasy](https://github.com/Gomasy) * [kazu9su](https://github.com/kazu9su) * [komic](https://github.com/komic) * [lmorchard](https://github.com/lmorchard) @@ -137,6 +143,7 @@ and provided thanks to the work of the following contributors: * [goofy-bz](mailto:goofy@babelzilla.org) * [kadiix](https://github.com/kadiix) * [kodacs](https://github.com/kodacs) +* [luzpaz](https://github.com/luzpaz) * [marcin mikołajczak](mailto:me@m4sk.in) * [berkes](https://github.com/berkes) * [KScl](https://github.com/KScl) @@ -145,23 +152,26 @@ and provided thanks to the work of the following contributors: * [AA4ch1](https://github.com/AA4ch1) * [alexgleason](https://github.com/alexgleason) * [cpytel](https://github.com/cpytel) +* [cutls](https://github.com/cutls) * [northerner](https://github.com/northerner) * [weex](https://github.com/weex) +* [erbridge](https://github.com/erbridge) * [fhemberger](https://github.com/fhemberger) -* [Gomasy](https://github.com/Gomasy) * [greysteil](https://github.com/greysteil) * [henrycatalinismith](https://github.com/henrycatalinismith) +* [HolgerHuo](https://github.com/HolgerHuo) * [d6rkaiz](https://github.com/d6rkaiz) * [ladyisatis](https://github.com/ladyisatis) * [JMendyk](https://github.com/JMendyk) +* [kescherCode](https://github.com/kescherCode) * [JohnD28](https://github.com/JohnD28) * [znz](https://github.com/znz) * [saper](https://github.com/saper) * [Naouak](https://github.com/Naouak) * [pawelngei](https://github.com/pawelngei) +* [rgroothuijsen](https://github.com/rgroothuijsen) * [reneklacan](https://github.com/reneklacan) * [ekiru](https://github.com/ekiru) -* [Izorkin](https://github.com/Izorkin) * [unasuke](https://github.com/unasuke) * [geta6](https://github.com/geta6) * [happycoloredbanana](https://github.com/happycoloredbanana) @@ -174,7 +184,6 @@ and provided thanks to the work of the following contributors: * [aji-su](https://github.com/aji-su) * [ikuradon](https://github.com/ikuradon) * [nzws](https://github.com/nzws) -* [duxovni](https://github.com/duxovni) * [SuperSandro2000](https://github.com/SuperSandro2000) * [178inaba](https://github.com/178inaba) * [acid-chicken](https://github.com/acid-chicken) @@ -183,7 +192,6 @@ and provided thanks to the work of the following contributors: * [aablinov](https://github.com/aablinov) * [stalker314314](https://github.com/stalker314314) * [cohosh](https://github.com/cohosh) -* [cutls](https://github.com/cutls) * [huertanix](https://github.com/huertanix) * [eleboucher](https://github.com/eleboucher) * [halkeye](https://github.com/halkeye) @@ -191,6 +199,7 @@ and provided thanks to the work of the following contributors: * [treby](https://github.com/treby) * [jpdevries](https://github.com/jpdevries) * [gdpelican](https://github.com/gdpelican) +* [pbzweihander](https://github.com/pbzweihander) * [MonaLisaOverrdrive](https://github.com/MonaLisaOverrdrive) * [Kurtis Rainbolt-Greene](mailto:me@kurtisrainboltgreene.name) * [panarom](https://github.com/panarom) @@ -201,7 +210,6 @@ and provided thanks to the work of the following contributors: * [pierreozoux](https://github.com/pierreozoux) * [qguv](https://github.com/qguv) * [Ram Lmn](mailto:ramlmn@users.noreply.github.com) -* [rgroothuijsen](https://github.com/rgroothuijsen) * [Sascha](mailto:sascha@serenitylabs.cloud) * [harukasan](https://github.com/harukasan) * [stamak](https://github.com/stamak) @@ -217,11 +225,14 @@ and provided thanks to the work of the following contributors: * [chr-1x](https://github.com/chr-1x) * [esetomo](https://github.com/esetomo) * [foxiehkins](https://github.com/foxiehkins) +* [gol-cha](https://github.com/gol-cha) * [highemerly](https://github.com/highemerly) * [hoodie](mailto:hoodiekitten@outlook.com) * [kaiyou](https://github.com/kaiyou) * [007lva](https://github.com/007lva) * [luzi82](https://github.com/luzi82) +* [prplecake](https://github.com/prplecake) +* [duxovni](https://github.com/duxovni) * [slice](https://github.com/slice) * [tmm576](https://github.com/tmm576) * [unsmell](mailto:unsmell@users.noreply.github.com) @@ -251,25 +262,27 @@ and provided thanks to the work of the following contributors: * [cdutson](https://github.com/cdutson) * [farlistener](https://github.com/farlistener) * [baby-gnu](https://github.com/baby-gnu) -* [danieljakots](https://github.com/danieljakots) * [divergentdave](https://github.com/divergentdave) * [DavidLibeau](https://github.com/DavidLibeau) * [dmerejkowsky](https://github.com/dmerejkowsky) * [ddevault](https://github.com/ddevault) +* [emilyst](https://github.com/emilyst) +* [consideRatio](https://github.com/consideRatio) * [Fjoerfoks](https://github.com/Fjoerfoks) * [fmauNeko](https://github.com/fmauNeko) * [gloaec](https://github.com/gloaec) * [unstabler](https://github.com/unstabler) * [potato4d](https://github.com/potato4d) * [h-izumi](https://github.com/h-izumi) -* [HolgerHuo](https://github.com/HolgerHuo) * [ErikXXon](https://github.com/ErikXXon) * [ian-kelling](https://github.com/ian-kelling) * [eltociear](https://github.com/eltociear) * [immae](https://github.com/immae) * [J0WI](https://github.com/J0WI) -* [vahnj](https://github.com/vahnj) +* [koboldunderlord](https://github.com/koboldunderlord) * [foozmeat](https://github.com/foozmeat) +* [jgsmith](https://github.com/jgsmith) +* [raggi](https://github.com/raggi) * [jasonrhodes](https://github.com/jasonrhodes) * [Jason Snell](mailto:jason@newrelic.com) * [jviide](https://github.com/jviide) @@ -287,21 +300,25 @@ and provided thanks to the work of the following contributors: * [Markus Amalthea Magnuson](mailto:markus.magnuson@gmail.com) * [madmath03](https://github.com/madmath03) * [mig5](https://github.com/mig5) +* [mohe2015](https://github.com/mohe2015) * [moritzheiber](https://github.com/moritzheiber) * [Nathaniel Suchy](mailto:me@lunorian.is) * [ndarville](https://github.com/ndarville) * [NimaBoscarino](https://github.com/NimaBoscarino) * [aquarla](https://github.com/aquarla) * [Abzol](https://github.com/Abzol) +* [unextro](https://github.com/unextro) * [PatOnTheBack](https://github.com/PatOnTheBack) * [xPaw](https://github.com/xPaw) * [petzah](https://github.com/petzah) * [PeterDaveHello](https://github.com/PeterDaveHello) * [ignisf](https://github.com/ignisf) +* [postmodern](https://github.com/postmodern) * [lumenwrites](https://github.com/lumenwrites) * [remram44](https://github.com/remram44) * [sts10](https://github.com/sts10) * [u1-liquid](https://github.com/u1-liquid) +* [SISheogorath](https://github.com/SISheogorath) * [rosylilly](https://github.com/rosylilly) * [withshubh](https://github.com/withshubh) * [sim6](https://github.com/sim6) @@ -328,23 +345,23 @@ and provided thanks to the work of the following contributors: * [bsky](mailto:me@imbsky.net) * [codl](https://github.com/codl) * [cpsdqs](https://github.com/cpsdqs) +* [dogelover911](https://github.com/dogelover911) * [barzamin](https://github.com/barzamin) -* [gol-cha](https://github.com/gol-cha) * [gunchleoc](https://github.com/gunchleoc) * [fhalna](https://github.com/fhalna) * [haoyayoi](https://github.com/haoyayoi) +* [helloworldstack](https://github.com/helloworldstack) * [ik11235](https://github.com/ik11235) * [kawax](https://github.com/kawax) * [shrft](https://github.com/shrft) * [luigi](mailto:lvargas@rankia.com) -* [luzpaz](https://github.com/luzpaz) * [mbajur](https://github.com/mbajur) * [matsurai25](https://github.com/matsurai25) * [mecab](https://github.com/mecab) * [nicobz25](https://github.com/nicobz25) * [niwatori24](https://github.com/niwatori24) * [noiob](https://github.com/noiob) -* [oliverkeeble](https://github.com/oliverkeeble) +* [oliverkeeble](mailto:oliverkeeble@users.noreply.github.com) * [partev](https://github.com/partev) * [pinfort](https://github.com/pinfort) * [rbaumert](https://github.com/rbaumert) @@ -360,7 +377,7 @@ and provided thanks to the work of the following contributors: * [clarfonthey](https://github.com/clarfonthey) * [cygnan](https://github.com/cygnan) * [Awea](https://github.com/Awea) -* [eai04191](https://github.com/eai04191) +* [single-right-quote](https://github.com/single-right-quote) * [8398a7](https://github.com/8398a7) * [857b](https://github.com/857b) * [insom](https://github.com/insom) @@ -373,9 +390,10 @@ and provided thanks to the work of the following contributors: * [unleashed](https://github.com/unleashed) * [alxrcs](https://github.com/alxrcs) * [console-cowboy](https://github.com/console-cowboy) +* [Saiv46](https://github.com/Saiv46) * [Alkarex](https://github.com/Alkarex) * [a2](https://github.com/a2) -* [alfiedotwtf](https://github.com/alfiedotwtf) +* [Alfie John](mailto:33c6c91f3bb4a391082e8a29642cafaf@alfie.wtf) * [0xa](https://github.com/0xa) * [ashpieboop](https://github.com/ashpieboop) * [virtualpain](https://github.com/virtualpain) @@ -391,24 +409,34 @@ and provided thanks to the work of the following contributors: * [orlea](https://github.com/orlea) * [armandfardeau](https://github.com/armandfardeau) * [raboof](https://github.com/raboof) +* [v-aisac](https://github.com/v-aisac) +* [gi-yt](https://github.com/gi-yt) +* [boahc077](https://github.com/boahc077) * [aldatsa](https://github.com/aldatsa) * [jumbosushi](https://github.com/jumbosushi) * [acuteaura](https://github.com/acuteaura) * [ayumin](https://github.com/ayumin) * [bzg](https://github.com/bzg) * [BastienDurel](https://github.com/BastienDurel) +* [bearice](https://github.com/bearice) * [li-bei](https://github.com/li-bei) +* [hardillb](https://github.com/hardillb) * [Benedikt Geißler](mailto:benedikt@g5r.eu) * [BenisonSebastian](https://github.com/BenisonSebastian) * [Blake](mailto:blake.barnett@postmates.com) * [Brad Janke](mailto:brad.janke@gmail.com) +* [braydofficial](https://github.com/braydofficial) * [bclindner](https://github.com/bclindner) * [brycied00d](https://github.com/brycied00d) * [carlosjs23](https://github.com/carlosjs23) +* [WyriHaximus](https://github.com/WyriHaximus) * [cgxxx](https://github.com/cgxxx) * [kibitan](https://github.com/kibitan) +* [cdzombak](https://github.com/cdzombak) * [chrisheninger](https://github.com/chrisheninger) * [chris-martin](https://github.com/chris-martin) +* [offbyone](https://github.com/offbyone) +* [cclauss](https://github.com/cclauss) * [DoubleMalt](https://github.com/DoubleMalt) * [Moosh-be](https://github.com/Moosh-be) * [cchoi12](https://github.com/cchoi12) @@ -417,6 +445,8 @@ and provided thanks to the work of the following contributors: * [csu](https://github.com/csu) * [kklleemm](https://github.com/kklleemm) * [colindean](https://github.com/colindean) +* [CommanderRoot](https://github.com/CommanderRoot) +* [connorshea](https://github.com/connorshea) * [DeeUnderscore](https://github.com/DeeUnderscore) * [dachinat](https://github.com/dachinat) * [Daggertooth](mailto:dev@monsterpit.net) @@ -428,35 +458,40 @@ and provided thanks to the work of the following contributors: * [dar5hak](https://github.com/dar5hak) * [kant](https://github.com/kant) * [maxolasersquad](https://github.com/maxolasersquad) -* [singingwolfboy](https://github.com/singingwolfboy) -* [caldwell](https://github.com/caldwell) -* [davidcelis](https://github.com/davidcelis) -* [davefp](https://github.com/davefp) -* [hannahwhy](https://github.com/hannahwhy) -* [debanshuk](https://github.com/debanshuk) -* [mascali33](https://github.com/mascali33) -* [DerekNonGeneric](https://github.com/DerekNonGeneric) -* [dblandin](https://github.com/dblandin) -* [Aranaur](https://github.com/Aranaur) -* [dtschust](https://github.com/dtschust) -* [Dryusdan](https://github.com/Dryusdan) -* [d3vgru](https://github.com/d3vgru) -* [Elizafox](https://github.com/Elizafox) -* [enewhuis](https://github.com/enewhuis) -* [ericblade](https://github.com/ericblade) -* [mikoim](https://github.com/mikoim) -* [espenronnevik](https://github.com/espenronnevik) +* [David Baumgold](mailto:david@davidbaumgold.com) +* [David Caldwell](mailto:david+github@porkrind.org) +* [David Celis](mailto:me@davidcel.is) +* [David Hewitt](mailto:davidmhewitt@users.noreply.github.com) +* [David Underwood](mailto:davefp@gmail.com) +* [David Yip](mailto:yipdw@member.fsf.org) +* [Debanshu Kundu](mailto:debanshu.kundu@joshtechnologygroup.com) +* [Denis Teyssier](mailto:admin@mascali.ovh) +* [Derek Lewis](mailto:derekcecillewis@gmail.com) +* [Devon Blandin](mailto:dblandin@gmail.com) +* [Drew Gates](mailto:aranaur@users.noreply.github.com) +* [Drew Schuster](mailto:dtschust@gmail.com) +* [Dryusdan](mailto:dryusdan@dryusdan.fr) +* [Eai](mailto:eai@mizle.net) +* [Ed Knutson](mailto:knutsoned@gmail.com) +* [Effy Elden](mailto:effy@effy.space) +* [Elizabeth Myers](mailto:elizabeth@interlinked.me) +* [Eric](mailto:enewhuis@gmail.com) +* [Eric Blade](mailto:blade.eric@gmail.com) +* [Eshin Kunishima](mailto:mikoim@users.noreply.github.com) +* [Espen Rønnevik](mailto:espen@ronnevik.net) * [Expenses](mailto:expenses@airmail.cc) -* [fabianonline](https://github.com/fabianonline) -* [shello](https://github.com/shello) -* [Finariel](https://github.com/Finariel) -* [siuying](https://github.com/siuying) -* [zoc](https://github.com/zoc) -* [fwenzel](https://github.com/fwenzel) -* [gabrielrumiranda](https://github.com/gabrielrumiranda) -* [GenbuHase](https://github.com/GenbuHase) -* [nilsding](https://github.com/nilsding) -* [hattori6789](https://github.com/hattori6789) +* [Fabian Schlenz](mailto:mail@fabianonline.de) +* [Faye Duxovni](mailto:duxovni@duxovni.org) +* [Filipe Rodrigues](mailto:shello@shello.org) +* [Finariel](mailto:finariel@gmail.com) +* [Francis Chong](mailto:francis@ignition.hk) +* [Franck Zoccolo](mailto:franck@zoccolo.com) +* [Fred Wenzel](mailto:fwenzel@users.noreply.github.com) +* [Gabriel Rubens](mailto:gabrielrumiranda@gmail.com) +* [Gaelan Steele](mailto:gbs@canishe.com) +* [Genbu Hase](mailto:hasegenbu@gmail.com) +* [Georg Gadinger](mailto:nilsding@nilsding.org) +* [George Hattori](mailto:hattori6789@users.noreply.github.com) * [Gergely Nagy](mailto:algernon@users.noreply.github.com) * [Giuseppe Pignataro](mailto:rogepix@gmail.com) * [Greg V](mailto:greg@unrelenting.technology) @@ -466,7 +501,9 @@ and provided thanks to the work of the following contributors: * [György Nádudvari](mailto:reedcourty@users.noreply.github.com) * [HIKARU KOBORI](mailto:hk.uec.univ@gmail.com) * [Haelwenn Monnier](mailto:lanodan@users.noreply.github.com) +* [Hampton Lintorn-Catlin](mailto:hcatlin@gmail.com) * [Harmon](mailto:harmon758@gmail.com) +* [Hayden](mailto:contact@winisreallybored.com) * [HellPie](mailto:hellpie@users.noreply.github.com) * [Herbert Kagumba](mailto:habukagumba@gmail.com) * [Hiroe Jun](mailto:jun.hiroe@gmail.com) @@ -479,6 +516,7 @@ and provided thanks to the work of the following contributors: * [Ian McDowell](mailto:me@ianmcdowell.net) * [Iijima Yasushi](mailto:kurage.cc@gmail.com) * [Ingo Blechschmidt](mailto:iblech@web.de) +* [Irie Aoi](mailto:eai@mizle.net) * [J Yeary](mailto:usbsnowcrash@users.noreply.github.com) * [Jack Michaud](mailto:jack-michaud@users.noreply.github.com) * [Jakub Mendyk](mailto:jakubmendyk.szkola@gmail.com) @@ -493,6 +531,7 @@ and provided thanks to the work of the following contributors: * [Jo Decker](mailto:trolldecker@users.noreply.github.com) * [Joan Montané](mailto:jmontane@users.noreply.github.com) * [Joe](mailto:401283+htmlbyjoe@users.noreply.github.com) +* [Joe Friedl](mailto:stuff@joefriedl.net) * [Jonathan Klee](mailto:klee.jonathan@gmail.com) * [Jordan Guerder](mailto:jguerder@fr.pulseheberg.net) * [Joseph Mingrone](mailto:jehops@users.noreply.github.com) @@ -502,6 +541,7 @@ and provided thanks to the work of the following contributors: * [Julien](mailto:tiwy57@users.noreply.github.com) * [Julien Deswaef](mailto:juego@requiem4tv.com) * [June Sallou](mailto:jnsll@users.noreply.github.com) +* [Justin Thomas](mailto:justin@jdt.io) * [Jérémy Benoist](mailto:j0k3r@users.noreply.github.com) * [KEINOS](mailto:github@keinos.com) * [Kairui Song | 宋恺睿](mailto:ryncsn@gmail.com) @@ -522,6 +562,7 @@ and provided thanks to the work of the following contributors: * [Mantas](mailto:mistermantas@users.noreply.github.com) * [Mareena Kunjachan](mailto:mareenakunjachan@gmail.com) * [Marek Lach](mailto:marek.brohatwack.lach@gmail.com) +* [Markus Petzsch](mailto:markus@petzsch.eu) * [Markus R](mailto:wirehack7@users.noreply.github.com) * [Marty McGuire](mailto:schmartissimo@gmail.com) * [Marvin Kopf](mailto:marvinkopf@posteo.de) @@ -531,12 +572,15 @@ and provided thanks to the work of the following contributors: * [Mathias B](mailto:10813340+mathias-b@users.noreply.github.com) * [Mathieu Brunot](mailto:mb.mathieu.brunot@gmail.com) * [Matt](mailto:matt-auckland@users.noreply.github.com) +* [Matt Corallo](mailto:649246+thebluematt@users.noreply.github.com) * [Matt Sweetman](mailto:webroo@gmail.com) +* [Matthias Bethke](mailto:matthias@towiski.de) * [Matthias Beyer](mailto:mail@beyermatthias.de) * [Matthias Jouan](mailto:matthias.jouan@gmail.com) * [Matthieu Paret](mailto:matthieuparet69@gmail.com) * [Maxime BORGES](mailto:maxime.borges@gmail.com) * [Mayu Laierlence](mailto:minacle@live.com) +* [Meisam](mailto:39205857+mftabriz@users.noreply.github.com) * [Michael Deeb](mailto:michaeldeeb@me.com) * [Michael Vieira](mailto:dtox94@gmail.com) * [Michel](mailto:michel@cyweo.com) @@ -558,6 +602,7 @@ and provided thanks to the work of the following contributors: * [Nanamachi](mailto:town7.haruki@gmail.com) * [Nathaniel Ekoniak](mailto:nekoniak@ennate.tech) * [NecroTechno](mailto:necrotechno@riseup.net) +* [Nicholas La Roux](mailto:larouxn@gmail.com) * [Nick Gerakines](mailto:nick@gerakines.net) * [Nicolai von Neudeck](mailto:nicolai@vonneudeck.com) * [Ninetailed](mailto:ninetailed@gmail.com) @@ -575,18 +620,25 @@ and provided thanks to the work of the following contributors: * [PatrickRWells](mailto:32802366+patrickrwells@users.noreply.github.com) * [Paul](mailto:naydex.mc+github@gmail.com) * [Pete Keen](mailto:pete@petekeen.net) +* [Pierre Bourdon](mailto:delroth@gmail.com) * [Pierre-Morgan Gate](mailto:pgate@users.noreply.github.com) * [Ratmir Karabut](mailto:rkarabut@sfmodern.ru) * [Reto Kromer](mailto:retokromer@users.noreply.github.com) +* [Rob Petti](mailto:rob.petti@gmail.com) * [Rob Watson](mailto:rfwatson@users.noreply.github.com) +* [Robert Laurenz](mailto:8169746+laurenzcodes@users.noreply.github.com) * [Rohan Sharma](mailto:i.am.lone.survivor@protonmail.com) +* [Roni Laukkarinen](mailto:roni@laukkarinen.info) * [Ryan Freebern](mailto:ryan@freebern.org) * [Ryan Wade](mailto:ryan.wade@protonmail.com) * [Ryo Kajiwara](mailto:kfe-fecn6.prussian@s01.info) * [S.H](mailto:gamelinks007@gmail.com) +* [SJang1](mailto:git@sjang.dev) * [Sadiq Saif](mailto:staticsafe@users.noreply.github.com) * [Sam Hewitt](mailto:hewittsamuel@gmail.com) +* [Samuel Kaiser](mailto:sk22@mailbox.org) * [Sara Aimée Smiseth](mailto:51710585+sarasmiseth@users.noreply.github.com) +* [Sara Golemon](mailto:pollita@php.net) * [Satoshi KOJIMA](mailto:skoji@mac.com) * [ScienJus](mailto:i@scienjus.com) * [Scott Larkin](mailto:scott@codeclimate.com) @@ -607,6 +659,7 @@ and provided thanks to the work of the following contributors: * [Spanky](mailto:2788886+spankyworks@users.noreply.github.com) * [Stanislas](mailto:stanislas.lange@pm.me) * [StefOfficiel](mailto:pichard.stephane@free.fr) +* [Stefano Pigozzi](mailto:ste.pigozzi@gmail.com) * [Steven Tappert](mailto:admin@dark-it.net) * [Stéphane Guillou](mailto:stephane.guillou@member.fsf.org) * [Su Yang](mailto:soulteary@users.noreply.github.com) @@ -619,13 +672,16 @@ and provided thanks to the work of the following contributors: * [TakesxiSximada](mailto:takesxi.sximada@gmail.com) * [Tao Bror Bojlén](mailto:brortao@users.noreply.github.com) * [Taras Gogol](mailto:taras2358@gmail.com) +* [The Stranjer](mailto:791672+thestranjer@users.noreply.github.com) * [TheInventrix](mailto:theinventrix@users.noreply.github.com) * [TheMainOne](mailto:50847364+theevilskeleton@users.noreply.github.com) * [Thomas Alberola](mailto:thomas@needacoffee.fr) +* [Thomas Citharel](mailto:github@tcit.fr) * [Toby Deshane](mailto:fortyseven@users.noreply.github.com) * [Toby Pinder](mailto:gigitrix@gmail.com) * [Tomonori Murakami](mailto:crosslife777@gmail.com) * [TomoyaShibata](mailto:wind.of.hometown@gmail.com) +* [Tony Jiang](mailto:yujiang99@gmail.com) * [Treyssat-Vincent Nino](mailto:treyssatvincent@users.noreply.github.com) * [Truong Nguyen](mailto:truongnmt.dev@gmail.com) * [Udo Kramer](mailto:optik@fluffel.io) @@ -634,6 +690,7 @@ and provided thanks to the work of the following contributors: * [Ushitora Anqou](mailto:ushitora_anqou@yahoo.co.jp) * [Valentin Lorentz](mailto:progval+git@progval.net) * [Vladimir Mincev](mailto:vladimir@canicinteractive.com) +* [Vyr Cossont](mailto:vyrcossont@users.noreply.github.com) * [Waldir Pimenta](mailto:waldyrious@gmail.com) * [Wenceslao Páez Chávez](mailto:wcpaez@gmail.com) * [Wesley Ellis](mailto:tahnok@gmail.com) @@ -648,10 +705,12 @@ and provided thanks to the work of the following contributors: * [YaQ](mailto:i_k_o_m_a_7@yahoo.co.jp) * [Yanaken](mailto:yanakend@gmail.com) * [Yann Klis](mailto:yann.klis@gmail.com) +* [Yarden Shoham](mailto:hrsi88@gmail.com) * [Yağızhan](mailto:35808275+yagizhan49@users.noreply.github.com) * [Yeechan Lu](mailto:wz.bluesnow@gmail.com) * [Your Name](mailto:lorenzd@gmail.com) * [Yusuke Abe](mailto:moonset20@gmail.com) +* [Zach Flanders](mailto:zachflanders@gmail.com) * [Zach Neill](mailto:neillz@berea.edu) * [Zachary Spector](mailto:logicaldash@gmail.com) * [ZiiX](mailto:ziix@users.noreply.github.com) @@ -666,8 +725,8 @@ and provided thanks to the work of the following contributors: * [chrolis](mailto:chrolis@users.noreply.github.com) * [cormo](mailto:cormorant2+github@gmail.com) * [d0p1](mailto:dopi-sama@hush.com) -* [dogelover911](mailto:84288771+dogelover911@users.noreply.github.com) * [dxwc](mailto:dxwc@users.noreply.github.com) +* [eai04191](mailto:eai@mizle.net) * [evilny0](mailto:evilny0@moomoocamp.net) * [febrezo](mailto:felixbrezo@gmail.com) * [fsubal](mailto:fsubal@users.noreply.github.com) @@ -678,7 +737,6 @@ and provided thanks to the work of the following contributors: * [hakoai](mailto:hk--76@qa2.so-net.ne.jp) * [haosbvnker](mailto:github@chaosbunker.com) * [heguro](mailto:65112898+heguro@users.noreply.github.com) -* [helloworldstack](mailto:66512512+helloworldstack@users.noreply.github.com) * [ichi_i](mailto:51489410+ichi-i@users.noreply.github.com) * [isati](mailto:phil@juchnowi.cz) * [jacob](mailto:jacobherringtondeveloper@gmail.com) @@ -688,15 +746,18 @@ and provided thanks to the work of the following contributors: * [jooops](mailto:joops@autistici.org) * [jukper](mailto:jukkaperanto@gmail.com) * [jumoru](mailto:jumoru@mailbox.org) +* [k.bigwheel (kazufumi nishida)](mailto:k.bigwheel+eng@gmail.com) * [kaias1jp](mailto:kaias1jp@gmail.com) * [karlyeurl](mailto:karl.yeurl@gmail.com) * [kawaguchi](mailto:jiikko@users.noreply.github.com) * [kedama](mailto:32974885+kedamadq@users.noreply.github.com) +* [keiya](mailto:keiya_21@yahoo.co.jp) * [kuro5hin](mailto:rusty@kuro5hin.org) * [leo60228](mailto:leo@60228.dev) * [matildepark](mailto:matilde.park@pm.me) * [maxypy](mailto:maxime@mpigou.fr) * [mhe](mailto:mail@marcus-herrmann.com) +* [mickkael](mailto:19755421+mickkael@users.noreply.github.com) * [mike castleman](mailto:m@mlcastle.net) * [mimikun](mailto:dzdzble_effort_311@outlook.jp) * [mohemohe](mailto:mohemohe@users.noreply.github.com) @@ -707,9 +768,11 @@ and provided thanks to the work of the following contributors: * [notozeki](mailto:notozeki@users.noreply.github.com) * [ntl-purism](mailto:57806346+ntl-purism@users.noreply.github.com) * [nzws](mailto:git-yuzu@svk.jp) +* [pea-sys](mailto:49807271+pea-sys@users.noreply.github.com) * [potpro](mailto:pptppctt@gmail.com) * [proxy](mailto:51172302+3n-k1@users.noreply.github.com) * [rch850](mailto:rich850@gmail.com) +* [rcombs](mailto:rcombs@rcombs.me) * [roikale](mailto:roikale@users.noreply.github.com) * [rysiekpl](mailto:rysiek@hackerspace.pl) * [sasanquaneuf](mailto:sasanquaneuf@gmail.com) @@ -726,13 +789,13 @@ and provided thanks to the work of the following contributors: * [tmyt](mailto:shigure@refy.net) * [trevDev()](mailto:trev@trevdev.ca) * [tsia](mailto:github@tsia.de) +* [txt-file](mailto:44214237+txt-file@users.noreply.github.com) * [utam0k](mailto:k0ma@utam0k.jp) * [vpzomtrrfrt](mailto:vpzomtrrfrt@gmail.com) * [walfie](mailto:walfington@gmail.com) * [y-temp4](mailto:y.temp4@gmail.com) * [ymmtmdk](mailto:ymmtmdk@gmail.com) * [yoshipc](mailto:yoooo@yoshipc.net) -* [zunda](mailto:zundan@gmail.com) * [Özcan Zafer AYAN](mailto:ozcanzaferayan@gmail.com) * [ばん](mailto:detteiu0321@gmail.com) * [ふるふる](mailto:frfs@users.noreply.github.com) @@ -752,599 +815,951 @@ This document is provided for informational purposes only. Since it is only upda Following people have contributed to translation of Mastodon: - GunChleoc (*Scottish Gaelic*) -- ケインツロ 👾 (KNTRO) (*Spanish, Argentina*) -- Sveinn í Felli (sveinki) (*Icelandic*) +- ケインツロ ⚧️👾🛸 (KNTRO) (*Spanish, Argentina*) - Hồ Nhất Duy (honhatduy) (*Vietnamese*) +- Sveinn í Felli (sveinki) (*Icelandic*) +- Kristaps (Kristaps_M) (*Latvian*) +- NCAA (*Danish, French*) - Zoltán Gera (gerazo) (*Hungarian*) -- Kristaps_M (*Latvian*) -- NCAA (*French, Danish*) -- adrmzz (*Sardinian*) -- Xosé M. (XoseM) (*Spanish, Galician*) -- Ramdziana F Y (rafeyu) (*Indonesian*) -- Jeong Arm (Kjwon15) (*Spanish, Japanese, Korean, Esperanto*) +- ghose (XoseM) (*Galician, Spanish*) +- Jeong Arm (Kjwon15) (*Korean, Esperanto, Japanese, Spanish*) - Emanuel Pina (emanuelpina) (*Portuguese*) -- qezwan (*Persian, Sorani (Kurdish)*) -- Besnik_b (*Albanian*) -- ButterflyOfFire (BoFFire) (*French, Arabic, Kabyle*) +- Reyzadren (*Ido, Malay*) - Thai Localization (thl10n) (*Thai*) -- Cyax (Cyaxares) (*Kurmanji (Kurdish)*) -- taicv (*Vietnamese*) -- Daniele Lira Mereb (danilmereb) (*Portuguese, Brazilian*) -- spla (*Spanish, Catalan*) -- Evert Prants (IcyDiamond) (*Estonian*) -- koyu (*German*) -- Alix Rossi (palindromordnilap) (*French, Esperanto, Corsican*) +- Besnik_b (*Albanian*) - Joene (joenepraat) (*Dutch*) +- Cyax (Cyaxares) (*Kurmanji (Kurdish)*) +- adrmzz (*Sardinian*) +- Ramdziana F Y (rafeyu) (*Indonesian*) +- xatier (*Chinese Traditional, Chinese Traditional, Hong Kong*) +- qezwan (*Sorani (Kurdish), Persian*) +- spla (*Catalan, Spanish*) +- ButterflyOfFire (BoFFire) (*Arabic, French, Kabyle*) +- Martin (miles) (*Slovenian*) +- නාමල් ජයසිංහ (nimnaya) (*Sinhala*) +- Asier Iturralde Sarasola (aldatsa) (*Basque*) +- Ondřej Pokorný (unextro) (*Czech*) +- Roboron (*Spanish*) +- taicv (*Vietnamese*) +- koyu (*German*) +- Daniele Lira Mereb (danilmereb) (*Portuguese, Brazilian*) +- T. E. Kalaycı (tekrei) (*Turkish*) +- Evert Prants (IcyDiamond) (*Estonian*) +- Yair Mahalalel (yairm) (*Hebrew*) +- Ihor Hordiichuk (ihor_ck) (*Ukrainian*) +- Alessandro Levati (Oct326) (*Italian*) +- Kimmo Kujansuu (mrkujansuu) (*Finnish*) +- Alix Rossi (palindromordnilap) (*Corsican, Esperanto, French*) +- Danial Behzadi (danialbehzadi) (*Persian*) - stan ionut (stanionut12) (*Romanian*) - Mastodon 中文译者 (mastodon-linguist) (*Chinese Simplified*) - Kristijan Tkalec (lapor) (*Slovenian*) -- Danial Behzadi (danialbehzadi) (*Persian*) -- Asier Iturralde Sarasola (aldatsa) (*Basque*) +Alexander Sorokin (Brawaru) (*Russian, Vietnamese, Swedish, Portuguese, Tamil, Kabyle, Polish, Italian, Catalan, Armenian, Hungarian, Albanian, Greek, Galician, Korean, Ukrainian, German, Danish, French*) - ManeraKai (*Arabic*) - мачко (ma4ko) (*Bulgarian*) -- Roboron (*Spanish*) -- Alessandro Levati (Oct326) (*Italian*) -- xatier (*Chinese Traditional, Chinese Traditional, Hong Kong*) -- Ondřej Pokorný (unextro) (*Czech*) -- Alexander Sorokin (Brawaru) (*French, Catalan, Danish, German, Greek, Hungarian, Armenian, Korean, Portuguese, Russian, Albanian, Swedish, Ukrainian, Vietnamese, Galician*) - kamee (*Armenian*) -- Michal Stanke (mstanke) (*Czech*) +- Yamagishi Kazutoshi (ykzts) (*Japanese, Icelandic, Sorani (Kurdish), Albanian, Vietnamese, Chinese Simplified*) +- Takeçi (polygoat) (*French, Italian*) +- REMOVED_USER (*Czech*) - borys_sh (*Ukrainian*) - Imre Kristoffer Eilertsen (DandelionSprout) (*Norwegian*) -- yeft (*Chinese Traditional, Chinese Traditional, Hong Kong*) +- Marek Ľach (mareklach) (*Slovak, Polish*) +- yeft (*Chinese Traditional, Hong Kong, Chinese Traditional*) +- D. Cederberg (cederberget) (*Swedish*) - Miguel Mayol (mitcoes) (*Spanish, Catalan*) -- Marek Ľach (mareklach) (*Polish, Slovak*) -- Manuel Viens (manuelviens) (*French*) -- Kimmo Kujansuu (mrkujansuu) (*Finnish*) -- Koala Yeung (yookoala) (*Chinese Traditional, Hong Kong*) - enolp (*Asturian*) +- Manuel Viens (manuelviens) (*French*) +- cybergene (*Japanese*) +- REMOVED_USER (*Turkish*) +- xpil (*Polish, Scottish Gaelic*) +- Balázs Meskó (mesko.balazs) (*Hungarian, Czech*) +- Koala Yeung (yookoala) (*Chinese Traditional, Hong Kong*) - Osoitz (*Basque*) -- Peterandre (*Norwegian, Norwegian Nynorsk*) -- tzium (*Sardinian*) +- Amir Rubinstein - TAU (AmirrTAU) (*Hebrew, Indonesian*) - Maya Minatsuki (mayaeh) (*Japanese*) -- Mélanie Chauvel (ariasuni) (*French, Arabic, Czech, German, Greek, Hungarian, Slovenian, Ukrainian, Chinese Simplified, Portuguese, Brazilian, Persian, Norwegian Nynorsk, Esperanto, Breton, Corsican, Sardinian, Kabyle*) -- T. E. Kalaycı (tekrei) (*Turkish*) -- Takeçi (polygoat) (*French, Italian*) +- Peterandre (*Norwegian Nynorsk, Norwegian*) +Mélanie Chauvel (ariasuni) (*French, Esperanto, Norwegian Nynorsk, Persian, Kabyle, Sardinian, Corsican, Breton, Portuguese, Brazilian, Arabic, Chinese Simplified, Ukrainian, Slovenian, Greek, German, Czech, Hungarian*) +- tzium (*Sardinian*) +- Diluns (*Occitan*) - Galician Translator (Galician_translator) (*Galician*) +- Marcin Mikołajczak (mkljczkk) (*Polish, Czech, Russian*) +- Jeff Huang (s8321414) (*Chinese Traditional*) +- Pixelcode (realpixelcode) (*German*) +- Allen Zhong (AstroProfundis) (*Chinese Simplified*) - lamnatos (*Greek*) - Sean Young (assanges) (*Chinese Traditional*) +- retiolus (*Catalan, French, Spanish*) - tolstoevsky (*Russian*) -- Ihor Hordiichuk (ihor_ck) (*Ukrainian*) - Ali Demirtaş (alidemirtas) (*Turkish*) -- Jasmine Cam Andrever (gourmas) (*Cornish*) +- J. Cam Andrever-Wright (gourmas) (*Cornish*) - coxde (*Chinese Simplified*) +- Dremski (*Bulgarian*) - gagik_ (*Armenian*) - Masoud Abkenar (mabkenar) (*Persian*) - arshat (*Kazakh*) -- Marcin Mikołajczak (mkljczkk) (*Czech, Polish, Russian*) -- Jeff Huang (s8321414) (*Chinese Traditional*) +- Ira (seefood) (*Hebrew*) +- Linerly (*Indonesian*) - Blak Ouille (BlakOuille16) (*French*) - e (diveedd) (*Kurmanji (Kurdish)*) - Em St Cenydd (cancennau) (*Welsh*) -- Diluns (*Occitan*) -- Nurul Azeera Hidayah @ Muhammad Nur Hidayat Yasuyoshi (MNH48.moe) (mnh48) (*Malay*) -- Tagomago (tagomago) (*French, Spanish*) -- Jurica (ahjk) (*Croatian*) -- Aditoo17 (*Czech*) - Tigran (tigransimonyan) (*Armenian*) +- Draacoun (*Portuguese, Brazilian*) +- REMOVED_USER (*Turkish*) +- Nurul Azeera Hidayah @ Muhammad Nur Hidayat Yasuyoshi (MNH48.moe) (mnh48) (*Malay*) +- Tagomago (tagomago) (*Spanish, French*) +- Ashun (ashune) (*Croatian*) +- Aditoo17 (*Czech*) - vishnuvaratharajan (*Tamil*) - pulmonarycosignerkindness (*Swedish*) - calypsoopenmail (*French*) -- cybergene (cyber-gene) (*Japanese*) +- REMOVED_USER (*Kabyle*) +- snerk (*Norwegian Nynorsk*) +- Sebastian (SebastianBerlin) (*German*) +- lisawe (*Norwegian*) +- serratrad (*Catalan*) - Bran_Ruz (*Breton*) +- ViktorOn (*Russian, Danish*) - Gearguy (*Finnish*) +- Andi Chandler (andibing) (*English, United Kingdom*) +- Tor Egil Hoftun Kvæstad (Taloran) (*Norwegian Nynorsk*) - GiorgioHerbie (*Italian*) -- Balázs Meskó (mesko.balazs) (*Czech, Hungarian*) -- Martin (miles) (*Slovenian*) +- හෙළබස සමූහය (HelaBasa) (*Sinhala*) +- kat (katktv) (*Ukrainian, Russian*) +- Yi-Jyun Pan (pan93412) (*Chinese Traditional*) +- Fjoerfoks (fryskefirefox) (*Frisian, Dutch*) +- Eshagh (eshagh79) (*Persian*) - regulartranslator (*Portuguese, Brazilian*) - Saederup92 (*Danish*) -- ozzii (*French, Serbian (Cyrillic)*) +- ozzii (Serbian (Cyrillic), French) - Irfan (Irfan_Radz) (*Malay*) -- Yi-Jyun Pan (pan93412) (*Chinese Traditional*) - ClearlyClaire (*French, Icelandic*) +- Sokratis Alichanidis (alichani) (*Greek*) +- Jiří Podhorecký (trendspotter) (*Czech*) - Akarshan Biswas (biswasab) (*Bengali, Sanskrit*) +- Robert Wolniak (Szkodnix) (*Polish*) +- Jan Lindblom (janlindblom) (*Swedish*) +- Dewi (Unkorneg) (*Breton, French*) - Kristoffer Grundström (Umeaboy) (*Swedish*) - Rafael H L Moretti (Moretti) (*Portuguese, Brazilian*) - d5Ziif3K (*Ukrainian*) -- හෙළබස (HelaBasa) (*Sinhala*) -- xpil (*Polish*) -- Rojdayek (*Kurmanji (Kurdish)*) +- Nemu (Dormemulo) (*Esperanto, French, Italian, Ido, Afrikaans*) +- Johan Mynhardt (johanmynhardt) (*Afrikaans*) +- Rojdayek (Kurmanji (Kurdish)) +- REMOVED_USER (*Portuguese, Brazilian*) +- GCardo (*Portuguese, Brazilian*) - christalleras (*Norwegian Nynorsk*) -- Allen Zhong (AstroProfundis) (*Chinese Simplified*) -- Taloran (*Norwegian Nynorsk*) -- Sokratis Alichanidis (alichani) (*Greek*) +- diorama (*Italian*) +- Jaz-Michael King (jazmichaelking) (*Welsh*) - Catalina (catalina.st) (*Romanian*) -- otrapersona (*Spanish, Spanish, Mexico*) - Ryo (DrRyo) (*Korean*) -- Mauzi (*German, Swedish*) +- otrapersona (*Spanish, Mexico, Spanish*) +- Frontier Translation Ltd. (frontier-translation) (*Chinese Simplified*) +- Mauzi (*Swedish, German*) +- Clopsy87 (*Italian*) - atarashiako (*Chinese Simplified*) - erictapen (*German*) +- zhen liao (az0189re) (*Chinese Simplified*) - 101010 (101010pl) (*Polish*) -- Jaz-Michael King (jazmichaelking) (*Welsh*) +- REMOVED_USER (*Norwegian*) - axi (*Finnish*) - silkevicious (*Italian*) - Floxu (fredrikdim1) (*Norwegian Nynorsk*) -- NadieAishi (*Spanish, Spanish, Mexico*) +- Nic Dafis (nicdafis) (*Welsh*) +- NadieAishi (*Spanish, Mexico, Spanish*) +- 戸渡生野 (aomyouza2543) (*Thai*) +- Tjipke van der Heide (vancha) (*Frisian*) +- Erik Mogensen (mogsie) (*Norwegian*) +- pomoch (*Chinese Traditional, Hong Kong*) +- Alexandre Brito (alexbrito) (*Portuguese, Brazilian*) - Bertil Hedkvist (Berrahed) (*Swedish*) - William(ѕ)ⁿ (wmlgr) (*Spanish*) -- Eshagh (eshagh79) (*Persian*) - LNDDYL (*Chinese Traditional*) +- tanketom (*Norwegian Nynorsk*) - norayr (*Armenian*) +- l3ycle (*German*) +- strubbl (*German*) - Satnam S Virdi (pika10singh) (*Punjabi*) - Tiago Epifânio (tfve) (*Portuguese*) - Mentor Gashi (mentorgashi.com) (*Albanian*) +- Sid (autinerd1) (*Dutch, German*) - carolinagiorno (*Portuguese, Brazilian*) +- Em_i (emiliencoss) (*French*) +- Liam O (liamoshan) (*Irish*) - Hayk Khachatryan (brutusromanus123) (*Armenian*) - Roby Thomas (roby.thomas) (*Malayalam*) +- ThonyVezbe (*Breton*) +- Percy (kecrily) (*Chinese Simplified*) - Bharat Kumar (Marwari) (*Hindi*) - Austra Muizniece (aus_m) (*Latvian*) -- ThonyVezbe (*Breton*) +- Urubu Lageano (urubulageano) (*Portuguese, Brazilian*) - Just Spanish (7_7) (*Spanish, Mexico*) - v4vachan (*Malayalam*) - bilfri (*Danish*) +- IamHappy (mrmx2013) (*Ukrainian*) - dkdarshan760 (*Sanskrit*) - Timur Seber (seber) (*Tatar*) - Slimane Selyan AMIRI (SelyanKab) (*Kabyle*) - VaiTon (*Italian*) -- Vik (ViktorOn) (*Danish, Russian*) - tykayn (*French*) -- GCardo (*Portuguese, Brazilian*) +- Abdulaziz Aljaber (kuwaitna) (*Arabic*) - taoxvx (*Danish*) -- Hrach Mkrtchyan (mhrach87) (*Armenian*) +- Hrach Mkrtchyan (hrachmk) (*Armenian*) - sabri (thetomatoisavegetable) (*Spanish, Spanish, Argentina*) -- Dewi (Unkorneg) (*French, Breton*) - CoelacanthusHex (*Chinese Simplified*) - Rhys Harrison (rhedders) (*Esperanto*) -- syncopams (*Chinese Simplified, Chinese Traditional, Chinese Traditional, Hong Kong*) +- syncopams (*Chinese Traditional, Hong Kong, Chinese Traditional, Chinese Simplified*) - SteinarK (*Norwegian Nynorsk*) +- REMOVED_USER (*Standard Moroccan Tamazight*) - Maxine B. Vågnes (vagnes) (*Norwegian, Norwegian Nynorsk*) -- Hakim Oubouali (zenata1) (*Standard Moroccan Tamazight*) +- Rikard Linde (rikardlinde) (*Swedish*) - ahangarha (*Persian*) - Lalo Tafolla (lalotafo) (*Spanish, Spanish, Mexico*) -- dashersyed (*Urdu (Pakistan)*) +- Larissa Cruz (larissacruz) (*Portuguese, Brazilian*) +- dashersyed (Urdu (Pakistan)) +- camerongreer21 (*English, United Kingdom*) +- REMOVED_USER (*Ukrainian*) - Conight Wang (xfddwhh) (*Chinese Simplified*) - liffon (*Swedish*) - Damjan Dimitrioski (gnud) (*Macedonian*) -- Rikard Linde (rikardlinde) (*Swedish*) - rondnunes (*Portuguese, Brazilian*) -- strubbl (*German*) - PPNplus (*Thai*) -- Frontier Translation Ltd. (frontier-translation) (*Chinese Simplified*) -- shioko (*Chinese Simplified*) -- Kahina Mess (K_hina) (*Kabyle*) -- ZiriSut (*Kabyle*) -- Groosha (groosha) (*Russian*) -- Hexandcube (hexandcube) (*Polish*) -- Gwenn (Belvar) (*Breton*) +- Steven Ritchie (Steaph38) (*Scottish Gaelic*) - 游荡 (MamaShip) (*Chinese Simplified*) -- StanleyFrew (*French*) -- mynameismonkey (*Welsh*) - Edward Navarro (EdwardNavarro) (*Spanish*) +- shioko (*Chinese Simplified*) +- gnu-ewm (*Polish*) +- Kahina Mess (K_hina) (*Kabyle*) +- Hexandcube (hexandcube) (*Polish*) +- Scott Starkey (yekrats) (*Esperanto*) +- ZiriSut (*Kabyle*) +- FreddyG (*Esperanto*) +- mynameismonkey (*Welsh*) +- Groosha (groosha) (*Russian*) +- Gwenn (Belvar) (*Breton*) +- StanleyFrew (*French*) +- cathalgarvey (*Irish*) - Nikita Epifanov (Nikets) (*Russian*) +- REMOVED_USER (*Finnish*) - jaranta (*Finnish*) - Slobodan Simić (Слободан Симић) (slsimic) (*Serbian (Cyrillic)*) -- retiolus (*Catalan*) -- iVampireSP (*Chinese Simplified, Chinese Traditional*) +- iVampireSP (*Chinese Traditional, Chinese Simplified*) - Felicia Jongleur (midsommar) (*Swedish*) - Denys (dector) (*Ukrainian*) - Mo_der Steven (SakuraPuare) (*Chinese Simplified*) +- REMOVED_USER (*German*) +- Kishin Sagume (kishinsagi) (*Chinese Simplified*) +- bennepharaoh (*Chinese Simplified*) - Vanege (*Esperanto*) +- hibiya inemuri (hibiya) (*Korean*) - Jess Rafn (therealyez) (*Danish*) - Stasiek Michalski (hellcp) (*Polish*) - dxwc (*Bengali*) -- Filbert Salim (gamesbert6) (*Indonesian*) +- Heran Membingung (heranmembingung) (*Indonesian*) +- Parodper (*Galician*) +- rbnval (*Catalan*) - Liboide (*Spanish*) +- hemnaren (*Norwegian Nynorsk*) - jmontane (*Catalan*) +- Andy Kleinert (AndyKl) (*German*) - Chris Kay (chriskarasoulis) (*Greek*) +- CrowdinBRUH (*Vietnamese*) +- Rhoslyn Prys (Rhoslyn) (*Welsh*) +- abidin toumi (Zet24) (*Arabic*) - Johan Schiff (schyffel) (*Swedish*) - Rex_sa (rex07) (*Arabic*) +- amedcj (*Kurmanji (Kurdish)*) - Arunmozhi (tecoholic) (*Tamil*) - zer0-x (ZER0-X) (*Arabic*) -- kat (katktv) (*Russian, Ukrainian*) +- staticnoisexyz (*Czech*) - Lauren Liberda (selfisekai) (*Polish*) +- Michael Zeevi (maze88) (*Hebrew*) - oti4500 (*Hungarian, Ukrainian*) - Delta (Delta-Time) (*Japanese*) -- Michael Zeevi (maze88) (*Hebrew*) +- Marc Antoine Thevenet (MATsxm) (*French*) +- AlexKoala (alexkoala) (*Korean*) - SarfarazAhmed (*Urdu (Pakistan)*) +- Ahmad Dakhlallah (MIUIArabia) (*Arabic*) - Mats Gunnar Ahlqvist (goqbi) (*Swedish*) - diazepan (*Spanish, Spanish, Argentina*) +- Tiger:blank (tsagaanbar) (*Chinese Simplified*) +- REMOVED_USER (*Chinese Simplified*) - marzuquccen (*Kabyle*) - atriix (*Swedish*) +- Laur (melaur) (*Romanian*) - VictorCorreia (victorcorreia1984) (*Afrikaans*) - Remito (remitocat) (*Japanese*) -- AlexKoala (alexkoala) (*Korean*) - Juan José Salvador Piedra (JuanjoSalvador) (*Spanish*) -- BurekzFinezt (*Serbian (Cyrillic)*) +- REMOVED_USER (*Norwegian*) - 森の子リスのミーコの大冒険 (Phroneris) (*Japanese*) +- Gim_Garam (*Korean*) +- BurekzFinezt (*Serbian (Cyrillic)*) +- Pēteris Caune (cuu508) (*Latvian*) - asnomgtu (*Hungarian*) +- bendigeidfran (*Welsh*) - SHeija (*Finnish*) - Врабац (Slovorad) (*Serbian (Cyrillic)*) - Dženan (Dzenan) (*Swedish*) -- Jack R (isaac.97_WT) (*Spanish*) +- Gabriel Beecham (lancet) (*Irish*) - antonyho (*Chinese Traditional, Hong Kong*) -- FreddyG (*Esperanto*) -- andruhov (*Russian, Ukrainian*) +- Jack R (isaac.97_WT) (*Spanish*) +- Henrik Mattsson-Mårn (rchk) (*Swedish*) +- Oguzhan Aydin (aoguzhan) (*Turkish*) +- Soran730 (*Chinese Simplified*) +- andruhov (*Ukrainian, Russian*) +- 北䑓如法 (Nyoho) (*Japanese*) - phena109 (*Chinese Traditional, Hong Kong*) -- Aryamik Sharma (Aryamik) (*Swedish, Hindi*) +- Aryamik Sharma (Aryamik) (*Hindi, Swedish*) - Unmual (*Spanish*) +- Tobias Bannert (toba) (*German*) - Adrián Graña (alaris83) (*Spanish*) -- cruz2020 (*Portuguese*) - vpei (*Chinese Simplified*) +- cruz2020 (*Portuguese*) +- papapep (h9f2ycHh-ktOd6_Y) (*Catalan*) +- Roj (roj1512) (*Sorani (Kurdish), Kurmanji (Kurdish)*) - るいーね (ruine) (*Japanese*) +- aujawindar (*Norwegian Nynorsk*) +- irithys (*Chinese Simplified*) - Sam Tux (imahbub) (*Bengali*) - igordrozniak (*Polish*) +- Johannes Nilsson (nlssn) (*Swedish*) - Michał Sidor (michcioperz) (*Polish*) - Isaac Huang (caasih) (*Chinese Traditional*) - AW Unad (awcodify) (*Indonesian*) - 1Alino (*Slovak*) - Cutls (cutls) (*Japanese*) -- Goudarz Jafari (Goudarz) (*Persian*) -- Parodper (*Galician*) +- Goudarz Jafari (GoudarzJafari) (*Persian*) +- Daniel Strömholm (stromholm) (*Swedish*) - 1 (Ipsumry) (*Spanish*) - Falling Snowdin (tghgg) (*Vietnamese*) +- Paulino Michelazzo (pmichelazzo) (*Portuguese, Brazilian*) +- Y.Yamashiro (uist1idrju3i) (*Japanese*) - Rasmus Lindroth (RasmusLindroth) (*Swedish*) - Gianfranco Fronteddu (gianfro.gianfro) (*Sardinian*) - Andrea Lo Iacono (niels0n) (*Italian*) - fucsia (*Italian*) - Vedran Serbu (SerenoXGen) (*Croatian*) +- Raphael Das Gupta (das-g) (*Esperanto, German*) +- yanchan09 (*Estonian*) +- ainmeolai (*Irish*) +- REMOVED_USER (*Norwegian*) +- mian42 (*Bulgarian*) - Kinshuk Sunil (kinshuksunil) (*Hindi*) -- Ullas Joseph (ullasjoseph) (*Malayalam*) - al_._ (*German, Russian*) -- Matthías Páll Gissurarson (icetritlo) (*Icelandic*) -- Percy (kecrily) (*Chinese Simplified*) -- Yu-Pai Liu (tedliou) (*Chinese Traditional*) -- KcKcZi (*Chinese Simplified*) -- Amarin Cemthong (acitmaster) (*Thai*) -- Johannes Nilsson (nlssn) (*Swedish*) +- Ullas Joseph (ullasjoseph) (*Malayalam*) +- sanoth (*Swedish*) +- Aftab Alam (iaftabalam) (*Hindi*) +- frumble (*German*) - juanda097 (juanda-097) (*Spanish*) +- Matthías Páll Gissurarson (icetritlo) (*Icelandic*) +- Russian Retro (retrograde) (*Russian*) +- KcKcZi (*Chinese Simplified*) +- Yu-Pai Liu (tedliou) (*Chinese Traditional*) +- Amarin Cemthong (acitmaster) (*Thai*) +- Etinew (*Hebrew*) - xsml (*Chinese Simplified*) +- S.J. L. (samijuhanilii) (*Finnish*) - Anunnakey (*Macedonian*) - erikkemp (*Dutch*) +- Tsl (muun) (*Chinese Simplified*) +- Renato "Lond" Cerqueira (renatolond) (*Portuguese, Brazilian*) +- Úna-Minh Kavanagh (yunitex) (*Irish*) +- kongk (*Norwegian Nynorsk*) - erikstl (*Esperanto*) - twpenguin (*Chinese Traditional*) +- JeremyStarTM (*German*) - Po-chiang Chao (bobchao) (*Chinese Traditional*) - Marcus Myge (mygg-priv) (*Norwegian*) - Esther (esthermations) (*Portuguese*) +- Jiri Grönroos (spammemoreplease) (*Finnish*) - MadeInSteak (*Finnish*) +- witoharmuth (*Swedish*) +- MESHAL45 (*Arabic*) +- mcdutchie (*Dutch*) +- Michal Špondr (michalspondr) (*Czech*) - t_aus_m (*German*) -- serapolis (*Japanese, Chinese Simplified, Chinese Traditional, Chinese Traditional, Hong Kong*) +- kaki7777 (*Japanese, Chinese Traditional*) - Heimen Stoffels (Vistaus) (*Dutch*) +- serapolis (*Chinese Traditional, Hong Kong, Chinese Traditional, Japanese, Chinese Simplified*) - Rajarshi Guha (rajarshiguha) (*Bengali*) +- Amir Reza (ElAmir) (*Persian*) +- REMOVED_USER (*Norwegian*) +- MohammadSaleh Kamyab (mskf1383) (*Persian*) +- REMOVED_USER (*Romanian*) - Gopal Sharma (gopalvirat) (*Hindi*) +- Вероніка Някшу (pampushkaveronica) (*Russian, Romanian*) - Linnéa (lesbian_subnet) (*Swedish*) -- 北䑓如法 (Nyoho) (*Japanese*) -- abidin toumi (Zet24) (*Arabic*) -- Tofiq Abdula (Xwla) (*Sorani (Kurdish)*) +- Valentin (HDValentin) (*German*) +- dragnucs2 (*Arabic*) - Carlos Solís (csolisr) (*Esperanto*) -- Yamagishi Kazutoshi (ykzts) (*Japanese, Vietnamese, Icelandic, Sorani (Kurdish)*) +- Tofiq Abdula (Xwla) (*Sorani (Kurdish)*) +- halcek (*Slovak*) +- Tobias Kunze (rixxian) (*German*) - Parthan S Ramanujam (parthan) (*Tamil*) - Kasper Nymand (KasperNymand) (*Danish*) -- subram (*Turkish*) - TS (morte) (*Finnish*) -- SensDeViata (*Ukrainian*) +- REMOVED_USER (*German*) +- REMOVED_USER (*Basque*) +- subram (*Turkish*) +- Gudwin (*Spanish, Mexico, Spanish*) - Ptrcmd (ptrcmd) (*Chinese Traditional*) +- shmuelHal (*Hebrew*) +- SensDeViata (*Ukrainian*) - megaleo (*Portuguese, Brazilian*) +- Acursen (*German*) +- NurKai Kai (nurkaiyttv) (*German*) +- Guttorm (ghveem) (*Norwegian Nynorsk*) - SergioFMiranda (*Portuguese, Brazilian*) -- hiroTS (*Chinese Traditional*) +- Danni Lundgren (dannilundgren) (*Danish*) - Vivek K J (Vivekkj) (*Malayalam*) -- arielcostas3 (*Galician*) -- johne32rus23 (*Russian*) -- AzureNya (*Chinese Simplified*) -- OctolinGamer (octolingamer) (*Portuguese, Brazilian*) +- hiroTS (*Chinese Traditional*) +- teadesu (*Portuguese, Brazilian*) +- petartrajkov (*Macedonian*) +- Ariel Costas (arielcostas3) (*Galician*) +- Ch. (sftblw) (*Korean*) +- Rintan (*Japanese*) +- Jair Henrique (jairhenrique) (*Portuguese, Brazilian*) +- sorcun (*Turkish*) - filippodb (*Italian*) +- johne32rus23 (*Russian*) +- OctolinGamer (octolingamer) (*Portuguese, Brazilian*) +- AzureNya (*Chinese Simplified*) - Ram varma (ram4varma) (*Tamil*) +- REMOVED_USER (Sorani (Kurdish)) +- REMOVED_USER (*Portuguese, Brazilian*) +- seanmhade (*Irish*) - sanser (*Russian*) -- Y.Yamashiro (uist1idrju3i) (*Japanese*) +- Vijay (vijayatmin) (*Tamil*) +- Anomalion (*German*) - Pukima (Pukimaa) (*German*) -- diorama (*Italian*) -- frumble (*German*) +- Curtis Lee (CansCurtis) (*Chinese Traditional*) +- โบโลน่าไวรัส (nullxyz_) (*Thai*) +- ふぁーらんど (farland1717) (*Japanese*) +- 3wen (*Breton*) +- rlafuente (*Portuguese*) +- Ильзира Рахматуллина (rahmatullinailzira53) (*Tatar*) +- Code Man (codemansrc) (*Russian*) +- Philip Gillißen (guerda) (*German*) - Daniel Dimitrov (daniel.dimitrov) (*Bulgarian*) +- Anton (atjn) (*Danish*) - kekkepikkuni (*Tamil*) - MODcraft (*Chinese Simplified*) - oorsutri (*Tamil*) +- wortfeld (*German*) - Neo_Chen (NeoChen1024) (*Chinese Traditional*) +- Stereopolex (*Polish*) +- NxOne14 (*Bulgarian*) +- Juan Ortiz (Kloido) (*Spanish, Catalan*) - Nithin V (Nithin896) (*Tamil*) +- strikeCunny2245 (*Icelandic*) - Miro Rauhala (mirorauhala) (*Finnish*) +- nicoduesing (duconi) (*German, Esperanto*) +- Gnonthgol (*Norwegian Nynorsk*) +- WKobes (*Dutch*) - Oymate (*Bengali*) +- mikwee (*Hebrew*) +- EzigboOmenana (*Igbo, Cornish*) +- yan Wato (janWato) (*Hindi*) +- Papuass (*Latvian*) +- Vincent Orback (vincentorback) (*Swedish*) +- chettoy (*Chinese Simplified*) +- 19 (nineteen) (*Chinese Simplified*) - ಚಿರಾಗ್ ನಟರಾಜ್ (chiraag-nataraj) (*Kannada*) +- Layik Hama (layik) (*Sorani (Kurdish)*) - Guillaume Turchini (orion78fr) (*French*) +- Andri Yngvason (andryng) (*Icelandic*) - Aswin C (officialcjunior) (*Malayalam*) -- Ganesh D (auntgd) (*Marathi*) - Yuval Nehemia (yuvalne) (*Hebrew*) - mawoka-myblock (mawoka) (*German*) -- dragnucs2 (*Arabic*) +- Ganesh D (auntgd) (*Marathi*) +- Lens0021 (lens0021) (*Korean*) +- An Gafraíoch (angafraioch) (*Irish*) +- Michael Smith (michaelshmitty) (*Dutch*) - Ryan Ho (koungho) (*Chinese Traditional*) -- Tejas Harad (h_tejas) (*Marathi*) +- tunisiano187 (*French*) +- Peter van Mever (SpacemanSpiff) (*Dutch*) - Pedro Henrique (exploronauta) (*Portuguese, Brazilian*) -- Amir Reza (ElAmir) (*Persian*) -- Tatsuto "Laminne" Yamamoto (laminne) (*Japanese*) +- REMOVED_USER (*Esperanto, Italian, Japanese*) +- Tejas Harad (h_tejas) (*Marathi*) +- Balázs Meskó (meskobalazs) (*Hungarian*) - Vasanthan (vasanthan) (*Tamil*) +- Tatsuto "Laminne" Yamamoto (laminne) (*Japanese*) +- slbtty (shenlebantongying) (*Chinese Simplified*) - 硫酸鶏 (acid_chicken) (*Japanese*) - programizer (*German*) +- guessimmaterialgrl (*Chinese Simplified*) - clarmin b8 (clarminb8) (*Sorani (Kurdish)*) +- Maria Riegler (riegler3m) (*German*) - manukp (*Malayalam*) -- psymyn (*Hebrew*) - earth dweller (sanethoughtyt) (*Marathi*) +- psymyn (*Hebrew*) +- Aaraon Thomas (aaraon) (*Portuguese, Brazilian*) +- Rafael Viana (rafacnec) (*Portuguese, Brazilian*) - Marek Ľach (marek-lach) (*Slovak*) - meijerivoi (toilet) (*Finnish*) - essaar (*Tamil*) -- Nemuj (Dentrado) (*Japanese, Esperanto*) - serubeena (*Swedish*) -- Rintan (*Japanese*) -- Karol Kosek (krkkPL) (*Polish*) +- RqndomHax (*French*) +- REMOVED_USER (*Polish*) +- ギャラ (gyara) (*Chinese Simplified, Japanese*) - Khó͘ Tiatlêng (khotiatleng) (*Chinese Traditional, Taigi*) -- valarivan (*Tamil*) -- Hernik (hernik27) (*Czech*) - revarioba (*Spanish*) - friedbeans (*Croatian*) +- An (AnTheMaker) (*German*) - kuchengrab (*German*) +- Hernik (hernik27) (*Czech*) +- valarivan (*Tamil*) +- אדם לוין (adamlevin) (*Hebrew*) +- Vít Horčička (legvita123) (*Czech*) - Abi Turi (abi123) (*Georgian*) +- Thomas Munkholt (munkholt) (*Danish*) +- pparescasellas (*Catalan*) - Hinaloe (hinaloe) (*Japanese*) -- Sebastián Andil (Selrond) (*Slovak*) - Ifnuth (*German*) -- Asbjørn Olling (a2) (*Danish*) +- Sebastián Andil (Selrond) (*Slovak*) +- boni777 (*Chinese Simplified*) - KEINOS (*Japanese*) -- Balázs Meskó (meskobalazs) (*Hungarian*) -- Artem Mikhalitsin (artemmikhalitsin) (*Russian*) -- Algustionesa Yoshi (algustionesa) (*Indonesian*) -- Bottle (suryasalem2010) (*Tamil*) +- Asbjørn Olling (a2) (*Danish*) +- REMOVED_USER (*Chinese Traditional, Hong Kong*) +- DarkShy Community (ponyfrost.mc) (*Russian*) +- Dennis Reimund (reimunddennis7) (*German*) +- jocafeli (*Spanish, Mexico*) - Wrya ali (John12) (*Sorani (Kurdish)*) +- Bottle (suryasalem2010) (*Tamil*) +- Algustionesa Yoshi (algustionesa) (*Indonesian*) - JzshAC (*Chinese Simplified*) +- Artem Mikhalitsin (artemmikhalitsin) (*Russian*) - siamano (*Thai, Esperanto*) -- gnu-ewm (*Polish*) -- Antillion (antillion99) (*Spanish*) +- KARARTI44 (kararti44) (*Turkish*) +- c0c (*Irish*) +- Stefano S. (Sting1_JP) (*Italian*) +- tommil (*Finnish*) +- Ignacio Lis (ilis) (*Galician*) - Steven Tappert (sammy8806) (*German*) -- Reg3xp (*Persian*) +- Antillion (antillion99) (*Spanish*) +- K.B.Dharun Krishna (kbdharun) (*Tamil*) - Wassim EL BOUHAMIDI (elbouhamidiw) (*Arabic*) +- Reg3xp (*Persian*) +- florentVgn (*French*) +- Matt (Exbu) (*Dutch*) - Maciej Błędkowski (mble) (*Polish*) - gowthamanb (*Tamil*) - hiphipvargas (*Portuguese*) -- tunisiano187 (*French*) +- GabuVictor (*Portuguese, Brazilian*) +- Pverte (*French*) +- REMOVED_USER (*Spanish*) +- Surindaku (*Chinese Simplified*) - Arttu Ylhävuori (arttu.ylhavuori) (*Finnish*) -- Ch. (sftblw) (*Korean*) -- eorn (*Breton*) +- Pabllo Soares (pabllosoarez) (*Portuguese, Brazilian*) - Jona (88wcJoWl) (*Spanish*) -- Mikkel B. Goldschmidt (mikkelbjoern) (*Danish*) -- Timo Tijhof (Krinkle) (*Dutch*) - Ka2n (kaanmetu) (*Turkish*) - tctovsli (*Norwegian Nynorsk*) -- mecqor labi (mecqorlabi) (*Persian*) -- Odyssey346 (alexader612) (*Norwegian*) -- vjasiegd (*Polish*) -- Eban (ebanDev) (*French, Esperanto*) +- Timo Tijhof (Krinkle) (*Dutch*) - SamitiMed (samiti3d) (*Thai*) +- Mikkel B. Goldschmidt (mikkelbjoern) (*Danish*) +- Odyssey346 (alexader612) (*Norwegian*) +- mecqor labi (mecqorlabi) (*Persian*) +- Cù Huy Phúc Khang (taamee) (*Vietnamese*) +- Oskari Lavinto (olavinto) (*Finnish*) +- Philippe Lemaire (philippe-lemaire) (*Esperanto*) +- vjasiegd (*Polish*) +- Eban (ebanDev) (*Esperanto, French*) - Nícolas Lavinicki (nclavinicki) (*Portuguese, Brazilian*) +- REMOVED_USER (*Portuguese, Brazilian*) - Rekan Adl (rekan-adl1) (*Sorani (Kurdish)*) -- Antara2Cinta (Se7enTime) (*Indonesian*) -- Yassine Aït-El-Mouden (yaitelmouden) (*Standard Moroccan Tamazight*) - VSx86 (*Russian*) - umelard (*Hebrew*) +- Antara2Cinta (Se7enTime) (*Indonesian*) +- Lucas_NL (*Dutch*) +- Yassine Aït-El-Mouden (yaitelmouden) (*Standard Moroccan Tamazight*) +- Mathieu Marquer (slasherfun) (*French*) +- Haerul Fuad (Dokuwiki) (*Indonesian*) - parnikkapore (*Thai*) -- Lagash (lagash) (*Esperanto*) +- Michelle M (MichelleMMM) (*Dutch*) +- malbona (*Esperanto*) - Sherwan Othman (sherwanothman11) (*Sorani (Kurdish)*) -- SKELET (*Danish*) -- Exbu (*Dutch*) +- Lagash (lagash) (*Esperanto*) - Chine Sebastien (chine.sebastien) (*French*) -- Fei Yang (Fei1Yang) (*Chinese Traditional*) +- bgme (*Chinese Simplified*) +- Rafael V. (Rafaeeel) (*Portuguese, Brazilian*) +- SKELET (*Danish*) - A A (sebastien.chine) (*French*) +- Project Z (projectz.1338) (*German*) +- Fei Yang (Fei1Yang) (*Chinese Traditional*) - Ğani (freegnu) (*Tatar*) -- enipra (*Armenian*) -- Renato "Lond" Cerqueira (renatolond) (*Portuguese, Brazilian*) - musix (*Persian*) -- ギャラ (gyara) (*Japanese, Chinese Simplified*) +- REMOVED_USER (*German*) - ALEM FARID (faridatcemlulaqbayli) (*Kabyle*) +- Jean-Pierre MÉRESSE (Jipem) (*French*) +- enipra (*Armenian*) +- Serhiy Dmytryshyn (dies) (*Ukrainian*) +- Eric Brulatout (ebrulato) (*Esperanto*) - Hougo (hougo) (*French*) -- Mordi Sacks (MordiSacks) (*Hebrew*) -- Trinsec (*Dutch*) -- Adrián Lattes (haztecaso) (*Spanish*) +- Sonstwer (*German*) +- Pedro Fernandes (djprmf) (*Portuguese*) +- REMOVED_USER (*Norwegian*) - Tigran's Tips (tigrank08) (*Armenian*) - 亜緯丹穂 (ayiniho) (*Japanese*) +- maisui (*Chinese Simplified*) +- Trinsec (*Dutch*) +- Adrián Lattes (haztecaso) (*Spanish*) +- webkinzfrog (*Polish*) - ybardapurkar (*Marathi*) +- Mordi Sacks (MordiSacks) (*Hebrew*) +- Manuel Tassi (Mannivu) (*Italian*) - Szabolcs Gál (galszabolcs810624) (*Hungarian*) -- Vladislav Săcrieriu (vladislavs14) (*Romanian*) +- rikrise (*Swedish*) +- when_hurts (*German*) +- Wojciech Bigosinski (wbigos2) (*Polish*) +- Vladislav S (vladislavs) (*Romanian*) +- mikslatvis (*Latvian*) +- MartinAlstad (*Norwegian*) - TracyJacks (*Chinese Simplified*) - rasheedgm (*Kannada*) -- danreznik (*Hebrew*) - Cirelli (cirelli94) (*Italian*) +- danreznik (*Hebrew*) +- iraline (*Portuguese, Brazilian*) +- Seán Mór (seanmor3) (*Irish*) +- vianaweb (*Portuguese, Brazilian*) - Siddharastro Doraku (sidharastro) (*Spanish, Mexico*) -- lexxai (*Ukrainian*) +- REMOVED_USER (*Spanish*) - omquylzu (*Latvian*) +- Arthegor (*French*) - Navjot Singh (nspeaks) (*Hindi*) - mkljczk (*Polish*) - Belkacem Mohammed (belkacem77) (*Kabyle*) +- Showfom (*Chinese Simplified*) +- xemyst (*Catalan*) +- lexxai (*Ukrainian*) - c6ristian (*German*) -- damascene (*Arabic*) +- svetlozaurus (*Bulgarian*) - Ozai (*German*) +- damascene (*Arabic*) +- Jan Ainali (Ainali) (*Swedish*) - Sahak Petrosyan (petrosyan) (*Armenian*) +- Metehan Özyürek (MetehanOzyurek) (*Turkish*) +- Сау Рэмсон (sawrams) (*Russian*) +- metehan-arslan (*Turkish*) - Viorel-Cătălin Răpițeanu (rapiteanu) (*Romanian*) -- Siddhartha Sarathi Basu (quinoa_biryani) (*Bengali*) +- Sébastien SERRE (sebastienserre) (*French*) +- Eugen Caruntu (eugencaruntu) (*Romanian*) +- Kevin Scannell (kscanne) (*Irish*) - Pachara Chantawong (pachara2202) (*Thai*) -- Skew (noan.perrot) (*French*) +- bensch.dev (*German*) +- LIZH (*French*) +- Siddhartha Sarathi Basu (quinoa_biryani) (*Bengali*) +- Overflow Cat (OverflowCat) (*Chinese Traditional, Chinese Simplified*) +- Stephan Voeth (svoeth) (*German*) - Zijian Zhao (jobs2512821228) (*Chinese Simplified*) -- Overflow Cat (OverflowCat) (*Chinese Simplified, Chinese Traditional*) +- bugboy-20 (*Esperanto, Italian*) +- SouthFox (*Chinese Simplified*) +- Noan (SkewRam) (*French*) - dbeaver (*German*) -- zordsdavini (*Lithuanian*) -- Guru Prasath Anandapadmanaban (guruprasath) (*Tamil*) - turtle836 (*German*) +- Guru Prasath Anandapadmanaban (guruprasath) (*Tamil*) +- zordsdavini (*Lithuanian*) +- Susanna Ånäs (susanna.anas) (*Finnish*) +- Alessandro (alephoto85) (*Italian*) - Marcepanek_ (thekingmarcepan) (*Polish*) -- Feruz Oripov (FeruzOripov) (*Russian*) +- Choi Younsoo (usagicore) (*Korean*) - Yann Aguettaz (yann-a) (*French*) +- zylosophe (*French*) +- Celso Fernandes (Celsof) (*Portuguese, Brazilian*) +- Feruz Oripov (FeruzOripov) (*Russian*) +- REMOVED_USER (*French*) +- Bui Huy Quang (bhuyquang1) (*Vietnamese*) +- bogomilshopov (*Bulgarian*) +- REMOVED_USER (*Burmese*) +- Kaede (kaedech) (*Japanese*) - Mick Onio (xgc.redes) (*Asturian*) - Malik Mann (dermalikmann) (*German*) - padulafacundo (*Spanish*) -- dadosch (*German*) -- hg6 (*Hindi*) -- Tianqi Zhang (tina.zhang040609) (*Chinese Simplified*) - r3dsp1 (*Chinese Traditional, Hong Kong*) -- johannes hove-henriksen (J0hsHH) (*Norwegian*) +- dadosch (*German*) +- Tianqi Zhang (tina.zhang040609) (*Chinese Simplified*) +- HybridGlucose (*Chinese Traditional*) +- vmichalak (*French*) +- hg6 (*Hindi*) +- marivisales (*Portuguese, Brazilian*) - Orlando Murcio (Atos20) (*Spanish, Mexico*) -- cenegd (*Chinese Simplified*) -- Youngeon Lee (YoungeonLee) (*Korean*) -- shdy (*German*) -- Umi (mtrumi) (*Chinese Simplified, Chinese Traditional, Hong Kong*) +- maa123 (*Japanese*) +- Julian Doser (julian21) (*English, United Kingdom, German*) +- johannes hove-henriksen (J0hsHH) (*Norwegian*) +- Alexander Ivanov (Saiv46) (*Russian*) +- unstable.icu (*Chinese Simplified*) - Padraic Calpin (padraic-padraic) (*Slovenian*) -- Ильзира Рахматуллина (rahmatullinailzira53) (*Tatar*) +- Youngeon Lee (YoungeonLee) (*Korean*) +- LeJun (le-jun) (*French*) +- shdy (*German*) +- REMOVED_USER (*French*) +- Yonjae Lee (yonjlee) (*Korean*) +- cenegd (*Chinese Simplified*) - piupiupiudiu (*Chinese Simplified*) -- Pixelcode (realpixelcode) (*German*) -- Dennis Reimund (reimunddennis7) (*German*) +- Umi (mtrumi) (*Chinese Traditional, Hong Kong, Chinese Simplified*) - Yogesh K S (yogi) (*Kannada*) +- Ulong32 (*Japanese*) - Adithya K (adithyak04) (*Malayalam*) - DAI JIE (daijie) (*Chinese Simplified*) +- Mihael Budeč (milli.pretili) (*Croatian*) - Hugh Liu (youloveonlymeh) (*Chinese Simplified*) -- Rakino (rakino) (*Chinese Simplified*) - ZQYD (*Chinese Simplified*) - X.M (kimonoki) (*Chinese Simplified*) -- boni777 (*Chinese Simplified*) +- Rakino (rakino) (*Chinese Simplified*) +- paziy Georgi (paziygeorgi4) (*Dutch*) +- Komeil Parseh (mmdbalkhi) (*Persian*) - Jothipazhani Nagarajan (jothipazhani.n) (*Tamil*) -- Miquel Sabaté Solà (mssola) (*Catalan*) +- tikky9 (*Portuguese, Brazilian*) +- horsm (*Finnish*) +- BenJule (*German*) - Stanisław Jelnicki (JelNiSlaw) (*Polish*) +- Yananas (wangyanyan.hy) (*Chinese Simplified*) +- Vivamus (elaaksu) (*Turkish*) +- ihealyou (*Italian*) - AmazighNM (*Kabyle*) -- alnd hezh (alndhezh) (*Sorani (Kurdish)*) -- CloudSet (*Chinese Simplified*) -- Clash Clans (KURD12345) (*Sorani (Kurdish)*) -- Metehan Özyürek (MetehanOzyurek) (*Turkish*) -- Paula SIMON (EncoreEutIlFalluQueJeLeSusse) (*French*) -- Solid Rhino (SolidRhino) (*Dutch*) +- Miquel Sabaté Solà (mssola) (*Catalan*) +- residuum (*German*) - nua_kr (*Korean*) +- Andrea Mazzilli (andreamazzilli) (*Italian*) +- Paula SIMON (EncoreEutIlFalluQueJeLeSusse) (*French*) - hallomaurits (*Dutch*) -- 林水溶 (shuiRong) (*Chinese Simplified*) -- rikrise (*Swedish*) -- Takeshi Umeda (noellabo) (*Japanese*) -- k_taka (peaceroad) (*Japanese*) -- Sébastien Feugère (smonff) (*French*) -- Hallo Abdullah (hallo_hamza12) (*Sorani (Kurdish)*) +- Erfan Kheyrollahi Qaroğlu (ekm507) (*Persian*) +- REMOVED_USER (*Galician, Spanish*) +- alnd hezh (alndhezh) (*Sorani (Kurdish)*) +- Clash Clans (KURD12345) (*Sorani (Kurdish)*) +- ruok (*Chinese Simplified*) +- Frederik-FJ (*German*) +- CloudSet (*Chinese Simplified*) +- Solid Rhino (SolidRhino) (*Dutch*) - hussama (*Portuguese, Brazilian*) -- EzigboOmenana (*Cornish*) -- Robert Yano (throwcalmbobaway) (*Spanish, Mexico*) -- Yasin İsa YILDIRIM (redsfyre) (*Turkish*) -- PifyZ (*French*) -- Tagada (Tagadda) (*French*) -- eichkat3r (*German*) -- Ashok314 (ashok314) (*Hindi*) -- Zlr- (cZeler) (*French*) +- jazzynico (*French*) +- k_taka (peaceroad) (*Japanese*) +- 林水溶 (shuiRong) (*Chinese Simplified*) +- Peter Lutz (theellutzo) (*German*) +- Sébastien Feugère (smonff) (*French*) +- AnalGoddess770 (*Hebrew*) +- Sven Goller (svengoller) (*German*) +- Ahmet (ahmetlii) (*Turkish*) +- hosted22 (*German*) +- Hallo Abdullah (hallo_hamza12) (*Sorani (Kurdish)*) +- Karam Hamada (TheKaram) (*Arabic*) +- Takeshi Umeda (noellabo) (*Japanese*) - SnDer (*Dutch*) -- OminousCry (*Russian*) -- Adam Sapiński (Adamos9898) (*Polish*) -- Tom_ (*Czech*) +- Robert Yano (throwcalmbobaway) (*Spanish, Mexico*) +- Gustav Lindqvist (Reedyn) (*Swedish*) +- Dagur Ammendrup (dagurp) (*Icelandic*) - shafouz (*Portuguese, Brazilian*) -- Shrinivasan T (tshrinivasan) (*Tamil*) -- Kk (kishorkumara3) (*Kannada*) -- Swati Sani (swatisani) (*Urdu (Pakistan)*) -- papayaisnotafood (*Chinese Traditional*) -- さっかりんにーさん (saccharin23) (*Japanese*) +- Miguel Branco (mglbranco) (*Galician*) +- Sergey Panteleev (saundefined) (*Russian*) +- Tom_ (*Czech*) +- Zlr- (cZeler) (*French*) +- Ashok314 (ashok314) (*Hindi*) +- PifyZ (*French*) +- Zeyi Fan (fanzeyi) (*Chinese Simplified*) +- OminousCry (*Russian, Ukrainian*) +- Adam Sapiński (Adamos9898) (*Polish*) +- eichkat3r (*German*) +- Yasin İsa YILDIRIM (redsfyre) (*Turkish*) +- Tagada (Tagadda) (*French*) +- gasrios (*Portuguese, Brazilian*) +- 夜楓Yoka (Yoka2627) (*Chinese Simplified*) +- AniCommieDDR (*Russian*) +- Nathaël Noguès (NatNgs) (*French*) - Daniel M. (daniconil) (*Catalan*) - César Daniel Cavanzo Quintero (LeinadCQ) (*Esperanto*) -- Nathaël Noguès (NatNgs) (*French*) -- 夜楓Yoka (Yoka2627) (*Chinese Simplified*) +- Noam Tamim (noamtm) (*Hebrew*) +- papayaisnotafood (*Chinese Traditional*) +- さっかりんにーさん (saccharin23) (*Japanese*) +- Marcin Wolski (martinwolski) (*Polish*) +- REMOVED_USER (*Chinese Simplified*) +- Kk (kishorkumara3) (*Kannada*) +- Shrinivasan T (tshrinivasan) (*Tamil*) +- REMOVED_USER (Urdu (Pakistan)) +- Kakarico Bra (kakarico20) (*Portuguese, Brazilian*) +- Swati Sani (swatisani) (*Urdu (Pakistan)*) +- 快乐的老鼠宝宝 (LaoShuBaby) (*Chinese Simplified, Chinese Traditional*) - Mt Front (mtfront) (*Chinese Simplified*) -- Artem (Artem4ik) (*Russian*) -- Robin van der Vliet (RobinvanderVliet) (*Esperanto*) -- Tradjincal (tradjincal) (*French*) - SusVersiva (*Catalan*) +- REMOVED_USER (*Portuguese, Brazilian*) +- Avinash Mg (hatman290) (*Malayalam*) +- kruijs (*Dutch*) +- Artem (Artem4ik) (*Russian*) - Zinkokooo (*Basque*) -- Marvin (magicmarvman) (*German*) +- 劉昌賢 (twcctz500) (*Chinese Traditional*) - Vikatakavi (*Kannada*) +- Tradjincal (tradjincal) (*French*) +- Robin van der Vliet (RobinvanderVliet) (*Esperanto*) +- Marvin (magicmarvman) (*German*) - pullopen (*Chinese Simplified*) -- sergioaraujo1 (*Portuguese, Brazilian*) -- prabhjot (*Hindi*) -- CyberAmoeba (pseudoobscura) (*Chinese Simplified*) -- mmokhi (*Persian*) +- Tealk (*German*) +- tibequadorian (*German*) +- Henk Bulder (henkbulder) (*Dutch*) +- Edison Lee (edisonlee55) (*Chinese Traditional*) +- mpdude (*German*) +- Rijk van Geijtenbeek (rvangeijtenbeek) (*Dutch*) - Entelekheia-ousia (*Chinese Simplified*) +- REMOVED_USER (*Spanish*) +- sergioaraujo1 (*Portuguese, Brazilian*) - Livingston Samuel (livingston) (*Tamil*) +- mmokhi (*Persian*) - tsundoker (*Malayalam*) -- skaaarrr (*German*) -- Pierre Morvan (Iriep) (*Breton*) +- CyberAmoeba (pseudoobscura) (*Chinese Simplified*) +- prabhjot (*Hindi*) +- Ikka Putri (ikka240290) (*Indonesian, Danish, English, United Kingdom*) - Paz Galindo (paz.almendra.g) (*Spanish*) -- fedot (*Russian*) -- mkljczk (mykylyjczyk) (*Polish*) - Ricardo Colin (rysard) (*Spanish*) -- Philipp Fischbeck (PFischbeck) (*German*) +- Pierre Morvan (Iriep) (*Breton*) - oscfd (*Spanish*) +- Thies Mueller (thies00) (*German*) +- Lyra (teromene) (*French*) +- Kedr (lava20121991) (*Esperanto*) +- mkljczk (mykylyjczyk) (*Polish*) +- fedot (*Russian*) +- Philipp Fischbeck (PFischbeck) (*German*) +- Hasan Berkay Çağır (berkaycagir) (*Turkish*) +- Silvestri Nicola (nick99silver) (*Italian*) +- skaaarrr (*German*) +- Mo Rijndael (mo_rijndael) (*Russian*) +- tsesunnaallun (orezraey) (*Portuguese, Brazilian*) +- Lukas Fülling (lfuelling) (*German*) +- Algo (algovigura) (*Indonesian*) +- REMOVED_USER (*Spanish*) +- setthemfree (*Ukrainian*) +- i fly (ifly3years) (*Chinese Simplified*) +- ralozkolya (*Georgian*) - Zoé Bőle (zoe1337) (*German*) +- Ville Rantanen (vrntnn) (*Finnish*) - GaggiX (*Italian*) - JackXu (Merman-Jack) (*Chinese Simplified*) -- Lukas Fülling (lfuelling) (*German*) -- ralozkolya (*Georgian*) -- Jason Gibson (barberpike606) (*Slovenian, Chinese Simplified*) -- Dremski (*Bulgarian*) -- Kaede (kaedech) (*Japanese*) -- Aymeric (AymBroussier) (*French*) -- mashirozx (*Chinese Simplified*) -- María José Vera (mjverap) (*Spanish*) -- asala4544 (*Basque*) -- ronee (*Kurmanji (Kurdish)*) -- qwerty287 (*German*) -- pezcurrel (*Italian*) -- Anoop (anoopp) (*Malayalam*) +- ceonia (*Chinese Traditional, Hong Kong*) +- Emirhan Yavuz (takomlii) (*Turkish*) +- teezeh (*German*) +- MevLyshkin (Leinnan) (*Polish*) - Apple (blackteaovo) (*Chinese Simplified*) -- Lilian Nabati (Lilounab49) (*French*) -- ru_mactunnag (*Scottish Gaelic*) -- Nocta (*French*) +- qwerty287 (*German*) - Tangcuyu (*Chinese Simplified*) -- Dennis Reimund (reimund_dennis) (*German*) -- Albatroz Jeremias (albjeremias) (*Portuguese*) -- Xurxo Guerra (xguerrap) (*Galician*) -- Samir Tighzert (samir_t7) (*Kabyle*) +- Nocta (*French*) +- ru_mactunnag (*Scottish Gaelic*) +- Lilian Nabati (Lilounab49) (*French*) - lokalisoija (*Finnish*) +- Dennis Reimund (reimund_dennis) (*German*) +- ronee (*Kurmanji (Kurdish)*) +- EricVogt_ (*Spanish*) +- yu miao (metaxx.dev) (*Chinese Simplified*) +- Anoop (anoopp) (*Malayalam*) +- Samir Tighzert (samir_t7) (*Kabyle*) +- sn02 (*German*) +- Yui Karasuma (yui87) (*Japanese*) +- asala4544 (*Basque*) +- Thibaut Rousseau (thiht44) (*French*) +- Jason Gibson (barberpike606) (*Slovenian, Chinese Simplified*) +- Sugar NO (g1024116707) (*Chinese Simplified*) +- Aymeric (AymBroussier) (*French*) +- pezcurrel (*Italian*) +- Xurxo Guerra (xguerrap) (*Galician*) +- nicosomb (*French*) +- Albatroz Jeremias (albjeremias) (*Portuguese*) +- María José Vera (mjverap) (*Spanish*) +- mashirozx (*Chinese Simplified*) - codl (*French*) -- thisdudeisvegan (braydofficial) (*German*) -- tamaina (*Japanese*) -- Matias Lavik (matiaslavik) (*Norwegian Nynorsk*) -- Aman Alam (aalam) (*Punjabi*) -- Holger Huo (holgerhuo) (*Chinese Simplified*) -- Amith Raj Shetty (amithraj1989) (*Kannada*) -- mimikun (*Japanese*) -- Ragnars Eggerts (rmegg1933) (*Latvian*) -- ÀŘǾŚ PÀŚĦÀÍ (arospashai) (*Sorani (Kurdish)*) -- smedvedev (*Russian*) -- Sais Lakshmanan (Saislakshmanan) (*Tamil*) -- Mohammad Adnan Mahmood (adnanmig) (*Arabic*) -- OpenAlgeria (*Arabic*) -- Trond Boksasp (boksasp) (*Norwegian*) - Doug (douglasalvespe) (*Portuguese, Brazilian*) -- Mohd Bilal (mdb571) (*Malayalam*) -- Fleva (*Sardinian*) -- xpac1985 (xpac) (*German*) -- mikel (mikelalas) (*Spanish*) +- Matias Lavik (matiaslavik) (*Norwegian Nynorsk*) - random_person (*Spanish*) +- whoeta (wh0eta) (*Russian*) +- xpac1985 (xpac) (*German*) +- thisdudeisvegan (braydofficial) (*German*) +- Fleva (*Sardinian*) +- Anonymous (Anonymous666) (*Russian*) +- Mohammad Adnan Mahmood (adnanmig) (*Arabic*) +- ÀŘǾŚ PÀŚĦÀÍ (arospashai) (*Sorani (Kurdish)*) +- mikel (mikelalas) (*Spanish*) +- Trond Boksasp (boksasp) (*Norwegian*) - asretro (*Chinese Traditional, Hong Kong*) -- Arĝentakato (argxentakato) (*Japanese*) -- Nithya Mary (nithyamary25) (*Tamil*) -- Azad ahmad (dashty) (*Sorani (Kurdish)*) +- Holger Huo (holgerhuo) (*Chinese Simplified*) +- Aman Alam (aalam) (*Punjabi*) +- smedvedev (*Russian*) +- Jay Lonnquist (crowkeep) (*Japanese*) +- mimikun (*Japanese*) +- Mohd Bilal (mdb571) (*Malayalam*) +- veer66 (*Thai*) +- OpenAlgeria (*Arabic*) +- Rave (nayumi-464812844) (*Vietnamese*) +- ReavedNetwork (*German*) +- Michael (Discostu36) (*German*) +- tamaina (*Japanese*) +- sk22 (*German*) +- Ragnars Eggerts (rmegg1933) (*Latvian*) +- Sais Lakshmanan (Saislakshmanan) (*Tamil*) +- Amith Raj Shetty (amithraj1989) (*Kannada*) - Bartek Fijałkowski (brateq) (*Polish*) -- ebrezhoneg (*Breton*) -- maksutheam (*Finnish*) -- majorblazr (*Danish*) -- Jill H. (kokakiwi) (*French*) -- Patrice Boivin (patriceboivin58) (*French*) -- centumix (*Japanese*) -- 江尚寒 (jiangshanghan) (*Chinese Simplified*) -- hud5634j (*Spanish*) -- おさ (osapon) (*Japanese*) -- Jiniux (*Italian*) -- Hannah (Aniqueper1) (*Chinese Simplified*) -- Ni Futchi (futchitwo) (*Japanese*) -- dobrado (*Portuguese, Brazilian*) -- dcapillae (*Spanish*) -- Ranj A Abdulqadir (RanjAhmed) (*Sorani (Kurdish)*) -- Kurdish Translator (Kurdish.boy) (*Sorani (Kurdish)*) -- Amir Kurdo (kuraking202) (*Sorani (Kurdish)*) -- umonaca (*Chinese Simplified*) -- Jari Ronkainen (ronchaine) (*Finnish*) -- djoerd (*Dutch*) -- Savarín Electrográfico Marmota Intergalactica (herrero.maty) (*Spanish*) -- 于晚霞 (xissshawww) (*Chinese Simplified*) -- tateisu (*Japanese*) -- NeverMine17 (*Russian*) -- soheilkhanalipur (*Persian*) -- SamOak (*Portuguese, Brazilian*) -- kavitha129 (*Tamil*) -- Salh_haji6 (*Sorani (Kurdish)*) -- Brodi (brodi1) (*Dutch*) +- Asbeltrion (*Spanish*) +- Michael Horstmann (mhrstmnn) (*German*) +- Joffrey Abeilard (Abeilard14) (*French*) - capiscuas (*Spanish*) -- HSD Channel (kvdbve34) (*Russian*) -- Abijeet Patro (Abijeet) (*Basque*) +- djoerd (*Dutch*) +- REMOVED_USER (*Spanish*) +- NeverMine17 (*Russian*) +- songxianj (songxian_jiang) (*Chinese Simplified*) - Ács Zoltán (zoli111) (*Hungarian*) -- Benjamin Cobb (benjamincobb) (*German*) +- haaninjo (*Swedish*) +- REMOVED_USER (*Esperanto*) +- Philip Molares (DerMolly) (*German*) +- ChalkPE (amato0617) (*Korean*) +- ebrezhoneg (*Breton*) +- 디떱 (diddub) (*Korean*) +- Hans (hansj) (*German*) +- Nithya Mary (nithyamary25) (*Tamil*) +- kavitha129 (*Tamil*) - waweic (*German*) - Aries (orlea) (*Japanese*) +- おさ (osapon) (*Japanese*) +- Abijeet Patro (Abijeet) (*Basque*) +- centumix (*Japanese*) +- Martin Müller (muellermartin) (*German*) +- tateisu (*Japanese*) +- Arĝentakato (argxentakato) (*Japanese*) +- Benjamin Cobb (benjamincobb) (*German*) +- deanerschnitzel (*German*) +- Jill H. (kokakiwi) (*French*) +- maksutheam (*Finnish*) +- d0p1 (d0p1s4m4) (*French*) +- majorblazr (*Danish*) +- Patrice Boivin (patriceboivin58) (*French*) +- 江尚寒 (jiangshanghan) (*Chinese Simplified*) +- HSD Channel (kvdbve34) (*Russian*) +- alwyn joe (iomedivh200) (*Chinese Simplified*) +- ZHY (sheepzh) (*Chinese Simplified*) +- Bei Li (libei) (*Chinese Simplified*) +- Aluo (Aluo_rbszd) (*Chinese Simplified*) +- clarkzjw (*Chinese Simplified*) +- Noah Luppe (noahlup) (*German*) +- araghunde (*Galician*) +- BratishkaErik (*Russian*) +- Bunny9568 (*Chinese Simplified*) +- SamOak (*Portuguese, Brazilian*) +- Ranj A Abdulqadir (RanjAhmed) (*Sorani (Kurdish)*) +- Amir Kurdo (kuraking202) (*Sorani (Kurdish)*) +- 于晚霞 (xissshawww) (*Chinese Simplified*) +- Fyuoxyjidyho Moiodyyiodyhi (fyuodchiodmoiidiiduh86) (*Chinese Simplified*) +- RPD0911 (*Hungarian*) +- dcapillae (*Spanish*) +- dobrado (*Portuguese, Brazilian*) +- Hannah (Aniqueper1) (*Chinese Simplified*) +- Azad ahmad (dashty) (*Sorani (Kurdish)*) +- Uri Chachick (urich.404) (*Hebrew*) +- Bnoru (*Portuguese, Brazilian*) +- Jiniux (*Italian*) +- REMOVED_USER (*German*) +- Salh_haji6 (Sorani (Kurdish)) +- Kurdish Translator (*Kurdish.boy) (Sorani (Kurdish)*) +- Beagle (beagleworks) (*Japanese*) +- hud5634j (*Spanish*) +- Kisaragi Hiu (flyingfeather1501) (*Chinese Traditional*) +- Dominik Ziegler (dodomedia) (*German*) +- soheilkhanalipur (*Persian*) +- Brodi (brodi1) (*Dutch*) +- Savarín Electrográfico Marmota Intergalactica (herrero.maty) (*Spanish*) +- Ni Futchi (futchitwo) (*Japanese*) +- Zois Lee (gcnwm) (*Chinese Simplified*) +- Arnold Marko (atomicmind) (*Slovenian*) +- scholzco (*German*) +- Jari Ronkainen (ronchaine) (*Finnish*) +- umonaca (*Chinese Simplified*) diff --git a/CHANGELOG.md b/CHANGELOG.md index 72f62a1dc..4392cc658 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,7 +3,12 @@ Changelog All notable changes to this project will be documented in this file. -## [Unreleased] +## [4.0.1] - 2022-11-14 +### Fixed + +- Fix nodes order being sometimes mangled when rewriting emoji ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/20677)) + +## [4.0.0] - 2022-11-14 Some of the features in this release have been funded through the [NGI0 Discovery](https://nlnet.nl/discovery) Fund, a fund established by [NLnet](https://nlnet.nl/) with financial support from the European Commission's [Next Generation Internet](https://ngi.eu/) programme, under the aegis of DG Communications Networks, Content and Technology under grant agreement No 825322. @@ -58,12 +63,13 @@ Some of the features in this release have been funded through the [NGI0 Discover - Add reputation and followers score boost to SQL-only account search ([Gargron](https://github.com/mastodon/mastodon/pull/19251)) - Add Scots, Balaibalan, Láadan, Lingua Franca Nova, Lojban, Toki Pona to languages list ([VyrCossont](https://github.com/mastodon/mastodon/pull/20168)) - Set autocomplete hints for e-mail, password and OTP fields ([rcombs](https://github.com/mastodon/mastodon/pull/19833), [offbyone](https://github.com/mastodon/mastodon/pull/19946), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/20071)) +- Add support for DigitalOcean Spaces in setup wizard ([v-aisac](https://github.com/mastodon/mastodon/pull/20573)) ### Changed - **Change brand color and logotypes** ([Gargron](https://github.com/mastodon/mastodon/pull/18592), [Gargron](https://github.com/mastodon/mastodon/pull/18639), [Gargron](https://github.com/mastodon/mastodon/pull/18691), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/18634), [Gargron](https://github.com/mastodon/mastodon/pull/19254), [mayaeh](https://github.com/mastodon/mastodon/pull/18710)) - **Change post editing to be enabled in web UI** ([Gargron](https://github.com/mastodon/mastodon/pull/19103)) -- **Change web UI to work for logged-out users** ([Gargron](https://github.com/mastodon/mastodon/pull/18961), [Gargron](https://github.com/mastodon/mastodon/pull/19250), [Gargron](https://github.com/mastodon/mastodon/pull/19294), [Gargron](https://github.com/mastodon/mastodon/pull/19306), [Gargron](https://github.com/mastodon/mastodon/pull/19315), [ykzts](https://github.com/mastodon/mastodon/pull/19322), [Gargron](https://github.com/mastodon/mastodon/pull/19412), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/19437), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/19415), [Gargron](https://github.com/mastodon/mastodon/pull/19348), [Gargron](https://github.com/mastodon/mastodon/pull/19295), [Gargron](https://github.com/mastodon/mastodon/pull/19422), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/19414), [Gargron](https://github.com/mastodon/mastodon/pull/19319), [Gargron](https://github.com/mastodon/mastodon/pull/19345), [Gargron](https://github.com/mastodon/mastodon/pull/19310), [Gargron](https://github.com/mastodon/mastodon/pull/19301), [Gargron](https://github.com/mastodon/mastodon/pull/19423), [ykzts](https://github.com/mastodon/mastodon/pull/19471), [ykzts](https://github.com/mastodon/mastodon/pull/19333), [ykzts](https://github.com/mastodon/mastodon/pull/19337), [ykzts](https://github.com/mastodon/mastodon/pull/19272), [ykzts](https://github.com/mastodon/mastodon/pull/19468), [Gargron](https://github.com/mastodon/mastodon/pull/19466), [Gargron](https://github.com/mastodon/mastodon/pull/19457), [Gargron](https://github.com/mastodon/mastodon/pull/19426), [Gargron](https://github.com/mastodon/mastodon/pull/19427), [Gargron](https://github.com/mastodon/mastodon/pull/19421), [Gargron](https://github.com/mastodon/mastodon/pull/19417), [Gargron](https://github.com/mastodon/mastodon/pull/19413), [Gargron](https://github.com/mastodon/mastodon/pull/19397), [Gargron](https://github.com/mastodon/mastodon/pull/19387), [Gargron](https://github.com/mastodon/mastodon/pull/19396), [Gargron](https://github.com/mastodon/mastodon/pull/19385), [ykzts](https://github.com/mastodon/mastodon/pull/19334), [ykzts](https://github.com/mastodon/mastodon/pull/19329), [Gargron](https://github.com/mastodon/mastodon/pull/19324), [Gargron](https://github.com/mastodon/mastodon/pull/19318), [Gargron](https://github.com/mastodon/mastodon/pull/19316), [Gargron](https://github.com/mastodon/mastodon/pull/19263), [trwnh](https://github.com/mastodon/mastodon/pull/19305), [ykzts](https://github.com/mastodon/mastodon/pull/19273), [Gargron](https://github.com/mastodon/mastodon/pull/19801), [Gargron](https://github.com/mastodon/mastodon/pull/19790), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/19773), [Gargron](https://github.com/mastodon/mastodon/pull/19798), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/19724), [Gargron](https://github.com/mastodon/mastodon/pull/19709), [Gargron](https://github.com/mastodon/mastodon/pull/19514), [Gargron](https://github.com/mastodon/mastodon/pull/19562), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/19981), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/19978), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/20148), [Gargron](https://github.com/mastodon/mastodon/pull/20302)) +- **Change web UI to work for logged-out users** ([Gargron](https://github.com/mastodon/mastodon/pull/18961), [Gargron](https://github.com/mastodon/mastodon/pull/19250), [Gargron](https://github.com/mastodon/mastodon/pull/19294), [Gargron](https://github.com/mastodon/mastodon/pull/19306), [Gargron](https://github.com/mastodon/mastodon/pull/19315), [ykzts](https://github.com/mastodon/mastodon/pull/19322), [Gargron](https://github.com/mastodon/mastodon/pull/19412), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/19437), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/19415), [Gargron](https://github.com/mastodon/mastodon/pull/19348), [Gargron](https://github.com/mastodon/mastodon/pull/19295), [Gargron](https://github.com/mastodon/mastodon/pull/19422), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/19414), [Gargron](https://github.com/mastodon/mastodon/pull/19319), [Gargron](https://github.com/mastodon/mastodon/pull/19345), [Gargron](https://github.com/mastodon/mastodon/pull/19310), [Gargron](https://github.com/mastodon/mastodon/pull/19301), [Gargron](https://github.com/mastodon/mastodon/pull/19423), [ykzts](https://github.com/mastodon/mastodon/pull/19471), [ykzts](https://github.com/mastodon/mastodon/pull/19333), [ykzts](https://github.com/mastodon/mastodon/pull/19337), [ykzts](https://github.com/mastodon/mastodon/pull/19272), [ykzts](https://github.com/mastodon/mastodon/pull/19468), [Gargron](https://github.com/mastodon/mastodon/pull/19466), [Gargron](https://github.com/mastodon/mastodon/pull/19457), [Gargron](https://github.com/mastodon/mastodon/pull/19426), [Gargron](https://github.com/mastodon/mastodon/pull/19427), [Gargron](https://github.com/mastodon/mastodon/pull/19421), [Gargron](https://github.com/mastodon/mastodon/pull/19417), [Gargron](https://github.com/mastodon/mastodon/pull/19413), [Gargron](https://github.com/mastodon/mastodon/pull/19397), [Gargron](https://github.com/mastodon/mastodon/pull/19387), [Gargron](https://github.com/mastodon/mastodon/pull/19396), [Gargron](https://github.com/mastodon/mastodon/pull/19385), [ykzts](https://github.com/mastodon/mastodon/pull/19334), [ykzts](https://github.com/mastodon/mastodon/pull/19329), [Gargron](https://github.com/mastodon/mastodon/pull/19324), [Gargron](https://github.com/mastodon/mastodon/pull/19318), [Gargron](https://github.com/mastodon/mastodon/pull/19316), [Gargron](https://github.com/mastodon/mastodon/pull/19263), [trwnh](https://github.com/mastodon/mastodon/pull/19305), [ykzts](https://github.com/mastodon/mastodon/pull/19273), [Gargron](https://github.com/mastodon/mastodon/pull/19801), [Gargron](https://github.com/mastodon/mastodon/pull/19790), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/19773), [Gargron](https://github.com/mastodon/mastodon/pull/19798), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/19724), [Gargron](https://github.com/mastodon/mastodon/pull/19709), [Gargron](https://github.com/mastodon/mastodon/pull/19514), [Gargron](https://github.com/mastodon/mastodon/pull/19562), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/19981), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/19978), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/20148), [Gargron](https://github.com/mastodon/mastodon/pull/20302), [cutls](https://github.com/mastodon/mastodon/pull/20400)) - The web app can now be accessed without being logged in - No more `/web` prefix on web app paths - Profiles, posts, and other public pages now use the same interface for logged in and logged out users @@ -79,7 +85,7 @@ Some of the features in this release have been funded through the [NGI0 Discover - Change label of publish button to be "Publish" again in web UI ([Gargron](https://github.com/mastodon/mastodon/pull/18583)) - Change language to be carried over on reply in web UI ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/18557)) - Change "Unfollow" to "Cancel follow request" when request still pending in web UI ([prplecake](https://github.com/mastodon/mastodon/pull/19363)) -- **Change post filtering system** ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/18058), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/19050), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/18894), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/19051), [noellabo](https://github.com/mastodon/mastodon/pull/18923), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/18956), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/18744), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/19878)) +- **Change post filtering system** ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/18058), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/19050), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/18894), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/19051), [noellabo](https://github.com/mastodon/mastodon/pull/18923), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/18956), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/18744), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/19878), [ClearlyClaire](https://github.com/mastodon/mastodon/pull/20567)) - Filtered keywords and phrases can now be grouped into named categories - Filtered posts show which exact filter was hit - Individual posts can be added to a filter @@ -105,6 +111,8 @@ Some of the features in this release have been funded through the [NGI0 Discover - Change incoming activity processing to happen in `ingress` queue ([Gargron](https://github.com/mastodon/mastodon/pull/20264)) - Change notifications to not link show preview cards in web UI ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/20335)) - Change amount of replies returned for logged out users in REST API ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/20355)) +- Change in-app links to keep you in-app in web UI ([trwnh](https://github.com/mastodon/mastodon/pull/20540), [Gargron](https://github.com/mastodon/mastodon/pull/20628)) +- Change table header to be sticky in admin UI ([sk22](https://github.com/mastodon/mastodon/pull/20442)) ### Removed @@ -117,6 +125,9 @@ Some of the features in this release have been funded through the [NGI0 Discover ### Fixed +- Fix rules with same priority being sorted non-deterministically ([Gargron](https://github.com/mastodon/mastodon/pull/20623)) +- Fix error when invalid domain name is submitted ([Gargron](https://github.com/mastodon/mastodon/pull/19474)) +- Fix icons having an image role ([Gargron](https://github.com/mastodon/mastodon/pull/20600)) - Fix connections to IPv6-only servers ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/20108)) - Fix unnecessary service worker registration and preloading when logged out in web UI ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/20341)) - Fix unnecessary and slow regex construction ([raggi](https://github.com/mastodon/mastodon/pull/20215)) @@ -185,10 +196,15 @@ Some of the features in this release have been funded through the [NGI0 Discover - Fix `CDN_HOST` not being used in some asset URLs ([tribela](https://github.com/mastodon/mastodon/pull/18662)) - Fix `CAS_DISPLAY_NAME`, `SAML_DISPLAY_NAME` and `OIDC_DISPLAY_NAME` being ignored ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/18568)) - Fix various typos in comments throughout the codebase ([luzpaz](https://github.com/mastodon/mastodon/pull/18604)) +- Fix CSV import error when rows include unicode characters ([HamptonMakes](https://github.com/mastodon/mastodon/pull/20592)) ### Security - Fix being able to spoof link verification ([Gargron](https://github.com/mastodon/mastodon/pull/20217)) +- Fix emoji substitution not applying only to text nodes in backend code ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/20641)) +- Fix emoji substitution not applying only to text nodes in web UI ([ClearlyClaire](https://github.com/mastodon/mastodon/pull/20640)) +- Fix rate limiting for paths with formats ([Gargron](https://github.com/mastodon/mastodon/pull/20675)) +- Fix out-of-bound reads in blurhash transcoder ([delroth](https://github.com/mastodon/mastodon/pull/20388)) ## [3.5.3] - 2022-05-26 ### Added diff --git a/Gemfile b/Gemfile index 34899967b..355b7e43f 100644 --- a/Gemfile +++ b/Gemfile @@ -92,7 +92,7 @@ gem 'tty-prompt', '~> 0.23', require: false gem 'twitter-text', '~> 3.1.0' gem 'tzinfo-data', '~> 1.2022' gem 'webpacker', '~> 5.4' -gem 'webpush', git: 'https://github.com/ClearlyClaire/webpush.git', ref: 'f14a4d52e201128b1b00245d11b6de80d6cfdcd9' +gem 'webpush', github: 'ClearlyClaire/webpush', ref: 'f14a4d52e201128b1b00245d11b6de80d6cfdcd9' gem 'webauthn', '~> 2.5' gem 'json-ld' @@ -122,6 +122,7 @@ group :test do gem 'simplecov', '~> 0.21', require: false gem 'webmock', '~> 3.18' gem 'rspec_junit_formatter', '~> 0.6' + gem 'rack-test', '~> 2.0' end group :development do @@ -152,7 +153,5 @@ end gem 'concurrent-ruby', require: false gem 'connection_pool', require: false - gem 'xorcist', '~> 1.1' - gem 'cocoon', '~> 1.2' diff --git a/Gemfile.lock b/Gemfile.lock index 28c6e7348..87d07b631 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -815,6 +815,7 @@ DEPENDENCIES rack (~> 2.2.4) rack-attack (~> 6.6) rack-cors (~> 1.1) + rack-test (~> 2.0) rails (~> 6.1.7) rails-controller-testing (~> 1.0) rails-i18n (~> 6.0) diff --git a/app/controllers/api/base_controller.rb b/app/controllers/api/base_controller.rb index 3f3e1ca7b..665425f29 100644 --- a/app/controllers/api/base_controller.rb +++ b/app/controllers/api/base_controller.rb @@ -57,7 +57,7 @@ class Api::BaseController < ApplicationController render json: { error: I18n.t('errors.429') }, status: 429 end - rescue_from ActionController::ParameterMissing do |e| + rescue_from ActionController::ParameterMissing, Mastodon::InvalidParameterError do |e| render json: { error: e.to_s }, status: 400 end diff --git a/app/controllers/api/v2/admin/accounts_controller.rb b/app/controllers/api/v2/admin/accounts_controller.rb index bcc1a0733..b25831aa0 100644 --- a/app/controllers/api/v2/admin/accounts_controller.rb +++ b/app/controllers/api/v2/admin/accounts_controller.rb @@ -33,7 +33,7 @@ class Api::V2::Admin::AccountsController < Api::V1::Admin::AccountsController end def filter_params - params.permit(*FILTER_PARAMS) + params.permit(*FILTER_PARAMS, role_ids: []) end def pagination_params(core_params) diff --git a/app/controllers/api/v1/filters/keywords_controller.rb b/app/controllers/api/v2/filters/keywords_controller.rb similarity index 95% rename from app/controllers/api/v1/filters/keywords_controller.rb rename to app/controllers/api/v2/filters/keywords_controller.rb index d3718a137..c63e1d986 100644 --- a/app/controllers/api/v1/filters/keywords_controller.rb +++ b/app/controllers/api/v2/filters/keywords_controller.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -class Api::V1::Filters::KeywordsController < Api::BaseController +class Api::V2::Filters::KeywordsController < Api::BaseController before_action -> { doorkeeper_authorize! :read, :'read:filters' }, only: [:index, :show] before_action -> { doorkeeper_authorize! :write, :'write:filters' }, except: [:index, :show] before_action :require_user! diff --git a/app/controllers/api/v1/filters/statuses_controller.rb b/app/controllers/api/v2/filters/statuses_controller.rb similarity index 95% rename from app/controllers/api/v1/filters/statuses_controller.rb rename to app/controllers/api/v2/filters/statuses_controller.rb index b6bed306f..755c14cff 100644 --- a/app/controllers/api/v1/filters/statuses_controller.rb +++ b/app/controllers/api/v2/filters/statuses_controller.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -class Api::V1::Filters::StatusesController < Api::BaseController +class Api::V2::Filters::StatusesController < Api::BaseController before_action -> { doorkeeper_authorize! :read, :'read:filters' }, only: [:index, :show] before_action -> { doorkeeper_authorize! :write, :'write:filters' }, except: [:index, :show] before_action :require_user! diff --git a/app/javascript/mastodon/actions/filters.js b/app/javascript/mastodon/actions/filters.js index 76326802e..e9c609fc8 100644 --- a/app/javascript/mastodon/actions/filters.js +++ b/app/javascript/mastodon/actions/filters.js @@ -43,7 +43,7 @@ export const fetchFilters = () => (dispatch, getState) => { export const createFilterStatus = (params, onSuccess, onFail) => (dispatch, getState) => { dispatch(createFilterStatusRequest()); - api(getState).post(`/api/v1/filters/${params.filter_id}/statuses`, params).then(response => { + api(getState).post(`/api/v2/filters/${params.filter_id}/statuses`, params).then(response => { dispatch(createFilterStatusSuccess(response.data)); if (onSuccess) onSuccess(); }).catch(error => { diff --git a/app/javascript/mastodon/components/account.js b/app/javascript/mastodon/components/account.js index 51d2b8ba2..7aebb124c 100644 --- a/app/javascript/mastodon/components/account.js +++ b/app/javascript/mastodon/components/account.js @@ -3,13 +3,13 @@ import ImmutablePropTypes from 'react-immutable-proptypes'; import PropTypes from 'prop-types'; import Avatar from './avatar'; import DisplayName from './display_name'; -import Permalink from './permalink'; import IconButton from './icon_button'; import { defineMessages, injectIntl } from 'react-intl'; import ImmutablePureComponent from 'react-immutable-pure-component'; import { me } from '../initial_state'; import RelativeTimestamp from './relative_timestamp'; import Skeleton from 'mastodon/components/skeleton'; +import { Link } from 'react-router-dom'; const messages = defineMessages({ follow: { id: 'account.follow', defaultMessage: 'Follow' }, @@ -140,11 +140,11 @@ class Account extends ImmutablePureComponent { return (
{block.get('comment').length > 0 ? block.get('comment') :
{(block.get('comment') || '').length > 0 ? block.get('comment') :
rel="me"
속성을 가지고 있어야 합니다. 링크의 텍스트는 상관이 없습니다. 여기 예시가 있습니다:'
@@ -1595,13 +1595,13 @@ ko:
webauthn_credentials:
add: 보안 키 추가
create:
- error: 보안 키를 추가하는데 문제가 발생했습니다. 다시 시도해보십시오.
+ error: 보안 키를 추가하는 데 문제가 발생했습니다. 다시 시도해보십시오.
success: 보안 키가 성공적으로 추가되었습니다.
delete: 삭제
delete_confirmation: 정말로 이 보안 키를 삭제하시겠습니까?
description_html: "보안 키 인증을 활성화 하면, 로그인 시 보안 키 중 하나가 필요합니다."
destroy:
- error: 보안 키를 삭제하는데 문제가 발생했습니다. 다시 시도해보십시오.
+ error: 보안 키를 삭제하는 데 문제가 발생했습니다. 다시 시도해보십시오.
success: 보안 키가 성공적으로 삭제되었습니다.
invalid_credential: 올바르지 않은 보안 키
nickname_hint: 새 보안 키의 별명을 입력해 주세요
diff --git a/config/locales/ku.yml b/config/locales/ku.yml
index 4c2283c21..1c1271c5d 100644
--- a/config/locales/ku.yml
+++ b/config/locales/ku.yml
@@ -610,7 +610,6 @@ ku:
other: "%{count} bikarhêner"
categories:
administration: Rêvebirî
- devops: Devops
invites: Vexwendin
moderation: Çavdêrî
special: Taybet
@@ -661,7 +660,6 @@ ku:
view_audit_log_description: Mafê dide bikarhêneran ku dîroka çalakiyên rêveberî yên li ser rajekarê bibînin
view_dashboard: Destgehê nîşan bide
view_dashboard_description: Mafê dide bikarhêneran ku bigihîjin destgehê û pîvanên cuda
- view_devops: Pêşdebir
view_devops_description: Mafê dide bikarhêneran ku bigihîjin destgehên Sidekiq û pgHero
title: Rol
rules:
@@ -1368,7 +1366,6 @@ ku:
browser: Gerok
browsers:
alipay: Alipay
- blackberry: Blackberry
chrome: Chrome
edge: Microsoft Edge
electron: Electron
@@ -1382,7 +1379,6 @@ ku:
phantom_js: PhantomJS
qq: Geroka QQ
safari: Safari
- uc_browser: Geroka UCB
weibo: Weibo
current_session: Danişîna heyî
description: "%{platform} ser %{browser}"
@@ -1391,8 +1387,6 @@ ku:
platforms:
adobe_air: Adobe Air
android: Android
- blackberry: Blackberry
- chrome_os: Chrome OS
firefox_os: Firefox OS
ios: iOS
linux: Linux
diff --git a/config/locales/lv.yml b/config/locales/lv.yml
index ddebd9e5d..2c1eaef62 100644
--- a/config/locales/lv.yml
+++ b/config/locales/lv.yml
@@ -621,7 +621,7 @@ lv:
zero: "%{count} lietotāju"
categories:
administration: Administrēšana
- devops: Izstrādātāji
+ devops: DevOps
invites: Uzaicinājumi
moderation: Moderācija
special: Īpašās
@@ -673,7 +673,7 @@ lv:
view_audit_log_description: Ļauj lietotājiem redzēt serverī veikto administratīvo darbību vēsturi
view_dashboard: Skatīt Informācijas Paneli
view_dashboard_description: Ļauj lietotājiem piekļūt informācijas panelim un dažādiem rādītājiem
- view_devops: Izstrādātāji
+ view_devops: DevOps
view_devops_description: Ļauj lietotājiem piekļūt Sidekiq un pgHero informācijas paneļiem
title: Lomas
rules:
@@ -1307,9 +1307,9 @@ lv:
poll:
subject: "%{name} aptauja ir beigusies"
reblog:
- body: 'Tavu ziņu paaugstināja %{name}:'
- subject: "%{name} paaugstināja tavu ziņu"
- title: Jauns stimuls
+ body: 'Tavu ziņu pastiprināja %{name}:'
+ subject: "%{name} pastiprināja tavu ziņu"
+ title: Jauns pastiprinājums
status:
subject: "%{name} tikko publicēja"
update:
@@ -1399,7 +1399,7 @@ lv:
browser: Pārlūks
browsers:
alipay: Alipay
- blackberry: Blackberry
+ blackberry: BlackBerry
chrome: Chrome
edge: Microsoft Edge
electron: Electron
@@ -1413,7 +1413,7 @@ lv:
phantom_js: PhantomJS
qq: QQ Browser
safari: Safari
- uc_browser: UCBrowser
+ uc_browser: UC Pārlūks
weibo: Weibo
current_session: Pašreizējā sesija
description: "%{browser} uz %{platform}"
@@ -1422,8 +1422,8 @@ lv:
platforms:
adobe_air: Adobe Air
android: Android
- blackberry: Blackberry
- chrome_os: Chrome OS
+ blackberry: BlackBerry
+ chrome_os: ChromeOS
firefox_os: Firefox OS
ios: iOS
linux: Linux
@@ -1474,7 +1474,7 @@ lv:
one: "%{count} video"
other: "%{count} video"
zero: "%{count} video"
- boosted_from_html: Paaugstināja %{acct_link}
+ boosted_from_html: Pastiprināja %{acct_link}
content_warning: 'Satura brīdinājums: %{warning}'
default_language: Tāda, kā saskarnes valoda
disallowed_hashtags:
@@ -1490,7 +1490,7 @@ lv:
direct: Ziņojumus, kas ir redzami tikai minētajiem lietotājiem, nevar piespraust
limit: Tu jau esi piespraudis maksimālo ziņu skaitu
ownership: Citas personas ziņu nevar piespraust
- reblog: Paaugstinātās ziņas nevar piespraust
+ reblog: Pastiprinātu ierakstu nevar piespraust
poll:
total_people:
one: "%{count} persona"
@@ -1521,9 +1521,9 @@ lv:
exceptions: Izņēmumi
explanation: Tā kā ziņu dzēšana ir dārga darbība, tā tiek veikta lēnām laika gaitā, kad serveris nav citādi aizņemts. Šī iemesla dēļ tavas ziņas var tikt izdzēstas kādu laiku pēc vecuma sliekšņa sasniegšanas.
ignore_favs: Ignorēt izlasi
- ignore_reblogs: Ignorēt paaugstinātās
+ ignore_reblogs: Ignorēt pastiprinātos ierakstus
interaction_exceptions: Izņēmumi, kuru pamatā ir mijiedarbība
- interaction_exceptions_explanation: Ņem vērā, ka nav garantijas, ka ziņas tiks dzēstas, ja tās ir zemākas par izlases vai paaugstinājuma slieksni pēc to pārsniegšanas.
+ interaction_exceptions_explanation: Ņem vērā, ka ieraksti var netikt dzēsti, ja tie noslīd zem par izlases vai pastiprinājuma sliekšņa pēc tam, kad to reiz pārsnieguši.
keep_direct: Saglabāt tiešos ziņojumus
keep_direct_hint: Nedzēš nevienu tavu tiešo ziņojumu
keep_media: Saglabāt ziņas ar mediju pielikumiem
@@ -1548,11 +1548,11 @@ lv:
min_age_label: Vecuma slieksnis
min_favs: Saglabāt ziņas izlsasē vismaz
min_favs_hint: Nedzēš nevienu tavu ziņu, kas ir saņēmusi vismaz tik daudz izlases. Atstāj tukšu, lai dzēstu ziņas neatkarīgi no to izlases skaita
- min_reblogs: Saglabāt ziņas paaugstinātas vismaz
- min_reblogs_hint: Neizdzēš nevienu no tavām ziņām, kas ir paaugstinātas vismaz tik reižu. Atstāj tukšu, lai dzēstu ziņas neatkarīgi no to paaugstinājumu skaita
+ min_reblogs: Saglabāt ierakstus pastiprinātus vismaz
+ min_reblogs_hint: Neizdzēš nevienu no taviem ierakstiem, kas ir pastiprināts vismaz tik reižu. Atstāj tukšu, lai dzēstu ierakstus neatkarīgi no to pastiprinājumu skaita
stream_entries:
pinned: Piespraustā ziņa
- reblogged: paaugstinātās
+ reblogged: pastiprinātie
sensitive_content: Sensitīvs saturs
strikes:
errors:
diff --git a/config/locales/nl.yml b/config/locales/nl.yml
index 88b224c3e..6b6f33c16 100644
--- a/config/locales/nl.yml
+++ b/config/locales/nl.yml
@@ -12,7 +12,7 @@ nl:
one: Volger
other: Volgers
following: Volgend
- instance_actor_flash: Dit account is een 'virtual actor' waarmee de server zichzelf vertegenwoordigd en is dus geen individuele gebruiker. Het wordt voor federatiedoeleinden gebruikt en moet niet worden opgeschort.
+ instance_actor_flash: Dit account is een 'virtual actor' waarmee de server zichzelf vertegenwoordigt en is dus geen individuele gebruiker. Het wordt voor federatiedoeleinden gebruikt en moet niet worden opgeschort.
last_active: laatst actief
link_verified_on: Eigendom van deze link is gecontroleerd op %{date}
nothing_here: Hier is niets!
@@ -608,7 +608,6 @@ nl:
other: "%{count} gebruikers"
categories:
administration: Beheer
- devops: Devops
invites: Uitnodigingen
moderation: Moderatie
special: Speciaal
@@ -659,7 +658,6 @@ nl:
view_audit_log_description: Staat gebruikers toe om een geschiedenis van beheeracties op de server te bekijken
view_dashboard: Dashboard bekijken
view_dashboard_description: Geeft gebruikers toegang tot het dashboard en verschillende statistieken
- view_devops: Devops
view_devops_description: Geeft gebruikers toegang tot de dashboards van Sidekiq en pgHero
title: Rollen
rules:
@@ -1387,7 +1385,7 @@ nl:
phantom_js: PhantomJS
qq: QQ Browser
safari: Safari
- uc_browser: UCBrowser
+ uc_browser: QQ Browser
weibo: Weibo
current_session: Huidige sessie
description: "%{browser} op %{platform}"
@@ -1397,7 +1395,7 @@ nl:
adobe_air: Adobe Air
android: Android
blackberry: Blackberry
- chrome_os: Chrome OS
+ chrome_os: ChromeOS
firefox_os: Firefox OS
ios: iOS
linux: Linux
@@ -1549,7 +1547,7 @@ nl:
otp: Authenticatie-app
recovery_codes: Herstelcodes back-uppen
recovery_codes_regenerated: Opnieuw genereren herstelcodes geslaagd
- recovery_instructions_html: Wanneer je ooit de toegang verliest tot jouw telefoon, kan je met behulp van een van de herstelcodes hieronder opnieuw toegang krijgen tot jouw account. Zorg ervoor dat je de herstelcodes op een veilige plek bewaard. Je kunt ze bijvoorbeeld printen en ze samen met andere belangrijke documenten bewaren.
+ recovery_instructions_html: Wanneer je ooit de toegang verliest tot jouw telefoon, kan je met behulp van een van de herstelcodes hieronder opnieuw toegang krijgen tot jouw account. Zorg ervoor dat je de herstelcodes op een veilige plek bewaart. Je kunt ze bijvoorbeeld printen en ze samen met andere belangrijke documenten bewaren.
webauthn: Beveiligingssleutels
user_mailer:
appeal_approved:
diff --git a/config/locales/nn.yml b/config/locales/nn.yml
index e3915a099..4f07c685e 100644
--- a/config/locales/nn.yml
+++ b/config/locales/nn.yml
@@ -270,7 +270,18 @@ nn:
reset_password_user_html: "%{name} tilbakestilte passordet for brukaren %{target}"
resolve_report_html: "%{name} løyste ein rapport %{target}"
sensitive_account_html: "%{name} markerte %{target} sitt media som sensitivt"
- silence_account_html: "%{name} begrenset %{target} sin konto"
+ silence_account_html: "%{name} begrensa %{target} sin konto"
+ suspend_account_html: "%{name} utviste %{target} sin konto"
+ unassigned_report_html: "%{name} løyste ein rapport %{target}"
+ unblock_email_account_html: "%{name} avblokkerte %{target} si e-postadresse"
+ unsensitive_account_html: "%{name} avmarkerte %{target} sitt media som sensitivt"
+ unsilence_account_html: "%{name} fjernet begrensningen av %{target}s konto"
+ update_announcement_html: "%{name} oppdaterte kunngjeringa %{target}"
+ update_custom_emoji_html: "%{name} oppdaterte emojien %{target}"
+ update_domain_block_html: "%{name} oppdaterte domeneblokkeringa for %{target}"
+ update_ip_block_html: "%{name} endret regel for IP %{target}"
+ update_status_html: "%{name} oppdaterte innlegg av %{target}"
+ update_user_role_html: "%{name} endret %{target} -rolle"
deleted_account: sletta konto
empty: Ingen loggar funne.
filter_by_action: Sorter etter handling
@@ -329,18 +340,28 @@ nn:
upload: Last opp
dashboard:
active_users: aktive brukarar
- interactions: interaksjoner
- media_storage: Medialagring
- new_users: nye brukere
- opened_reports: rapporter åpnet
- resolved_reports: rapporter løst
+ interactions: interaksjonar
+ media_storage: Medielagring
+ new_users: nye brukarar
+ opened_reports: rapportar opna
+ pending_appeals_html:
+ one: "%{count} ventande ankar"
+ other: "%{count} ventande klagar"
+ pending_users_html:
+ one: "%{count} ventande brukarar"
+ other: "%{count} ventande brukarar"
+ resolved_reports: rapportar løyst
software: Programvare
- sources: Kilder for registreringer
+ sources: Kjelder for registreringar
space: Lagrinsplass nytta
title: Dashbord
top_languages: Mest aktive språk
- top_servers: Mest aktive servere
+ top_servers: Mest aktive serverar
website: Nettside
+ disputes:
+ appeals:
+ empty: Ingen ankar funne.
+ title: Ankar
domain_allows:
add_new: Kvitlist domene
created_msg: Domene er vorte kvitlista
@@ -352,6 +373,7 @@ nn:
destroyed_msg: Domeneblokkering har nå blitt angret
domain: Domene
edit: Rediger domeneblokkering
+ existing_domain_block: Du har allerede pålagt strengere begrensninger på %{name}.
existing_domain_block_html: Du har allerede pålagt strengere begrensninger på %{name}, du kan være nødt til oppheve blokkeringen av den først.
new:
create: Lag blokkering
@@ -363,7 +385,7 @@ nn:
suspend: Utvis
title: Ny domeneblokkering
obfuscate: Obfuskere domenenavn
- obfuscate_hint: Delvis skjule domenenavnet i listen hvis det er aktivert for å annonsere listen over domenebegrensninger
+ obfuscate_hint: Skjul deler av domenenavnet i listen hvis annonsering av listen over domenebegrensninger er slått på
private_comment: Privat kommentar
private_comment_hint: Kommenter angående denne domenebegrensningen for internt bruk av moderatorene.
public_comment: Offentleg kommentar
@@ -376,11 +398,18 @@ nn:
view: Vis domeneblokkering
email_domain_blocks:
add_new: Lag ny
+ attempts_over_week:
+ one: "%{count} forsøk i løpet av den siste uken"
+ other: "%{count} forsøk på å opprette konto i løpet av den siste uken"
created_msg: E-postdomenet ble lagt til i blokkeringslisten uten problemer
delete: Slett
+ dns:
+ types:
+ mx: MX post
domain: Domene
new:
create: Legg til domene
+ resolve: Løs domene
title: Ny blokkeringsoppføring av e-postdomene
resolved_through_html: Løyst gjennom %{domain}
title: Blokkerte e-postadresser
@@ -389,14 +418,34 @@ nn:
language: For språk
status: Status
suppress: Undertrykk anbefalte følger
- suppressed: Dempet
- title: Følg anbefalinger
+ suppressed: Dempa
+ title: Følg gjerne desse
unsuppress: Gjenopprett følg-anbefaling
instances:
+ availability:
+ failure_threshold_reached: Feilterskelen ble nådd %{date}.
+ no_failures_recorded: Ingen feil registrert.
+ title: Tilgjenge
+ warning: Det siste forsøket på å koble til denne serveren lyktes ikke
back_to_all: All
back_to_limited: Begrenset
back_to_warning: Advarsel
by_domain: Domene
+ content_policies:
+ comment: Internt notat
+ policies:
+ reject_media: Avvis media
+ silence: Begrens
+ reason: Offentlig årsak
+ title: Retningslinjer for innhold
+ dashboard:
+ instance_accounts_measure: lagrede kontoer
+ instance_followers_measure: våre følgere der
+ instance_follows_measure: deres følgere her
+ instance_languages_dimension: Mest brukte språk
+ instance_media_attachments_measure: lagrede mediavedlegg
+ instance_reports_measure: rapporter om dem
+ instance_statuses_measure: lagrede innlegg
delivery:
all: All
clear: Feil ved fjerning
@@ -404,6 +453,8 @@ nn:
stop: Stopp levering
unavailable: Ikke tilgjengelig
delivery_available: Levering er tilgjengelig
+ delivery_error_hint: Dersom levering ikke er mulig i løpet av %{count} dager, blir det automatisk merket som ikke mulig å levere.
+ empty: Ingen domener funnet.
moderation:
all: Alle
limited: Avgrensa
@@ -466,6 +517,8 @@ nn:
one: "%{count} notis"
other: "%{count} notiser"
action_taken_by: Handling gjort av
+ actions:
+ silence_description_html: Profilen vil kun være synlig for dem som allerede følger den eller manuelt slår den opp, noe som sterkt begrenser dens rekkevidde. Kan alltid tilbakestilles.
are_you_sure: Er du sikker?
assign_to_self: Tilegn til meg
assigned: Tilsett moderator
@@ -495,6 +548,18 @@ nn:
unassign: Avset
unresolved: Uløyst
updated_at: Oppdatert
+ view_profile: Vis profil
+ roles:
+ add_new: Legg til rolle
+ assigned_users:
+ one: "%{count} bruker"
+ other: "%{count} brukere"
+ categories:
+ administration: Administrasjon
+ devops: DevOps
+ invites: Invitasjoner
+ privileges:
+ view_devops: DevOps
rules:
add_new: Legg til et filter
delete: Slett
@@ -523,6 +588,9 @@ nn:
no_status_selected: Ingen statusar vart endra sidan ingen vart valde
title: Kontostatusar
with_media: Med media
+ strikes:
+ actions:
+ silence: "%{name} begrenset %{target}s konto"
system_checks:
database_schema_check:
message_html: Det venter på databaseoverføringer. Vennligst kjør disse for å sikre at applikasjonen oppfører seg som forventet
@@ -539,6 +607,9 @@ nn:
edit_preset: Endr åtvaringsoppsett
title: Handsam åtvaringsoppsett
admin_mailer:
+ new_appeal:
+ actions:
+ silence: for å begrense deres konto
new_pending_account:
body: Detaljer om den nye kontoen er nedenfor. Du kan godkjenne eller avvise denne søknaden.
subject: Ny konto opp til vurdering på %{instance} (%{username})
@@ -615,6 +686,7 @@ nn:
confirming: Ventar på stadfesting av e-post.
pending: Søknaden din ventar på gjennomgang frå personalet vårt. Dette kan taka litt tid. Du får ein e-post om søknaden din vert godkjend.
redirecting_to: Kontoen din er inaktiv fordi den for øyeblikket omdirigerer til %{acct}.
+ view_strikes: Vis tidligere advarsler mot kontoen din
use_security_key: Bruk sikkerhetsnøkkel
authorize_follow:
already_following: Du fylgjer allereie denne kontoen
@@ -668,6 +740,11 @@ nn:
more_details_html: For fleire detaljar, sjå personvernsvilkåra.
username_available: Brukarnamnet ditt vert tilgjengeleg igjen
username_unavailable: Brukarnamnet ditt kjem til å halda seg utilgjengeleg
+ disputes:
+ strikes:
+ appeal_approved: Denne advarselen ble anket og er ikke lenger gyldig
+ title_actions:
+ silence: Begrensning av konto
domain_validator:
invalid_domain: er ikkje eit gangbart domenenamn
errors:
@@ -741,6 +818,8 @@ nn:
html_validator:
invalid_markup: 'rommar ugild HTML-kode: %{error}'
imports:
+ errors:
+ over_rows_processing_limit: inneholder flere enn %{count} rader
modes:
merge: Set saman
merge_long: Hald på eksisterande data og legg til nye
@@ -915,6 +994,10 @@ nn:
status: Kontostatus
remote_follow:
missing_resource: Kunne ikke finne URLen for din konto
+ rss:
+ descriptions:
+ account: Offentlige innlegg fra @%{acct}
+ tag: 'Offentlige innlegg merket med #%{hashtag}'
scheduled_statuses:
over_daily_limit: Du har overskredet grensen på %{limit} planlagte tuter for den dagen
over_total_limit: Du har overskredet grensen på %{limit} planlagte tuter
@@ -938,7 +1021,7 @@ nn:
phantom_js: PhantomJS
qq: QQ-lesar
safari: Safari
- uc_browser: UC-lesar
+ uc_browser: QQ-lesar
weibo: Weibo
current_session: Noverande økt
description: "%{browser} på %{platform}"
@@ -948,7 +1031,7 @@ nn:
adobe_air: Adobe Air
android: Android
blackberry: BlackBerry
- chrome_os: Chrome OS
+ chrome_os: ChromeOS
firefox_os: Firefox OS
ios: IOS
linux: Linux
@@ -980,6 +1063,8 @@ nn:
preferences: Innstillingar
profile: Profil
relationships: Fylgjar og fylgjarar
+ statuses_cleanup: Automatisert sletting av innlegg
+ strikes: Modereringsadvarsler
two_factor_authentication: Tostegsautorisering
webauthn_authentication: Sikkerhetsnøkler
statuses:
@@ -996,6 +1081,7 @@ nn:
disallowed_hashtags:
one: 'inneheldt ein emneknagg som ikkje var tillaten: %{tags}'
other: 'inneheldt emneknaggen som ikkje var tillaten: %{tags}'
+ edited_at_html: Redigert %{date}
errors:
in_reply_not_found: Det ser ut til at tutet du freistar å svara ikkje finst.
open_in_web: Opn på nett
@@ -1025,6 +1111,9 @@ nn:
unlisted: Ikkje oppført
unlisted_long: Alle kan sjå, men ikkje oppført på offentlege tidsliner
statuses_cleanup:
+ enabled: Slett gamle innlegg automatisk
+ enabled_hint: Sletter innleggene dine automatisk når de oppnår en angitt alder, med mindre de samsvarer med ett av unntakene nedenfor
+ exceptions: Unntak
keep_pinned: Behald festa innlegg
keep_pinned_hint: Sletter ingen av dine festa innlegg
keep_polls: Behald røystingar
@@ -1061,6 +1150,7 @@ nn:
formats:
default: "%d.%b %Y, %H:%M"
month: "%b %Y"
+ time: "%H:%M"
two_factor_authentication:
add: Legg til
disable: Slå av
@@ -1108,17 +1198,24 @@ nn:
reason: 'Årsak:'
statuses: 'Innlegg sitert:'
subject:
+ delete_statuses: Dine innlegg på %{acct} har blitt fjernet
disable: Kontoen din, %{acct}, har blitt fryst
+ mark_statuses_as_sensitive: Dine innlegg på %{acct} har blitt merket som sensitivt innhold
none: Åtvaring for %{acct}
+ sensitive: Dine innlegg på %{acct} vil bli merket som sensitive fra nå
silence: Kontoen din, %{acct}, er vorten avgrensa
suspend: Kontoen din, %{acct}, er vorten utvist
title:
+ delete_statuses: Innlegg fjernet
disable: Konto frosen
+ mark_statuses_as_sensitive: Innlegg markert som sensitive
none: Åtvaring
+ sensitive: Konto markert som sensitiv
silence: Konto avgrensa
suspend: Konto utvist
welcome:
edit_profile_action: Lag til profil
+ edit_profile_step: Du kan tilpasse profilen din ved å laste opp et profilbilde, endre visningsnavnet ditt og mer. Du kan velge at nye følgere må godkjennes av deg før de får lov til å følge deg.
explanation: Her er nokre tips for å koma i gang
final_action: Kom i gang med å leggja ut
full_handle: Det fulle brukarnamnet ditt
@@ -1137,9 +1234,11 @@ nn:
webauthn_credentials:
add: Legg til ny sikkerhetsnøkkel
create:
+ error: Det oppstod et problem med å legge til sikkerhetsnøkkelen. Prøv igjen.
success: Sikkerhetsnøkkelen din ble vellykket lagt til.
delete: Slett
delete_confirmation: Er du sikker på at du vil slette denne sikkerhetsnøkkelen?
+ description_html: Dersom du aktiverer sikkerhetsnøkkelautentisering, vil innlogging kreve at du bruker en av sikkerhetsnøklene dine.
destroy:
error: Det oppsto et problem med å slette sikkerhetsnøkkelen. Prøv igjen.
success: Sikkerhetsnøkkelen din ble vellykket slettet.
diff --git a/config/locales/no.yml b/config/locales/no.yml
index d891cd537..7ce3d16d4 100644
--- a/config/locales/no.yml
+++ b/config/locales/no.yml
@@ -5,6 +5,7 @@
contact_missing: Ikke innstilt
contact_unavailable: Ikke tilgjengelig
hosted_on: Mastodon driftet på %{domain}
+ title: Om
accounts:
follow: Følg
followers:
@@ -51,6 +52,7 @@
confirm: Bekreft
confirmed: Bekreftet
confirming: Bekrefte
+ custom: Tilpasset
delete: Slett data
deleted: Slettet
demote: Degrader
@@ -90,13 +92,14 @@
active: Aktive
all: Alle
pending: Avventer
+ silenced: Begrenset
suspended: Utvist
title: Moderasjon
moderation_notes: Moderasjonsnotater
most_recent_activity: Nyligste aktivitet
most_recent_ip: Nyligste IP
no_account_selected: Ingen brukere ble forandret da ingen var valgt
- no_limits_imposed: Ingen grenser er tatt i bruk
+ no_limits_imposed: Ingen pålagte begrensninger
no_role_assigned: Ingen rolle tildelt
not_subscribed: Ikke abonnért
pending: Avventer gjennomgang
@@ -137,11 +140,12 @@
show:
created_reports: Rapporter laget av denne kontoen
targeted_reports: Rapporter laget om denne kontoen
- silence: Målbind
- silenced: Stilnet
+ silence: Begrens
+ silenced: Begrenset
statuses: Statuser
strikes: Tidligere advarsler
subscribe: Abonnere
+ suspend: Suspender
suspended: Suspendert
suspension_irreversible: Dataene fra denne kontoen har blitt ikke reverserbart slettet. Du kan oppheve suspenderingen av kontoen for å gjøre den brukbart, men den vil ikke gjenopprette alle data den tidligere har hatt.
suspension_reversible_hint_html: Kontoen har blitt suspendert, og dataene vil bli fullstendig fjernet den %{date}. Frem til da kan kontoen gjenopprettes uten negative effekter. Hvis du ønsker å fjerne alle kontoens data umiddelbart, kan du gjøre det nedenfor.
@@ -149,9 +153,10 @@
unblock_email: Avblokker e-postadresse
unblocked_email_msg: Fjernet blokkering av %{username} sin e-postadresse
unconfirmed_email: Ubekreftet E-postadresse
- undo_silenced: Angre målbinding
+ undo_sensitized: Gjør om tving sensitiv
+ undo_silenced: Angre begrensning
undo_suspension: Angre utvisning
- unsilenced_msg: Opphevde vellykket begrensningen av %{username} sin konto
+ unsilenced_msg: Opphevde begrensningen av %{username}s konto
unsubscribe: Avslutt abonnementet
unsuspended_msg: Opphevde vellykket suspenderingen av %{username} sin konto
username: Brukernavn
@@ -161,6 +166,7 @@
whitelisted: Hvitelistet
action_logs:
action_types:
+ approve_appeal: Godkjenn anke
approve_user: Godkjenn bruker
assigned_to_self_report: Tilordne rapport
change_email_user: Endre brukerens E-postadresse
@@ -168,37 +174,49 @@
confirm_user: Bekreft brukeren
create_account_warning: Opprett en advarsel
create_announcement: Opprett en kunngjøring
+ create_canonical_email_block: Opprett e-post-blokkering
create_custom_emoji: Opprett en tilpasset emoji
create_domain_allow: Opprett domene tillatt
create_domain_block: Opprett domene-blokk
create_email_domain_block: Opprett e-post domeneblokk
create_ip_block: Opprett IP-regel
+ create_unavailable_domain: Opprett utilgjengelig domene
create_user_role: Opprett rolle
demote_user: Degrader bruker
destroy_announcement: Slett kunngjøringen
destroy_canonical_email_block: Slett blokkering av e-post
destroy_custom_emoji: Slett den tilpassede emojien
+ destroy_domain_allow: Slett domenegodkjenning
destroy_domain_block: Slett blokkering av domene
destroy_email_domain_block: Slett blokkering av e-postdomene
+ destroy_instance: Slett domene
destroy_ip_block: Slett IP-regel
destroy_status: Slett statusen
destroy_unavailable_domain: Slett utilgjengelig domene
destroy_user_role: Slett rolle
disable_2fa_user: Skru av 2-trinnsinnlogging
disable_custom_emoji: Skru av tilpassede emojier
+ disable_sign_in_token_auth_user: Skru av e-post-tokenautentisering for bruker
disable_user: Deaktiver bruker
enable_custom_emoji: Skru på tilpassede emojier
+ enable_sign_in_token_auth_user: Skru på e-post-tokenautentisering for bruker
enable_user: Aktiver bruker
+ memorialize_account: Opprett minnekonto
promote_user: Promoter bruker
+ reject_appeal: Avvis anke
reject_user: Avvis bruker
remove_avatar_user: Fjern Avatar
reopen_report: Gjenåpne rapporten
resend_user: Send e-post med bekreftelse på nytt
reset_password_user: Tilbakestill passord
resolve_report: Løs rapport
- silence_account: Demp konto
+ sensitive_account: Tving sensitiv konto
+ silence_account: Begrens konto
suspend_account: Suspender kontoen
+ unassigned_report: Fjern tilordnet rapport
unblock_email_account: Fjern blokkering av e-postadresse
+ unsensitive_account: Angre tving sensitiv konto
+ unsilence_account: Angre begrensning av konto
unsuspend_account: Opphev suspensjonen av kontoen
update_announcement: Oppdater kunngjøringen
update_custom_emoji: Oppdater tilpasset Emoji
@@ -219,8 +237,21 @@
create_domain_block_html: "%{name} blokkert domene %{target}"
create_email_domain_block_html: "%{name} blokkert e-post domene %{target}"
create_ip_block_html: "%{name} opprettet regel for IP %{target}"
+ create_user_role_html: "%{name} opprettet rollen %{target}"
+ destroy_announcement_html: "%{name} slettet kunngjøring %{target}"
+ destroy_custom_emoji_html: "%{name} slettet emoji %{target}"
+ destroy_ip_block_html: "%{name} slettet regel for IP %{target}"
+ destroy_status_html: "%{name} fjernet innlegget av %{target}"
+ destroy_user_role_html: "%{name} slettet %{target} -rolle"
reject_user_html: "%{name} avslo registrering fra %{target}"
- silence_account_html: "%{name} begrenset %{target} sin konto"
+ reset_password_user_html: "%{name} tilbakestille passordet for brukeren %{target}"
+ silence_account_html: "%{name} begrenset %{target}s konto"
+ unsilence_account_html: "%{name} fjernet begrensningen av %{target}s konto"
+ update_custom_emoji_html: "%{name} oppdaterte emoji %{target}"
+ update_ip_block_html: "%{name} endret regel for IP %{target}"
+ update_status_html: "%{name} oppdaterte innlegg av %{target}"
+ update_user_role_html: "%{name} endret %{target} -rolle"
+ deleted_account: slettet konto
empty: Ingen loggføringer ble funnet.
filter_by_action: Sorter etter handling
filter_by_user: Sorter etter bruker
@@ -259,10 +290,12 @@
enable: Aktivere
enabled: Skrudd på
enabled_msg: Aktiverte emojien uten problem
+ image_hint: PNG eller GIF opptil %{size}
list: Før opp
listed: Oppførte
new:
title: Legg til ny egen emoji
+ no_emoji_selected: Ingen emojis ble endret da ingen var valgt
not_permitted: Du har ikke rettigheter til å utføre denne handlingen
overwrite: Overskrive
shortcode: Kortkode
@@ -299,7 +332,8 @@
destroyed_msg: Domeneblokkering har nå blitt angret
domain: Domene
edit: Rediger domeneblokkering
- existing_domain_block_html: Du har allerede pålagt strengere begrensninger på %{name}, du kan være nødt til oppheve blokkeringen av den først.
+ existing_domain_block: Du har allerede pålagt strengere begrensninger på %{name}.
+ existing_domain_block_html: Du har allerede pålagt strengere begrensninger på %{name}, du må oppheve blokkeringen av den først.
new:
create: Lag blokkering
hint: Domeneblokkeringen vil ikke hindre opprettelse av kontooppføringer i databasen, men vil retroaktivt og automatisk benytte spesifikke moderasjonsmetoder på de kontoene.
@@ -310,11 +344,11 @@
suspend: Utvis
title: Ny domeneblokkering
obfuscate: Obfuskere domenenavn
- obfuscate_hint: Delvis skjule domenenavnet i listen hvis det er aktivert for å annonsere listen over domenebegrensninger
+ obfuscate_hint: Skjul deler av domenenavnet i listen hvis annonsering av listen over domenebegrensninger er slått på
private_comment: Privat kommentar
- private_comment_hint: Kommenter angående denne domenebegrensningen for internt bruk av moderatorene.
+ private_comment_hint: Kommentar angående denne domenebegrensningen for internt bruk av moderatorene.
public_comment: Offentlig kommentar
- public_comment_hint: Kommenter angående denne domenebegrensningen for offentligheten, hvis publisering av domenebegrensningslisten er slått på.
+ public_comment_hint: Kommentar angående denne domenebegrensningen for offentligheten, hvis publisering av listen over domenebegrensninger er slått på.
reject_media: Avvis mediefiler
reject_media_hint: Fjerner lokalt lagrede mediefiler og nekter å laste dem ned i fremtiden. Irrelevant for utvisninger
reject_reports: Avslå rapporter
@@ -323,6 +357,9 @@
view: Vis domeneblokkering
email_domain_blocks:
add_new: Lag ny
+ attempts_over_week:
+ one: "%{count} forsøk i løpet av den siste uken"
+ other: "%{count} forsøk på å opprette konto i løpet av den siste uken"
created_msg: E-postdomenet ble lagt til i blokkeringslisten uten problemer
delete: Fjern
domain: Domene
@@ -339,10 +376,30 @@
title: Følg anbefalinger
unsuppress: Gjenopprett følg-anbefaling
instances:
+ availability:
+ failure_threshold_reached: Feilterskelen ble nådd %{date}.
+ no_failures_recorded: Ingen feil registrert.
+ title: Tilgjengelighet
+ warning: Det siste forsøket på å koble til denne serveren lyktes ikke
back_to_all: All
back_to_limited: Begrenset
back_to_warning: Advarsel
by_domain: Domene
+ content_policies:
+ comment: Internt notat
+ policies:
+ reject_media: Avvis media
+ silence: Begrens
+ reason: Offentlig årsak
+ title: Retningslinjer for innhold
+ dashboard:
+ instance_accounts_measure: lagrede kontoer
+ instance_followers_measure: våre følgere der
+ instance_follows_measure: deres følgere her
+ instance_languages_dimension: Mest brukte språk
+ instance_media_attachments_measure: lagrede mediavedlegg
+ instance_reports_measure: rapporter om dem
+ instance_statuses_measure: lagrede innlegg
delivery:
all: All
clear: Feil ved fjerning
@@ -350,6 +407,8 @@
stop: Stopp levering
unavailable: Ikke tilgjengelig
delivery_available: Levering er tilgjengelig
+ delivery_error_hint: Dersom levering ikke er mulig i løpet av %{count} dager, blir det automatisk merket som ikke mulig å levere.
+ empty: Ingen domener funnet.
moderation:
all: Alt
limited: Begrenset
@@ -400,7 +459,7 @@
pending: Avventer overgangens godkjenning
save_and_enable: Lagre og skru på
setup: Sett opp en overgangsforbindelse
- signatures_not_enabled: Overganger vil ikke fungere riktig mens sikkermodus eller hvitelistingsmodus er skrudd på
+ signatures_not_enabled: Videreformidlere vil ikke fungere riktig mens sikkermodus eller begrenset føderasjon er aktiv
status: Status
title: Overganger
report_notes:
@@ -412,6 +471,8 @@
one: "%{count} notis"
other: "%{count} notiser"
action_taken_by: Handling utført av
+ actions:
+ silence_description_html: Profilen vil kun være synlig for dem som allerede følger den eller manuelt slår den opp, noe som sterkt begrenser dens rekkevidde. Kan alltid tilbakestilles.
are_you_sure: Er du sikker?
assign_to_self: Tilegn til meg
assigned: Tilegnet moderator
@@ -441,6 +502,18 @@
unassign: Fjern tilegning
unresolved: Uløst
updated_at: Oppdatert
+ view_profile: Vis profil
+ roles:
+ add_new: Legg til rolle
+ assigned_users:
+ one: "%{count} bruker"
+ other: "%{count} brukere"
+ categories:
+ administration: Administrasjon
+ devops: DevOps
+ invites: Invitasjoner
+ privileges:
+ view_devops: DevOps
rules:
add_new: Legg til et filter
delete: Slett
@@ -469,6 +542,9 @@
no_status_selected: Ingen statuser ble endret da ingen ble valgt
title: Kontostatuser
with_media: Med media
+ strikes:
+ actions:
+ silence: "%{name} begrenset %{target}s konto"
system_checks:
database_schema_check:
message_html: Det venter på databaseoverføringer. Vennligst kjør disse for å sikre at applikasjonen oppfører seg som forventet
@@ -482,6 +558,9 @@
add_new: Legg til ny
delete: Slett
admin_mailer:
+ new_appeal:
+ actions:
+ silence: for å begrense deres konto
new_pending_account:
body: Detaljer om den nye kontoen er nedenfor. Du kan godkjenne eller avvise denne søknaden.
subject: Ny konto opp til vurdering på %{instance} (%{username})
@@ -504,7 +583,7 @@
body: Mastodon er oversatt av frivillige.
guide_link_text: Alle kan bidra.
sensitive_content: Sensitivt innhold
- toot_layout: Tut-utseende
+ toot_layout: Innleggsoppsett
application_mailer:
notification_preferences: Endre E-postinnstillingene
salutation: "%{name},"
@@ -556,6 +635,7 @@
confirming: Venter på at e-postbekreftelsen er fullført.
pending: Søknaden din avventer gjennomgang av styret vårt. Dette kan ta litt tid. Du vil motta en E-post dersom søknaden din blir godkjent.
redirecting_to: Kontoen din er inaktiv fordi den for øyeblikket omdirigerer til %{acct}.
+ view_strikes: Vis tidligere advarsler mot kontoen din
use_security_key: Bruk sikkerhetsnøkkel
authorize_follow:
already_following: Du følger allerede denne kontoen
@@ -608,6 +688,11 @@
more_details_html: For mere detaljer, se privatlivsretningslinjene.
username_available: Brukernavnet ditt vil bli gjort tilgjengelig igjen
username_unavailable: Brukernavnet ditt vil forbli utilgjengelig
+ disputes:
+ strikes:
+ appeal_approved: Denne advarselen ble anket og er ikke lenger gyldig
+ title_actions:
+ silence: Begrensning av konto
domain_validator:
invalid_domain: er ikke et gyldig domenenavn
errors:
@@ -645,6 +730,8 @@
storage: Medialagring
featured_tags:
add_new: Legg til ny
+ errors:
+ limit: Du har allerede fremhevet det maksimale antal hashtags
hint_html: "Hva er utvalgte emneknagger? De vises frem tydelig på din offentlige profil, og lar folk bla i dine offentlige innlegg som spesifikt har de emneknaggene. De er et bra verktøy for å holde styr på kreative verk eller langtidsprosjekter."
filters:
contexts:
@@ -675,6 +762,8 @@
one: Noe er ikke helt riktig ennå. Vennligst se etter en gang til
other: Noe er ikke helt riktig ennå. Det er ennå %{count} feil å rette på
imports:
+ errors:
+ over_rows_processing_limit: inneholder flere enn %{count} rader
modes:
merge: Slå sammen
overwrite: Overskriv
@@ -827,7 +916,7 @@
public_timelines: Offentlige tidslinjer
reactions:
errors:
- limit_reached: Grensen for forskjellige reaksjoner nådd
+ limit_reached: Grensen for ulike reaksjoner nådd
unrecognized_emoji: er ikke en gjenkjent emoji
relationships:
activity: Kontoaktivitet
@@ -854,7 +943,7 @@
tag: 'Offentlige innlegg merket med #%{hashtag}'
scheduled_statuses:
over_daily_limit: Du har overskredet grensen på %{limit} planlagte tuter for den dagen
- over_total_limit: Du har overskredet grensen på %{limit} planlagte tuter
+ over_total_limit: Du har overskredet grensen på %{limit} planlagte innlegg
too_soon: Den planlagte datoen må være i fremtiden
sessions:
activity: Siste aktivitet
@@ -885,7 +974,7 @@
adobe_air: Adobe Air
android: Android
blackberry: BlackBerry
- chrome_os: Chrome OS
+ chrome_os: ChromeOS
firefox_os: Firefox OS
ios: iOS
linux: Linux
@@ -942,10 +1031,10 @@
errors:
in_reply_not_found: Posten du prøver å svare ser ikke ut til eksisterer.
open_in_web: Åpne i nettleser
- over_character_limit: grense på %{max} tegn overskredet
+ over_character_limit: grensen på %{max} tegn overskredet
pin_errors:
direct: Innlegg som bare er synlige for nevnte brukere kan ikke festes
- limit: Du har allerede festet det maksimale antall tuter
+ limit: Du har allerede festet det maksimale antall innlegg
ownership: Kun egne tuter kan festes
reblog: En fremheving kan ikke festes
poll:
@@ -988,6 +1077,9 @@
pinned: Festet tut
reblogged: fremhevde
sensitive_content: Følsomt innhold
+ strikes:
+ errors:
+ too_late: Det er for sent å klage på denne advarselen
tags:
does_not_match_previous_name: samsvarer ikke med det forrige navnet
themes:
diff --git a/config/locales/oc.yml b/config/locales/oc.yml
index 37c470d31..d6bf5a531 100644
--- a/config/locales/oc.yml
+++ b/config/locales/oc.yml
@@ -806,7 +806,6 @@ oc:
browser: Navigator
browsers:
alipay: Alipay
- blackberry: Blackberry
chrome: Chrome
edge: Microsoft Edge
electron: Electron
@@ -820,7 +819,6 @@ oc:
phantom_js: PhantomJS
qq: QQ Browser
safari: Safari
- uc_browser: UCBrowser
weibo: Weibo
current_session: Session en cors
description: "%{browser} sus %{platform}"
@@ -829,8 +827,6 @@ oc:
platforms:
adobe_air: Adobe Air
android: Android
- blackberry: Blackberry
- chrome_os: ChromeOS
firefox_os: Firefox OS
ios: iOS
linux: Linux
diff --git a/config/locales/pl.yml b/config/locales/pl.yml
index 72bd61bd3..dc96acee7 100644
--- a/config/locales/pl.yml
+++ b/config/locales/pl.yml
@@ -1,10 +1,10 @@
---
pl:
about:
- about_mastodon_html: Mastodon jest wolną i otwartą siecią społecznościową, zdecentralizowaną alternatywą dla zamkniętych, komercyjnych platform.
+ about_mastodon_html: 'Sieć społecznościowa przyszłości: Bez reklam, bez inwigilacji, zaprojektowana etycznie i zdecentralizowanie! Władaj swoimi danymi z Mastodonem!'
contact_missing: Nie ustawiono
contact_unavailable: Nie dotyczy
- hosted_on: Mastodon uruchomiony na %{domain}
+ hosted_on: Mastodon hostowany na %{domain}
title: O nas
accounts:
follow: Obserwuj
@@ -63,7 +63,7 @@ pl:
destroyed_msg: Dane %{username} są teraz w kolejce do natychmiastowego usunięcia
disable: Dezaktywuj
disable_sign_in_token_auth: Wyłącz uwierzytelnianie tokenu e-mail
- disable_two_factor_authentication: Wyłącz uwierzytelnianie dwuetapowe
+ disable_two_factor_authentication: Wyłącz uwierzytelnianie dwuskładnikowe
disabled: Dezaktywowano
display_name: Wyświetlana nazwa
domain: Domena
@@ -81,7 +81,7 @@ pl:
invite_request_text: Powody rejestracji
invited_by: Zaproszony(-a) przez
ip: Adres IP
- joined: Dołączył(-a)
+ joined: Dołączono
location:
all: Wszystkie
local: Lokalne
@@ -135,13 +135,13 @@ pl:
resubscribe: Ponów subskrypcję
role: Rola
search: Szukaj
- search_same_email_domain: Inni użytkownicy z e-mail w tej domenie
+ search_same_email_domain: Inni użytkownicy z tym samym e-mail w tej domenie
search_same_ip: Inni użytkownicy z tym samym IP
security_measures:
only_password: Tylko hasło
password_and_2fa: Hasło i 2FA
sensitive: Wrażliwe
- sensitized: oznaczono jako wrażliwe
+ sensitized: Oznaczono jako wrażliwe
shared_inbox_url: Adres udostępnianej skrzynki
show:
created_reports: Zgłoszenia tego użytkownika
@@ -259,7 +259,7 @@ pl:
destroy_status_html: "%{name} usunął(-ęła) wpis użytkownika %{target}"
destroy_unavailable_domain_html: "%{name} wznowił(a) doręczanie do domeny %{target}"
destroy_user_role_html: "%{name} usunął rolę %{target}"
- disable_2fa_user_html: "%{name} wyłączył(a) uwierzytelnianie dwustopniowe użytkownikowi %{target}"
+ disable_2fa_user_html: "%{name} wyłączył(a) uwierzytelnianie dwuskładnikowe użytkownikowi %{target}"
disable_custom_emoji_html: "%{name} wyłączył(a) emoji %{target}"
disable_sign_in_token_auth_user_html: "%{name} wyłączył/a uwierzytelnianie tokenem e-mail dla %{target}"
disable_user_html: "%{name} zablokował(a) możliwość logowania użytkownikowi %{target}"
@@ -687,7 +687,7 @@ pl:
view_audit_log_description: Pozwala użytkownikom zobaczyć historię działań administracyjnych na serwerze
view_dashboard: Wyświetl panel
view_dashboard_description: Pozwala użytkownikom na dostęp do panelu i różnych metryk
- view_devops: Devops
+ view_devops: DevOps
view_devops_description: Pozwala użytkownikom na dostęp do paneli Sidekiq i pgHero
title: Role
rules:
@@ -1425,7 +1425,7 @@ pl:
browser: Przeglądarka
browsers:
alipay: Alipay
- blackberry: Blackberry
+ blackberry: BlackBerry
chrome: Chrome
edge: Microsoft Edge
electron: Electron
@@ -1439,7 +1439,7 @@ pl:
phantom_js: PhantomJS
qq: QQ Browser
safari: Safari
- uc_browser: UCBrowser
+ uc_browser: UC Browser
weibo: Weibo
current_session: Obecna sesja
description: "%{browser} na %{platform}"
@@ -1448,7 +1448,7 @@ pl:
platforms:
adobe_air: Adobe Air
android: Android
- blackberry: Blackberry
+ blackberry: BlackBerry
chrome_os: ChromeOS
firefox_os: Firefox OS
ios: iOS
@@ -1609,7 +1609,7 @@ pl:
enabled_success: Pomyślnie aktywowano uwierzytelnianie dwuetapowe
generate_recovery_codes: Generuj kody zapasowe
lost_recovery_codes: Kody zapasowe pozwolą uzyskać dostęp do portalu, jeżeli utracisz dostęp do telefonu. Jeżeli utracisz dostęp do nich, możesz wygenerować je ponownie tutaj. Poprzednie zostaną unieważnione.
- methods: Metody uwierzytelniania dwuetapowego
+ methods: Metody uwierzytelniania dwuskładnikowego
otp: Aplikacja uwierzytelniająca
recovery_codes: Przywróć kody zapasowe
recovery_codes_regenerated: Pomyślnie wygenerowano ponownie kody zapasowe
@@ -1682,7 +1682,7 @@ pl:
invalid_otp_token: Kod uwierzytelniający jest niepoprawny
otp_lost_help_html: Jeżeli utracisz dostęp do obu, możesz skontaktować się z %{email}
seamless_external_login: Zalogowano z użyciem zewnętrznej usługi, więc ustawienia hasła i adresu e-mail nie są dostępne.
- signed_in_as: 'Zalogowany jako:'
+ signed_in_as: 'Zalogowano jako:'
verification:
explanation_html: 'Możesz zweryfikować siebie jako właściciela stron, do których odnośniki znajdują się w metadanych. Aby to zrobić, strona musi zawierać odnośnik do Twojego profilu na Mastodonie. Odnośnik musi zawierać atrybut rel="me"
. Jego zawartość nie ma znaczenia. Przykład:'
verification: Weryfikacja
diff --git a/config/locales/pt-BR.yml b/config/locales/pt-BR.yml
index ec794492b..6d3fbf60f 100644
--- a/config/locales/pt-BR.yml
+++ b/config/locales/pt-BR.yml
@@ -28,24 +28,24 @@ pt-BR:
title: Moderar %{acct}
account_moderation_notes:
create: Deixar nota
- created_msg: Nota de moderação criada com sucesso!
- destroyed_msg: Nota de moderação excluída com sucesso!
+ created_msg: Nota de moderação criada!
+ destroyed_msg: Nota de moderação excluída!
accounts:
add_email_domain_block: Bloquear domínio de e-mail
approve: Aprovar
- approved_msg: O registro de %{username} foi aprovado com sucesso
+ approved_msg: O registro de %{username} foi aprovado
are_you_sure: Você tem certeza?
avatar: Imagem de perfil
by_domain: Domínio
change_email:
- changed_msg: E-mail alterado com sucesso!
+ changed_msg: E-mail alterado!
current_email: E-mail atual
label: Alterar e-mail
new_email: Novo e-mail
submit: Alterar e-mail
title: Alterar e-mail para %{username}
change_role:
- changed_msg: Cargo alterado com sucesso!
+ changed_msg: Cargo alterado!
label: Alterar cargo
no_role: Sem cargo
title: Alterar cargo para %{username}
@@ -69,7 +69,7 @@ pt-BR:
enable: Descongelar
enable_sign_in_token_auth: Ativar autenticação via token por email
enabled: Ativada
- enabled_msg: Descongelada com sucesso a conta de %{username}
+ enabled_msg: A conta de %{username} foi descongelada
followers: Seguidores
follows: Seguindo
header: Capa
@@ -87,53 +87,53 @@ pt-BR:
media_attachments: Mídias anexadas
memorialize: Converter em memorial
memorialized: Convertidas em memorial
- memorialized_msg: Transformou com sucesso %{username} em uma conta memorial
+ memorialized_msg: A conta de %{username} foi transformada em uma conta memorial
moderation:
active: Ativo
all: Todos
pending: Pendente
silenced: Limitado
- suspended: Banidos
+ suspended: Suspendido
title: Moderação
moderation_notes: Notas de moderação
most_recent_activity: Atividade mais recente
most_recent_ip: IP mais recente
no_account_selected: Nenhuma conta foi alterada, pois nenhuma conta foi selecionada
no_limits_imposed: Sem limite imposto
- no_role_assigned: Nenhuma função atribuída
+ no_role_assigned: Sem cargo
not_subscribed: Não inscrito
pending: Revisão pendente
- perform_full_suspension: Banir
- previous_strikes: Ataques anteriores
+ perform_full_suspension: Suspender
+ previous_strikes: Avisos anteriores
previous_strikes_description_html:
- one: Esta conta tem um ataque.
+ one: Esta conta tem um aviso.
other: Esta conta tem %{count} ataques.
promote: Promover
protocol: Protocolo
public: Público
push_subscription_expires: Inscrição PuSH expira
redownload: Atualizar perfil
- redownloaded_msg: Atualizado com sucesso o perfil de %{username} a partir da origem
- reject: Vetar
- rejected_msg: Rejeitado com sucesso o pedido de registro de %{username}
+ redownloaded_msg: O perfil de %{username} foi atualizado a partir da origem
+ reject: Rejeitar
+ rejected_msg: O pedido de registro de %{username} foi rejeitado
remove_avatar: Remover imagem de perfil
remove_header: Remover capa
- removed_avatar_msg: Removida com sucesso a imagem de avatar de %{username}
- removed_header_msg: Removida com sucesso a imagem de capa de %{username}
+ removed_avatar_msg: A imagem de perfil de %{username} foi removida
+ removed_header_msg: A capa de %{username} foi removida
resend_confirmation:
already_confirmed: Este usuário já está confirmado
send: Reenviar o e-mail de confirmação
- success: E-mail de confirmação enviado com sucesso!
+ success: E-mail de confirmação enviado!
reset: Redefinir
reset_password: Redefinir senha
resubscribe: Reinscrever-se
- role: Função
- search: Pesquisar
+ role: Cargo
+ search: Buscar
search_same_email_domain: Outros usuários com o mesmo domínio de e-mail
search_same_ip: Outros usuários com o mesmo IP
security_measures:
- only_password: Somente senha
- password_and_2fa: Senha e 2FA
+ only_password: Apenas senha
+ password_and_2fa: Senha e autenticação de dois fatores
sensitive: Sensíveis
sensitized: marcadas como sensíveis
shared_inbox_url: Link da caixa de entrada compartilhada
@@ -143,7 +143,7 @@ pt-BR:
silence: Silenciar
silenced: Silenciado
statuses: Publicações
- strikes: Ataques anteriores
+ strikes: Avisos anteriores
subscribe: Inscrever-se
suspend: Suspender
suspended: Banido
@@ -151,14 +151,14 @@ pt-BR:
suspension_reversible_hint_html: A conta foi suspensa e os dados serão totalmente removidos em %{date}. Até lá, a conta pode ser restaurada sem nenhum efeito negativo. Se você deseja remover todos os dados da conta imediatamente, você pode fazer isso abaixo.
title: Contas
unblock_email: Desbloquear endereço de e-mail
- unblocked_email_msg: Endereço de e-mail de %{username} desbloqueado com sucesso
+ unblocked_email_msg: O endereço de e-mail de %{username} foi desbloqueado
unconfirmed_email: E-mail não confirmado
undo_sensitized: Desfazer sensível
undo_silenced: Desfazer silêncio
undo_suspension: Desbanir
- unsilenced_msg: Removidas com sucesso as limitações da conta de %{username}
+ unsilenced_msg: As limitações da conta de %{username} foram removidas
unsubscribe: Cancelar inscrição
- unsuspended_msg: Removida com sucesso a suspensão da conta de %{username}
+ unsuspended_msg: A suspensão da conta de %{username} foi removida
username: Nome de usuário
view_domain: Ver resumo para o domínio
warn: Notificar
@@ -205,7 +205,7 @@ pt-BR:
promote_user: Promover usuário
reject_appeal: Rejeitar recurso
reject_user: Rejeitar Usuário
- remove_avatar_user: Remover Avatar
+ remove_avatar_user: Remover imagem de perfil
reopen_report: Reabrir Relatório
resend_user: Reenviar o E-mail de Confirmação
reset_password_user: Redefinir a senha
@@ -253,7 +253,7 @@ pt-BR:
destroy_status_html: "%{name} removeu a publicação de %{target}"
destroy_unavailable_domain_html: "%{name} retomou a entrega ao domínio %{target}"
destroy_user_role_html: "%{name} excluiu a função %{target}"
- disable_2fa_user_html: "%{name} desativou a exigência de autenticação de dois fatores para o usuário %{target}"
+ disable_2fa_user_html: "%{name} desativou a exigência da autenticação de dois fatores para o usuário %{target}"
disable_custom_emoji_html: "%{name} desativou o emoji %{target}"
disable_sign_in_token_auth_user_html: "%{name} desativou a autenticação via token por email para %{target}"
disable_user_html: "%{name} desativou o login para %{target}"
@@ -289,7 +289,7 @@ pt-BR:
filter_by_user: Filtrar por usuário
title: Auditar histórico
announcements:
- destroyed_msg: Anúncio excluído com sucesso!
+ destroyed_msg: Anúncio excluído!
edit:
title: Editar anúncio
empty: Sem anúncios.
@@ -298,30 +298,30 @@ pt-BR:
create: Criar anúncio
title: Novo anúncio
publish: Publicar
- published_msg: Anúncio publicado com sucesso!
+ published_msg: Anúncio publicado!
scheduled_for: Agendado para %{time}
scheduled_msg: Anúncio agendado para publicação!
title: Anúncios
unpublish: Cancelar publicação
- unpublished_msg: Anúncio despublicado com sucesso!
- updated_msg: Anúncio atualizado com sucesso!
+ unpublished_msg: Anúncio desfeito!
+ updated_msg: Anúncio atualizado!
custom_emojis:
assign_category: Atribuir categoria
by_domain: Domínio
- copied_msg: Cópia local do emoji criada com sucesso
+ copied_msg: Emoji copiado localmente
copy: Copiar
copy_failed_msg: Não foi possível criar cópia local do emoji
create_new_category: Criar nova categoria
- created_msg: Emoji criado com sucesso!
+ created_msg: Emoji criado!
delete: Excluir
- destroyed_msg: Emoji excluído com sucesso!
+ destroyed_msg: Emoji excluído!
disable: Desativar
disabled: Desativado
- disabled_msg: Emoji desativado com sucesso
+ disabled_msg: Emoji desativado
emoji: Emoji
enable: Ativar
enabled: Ativado
- enabled_msg: Emoji ativado com sucesso
+ enabled_msg: Emoji ativado
image_hint: PNG ou GIF até %{size}
list: Listar
listed: Listado
@@ -337,7 +337,7 @@ pt-BR:
unlist: Não listar
unlisted: Não-listado
update_failed_msg: Não foi possível atualizar esse emoji
- updated_msg: Emoji atualizado com sucesso!
+ updated_msg: Emoji atualizado!
upload: Enviar
dashboard:
active_users: usuários ativos
@@ -372,8 +372,8 @@ pt-BR:
domain_allows:
add_new: Permitir domínio
created_msg: Domínio foi permitido
- destroyed_msg: Domínio foi bloqueado
- undo: Bloquear
+ destroyed_msg: Domínio foi proibido de federar
+ undo: Bloquear federação com domínio
domain_blocks:
add_new: Adicionar novo bloqueio de domínio
created_msg: Domínio está sendo bloqueado
@@ -408,7 +408,7 @@ pt-BR:
attempts_over_week:
one: "%{count} tentativa na última semana"
other: "%{count} tentativas de inscrição na última semana"
- created_msg: Domínio de e-mail adicionado à lista negra com sucesso
+ created_msg: O domínio de e-mail foi adicionado à lista negra
delete: Excluir
dns:
types:
@@ -433,8 +433,8 @@ pt-BR:
instances:
availability:
description_html:
- one: Se a entrega ao domínio falhar %{count} dia sem sucesso, nenhuma tentativa de entrega será feita a menos que uma entrega de do domínio seja recebida.
- other: Se a entrega ao domínio falhar em %{count} dias diferentes sem sucesso, nenhuma tentativa de entrega será feita a menos que uma entrega de do domínio seja recebida.
+ one: Se a entrega ao domínio falhar em %{count} dia sem sucesso, nenhuma tentativa de entrega será feita a menos que uma entrega do domínio seja recebida.
+ other: Se a entrega ao domínio falhar em %{count} dias diferentes sem sucesso, nenhuma tentativa de entrega será feita a menos que uma entrega do domínio seja recebida.
failure_threshold_reached: Limite de falhas atingido em %{date}.
failures_recorded:
one: Falha na tentativa em %{count} dia.
@@ -507,7 +507,7 @@ pt-BR:
title: Convites
ip_blocks:
add_new: Criar regra
- created_msg: Nova regra de IP adicionada com sucesso
+ created_msg: Nova regra de IP adicionada
delete: Excluir
expires_in:
'1209600': 2 semanas
@@ -525,11 +525,11 @@ pt-BR:
relays:
add_new: Adicionar novo repetidor
delete: Excluir
- description_html: Um repetidor de federação é um servidor intermediário que troca um grande volume de toots públicos entre instâncias que se inscrevem e publicam nele. O repetidor pode ser usado para ajudar instâncias pequenas e médias a descobrir conteúdo pelo fediverso, que normalmente precisariam que usuários locais manualmente seguissem outras pessoas em instâncias remotas.
+ description_html: Um repetidor de federação é um servidor intermediário que troca um grande volume de publicações públicas entre servidores que se inscrevem e publicam nele. Ele pode ser usado para ajudar os servidores pequenos e médios a descobrir o conteúdo pelo fediverso, que normalmente precisariam que usuários locais manualmente seguissem outras pessoas em servidores remotas.
disable: Desativar
disabled: Desativado
enable: Ativar
- enable_hint: Uma vez ativado, sua instância se inscreverá para receber todos os toots públicos desse repetidor; E vai começar a enviar todos os toots públicos desta instância para o repetidor.
+ enable_hint: Uma vez ativado, seu servidor se inscreverá para receber todas as publicações deste repetidor e começará a enviar todas as publicações deste servidor para o repetidor.
enabled: Ativado
inbox_url: Link do repetidor
pending: Esperando pela aprovação do repetidor
@@ -539,8 +539,8 @@ pt-BR:
status: Situação
title: Repetidores
report_notes:
- created_msg: Nota de denúncia criada com sucesso!
- destroyed_msg: Nota de denúncia excluída com sucesso!
+ created_msg: Nota de denúncia criada!
+ destroyed_msg: Nota de denúncia excluída!
today_at: Hoje às %{time}
reports:
account:
@@ -592,7 +592,7 @@ pt-BR:
reported_account: Conta denunciada
reported_by: Denunciada por
resolved: Resolvido
- resolved_msg: Denúncia resolvida com sucesso!
+ resolved_msg: Denúncia resolvida!
skip_to_actions: Pular para ações
status: Situação
statuses: Conteúdo denunciado
@@ -610,7 +610,6 @@ pt-BR:
other: "%{count} usuários"
categories:
administration: Administração
- devops: Devops
invites: Convites
moderation: Moderação
special: Especial
@@ -661,7 +660,6 @@ pt-BR:
view_audit_log_description: Permite aos usuários ver um histórico de ações administrativas no servidor
view_dashboard: Ver painel
view_dashboard_description: Permite que os usuários acessem o painel e várias métricas
- view_devops: Devops
view_devops_description: Permite aos usuários acessar os painéis da Sidekiq e pgHero
title: Funções
rules:
@@ -747,18 +745,20 @@ pt-BR:
appeal_pending: Recurso pendente
system_checks:
database_schema_check:
- message_html: Existem migrações de banco de dados pendentes. Por favor, execute-as para garantir que o aplicativo se comporte como esperado
+ message_html: Existem migrações de banco de dados pendentes. Execute-as para garantir que o aplicativo se comporte como esperado
elasticsearch_running_check:
- message_html: Não foi possível conectar ao Elasticsearch. Por favor, verifique se está em execução, ou desabilite a pesquisa de texto completo
+ message_html: Não foi possível conectar ao Elasticsearch. Verifique se ele está em execução ou desative a pesquisa de texto completo
elasticsearch_version_check:
message_html: 'Versão de Elasticsearch incompatível: %{value}'
version_comparison: A versão %{running_version} de Elasticsearch está em execução, porém é obrigatória a versão %{required_version}
rules_check:
action: Gerenciar regras do servidor
message_html: Você não definiu nenhuma regra de servidor.
+ sidekiq_process_check:
+ message_html: Nenhum processo Sidekiq rodando para a(s) fila(s) %{value}. Por favor, revise a sua configuração para Sidekiq
tags:
review: Status da revisão
- updated_msg: Configurações de hashtag atualizadas com sucesso
+ updated_msg: Configurações de hashtag atualizadas
title: Administração
trends:
allow: Permitir
@@ -767,8 +767,9 @@ pt-BR:
links:
allow: Permitir link
allow_provider: Permitir editor
- disallow: Impedir link
- disallow_provider: Impedir publicador
+ description_html: Estes são links que estão sendo compartilhados por contas que seu servidor vê. Você pode ajudar seus usuários a descobrir o que está acontecendo no mundo. Nenhum link é exibido publicamente até que você aprove o editor. Você também pode permitir ou rejeitar links individuais.
+ disallow: Proibir link
+ disallow_provider: Proibir autor
no_link_selected: Nenhum link foi alterado como nenhum foi selecionado
title: Em alta no momento
usage_comparison: Compartilhado %{today} vezes hoje, em comparação com %{yesterday} de ontem
@@ -784,8 +785,11 @@ pt-BR:
allow: Permitir publicação
allow_account: Permitir autor
description_html: Estes são as publicações que seu servidor sabe que estão sendo muito compartilhadas e favorecidas no momento. Isso pode ajudar seus usuários, novos e atuais, a encontrar mais pessoas para seguir. Nenhuma publicação é exibida publicamente até que você aprove o autor e o autor permitir que sua conta seja sugerida a outros. Você também pode permitir ou rejeitar publicações individuais.
- disallow: Impedir publicação
- disallow_account: Impedir autor
+ disallow: Proibir publicação
+ disallow_account: Proibir autor
+ shared_by:
+ one: Compartilhado ou favoritado uma vez
+ other: Compartilhado e favoritado %{friendly_count} vezes
title: Publicações em alta
tags:
current_score: Pontuação atual %{score}
@@ -804,6 +808,9 @@ pt-BR:
trending_rank: 'Em alta #%{rank}'
usable: Pode ser usado
usage_comparison: Usado %{today} vezes hoje, em comparação com %{yesterday} de ontem
+ used_by_over_week:
+ one: Usado por uma pessoa na última semana
+ other: Usado por %{count} pessoas na última semana
title: Em alta
trending: Em alta
warning_presets:
@@ -860,10 +867,10 @@ pt-BR:
subject: Novas tendências para revisão em %{instance}
aliases:
add_new: Criar alias
- created_msg: Um novo alias foi criado com sucesso. Agora você pode iniciar a mudança da conta antiga.
- deleted_msg: Alias removido com sucesso. Não será mais possível se mudar daquela conta para esta conta.
+ created_msg: Um novo atalho foi criado. Agora você pode iniciar a mudança da conta antiga.
+ deleted_msg: O atalho foi removido. Não será mais possível se mudar daquela conta para esta conta.
empty: Você não tem alias.
- hint_html: Se você quiser migrar de uma outra conta para esta, você pode criar um alias aqui, o que é necessário antes que você possa migrar os seguidores da conta antiga para esta. Esta ação por si só é inofensiva e reversível. A migração da conta é iniciada pela conta antiga.
+ hint_html: Se você quiser migrar de uma outra conta para esta, você pode criar um atalho aqui, o que é necessário antes que você possa migrar os seguidores da conta antiga para esta. Esta ação por si só é inofensiva e reversível. A migração da conta é iniciada pela conta antiga.
remove: Desvincular alias
appearance:
advanced_web_interface: Interface avançada de colunas
@@ -876,19 +883,19 @@ pt-BR:
guide_link: https://br.crowdin.com/project/mastodon
guide_link_text: Todos podem contribuir.
sensitive_content: Conteúdo sensível
- toot_layout: Layout do Toot
+ toot_layout: Formato da publicação
application_mailer:
notification_preferences: Alterar preferências de e-mail
salutation: "%{name},"
settings: 'Alterar e-mail de preferência: %{link}'
view: 'Ver:'
view_profile: Ver perfil
- view_status: Ver toot
+ view_status: Ver publicação
applications:
created: Aplicativo criado com sucesso
destroyed: Aplicativo excluído com sucesso
regenerate_token: Gerar código de acesso
- token_regenerated: Código de acesso gerado com sucesso
+ token_regenerated: Código de acesso gerado
warning: Tenha cuidado com estes dados. Nunca compartilhe com alguém!
your_token: Seu código de acesso
auth:
@@ -903,7 +910,7 @@ pt-BR:
didnt_get_confirmation: Não recebeu instruções de confirmação?
dont_have_your_security_key: Não está com a sua chave de segurança?
forgot_password: Esqueceu a sua senha?
- invalid_reset_password_token: Código de alteração de senha é inválido ou expirou. Por favor, solicite um novo.
+ invalid_reset_password_token: Código de alteração de senha é inválido ou expirou. Solicite um novo.
link_to_otp: Digite um código de duas etapas do seu telefone ou um código de recuperação
link_to_webauth: Use seu dispositivo de chave de segurança
log_in_with: Iniciar sessão com
@@ -933,7 +940,7 @@ pt-BR:
functional: Sua conta está totalmente operacional.
pending: Sua solicitação está com revisão pendente por parte de nossa equipe. Você receberá um e-mail se ela for aprovada.
redirecting_to: Sua conta está inativa porque atualmente está redirecionando para %{acct}.
- view_strikes: Veja os ataques anteriores contra a sua conta
+ view_strikes: Veja os avisos anteriores em relação à sua conta
too_fast: O formulário foi enviado muito rapidamente, tente novamente.
use_security_key: Usar chave de segurança
authorize_follow:
@@ -942,7 +949,7 @@ pt-BR:
error: Infelizmente, ocorreu um erro ao buscar a conta remota
follow: Seguir
follow_request: 'Você mandou solicitação para seguir para:'
- following: 'Sucesso! Você agora está seguindo:'
+ following: 'Sucesso! Agora você está seguindo:'
post_follow:
close: Ou você pode simplesmente fechar esta janela.
return: Mostrar o perfil do usuário
@@ -980,11 +987,11 @@ pt-BR:
confirm_password: Digite a sua senha atual para verificar a sua identidade
confirm_username: Digite seu nome de usuário para confirmar o procedimento
proceed: Excluir conta
- success_msg: A sua conta foi excluída com sucesso
+ success_msg: Sua conta foi excluída
warning:
- before: 'Antes de prosseguir, por favor leia com cuidado:'
+ before: 'Antes de prosseguir, leia com cuidado:'
caches: Conteúdo que foi armazenado em cache por outros servidores pode continuar a existir
- data_removal: Seus toots e outros dados serão removidos permanentemente
+ data_removal: Suas publicações e outros dados serão removidos permanentemente
email_change_html: Você pode alterar seu endereço de e-mail sem excluir sua conta
email_contact_html: Se você ainda não recebeu, você pode enviar um e-mail pedindo ajuda para %{email}
email_reconfirmation_html: Se você não está recebendo o e-mail de confirmação, você pode solicitá-lo novamente
@@ -1038,7 +1045,7 @@ pt-BR:
content: Desculpe, algo deu errado por aqui.
title: Esta página não está certa
'503': A página não pôde ser carregada devido a uma falha temporária do servidor.
- noscript_html: Para usar o aplicativo web do Mastodon, por favor ative o JavaScript. Ou, se quiser, experimente um dos aplicativos nativos para o Mastodon em sua plataforma.
+ noscript_html: Para usar o aplicativo web do Mastodon, ative o JavaScript. Ou, se quiser, experimente um dos aplicativos nativos para o Mastodon em sua plataforma.
existing_username_validator:
not_found: não foi possível encontrar um usuário local com esse nome de usuário
not_found_multiple: não foi possível encontrar %{usernames}
@@ -1046,7 +1053,7 @@ pt-BR:
archive_takeout:
date: Data
download: Baixe o seu arquivo
- hint_html: Você pode pedir um arquivo dos seus toots e mídias enviadas. Os dados exportados estarão no formato ActivityPub, que podem ser lidos por qualquer software compatível. Você pode pedir um arquivo a cada 7 dias.
+ hint_html: Você pode pedir um arquivo das suas publicações e mídias enviadas. Os dados exportados estarão no formato ActivityPub, que podem ser lidos por qualquer software compatível. Você pode pedir um arquivo a cada 7 dias.
in_progress: Preparando o seu arquivo...
request: Solicitar o seu arquivo
size: Tamanho
@@ -1061,7 +1068,7 @@ pt-BR:
add_new: Adicionar hashtag
errors:
limit: Você atingiu o limite de hashtags em destaque
- hint_html: "O que são hashtags em destaque? Elas são mostradas no seu perfil público e permitem que as pessoas acessem seus toots públicos que contenham especificamente essas hashtags. São uma excelente ferramenta para acompanhar os trabalhos criativos ou os projetos de longo prazo."
+ hint_html: "O que são hashtags em destaque? Elas são exibidas no seu perfil público e permitem que as pessoas acessem suas publicações públicos que contenham especificamente essas hashtags. São uma excelente ferramenta para acompanhar os trabalhos criativos ou os projetos de longo prazo."
filters:
contexts:
account: Perfis
@@ -1100,7 +1107,7 @@ pt-BR:
trending_now: Em alta no momento
generic:
all: Tudo
- changes_saved_msg: Alterações foram salvas com sucesso!
+ changes_saved_msg: Alterações salvas!
copy: Copiar
delete: Excluir
deselect: Desmarcar todos
@@ -1109,8 +1116,8 @@ pt-BR:
save_changes: Salvar alterações
today: hoje
validation_errors:
- one: Algo errado não está certo! Por favor, analise o erro abaixo
- other: Algo errado não está certo! Por favor, analise os %{count} erros abaixo
+ one: Algo não está certo! Analise o erro abaixo
+ other: Algo não está certo! Analise os %{count} erros abaixo
html_validator:
invalid_markup: 'contém HTML inválido: %{error}'
imports:
@@ -1122,7 +1129,7 @@ pt-BR:
overwrite: Sobrescrever
overwrite_long: Substituir os registros atuais com os novos
preface: Você pode importar dados que você exportou de outro servidor, como a lista de pessoas que você segue ou bloqueou.
- success: Os seus dados foram enviados com sucesso e serão processados em instantes
+ success: Seus dados foram enviados e serão processados em instantes
types:
blocking: Lista de bloqueio
bookmarks: Marcadores
@@ -1168,14 +1175,14 @@ pt-BR:
title: Histórico de autenticação
media_attachments:
validations:
- images_and_video: Não foi possível anexar um vídeo a um toot que já contém imagens
+ images_and_video: Não foi possível anexar um vídeo a uma publicação que já contém imagens
not_ready: Não é possível anexar arquivos que não terminaram de ser processados. Tente novamente daqui a pouco!
too_many: Não foi possível anexar mais de 4 imagens
migrations:
acct: Mudou-se para
cancel: Cancelar redirecionamento
cancel_explanation: Cancelar o redirecionamento reativará a sua conta atual, mas não trará de volta os seguidores que não foram migrados para aquela conta.
- cancelled_msg: Redirecionamento cancelado com sucesso.
+ cancelled_msg: Redirecionamento cancelado.
errors:
already_moved: é a mesma conta que você migrou
missing_also_known_as: não está referenciando esta conta
@@ -1195,7 +1202,7 @@ pt-BR:
set_redirect: Definir redirecionamento
warning:
backreference_required: A nova conta deve primeiro ser configurada para que esta seja referenciada
- before: 'Antes de prosseguir, por favor leia com cuidado:'
+ before: 'Antes de prosseguir, leia com cuidado:'
cooldown: Depois de se mudar, há um período de espera para poder efetuar uma nova mudança
disabled_account: Sua conta não estará totalmente funcional ao término deste processo. Entretanto, você terá acesso à exportação de dados bem como à reativação.
followers: Esta ação moverá todos os seguidores da conta atual para a nova conta
@@ -1235,8 +1242,8 @@ pt-BR:
poll:
subject: Uma enquete por %{name} terminou
reblog:
- body: "%{name} deu boost no seu toot:"
- subject: "%{name} deu boost no seu toot"
+ body: "%{name} impulsionou a sua publicação:"
+ subject: "%{name} impulsionou a sua publicação"
title: Novo boost
status:
subject: "%{name} acabou de publicar"
@@ -1258,7 +1265,7 @@ pt-BR:
trillion: TRI
otp_authentication:
code_hint: Digite o código gerado pelo seu aplicativo autenticador para confirmar
- description_html: Se você habilitar a autenticação de dois fatores usando um aplicativo autenticador, o login exigirá que você esteja com o seu telefone, que gerará tokens para você entrar.
+ description_html: Se você ativar a autenticação de dois fatores usando um aplicativo autenticador, ao se conectar será exigido que você esteja com o seu telefone, que gerará tokens para você entrar.
enable: Habilitar
instructions_html: "Escaneie este código QR no Google Authenticator ou em um aplicativo TOTP similar no seu telefone. A partir de agora, esse aplicativo irá gerar tokens que você terá que digitar ao fazer login."
manual_instructions: 'Se você não pode escanear o código QR e precisa digitá-lo manualmente, aqui está o segredo em texto:'
@@ -1327,7 +1334,6 @@ pt-BR:
browser: Navegador
browsers:
alipay: Alipay
- blackberry: BlackBerry
chrome: Chrome
edge: Microsoft Edge
electron: Electron
@@ -1341,7 +1347,6 @@ pt-BR:
phantom_js: PhantomJS
qq: QQ Browser
safari: Safari
- uc_browser: UCBrowser
weibo: Weibo
current_session: Sessão atual
description: "%{browser} em %{platform}"
@@ -1350,8 +1355,6 @@ pt-BR:
platforms:
adobe_air: Adobe Air
android: Android
- blackberry: BlackBerry
- chrome_os: Chrome OS
firefox_os: Firefox OS
ios: iOS
linux: Linux
@@ -1361,7 +1364,7 @@ pt-BR:
windows_mobile: Windows Mobile
windows_phone: Windows Phone
revoke: Fechar
- revoke_success: Sessão fechada com sucesso
+ revoke_success: Sessão fechada
title: Sessões
view_authentication_history: Ver histórico de autenticação da sua conta
settings:
@@ -1384,7 +1387,7 @@ pt-BR:
profile: Perfil
relationships: Seguindo e seguidores
statuses_cleanup: Exclusão automatizada de publicações
- strikes: Moderação de ataques
+ strikes: Avisos de moderação
two_factor_authentication: Autenticação de dois fatores
webauthn_authentication: Chaves de segurança
statuses:
@@ -1412,8 +1415,8 @@ pt-BR:
over_character_limit: limite de caracteres de %{max} excedido
pin_errors:
direct: Publicações visíveis apenas para usuários mencionados não podem ser fixadas
- limit: Quantidade máxima de toots excedida
- ownership: Publicações dos outros não podem ser fixadas
+ limit: Você alcançou o número limite de publicações fixadas
+ ownership: As publicações dos outros não podem ser fixadas
reblog: Um impulso não pode ser fixado
poll:
total_people:
@@ -1473,7 +1476,7 @@ pt-BR:
min_reblogs: Manter publicações impulsionadas por ao menos
min_reblogs_hint: Não exclui publicações que receberam pelo menos esta quantidade de impulsos. Deixe em branco para excluir publicações independentemente da quantidade de impulsos
stream_entries:
- pinned: Toot fixado
+ pinned: Publicação fixada
reblogged: deu boost
sensitive_content: Conteúdo sensível
strikes:
@@ -1492,27 +1495,27 @@ pt-BR:
time: "%H:%M"
two_factor_authentication:
add: Adicionar
- disable: Desativar
- disabled_success: Autenticação de dois fatores desabilitada com sucesso
+ disable: Desativar autenticação de dois fatores
+ disabled_success: Autenticação de dois fatores desativada
edit: Editar
enabled: Autenticação de dois fatores ativada
- enabled_success: Autenticação de dois fatores ativada com sucesso
+ enabled_success: Autenticação de dois fatores ativada
generate_recovery_codes: Gerar códigos de recuperação
- lost_recovery_codes: Códigos de recuperação permitem que você recupere o acesso à sua conta caso perca o seu celular. Se você perdeu seus códigos de recuperação, você pode gerá-los novamente aqui. Seus códigos de recuperação anteriores serão invalidados.
- methods: Métodos de dois fatores
+ lost_recovery_codes: Os códigos de recuperação permitem que você recupere o acesso à sua conta caso perca o seu celular. Se você perdeu seus códigos de recuperação, você pode gerá-los novamente aqui. Seus códigos de recuperação anteriores serão invalidados.
+ methods: Métodos de autenticação de dois fatores
otp: Aplicativo autenticador
recovery_codes: Códigos de recuperação de reserva
- recovery_codes_regenerated: Códigos de recuperação gerados com sucesso
- recovery_instructions_html: Se você perder acesso ao seu celular, você pode usar um dos códigos de recuperação abaixo para acessar a sua conta. Mantenha os códigos de recuperação em um local seguro. Por exemplo, você pode imprimi-los e guardá-los junto com outros documentos importantes.
+ recovery_codes_regenerated: Códigos de recuperação gerados
+ recovery_instructions_html: Se você perder acesso ao seu celular, você pode usar um dos códigos de recuperação abaixo para acessar a sua conta. Mantenha os códigos de recuperação em um local seguro. Por exemplo, você pode imprimi-los e guardá-los junto a outros documentos importantes.
webauthn: Chaves de segurança
user_mailer:
appeal_approved:
action: Acessar perfil
- explanation: O recurso do ataque contra sua conta em %{strike_date} que você submeteu em %{appeal_date} foi aprovado. Sua conta está novamente em situação regular.
+ explanation: O recurso contra o aviso dado à sua conta em %{strike_date} que você submeteu em %{appeal_date} foi aprovado. Sua conta está novamente em situação regular.
subject: Seu recurso de %{date} foi aprovado
title: Contestação aprovada
appeal_rejected:
- explanation: O recurso do ataque contra sua conta em %{strike_date} que você submeteu em %{appeal_date} foi rejeitado.
+ explanation: O recurso contra o aviso dado à sua conta em %{strike_date} que você submeteu em %{appeal_date} foi rejeitado.
subject: Seu recurso de %{date} foi rejeitado
title: Contestação rejeitada
backup_ready:
@@ -1557,9 +1560,9 @@ pt-BR:
welcome:
edit_profile_action: Configurar perfil
explanation: Aqui estão algumas dicas para você começar
- final_action: Comece a tootar
+ final_action: Comece a publicar
full_handle: Seu nome de usuário completo
- full_handle_hint: Isso é o que você compartilha com aos seus amigos para que eles possam te mandar toots ou te seguir a partir de outra instância.
+ full_handle_hint: Isso é o que você compartilha com seus amigos para que eles possam te mandar mensagens ou te seguir a partir de outro servidor.
subject: Boas-vindas ao Mastodon
title: Boas vindas, %{name}!
users:
@@ -1575,16 +1578,16 @@ pt-BR:
add: Adicionar nova chave de segurança
create:
error: Houve um problema ao adicionar sua chave de segurança. Tente novamente.
- success: A sua chave de segurança foi adicionada com sucesso.
+ success: Sua chave de segurança foi adicionada.
delete: Excluir
delete_confirmation: Você tem certeza de que deseja excluir esta chave de segurança?
description_html: Se você habilitar a autenticação por chave de segurança, o login exigirá que você use uma das suas chaves de segurança.
destroy:
error: Houve um problema ao excluir sua chave de segurança. Tente novamente.
- success: Sua chave de segurança foi excluída com sucesso.
+ success: Sua chave de segurança foi excluída.
invalid_credential: Chave de segurança inválida
nickname_hint: Digite o apelido da sua nova chave de segurança
not_enabled: Você ainda não habilitou o WebAuthn
not_supported: Este navegador não tem suporte a chaves de segurança
- otp_required: Para usar chaves de segurança, por favor habilite primeiro a autenticação de dois fatores.
+ otp_required: Para usar chaves de segurança, ative a autenticação de dois fatores.
registered_on: Registrado em %{date}
diff --git a/config/locales/pt-PT.yml b/config/locales/pt-PT.yml
index e299cee8b..a477b07d0 100644
--- a/config/locales/pt-PT.yml
+++ b/config/locales/pt-PT.yml
@@ -1387,7 +1387,7 @@ pt-PT:
phantom_js: PhantomJS
qq: QQ Browser
safari: Safari
- uc_browser: UCBrowser
+ uc_browser: Navegador UC
weibo: Weibo
current_session: Sessão atual
description: "%{browser} em %{platform}"
diff --git a/config/locales/ru.yml b/config/locales/ru.yml
index cfdceff8e..4ad5fc83a 100644
--- a/config/locales/ru.yml
+++ b/config/locales/ru.yml
@@ -619,7 +619,6 @@ ru:
other: "%{count} пользователей"
categories:
administration: Администрация
- devops: DevOps
invites: Приглашения
moderation: Модерация
special: Особые
@@ -653,7 +652,6 @@ ru:
view_audit_log: Посмотреть журнал аудита
view_audit_log_description: Позволяет пользователям просматривать историю административных действий на сервере
view_dashboard: Открыть панель управления
- view_devops: DevOps
title: Роли
rules:
add_new: Добавить правило
@@ -1313,7 +1311,6 @@ ru:
browser: Браузер
browsers:
alipay: Alipay
- blackberry: Blackberry
chrome: Chrome
edge: Microsoft Edge
electron: Electron
@@ -1327,7 +1324,6 @@ ru:
phantom_js: PhantomJS
qq: QQ Browser
safari: Safari
- uc_browser: UCBrowser
weibo: Weibo
current_session: Текущая сессия
description: "%{browser} на %{platform}"
@@ -1336,8 +1332,6 @@ ru:
platforms:
adobe_air: Adobe Air
android: Android
- blackberry: Blackberry
- chrome_os: ChromeOS
firefox_os: Firefox OS
ios: iOS
linux: Linux
diff --git a/config/locales/sc.yml b/config/locales/sc.yml
index bf24b2686..00ccd22db 100644
--- a/config/locales/sc.yml
+++ b/config/locales/sc.yml
@@ -862,7 +862,6 @@ sc:
browser: Navigadore
browsers:
alipay: Alipay
- blackberry: Blackberry
chrome: Chrome
edge: Microsoft Edge
electron: Electron
@@ -876,7 +875,6 @@ sc:
phantom_js: PhantomJS
qq: QQ Browser
safari: Safari
- uc_browser: UCBrowser
weibo: Weibo
current_session: Sessione atuale
description: "%{browser} de %{platform}"
@@ -885,8 +883,6 @@ sc:
platforms:
adobe_air: Adobe Air
android: Android
- blackberry: Blackberry
- chrome_os: ChromeOS
firefox_os: Firefox OS
ios: iOS
linux: Linux
diff --git a/config/locales/si.yml b/config/locales/si.yml
index 2c41e40b8..42aaf6c89 100644
--- a/config/locales/si.yml
+++ b/config/locales/si.yml
@@ -1194,7 +1194,6 @@ si:
browser: අතිරික්සුව
browsers:
alipay: අලිපේ
- blackberry: බ්ලැක්බෙරි
chrome: ක්රෝම්
edge: මයික්රොසොෆ්ට් එඩ්ගේ
electron: ඉලෙක්ට්රෝන්
@@ -1207,7 +1206,6 @@ si:
otter: ඔටර්
qq: කියුකියු අතිරික්සුව
safari: සෆාරි
- uc_browser: යූසී අතිරික්සුව
weibo: වෙයිබො
current_session: වත්මන් සැසිය
description: "%{browser} මත %{platform}"
@@ -1216,8 +1214,6 @@ si:
platforms:
adobe_air: ඇඩෝබි එයාර්
android: ඇන්ඩ්රොයිඩ්
- blackberry: බ්ලැක්බෙරි
- chrome_os: ක්රෝම් ඕඑස්
firefox_os: ෆයර්ෆොක්ස් ඕඑස්
ios: අයිඕඑස්
linux: ලිනක්ස්
diff --git a/config/locales/simple_form.af.yml b/config/locales/simple_form.af.yml
index e408079da..b06630a51 100644
--- a/config/locales/simple_form.af.yml
+++ b/config/locales/simple_form.af.yml
@@ -14,6 +14,9 @@ af:
locale: Koppelvlak taal
form_admin_settings:
site_terms: Privaatheidsbeleid
+ interactions:
+ must_be_following: Blokeer kennisgewings vanaf persone wat jy nie volg nie
+ must_be_following_dm: Blokeer direkte boodskappe van persone wat jy nie volg nie
webhook:
events: Geaktiveerde gebeurtenisse
url: End-punt URL
diff --git a/config/locales/simple_form.ar.yml b/config/locales/simple_form.ar.yml
index b972a1d00..301ae8764 100644
--- a/config/locales/simple_form.ar.yml
+++ b/config/locales/simple_form.ar.yml
@@ -64,9 +64,36 @@ ar:
domain_allow:
domain: سيكون بإمكان هذا النطاق جلب البيانات من هذا الخادم ومعالجة وتخزين البيانات الواردة منه
email_domain_block:
+ domain: يمكن أن يكون هذا اسم المجال الذي يظهر في عنوان البريد الإلكتروني أو سجل MX الذي يستخدمه. سيتم التحقق منه عند التسجيل.
with_dns_records: سوف تُبذل محاولة لحل سجلات DNS الخاصة بالنطاق المعني، كما ستُمنع النتائج
+ featured_tag:
+ name: 'فيما يلي بعض الوسوم التي استخدمتها مؤخراً:'
+ filters:
+ action: اختر الإجراء الذي سينفذ عند تطابق المشاركة فلتر التصفية
+ actions:
+ hide: إخفاء المحتويات التي تم تصفيتها، والتصرف كما لو أنها غير موجودة
+ warn: إخفاء المحتوى الذي تم تصفيته خلف تحذير يذكر عنوان الفلتر
form_admin_settings:
+ backups_retention_period: الاحتفاظ بأرشيف المستخدم الذي تم إنشاؤه لعدد محدد من الأيام.
+ bootstrap_timeline_accounts: سيتم تثبيت هذه الحسابات على قمة التوصيات للمستخدمين الجدد.
+ closed_registrations_message: ما سيعرض عند إغلاق التسجيلات
+ content_cache_retention_period: سيتم حذف المشاركات من الخوادم الأخرى بعد عدد الأيام المحدد عند تعيينها إلى قيمة موجبة. قد يكون هذا لا رجعة فيه.
+ custom_css: يمكنك تطبيق أساليب مخصصة على نسخة الويب من ماستدون.
+ mascot: تجاوز الرسوم التوضيحية في واجهة الويب المتقدمة.
+ media_cache_retention_period: سيتم حذف ملفات الوسائط التي تم تنزيلها بعد عدد الأيام المحدد عند تعيينها إلى قيمة موجبة، وإعادة تنزيلها عند الطلب.
+ profile_directory: دليل الملف الشخصي يسرد جميع المستخدمين الذين اختاروا الدخول ليكونوا قابلين للاكتشاف.
+ require_invite_text: عندما تتطلب التسجيلات الموافقة اليدوية، اجعل إدخال النص "لماذا تريد الانضمام ؟" إلزاميا بدلا من اختياري
+ site_contact_email: كيف يمكن للأشخاص أن يصلوا إليك للحصول على استفسارات قانونية أو استفسارات دعم.
site_contact_username: كيف يمكن للناس أن يصلوا إليك في ماستدون.
+ site_extended_description: أي معلومات إضافية قد تكون مفيدة للزوار والمستخدمين. يمكن تنظيمها مع بناء بنية Markdown.
+ site_short_description: وصف قصير للمساعدة في التعرف على الخادم الخاص بك. من يقوم بتشغيله، ولمن ؟
+ site_terms: استخدم سياسة الخصوصية الخاصة بك أو اتركها فارغة لاستخدام الافتراضي. يمكن هيكلتها مع بناء الجملة المصغرة مارك داون.
+ site_title: كيف يمكن للناس الرجوع إلى الخادم الخاص بك إلى جانب اسم النطاق.
+ theme: الشكل الذي يشاهده الزوار الجدد و الغير مسجلين الدخول.
+ thumbnail: عرض حوالي 2:1 صورة إلى جانب معلومات الخادم الخاص بك.
+ timeline_preview: الزوار الذين سجلوا خروجهم سيكونون قادرين على تصفح أحدث المشاركات العامة المتاحة على الخادم.
+ trendable_by_default: تخطي مراجعة المحتوى التريند اليدوي. لا يزال من الممكن الإزالة اللاحقة للعناصر الفردية من التريندات.
+ trends: تظهر التريندز أي المشاركات وعلامات وقصص الأخبار التي تجذب الانتباه على الخادم الخاص بك.
form_challenge:
current_password: إنك بصدد الدخول إلى منطقة آمنة
imports:
@@ -91,6 +118,13 @@ ar:
name: يمكنك فقط تغيير غلاف الحروف ، على سبيل المثال ، لجعلها أكثر قابلية للقراءة
user:
chosen_languages: إن تم اختيارها، فلن تظهر على الخيوط العامة إلّا الرسائل المنشورة في تلك اللغات
+ role: الوظيفة تتحكم في الصلاحيات التي يملكها المستخدم
+ user_role:
+ color: اللون الذي سيتم استخدامه للوظيفه في جميع وحدات واجهة المستخدم، كـ RGB بتنسيق hex
+ highlighted: وهذا يجعل الوظيفه مرئيا علنا
+ name: الاسم العام للوظيفه، إذا تم تعيين الوظيفه ليتم عرضه كشارة
+ permissions_as_keys: سيكون للمستخدمين الذين لديهم هذه الوظيفة حق الصلاحيه إلى...
+ position: وتقرر الوظيفة الأعلى تسوية النزاعات في حالات معينة، ولا يمكن القيام ببعض الإجراءات إلا على أساس الوظائف ذات الأولوية الأقل
labels:
account:
fields:
@@ -178,6 +212,7 @@ ar:
setting_use_pending_items: الوضع البطيء
severity: القوّة
sign_in_token_attempt: رمز الأمان
+ title: العنوان
type: صيغة الاستيراد
username: اسم المستخدم
username_or_email: اسم المستخدم أو كلمة السر
@@ -189,6 +224,7 @@ ar:
filters:
actions:
hide: إخفاء بالكامل
+ warn: إخفاء بتحذير
form_admin_settings:
custom_css: سي أس أس CSS مخصص
profile_directory: تفعيل دليل الصفحات التعريفية
diff --git a/config/locales/simple_form.bg.yml b/config/locales/simple_form.bg.yml
index 2a23ea057..cee3f423e 100644
--- a/config/locales/simple_form.bg.yml
+++ b/config/locales/simple_form.bg.yml
@@ -6,50 +6,138 @@ bg:
avatar: PNG, GIF или JPG. До %{size}. Ще бъде смалена до %{dimensions} пиксела
header: PNG, GIF или JPG. До %{size}. Ще бъде смалена до %{dimensions} пиксела
locked: Изисква ръчно одобрение на последователите. По подразбиране, публикациите са достъпни само до последователи.
+ password: Използвайте поне 8 символа
+ setting_default_sensitive: Деликатната мултимедия е скрита по подразбиране и може да се разкрие с едно щракване
+ setting_display_media_default: Скриване на мултимедия отбелязана като деликатна
+ setting_display_media_hide_all: Винаги да се скрива мултимедията
+ setting_display_media_show_all: Винаги да се показва мултимедията
+ setting_hide_network: В профила ви ще бъде скрито кой може да последвате и кой може да ви последва
+ username: Вашето потребителско име ще е неповторим в %{domain}
+ form_admin_settings:
+ site_contact_username: Как хората могат да ви достигнат в Mastodon.
+ site_extended_description: Всяка допълнителна информация, която може да е полезна за посетителите и потребителите ви. Може да се структурира със синтаксиса на Markdown.
+ site_short_description: Кратък опис за помощ на неповторимата самоличност на сървъра ви. Кой го управлява, за кого е?
imports:
data: CSV файл, експортиран от друга инстанция на Mastodon
+ ip_block:
+ severities:
+ no_access: Блокиране на достъп до всички ресурси
+ severity: Изберете какво да се случва със заявките от този IP
+ rule:
+ text: Опишете правило или изискване за потребителите на този сървър. Опитайте се да го направите кратко и просто
+ sessions:
+ otp: 'Въведете двуфакторния код, породен от приложението на телефона си или използвайте един от кодовете си за възстановяване:'
+ user_role:
+ highlighted: Това прави ролята публично видима
+ permissions_as_keys: Потребители с тази роля ще имат достъп до...
+ webhook:
+ events: Изберете събития за изпращане
+ url: До къде ще се изпращат събитията
labels:
account:
fields:
+ name: Етикет
value: Съдържание
account_warning_preset:
title: Заглавие
admin_account_action:
+ include_statuses: Включва докладваните публикации в е-писмо
type: Действие
types:
disable: Замразяване
sensitive: Деликатно
silence: Ограничение
suspend: Спиране
+ announcement:
+ all_day: Целодневно събитие
+ ends_at: Край на събитието
+ starts_at: Начало на събитието
+ text: Оповестяване
defaults:
avatar: Аватар
+ bot: Този акаунт е бот
+ chosen_languages: Прецеждане на езиците
confirm_new_password: Потвърди новата парола
confirm_password: Потвърди паролата
current_password: Текуща парола
data: Данни
display_name: Показвано име
- email: E-mail адрес
+ email: Адрес на имейла
header: Заглавен ред
- locale: Език
+ locale: Език на интерфейса
locked: Направи акаунта поверителен
+ max_uses: Най-голям брой употреби
new_password: Нова парола
- note: Био
- otp_attempt: Двустепенен код
+ note: Биография
+ otp_attempt: Двуфакторен код
password: Парола
+ phrase: Ключова дума или фраза
+ setting_auto_play_gif: Самопускащи се анимирани гифчета
+ setting_default_language: Език на публикуване
setting_default_privacy: Поверителност на публикациите
+ setting_default_sensitive: Винаги да се отбелязва мултимедията като деликатна
+ setting_display_media_default: Стандартно
+ setting_display_media_hide_all: Скриване на всичко
+ setting_display_media_show_all: Показване на всичко
+ setting_theme: Тема на сайта
+ setting_use_pending_items: Бавен режим
+ sign_in_token_attempt: Код за сигурност
+ title: Заглавие
type: Тип на импортиране
username: Потребителско име
+ username_or_email: Потребителско име или имейл
+ whole_word: Цяла дума
+ featured_tag:
+ name: Хаштаг
+ form_admin_settings:
+ require_invite_text: Изисква се причина за присъединяване
+ site_contact_username: Потребителско име на контакт
+ site_extended_description: Разширено описание
+ site_short_description: Описание на сървъра
+ site_terms: Политика за поверителност
+ site_title: Име на сървъра
+ theme: Стандартна тема
+ thumbnail: Миниобраз на сървъра
interactions:
must_be_follower: Блокирай известия от не-последователи
must_be_following: Блокирай известия от хора, които не следваш
+ must_be_following_dm: Блокиране на директни съобщения от хора, които не следвате
+ invite:
+ comment: Коментар
+ invite_request:
+ text: Защо искате да се присъедините?
+ ip_block:
+ comment: Коментар
+ ip: IP адрес
+ severities:
+ no_access: Блокиране на адреса
+ sign_up_block: Блокиране на регистрации
+ sign_up_requires_approval: Ограничаване на регистриране
+ severity: Правило
notification_emails:
digest: Изпращай извлечения на съобщенията
favourite: Изпращай e-mail, когато някой хареса твоя публикация
follow: Изпращай e-mail, когато някой те последва
follow_request: Изпращай e-mail, когато някой пожелае да те последва
mention: Изпращай e-mail, когато някой те спомене
+ pending_account: Новите акаунти трябва да се прегледат
reblog: Изпращай e-mail, когато някой сподели твоя публикация
+ report: Новият доклад е подаден
+ rule:
+ text: Правило
+ tag:
+ name: Хаштаг
+ user:
+ role: Роля
+ user_role:
+ color: Цвят на значката
+ name: Име
+ permissions_as_keys: Разрешения
+ position: Приоритет
'no': Не
+ not_recommended: Не се препоръчва
+ recommended: Препоръчано
required:
+ mark: "*"
text: задължително
'yes': Да
diff --git a/config/locales/simple_form.de.yml b/config/locales/simple_form.de.yml
index ae59a591d..a9c59b2ef 100644
--- a/config/locales/simple_form.de.yml
+++ b/config/locales/simple_form.de.yml
@@ -51,13 +51,13 @@ de:
setting_aggregate_reblogs: Zeige denselben Beitrag nicht nochmal an, wenn er erneut geteilt wurde (dies betrifft nur neulich erhaltene erneut geteilte Beiträge)
setting_always_send_emails: Normalerweise werden Benachrichtigungen nicht per E-Mail verschickt, wenn du gerade auf Mastodon aktiv bist
setting_default_sensitive: Medien, die mit einer Inhaltswarnung (NSFW) versehen worden sind, werden – je nach Einstellung – erst nach einem zusätzlichen Klick angezeigt
- setting_display_media_default: Verberge alle Medien, die mit einer Inhaltswarnung (NSFW) versehen sind
- setting_display_media_hide_all: Alle Medien immer verstecken
+ setting_display_media_default: Alle Medien verbergen, die mit einer Inhaltswarnung (NSFW) versehen sind
+ setting_display_media_hide_all: Alle Medien immer verbergen
setting_display_media_show_all: Alle Medien immer anzeigen
setting_hide_network: Wem du folgst und wer dir folgt, wird in deinem Profil nicht angezeigt
setting_noindex: Betrifft alle öffentlichen Daten deines Profils, z. B. deine Beiträge, Account-Empfehlungen und „Über mich“
setting_show_application: Die Anwendung die du nutzt wird in der detaillierten Ansicht deiner Beiträge angezeigt
- setting_use_blurhash: Die Farbverläufe basieren auf den Farben der versteckten Medien, aber verstecken jegliche Details
+ setting_use_blurhash: Die Farbverläufe basieren auf den Farben der verborgenen Medien, aber verstecken jegliche Details
setting_use_pending_items: Neue Beiträge hinter einem Klick verstecken, anstatt automatisch zu scrollen
username: Dein Benutzername wird auf %{domain} einzigartig sein
whole_word: Wenn das Wort oder die Formulierung nur aus Buchstaben oder Zahlen besteht, tritt der Filter nur dann in Kraft, wenn er exakt dieser Zeichenfolge entspricht
@@ -78,22 +78,22 @@ de:
bootstrap_timeline_accounts: Diese Konten werden bei den Folge-Empfehlungen für neue Nutzerinnen und Nutzer oben angeheftet.
closed_registrations_message: Wird angezeigt, wenn Anmeldungen geschlossen sind
content_cache_retention_period: Beiträge von anderen Servern werden nach der angegebenen Anzahl von Tagen, wenn sie auf einen positiven Wert gesetzt werden, gelöscht. Dies kann eventuell nicht rückgängig gemacht werden.
- custom_css: Sie können benutzerdefinierte Stile auf die Web-Version von Mastodon anwenden.
+ custom_css: Du kannst benutzerdefinierte Stile auf die Web-Version von Mastodon anwenden.
mascot: Überschreibt die Abbildung in der erweiterten Weboberfläche.
media_cache_retention_period: Heruntergeladene Mediendateien werden nach der angegebenen Anzahl von Tagen, wenn sie auf einen positiven Wert gesetzt werden, gelöscht und bei Bedarf erneut heruntergeladen.
profile_directory: Das Profilverzeichnis listet alle Benutzer auf, die sich für die Auffindbarkeit entschieden haben.
- require_invite_text: Wenn Anmeldungen eine manuelle Genehmigung erfordern, machen Sie die Texteingabe „Warum möchten Sie beitreten?” obligatorisch und nicht optional.
- site_contact_email: Wie man Sie bei rechtlichen oder unterstützenden Fragen erreichen kann.
- site_contact_username: Wie man Sie auf Mastodon erreichen kann.
+ require_invite_text: Wenn Registrierungen eine manuelle Genehmigung erfordern, dann werden Nutzer einen Grund für ihre Registrierung angeben müssen
+ site_contact_email: Wie man dich oder dein Team bei rechtlichen oder unterstützenden Fragen erreichen kann.
+ site_contact_username: Wie man dich oder dein Team auf Mastodon erreichen kann.
site_extended_description: Alle zusätzlichen Informationen, die für Besucher und Nutzer nützlich sein könnten. Kann mit der Markdown-Syntax strukturiert werden.
- site_short_description: Eine kurze Beschreibung zur eindeutigen Identifizierung Ihres Servers. Wer betreibt ihn, für wen ist er bestimmt?
- site_terms: Verwenden Sie Ihre eigene Datenschutzrichtlinie oder lassen Sie sie leer, um die Standardeinstellung zu verwenden. Kann mit Markdown-Syntax strukturiert werden.
- site_title: Wie Personen neben dem Domainnamen auf Ihren Server verweisen können.
- theme: Design, das abgemeldete und neue Benutzer*innen.
+ site_short_description: Eine kurze Beschreibung zur eindeutigen Identifizierung des Servers. Wer betreibt ihn, für wen ist er bestimmt?
+ site_terms: Verwende eine eigene Datenschutzrichtlinie oder lasse das Feld leer, um die Standardeinstellung zu verwenden. Kann mit Markdown-Syntax strukturiert werden.
+ site_title: Wie Personen neben dem Domainnamen auf deinen Server verweisen können.
+ theme: Das Design, das abgemeldete Besucher und neue Benutzer sehen.
thumbnail: Ein Bild ungefähr im 2:1-Format, das neben den Server-Informationen angezeigt wird.
timeline_preview: Ausgeloggte Besucherinnen und Besucher können die neuesten öffentlichen Beiträge auf dem Server ansehen.
trendable_by_default: Manuelles Überprüfen angesagter Inhalte überspringen. Einzelne Elemente können später noch aus den Trends entfernt werden.
- trends: Trends zeigen, welche Beiträge, Hashtags und Nachrichten auf Ihrem Server an Bedeutung gewinnen.
+ trends: Trends zeigen, welche Beiträge, Hashtags und Nachrichten auf deinem Server immer beliebter werden.
form_challenge:
current_password: Du betrittst einen sicheren Bereich
imports:
@@ -180,7 +180,7 @@ de:
inbox_url: Inbox-URL des Relais
irreversible: Endgültig, nicht nur temporär ausblenden
locale: Sprache der Benutzeroberfläche
- locked: Follower müssen zugelassen werden
+ locked: Geschütztes Profil
max_uses: Maximale Verwendungen
new_password: Neues Passwort
note: Über mich
@@ -197,7 +197,7 @@ de:
setting_default_privacy: Beitragssichtbarkeit
setting_default_sensitive: Eigene Medien immer mit einer Inhaltswarnung (NSFW) versehen
setting_delete_modal: Bestätigungsdialog anzeigen, bevor ein Beitrag gelöscht wird
- setting_disable_swiping: Deaktiviere Wischgesten
+ setting_disable_swiping: Wischgesten deaktivieren
setting_display_media: Medien-Anzeige
setting_display_media_default: Standard
setting_display_media_hide_all: Alle Medien verstecken
@@ -211,7 +211,7 @@ de:
setting_theme: Design
setting_trends: Heutige Trends anzeigen
setting_unfollow_modal: Bestätigungsdialog anzeigen, bevor jemandem entfolgt wird
- setting_use_blurhash: Farbverlauf für versteckte Medien anzeigen
+ setting_use_blurhash: Farbverlauf für verborgene Medien anzeigen
setting_use_pending_items: Langsamer Modus
severity: Schweregrad
sign_in_token_attempt: Sicherheitscode
diff --git a/config/locales/simple_form.en-GB.yml b/config/locales/simple_form.en-GB.yml
index 617fb593c..89e78c9b0 100644
--- a/config/locales/simple_form.en-GB.yml
+++ b/config/locales/simple_form.en-GB.yml
@@ -9,3 +9,38 @@ en-GB:
account_warning_preset:
text: You can use post syntax, such as URLs, hashtags and mentions
title: Optional. Not visible to the recipient
+ admin_account_action:
+ include_statuses: The user will see which posts have caused the moderation action or warning
+ send_email_notification: The user will receive an explanation of what happened with their account
+ text_html: Optional. You can use post syntax. You can add warning presets to save time
+ type_html: Choose what to do with %{acct}
+ types:
+ disable: Prevent the user from using their account, but do not delete or hide their contents.
+ none: Use this to send a warning to the user, without triggering any other action.
+ sensitive: Force all this user's media attachments to be flagged as sensitive.
+ silence: Prevent the user from being able to post with public visibility, hide their posts and notifications from people not following them.
+ suspend: Prevent any interaction from or to this account and delete its contents. Revertible within 30 days.
+ warning_preset_id: Optional. You can still add custom text to end of the preset
+ announcement:
+ all_day: When checked, only the dates of the time range will be displayed
+ ends_at: Optional. Announcement will be automatically unpublished at this time
+ scheduled_at: Leave blank to publish the announcement immediately
+ starts_at: Optional. In case your announcement is bound to a specific time range
+ text: You can use post syntax. Please be mindful of the space the announcement will take up on the user's screen
+ appeal:
+ text: You can only appeal a strike once
+ defaults:
+ autofollow: People who sign up through the invite will automatically follow you
+ avatar: PNG, GIF or JPG. At most %{size}. Will be downscaled to %{dimensions}px
+ bot: Signal to others that the account mainly performs automated actions and might not be monitored
+ context: One or multiple contexts where the filter should apply
+ labels:
+ notification_emails:
+ follow_request: Someone requested to follow you
+ mention: Someone mentioned you
+ pending_account: New account needs review
+ reblog: Someone boosted your post
+ report: New report is submitted
+ trending_tag: New trend requires review
+ rule:
+ text: Rule
diff --git a/config/locales/simple_form.eo.yml b/config/locales/simple_form.eo.yml
index 0bb1264a3..342c31403 100644
--- a/config/locales/simple_form.eo.yml
+++ b/config/locales/simple_form.eo.yml
@@ -75,7 +75,7 @@ eo:
comment: Laŭvola. Memoru, kial vi aldonis ĉi tiun regulon.
severities:
no_access: Bloki aliron al ĉiuj rimedoj
- sign_up_requires_approval: Novaj registriĝoj devigos vian aprobon
+ sign_up_requires_approval: Novaj registriĝoj bezonos vian aprobon
severity: Elektu, kio okazos pri petoj de ĉi tiu IP
rule:
text: Priskribu regulon aŭ neceson por uzantoj en ĉi tiu servilo. Provu fari ĝin mallonga kaj simpla
@@ -182,6 +182,8 @@ eo:
actions:
hide: Kaŝi komplete
warn: Kaŝi malantaŭ averto
+ form_admin_settings:
+ registrations_mode: Kiu povas krei konton
interactions:
must_be_follower: Bloki sciigojn de nesekvantoj
must_be_following: Bloki sciigojn de homoj, kiujn vi ne sekvas
diff --git a/config/locales/simple_form.es-MX.yml b/config/locales/simple_form.es-MX.yml
index e5db78c4d..b08403426 100644
--- a/config/locales/simple_form.es-MX.yml
+++ b/config/locales/simple_form.es-MX.yml
@@ -66,6 +66,8 @@ es-MX:
email_domain_block:
domain: Este puede ser el nombre de dominio que se muestra en al dirección de correo o el registro MX que utiliza. Se comprobarán al registrarse.
with_dns_records: Se hará un intento de resolver los registros DNS del dominio dado y los resultados serán también puestos en lista negra
+ featured_tag:
+ name: 'Aquí están algunas de las etiquetas que más has utilizado recientemente:'
filters:
action: Elegir qué acción realizar cuando una publicación coincide con el filtro
actions:
diff --git a/config/locales/simple_form.eu.yml b/config/locales/simple_form.eu.yml
index 44f25f2c4..34c60a553 100644
--- a/config/locales/simple_form.eu.yml
+++ b/config/locales/simple_form.eu.yml
@@ -66,6 +66,8 @@ eu:
email_domain_block:
domain: Hau eposta helbidean agertzen den domeinu-izena edo MX erregistroak erabiltzen duena izan daiteke. Izen-ematean egiaztatuko dira.
with_dns_records: Emandako domeinuaren DNS erregistroak ebazteko saiakera bat egingo da eta emaitzak ere zerrenda beltzean sartuko dira
+ featured_tag:
+ name: 'Hemen dituzu azkenaldian gehien erabili dituzun traoletako batzuk:'
filters:
action: Aukeratu ze ekintza burutu behar den bidalketa bat iragazkiarekin bat datorrenean
actions:
diff --git a/config/locales/simple_form.id.yml b/config/locales/simple_form.id.yml
index 196222e22..b214e856a 100644
--- a/config/locales/simple_form.id.yml
+++ b/config/locales/simple_form.id.yml
@@ -66,6 +66,8 @@ id:
email_domain_block:
domain: Ini bisa berupa nama domain yang tampil di alamat email atau data MX yang memakainya. Mereka akan diperiksa saat mendaftar.
with_dns_records: Usaha untuk menyelesaikan data DNS domain yang diberikan akan dilakukan dan hasilnya akan masuk daftar hitam
+ featured_tag:
+ name: 'Ini adalah beberapa tagar yang sering Anda gunakan:'
filters:
action: Pilih tindakan apa yang dilakukan ketika sebuah kiriman cocok dengan saringan
actions:
diff --git a/config/locales/simple_form.ko.yml b/config/locales/simple_form.ko.yml
index c5736311c..82abda07e 100644
--- a/config/locales/simple_form.ko.yml
+++ b/config/locales/simple_form.ko.yml
@@ -44,7 +44,7 @@ ko:
inbox_url: 사용 할 릴레이 서버의 프론트페이지에서 URL을 복사합니다
irreversible: 필터링 된 게시물은 나중에 필터가 사라지더라도 돌아오지 않게 됩니다
locale: 사용자 인터페이스, 이메일, 푸시 알림 언어
- locked: 팔로우 요청을 승인함으로써 누가 당신을 팔로우 할 수 있는지를 수동으로 제어합니다.
+ locked: 팔로우 요청을 승인제로 두어 누가 당신을 팔로우 할 수 있는지를 수동으로 제어합니다.
password: 최소 8글자
phrase: 게시물 내용이나 열람주의 내용 안에서 대소문자 구분 없이 매칭 됩니다
scopes: 애플리케이션에 허용할 API들입니다. 최상위 스코프를 선택하면 개별적인 것은 선택하지 않아도 됩니다.
@@ -77,7 +77,7 @@ ko:
backups_retention_period: 생성된 사용자 아카이브를 며칠동안 저장할 지.
bootstrap_timeline_accounts: 이 계정들은 팔로우 추천 목록 상단에 고정됩니다.
closed_registrations_message: 새 가입을 차단했을 때 표시됩니다
- content_cache_retention_period: 양수가 설정되었다면 다른 서버의 게시물은 여기서 설정된 일수가 지나면 삭제될 것입니다. 되돌릴 수 없는 작업일 수 있습니다.
+ content_cache_retention_period: 양수로 설정되었다면 다른 서버의 게시물은 여기서 설정된 일수가 지나면 삭제될 것입니다. 되돌릴 수 없는 작업일 수 있습니다.
custom_css: 사용자 지정 스타일을 웹 버전의 마스토돈에 지정할 수 있습니다.
mascot: 고급 사용자 인터페이스에 있는 일러스트를 교체합니다.
media_cache_retention_period: 양수로 설정된 경우 다운로드된 미디어 파일들은 지정된 일수가 지나면 삭제될 것이고 필요할 때 다시 다운로드 될 것입니다.
@@ -195,7 +195,7 @@ ko:
setting_crop_images: 확장되지 않은 게시물의 이미지를 16x9로 자르기
setting_default_language: 게시물 언어
setting_default_privacy: 게시물 프라이버시
- setting_default_sensitive: 미디어를 언제나 민감한 컨텐츠로 설정
+ setting_default_sensitive: 미디어를 언제나 민감한 콘텐츠로 설정
setting_delete_modal: 게시물 삭제 전 확인 창을 표시
setting_disable_swiping: 스와이프 모션 비활성화
setting_display_media: 미디어 표시
@@ -207,7 +207,7 @@ ko:
setting_noindex: 검색엔진의 인덱싱을 거절
setting_reduce_motion: 애니메이션 줄이기
setting_show_application: 툿 작성에 사용한 앱을 공개
- setting_system_font_ui: 시스템의 초기 설정 폰트를 사용
+ setting_system_font_ui: 시스템의 기본 글꼴을 사용
setting_theme: 사이트 테마
setting_trends: 오늘의 유행 보이기
setting_unfollow_modal: 언팔로우 전 언팔로우 확인 표시
@@ -232,7 +232,7 @@ ko:
backups_retention_period: 사용자 아카이브 유지 기한
bootstrap_timeline_accounts: 새로운 사용자들에게 추천할 계정들
closed_registrations_message: 가입이 불가능 할 때의 사용자 지정 메시지
- content_cache_retention_period: 컨텐트 캐시 유지 기한
+ content_cache_retention_period: 콘텐츠 캐시 유지 기한
custom_css: 사용자 정의 CSS
mascot: 사용자 정의 마스코트 (legacy)
media_cache_retention_period: 미디어 캐시 유지 기한
diff --git a/config/locales/simple_form.lv.yml b/config/locales/simple_form.lv.yml
index 8b5b1dce3..337b691a2 100644
--- a/config/locales/simple_form.lv.yml
+++ b/config/locales/simple_form.lv.yml
@@ -48,7 +48,7 @@ lv:
password: Izmanto vismaz 8 rakstzīmes
phrase: Tiks saskaņots neatkarīgi no ziņas teksta reģistra vai satura brīdinājuma
scopes: Kuriem API lietojumprogrammai būs atļauta piekļuve. Ja izvēlies augstākā līmeņa tvērumu, tev nav jāatlasa atsevišķi vienumi.
- setting_aggregate_reblogs: Nerādīt jaunus palielinājumus ziņām, kas nesen tika palielinātas (ietekmē tikai nesen saņemtos palielinājumus)
+ setting_aggregate_reblogs: Nerādīt jaunus pastiprinājumus ierakstiem, kas nesen tikuši pastiprināti (ietekmēs tikai turpmāk saņemtos pastiprinājumus)
setting_always_send_emails: Parasti e-pasta paziņojumi netiek sūtīti, kad aktīvi izmantojat Mastodon
setting_default_sensitive: Sensitīvi mediji pēc noklusējuma ir paslēpti, un tos var atklāt, noklikšķinot
setting_display_media_default: Paslēpt mediju, kas atzīmēts kā sensitīvs
@@ -188,10 +188,10 @@ lv:
password: Parole
phrase: Atslēgvārds vai frāze
setting_advanced_layout: Iespējot paplašināto tīmekļa saskarni
- setting_aggregate_reblogs: Grupēt paaugstinājumus ziņu lentās
+ setting_aggregate_reblogs: Grupēt pastiprinājumus ierakstu lentās
setting_always_send_emails: Vienmēr sūtīt e-pasta paziņojumus
setting_auto_play_gif: Automātiski atskaņot animētos GIF
- setting_boost_modal: Parādīt apstiprinājuma dialogu pirms paaugstināšanas
+ setting_boost_modal: Rādīt apstiprinājuma dialogu pirms pastiprināšanas
setting_crop_images: Apgrieziet attēlus neizvērstajās ziņās līdz 16x9
setting_default_language: Publicēšanas valoda
setting_default_privacy: Publicēšanas privātums
@@ -276,7 +276,7 @@ lv:
follow_request: Kāds vēlas tev sekot
mention: Kāds pieminēja tevi
pending_account: Jāpārskata jaunu kontu
- reblog: Kāds paaugstināja tavu ziņu
+ reblog: Kāds pastiprināja tavu ierakstu
report: Tika iesniegts jauns ziņojums
trending_tag: Jaunā tendence ir jāpārskata
rule:
diff --git a/config/locales/simple_form.no.yml b/config/locales/simple_form.no.yml
index 5196fb2c2..7d005171a 100644
--- a/config/locales/simple_form.no.yml
+++ b/config/locales/simple_form.no.yml
@@ -12,10 +12,10 @@
admin_account_action:
include_statuses: Brukeren vil se hvilke tuter som forårsaket moderator-handlingen eller -advarselen
send_email_notification: Brukeren vil motta en forklaring på hva som har skjedd med deres bruker
- text_html: Valgfritt. Du kan bruke tut syntaks. Du kan legge til advarsels-forhåndsinnstillinger for å spare tid
+ text_html: Valgfritt. Du kan bruke innlegg-syntaks. Du kan legge til advarsels-forhåndsinnstillinger for å spare tid
type_html: Velg hva du vil gjøre med %{acct}
types:
- disable: Forhindre brukeren å bruke kontoen sin, men ikke slett eller skjule innholdet deres.
+ disable: Forhindre brukeren fra å bruke kontoen sin, men ikke slett eller skjul innholdet deres.
none: Bruk dette for å sende en advarsel til brukeren uten å utløse noen andre handlinger.
sensitive: Tving alle denne brukerens medievedlegg til å bli markert som følsom.
silence: Hindre brukeren i å kunne skrive offentlig synlighet, skjule sine innlegg og varsler for personer som ikke kan følge dem.
@@ -60,6 +60,7 @@
domain_allow:
domain: Dette domenet vil være i stand til å hente data fra denne serveren og dets innkommende data vil bli prosessert og lagret
email_domain_block:
+ domain: Dette kan være domenenavnet som vises i e-postadressen eller MX-oppføringen den bruker. De vil bli sjekket ved oppretting av konto.
with_dns_records: Et forsøk på å løse det gitte domenets DNS-poster vil bli gjort, og resultatene vil også bli svartelistet
form_challenge:
current_password: Du går inn i et sikkert område
@@ -104,7 +105,7 @@
disable: Deaktiver pålogging
none: Ikke gjør noe
sensitive: Sensitiv
- silence: Stilne
+ silence: Begrens
suspend: Suspender og ugjenkallelig slett brukerdata
warning_preset_id: Bruk en advarsels-forhåndsinnstilling
announcement:
diff --git a/config/locales/simple_form.oc.yml b/config/locales/simple_form.oc.yml
index c074b8945..b6e6da78f 100644
--- a/config/locales/simple_form.oc.yml
+++ b/config/locales/simple_form.oc.yml
@@ -14,6 +14,8 @@ oc:
send_email_notification: L’utilizaire recebrà una explicacion de çò qu’arribèt a son compte
text_html: Opcional. Podètz utilizar la sintaxi dels tuts. Podètz ajustar un avertiment personalizat per estalviar de temps
type_html: Causir de qué far amb %{acct}
+ types:
+ disable: Empachar l’utilizaire d’utilizar son compte mas suprimir o amagar pas son contengut.
warning_preset_id: Opcional. Podètz ajustar un tèxt personalizat a a fin de çò predefinit
announcement:
all_day: Se son marcadas, solament las datas de l’interval de temps seràn mostrada
@@ -176,6 +178,11 @@ oc:
hide: Rescondre complètament
warn: Rescondre amb avertiment
form_admin_settings:
+ custom_css: CSS personalizada
+ media_cache_retention_period: Durada de conservacion dels mèdias en cache
+ profile_directory: Activar l’annuari de perfils
+ registrations_mode: Qual se pòt marcar
+ require_invite_text: Requerir una rason per s’inscriure
site_contact_email: Adreça de contacte
site_contact_username: Nom d’utilizaire de contacte
site_extended_description: Descripcion espandida
@@ -183,6 +190,7 @@ oc:
site_terms: Politica de confidencialitat
site_title: Nom del servidor
theme: Tèma per defaut
+ thumbnail: Miniatura del servidor
interactions:
must_be_follower: Blocar las notificacions del mond que vos sègon pas
must_be_following: Blocar las notificacions del mond que seguètz pas
@@ -221,6 +229,7 @@ oc:
permissions_as_keys: Autorizacions
position: Prioritat
'no': Non
+ not_recommended: Pas recomandat
recommended: Recomandat
required:
mark: "*"
diff --git a/config/locales/simple_form.pt-BR.yml b/config/locales/simple_form.pt-BR.yml
index aa2d6ef8d..d2bb4dfbd 100644
--- a/config/locales/simple_form.pt-BR.yml
+++ b/config/locales/simple_form.pt-BR.yml
@@ -34,29 +34,29 @@ pt-BR:
avatar: PNG, GIF or JPG. Arquivos de até %{size}. Serão redimensionados para %{dimensions}px
bot: Essa conta executa principalmente ações automatizadas e pode não ser monitorada
context: Um ou mais contextos onde o filtro deve atuar
- current_password: Para fins de segurança, por favor, digite a senha da conta atual
- current_username: Para confirmar, por favor, digite o nome de usuário da conta atual
+ current_password: Para fins de segurança, digite a senha da conta atual
+ current_username: Para confirmar, digite o nome de usuário da conta atual
digest: Enviado apenas após um longo período de inatividade com um resumo das menções recebidas durante ausência
discoverable: Permita que a sua conta seja descoberta por estranhos através de recomendações, tendências e outros recursos
email: Você receberá um e-mail de confirmação
fields: Você pode ter até 4 itens mostrados em forma de tabela no seu perfil
- header: PNG, GIF or JPG. Arquivos de até %{size}. Serão redimensionados para %{dimensions}px
+ header: PNG, GIF ou JPG de até %{size}. Serão redimensionados para %{dimensions}px
inbox_url: Copie o link da página inicial do repetidor que você deseja usar
- irreversible: Toots filtrados desaparecerão irreversivelmente, mesmo se o filtro for removido depois
+ irreversible: As publicações filtradas desaparecerão irreversivelmente, mesmo se o filtro for removido depois
locale: O idioma da interface do usuário, e-mails e notificações
locked: Requer aprovação manual de seguidores
password: Use pelo menos 8 caracteres
phrase: Corresponderá independente de maiúsculas ou minúsculas, no texto ou no Aviso de Conteúdo de um toot
scopes: Quais APIs o aplicativo vai ter permissão de acessar. Se você selecionar uma autorização de alto nível, você não precisa selecionar individualmente os outros.
- setting_aggregate_reblogs: Não mostra novos boosts para toots que receberam boost recentemente (afeta somente os boosts mais recentes)
+ setting_aggregate_reblogs: Não mostra novos impulsos para publicações já receberam recentemente (afeta somente os impulsos mais recentes)
setting_always_send_emails: Normalmente, as notificações por e-mail não serão enviadas enquanto você estiver usando ativamente o Mastodon
setting_default_sensitive: Mídia sensível está oculta por padrão e pode ser revelada com um clique
setting_display_media_default: Sempre ocultar mídia sensível
setting_display_media_hide_all: Sempre ocultar todas as mídias
setting_display_media_show_all: Sempre mostrar mídia sensível
setting_hide_network: Quem você segue e seus seguidores não serão mostrados no seu perfil
- setting_noindex: Afeta seu perfil público e as páginas dos seus toots
- setting_show_application: O aplicativo que você usar para tootar será mostrado na visão detalhada dos seus toots
+ setting_noindex: Afeta seu perfil público e as páginas das suas publicações
+ setting_show_application: O aplicativo que você usar para publicar será exibido na visão detalhada das suas publicações
setting_use_blurhash: O blur é baseado nas cores da imagem oculta, ofusca a maioria dos detalhes
setting_use_pending_items: Ocultar atualizações da linha do tempo atrás de um clique ao invés de rolar automaticamente
username: Seu nome de usuário será único em %{domain}
@@ -77,6 +77,10 @@ pt-BR:
backups_retention_period: Manter os arquivos de usuário gerados pelo número de dias especificados.
bootstrap_timeline_accounts: Estas contas serão fixadas no topo das recomendações de novos usuários para seguir.
closed_registrations_message: Exibido quando as inscrições estiverem fechadas
+ content_cache_retention_period: Postagens de outros servidores serão excluídas após o número de dias especificados, quando definido com um valor positivo. Isso pode ser irreversível.
+ custom_css: Você pode aplicar estilos personalizados na versão da web do Mastodon.
+ mascot: Substitui a ilustração na interface web avançada.
+ media_cache_retention_period: Os arquivos de mídia baixados serão excluídos após o número especificado de dias, quando definido para um valor positivo, e baixados novamente na demanda.
site_contact_username: Como as pessoas podem chegar até você no Mastodon.
site_extended_description: Quaisquer informações adicionais que possam ser úteis para os visitantes e seus usuários. Podem ser estruturadas com formato Markdown.
site_title: Como as pessoas podem se referir ao seu servidor além do nome do domínio.
@@ -102,7 +106,7 @@ pt-BR:
tag:
name: Você pode mudar a capitalização das letras, por exemplo, para torná-la mais legível
user:
- chosen_languages: Apenas toots dos idiomas selecionados serão mostrados nas linhas públicas
+ chosen_languages: Apenas as publicações dos idiomas selecionados serão exibidas nas linhas públicas
webhook:
events: Selecione eventos para enviar
url: Aonde os eventos serão enviados
@@ -170,7 +174,7 @@ pt-BR:
setting_always_send_emails: Sempre enviar notificações por e-mail
setting_auto_play_gif: Reproduzir GIFs automaticamente
setting_boost_modal: Solicitar confirmação antes de dar boost
- setting_crop_images: Cortar imagens no formato 16x9 em toots não expandidos
+ setting_crop_images: Cortar imagens no formato 16x9 em publicações não expandidas
setting_default_language: Idioma dos toots
setting_default_privacy: Privacidade dos toots
setting_default_sensitive: Sempre marcar mídia como sensível
@@ -184,7 +188,7 @@ pt-BR:
setting_hide_network: Ocultar suas relações
setting_noindex: Não quero ser indexado por mecanismos de pesquisa
setting_reduce_motion: Reduzir animações
- setting_show_application: Mostrar o aplicativo usado para enviar os toots
+ setting_show_application: Mostrar o aplicativo usado para enviar as publicações
setting_system_font_ui: Usar fonte padrão do sistema
setting_theme: Tema do site
setting_trends: Mostrar em alta hoje
diff --git a/config/locales/simple_form.sk.yml b/config/locales/simple_form.sk.yml
index 85c47dae9..18a3b032f 100644
--- a/config/locales/simple_form.sk.yml
+++ b/config/locales/simple_form.sk.yml
@@ -52,6 +52,9 @@ sk:
data: CSV súbor vyexportovaný z iného Mastodon serveru
invite_request:
text: Toto pomôže s vyhodnocovaním tvojej žiadosti
+ ip_block:
+ severities:
+ sign_up_block: Nové registrácie nebudú možné
sessions:
otp: 'Napíš sem dvoj-faktorový kód z telefónu, alebo použi jeden z tvojích obnovovacích kódov:'
tag:
diff --git a/config/locales/simple_form.sl.yml b/config/locales/simple_form.sl.yml
index c7ef18b3a..30d0b24e4 100644
--- a/config/locales/simple_form.sl.yml
+++ b/config/locales/simple_form.sl.yml
@@ -57,7 +57,7 @@ sl:
setting_hide_network: Kogar spremljate in kdo vas spremlja ne bo prikazano na vašem profilu
setting_noindex: Vpliva na vaš javni profil in na strani z objavami
setting_show_application: Aplikacija, ki jo uporabljate za objavljanje, bo prikazana v podrobnem pogledu vaših objav
- setting_use_blurhash: Gradienti temeljijo na barvah skrite vizualne slike, vendar zakrivajo vse podrobnosti
+ setting_use_blurhash: Prelivi temeljijo na barvah skrite vizualne slike, vendar zakrivajo vse podrobnosti
setting_use_pending_items: Skrij posodobitev časovnice za klikom namesto samodejnega posodabljanja
username: Vaše uporabniško ime bo edinstveno na %{domain}
whole_word: Ko je ključna beseda ali fraza samo alfanumerična, se bo uporabljala le, če se bo ujemala s celotno besedo
@@ -211,7 +211,7 @@ sl:
setting_theme: Tema strani
setting_trends: Pokaži današnje trende
setting_unfollow_modal: Pokaži potrditveno okno, preden nekoga prenehamo slediti
- setting_use_blurhash: Pokaži barvite gradiente za skrite medije
+ setting_use_blurhash: Pokaži barvite prelive za skrite medije
setting_use_pending_items: Počasen način
severity: Strogost
sign_in_token_attempt: Varnostna koda
diff --git a/config/locales/simple_form.sv.yml b/config/locales/simple_form.sv.yml
index 108430917..8e2a40a04 100644
--- a/config/locales/simple_form.sv.yml
+++ b/config/locales/simple_form.sv.yml
@@ -48,7 +48,7 @@ sv:
password: Använd minst 8 tecken
phrase: Matchas oavsett användande i text eller innehållsvarning för ett inlägg
scopes: 'Vilka API: er applikationen kommer tillåtas åtkomst till. Om du väljer en omfattning på högstanivån behöver du inte välja individuella sådana.'
- setting_aggregate_reblogs: Visa inte nya boostningar för inlägg som nyligen blivit boostade (påverkar endast nymottagna boostningar)
+ setting_aggregate_reblogs: Visa inte nya boostar för inlägg som nyligen blivit boostade (påverkar endast nymottagna boostar)
setting_always_send_emails: E-postnotiser kommer vanligtvis inte skickas när du aktivt använder Mastodon
setting_default_sensitive: Känslig media döljs som standard och kan visas med ett klick
setting_display_media_default: Dölj media markerad som känslig
@@ -188,10 +188,10 @@ sv:
password: Lösenord
phrase: Nyckelord eller -fras
setting_advanced_layout: Aktivera avancerat webbgränssnitt
- setting_aggregate_reblogs: Gruppera boostningar i tidslinjer
+ setting_aggregate_reblogs: Gruppera boostar i tidslinjer
setting_always_send_emails: Skicka alltid e-postnotiser
setting_auto_play_gif: Spela upp GIF:ar automatiskt
- setting_boost_modal: Visa bekräftelsedialog innan boostningar
+ setting_boost_modal: Visa bekräftelsedialog innan boostning
setting_crop_images: Beskär bilder i icke-utökade inlägg till 16x9
setting_default_language: Inläggsspråk
setting_default_privacy: Inläggsintegritet
@@ -276,7 +276,7 @@ sv:
follow_request: Någon begärt att följa dig
mention: Någon nämnt dig
pending_account: Ett nytt konto behöver granskas
- reblog: Någon boostar ditt inlägg
+ reblog: Någon boostade ditt inlägg
report: En ny rapport har skickats
trending_tag: En ny trend kräver granskning
rule:
diff --git a/config/locales/simple_form.th.yml b/config/locales/simple_form.th.yml
index 021def2fd..3083f44a3 100644
--- a/config/locales/simple_form.th.yml
+++ b/config/locales/simple_form.th.yml
@@ -33,7 +33,7 @@ th:
autofollow: ผู้คนที่ลงทะเบียนผ่านคำเชิญจะติดตามคุณโดยอัตโนมัติ
avatar: PNG, GIF หรือ JPG สูงสุด %{size} จะถูกย่อขนาดเป็น %{dimensions}px
bot: ส่งสัญญาณให้ผู้อื่นว่าบัญชีทำการกระทำแบบอัตโนมัติเป็นหลักและอาจไม่ได้รับการสังเกตการณ์
- context: บริบทจำนวนหนึ่งหรือมากกว่าที่ตัวกรองควรใช้
+ context: หนึ่งหรือหลายบริบทที่ตัวกรองควรนำไปใช้
current_password: เพื่อวัตถุประสงค์ด้านความปลอดภัย โปรดป้อนรหัสผ่านของบัญชีปัจจุบัน
current_username: เพื่อยืนยัน โปรดป้อนชื่อผู้ใช้ของบัญชีปัจจุบัน
digest: ส่งเฉพาะหลังจากไม่มีการใช้งานเป็นเวลานานและในกรณีที่คุณได้รับข้อความส่วนบุคคลใด ๆ เมื่อคุณไม่อยู่เท่านั้น
@@ -74,15 +74,24 @@ th:
hide: ซ่อนเนื้อหาที่กรองอยู่อย่างสมบูรณ์ ทำเสมือนว่าไม่มีเนื้อหาอยู่
warn: ซ่อนเนื้อหาที่กรองอยู่หลังคำเตือนที่กล่าวถึงชื่อเรื่องของตัวกรอง
form_admin_settings:
+ backups_retention_period: เก็บการเก็บถาวรผู้ใช้ที่สร้างขึ้นตามจำนวนวันที่ระบุ
+ bootstrap_timeline_accounts: จะปักหมุดบัญชีเหล่านี้ไว้ด้านบนสุดของคำแนะนำการติดตามของผู้ใช้ใหม่
closed_registrations_message: แสดงเมื่อมีการปิดการลงทะเบียน
+ content_cache_retention_period: จะลบโพสต์จากเซิร์ฟเวอร์อื่น ๆ หลังจากจำนวนวันที่ระบุเมื่อตั้งเป็นค่าบวก นี่อาจย้อนกลับไม่ได้
+ custom_css: คุณสามารถนำไปใช้ลักษณะที่กำหนดเองใน Mastodon รุ่นเว็บ
mascot: เขียนทับภาพประกอบในส่วนติดต่อเว็บขั้นสูง
+ media_cache_retention_period: จะลบไฟล์สื่อที่ดาวน์โหลดหลังจากจำนวนวันที่ระบุเมื่อตั้งเป็นค่าบวก และดาวน์โหลดใหม่ตามความต้องการ
+ profile_directory: ไดเรกทอรีโปรไฟล์แสดงรายการผู้ใช้ทั้งหมดที่ได้เลือกรับให้สามารถค้นพบได้
site_contact_email: วิธีที่ผู้คนสามารถเข้าถึงคุณสำหรับการสอบถามด้านกฎหมายหรือการสนับสนุน
site_contact_username: วิธีที่ผู้คนสามารถเข้าถึงคุณใน Mastodon
+ site_extended_description: ข้อมูลเพิ่มเติมใด ๆ ที่อาจเป็นประโยชน์กับผู้เยี่ยมชมและผู้ใช้ของคุณ สามารถจัดโครงสร้างด้วยไวยากรณ์ Markdown
+ site_short_description: คำอธิบายแบบสั้นเพื่อช่วยระบุเซิร์ฟเวอร์ของคุณโดยเฉพาะ ผู้ดำเนินการเซิร์ฟเวอร์ เซิร์ฟเวอร์สำหรับใคร?
site_terms: ใช้นโยบายความเป็นส่วนตัวของคุณเองหรือเว้นว่างไว้เพื่อใช้ค่าเริ่มต้น สามารถจัดโครงสร้างด้วยไวยากรณ์ Markdown
site_title: วิธีที่ผู้คนอาจอ้างอิงถึงเซิร์ฟเวอร์ของคุณนอกเหนือจากชื่อโดเมนของเซิร์ฟเวอร์
theme: ชุดรูปแบบที่ผู้เยี่ยมชมที่ออกจากระบบและผู้ใช้ใหม่เห็น
thumbnail: แสดงภาพ 2:1 โดยประมาณควบคู่ไปกับข้อมูลเซิร์ฟเวอร์ของคุณ
timeline_preview: ผู้เยี่ยมชมที่ออกจากระบบจะสามารถเรียกดูโพสต์สาธารณะล่าสุดที่มีในเซิร์ฟเวอร์
+ trendable_by_default: ข้ามการตรวจทานเนื้อหาที่กำลังนิยมด้วยตนเอง ยังคงสามารถเอาแต่ละรายการออกจากแนวโน้มได้หลังเกิดเหตุ
trends: แนวโน้มแสดงว่าโพสต์, แฮชแท็ก และเรื่องข่าวใดกำลังได้รับความสนใจในเซิร์ฟเวอร์ของคุณ
form_challenge:
current_password: คุณกำลังเข้าสู่พื้นที่ปลอดภัย
@@ -145,7 +154,7 @@ th:
announcement:
all_day: เหตุการณ์ตลอดทั้งวัน
ends_at: การสิ้นสุดเหตุการณ์
- scheduled_at: จัดกำหนดการเผยแพร่
+ scheduled_at: จัดกำหนดการสำหรับการเผยแพร่
starts_at: การเริ่มต้นเหตุการณ์
text: ประกาศ
appeal:
diff --git a/config/locales/simple_form.zh-CN.yml b/config/locales/simple_form.zh-CN.yml
index 793a39b00..1a8aefda8 100644
--- a/config/locales/simple_form.zh-CN.yml
+++ b/config/locales/simple_form.zh-CN.yml
@@ -67,7 +67,7 @@ zh-CN:
domain: 这可以是电子邮件地址的域名或它使用的 MX 记录所指向的域名。用户注册时,系统会对此检查。
with_dns_records: Mastodon 会尝试解析所给域名的 DNS 记录,然后把解析结果一并封禁
featured_tag:
- name: 以下是您最近使用的主题标签:
+ name: 以下是你最近使用过的标签:
filters:
action: 选择在帖子匹配过滤器时要执行的操作
actions:
diff --git a/config/locales/simple_form.zh-TW.yml b/config/locales/simple_form.zh-TW.yml
index efb8a7a78..f19dc24b0 100644
--- a/config/locales/simple_form.zh-TW.yml
+++ b/config/locales/simple_form.zh-TW.yml
@@ -43,7 +43,7 @@ zh-TW:
header: 支援 PNG、GIF 或 JPG 圖片格式,檔案最大為 %{size},會等比例縮減至 %{dimensions} 像素
inbox_url: 從您想要使用的中繼首頁複製網址
irreversible: 已過濾的嘟文將會不可逆地消失,即便之後移除過濾器也一樣
- locale: 使用者介面、電子信件和推送通知的語言
+ locale: 使用者介面、電子郵件和推播通知的語言
locked: 需要您手動批准跟隨請求
password: 使用至少 8 個字元
phrase: 無論是嘟文的本文或是內容警告都會被過濾
@@ -142,7 +142,7 @@ zh-TW:
title: 標題
admin_account_action:
include_statuses: 在電子郵件中加入檢舉的嘟文
- send_email_notification: 透過電子信件通知使用者
+ send_email_notification: 透過電子郵件通知使用者
text: 自訂警告
type: 動作
types:
@@ -172,7 +172,7 @@ zh-TW:
data: 資料
discoverable: 在目錄列出此帳號
display_name: 顯示名稱
- email: 電子信箱地址
+ email: 電子郵件地址
expires_in: 失效時間
fields: 個人檔案詮釋資料
header: 封面圖片
@@ -218,7 +218,7 @@ zh-TW:
title: 標題
type: 匯入類型
username: 使用者名稱
- username_or_email: 使用者名稱或電子信箱地址
+ username_or_email: 使用者名稱或電子郵件地址
whole_word: 整個詞彙
email_domain_block:
with_dns_records: 包括網域的 MX 記錄和 IP 位址
@@ -270,13 +270,13 @@ zh-TW:
severity: 規則
notification_emails:
appeal: 有人對管理員的決定提出上訴
- digest: 傳送摘要信件
- favourite: 當有使用者喜歡您的嘟文時,傳送電子信件通知
- follow: 當有使用者跟隨您時,傳送電子信件通知
- follow_request: 當有使用者請求跟隨您時,傳送電子信件通知
- mention: 當有使用者在嘟文提及您時,傳送電子信件通知
+ digest: 傳送摘要電子郵件
+ favourite: 當有使用者喜歡您的嘟文時,傳送電子郵件通知
+ follow: 當有使用者跟隨您時,傳送電子郵件通知
+ follow_request: 當有使用者請求跟隨您時,傳送電子郵件通知
+ mention: 當有使用者在嘟文提及您時,傳送電子郵件通知
pending_account: 需要審核的新帳號
- reblog: 當有使用者轉嘟您的嘟文時,傳送電子信件通知
+ reblog: 當有使用者轉嘟您的嘟文時,傳送電子郵件通知
report: 新回報已遞交
trending_tag: 新熱門趨勢需要審核
rule:
diff --git a/config/locales/sk.yml b/config/locales/sk.yml
index e1b2ae99a..51c447122 100644
--- a/config/locales/sk.yml
+++ b/config/locales/sk.yml
@@ -5,6 +5,7 @@ sk:
contact_missing: Nezadaný
contact_unavailable: Neuvedený/á
hosted_on: Mastodon hostovaný na %{domain}
+ title: O
accounts:
follow: Následuj
followers:
@@ -534,6 +535,7 @@ sk:
didnt_get_confirmation: Neobdržal/a si kroky na potvrdenie?
forgot_password: Zabudnuté heslo?
invalid_reset_password_token: Token na obnovu hesla vypršal. Prosím vypítaj si nový.
+ log_in_with: Prihlás sa s
login: Prihlás sa
logout: Odhlás sa
migrate_account: Presúvam sa na iný účet
@@ -845,7 +847,6 @@ sk:
activity: Najnovšia aktivita
browser: Prehliadač
browsers:
- blackberry: RIM Blackberry
chrome: Google Chrome
firefox: Mozilla Firefox
generic: Neznámy prehliadač
@@ -859,7 +860,6 @@ sk:
explanation: Tieto sú prehliadače ktoré sú teraz prihlásené na tvoj Mastodon účet.
ip: IP adresa
platforms:
- chrome_os: Google ChromeOS
ios: Apple iOS
linux: GNU/Linux
mac: MacOSX
diff --git a/config/locales/sl.yml b/config/locales/sl.yml
index fb68ac0ad..7967723ae 100644
--- a/config/locales/sl.yml
+++ b/config/locales/sl.yml
@@ -1,7 +1,7 @@
---
sl:
about:
- about_mastodon_html: Mastodon je socialno omrežje, ki temelji na odprtih spletnih protokolih in prosti ter odprtokodni programski opremi. Je decentraliziran, kot e-pošta.
+ about_mastodon_html: 'Družbeno omrežje prihodnosti: brez oglasov, brez nadzora korporacij, etično oblikovanje in decentralizacija! Ohranite lastništvo nad svojimi podatki z Mastodonom!'
contact_missing: Ni nastavljeno
contact_unavailable: Ni na voljo
hosted_on: Mastodon gostuje na %{domain}
@@ -13,18 +13,18 @@ sl:
one: Sledilec
other: Sledilcev
two: Sledilca
- following: Sledim
+ following: Sledi
instance_actor_flash: Ta račun je navidezni akter, ki se uporablja za predstavljanje strežnika samega in ne posameznega uporabnika. Uporablja se za namene federacije in se ne sme začasno ustaviti.
last_active: zadnja dejavnost
- link_verified_on: Lastništvo te povezave je bilo preverjeno na %{date}
+ link_verified_on: Lastništvo te povezave je bilo preverjeno %{date}
nothing_here: Tukaj ni ničesar!
pin_errors:
following: Verjetno že sledite osebi, ki jo želite potrditi
posts:
- few: Tuti
- one: Tut
+ few: Objave
+ one: Objava
other: Objav
- two: Tuta
+ two: Objavi
posts_tab_heading: Objave
admin:
account_actions:
@@ -32,45 +32,45 @@ sl:
title: Izvedi moderirano dejanje za %{acct}
account_moderation_notes:
create: Pusti opombo
- created_msg: Moderirana opomba je uspešno ustvarjena!
- destroyed_msg: Moderirana opomba je uspešno uničena!
+ created_msg: Opomba moderiranja je uspešno ustvarjena!
+ destroyed_msg: Opomba moderiranja je uspešno uničena!
accounts:
add_email_domain_block: Blokiraj domeno e-pošte
approve: Odobri
- approved_msg: Uspešno odobrena aplikacija prijave uporabnika %{username}
+ approved_msg: Uspešno odobrena vloga prijave uporabnika %{username}
are_you_sure: Ali ste prepričani?
avatar: Podoba
by_domain: Domena
change_email:
changed_msg: E-pošni naslov uspešno spremenjen!
- current_email: Trenutna e-pošta
- label: Spremeni e-pošto
- new_email: Nova e-pošta
- submit: Spremeni e-pošto
- title: Spremeni e-pošto za %{username}
+ current_email: Trenutni e-naslov
+ label: Spremeni e-naslov
+ new_email: Nov e-naslov
+ submit: Spremeni e-naslov
+ title: Spremeni e-naslov za %{username}
change_role:
changed_msg: Vloga uspešno spremenjena!
label: Spremeni vlogo
- no_role: Ni vloge
+ no_role: Brez vloge
title: Spremeni vlogo za %{username}
confirm: Potrdi
confirmed: Potrjeno
- confirming: Potrjujem
+ confirming: V potrjevanju
custom: Po meri
delete: Izbriši podatke
deleted: Izbrisano
- demote: Degradiraj
+ demote: Ponižaj
destroyed_msg: Podatki uporabnika %{username} so zdaj v vrsti za trajen izbris
- disable: Onemogoči
+ disable: Zamrzni
disable_sign_in_token_auth: Onemogoči overjanje z žetonom po e-pošti
disable_two_factor_authentication: Onemogoči 2FA
- disabled: Onemogočeno
- display_name: Prikazno ime
+ disabled: Zamrznjeno
+ display_name: Pojavno ime
domain: Domena
edit: Uredi
- email: E-pošta
- email_status: Stanje e-pošte
- enable: Omogoči
+ email: E-naslov
+ email_status: Stanje e-naslova
+ enable: Odmrzni
enable_sign_in_token_auth: Omogoči overjanje z žetonom po e-pošti
enabled: Omogočeno
enabled_msg: Uspešno odmrznjen račun uporabnika %{username}
@@ -79,18 +79,18 @@ sl:
header: Glava
inbox_url: URL mape "Prejeto"
invite_request_text: Razlogi za pridružitev
- invited_by: Povabljen od
+ invited_by: Na povabilo
ip: IP
- joined: Pridružil
+ joined: Pridružen_a
location:
all: Vse
- local: Lokalni
+ local: Krajevni
remote: Oddaljeni
title: Lokacija
login_status: Stanje prijave
media_attachments: Predstavnostne priloge
- memorialize: Spremenite v spomin
- memorialized: Spomenificirano
+ memorialize: Spremenite v pomnik
+ memorialized: Spominificirano
memorialized_msg: Uspešno preoblikovan %{username} v spominski račun
moderation:
active: Dejaven
@@ -105,7 +105,7 @@ sl:
no_account_selected: Noben račun ni bil spremenjen, ker ni bil izbran noben
no_limits_imposed: Brez omejitev
no_role_assigned: Dodeljena ni nobena vloga
- not_subscribed: Ni naročen
+ not_subscribed: Ni naročnin
pending: Čakanje na pregled
perform_full_suspension: Suspendiraj
previous_strikes: Predhodni ukrepi
@@ -121,21 +121,21 @@ sl:
redownload: Osveži profil
redownloaded_msg: Uspešno osvežen profil %{username} iz izvirnika
reject: Zavrni
- rejected_msg: Uspešno zavrnjena aplikacija prijave uporabnika %{username}
+ rejected_msg: Uspešno zavrnjena vloga prijave uporabnika %{username}
remove_avatar: Odstrani podobo
remove_header: Odstrani glavo
removed_avatar_msg: Uspešno odstranjena slika avatarja uporabnika %{username}
removed_header_msg: Uspešno odstranjena naslovna slika uporabnika %{username}
resend_confirmation:
already_confirmed: Ta uporabnik je že potrjen
- send: Ponovno pošlji potrditveno e-pošto
- success: Potrditvena e-pošta je uspešno poslana!
+ send: Ponovno pošlji potrditveno e-sporočilo
+ success: Potrditveno e-sporočilo je uspešno poslano!
reset: Ponastavi
reset_password: Ponastavi geslo
resubscribe: Ponovno se naroči
role: Vloga
search: Iskanje
- search_same_email_domain: Drugi uporabniki z isto domeno e-pošte
+ search_same_email_domain: Drugi uporabniki z isto e-poštno domeno
search_same_ip: Drugi uporabniki z istim IP
security_measures:
only_password: Samo geslo
@@ -146,24 +146,24 @@ sl:
show:
created_reports: Opravljene prijave
targeted_reports: Prijavili drugi
- silence: Utišaj
- silenced: Utišan
+ silence: Omeji
+ silenced: Omejen
statuses: Objave
strikes: Predhodni ukrepi
subscribe: Naroči
suspend: Suspendiraj
suspended: Suspendiran
- suspension_irreversible: Podatki tega računa so bili nepovrazno izbrisani. Račun lahko vrnete iz suspenza, da bo ponovno uporaben, vendar preteklih podatkov ne boste mogli obnoviti.
+ suspension_irreversible: Podatki tega računa so bili nepovratno izbrisani. Račun lahko vrnete iz suspenza, da bo ponovno uporaben, vendar preteklih podatkov ne boste mogli obnoviti.
suspension_reversible_hint_html: Račun je bil suspendiran, podatki pa bodo v celoti odstranjeni %{date}. Do takrat je mogoče račun obnoviti brez negativnih posledic. Če želite takoj odstraniti vse podatke računa, lahko to storite spodaj.
title: Računi
unblock_email: Odblokiraj e-poštni naslov
unblocked_email_msg: E-poštni naslov uporabnika %{username} uspešno odblokiran
- unconfirmed_email: Nepotrjena e-pošta
+ unconfirmed_email: Nepotrjen e-naslov
undo_sensitized: Ni občutljivo
- undo_silenced: Razveljavi utišanje
- undo_suspension: Razveljavi suspendiranje
+ undo_silenced: Razveljavi omejitve
+ undo_suspension: Razveljavi suspenz
unsilenced_msg: Uspešno razveljavljena omejitev računa uporabnika %{username}
- unsubscribe: Odjavi se od naročnine
+ unsubscribe: Odjavi od naročnine
unsuspended_msg: Uspešno preklican suspenz računa uporabnika %{username}
username: Uporabniško ime
view_domain: Pokaži povzetek za domeno
@@ -175,12 +175,12 @@ sl:
approve_appeal: Odobri pritožbo
approve_user: Odobri uporabnika
assigned_to_self_report: Dodeli prijavo
- change_email_user: Spremeni e-poštni naslov uporabnika
+ change_email_user: Spremeni e-naslov uporabnika
change_role_user: Spremeni vlogo uporabnika
confirm_user: Potrdi uporabnika
create_account_warning: Ustvari opozorilo
create_announcement: Ustvari obvestilo
- create_canonical_email_block: Ustvari blokado e-pošte
+ create_canonical_email_block: Ustvari blokado e-naslova
create_custom_emoji: Ustvari emotikon po meri
create_domain_allow: Ustvari odobritev domene
create_domain_block: Ustvari blokado domene
@@ -190,7 +190,7 @@ sl:
create_user_role: Ustvari vlogo
demote_user: Ponižaj uporabnika
destroy_announcement: Izbriši obvestilo
- destroy_canonical_email_block: Izbriši blokado e-pošte
+ destroy_canonical_email_block: Izbriši blokado e-naslova
destroy_custom_emoji: Izbriši emotikon po meri
destroy_domain_allow: Izbriši odobritev domene
destroy_domain_block: Izbriši blokado domene
@@ -198,7 +198,7 @@ sl:
destroy_instance: Očisti domeno
destroy_ip_block: Izbriši pravilo IP
destroy_status: Izbriši objavo
- destroy_unavailable_domain: Izbriši domeno, ki ni na voljo
+ destroy_unavailable_domain: Izbriši nedosegljivo domeno
destroy_user_role: Uniči vlogo
disable_2fa_user: Onemogoči
disable_custom_emoji: Onemogoči emotikon po meri
@@ -213,7 +213,7 @@ sl:
reject_user: Zavrni uporabnika
remove_avatar_user: Odstrani avatar
reopen_report: Ponovno odpri prijavo
- resend_user: Ponovno pošlji potrditveno e-pošto
+ resend_user: Ponovno pošlji potrditveno e-sporočilo
reset_password_user: Ponastavi geslo
resolve_report: Razreši prijavo
sensitive_account: Občutljivi račun
@@ -634,7 +634,7 @@ sl:
two: "%{count} uporabnika"
categories:
administration: Upravljanje
- devops: Razvojniki
+ devops: DevOps
invites: Povabila
moderation: Moderiranje
special: Posebno
@@ -687,7 +687,7 @@ sl:
view_audit_log_description: Omogoča, da uporabnik vidi zgodovino skrbniških opravil na strežniku
view_dashboard: Pokaži nadzorno ploščo
view_dashboard_description: Omogoča uporabnikom, da dostopajo do nadzorne plošče in različnih meritev
- view_devops: Razvojniki
+ view_devops: DevOps
view_devops_description: Omogoča uporabnikom, da dostopajo do nadzornih plošč Sidekiq in phHero
title: Vloge
rules:
@@ -1449,7 +1449,7 @@ sl:
adobe_air: Adobe Air
android: Android
blackberry: BlackBerry
- chrome_os: Chrome OS
+ chrome_os: ChromeOS
firefox_os: Firefox OS
ios: iOS
linux: Linux
diff --git a/config/locales/sq.yml b/config/locales/sq.yml
index ceb57ec4f..5dfdf806c 100644
--- a/config/locales/sq.yml
+++ b/config/locales/sq.yml
@@ -1368,7 +1368,7 @@ sq:
browser: Shfletues
browsers:
alipay: Alipay
- blackberry: Blackberry
+ blackberry: BlackBerry
chrome: Chrome
edge: Microsoft Edge
electron: Electron
@@ -1382,7 +1382,7 @@ sq:
phantom_js: PhantomJS
qq: QQ Browser
safari: Safari
- uc_browser: UCBrowser
+ uc_browser: Shfletues UC
weibo: Weibo
current_session: Sesioni i tanishëm
description: "%{browser} në %{platform}"
@@ -1391,7 +1391,7 @@ sq:
platforms:
adobe_air: Adobe Air
android: Android
- blackberry: Blackberry
+ blackberry: BlackBerry
chrome_os: ChromeOS
firefox_os: Firefox OS
ios: iOS
diff --git a/config/locales/sr-Latn.yml b/config/locales/sr-Latn.yml
index 0d4b6581d..cd142af77 100644
--- a/config/locales/sr-Latn.yml
+++ b/config/locales/sr-Latn.yml
@@ -296,7 +296,6 @@ sr-Latn:
activity: Poslednja aktivnost
browser: Veb čitač
browsers:
- blackberry: Blekberi
chrome: Hrom
generic: Nepoznati veb čitač
current_session: Trenutna sesija
@@ -305,8 +304,6 @@ sr-Latn:
platforms:
adobe_air: Adobe Air-a
android: Androida
- blackberry: Blekberija
- chrome_os: Hrom OS-a
firefox_os: Fajerfoks OS-a
linux: Linuksa
mac: Mac-a
diff --git a/config/locales/sr.yml b/config/locales/sr.yml
index 36bd3ebf4..acb2289e7 100644
--- a/config/locales/sr.yml
+++ b/config/locales/sr.yml
@@ -445,7 +445,6 @@ sr:
browser: Веб читач
browsers:
alipay: Алипеј
- blackberry: Блекберија
chrome: Хром
edge: Мајкрософт Еџ
electron: Електрон
@@ -459,7 +458,6 @@ sr:
phantom_js: ФантомЏејЕс
qq: КјуКју Претраживач
safari: Сафари
- uc_browser: УЦПретраживач
weibo: Веибо
current_session: Тренутна сесија
description: "%{browser} са %{platform}"
@@ -467,8 +465,6 @@ sr:
platforms:
adobe_air: Адоб Ер-а
android: Андроида
- blackberry: Блекберија
- chrome_os: Хром ОС-а
firefox_os: Фајерфокс ОС-а
ios: иОС-а
linux: Линукса
diff --git a/config/locales/sv.yml b/config/locales/sv.yml
index c2a249b59..bd3c1693a 100644
--- a/config/locales/sv.yml
+++ b/config/locales/sv.yml
@@ -608,7 +608,7 @@ sv:
other: "%{count} användare"
categories:
administration: Administration
- devops: Devops
+ devops: DevOps
invites: Inbjudningar
moderation: Moderering
special: Särskild
@@ -659,7 +659,7 @@ sv:
view_audit_log_description: Tillåter användare att se historiken över administrativa åtgärder på servern
view_dashboard: Visa instrumentpanel
view_dashboard_description: Ger användare tillgång till instrumentpanelen och olika mätvärden
- view_devops: Devops
+ view_devops: DevOps
view_devops_description: Ger användare tillgång till instrumentpanelerna Sidekiq och pgHero
title: Roller
rules:
@@ -1283,7 +1283,7 @@ sv:
reblog:
body: 'Ditt inlägg boostades av %{name}:'
subject: "%{name} boostade ditt inlägg"
- title: Ny boostning
+ title: Ny boost
status:
subject: "%{name} publicerade just ett inlägg"
update:
@@ -1373,7 +1373,7 @@ sv:
browser: Webbläsare
browsers:
alipay: Alipay
- blackberry: Blackberry
+ blackberry: BlackBerry
chrome: Chrome
edge: Microsoft Edge
electron: Electron
@@ -1387,7 +1387,7 @@ sv:
phantom_js: PhantomJS
qq: QQ browser
safari: Safari
- uc_browser: UCBrowser
+ uc_browser: UC Browser
weibo: Weibo
current_session: Nuvarande session
description: "%{browser} på %{platform}"
@@ -1396,8 +1396,8 @@ sv:
platforms:
adobe_air: Adobe Air
android: Android
- blackberry: Blackberry
- chrome_os: Chrome OS
+ blackberry: BlackBerry
+ chrome_os: ChromeOS
firefox_os: Firefox OS
ios: iOS
linux: Linux
@@ -1489,9 +1489,9 @@ sv:
exceptions: Undantag
explanation: Eftersom inläggsradering är resursintensivt görs detta stegvis när servern inte är högbelastad. Därför kan det dröja innan dina inlägg raderas efter att de uppnått ålderströskeln.
ignore_favs: Bortse från favoriter
- ignore_reblogs: Ignorera boostningar
+ ignore_reblogs: Ignorera boostar
interaction_exceptions: Undantag baserat på interaktioner
- interaction_exceptions_explanation: Observera att det inte finns någon garanti att inlägg blir raderade om de går under favorit- eller boosttröskeln efter att en gång ha gått över dem.
+ interaction_exceptions_explanation: Observera att det inte finns någon garanti att inlägg blir raderade om de går under favorit- eller boost-tröskeln efter att en gång ha gått över dem.
keep_direct: Behåll direktmeddelanden
keep_direct_hint: Tar inte bort någon av dina direktmeddelanden
keep_media: Behåll inlägg med mediebilagor
@@ -1517,7 +1517,7 @@ sv:
min_favs: Behåll favoritmarkerade inlägg i minst
min_favs_hint: Raderar inte något av dina inlägg som har blivit favoritmarkerat minst detta antal gånger. Lämna tomt för att radera inlägg oavsett antal favoritmarkeringar
min_reblogs: Behåll boostade inlägg i minst
- min_reblogs_hint: Raderar inte något av dina inlägg som har blivit boostat minst detta antal gånger. Lämna tomt för att radera inlägg oavsett antal boostningar
+ min_reblogs_hint: Raderar inte något av dina inlägg som har blivit boostat minst detta antal gånger. Lämna tomt för att radera inlägg oavsett antal boostar
stream_entries:
pinned: Fäst inlägg
reblogged: boostad
diff --git a/config/locales/th.yml b/config/locales/th.yml
index a941977e6..9a4c665ec 100644
--- a/config/locales/th.yml
+++ b/config/locales/th.yml
@@ -11,7 +11,7 @@ th:
followers:
other: ผู้ติดตาม
following: กำลังติดตาม
- instance_actor_flash: บัญชีนี้เป็นตัวดำเนินการเสมือนที่ใช้เพื่อเป็นตัวแทนของเซิร์ฟเวอร์เองและไม่ใช่ผู้ใช้รายบุคคลใด ๆ บัญชีใช้สำหรับวัตถุประสงค์ในการติดต่อกับภายนอกและไม่ควรได้รับการระงับ
+ instance_actor_flash: บัญชีนี้เป็นตัวดำเนินการเสมือนที่ใช้เพื่อเป็นตัวแทนของเซิร์ฟเวอร์เองและไม่ใช่ผู้ใช้รายบุคคลใด ๆ มีการใช้บัญชีสำหรับวัตถุประสงค์ในการติดต่อกับภายนอกและไม่ควรได้รับการระงับ
last_active: ใช้งานล่าสุด
link_verified_on: ตรวจสอบความเป็นเจ้าของของลิงก์นี้เมื่อ %{date}
nothing_here: ไม่มีสิ่งใดที่นี่!
@@ -296,8 +296,8 @@ th:
title: ประกาศใหม่
publish: เผยแพร่
published_msg: เผยแพร่ประกาศสำเร็จ!
- scheduled_for: จัดกำหนดไว้สำหรับ %{time}
- scheduled_msg: จัดกำหนดการเผยแพร่ประกาศแล้ว!
+ scheduled_for: จัดกำหนดการไว้สำหรับ %{time}
+ scheduled_msg: จัดกำหนดการสำหรับการเผยแพร่ประกาศแล้ว!
title: ประกาศ
unpublish: เลิกเผยแพร่
unpublished_msg: เลิกเผยแพร่ประกาศสำเร็จ!
@@ -324,6 +324,7 @@ th:
listed: อยู่ในรายการ
new:
title: เพิ่มอีโมจิที่กำหนดเองใหม่
+ no_emoji_selected: ไม่มีการเปลี่ยนแปลงอีโมจิเนื่องจากไม่มีการเลือก
not_permitted: คุณไม่ได้รับอนุญาตให้ทำการกระทำนี้
overwrite: เขียนทับ
shortcode: รหัสย่อ
@@ -376,7 +377,7 @@ th:
existing_domain_block_html: คุณได้กำหนดขีดจำกัดที่เข้มงวดกว่าใน %{name} ไปแล้ว คุณจำเป็นต้อง เลิกปิดกั้น ก่อน
new:
create: สร้างการปิดกั้น
- hint: การปิดกั้นโดเมนจะไม่ป้องกันการสร้างรายการบัญชีในฐานข้อมูล แต่จะใช้วิธีการควบคุมที่เฉพาะเจาะจงกับบัญชีเหล่านั้นย้อนหลังและโดยอัตโนมัติ
+ hint: การปิดกั้นโดเมนจะไม่ป้องกันการสร้างรายการบัญชีในฐานข้อมูล แต่จะนำไปใช้วิธีการควบคุมที่เฉพาะเจาะจงกับบัญชีเหล่านั้นย้อนหลังและโดยอัตโนมัติ
severity:
desc_html: "ทำให้เงียบ จะทำให้โพสต์ของบัญชีไม่ปรากฏแก่ใครก็ตามที่ไม่ได้กำลังติดตามบัญชี ระงับ จะเอาเนื้อหา, สื่อ และข้อมูลโปรไฟล์ทั้งหมดของบัญชีออก ใช้ ไม่มี หากคุณเพียงแค่ต้องการปฏิเสธไฟล์สื่อ"
noop: ไม่มี
@@ -465,7 +466,7 @@ th:
unavailable: ไม่พร้อมใช้งาน
delivery_available: มีการจัดส่ง
delivery_error_days: วันที่มีข้อผิดพลาดการจัดส่ง
- delivery_error_hint: หากไม่สามารถทำการจัดส่งได้เป็นเวลา %{count} วัน จะทำเครื่องหมายโดเมนว่าจัดส่งไม่ได้โดยอัตโนมัติ
+ delivery_error_hint: หากไม่สามารถทำการจัดส่งได้เป็นเวลา %{count} วัน ระบบจะทำเครื่องหมายโดเมนว่าจัดส่งไม่ได้โดยอัตโนมัติ
destroyed_msg: ตอนนี้จัดคิวข้อมูลจาก %{domain} สำหรับการลบในเร็ว ๆ นี้แล้ว
empty: ไม่พบโดเมน
known_accounts:
@@ -589,6 +590,7 @@ th:
other: "%{count} ผู้ใช้"
categories:
administration: การดูแล
+ devops: DevOps
invites: คำเชิญ
moderation: การควบคุม
special: พิเศษ
@@ -627,6 +629,7 @@ th:
manage_taxonomies: จัดการอนุกรมวิธาน
manage_taxonomies_description: อนุญาตให้ผู้ใช้ตรวจทานเนื้อหาที่กำลังนิยมและอัปเดตการตั้งค่าแฮชแท็ก
manage_user_access: จัดการการเข้าถึงของผู้ใช้
+ manage_user_access_description: อนุญาตให้ผู้ใช้ปิดใช้งานการรับรองความถูกต้องด้วยสองปัจจัยของผู้ใช้อื่น เปลี่ยนที่อยู่อีเมลของเขา และตั้งรหัสผ่านของเขาใหม่
manage_users: จัดการผู้ใช้
manage_users_description: อนุญาตให้ผู้ใช้ดูรายละเอียดของผู้ใช้อื่น ๆ และทำการกระทำการควบคุมกับผู้ใช้
manage_webhooks: จัดการเว็บฮุค
@@ -635,6 +638,7 @@ th:
view_audit_log_description: อนุญาตให้ผู้ใช้ดูประวัติการกระทำการดูแลในเซิร์ฟเวอร์
view_dashboard: ดูแดชบอร์ด
view_dashboard_description: อนุญาตให้ผู้ใช้เข้าถึงแดชบอร์ดและเมตริกต่าง ๆ
+ view_devops: DevOps
view_devops_description: อนุญาตให้ผู้ใช้เข้าถึงแดชบอร์ด Sidekiq และ pgHero
title: บทบาท
rules:
@@ -646,6 +650,7 @@ th:
settings:
about:
manage_rules: จัดการกฎของเซิร์ฟเวอร์
+ preamble: ให้ข้อมูลเชิงลึกเกี่ยวกับวิธีที่เซิร์ฟเวอร์ได้รับการดำเนินงาน ควบคุม ได้รับทุน
title: เกี่ยวกับ
appearance:
preamble: ปรับแต่งส่วนติดต่อเว็บของ Mastodon
@@ -711,7 +716,10 @@ th:
silence: "%{name} ได้จำกัดบัญชีของ %{target}"
suspend: "%{name} ได้ระงับบัญชีของ %{target}"
appeal_approved: อุทธรณ์แล้ว
+ appeal_pending: รอดำเนินการการอุทธรณ์
system_checks:
+ database_schema_check:
+ message_html: มีการโยกย้ายฐานข้อมูลที่รอดำเนินการ โปรดเรียกใช้การโยกย้ายเพื่อให้แน่ใจว่าแอปพลิเคชันทำงานตามที่คาดไว้
elasticsearch_running_check:
message_html: ไม่สามารถเชื่อมต่อกับ Elasticsearch โปรดตรวจสอบว่าซอฟต์แวร์กำลังทำงาน หรือปิดใช้งานการค้นหาข้อความแบบเต็ม
elasticsearch_version_check:
@@ -735,6 +743,9 @@ th:
allow_provider: อนุญาตผู้เผยแพร่
disallow: ไม่อนุญาตลิงก์
disallow_provider: ไม่อนุญาตผู้เผยแพร่
+ no_link_selected: ไม่มีการเปลี่ยนแปลงลิงก์เนื่องจากไม่มีการเลือก
+ publishers:
+ no_publisher_selected: ไม่มีการเปลี่ยนแปลงผู้เผยแพร่เนื่องจากไม่มีการเลือก
shared_by_over_week:
other: แบ่งปันโดย %{count} คนในช่วงสัปดาห์ที่ผ่านมา
title: ลิงก์ที่กำลังนิยม
@@ -751,6 +762,7 @@ th:
allow_account: อนุญาตผู้สร้าง
disallow: ไม่อนุญาตโพสต์
disallow_account: ไม่อนุญาตผู้สร้าง
+ no_status_selected: ไม่มีการเปลี่ยนแปลงโพสต์ที่กำลังนิยมเนื่องจากไม่มีการเลือก
not_discoverable: ผู้สร้างไม่ได้เลือกรับให้สามารถค้นพบได้
shared_by:
other: แบ่งปันและชื่นชอบ %{friendly_count} ครั้ง
@@ -764,6 +776,7 @@ th:
tag_servers_measure: เซิร์ฟเวอร์ต่าง ๆ
tag_uses_measure: การใช้งานทั้งหมด
listable: สามารถแนะนำ
+ no_tag_selected: ไม่มีการเปลี่ยนแปลงแท็กเนื่องจากไม่มีการเลือก
not_listable: จะไม่แนะนำ
not_trendable: จะไม่ปรากฏภายใต้แนวโน้ม
not_usable: ไม่สามารถใช้
@@ -795,6 +808,8 @@ th:
other: "%{count} เหตุการณ์ที่เปิดใช้งาน"
events: เหตุการณ์
new: เว็บฮุคใหม่
+ rotate_secret: สับเปลี่ยนข้อมูลลับ
+ secret: ข้อมูลลับการเซ็น
status: สถานะ
title: เว็บฮุค
webhook: เว็บฮุค
@@ -836,6 +851,7 @@ th:
remove: เลิกเชื่อมโยงนามแฝง
appearance:
advanced_web_interface: ส่วนติดต่อเว็บขั้นสูง
+ advanced_web_interface_hint: 'หากคุณต้องการใช้ประโยชน์จากความกว้างหน้าจอทั้งหมดของคุณ ส่วนติดต่อเว็บขั้นสูงอนุญาตให้คุณกำหนดค่าคอลัมน์ต่าง ๆ จำนวนมากเพื่อให้เห็นข้อมูลได้มากในเวลาเดียวกันเท่าที่คุณต้องการ: หน้าแรก, การแจ้งเตือน, เส้นเวลาที่ติดต่อกับภายนอก, รายการและแฮชแท็กจำนวนเท่าใดก็ได้'
animations_and_accessibility: ภาพเคลื่อนไหวและการช่วยการเข้าถึง
confirmation_dialogs: กล่องโต้ตอบการยืนยัน
discovery: การค้นพบ
@@ -898,12 +914,13 @@ th:
email_settings_hint_html: ส่งอีเมลยืนยันไปยัง %{email} แล้ว หากที่อยู่อีเมลนั้นไม่ถูกต้อง คุณสามารถเปลี่ยนที่อยู่อีเมลได้ในการตั้งค่าบัญชี
title: การตั้งค่า
sign_up:
+ preamble: เมื่อมีบัญชีในเซิร์ฟเวอร์ Mastodon นี้ คุณจะสามารถติดตามบุคคลอื่นใดในเครือข่าย โดยไม่คำนึงถึงที่ซึ่งบัญชีของเขาได้รับการโฮสต์
title: มาตั้งค่าของคุณใน %{domain} กันเลย
status:
account_status: สถานะบัญชี
confirming: กำลังรอการยืนยันอีเมลให้เสร็จสมบูรณ์
functional: บัญชีของคุณทำงานได้อย่างเต็มที่
- pending: ใบสมัครของคุณกำลังรอดำเนินการตรวจทานโดยพนักงานของเรา นี่อาจใช้เวลาสักครู่ คุณจะได้รับอีเมลหากใบสมัครของคุณได้รับการอนุมัติ
+ pending: ใบสมัครของคุณกำลังรอดำเนินการตรวจทานโดยพนักงานของเรา นี่อาจใช้เวลาสักครู่ คุณจะได้รับอีเมลหากมีการอนุมัติใบสมัครของคุณ
redirecting_to: บัญชีของคุณไม่ได้ใช้งานเนื่องจากบัญชีกำลังเปลี่ยนเส้นทางไปยัง %{acct} ในปัจจุบัน
view_strikes: ดูการดำเนินการที่ผ่านมากับบัญชีของคุณ
too_fast: ส่งแบบฟอร์มเร็วเกินไป ลองอีกครั้ง
@@ -971,6 +988,7 @@ th:
appeal_approved: อุทธรณ์การดำเนินการนี้สำเร็จและไม่มีผลบังคับอีกต่อไป
appeal_rejected: ปฏิเสธการอุทธรณ์แล้ว
appeal_submitted_at: ส่งการอุทธรณ์แล้ว
+ appealed_msg: ส่งการอุทธรณ์ของคุณแล้ว หากมีการอนุมัติการอุทธรณ์ คุณจะได้รับการแจ้งเตือน
appeals:
submit: ส่งการอุทธรณ์
approve_appeal: อนุมัติการอุทธรณ์
@@ -1030,6 +1048,8 @@ th:
storage: ที่เก็บข้อมูลสื่อ
featured_tags:
add_new: เพิ่มใหม่
+ errors:
+ limit: คุณได้แนะนำแฮชแท็กถึงจำนวนสูงสุดไปแล้ว
filters:
contexts:
account: โปรไฟล์
@@ -1041,6 +1061,9 @@ th:
add_keyword: เพิ่มคำสำคัญ
keywords: คำสำคัญ
title: แก้ไขตัวกรอง
+ errors:
+ deprecated_api_multiple_keywords: ไม่สามารถเปลี่ยนพารามิเตอร์เหล่านี้จากแอปพลิเคชันนี้เนื่องจากพารามิเตอร์นำไปใช้กับคำสำคัญของตัวกรองมากกว่าหนึ่ง ใช้แอปพลิเคชันที่ใหม่กว่าหรือส่วนติดต่อเว็บ
+ invalid_context: ไม่มีหรือบริบทที่ให้มาไม่ถูกต้อง
index:
contexts: กรองใน %{contexts}
delete: ลบ
@@ -1060,6 +1083,7 @@ th:
batch:
remove: เอาออกจากตัวกรอง
index:
+ hint: ตัวกรองนี้นำไปใช้เพื่อเลือกแต่ละโพสต์โดยไม่คำนึงถึงเกณฑ์อื่น ๆ คุณสามารถเพิ่มโพสต์เพิ่มเติมไปยังตัวกรองนี้ได้จากส่วนติดต่อเว็บ
title: โพสต์ที่กรองอยู่
footer:
trending_now: กำลังนิยม
@@ -1121,6 +1145,9 @@ th:
expires_at: หมดอายุเมื่อ
uses: การใช้งาน
title: เชิญผู้คน
+ lists:
+ errors:
+ limit: คุณมีรายการถึงจำนวนสูงสุดแล้ว
login_activities:
authentication_methods:
otp: แอปการรับรองความถูกต้องด้วยสองปัจจัย
@@ -1162,6 +1189,7 @@ th:
warning:
before: 'ก่อนดำเนินการต่อ โปรดอ่านหมายเหตุเหล่านี้อย่างระมัดระวัง:'
followers: การกระทำนี้จะย้ายผู้ติดตามทั้งหมดจากบัญชีปัจจุบันไปยังบัญชีใหม่
+ only_redirect_html: หรืออีกวิธีหนึ่ง คุณสามารถ ตั้งเพียงการเปลี่ยนเส้นทางในโปรไฟล์ของคุณเท่านั้น
other_data: จะไม่ย้ายข้อมูลอื่น ๆ โดยอัตโนมัติ
moderation:
title: การควบคุม
@@ -1221,6 +1249,7 @@ th:
trillion: ล้านล้าน
otp_authentication:
code_hint: ป้อนรหัสที่สร้างโดยแอปตัวรับรองความถูกต้องของคุณเพื่อยืนยัน
+ description_html: หากคุณเปิดใช้งาน การรับรองความถูกต้องด้วยสองปัจจัย โดยใช้แอปตัวรับรองความถูกต้อง การเข้าสู่ระบบจะต้องการให้คุณอยู่ในความครอบครองโทรศัพท์ของคุณ ซึ่งจะสร้างโทเคนสำหรับให้คุณป้อน
enable: เปิดใช้งาน
instructions_html: "สแกนรหัส QR นี้ลงใน Google Authenticator หรือแอป TOTP ที่คล้ายกันในโทรศัพท์ของคุณ จากนี้ไป แอปนั้นจะสร้างโทเคนที่คุณจะต้องป้อนเมื่อเข้าสู่ระบบ"
manual_instructions: 'หากคุณไม่สามารถสแกนรหัส QR และจำเป็นต้องป้อนรหัสด้วยตนเอง นี่คือรหัสลับแบบข้อความธรรมดา:'
@@ -1250,6 +1279,7 @@ th:
title: นโยบายความเป็นส่วนตัว
reactions:
errors:
+ limit_reached: ถึงขีดจำกัดของปฏิกิริยาต่าง ๆ แล้ว
unrecognized_emoji: ไม่ใช่อีโมจิที่รู้จัก
relationships:
activity: กิจกรรมบัญชี
@@ -1279,12 +1309,15 @@ th:
account: โพสต์สาธารณะจาก @%{acct}
tag: 'โพสต์สาธารณะที่ได้รับการแท็ก #%{hashtag}'
scheduled_statuses:
- too_soon: วันที่ตามกำหนดการต้องอยู่ในอนาคต
+ over_daily_limit: คุณมีโพสต์ที่จัดกำหนดการไว้เกินขีดจำกัดที่ %{limit} สำหรับวันนี้
+ over_total_limit: คุณมีโพสต์ที่จัดกำหนดการไว้เกินขีดจำกัดที่ %{limit}
+ too_soon: วันที่จัดกำหนดการต้องอยู่ในอนาคต
sessions:
activity: กิจกรรมล่าสุด
browser: เบราว์เซอร์
browsers:
alipay: Alipay
+ blackberry: BlackBerry
chrome: Chrome
edge: Microsoft Edge
electron: Electron
@@ -1298,6 +1331,7 @@ th:
phantom_js: PhantomJS
qq: เบราว์เซอร์ QQ
safari: Safari
+ uc_browser: เบราว์เซอร์ UC
weibo: Weibo
current_session: เซสชันปัจจุบัน
description: "%{browser} ใน %{platform}"
@@ -1306,11 +1340,12 @@ th:
platforms:
adobe_air: Adobe Air
android: Android
- chrome_os: Chrome OS
+ blackberry: BlackBerry
+ chrome_os: ChromeOS
firefox_os: Firefox OS
ios: iOS
linux: Linux
- mac: Mac
+ mac: macOS
other: แพลตฟอร์มที่ไม่รู้จัก
windows: Windows
windows_mobile: Windows Mobile
@@ -1360,8 +1395,10 @@ th:
errors:
in_reply_not_found: ดูเหมือนว่าจะไม่มีโพสต์ที่คุณกำลังพยายามตอบกลับอยู่
open_in_web: เปิดในเว็บ
+ over_character_limit: เกินขีดจำกัดตัวอักษรที่ %{max}
pin_errors:
direct: ไม่สามารถปักหมุดโพสต์ที่ปรากฏแก่ผู้ใช้ที่กล่าวถึงเท่านั้น
+ limit: คุณได้ปักหมุดโพสต์ถึงจำนวนสูงสุดไปแล้ว
ownership: ไม่สามารถปักหมุดโพสต์ของคนอื่น
reblog: ไม่สามารถปักหมุดการดัน
poll:
@@ -1499,8 +1536,10 @@ th:
suspend: ระงับบัญชีอยู่
welcome:
edit_profile_action: ตั้งค่าโปรไฟล์
+ edit_profile_step: คุณสามารถปรับแต่งโปรไฟล์ของคุณได้โดยอัปโหลดรูปภาพโปรไฟล์ เปลี่ยนชื่อที่แสดงของคุณ และอื่น ๆ คุณสามารถเลือกรับการตรวจทานผู้ติดตามใหม่ก่อนที่จะอนุญาตให้เขาติดตามคุณ
explanation: นี่คือเคล็ดลับบางส่วนที่จะช่วยให้คุณเริ่มต้นใช้งาน
final_action: เริ่มโพสต์
+ final_step: 'เริ่มโพสต์! แม้ว่าไม่มีผู้ติดตาม โพสต์สาธารณะของคุณอาจเห็นโดยผู้อื่น ตัวอย่างเช่น ในเส้นเวลาในเซิร์ฟเวอร์หรือในแฮชแท็ก คุณอาจต้องการแนะนำตัวเองในแฮชแท็ก #introductions'
full_handle: นามเต็มของคุณ
full_handle_hint: นี่คือสิ่งที่คุณจะบอกเพื่อน ๆ ของคุณ เพื่อให้เขาสามารถส่งข้อความหรือติดตามคุณจากเซิร์ฟเวอร์อื่น
subject: ยินดีต้อนรับสู่ Mastodon
diff --git a/config/locales/tr.yml b/config/locales/tr.yml
index b041b63f1..cc2193a68 100644
--- a/config/locales/tr.yml
+++ b/config/locales/tr.yml
@@ -608,7 +608,6 @@ tr:
other: "%{count} kullanıcı"
categories:
administration: Yönetim
- devops: Devops
invites: Davetler
moderation: Denetim
special: Özel
@@ -659,7 +658,6 @@ tr:
view_audit_log_description: Kullanıcıların sunucudaki yönetsel eylemlerin bir tarihçesini görüntülemesine izin verir
view_dashboard: Ana Paneli Görüntüleme
view_dashboard_description: Kullanıcıların ana panele ve çeşitli ölçütlere erişmesine izin verir
- view_devops: Devops
view_devops_description: Kullanıcıların Sidekiq ve pgHero panellerine erişmesine izin verir
title: Roller
rules:
@@ -1373,7 +1371,6 @@ tr:
browser: Tarayıcı
browsers:
alipay: Alipay
- blackberry: Blackberry
chrome: Chrome
edge: Microsoft Edge
electron: Electron
@@ -1387,7 +1384,6 @@ tr:
phantom_js: PhantomJS
qq: QQ Browser
safari: Safari
- uc_browser: UC Browser
weibo: Weibo
current_session: Geçerli oturum
description: "%{platform} - %{browser}"
@@ -1396,8 +1392,6 @@ tr:
platforms:
adobe_air: Adobe Air
android: Android
- blackberry: Blackberry
- chrome_os: ChromeOS
firefox_os: Firefox OS
ios: iOS
linux: Linux
diff --git a/config/locales/tt.yml b/config/locales/tt.yml
index 40a0207e5..b2986602d 100644
--- a/config/locales/tt.yml
+++ b/config/locales/tt.yml
@@ -189,7 +189,6 @@ tt:
browser: Браузер
browsers:
alipay: Аlipay
- blackberry: Blаckberry
chrome: Chrоme
edge: Microsоft Edge
electron: Electrоn
@@ -202,15 +201,12 @@ tt:
phantom_js: PhаntomJS
qq: QQ Brоwser
safari: Safаri
- uc_browser: UCBrоwser
weibo: Weibо
description: "%{browser} - %{platform}"
ip: ІР
platforms:
adobe_air: Adobе Air
android: Andrоid
- blackberry: Blаckberry
- chrome_os: ChromеOS
firefox_os: Firеfox OS
ios: iОS
linux: Lіnux
diff --git a/config/locales/uk.yml b/config/locales/uk.yml
index ec8ba1c9b..94ac3f2b8 100644
--- a/config/locales/uk.yml
+++ b/config/locales/uk.yml
@@ -634,7 +634,6 @@ uk:
other: "%{count} користувача"
categories:
administration: Адміністрування
- devops: DevOps
invites: Запрошення
moderation: Модерація
special: Спеціальні
@@ -687,7 +686,6 @@ uk:
view_audit_log_description: Дозволяє користувачам бачити історію адміністративних дій на сервері
view_dashboard: Переглядати панель керування
view_dashboard_description: Дозволяє користувачам доступ до панелі керування та різних метрик
- view_devops: DevOps
view_devops_description: Дозволяє користувачам доступ до Sidekiq і панелі pgHero
title: Ролі
rules:
@@ -950,7 +948,7 @@ uk:
warning: Будьте дуже обережні з цими даними. Ніколи не діліться ними ні з ким!
your_token: Ваш токен доступу
auth:
- apply_for_account: Отримати у списку очікування
+ apply_for_account: Приєднатися до списку очікування
change_password: Пароль
delete_account: Видалити обліковий запис
delete_account_html: Якщо ви хочете видалити свій обліковий запис, ви можете перейти сюди. Вас попросять підтвердити дію.
@@ -1425,7 +1423,6 @@ uk:
browser: Браузер
browsers:
alipay: Alipay
- blackberry: Blackberry
chrome: Хром
edge: Microsoft Edge
electron: Electron
@@ -1439,7 +1436,6 @@ uk:
phantom_js: PhantomJS
qq: QQ Browser
safari: Сафарі
- uc_browser: UCBrowser
weibo: Weibo
current_session: Активна сесія
description: "%{browser} на %{platform}"
@@ -1448,8 +1444,6 @@ uk:
platforms:
adobe_air: Adobe Air
android: Android
- blackberry: Blackberry
- chrome_os: ChromeOS
firefox_os: Firefox OS
ios: iOS
linux: Linux
diff --git a/config/locales/vi.yml b/config/locales/vi.yml
index f1b84de86..b3e37438f 100644
--- a/config/locales/vi.yml
+++ b/config/locales/vi.yml
@@ -595,7 +595,6 @@ vi:
other: "%{count} người"
categories:
administration: Quản trị viên
- devops: Nhà phát triển
invites: Lời mời
moderation: Kiểm duyệt
special: Đặc biệt
@@ -645,7 +644,6 @@ vi:
view_audit_log_description: Cho phép xem lịch sử của các hành động quản trị trên máy chủ
view_dashboard: Xem quản trị
view_dashboard_description: Cho phép truy cập trang tổng quan và các chỉ số khác
- view_devops: Nhà phát triển
view_devops_description: Cho phép truy cập trang tổng quan Sidekiq và pgHero
title: Danh sách vai trò
rules:
@@ -1347,7 +1345,6 @@ vi:
browser: Trình duyệt
browsers:
alipay: Alipay
- blackberry: Blackberry
chrome: Chrome
edge: Edge
electron: Electron
@@ -1361,7 +1358,6 @@ vi:
phantom_js: PhantomJS
qq: QQ
safari: Safari
- uc_browser: UC
weibo: Weibo
current_session: Phiên hiện tại
description: "%{browser} trên %{platform}"
@@ -1370,8 +1366,6 @@ vi:
platforms:
adobe_air: Adobe Air
android: Android
- blackberry: Blackberry
- chrome_os: Chrome OS
firefox_os: Hệ điều hành Firefox
ios: iOS
linux: Linux
diff --git a/config/locales/zh-CN.yml b/config/locales/zh-CN.yml
index 09f1002c2..4da6b6999 100644
--- a/config/locales/zh-CN.yml
+++ b/config/locales/zh-CN.yml
@@ -263,7 +263,7 @@ zh-CN:
reject_user_html: "%{name} 拒绝了用户 %{target} 的注册"
remove_avatar_user_html: "%{name} 删除了 %{target} 的头像"
reopen_report_html: "%{name} 重开了举报 %{target}"
- resend_user_html: "%{name} 给 %{target} 发送了重新确认电子邮件"
+ resend_user_html: "%{name} 给 %{target} 重新发送了确认电子邮件"
reset_password_user_html: "%{name} 重置了用户 %{target} 的密码"
resolve_report_html: "%{name} 处理了举报 %{target}"
sensitive_account_html: "%{name} 将 %{target} 的媒体标记为敏感内容"
@@ -280,7 +280,7 @@ zh-CN:
update_ip_block_html: "%{name} 修改了对 IP %{target} 的规则"
update_status_html: "%{name} 刷新了 %{target} 的嘟文"
update_user_role_html: "%{name} 更改了 %{target} 角色"
- deleted_account: 删除帐户
+ deleted_account: 账号已注销
empty: 没有找到日志
filter_by_action: 根据行为过滤
filter_by_user: 根据用户过滤
@@ -1007,7 +1007,7 @@ zh-CN:
appeal: 申诉
appeal_approved: 此次处罚已申诉成功并不再生效
appeal_rejected: 此次申诉已被驳回
- appeal_submitted_at: 申诉已提交
+ appeal_submitted_at: 已提出申诉
appealed_msg: 你的申诉已经提交。如果申诉通过,你将收到通知。
appeals:
submit: 提交申诉
@@ -1227,7 +1227,7 @@ zh-CN:
carry_mutes_over_text: 这个用户迁移自你隐藏过的 %{acct}
copy_account_note_text: 这个用户迁移自 %{acct},你曾为其添加备注:
navigation:
- toggle_menu: 切换菜单
+ toggle_menu: 隐藏/显示菜单
notification_mailer:
admin:
report:
@@ -1361,7 +1361,7 @@ zh-CN:
phantom_js: PhantomJS
qq: QQ浏览器
safari: Safari
- uc_browser: UC浏览器
+ uc_browser: UC 浏览器
weibo: 新浪微博
current_session: 当前会话
description: "%{platform} 上的 %{browser}"
@@ -1371,7 +1371,7 @@ zh-CN:
adobe_air: Adobe Air
android: Android
blackberry: 黑莓
- chrome_os: Chrome OS
+ chrome_os: ChromeOS
firefox_os: Firefox OS
ios: iOS
linux: Linux
@@ -1465,7 +1465,7 @@ zh-CN:
keep_media: 保留带媒体附件的嘟文
keep_media_hint: 不会删除任何包含媒体附件的嘟文
keep_pinned: 保留置顶嘟文
- keep_pinned_hint: 没有删除任何你已经固定的嘟文
+ keep_pinned_hint: 不会删除你的任何置顶嘟文
keep_polls: 保留投票
keep_polls_hint: 不会删除你的任何投票
keep_self_bookmark: 保存被你加入书签的嘟文
diff --git a/config/locales/zh-HK.yml b/config/locales/zh-HK.yml
index acc6de3ad..92489882d 100644
--- a/config/locales/zh-HK.yml
+++ b/config/locales/zh-HK.yml
@@ -893,7 +893,6 @@ zh-HK:
browser: 瀏覽器
browsers:
alipay: 支付寶
- blackberry: 黑莓機
chrome: Chrome 瀏覽器
edge: Microsoft Edge 瀏覽器
electron: Electron 瀏覽器
@@ -907,7 +906,6 @@ zh-HK:
phantom_js: PhantomJS 瀏覽器
qq: QQ瀏覽器
safari: Safari 瀏覽器
- uc_browser: UC瀏覽器
weibo: 新浪微博
current_session: 目前的作業階段
description: "%{platform} 上的 %{browser}"
@@ -916,8 +914,6 @@ zh-HK:
platforms:
adobe_air: Adobe Air
android: Android
- blackberry: Blackberry
- chrome_os: ChromeOS
firefox_os: Firefox OS
ios: iOS
linux: Linux
diff --git a/config/locales/zh-TW.yml b/config/locales/zh-TW.yml
index 9c0c2a74d..c9596c040 100644
--- a/config/locales/zh-TW.yml
+++ b/config/locales/zh-TW.yml
@@ -37,11 +37,11 @@ zh-TW:
by_domain: 站點
change_email:
changed_msg: 電子郵件已成功變更!
- current_email: 目前的電子信箱地址
- label: 變更電子信箱地址
- new_email: 新的電子信箱地址
- submit: 變更電子信箱地址
- title: 為 %{username} 變更電子信箱地址
+ current_email: 目前的電子郵件地址
+ label: 變更電子郵件地址
+ new_email: 新的電子郵件地址
+ submit: 變更電子郵件地址
+ title: 為 %{username} 變更電子郵件地址
change_role:
changed_msg: 成功修改角色!
label: 變更角色
@@ -56,16 +56,16 @@ zh-TW:
demote: 降級
destroyed_msg: 即將刪除 %{username} 的數據
disable: 停用
- disable_sign_in_token_auth: 停用電子信箱 token 驗證
+ disable_sign_in_token_auth: 停用電子郵件 token 驗證
disable_two_factor_authentication: 停用兩階段認證
disabled: 已停用
display_name: 暱稱
domain: 站點
edit: 編輯
- email: 電子信箱地址
- email_status: 電子信箱狀態
+ email: 電子郵件地址
+ email_status: 電子郵件狀態
enable: 啟用
- enable_sign_in_token_auth: 啟用電子信箱 token 驗證
+ enable_sign_in_token_auth: 啟用電子郵件 token 驗證
enabled: 已啟用
enabled_msg: 成功解除 %{username} 帳號的凍結
followers: 跟隨者
@@ -149,7 +149,7 @@ zh-TW:
title: 帳號
unblock_email: 解除封鎖電子郵件地址
unblocked_email_msg: 成功解除封鎖 %{username} 的電子郵件地址
- unconfirmed_email: 未確認的電子信箱地址
+ unconfirmed_email: 未確認的電子郵件地址
undo_sensitized: 取消敏感狀態
undo_silenced: 取消靜音
undo_suspension: 取消停權
@@ -166,7 +166,7 @@ zh-TW:
approve_appeal: 批准申訴
approve_user: 批准使用者
assigned_to_self_report: 指派回報
- change_email_user: 變更使用者的電子信箱地址
+ change_email_user: 變更使用者的電子郵件地址
change_role_user: 變更使用者角色
confirm_user: 確認使用者
create_account_warning: 建立警告
@@ -175,7 +175,7 @@ zh-TW:
create_custom_emoji: 建立自訂顏文字
create_domain_allow: 建立允許網域
create_domain_block: 建立阻擋網域
- create_email_domain_block: 封鎖電子郵件站台
+ create_email_domain_block: 新增電子郵件網域封鎖
create_ip_block: 新增IP規則
create_unavailable_domain: 新增無法存取的網域
create_user_role: 建立角色
@@ -193,10 +193,10 @@ zh-TW:
destroy_user_role: 移除角色
disable_2fa_user: 停用兩階段認證
disable_custom_emoji: 停用自訂顏文字
- disable_sign_in_token_auth_user: 停用使用者電子信箱 token 驗證
+ disable_sign_in_token_auth_user: 停用使用者電子郵件 token 驗證
disable_user: 停用帳號
enable_custom_emoji: 啓用自訂顏文字
- enable_sign_in_token_auth_user: 啟用使用者電子信箱 token 驗證
+ enable_sign_in_token_auth_user: 啟用使用者電子郵件 token 驗證
enable_user: 啓用帳號
memorialize_account: 設定成紀念帳號
promote_user: 把用戶升級
@@ -225,16 +225,16 @@ zh-TW:
approve_appeal_html: "%{name} 批准了來自 %{target} 的審核決定申訴"
approve_user_html: "%{name} 批准了從 %{target} 而來的註冊"
assigned_to_self_report_html: "%{name} 將報告 %{target} 指派給自己"
- change_email_user_html: "%{name} 變更了使用者 %{target} 的電子信箱地址"
+ change_email_user_html: "%{name} 變更了使用者 %{target} 的電子郵件地址"
change_role_user_html: "%{name} 變更了 %{target} 的角色"
- confirm_user_html: "%{name} 確認了使用者 %{target} 的電子信箱位址"
+ confirm_user_html: "%{name} 確認了使用者 %{target} 的電子郵件位址"
create_account_warning_html: "%{name} 已對 %{target} 送出警告"
create_announcement_html: "%{name} 新增了公告 %{target}"
create_canonical_email_block_html: "%{name} 已封鎖了 hash 為 %{target} 之 e-mail"
create_custom_emoji_html: "%{name} 上傳了新自訂表情符號 %{target}"
create_domain_allow_html: "%{name} 允許 %{target} 網域加入聯邦宇宙"
create_domain_block_html: "%{name} 封鎖了網域 %{target}"
- create_email_domain_block_html: "%{name} 封鎖了電子信箱網域 %{target}"
+ create_email_domain_block_html: "%{name} 封鎖了電子郵件網域 %{target}"
create_ip_block_html: "%{name} 已經設定了IP %{target} 的規則"
create_unavailable_domain_html: "%{name} 停止發送至網域 %{target}"
create_user_role_html: "%{name} 建立了 %{target} 角色"
@@ -244,7 +244,7 @@ zh-TW:
destroy_custom_emoji_html: "%{name} 刪除了表情符號 %{target}"
destroy_domain_allow_html: "%{name} 不允許與網域 %{target} 加入聯邦宇宙"
destroy_domain_block_html: "%{name} 取消了對網域 %{target} 的封鎖"
- destroy_email_domain_block_html: "%{name} 取消了對電子信箱網域 %{target} 的封鎖"
+ destroy_email_domain_block_html: "%{name} 取消了對電子郵件網域 %{target} 的封鎖"
destroy_instance_html: "%{name} 清除了網域 %{target}"
destroy_ip_block_html: "%{name} 刪除了 IP %{target} 的規則"
destroy_status_html: "%{name} 刪除了 %{target} 的嘟文"
@@ -252,10 +252,10 @@ zh-TW:
destroy_user_role_html: "%{name} 刪除了 %{target} 角色"
disable_2fa_user_html: "%{name} 停用了使用者 %{target} 的兩階段認證"
disable_custom_emoji_html: "%{name} 停用了自訂表情符號 %{target}"
- disable_sign_in_token_auth_user_html: "%{name} 停用了 %{target} 之使用者電子信箱 token 驗證"
+ disable_sign_in_token_auth_user_html: "%{name} 停用了 %{target} 之使用者電子郵件 token 驗證"
disable_user_html: "%{name} 將使用者 %{target} 設定為禁止登入"
enable_custom_emoji_html: "%{name} 啟用了自訂表情符號 %{target}"
- enable_sign_in_token_auth_user_html: "%{name} 啟用了 %{target} 之使用者電子信箱 token 驗證"
+ enable_sign_in_token_auth_user_html: "%{name} 啟用了 %{target} 之使用者電子郵件 token 驗證"
enable_user_html: "%{name} 將使用者 %{target} 設定為允許登入"
memorialize_account_html: "%{name} 將 %{target} 設定為追悼帳號"
promote_user_html: "%{name} 對使用者 %{target} 進行了晉級操作"
@@ -400,7 +400,7 @@ zh-TW:
add_new: 加入新項目
attempts_over_week:
other: 上週共有 %{count} 次註冊嘗試
- created_msg: 已成功將電子信箱網域加入黑名單
+ created_msg: 已成功將電子郵件網域加入黑名單
delete: 刪除
dns:
types:
@@ -409,11 +409,11 @@ zh-TW:
new:
create: 新增站點
resolve: 解析網域
- title: 新增電子信箱黑名單項目
- no_email_domain_block_selected: 因未選取項目,而未更改電子信箱網域封鎖清單
+ title: 新增電子郵件黑名單項目
+ no_email_domain_block_selected: 因未選取項目,而未更改電子郵件網域黑名單
resolved_dns_records_hint_html: 網域名稱解析為以下 MX 網域,這些網域最終負責接收電子郵件。封鎖 MX 網域將會封鎖任何來自使用相同 MX 網域的電子郵件註冊,即便可見的域名是不同的也一樣。請注意,不要封鎖主要的電子郵件服務提供商。
resolved_through_html: 透過 %{domain} 解析
- title: 電子信箱黑名單
+ title: 電子郵件黑名單
follow_recommendations:
description_html: |-
跟隨建議幫助新使用者們快速找到有趣的內容. 當使用者沒有與其他帳號有足夠多的互動以建立個人化跟隨建議時,這些帳號將會被推荐。這些帳號將基於某選定語言之高互動和高本地跟隨者數量帳號而
@@ -597,7 +597,7 @@ zh-TW:
other: "%{count} 個使用者"
categories:
administration: 管理員
- devops: Devops
+ devops: DevOps
invites: 邀請
moderation: 站務
special: 特殊
@@ -647,7 +647,7 @@ zh-TW:
view_audit_log_description: 允許使用者檢視伺服器上的管理動作歷史
view_dashboard: 檢視儀表板
view_dashboard_description: 允許使用者存取儀表板與各種指標
- view_devops: Devops
+ view_devops: DevOps
view_devops_description: 允許使用者存取 Sidekiq 與 pgHero 儀表板
title: 角色
rules:
@@ -884,9 +884,9 @@ zh-TW:
sensitive_content: 敏感內容
toot_layout: 嘟文排版
application_mailer:
- notification_preferences: 變更電子信件設定
+ notification_preferences: 變更電子郵件設定
salutation: "%{name}、"
- settings: 變更電子信箱設定︰%{link}
+ settings: 變更電子郵件設定︰%{link}
view: '進入瀏覽:'
view_profile: 檢視個人檔案
view_status: 檢視嘟文
@@ -1349,7 +1349,6 @@ zh-TW:
browser: 瀏覽器
browsers:
alipay: 支付寶
- blackberry: 黑莓機
chrome: Chrome 瀏覽器
edge: Microsoft Edge 瀏覽器
electron: Electron 瀏覽器
@@ -1372,8 +1371,7 @@ zh-TW:
platforms:
adobe_air: Adobe Air
android: Android
- blackberry: 黑莓機 (Blackberry)
- chrome_os: Chrome OS
+ chrome_os: ChromeOS
firefox_os: Firefox OS
ios: iOS
linux: Linux
diff --git a/config/routes.rb b/config/routes.rb
index d8af292bf..98aa5a033 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -73,7 +73,7 @@ Rails.application.routes.draw do
end
end
- devise_for :users, path: 'auth', controllers: {
+ devise_for :users, path: 'auth', format: false, controllers: {
omniauth_callbacks: 'auth/omniauth_callbacks',
sessions: 'auth/sessions',
registrations: 'auth/registrations',
@@ -216,7 +216,7 @@ Rails.application.routes.draw do
resource :relationships, only: [:show, :update]
resource :statuses_cleanup, controller: :statuses_cleanup, only: [:show, :update]
- get '/media_proxy/:id/(*any)', to: 'media_proxy#show', as: :media_proxy
+ get '/media_proxy/:id/(*any)', to: 'media_proxy#show', as: :media_proxy, format: false
resource :authorize_interaction, only: [:show, :create]
resource :share, only: [:show, :create]
@@ -404,7 +404,7 @@ Rails.application.routes.draw do
get '/admin', to: redirect('/admin/dashboard', status: 302)
- namespace :api do
+ namespace :api, format: false do
# OEmbed
get '/oembed', to: 'oembed#show', as: :oembed
@@ -493,18 +493,10 @@ Rails.application.routes.draw do
resources :bookmarks, only: [:index]
resources :reports, only: [:create]
resources :trends, only: [:index], controller: 'trends/tags'
- resources :filters, only: [:index, :create, :show, :update, :destroy] do
- resources :keywords, only: [:index, :create], controller: 'filters/keywords'
- resources :statuses, only: [:index, :create], controller: 'filters/statuses'
- end
+ resources :filters, only: [:index, :create, :show, :update, :destroy]
resources :endorsements, only: [:index]
resources :markers, only: [:index, :create]
- namespace :filters do
- resources :keywords, only: [:show, :update, :destroy]
- resources :statuses, only: [:show, :destroy]
- end
-
namespace :apps do
get :verify_credentials, to: 'credentials#show'
end
@@ -660,8 +652,16 @@ Rails.application.routes.draw do
resources :media, only: [:create]
resources :suggestions, only: [:index]
- resources :filters, only: [:index, :create, :show, :update, :destroy]
resource :instance, only: [:show]
+ resources :filters, only: [:index, :create, :show, :update, :destroy] do
+ resources :keywords, only: [:index, :create], controller: 'filters/keywords'
+ resources :statuses, only: [:index, :create], controller: 'filters/statuses'
+ end
+
+ namespace :filters do
+ resources :keywords, only: [:show, :update, :destroy]
+ resources :statuses, only: [:show, :destroy]
+ end
namespace :admin do
resources :accounts, only: [:index]
diff --git a/lib/exceptions.rb b/lib/exceptions.rb
index 3c5ba226b..d3b92f4a0 100644
--- a/lib/exceptions.rb
+++ b/lib/exceptions.rb
@@ -11,6 +11,7 @@ module Mastodon
class RaceConditionError < Error; end
class RateLimitExceededError < Error; end
class SyntaxError < Error; end
+ class InvalidParameterError < Error; end
class UnexpectedResponseError < Error
attr_reader :response
diff --git a/lib/mastodon/maintenance_cli.rb b/lib/mastodon/maintenance_cli.rb
index 6e5242bff..85937da81 100644
--- a/lib/mastodon/maintenance_cli.rb
+++ b/lib/mastodon/maintenance_cli.rb
@@ -14,7 +14,7 @@ module Mastodon
end
MIN_SUPPORTED_VERSION = 2019_10_01_213028 # rubocop:disable Style/NumericLiterals
- MAX_SUPPORTED_VERSION = 2022_03_16_233212 # rubocop:disable Style/NumericLiterals
+ MAX_SUPPORTED_VERSION = 2022_11_04_133904 # rubocop:disable Style/NumericLiterals
# Stubs to enjoy ActiveRecord queries while not depending on a particular
# version of the code/database
@@ -45,6 +45,7 @@ module Mastodon
class FollowRecommendationSuppression < ApplicationRecord; end
class CanonicalEmailBlock < ApplicationRecord; end
class Appeal < ApplicationRecord; end
+ class Webhook < ApplicationRecord; end
class PreviewCard < ApplicationRecord
self.inheritance_column = false
@@ -182,6 +183,7 @@ module Mastodon
deduplicate_accounts!
deduplicate_tags!
deduplicate_webauthn_credentials!
+ deduplicate_webhooks!
Scenic.database.refresh_materialized_view('instances', concurrently: true, cascade: false) if ActiveRecord::Migrator.current_version >= 2020_12_06_004238
Rails.cache.clear
@@ -497,6 +499,7 @@ module Mastodon
def deduplicate_tags!
remove_index_if_exists!(:tags, 'index_tags_on_name_lower')
+ remove_index_if_exists!(:tags, 'index_tags_on_name_lower_btree')
@prompt.say 'Deduplicating tags…'
ActiveRecord::Base.connection.select_all("SELECT string_agg(id::text, ',') AS ids FROM tags GROUP BY lower((name)::text) HAVING count(*) > 1").each do |row|
@@ -509,11 +512,10 @@ module Mastodon
end
@prompt.say 'Restoring tags indexes…'
- ActiveRecord::Base.connection.add_index :tags, 'lower((name)::text)', name: 'index_tags_on_name_lower', unique: true
-
- if ActiveRecord::Base.connection.indexes(:tags).any? { |i| i.name == 'index_tags_on_name_lower_btree' }
- @prompt.say 'Reindexing textual indexes on tags…'
- ActiveRecord::Base.connection.execute('REINDEX INDEX index_tags_on_name_lower_btree;')
+ if ActiveRecord::Migrator.current_version < 20210421121431
+ ActiveRecord::Base.connection.add_index :tags, 'lower((name)::text)', name: 'index_tags_on_name_lower', unique: true
+ else
+ ActiveRecord::Base.connection.execute 'CREATE UNIQUE INDEX CONCURRENTLY index_tags_on_name_lower_btree ON tags (lower(name) text_pattern_ops)'
end
end
@@ -531,6 +533,20 @@ module Mastodon
ActiveRecord::Base.connection.add_index :webauthn_credentials, ['external_id'], name: 'index_webauthn_credentials_on_external_id', unique: true
end
+ def deduplicate_webhooks!
+ return unless ActiveRecord::Base.connection.table_exists?(:webhooks)
+
+ remove_index_if_exists!(:webhooks, 'index_webhooks_on_url')
+
+ @prompt.say 'Deduplicating webhooks…'
+ ActiveRecord::Base.connection.select_all("SELECT string_agg(id::text, ',') AS ids FROM webhooks GROUP BY url HAVING count(*) > 1").each do |row|
+ Webhooks.where(id: row['ids'].split(',')).sort_by(&:id).reverse.drop(1).each(&:destroy)
+ end
+
+ @prompt.say 'Restoring webhooks indexes…'
+ ActiveRecord::Base.connection.add_index :webhooks, ['url'], name: 'index_webhooks_on_url', unique: true
+ end
+
def deduplicate_local_accounts!(accounts)
accounts = accounts.sort_by(&:id).reverse
diff --git a/lib/mastodon/version.rb b/lib/mastodon/version.rb
index 82addfc5c..95057d478 100644
--- a/lib/mastodon/version.rb
+++ b/lib/mastodon/version.rb
@@ -13,11 +13,11 @@ module Mastodon
end
def patch
- 0
+ 1
end
def flags
- 'rc3'
+ ''
end
def suffix
diff --git a/lib/tasks/mastodon.rake b/lib/tasks/mastodon.rake
index 3ec685c74..c1e5bd2b4 100644
--- a/lib/tasks/mastodon.rake
+++ b/lib/tasks/mastodon.rake
@@ -142,7 +142,40 @@ namespace :mastodon do
prompt.say "\n"
if prompt.yes?('Do you want to store uploaded files on the cloud?', default: false)
- case prompt.select('Provider', ['Amazon S3', 'Wasabi', 'Minio', 'Google Cloud Storage'])
+ case prompt.select('Provider', ['DigitalOcean Spaces', 'Amazon S3', 'Wasabi', 'Minio', 'Google Cloud Storage'])
+ when 'DigitalOcean Spaces'
+ env['S3_ENABLED'] = 'true'
+ env['S3_PROTOCOL'] = 'https'
+
+ env['S3_BUCKET'] = prompt.ask('Space name:') do |q|
+ q.required true
+ q.default "files.#{env['LOCAL_DOMAIN']}"
+ q.modify :strip
+ end
+
+ env['S3_REGION'] = prompt.ask('Space region:') do |q|
+ q.required true
+ q.default 'nyc3'
+ q.modify :strip
+ end
+
+ env['S3_HOSTNAME'] = prompt.ask('Space endpoint:') do |q|
+ q.required true
+ q.default 'nyc3.digitaloceanspaces.com'
+ q.modify :strip
+ end
+
+ env['S3_ENDPOINT'] = "https://#{env['S3_HOSTNAME']}"
+
+ env['AWS_ACCESS_KEY_ID'] = prompt.ask('Space access key:') do |q|
+ q.required true
+ q.modify :strip
+ end
+
+ env['AWS_SECRET_ACCESS_KEY'] = prompt.ask('Space secret key:') do |q|
+ q.required true
+ q.modify :strip
+ end
when 'Amazon S3'
env['S3_ENABLED'] = 'true'
env['S3_PROTOCOL'] = 'https'
diff --git a/spec/config/initializers/rack_attack_spec.rb b/spec/config/initializers/rack_attack_spec.rb
new file mode 100644
index 000000000..581021cb9
--- /dev/null
+++ b/spec/config/initializers/rack_attack_spec.rb
@@ -0,0 +1,82 @@
+require 'rails_helper'
+
+describe Rack::Attack do
+ include Rack::Test::Methods
+
+ def app
+ Rails.application
+ end
+
+ shared_examples 'throttled endpoint' do
+ context 'when the number of requests is lower than the limit' do
+ it 'does not change the request status' do
+ limit.times do
+ request.call
+ expect(last_response.status).to_not eq(429)
+ end
+ end
+ end
+
+ context 'when the number of requests is higher than the limit' do
+ it 'returns http too many requests' do
+ (limit * 2).times do |i|
+ request.call
+ expect(last_response.status).to eq(429) if i > limit
+ end
+ end
+ end
+ end
+
+ let(:remote_ip) { '1.2.3.5' }
+
+ describe 'throttle excessive sign-up requests by IP address' do
+ context 'through the website' do
+ let(:limit) { 25 }
+ let(:request) { ->() { post path, {}, 'REMOTE_ADDR' => remote_ip } }
+
+ context 'for exact path' do
+ let(:path) { '/auth' }
+ it_behaves_like 'throttled endpoint'
+ end
+
+ context 'for path with format' do
+ let(:path) { '/auth.html' }
+ it_behaves_like 'throttled endpoint'
+ end
+ end
+
+ context 'through the API' do
+ let(:limit) { 5 }
+ let(:request) { ->() { post path, {}, 'REMOTE_ADDR' => remote_ip } }
+
+ context 'for exact path' do
+ let(:path) { '/api/v1/accounts' }
+ it_behaves_like 'throttled endpoint'
+ end
+
+ context 'for path with format' do
+ let(:path) { '/api/v1/accounts.json' }
+
+ it 'returns http not found' do
+ request.call
+ expect(last_response.status).to eq(404)
+ end
+ end
+ end
+ end
+
+ describe 'throttle excessive sign-in requests by IP address' do
+ let(:limit) { 25 }
+ let(:request) { ->() { post path, {}, 'REMOTE_ADDR' => remote_ip } }
+
+ context 'for exact path' do
+ let(:path) { '/auth/sign_in' }
+ it_behaves_like 'throttled endpoint'
+ end
+
+ context 'for path with format' do
+ let(:path) { '/auth/sign_in.html' }
+ it_behaves_like 'throttled endpoint'
+ end
+ end
+end
diff --git a/spec/controllers/api/v1/admin/domain_allows_controller_spec.rb b/spec/controllers/api/v1/admin/domain_allows_controller_spec.rb
index 26a391a60..8100363f6 100644
--- a/spec/controllers/api/v1/admin/domain_allows_controller_spec.rb
+++ b/spec/controllers/api/v1/admin/domain_allows_controller_spec.rb
@@ -94,25 +94,37 @@ RSpec.describe Api::V1::Admin::DomainAllowsController, type: :controller do
describe 'POST #create' do
let!(:domain_allow) { Fabricate(:domain_allow, domain: 'example.com') }
- before do
- post :create, params: { domain: 'foo.bar.com' }
+ context do
+ before do
+ post :create, params: { domain: 'foo.bar.com' }
+ end
+
+ it_behaves_like 'forbidden for wrong scope', 'write:statuses'
+ it_behaves_like 'forbidden for wrong role', ''
+ it_behaves_like 'forbidden for wrong role', 'Moderator'
+
+ it 'returns http success' do
+ expect(response).to have_http_status(200)
+ end
+
+ it 'returns expected domain name' do
+ json = body_as_json
+ expect(json[:domain]).to eq 'foo.bar.com'
+ end
+
+ it 'creates a domain block' do
+ expect(DomainAllow.find_by(domain: 'foo.bar.com')).to_not be_nil
+ end
end
- it_behaves_like 'forbidden for wrong scope', 'write:statuses'
- it_behaves_like 'forbidden for wrong role', ''
- it_behaves_like 'forbidden for wrong role', 'Moderator'
+ context 'with invalid domain name' do
+ before do
+ post :create, params: { domain: 'foo bar' }
+ end
- it 'returns http success' do
- expect(response).to have_http_status(200)
- end
-
- it 'returns expected domain name' do
- json = body_as_json
- expect(json[:domain]).to eq 'foo.bar.com'
- end
-
- it 'creates a domain block' do
- expect(DomainAllow.find_by(domain: 'foo.bar.com')).to_not be_nil
+ it 'returns http unprocessable entity' do
+ expect(response).to have_http_status(422)
+ end
end
end
end
diff --git a/spec/controllers/api/v1/filters/keywords_controller_spec.rb b/spec/controllers/api/v2/filters/keywords_controller_spec.rb
similarity index 98%
rename from spec/controllers/api/v1/filters/keywords_controller_spec.rb
rename to spec/controllers/api/v2/filters/keywords_controller_spec.rb
index aecb4e41c..1201a4ca2 100644
--- a/spec/controllers/api/v1/filters/keywords_controller_spec.rb
+++ b/spec/controllers/api/v2/filters/keywords_controller_spec.rb
@@ -1,6 +1,6 @@
require 'rails_helper'
-RSpec.describe Api::V1::Filters::KeywordsController, type: :controller do
+RSpec.describe Api::V2::Filters::KeywordsController, type: :controller do
render_views
let(:user) { Fabricate(:user) }
diff --git a/spec/controllers/api/v1/filters/statuses_controller_spec.rb b/spec/controllers/api/v2/filters/statuses_controller_spec.rb
similarity index 98%
rename from spec/controllers/api/v1/filters/statuses_controller_spec.rb
rename to spec/controllers/api/v2/filters/statuses_controller_spec.rb
index 3b2399dd8..9740c1eb3 100644
--- a/spec/controllers/api/v1/filters/statuses_controller_spec.rb
+++ b/spec/controllers/api/v2/filters/statuses_controller_spec.rb
@@ -1,6 +1,6 @@
require 'rails_helper'
-RSpec.describe Api::V1::Filters::StatusesController, type: :controller do
+RSpec.describe Api::V2::Filters::StatusesController, type: :controller do
render_views
let(:user) { Fabricate(:user) }
diff --git a/spec/fixtures/files/utf8-followers.txt b/spec/fixtures/files/utf8-followers.txt
new file mode 100644
index 000000000..9d4fe3485
--- /dev/null
+++ b/spec/fixtures/files/utf8-followers.txt
@@ -0,0 +1 @@
+@nare@թութ.հայ
diff --git a/spec/models/account/field_spec.rb b/spec/models/account/field_spec.rb
index fcb2a884a..b4beec048 100644
--- a/spec/models/account/field_spec.rb
+++ b/spec/models/account/field_spec.rb
@@ -89,6 +89,14 @@ RSpec.describe Account::Field, type: :model do
expect(subject.verifiable?).to be false
end
end
+
+ context 'for text which is blank' do
+ let(:value) { '' }
+
+ it 'returns false' do
+ expect(subject.verifiable?).to be false
+ end
+ end
end
context 'for remote accounts' do
@@ -133,6 +141,14 @@ RSpec.describe Account::Field, type: :model do
expect(subject.verifiable?).to be false
end
end
+
+ context 'for text which is blank' do
+ let(:value) { '' }
+
+ it 'returns false' do
+ expect(subject.verifiable?).to be false
+ end
+ end
end
end
end
diff --git a/spec/models/custom_emoji_filter_spec.rb b/spec/models/custom_emoji_filter_spec.rb
index d859f5c5f..2b1b5dc54 100644
--- a/spec/models/custom_emoji_filter_spec.rb
+++ b/spec/models/custom_emoji_filter_spec.rb
@@ -50,10 +50,10 @@ RSpec.describe CustomEmojiFilter do
context 'else' do
let(:params) { { else: 'else' } }
- it 'raises RuntimeError' do
+ it 'raises Mastodon::InvalidParameterError' do
expect do
subject
- end.to raise_error(RuntimeError, /Unknown filter: else/)
+ end.to raise_error(Mastodon::InvalidParameterError, /Unknown filter: else/)
end
end
end
diff --git a/spec/services/import_service_spec.rb b/spec/services/import_service_spec.rb
index 764225aa7..e2d182920 100644
--- a/spec/services/import_service_spec.rb
+++ b/spec/services/import_service_spec.rb
@@ -172,6 +172,29 @@ RSpec.describe ImportService, type: :service do
end
end
+ # Based on the bug report 20571 where UTF-8 encoded domains were rejecting import of their users
+ #
+ # https://github.com/mastodon/mastodon/issues/20571
+ context 'utf-8 encoded domains' do
+ subject { ImportService.new }
+
+ let!(:nare) { Fabricate(:account, username: 'nare', domain: 'թութ.հայ', locked: false, protocol: :activitypub, inbox_url: 'https://թութ.հայ/inbox') }
+
+ # Make sure to not actually go to the remote server
+ before do
+ stub_request(:post, "https://թութ.հայ/inbox").to_return(status: 200)
+ end
+
+ let(:csv) { attachment_fixture('utf8-followers.txt') }
+ let(:import) { Import.create(account: account, type: 'following', data: csv) }
+
+ it 'follows the listed account' do
+ expect(account.follow_requests.count).to eq 0
+ subject.call(import)
+ expect(account.follow_requests.count).to eq 1
+ end
+ end
+
context 'import bookmarks' do
subject { ImportService.new }
diff --git a/streaming/index.js b/streaming/index.js
index a55181bad..f8857ae53 100644
--- a/streaming/index.js
+++ b/streaming/index.js
@@ -681,7 +681,7 @@ const startWorker = async (workerId) => {
queries.push(client.query('SELECT 1 FROM account_domain_blocks WHERE account_id = $1 AND domain = $2', [req.accountId, accountDomain]));
}
- if (!unpackedPayload.filter_results && !req.cachedFilters) {
+ if (!unpackedPayload.filtered && !req.cachedFilters) {
queries.push(client.query('SELECT filter.id AS id, filter.phrase AS title, filter.context AS context, filter.expires_at AS expires_at, filter.action AS filter_action, keyword.keyword AS keyword, keyword.whole_word AS whole_word FROM custom_filter_keywords keyword JOIN custom_filters filter ON keyword.custom_filter_id = filter.id WHERE filter.account_id = $1 AND filter.expires_at IS NULL OR filter.expires_at > NOW()', [req.accountId]));
}
@@ -692,7 +692,7 @@ const startWorker = async (workerId) => {
return;
}
- if (!unpackedPayload.filter_results && !req.cachedFilters) {
+ if (!unpackedPayload.filtered && !req.cachedFilters) {
const filterRows = values[accountDomain ? 2 : 1].rows;
req.cachedFilters = filterRows.reduce((cache, row) => {
@@ -707,7 +707,7 @@ const startWorker = async (workerId) => {
title: row.title,
context: row.context,
expires_at: row.expires_at,
- filter_action: row.filter_action,
+ filter_action: ['warn', 'hide'][row.filter_action],
},
};
}
@@ -735,18 +735,18 @@ const startWorker = async (workerId) => {
}
// Check filters
- if (req.cachedFilters && !unpackedPayload.filter_results) {
+ if (req.cachedFilters && !unpackedPayload.filtered) {
const status = unpackedPayload;
const searchContent = ([status.spoiler_text || '', status.content].concat((status.poll && status.poll.options) ? status.poll.options.map(option => option.title) : [])).concat(status.media_attachments.map(att => att.description)).join('\n\n').replace(//g, '\n\n'); const searchIndex = JSDOM.fragment(searchContent).textContent; const now = new Date(); - payload.filter_results = []; + payload.filtered = []; Object.values(req.cachedFilters).forEach((cachedFilter) => { if ((cachedFilter.expires_at === null || cachedFilter.expires_at > now)) { const keyword_matches = searchIndex.match(cachedFilter.regexp); if (keyword_matches) { - payload.filter_results.push({ + payload.filtered.push({ filter: cachedFilter.repr, keyword_matches, });