Browse Source

Merge branch 'main' into glitch-soc/merge-upstream

Conflicts:
- `README.md`: our READMEs are entirely different and
  upstream's has been updated. Kept our README.
master
Claire 2 months ago
parent
commit
69737b703a
  1. 485
      AUTHORS.md
  2. 2
      CHANGELOG.md
  3. 12
      CONTRIBUTING.md
  4. 5
      SECURITY.md
  5. 2
      Vagrantfile
  6. 4
      app/javascript/mastodon/locales/ca.json
  7. 2
      app/javascript/mastodon/locales/co.json
  8. 216
      app/javascript/mastodon/locales/cs.json
  9. 2
      app/javascript/mastodon/locales/eo.json
  10. 18
      app/javascript/mastodon/locales/gd.json
  11. 2
      app/javascript/mastodon/locales/gl.json
  12. 124
      app/javascript/mastodon/locales/hu.json
  13. 62
      app/javascript/mastodon/locales/ja.json
  14. 64
      app/javascript/mastodon/locales/ko.json
  15. 930
      app/javascript/mastodon/locales/kw.json
  16. 22
      app/javascript/mastodon/locales/ru.json
  17. 2
      app/javascript/mastodon/locales/th.json
  18. 20
      app/javascript/mastodon/locales/vi.json
  19. 44
      app/javascript/mastodon/locales/zh-CN.json
  20. 6
      app/models/concerns/account_merging.rb
  21. 18
      app/serializers/activitypub/note_serializer.rb
  22. 1
      config/initializers/1_hosts.rb
  23. 2
      config/locales/activerecord.cs.yml
  24. 4
      config/locales/activerecord.hu.yml
  25. 243
      config/locales/cs.yml
  26. 2
      config/locales/devise.cs.yml
  27. 38
      config/locales/devise.hu.yml
  28. 14
      config/locales/devise.zh-CN.yml
  29. 8
      config/locales/doorkeeper.cs.yml
  30. 12
      config/locales/doorkeeper.hu.yml
  31. 8
      config/locales/doorkeeper.ja.yml
  32. 4
      config/locales/doorkeeper.vi.yml
  33. 8
      config/locales/doorkeeper.zh-CN.yml
  34. 27
      config/locales/gd.yml
  35. 207
      config/locales/hu.yml
  36. 74
      config/locales/ja.yml
  37. 70
      config/locales/ko.yml
  38. 16
      config/locales/pt-BR.yml
  39. 12
      config/locales/ru.yml
  40. 74
      config/locales/simple_form.cs.yml
  41. 52
      config/locales/simple_form.hu.yml
  42. 26
      config/locales/simple_form.ja.yml
  43. 26
      config/locales/simple_form.ko.yml
  44. 20
      config/locales/simple_form.vi.yml
  45. 18
      config/locales/simple_form.zh-CN.yml
  46. 60
      config/locales/vi.yml
  47. 200
      config/locales/zh-CN.yml
  48. 16
      lib/mastodon/maintenance_cli.rb
  49. 2
      lib/mastodon/version.rb
  50. 59
      lib/tasks/repo.rake

485
AUTHORS.md

@ -5,39 +5,38 @@ Mastodon is available on [GitHub](https://github.com/tootsuite/mastodon)
and provided thanks to the work of the following contributors:
* [Gargron](https://github.com/Gargron)
* [ThibG](https://github.com/ThibG)
* [dependabot-preview[bot]](https://github.com/apps/dependabot-preview)
* [dependabot[bot]](https://github.com/apps/dependabot)
* [ClearlyClaire](https://github.com/ClearlyClaire)
* [dependabot-preview[bot]](https://github.com/apps/dependabot-preview)
* [ykzts](https://github.com/ykzts)
* [akihikodaki](https://github.com/akihikodaki)
* [mjankowski](https://github.com/mjankowski)
* [unarist](https://github.com/unarist)
* [abcang](https://github.com/abcang)
* [yiskah](https://github.com/yiskah)
* [noellabo](https://github.com/noellabo)
* [nolanlawson](https://github.com/nolanlawson)
* [abcang](https://github.com/abcang)
* [mayaeh](https://github.com/mayaeh)
* [ysksn](https://github.com/ysksn)
* [sorin-davidoi](https://github.com/sorin-davidoi)
* [noellabo](https://github.com/noellabo)
* [lynlynlynx](https://github.com/lynlynlynx)
* [m4sk1n](mailto:me@m4sk.in)
* [Marcin Mikołajczak](mailto:me@m4sk.in)
* [Kjwon15](https://github.com/Kjwon15)
* [tribela](https://github.com/tribela)
* [renatolond](https://github.com/renatolond)
* [alpaca-tc](https://github.com/alpaca-tc)
* [jeroenpraat](https://github.com/jeroenpraat)
* [zunda](https://github.com/zunda)
* [nclm](https://github.com/nclm)
* [ineffyble](https://github.com/ineffyble)
* [zunda](https://github.com/zunda)
* [shleeable](https://github.com/shleeable)
* [Masoud Abkenar](mailto:ampbox@gmail.com)
* [blackle](https://github.com/blackle)
* [Quent-in](https://github.com/Quent-in)
* [JantsoP](https://github.com/JantsoP)
* [ariasuni](https://github.com/ariasuni)
* [nullkal](https://github.com/nullkal)
* [yookoala](https://github.com/yookoala)
* [Brawaru](https://github.com/Brawaru)
* [ariasuni](https://github.com/ariasuni)
* [Aditoo17](https://github.com/Aditoo17)
* [Quenty31](https://github.com/Quenty31)
* [marek-lach](https://github.com/marek-lach)
@ -45,7 +44,9 @@ and provided thanks to the work of the following contributors:
* [ashfurrow](https://github.com/ashfurrow)
* [danhunsaker](https://github.com/danhunsaker)
* [eramdam](https://github.com/eramdam)
* [Jeroen](mailto:jeroenpraat@users.noreply.github.com)
* [takayamaki](https://github.com/takayamaki)
* [dunn](https://github.com/dunn)
* [masarakki](https://github.com/masarakki)
* [ticky](https://github.com/ticky)
* [trwnh](https://github.com/trwnh)
@ -53,15 +54,15 @@ and provided thanks to the work of the following contributors:
* [hinaloe](https://github.com/hinaloe)
* [hcmiya](https://github.com/hcmiya)
* [stephenburgess8](https://github.com/stephenburgess8)
* [Wonderfall](mailto:wonderfall@targaryen.house)
* [Wonderfall](https://github.com/Wonderfall)
* [matteoaquila](https://github.com/matteoaquila)
* [yukimochi](https://github.com/yukimochi)
* [palindromordnilap](https://github.com/palindromordnilap)
* [rkarabut](https://github.com/rkarabut)
* [jeroenpraat](mailto:jeroenpraat@users.noreply.github.com)
* [nightpool](https://github.com/nightpool)
* [Artoria2e5](https://github.com/Artoria2e5)
* [marrus-sh](https://github.com/marrus-sh)
* [dunn](https://github.com/dunn)
* [krainboltgreene](https://github.com/krainboltgreene)
* [pfigel](https://github.com/pfigel)
* [BoFFire](https://github.com/BoFFire)
@ -73,18 +74,19 @@ and provided thanks to the work of the following contributors:
* [SerCom_KC](mailto:sercom-kc@users.noreply.github.com)
* [Sylvhem](https://github.com/Sylvhem)
* [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)
* [beatrix-bitrot](https://github.com/beatrix-bitrot)
* [koyuawsmbrtn](https://github.com/koyuawsmbrtn)
* [BenLubar](https://github.com/BenLubar)
* [mkljczk](https://github.com/mkljczk)
* [adbelle](https://github.com/adbelle)
* [evanminto](https://github.com/evanminto)
* [MightyPork](https://github.com/MightyPork)
* [ashleyhull-versent](https://github.com/ashleyhull-versent)
* [yhirano55](https://github.com/yhirano55)
* [rinsuki](https://github.com/rinsuki)
* [devkral](https://github.com/devkral)
* [camponez](https://github.com/camponez)
* [hugogameiro](https://github.com/hugogameiro)
@ -100,7 +102,6 @@ and provided thanks to the work of the following contributors:
* [lindwurm](https://github.com/lindwurm)
* [victorhck](mailto:victorhck@geeko.site)
* [voidsatisfaction](https://github.com/voidsatisfaction)
* [mkljczk](https://github.com/mkljczk)
* [hikari-no-yume](https://github.com/hikari-no-yume)
* [seefood](https://github.com/seefood)
* [jackjennings](https://github.com/jackjennings)
@ -135,10 +136,11 @@ and provided thanks to the work of the following contributors:
* [kadiix](https://github.com/kadiix)
* [kodacs](https://github.com/kodacs)
* [marcin mikołajczak](mailto:me@m4sk.in)
* [JMendyk](https://github.com/JMendyk)
* [KScl](https://github.com/KScl)
* [sterdev](https://github.com/sterdev)
* [mashirozx](https://github.com/mashirozx)
* [TheKinrar](https://github.com/TheKinrar)
* [007lva](https://github.com/007lva)
* [AA4ch1](https://github.com/AA4ch1)
* [alexgleason](https://github.com/alexgleason)
* [Bèr Kessels](mailto:ber@berk.es)
@ -150,6 +152,7 @@ and provided thanks to the work of the following contributors:
* [hendotcat](https://github.com/hendotcat)
* [d6rkaiz](https://github.com/d6rkaiz)
* [ladyisatis](https://github.com/ladyisatis)
* [JMendyk](https://github.com/JMendyk)
* [JohnD28](https://github.com/JohnD28)
* [znz](https://github.com/znz)
* [saper](https://github.com/saper)
@ -159,6 +162,7 @@ and provided thanks to the work of the following contributors:
* [ekiru](https://github.com/ekiru)
* [geta6](https://github.com/geta6)
* [happycoloredbanana](https://github.com/happycoloredbanana)
* [joenepraat](https://github.com/joenepraat)
* [leopku](https://github.com/leopku)
* [SansPseudoFix](https://github.com/SansPseudoFix)
* [spla](mailto:sp@mastodont.cat)
@ -169,13 +173,13 @@ and provided thanks to the work of the following contributors:
* [nzws](https://github.com/nzws)
* [duxovni](https://github.com/duxovni)
* [smorimoto](https://github.com/smorimoto)
* [mashirozx](https://github.com/mashirozx)
* [178inaba](https://github.com/178inaba)
* [acid-chicken](https://github.com/acid-chicken)
* [xgess](https://github.com/xgess)
* [alyssais](https://github.com/alyssais)
* [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)
@ -184,7 +188,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)
* [Korbinian](mailto:kontakt@korbinian-michl.de)
* [MonaLisaOverrdrive](https://github.com/MonaLisaOverrdrive)
* [Kurtis Rainbolt-Greene](mailto:me@kurtisrainboltgreene.name)
* [panarom](https://github.com/panarom)
* [Dar13](https://github.com/Dar13)
@ -204,6 +208,7 @@ and provided thanks to the work of the following contributors:
* [gled-rs](https://github.com/gled-rs)
* [Valentin_NC](mailto:valentin.ouvrard@nautile.sarl)
* [R0ckweb](https://github.com/R0ckweb)
* [Izorkin](https://github.com/Izorkin)
* [unasuke](https://github.com/unasuke)
* [caasi](https://github.com/caasi)
* [chr-1x](https://github.com/chr-1x)
@ -211,13 +216,14 @@ and provided thanks to the work of the following contributors:
* [foxiehkins](https://github.com/foxiehkins)
* [highemerly](https://github.com/highemerly)
* [hoodie](mailto:hoodiekitten@outlook.com)
* [kaiyou](https://github.com/kaiyou)
* [luzi82](https://github.com/luzi82)
* [slice](https://github.com/slice)
* [tmm576](https://github.com/tmm576)
* [unsmell](mailto:unsmell@users.noreply.github.com)
* [valerauko](https://github.com/valerauko)
* [chriswmartin](https://github.com/chriswmartin)
* [vahnj](https://github.com/vahnj)
* [SuperSandro2000](https://github.com/SuperSandro2000)
* [ikuradon](https://github.com/ikuradon)
* [AndreLewin](https://github.com/AndreLewin)
* [0xflotus](https://github.com/0xflotus)
@ -254,17 +260,20 @@ and provided thanks to the work of the following contributors:
* [ian-kelling](https://github.com/ian-kelling)
* [immae](https://github.com/immae)
* [J0WI](https://github.com/J0WI)
* [vahnj](https://github.com/vahnj)
* [foozmeat](https://github.com/foozmeat)
* [jasonrhodes](https://github.com/jasonrhodes)
* [Jason Snell](mailto:jason@newrelic.com)
* [jviide](https://github.com/jviide)
* [YuleZ](https://github.com/YuleZ)
* [jtracey](https://github.com/jtracey)
* [crakaC](https://github.com/crakaC)
* [tkbky](https://github.com/tkbky)
* [Kaylee](mailto:kaylee@codethat.sucks)
* [Kazhnuz](https://github.com/Kazhnuz)
* [mkody](https://github.com/mkody)
* [connyduck](https://github.com/connyduck)
* [Tak](https://github.com/Tak)
* [LindseyB](https://github.com/LindseyB)
* [Lorenz Diener](mailto:halcyon@icosahedron.website)
* [Markus Amalthea Magnuson](mailto:markus.magnuson@gmail.com)
@ -282,9 +291,9 @@ and provided thanks to the work of the following contributors:
* [lumenwrites](https://github.com/lumenwrites)
* [remram44](https://github.com/remram44)
* [sts10](https://github.com/sts10)
* [SuperSandro2000](https://github.com/SuperSandro2000)
* [u1-liquid](https://github.com/u1-liquid)
* [rosylilly](https://github.com/rosylilly)
* [withshubh](https://github.com/withshubh)
* [sim6](https://github.com/sim6)
* [Sir-Boops](https://github.com/Sir-Boops)
* [stemid](https://github.com/stemid)
@ -305,15 +314,16 @@ and provided thanks to the work of the following contributors:
* [anon5r](https://github.com/anon5r)
* [aus-social](https://github.com/aus-social)
* [bsky](mailto:me@imbsky.net)
* [chandrn7](https://github.com/chandrn7)
* [codl](https://github.com/codl)
* [cpsdqs](https://github.com/cpsdqs)
* [barzamin](https://github.com/barzamin)
* [gol-cha](https://github.com/gol-cha)
* [fhalna](https://github.com/fhalna)
* [haoyayoi](https://github.com/haoyayoi)
* [ik11235](https://github.com/ik11235)
* [kawax](https://github.com/kawax)
* [shrft](https://github.com/shrft)
* [007lva](https://github.com/007lva)
* [mbajur](https://github.com/mbajur)
* [matsurai25](https://github.com/matsurai25)
* [mecab](https://github.com/mecab)
@ -353,7 +363,7 @@ and provided thanks to the work of the following contributors:
* [a2](https://github.com/a2)
* [alfiedotwtf](https://github.com/alfiedotwtf)
* [0xa](https://github.com/0xa)
* [ArisuOngaku](https://github.com/ArisuOngaku)
* [ashpieboop](https://github.com/ashpieboop)
* [virtualpain](https://github.com/virtualpain)
* [sapphirus](https://github.com/sapphirus)
* [amandavisconti](https://github.com/amandavisconti)
@ -367,6 +377,7 @@ 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)
* [aldatsa](https://github.com/aldatsa)
* [jumbosushi](https://github.com/jumbosushi)
* [acuteaura](https://github.com/acuteaura)
* [ayumin](https://github.com/ayumin)
@ -375,7 +386,7 @@ and provided thanks to the work of the following contributors:
* [li-bei](https://github.com/li-bei)
* [Benedikt Geißler](mailto:benedikt@g5r.eu)
* [BenisonSebastian](https://github.com/BenisonSebastian)
* [blakebarnett](https://github.com/blakebarnett)
* [Blake](mailto:blake.barnett@postmates.com)
* [Brad Janke](mailto:brad.janke@gmail.com)
* [bclindner](https://github.com/bclindner)
* [brycied00d](https://github.com/brycied00d)
@ -395,10 +406,12 @@ and provided thanks to the work of the following contributors:
* [colindean](https://github.com/colindean)
* [DeeUnderscore](https://github.com/DeeUnderscore)
* [dachinat](https://github.com/dachinat)
* [monsterpit-firedemon](https://github.com/monsterpit-firedemon)
* [Daggertooth](mailto:dev@monsterpit.net)
* [watilde](https://github.com/watilde)
* [dalehenries](https://github.com/dalehenries)
* [daprice](https://github.com/daprice)
* [da2x](https://github.com/da2x)
* [danieljakots](https://github.com/danieljakots)
* [codesections](https://github.com/codesections)
* [dar5hak](https://github.com/dar5hak)
* [kant](https://github.com/kant)
@ -423,6 +436,7 @@ and provided thanks to the work of the following contributors:
* [espenronnevik](https://github.com/espenronnevik)
* [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)
@ -433,7 +447,7 @@ and provided thanks to the work of the following contributors:
* [hattori6789](https://github.com/hattori6789)
* [algernon](https://github.com/algernon)
* [Fastbyte01](https://github.com/Fastbyte01)
* [myfreeweb](https://github.com/myfreeweb)
* [unrelentingtech](https://github.com/unrelentingtech)
* [gfaivre](https://github.com/gfaivre)
* [Fiaxhs](https://github.com/Fiaxhs)
* [rasjonell](https://github.com/rasjonell)
@ -445,17 +459,20 @@ and provided thanks to the work of the following contributors:
* [Habu-Kagumba](https://github.com/Habu-Kagumba)
* [suzukaze](https://github.com/suzukaze)
* [Hiromi-Kai](https://github.com/Hiromi-Kai)
* [hishamhm](https://github.com/hishamhm)
* [Slaynash](https://github.com/Slaynash)
* [musashino205](https://github.com/musashino205)
* [iwaim](https://github.com/iwaim)
* [valrus](https://github.com/valrus)
* [IMcD23](https://github.com/IMcD23)
* [yi0713](https://github.com/yi0713)
* [iblech](https://github.com/iblech)
* [Hisham Muhammad](mailto:hisham@gobolinux.org)
* [Hugo "Slaynash" Flores](mailto:hugoflores@hotmail.fr)
* [INAGAKI Hiroshi](mailto:musashino205@users.noreply.github.com)
* [IWAI, Masaharu](mailto:iwaim.sub@gmail.com)
* [Ian McCowan](mailto:imccowan@gmail.com)
* [Ian McDowell](mailto:me@ianmcdowell.net)
* [Iijima Yasushi](mailto:kurage.cc@gmail.com)
* [Ikko Ashimine](mailto:eltociear@gmail.com)
* [Ingo Blechschmidt](mailto:iblech@web.de)
* [J Yeary](mailto:usbsnowcrash@users.noreply.github.com)
* [jack-michaud](https://github.com/jack-michaud)
* [Floppy](https://github.com/Floppy)
* [Jack Michaud](mailto:jack-michaud@users.noreply.github.com)
* [Jakub Mendyk](mailto:jakubmendyk.szkola@gmail.com)
* [James](mailto:james.allen.vaughan@gmail.com)
* [James Smith](mailto:james@floppy.org.uk)
* [Jarek Lipski](mailto:pub@loomchild.net)
* [Jennifer Glauche](mailto:=^.^=@github19.jglauche.de)
* [Jennifer Kruse](mailto:jenkr55@gmail.com)
@ -464,6 +481,7 @@ and provided thanks to the work of the following contributors:
* [Jessica K. Litwin](mailto:jessica@litw.in)
* [Jo Decker](mailto:trolldecker@users.noreply.github.com)
* [Joan Montané](mailto:jmontane@users.noreply.github.com)
* [Joe](mailto:401283+htmlbyjoe@users.noreply.github.com)
* [Jonathan Klee](mailto:klee.jonathan@gmail.com)
* [Jordan Guerder](mailto:jguerder@fr.pulseheberg.net)
* [Joseph Mingrone](mailto:jehops@users.noreply.github.com)
@ -483,7 +501,6 @@ and provided thanks to the work of the following contributors:
* [Krzysztof Jurewicz](mailto:krzysztof.jurewicz@gmail.com)
* [Leo Wzukw](mailto:leowzukw@users.noreply.github.com)
* [Leonie](mailto:62470640+bubblineyuri@users.noreply.github.com)
* [Levi Bard](mailto:taktaktaktaktaktaktaktaktaktak@gmail.com)
* [Lex Alexander](mailto:l.alexander10@gmail.com)
* [Lorenz Diener](mailto:lorenzd@gmail.com)
* [Luc Didry](mailto:ldidry@users.noreply.github.com)
@ -560,6 +577,7 @@ and provided thanks to the work of the following contributors:
* [ScienJus](mailto:i@scienjus.com)
* [Scott Larkin](mailto:scott@codeclimate.com)
* [Scott Sweeny](mailto:scott@ssweeny.net)
* [Sean](mailto:sean@sean.taipei)
* [Sebastian Hübner](mailto:imolein@users.noreply.github.com)
* [Sebastian Morr](mailto:sebastian@morr.cc)
* [Sergei Č](mailto:noiwex1911@gmail.com)
@ -570,8 +588,10 @@ and provided thanks to the work of the following contributors:
* [Shouko Yu](mailto:imshouko@gmail.com)
* [Sina Mashek](mailto:sina@mashek.xyz)
* [Soft. Dev](mailto:24978+nileshkumar@users.noreply.github.com)
* [Sophie Parker](mailto:dev@cortices.me)
* [Soshi Kato](mailto:mail@sossii.com)
* [Spanky](mailto:2788886+spankyworks@users.noreply.github.com)
* [Stanislas](mailto:stanislas.lange@pm.me)
* [StefOfficiel](mailto:pichard.stephane@free.fr)
* [Steven Tappert](mailto:admin@dark-it.net)
* [Stéphane Guillou](mailto:stephane.guillou@member.fsf.org)
@ -630,9 +650,9 @@ and provided thanks to the work of the following contributors:
* [evilny0](mailto:evilny0@moomoocamp.net)
* [febrezo](mailto:felixbrezo@gmail.com)
* [fsubal](mailto:fsubal@users.noreply.github.com)
* [fusagiko / takayamaki](mailto:24884114+takayamaki@users.noreply.github.com)
* [fusshi-](mailto:dikky1218@users.noreply.github.com)
* [gentaro](mailto:gentaroooo@gmail.com)
* [gol-cha](mailto:info@mevo.xyz)
* [guigeekz](mailto:pattusg@gmail.com)
* [hakoai](mailto:hk--76@qa2.so-net.ne.jp)
* [haosbvnker](mailto:github@chaosbunker.com)
@ -645,7 +665,7 @@ 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)
* [kaiyou](mailto:pierre@jaury.eu)
* [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)
@ -705,104 +725,131 @@ This document is provided for informational purposes only. Since it is only upda
Following people have contributed to translation of Mastodon:
- ᏦᏁᎢᎵᏫ 😷 (KNTRO) (*Spanish, Argentina*)
- GunChleoc (*Scottish Gaelic*)
- ᛤᚤᛠᛥⴲ 👽 (KNTRO) (*Spanish, Argentina*)
- adrmzz (*Sardinian*)
- Hồ Nhất Duy (kantcer) (*Vietnamese*)
- Zoltán Gera (gerazo) (*Hungarian*)
- Sveinn í Felli (sveinki) (*Icelandic*)
- qezwan (*Persian, Sorani (Kurdish)*)
- Hồ Nhất Duy (kantcer) (*Vietnamese*)
- NCAA (*Danish*)
- Ramdziana F Y (rafeyu) (*Indonesian*)
- taicv (*Vietnamese*)
- Zoltán Gera (gerazo) (*Hungarian*)
- ButterflyOfFire (BoFFire) (*French, Arabic, Kabyle*)
- adrmzz (*Sardinian*)
- Ramdziana F Y (rafeyu) (*Indonesian*)
- Evert Prants (IcyDiamond) (*Estonian*)
- Daniele Lira Mereb (danilmereb) (*Portuguese, Brazilian*)
- Xosé M. (XoseM) (*Spanish, Galician*)
- Kristijan Tkalec (lapor) (*Slovenian*)
- stan ionut (stanionut12) (*Romanian*)
- Evert Prants (IcyDiamond) (*Estonian*)
- Besnik_b (*Albanian*)
- Emanuel Pina (emanuelpina) (*Portuguese*)
- Jeong Arm (Kjwon15) (*Japanese, Korean, Esperanto*)
- Alix Rossi (palindromordnilap) (*French, Esperanto, Corsican*)
- Thai Localization (thl10n) (*Thai*)
- Daniele Lira Mereb (danilmereb) (*Portuguese, Brazilian*)
- Joene (joenepraat) (*Dutch*)
- Kristijan Tkalec (lapor) (*Slovenian*)
- stan ionut (stanionut12) (*Romanian*)
- spla (*Spanish, Catalan*)
- мачко (ma4ko) (*Bulgarian*)
- 奈卜拉 (nebula_moe) (*Chinese Simplified*)
- Jeong Arm (Kjwon15) (*Japanese, Korean, Esperanto*)
- kamee (*Armenian*)
- AJ-عجائب البرمجة (Esmail_Hazem) (*Arabic*)
- Michal Stanke (mstanke) (*Czech*)
- Alix Rossi (palindromordnilap) (*French, Corsican*)
- spla (*Spanish, Catalan*)
- Imre Kristoffer Eilertsen (DandelionSprout) (*Norwegian*)
- Jeroen (jeroenpraat) (*Dutch*)
- borys_sh (*Ukrainian*)
- Miguel Mayol (mitcoes) (*Spanish, Catalan*)
- Danial Behzadi (danialbehzadi) (*Persian*)
- yeft (*Chinese Traditional, Chinese Traditional, Hong Kong*)
- borys_sh (*Ukrainian*)
- Asier Iturralde Sarasola (aldatsa) (*Basque*)
- Imre Kristoffer Eilertsen (DandelionSprout) (*Norwegian*)
- koyu (*German*)
- yeft (*Chinese Traditional, Chinese Traditional, Hong Kong*)
- Miguel Mayol (mitcoes) (*Spanish, Catalan*)
- Sasha Sorokin (Brawaru) (*French, Catalan, Danish, German, Greek, Hungarian, Armenian, Korean, Russian, Albanian, Swedish, Ukrainian, Vietnamese, Galician*)
- Roboron (*Spanish*)
- Koala Yeung (yookoala) (*Chinese Traditional, Hong Kong*)
- Ondřej Pokorný (unextro) (*Czech*)
- Osoitz (*Basque*)
- Peterandre (*Norwegian, Norwegian Nynorsk*)
- tzium (*Sardinian*)
- Mélanie Chauvel (ariasuni) (*French, Arabic, Czech, German, Greek, Hungarian, Slovenian, Ukrainian, Chinese Simplified, Portuguese, Brazilian, Persian, Norwegian Nynorsk, Esperanto, Breton, Corsican, Sardinian, Kabyle*)
- Iváns (Ivans_translator) (*Galician*)
- Sasha Sorokin (Sasha-Sorokin) (*French, Catalan, Danish, German, Greek, Hungarian, Armenian, Korean, Russian, Albanian, Swedish, Ukrainian, Vietnamese, Galician*)
- kamee (*Armenian*)
- Maya Minatsuki (mayaeh) (*Japanese*)
- Manuel Viens (manuelviens) (*French*)
- Alessandro Levati (Oct326) (*Italian*)
- lamnatos (*Greek*)
- Sean Young (assanges) (*Chinese Traditional*)
- tolstoevsky (*Russian*)
- enolp (*Asturian*)
- FédiQuébec (manuelviens) (*French*)
- lamnatos (*Greek*)
- Maya Minatsuki (mayaeh) (*Japanese*)
- Jasmine Cam Andrever (gourmas) (*Cornish*)
- gagik_ (*Armenian*)
- Masoud Abkenar (mabkenar) (*Persian*)
- Alessandro Levati (Oct326) (*Italian*)
- arshat (*Kazakh*)
- Roboron (*Spanish*)
- ariasuni (*French, Arabic, Czech, German, Greek, Hungarian, Slovenian, Ukrainian, Chinese Simplified, Portuguese, Brazilian, Persian, Norwegian Nynorsk, Esperanto, Breton, Corsican, Sardinian, Kabyle*)
- Marcin Mikołajczak (mkljczkk) (*Czech, Polish, Russian*)
- Marek Ľach (mareklach) (*Polish, Slovak*)
- Ali Demirtaş (alidemirtas) (*Turkish*)
- Blak Ouille (BlakOuille16) (*French*)
- Em St Cenydd (cancennau) (*Welsh*)
- Marek Ľach (mareklach) (*Polish, Slovak*)
- Diluns (*Occitan*)
- Muha Aliss (muhaaliss) (*Turkish*)
- Jurica (ahjk) (*Croatian*)
- Aditoo17 (*Czech*)
- Diluns (*Occitan*)
- gagik_ (*Armenian*)
- vishnuvaratharajan (*Tamil*)
- Marcin Mikołajczak (mkljczkk) (*Czech, Polish, Russian*)
- pulmonarycosignerkindness (*Swedish*)
- cybergene (cyber-gene) (*Japanese*)
- Takeçi (polygoat) (*French, Italian*)
- xatier (*Chinese Traditional*)
- Ihor Hordiichuk (ihor_ck) (*Ukrainian*)
- regulartranslator (*Portuguese, Brazilian*)
- ozzii (*French, Serbian (Cyrillic)*)
- Irfan (Irfan_Radz) (*Malay*)
- Saederup92 (*Danish*)
- Akarshan Biswas (biswasab) (*Bengali, Sanskrit*)
- Yi-Jyun Pan (pan93412) (*Chinese Traditional*)
- Rafael H L Moretti (Moretti) (*Portuguese, Brazilian*)
- d5Ziif3K (*Ukrainian*)
- GiorgioHerbie (*Italian*)
- Rafael H L Moretti (Moretti) (*Portuguese, Brazilian*)
- Saederup92 (*Danish*)
- christalleras (*Norwegian Nynorsk*)
- cybergene (cyber-gene) (*Japanese*)
- Taloran (*Norwegian Nynorsk*)
- ThibG (*French, Icelandic*)
- xatier (*Chinese Traditional*)
- otrapersona (*Spanish, Spanish, Mexico*)
- Store (HelaBasa) (*Sinhala*)
- Mauzi (*German, Swedish*)
- atarashiako (*Chinese Simplified*)
- 101010 (101010pl) (*Polish*)
- erictapen (*German*)
- Tagomago (tagomago) (*French, Spanish*)
- Jaz-Michael King (jazmichaelking) (*Welsh*)
- coxde (*Chinese Simplified*)
- T. E. Kalaycı (tekrei) (*Turkish*)
- silkevicious (*Italian*)
- Floxu (fredrikdim1) (*Norwegian Nynorsk*)
- Ryo (DrRyo) (*Korean*)
- Bertil Hedkvist (Berrahed) (*Swedish*)
- William(ѕ)ⁿ (wmlgr) (*Spanish*)
- norayr (*Armenian*)
- Satnam S Virdi (pika10singh) (*Punjabi*)
- Tiago Epifânio (tfve) (*Portuguese*)
- Ryo (DrRyo) (*Korean*)
- Balázs Meskó (mesko.balazs) (*Hungarian*)
- Sokratis Alichanidis (alichani) (*Greek*)
- Mentor Gashi (mentorgashi.com) (*Albanian*)
- Jaz-Michael King (jazmichaelking) (*Welsh*)
- carolinagiorno (*Portuguese, Brazilian*)
- Hayk Khachatryan (brutusromanus123) (*Armenian*)
- Roby Thomas (roby.thomas) (*Malayalam*)
- Bharat Kumar (Marwari) (*Hindi*)
- Austra Muizniece (aus_m) (*Latvian*)
- ThonyVezbe (*Breton*)
- v4vachan (*Malayalam*)
- dkdarshan760 (*Sanskrit*)
- Tagomago (tagomago) (*French, Spanish*)
- tykayn (*French*)
- axi (*Finnish*)
- Selyan Slimane AMIRI (slimane_AMIRI) (*Kabyle*)
- Balázs Meskó (mesko.balazs) (*Hungarian*)
- Selyan Slimane AMIRI (SelyanKab) (*Kabyle*)
- Timur Seber (seber) (*Tatar*)
- taoxvx (*Danish*)
- Hrach Mkrtchyan (mhrach87) (*Armenian*)
- sabri (thetomatoisavegetable) (*Spanish, Spanish, Argentina*)
- Dewi (Unkorneg) (*French, Breton*)
- Coelacanthus (*Chinese Simplified*)
- CoelacanthusHex (*Chinese Simplified*)
- syncopams (*Chinese Simplified, Chinese Traditional, Chinese Traditional, Hong Kong*)
- Rhys Harrison (rhedders) (*Esperanto*)
- Hakim Oubouali (zenata1) (*Standard Moroccan Tamazight*)
- SteinarK (*Norwegian Nynorsk*)
- Sokratis Alichanidis (alichani) (*Greek*)
- Lalo Tafolla (lalotafo) (*Spanish, Spanish, Mexico*)
- Mathias B. Vagnes (vagnes) (*Norwegian*)
- dashersyed (*Urdu (Pakistan)*)
- Acolyte (666noob404) (*Ukrainian*)
@ -811,104 +858,124 @@ Following people have contributed to translation of Mastodon:
- Damjan Dimitrioski (gnud) (*Macedonian*)
- PPNplus (*Thai*)
- shioko (*Chinese Simplified*)
- v4vachan (*Malayalam*)
- Hakim Oubouali (zenata1) (*Standard Moroccan Tamazight*)
- ZiriSut (*Kabyle*)
- Evgeny Petrov (kondra007) (*Russian*)
- Gwenn (Belvar) (*Breton*)
- StanleyFrew (*French*)
- Hayk Khachatryan (brutusromanus123) (*Armenian*)
- Nikita Epifanov (Nikets) (*Russian*)
- jaranta (*Finnish*)
- Felicia (midsommar) (*Swedish*)
- Slobodan Simić (Слободан Симић) (slsimic) (*Serbian (Cyrillic)*)
- Felicia Jongleur (midsommar) (*Swedish*)
- Denys (dector) (*Ukrainian*)
- iVampireSP (*Chinese Simplified, Chinese Traditional*)
- Pukima (pukimaaa) (*German*)
- 游荡 (MamaShip) (*Chinese Simplified*)
- Vanege (*Esperanto*)
- Rikard Linde (rikardlinde) (*Swedish*)
- Jess Rafn (therealyez) (*Danish*)
- strubbl (*German*)
- Stasiek Michalski (hellcp) (*Polish*)
- dxwc (*Bengali*)
- jmontane (*Catalan*)
- Liboide (*Spanish*)
- Hexandcube (hexandcube) (*Polish*)
- Chris Kay (chriskarasoulis) (*Greek*)
- Johan Schiff (schyffel) (*Swedish*)
- Arunmozhi (tecoholic) (*Tamil*)
- zer0-x (ZER0-X) (*Arabic*)
- kat (katktv) (*Russian, Ukrainian*)
- Rikard Linde (rikardlinde) (*Swedish*)
- Lauren Liberda (selfisekai) (*Polish*)
- mynameismonkey (*Welsh*)
- oti4500 (*Hungarian, Ukrainian*)
- Laura (selfisekai) (*Polish*)
- Rachida S. (ZiriSut) (*Kabyle*)
- Mats Gunnar Ahlqvist (goqbi) (*Swedish*)
- diazepan (*Spanish, Spanish, Argentina*)
- marzuquccen (*Kabyle*)
- Juan José Salvador Piedra (JuanjoSalvador) (*Spanish*)
- VictorCorreia (victorcorreia1984) (*Afrikaans*)
- Tigran (tigransimonyan) (*Armenian*)
- Juan José Salvador Piedra (JuanjoSalvador) (*Spanish*)
- BurekzFinezt (*Serbian (Cyrillic)*)
- SHeija (*Finnish*)
- Gearguy (*Finnish*)
- atriix (*Swedish*)
- Jack R (isaac.97_WT) (*Spanish*)
- antonyho (*Chinese Traditional, Hong Kong*)
- asnomgtu (*Hungarian*)
- ahangarha (*Persian*)
- andruhov (*Russian, Ukrainian*)
- Aryamik Sharma (Aryamik) (*Swedish, Hindi*)
- phena109 (*Chinese Traditional, Hong Kong*)
- Aryamik Sharma (Aryamik) (*Swedish, Hindi*)
- Unmual (*Spanish*)
- 森の子リスのミーコの大冒険 (Phroneris) (*Japanese*)
- るいーね (ruine) (*Japanese*)
- ahangarha (*Persian*)
- Sam Tux (imahbub) (*Bengali*)
- Kristoffer Grundström (Umeaboy) (*Swedish*)
- igordrozniak (*Polish*)
- Unmual (*Spanish*)
- Isaac Huang (caasih) (*Chinese Traditional*)
- AW Unad (awcodify) (*Indonesian*)
- Allen Zhong (AstroProfundis) (*Chinese Simplified*)
- Cutls (cutls) (*Japanese*)
- Ray (Ipsumry) (*Spanish*)
- Falling Snowdin (tghgg) (*Vietnamese*)
- coxde (*Chinese Simplified*)
- Ray (Ipsumry) (*Spanish*)
- Gianfranco Fronteddu (gianfro.gianfro) (*Sardinian*)
- Rasmus Lindroth (RasmusLindroth) (*Swedish*)
- Andrea Lo Iacono (niels0n) (*Italian*)
- Parodper (*Galician*)
- fucsia (*Italian*)
- NadieAishi (*Spanish, Spanish, Mexico*)
- Kinshuk Sunil (kinshuksunil) (*Hindi*)
- Ullas Joseph (ullasjoseph) (*Malayalam*)
- Goudarz Jafari (Goudarz) (*Persian*)
- Yu-Pai Liu (tedliou) (*Chinese Traditional*)
- Amarin Cemthong (acitmaster) (*Thai*)
- Johannes Nilsson (nlssn) (*Swedish*)
- juanda097 (juanda-097) (*Spanish*)
- Anunnakey (*Macedonian*)
- fragola (*Italian*)
- erikkemp (*Dutch*)
- erikstl (*Esperanto*)
- twpenguin (*Chinese Traditional*)
- bobchao (*Chinese Traditional*)
- Esther (esthermations) (*Portuguese*)
- twpenguin (*Chinese Traditional*)
- MadeInSteak (*Finnish*)
- Heimen Stoffels (vistausss) (*Dutch*)
- Esther (esthermations) (*Portuguese*)
- t_aus_m (*German*)
- Heimen Stoffels (Vistaus) (*Dutch*)
- Rajarshi Guha (rajarshiguha) (*Bengali*)
- Andrew (iAndrew3) (*Romanian*)
- Mo_der Steven (SakuraPuare) (*Chinese Simplified*)
- Gopal Sharma (gopalvirat) (*Hindi*)
- arethsu (*Swedish*)
- Tofiq Abdula (Xwla) (*Sorani (Kurdish)*)
- Carlos Solís (csolisr) (*Esperanto*)
- Tofiq Abdula (Xwla) (*Sorani (Kurdish)*)
- Parthan S Ramanujam (parthan) (*Tamil*)
- Kasper Nymand (KasperNymand) (*Danish*)
- Jeff Huang (s8321414) (*Chinese Traditional*)
- TS (morte) (*Finnish*)
- subram (*Turkish*)
- SensDeViata (*Ukrainian*)
- Ptrcmd (ptrcmd) (*Chinese Traditional*)
- SergioFMiranda (*Portuguese, Brazilian*)
- Scvoet (scvoet) (*Chinese Simplified*)
- Percy (scvoet) (*Chinese Simplified*)
- Vivek K J (Vivekkj) (*Malayalam*)
- hiroTS (*Chinese Traditional*)
- johne32rus23 (*Russian*)
- AzureNya (*Chinese Simplified*)
- OctolinGamer (octolingamer) (*Portuguese, Brazilian*)
- Ram varma (ram4varma) (*Tamil*)
- Hexandcube (hexandcube) (*Polish*)
- 北䑓如法 (Nyoho) (*Japanese*)
- Pukima (Pukimaa) (*German*)
- diorama (*Italian*)
- Daniel Dimitrov (daniel.dimitrov) (*Bulgarian*)
- frumble (*German*)
- kekkepikkuni (*Tamil*)
- Neo_Chen (NeoChen1024) (*Chinese Traditional*)
- oorsutri (*Tamil*)
- Rhys Harrison (rhedders) (*Esperanto*)
- Neo_Chen (NeoChen1024) (*Chinese Traditional*)
- Nithin V (Nithin896) (*Tamil*)
- Marcus Myge (mygg-priv) (*Norwegian*)
- Miro Rauhala (mirorauhala) (*Finnish*)
- diorama (*Italian*)
- AlexKoala (alexkoala) (*Korean*)
- ಚಿರಾಗ್ ನಟರಾಜ್ (chiraag-nataraj) (*Kannada*)
- Aswin C (officialcjunior) (*Malayalam*)
- Guillaume Turchini (orion78fr) (*French*)
- Ganesh D (auntgd) (*Marathi*)
- mawoka-myblock (mawoka) (*German*)
- dragnucs2 (*Arabic*)
- Ryan Ho (koungho) (*Chinese Traditional*)
- Pedro Henrique (exploronauta) (*Portuguese, Brazilian*)
@ -916,203 +983,245 @@ Following people have contributed to translation of Mastodon:
- Vasanthan (vasanthan) (*Tamil*)
- 硫酸鶏 (acid_chicken) (*Japanese*)
- clarmin b8 (clarminb8) (*Sorani (Kurdish)*)
- programizer (*German*)
- manukp (*Malayalam*)
- psymyn (*Hebrew*)
- earth dweller (sanethoughtyt) (*Marathi*)
- psymyn (*Hebrew*)
- meijerivoi (toilet) (*Finnish*)
- essaar (*Tamil*)
- serubeena (*Swedish*)
- Karol Kosek (krkkPL) (*Polish*)
- Rintan (*Japanese*)
- valarivan (*Tamil*)
- Karol Kosek (krkkPL) (*Polish*)
- Khó͘ Tiat-lêng (khotiatleng) (*Chinese Traditional, Taigi*)
- Hernik (hernik27) (*Czech*)
- Sebastián Andil (Selrond) (*Slovak*)
- valarivan (*Tamil*)
- kuchengrab (*German*)
- friedbeans (*Croatian*)
- Abi Turi (abi123) (*Georgian*)
- Hinaloe (hinaloe) (*Japanese*)
- filippodb (*Italian*)
- Sebastián Andil (Selrond) (*Slovak*)
- KEINOS (*Japanese*)
- filippodb (*Italian*)
- Asbjørn Olling (a2) (*Danish*)
- Balázs Meskó (meskobalazs) (*Hungarian*)
- Bottle (suryasalem2010) (*Tamil*)
- JzshAC (*Chinese Simplified*)
- Wrya ali (John12) (*Sorani (Kurdish)*)
- Khóo (khootiatling) (*Chinese Traditional*)
- Steven Tappert (sammy8806) (*German*)
- JzshAC (*Chinese Simplified*)
- Antillion (antillion99) (*Spanish*)
- Pukima (Pukimaa) (*German*)
- Steven Tappert (sammy8806) (*German*)
- Reg3xp (*Persian*)
- hiphipvargas (*Portuguese*)
- Wassim EL BOUHAMIDI (elbouhamidiw) (*Arabic*)
- gowthamanb (*Tamil*)
- hiphipvargas (*Portuguese*)
- Ch. (sftblw) (*Korean*)
- Jeff Huang (s8321414) (*Chinese Traditional*)
- Arttu Ylhävuori (arttu.ylhavuori) (*Finnish*)
- tctovsli (*Norwegian Nynorsk*)
- Timo Tijhof (Krinkle) (*Dutch*)
- Mikkel B. Goldschmidt (mikkelbjoern) (*Danish*)
- mecqor labi (mecqorlabi) (*Persian*)
- Odyssey346 (alexader612) (*Norwegian*)
- Yamagishi Kazutoshi (ykzts) (*Japanese, Icelandic, Sorani (Kurdish)*)
- Eban (ebanDev) (*French, Esperanto*)
- vjasiegd (*Polish*)
- SamitiMed (samiti3d) (*Thai*)
- Nícolas Lavinicki (nclavinicki) (*Portuguese, Brazilian*)
- snatcher (*Portuguese, Brazilian*)
- Rekan Adl (rekan-adl1) (*Sorani (Kurdish)*)
- VSx86 (*Russian*)
- umelard (*Hebrew*)
- Antara2Cinta (Se7enTime) (*Indonesian*)
- VSx86 (*Russian*)
- Daniel Dimitrov (danny-dimitrov) (*Bulgarian*)
- parnikkapore (*Thai*)
- mynameismonkey (*Welsh*)
- Sherwan Othman (sherwanothman11) (*Sorani (Kurdish)*)
- Yassine Aït-El-Mouden (yaitelmouden) (*Standard Moroccan Tamazight*)
- SKELET (*Danish*)
- Mo_der Steven (SakuraPuare) (*Chinese Simplified*)
- Fei Yang (Fei1Yang) (*Chinese Traditional*)
- ALEM FARID (faridatcemlulaqbayli) (*Kabyle*)
- Ğani (freegnu) (*Tatar*)
- Renato "Lond" Cerqueira (renatolond) (*Portuguese, Brazilian*)
- enipra (*Armenian*)
- ALEM FARID (faridatcemlulaqbayli) (*Kabyle*)
- musix (*Persian*)
- Renato "Lond" Cerqueira (renatolond) (*Portuguese, Brazilian*)
- ギャラ (gyara) (*Japanese, Chinese Simplified*)
- Hougo (hougo) (*French*)
- ybardapurkar (*Marathi*)
- 亜緯丹穂 (ayiniho) (*Japanese*)
- Adrián Lattes (haztecaso) (*Spanish*)
- Mordi Sacks (MordiSacks) (*Hebrew*)
- Trinsec (*Dutch*)
- Tigran's Tips (tigrank08) (*Armenian*)
- TracyJacks (*Chinese Simplified*)
- Szabolcs Gál (galszabolcs810624) (*Hungarian*)
- Vladislav Săcrieriu (vladislavs14) (*Romanian*)
- danreznik (*Hebrew*)
- rasheedgm (*Kannada*)
- GatoOscuro (*Spanish*)
- mecqor labi (mecqorlabi) (*Persian*)
- omquylzu (*Latvian*)
- c6ristian (*German*)
- Belkacem Mohammed (belkacem77) (*Kabyle*)
- lexxai (*Ukrainian*)
- Navjot Singh (nspeaks) (*Hindi*)
- omquylzu (*Latvian*)
- Ozai (*German*)
- Sahak Petrosyan (petrosyan) (*Armenian*)
- siamano (*Thai, Esperanto*)
- Oymate (*Bengali*)
- Viorel-Cătălin Răpițeanu (rapiteanu) (*Romanian*)
- siamano (*Thai, Esperanto*)
- Siddhartha Sarathi Basu (quinoa_biryani) (*Bengali*)
- Pachara Chantawong (pachara2202) (*Thai*)
- mkljczk (*Polish*)
- Skew (noan.perrot) (*French*)
- Zijian Zhao (jobs2512821228) (*Chinese Simplified*)
- turtle836 (*German*)
- Skew (noan.perrot) (*French*)
- mkljczk (*Polish*)
- Guru Prasath Anandapadmanaban (guruprasath) (*Tamil*)
- Lamin (laminne) (*Japanese*)
- turtle836 (*German*)
- Marcepanek_ (thekingmarcepan) (*Polish*)
- Feruz Oripov (FeruzOripov) (*Russian*)
- Lamin (laminne) (*Japanese*)
- Yann Aguettaz (yann-a) (*French*)
- Feruz Oripov (FeruzOripov) (*Russian*)
- serapolis (*Chinese Simplified, Chinese Traditional*)
- Mick Onio (xgc.redes) (*Asturian*)
- Tianqi Zhang (tina.zhang040609) (*Chinese Simplified*)
- Malik Mann (dermalikmann) (*German*)
- dadosch (*German*)
- r3dsp1 (*Chinese Traditional, Hong Kong*)
- padulafacundo (*Spanish*)
- hg6 (*Hindi*)
- Tianqi Zhang (tina.zhang040609) (*Chinese Simplified*)
- padulafacundo (*Spanish*)
- johannes hove-henriksen (J0hsHH) (*Norwegian*)
- Orlando Murcio (Atos20) (*Spanish, Mexico*)
- Padraic Calpin (padraic-padraic) (*Slovenian*)
- cenegd (*Chinese Simplified*)
- piupiupiudiu (*Chinese Simplified*)
- shdy (*German*)
- Padraic Calpin (padraic-padraic) (*Slovenian*)
- Ильзира Рахматуллина (rahmatullinailzira53) (*Tatar*)
- cenegd (*Chinese Simplified*)
- Hugh Liu (youloveonlymeh) (*Chinese Simplified*)
- Pixelcode (realpixelcode) (*German*)
- Yogesh K S (yogi) (*Kannada*)
- Adithya K (adithyak04) (*Malayalam*)
- Dennis Reimund (reimunddennis7) (*German*)
- Rakino (rakino) (*Chinese Simplified*)
- Miquel Sabaté Solà (mssola) (*Catalan*)
- Michał Sidor (michcioperz) (*Polish*)
- AmazighNM (*Kabyle*)
- Miquel Sabaté Solà (mssola) (*Catalan*)
- Jothipazhani Nagarajan (jothipazhani.n) (*Tamil*)
- Clash Clans (KURD12345) (*Sorani (Kurdish)*)
- hallomaurits (*Dutch*)
- alnd hezh (alndhezh) (*Sorani (Kurdish)*)
- Clash Clans (KURD12345) (*Sorani (Kurdish)*)
- Solid Rhino (SolidRhino) (*Dutch*)
- Metehan Özyürek (MetehanOzyurek) (*Turkish*)
- 林水溶 (shuiRong) (*Chinese Simplified*)
- Sébastien Feugère (smonff) (*French*)
- Y.Yamashiro (uist1idrju3i) (*Japanese*)
- Takeshi Umeda (noellabo) (*Japanese*)
- k_taka (peaceroad) (*Japanese*)
- Hallo Abdullah (hallo_hamza12) (*Sorani (Kurdish)*)
- hussama (*Portuguese, Brazilian*)
- Sébastien Feugère (smonff) (*French*)
- 林水溶 (shuiRong) (*Chinese Simplified*)
- eichkat3r (*German*)
- OminousCry (*Russian*)
- SnDer (*Dutch*)
- Hallo Abdullah (hallo_hamza12) (*Sorani (Kurdish)*)
- Ashok314 (ashok314) (*Hindi*)
- PifyZ (*French*)
- OminousCry (*Russian*)
- Robert Yano (throwcalmbobaway) (*Spanish, Mexico*)
- Tom_ (*Czech*)
- Tagada (Tagadda) (*French*)
- shafouz (*Portuguese, Brazilian*)
- Yasin İsa YILDIRIM (redsfyre) (*Turkish*)
- eichkat3r (*German*)
- SnDer (*Dutch*)
- Kahina Mess (K_hina) (*Kabyle*)
- Nathaël Noguès (NatNgs) (*French*)
- Kk (kishorkumara3) (*Kannada*)
- Swati Sani (swatisani) (*Urdu (Pakistan)*)
- Kk (kishorkumara3) (*Kannada*)
- Daniel M. (daniconil) (*Catalan*)
- Shrinivasan T (tshrinivasan) (*Tamil*)
- さっかりんにーさん (saccharin23) (*Japanese*)
- 夜楓Yoka (Yoka2627) (*Chinese Simplified*)
- Daniel M. (daniconil) (*Catalan*)
- Nathaël Noguès (NatNgs) (*French*)
- さっかりんにーさん (saccharin23) (*Japanese*)
- Rex_sa (rex07) (*Arabic*)
- Robin van der Vliet (RobinvanderVliet) (*Esperanto*)
- Vikatakavi (*Kannada*)
- SusVersiva (*Catalan*)
- Tradjincal (tradjincal) (*French*)
- pullopen (*Chinese Simplified*)
- Robin van der Vliet (RobinvanderVliet) (*Esperanto*)
- SusVersiva (*Catalan*)
- Marvin (magicmarvman) (*German*)
- Zinkokooo (*Basque*)
- mmokhi (*Persian*)
- Livingston Samuel (livingston) (*Tamil*)
- prabhjot (*Hindi*)
- sergioaraujo1 (*Portuguese, Brazilian*)
- CyberAmoeba (pseudoobscura) (*Chinese Simplified*)
- tsundoker (*Malayalam*)
- eorn (*Breton*)
- prabhjot (*Hindi*)
- mmokhi (*Persian*)
- sergioaraujo1 (*Portuguese, Brazilian*)
- Entelekheia-ousia (*Chinese Simplified*)
- Pierre Morvan (Iriep) (*Breton*)
- oscfd (*Spanish*)
- skaaarrr (*German*)
- Ricardo Colin (rysard) (*Spanish*)
- mkljczk (mykylyjczyk) (*Polish*)
- Philipp Fischbeck (PFischbeck) (*German*)
- fedot (*Russian*)
- Paz Galindo (paz.almendra.g) (*Spanish*)
- GaggiX (*Italian*)
- ralozkolya (*Georgian*)
- Ricardo Colin (rysard) (*Spanish*)
- Philipp Fischbeck (PFischbeck) (*German*)
- Zoé Bőle (zoe1337) (*German*)
- EzigboOmenana (*Cornish*)
- GaggiX (*Italian*)
- Lukas Fülling (lfuelling) (*German*)
- JackXu (Merman-Jack) (*Chinese Simplified*)
- Aymeric (AymBroussier) (*French*)
- ralozkolya (*Georgian*)
- Apple (blackteaovo) (*Chinese Simplified*)
- asala4544 (*Basque*)
- Xurxo Guerra (xguerrap) (*Galician*)
- qwerty287 (*German*)
- Anoop (anoopp) (*Malayalam*)
- pezcurrel (*Italian*)
- Samir Tighzert (samir_t7) (*Kabyle*)
- Dremski (*Bulgarian*)
- Xurxo Guerra (xguerrap) (*Galician*)
- Dennis Reimund (reimund_dennis) (*German*)
- ru_mactunnag (*Scottish Gaelic*)
- Nocta (*French*)
- Aymeric (AymBroussier) (*French*)
- mashirozx (*Chinese Simplified*)
- Albatroz Jeremias (albjeremias) (*Portuguese*)
- Samir Tighzert (samir_t7) (*Kabyle*)
- Apple (blackteaovo) (*Chinese Simplified*)
- Nocta (*French*)
- OpenAlgeria (*Arabic*)
- tamaina (*Japanese*)
- Matias Lavik (matiaslavik) (*Norwegian Nynorsk*)
- Amith Raj Shetty (amithraj1989) (*Kannada*)
- abidin toumi (Zet24) (*Arabic*)
- mikel (mikelalas) (*Spanish*)
- OpenAlgeria (*Arabic*)
- random_person (*Spanish*)
- Sais Lakshmanan (Saislakshmanan) (*Tamil*)
- Trond Boksasp (boksasp) (*Norwegian*)
- xpac1985 (xpac) (*German*)
- Kaede (kaedech) (*Japanese*)
- ÀŘǾŚ PÀŚĦÀÍ (arospashai) (*Sorani (Kurdish)*)
- Matias Lavik (matiaslavik) (*Norwegian Nynorsk*)
- Zlr- (cZeler) (*French*)
- Mohammad Adnan Mahmood (adnanmig) (*Arabic*)
- mimikun (*Japanese*)
- smedvedev (*Russian*)
- mikel (mikelalas) (*Spanish*)
- asretro (*Chinese Traditional, Hong Kong*)
- tamaina (*Japanese*)
- Aman Alam (aalam) (*Punjabi*)
- ÀŘǾŚ PÀŚĦÀÍ (arospashai) (*Sorani (Kurdish)*)
- Kaede (kaedech) (*Japanese*)
- Doug (douglasalvespe) (*Portuguese, Brazilian*)
- Trond Boksasp (boksasp) (*Norwegian*)
- Fleva (*Sardinian*)
- Mohammad Adnan Mahmood (adnanmig) (*Arabic*)
- Sais Lakshmanan (Saislakshmanan) (*Tamil*)
- Amith Raj Shetty (amithraj1989) (*Kannada*)
- random_person (*Spanish*)
- Abijeet Patro (Abijeet) (*Basque*)
- SamOak (*Portuguese, Brazilian*)
- Aries (orlea) (*Japanese*)
- Bartek Fijałkowski (brateq) (*Polish*)
- NeverMine17 (*Russian*)
- Brodi (brodi1) (*Dutch*)
- Ács Zoltán (zoli111) (*Hungarian*)
- capiscuas (*Spanish*)
- Benjamin Cobb (benjamincobb) (*German*)
- djoerd (*Dutch*)
- waweic (*German*)
- Amir Kurdo (kuraking202) (*Sorani (Kurdish)*)
- dobrado (*Portuguese, Brazilian*)
- Baban Abdulrahman (baban.abdulrehman) (*Sorani (Kurdish)*)
- ebrezhoneg (*Breton*)
- dashty (*Sorani (Kurdish)*)
- dcapillae (*Spanish*)
- Azad ahmad (dashty) (*Sorani (Kurdish)*)
- Salh_haji6 (*Sorani (Kurdish)*)
- Amir Kurdo (kuraking202) (*Sorani (Kurdish)*)
- おさ (osapon) (*Japanese*)
- Ranj A Abdulqadir (RanjAhmed) (*Sorani (Kurdish)*)
- umonaca (*Chinese Simplified*)
- Bartek Fijałkowski (brateq) (*Polish*)
- tateisu (*Japanese*)
- centumix (*Japanese*)
- Jari Ronkainen (ronchaine) (*Finnish*)
- Savarín Electrográfico Marmota Intergalactica (herrero.maty) (*Spanish*)
- Torsten Högel (torstenhoegel) (*German*)
- Abijeet Patro (Abijeet) (*Basque*)
- Ács Zoltán (acszoltan111) (*Hungarian*)
- Benjamin Cobb (benjamincobb) (*German*)
- waweic (*German*)
- Aries (orlea) (*Japanese*)
- ebrezhoneg (*Breton*)
- 于晚霞 (xissshawww) (*Chinese Simplified*)
- silverscat_3 (SilversCat) (*Japanese*)
- centumix (*Japanese*)
- umonaca (*Chinese Simplified*)
- Ni Futchi (futchitwo) (*Japanese*)
- おさ (osapon) (*Japanese*)
- kavitha129 (*Tamil*)
- dcapillae (*Spanish*)
- SamOak (*Portuguese, Brazilian*)
- capiscuas (*Spanish*)
- NeverMine17 (*Russian*)
- Nithya Mary (nithyamary25) (*Tamil*)
- t_aus_m (*German*)
- dobrado (*Portuguese, Brazilian*)
- Hannah (Aniqueper1) (*Chinese Simplified*)
- Jiniux (*Italian*)
- 于晚霞 (xissshawww) (*Chinese Simplified*)
- Jari Ronkainen (ronchaine) (*Finnish*)
- Nithya Mary (nithyamary25) (*Tamil*)

2
CHANGELOG.md

@ -3,7 +3,7 @@ Changelog
All notable changes to this project will be documented in this file.
## Unreleased
## [3.4.0] - 2021-05-16
### Added
- **Add follow recommendations for onboarding** ([Gargron](https://github.com/tootsuite/mastodon/pull/15945), [Gargron](https://github.com/tootsuite/mastodon/pull/16161), [Gargron](https://github.com/tootsuite/mastodon/pull/16060), [Gargron](https://github.com/tootsuite/mastodon/pull/16077), [Gargron](https://github.com/tootsuite/mastodon/pull/16078), [Gargron](https://github.com/tootsuite/mastodon/pull/16160), [Gargron](https://github.com/tootsuite/mastodon/pull/16079), [noellabo](https://github.com/tootsuite/mastodon/pull/16044), [noellabo](https://github.com/tootsuite/mastodon/pull/16045), [Gargron](https://github.com/tootsuite/mastodon/pull/16152), [Gargron](https://github.com/tootsuite/mastodon/pull/16153), [ClearlyClaire](https://github.com/tootsuite/mastodon/pull/16082), [ClearlyClaire](https://github.com/tootsuite/mastodon/pull/16173), [ClearlyClaire](https://github.com/tootsuite/mastodon/pull/16159), [ClearlyClaire](https://github.com/tootsuite/mastodon/pull/16189))

12
CONTRIBUTING.md

@ -58,9 +58,17 @@ You can submit translations via [Crowdin](https://crowdin.com/project/mastodon).
## Pull requests
Please use clean, concise titles for your pull requests. We use commit squashing, so the final commit in the master branch will carry the title of the pull request.
**Please use clean, concise titles for your pull requests.** Unless the pull request is about refactoring code, updating dependencies or other internal tasks, assume that the person reading the pull request title is not a programmer or Mastodon developer, but instead a Mastodon user or server administrator, and **try to describe your change or fix from their perspective**. We use commit squashing, so the final commit in the main branch will carry the title of the pull request, and commits from the main branch are fed into the changelog. The changelog is separated into [keepachangelog.com categories](https://keepachangelog.com/en/1.0.0/), and while that spec does not prescribe how the entries ought to be named, for easier sorting, start your pull request titles using one of the verbs "Add", "Change", "Deprecate", "Remove", or "Fix" (present tense).
The smaller the set of changes in the pull request is, the quicker it can be reviewed and merged. Splitting tasks into multiple smaller pull requests is often preferable.
Example:
|Not ideal|Better|
|---|----|
|Fixed NoMethodError in RemovalWorker|Fix nil error when removing statuses caused by race condition|
It is not always possible to phrase every change in such a manner, but it is desired.
**The smaller the set of changes in the pull request is, the quicker it can be reviewed and merged.** Splitting tasks into multiple smaller pull requests is often preferable.
**Pull requests that do not pass automated checks may not be reviewed**. In particular, you need to keep in mind:

5
SECURITY.md

@ -4,8 +4,9 @@
| Version | Supported |
| ------- | ------------------ |
| 3.1.x | :white_check_mark: |
| < 3.1 | :x: |
| 3.4.x | :white_check_mark: |
| 3.3.x | :white_check_mark: |
| < 3.3 | :x: |
## Reporting a Vulnerability

2
Vagrantfile

@ -12,7 +12,7 @@ curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
sudo apt-add-repository 'deb https://dl.yarnpkg.com/debian/ stable main'
# Add repo for NodeJS
curl -sL https://deb.nodesource.com/setup_10.x | sudo bash -
curl -sL https://deb.nodesource.com/setup_12.x | sudo bash -
# Add firewall rule to redirect 80 to PORT and save
sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port #{ENV["PORT"]}

4
app/javascript/mastodon/locales/ca.json

@ -22,7 +22,7 @@
"account.follows.empty": "Aquest usuari encara no segueix a ningú.",
"account.follows_you": "Et segueix",
"account.hide_reblogs": "Amaga els impulsos de @{name}",
"account.joined": "Joined {date}",
"account.joined": "Unit des de {date}",
"account.last_status": "Darrer actiu",
"account.link_verified_on": "La propietat d'aquest enllaç es va verificar el dia {date}",
"account.locked_info": "Aquest estat de privadesa del compte està definit com a bloquejat. El propietari revisa manualment qui pot seguir-lo.",
@ -160,7 +160,7 @@
"empty_column.domain_blocks": "Encara no hi ha dominis ocults.",
"empty_column.favourited_statuses": "Encara no has marcat com a favorit cap tut. Quan en facis, apareixerà aquí.",
"empty_column.favourites": "Ningú no ha marcat aquest tut com a preferit encara. Quan algú ho faci, apareixerà aquí.",
"empty_column.follow_recommendations": "Looks like no suggestions could be generated for you. You can try using search to look for people you might know or explore trending hashtags.",
"empty_column.follow_recommendations": "Sembla que no es poden generar sugerencies per a tu. Pots provar d'emprar la cerca per a trobar gent que voldries conèixer o explorar les etiquetes en tendència.",
"empty_column.follow_requests": "Encara no tens cap petició de seguiment. Quan rebis una, apareixerà aquí.",
"empty_column.hashtag": "Encara no hi ha res en aquesta etiqueta.",
"empty_column.home": "Encara no segueixes ningú. Visita {public} o fes cerca per començar i conèixer altres usuaris.",

2
app/javascript/mastodon/locales/co.json

@ -160,7 +160,7 @@
"empty_column.domain_blocks": "Ùn c'hè manc'un duminiu bluccatu avà.",
"empty_column.favourited_statuses": "Ùn avete manc'unu statutu favuritu. Quandu aghjunghjerate unu à i vostri favuriti, sarà mustratu quì.",
"empty_column.favourites": "Nisunu hà aghjuntu stu statutu à i so favuriti. Quandu qualch'unu farà quessa, u so contu sarà mustratu quì.",
"empty_column.follow_recommendations": "Looks like no suggestions could be generated for you. You can try using search to look for people you might know or explore trending hashtags.",
"empty_column.follow_recommendations": "Si pare ch'ùn s'hè micca pussutu generà e ricumandazione per voi. Pudete sempre pruvà d'utilizà a ricerca per truvà ghjente chì cunnuscete, o splurà l'hashtag in tindenza.",
"empty_column.follow_requests": "Ùn avete manc'una dumanda d'abbunamentu. Quandu averete una, sarà mustrata quì.",
"empty_column.hashtag": "Ùn c'hè ancu nunda quì.",
"empty_column.home": "A vostr'accolta hè viota! Pudete andà nant'à {public} o pruvà a ricerca per truvà parsone da siguità.",

216
app/javascript/mastodon/locales/cs.json

@ -3,14 +3,14 @@
"account.add_or_remove_from_list": "Přidat nebo odstranit ze seznamů",
"account.badges.bot": "Robot",
"account.badges.group": "Skupina",
"account.block": "Zablokovat uživatele @{name}",
"account.block_domain": "Skrýt vše ze serveru {domain}",
"account.block": "Zablokovat @{name}",
"account.block_domain": "Blokovat doménu {domain}",
"account.blocked": "Blokováno",
"account.browse_more_on_origin_server": "Více na původním profilu",
"account.cancel_follow_request": "Zrušit žádost o sledování",
"account.direct": "Poslat uživateli @{name} přímou zprávu",
"account.direct": "Poslat @{name} přímou zprávu",
"account.disable_notifications": "Zrušit upozorňování na příspěvky @{name}",
"account.domain_blocked": "Doména skryta",
"account.domain_blocked": "Doména blokována",
"account.edit_profile": "Upravit profil",
"account.enable_notifications": "Oznámit mě na příspěvky @{name}",
"account.endorse": "Zvýraznit na profilu",
@ -21,32 +21,32 @@
"account.following_counter": "{count, plural, one {{counter} Sledovaný} few {{counter} Sledovaní} many {{counter} Sledovaných} other {{counter} Sledovaných}}",
"account.follows.empty": "Tento uživatel ještě nikoho nesleduje.",
"account.follows_you": "Sleduje vás",
"account.hide_reblogs": "Skrýt boosty od uživatele @{name}",
"account.hide_reblogs": "Skrýt boosty od @{name}",
"account.joined": "Založen {date}",
"account.last_status": "Naposledy aktivní",
"account.link_verified_on": "Vlastnictví tohoto odkazu bylo zkontrolováno {date}",
"account.locked_info": "Stav soukromí tohoto účtu je nastaven na zamčeno. Jeho vlastník ručně posuzuje, kdo ho může sledovat.",
"account.media": "Média",
"account.mention": "Zmínit uživatele @{name}",
"account.mention": "Zmínit @{name}",
"account.moved_to": "Uživatel {name} se přesunul na:",
"account.mute": "Skrýt uživatele @{name}",
"account.mute_notifications": "Skrýt oznámení od uživatele @{name}",
"account.muted": "Uživatel skryt",
"account.mute": "Skrýt @{name}",
"account.mute_notifications": "Skrýt oznámení od @{name}",
"account.muted": "Účet skryt",
"account.never_active": "Nikdy",
"account.posts": "Tooty",
"account.posts_with_replies": "Tooty a odpovědi",
"account.report": "Nahlásit uživatele @{name}",
"account.posts": "Příspěvky",
"account.posts_with_replies": "Příspěvky a odpovědi",
"account.report": "Nahlásit @{name}",
"account.requested": "Čeká na schválení. Kliknutím žádost o sledování zrušíte",
"account.share": "Sdílet profil uživatele @{name}",
"account.show_reblogs": "Zobrazit boosty od uživatele @{name}",
"account.statuses_counter": "{count, plural, one {{counter} Toot} few {{counter} Tooty} many {{counter} Tootů} other {{counter} Tootů}}",
"account.unblock": "Odblokovat uživatele @{name}",
"account.unblock_domain": "Odkrýt doménu {domain}",
"account.show_reblogs": "Zobrazit boosty od @{name}",
"account.statuses_counter": "{count, plural, one {{counter} Příspěvek} few {{counter} Příspěvky} many {{counter} Příspěvků} other {{counter} Příspěvků}}",
"account.unblock": "Odblokovat @{name}",
"account.unblock_domain": "Odblokovat doménu {domain}",
"account.unendorse": "Nezvýrazňovat na profilu",
"account.unfollow": "Přestat sledovat",
"account.unmute": "Odkrýt uživatele @{name}",
"account.unmute_notifications": "Odkrýt oznámení od uživatele @{name}",
"account_note.placeholder": "Click to add a note",
"account.unmute": "Zrušit skrytí @{name}",
"account.unmute_notifications": "Zrušit skrytí oznámení od @{name}",
"account_note.placeholder": "Klikněte pro přidání poznámky",
"alert.rate_limited.message": "Zkuste to prosím znovu za {retry_time, time, medium}.",
"alert.rate_limited.title": "Rychlost omezena",
"alert.unexpected.message": "Objevila se neočekávaná chyba.",
@ -65,14 +65,14 @@
"column.community": "Místní časová osa",
"column.direct": "Přímé zprávy",
"column.directory": "Prozkoumat profily",
"column.domain_blocks": "Skryté domény",
"column.domain_blocks": "Blokované domény",
"column.favourites": "Oblíbené",
"column.follow_requests": "Žádosti o sledování",
"column.home": "Domů",
"column.lists": "Seznamy",
"column.mutes": "Skrytí uživatelé",
"column.notifications": "Oznámení",
"column.pins": "Připnuté tooty",
"column.pins": "Připnuté příspěvky",
"column.public": "Federovaná časová osa",
"column_back_button.label": "Zpět",
"column_header.hide_settings": "Skrýt nastavení",
@ -85,9 +85,9 @@
"community.column_settings.local_only": "Pouze místní",
"community.column_settings.media_only": "Pouze média",
"community.column_settings.remote_only": "Pouze vzdálené",
"compose_form.direct_message_warning": "Tento toot bude odeslán pouze zmíněným uživatelům.",
"compose_form.direct_message_warning": "Tento příspěvek bude odeslán pouze zmíněným uživatelům.",
"compose_form.direct_message_warning_learn_more": "Zjistit více",
"compose_form.hashtag_warning": "Tento toot nebude zobrazen pod žádným hashtagem, neboť je neuvedený. Pouze veřejné tooty mohou být vyhledány podle hashtagu.",
"compose_form.hashtag_warning": "Tento příspěvek nebude zobrazen pod žádným hashtagem, neboť je neuvedený. Pouze veřejné příspěvky mohou být vyhledány podle hashtagu.",
"compose_form.lock_disclaimer": "Váš účet není {locked}. Kdokoliv vás může sledovat a vidět vaše příspěvky učené pouze pro sledující.",
"compose_form.lock_disclaimer.lock": "uzamčen",
"compose_form.placeholder": "Co se vám honí hlavou?",
@ -97,35 +97,35 @@
"compose_form.poll.remove_option": "Odstranit tuto volbu",
"compose_form.poll.switch_to_multiple": "Povolit u ankety výběr více možností",
"compose_form.poll.switch_to_single": "Povolit u ankety výběr jediné možnosti",
"compose_form.publish": "Tootnout",
"compose_form.publish": "Odeslat",
"compose_form.publish_loud": "{publish}!",
"compose_form.sensitive.hide": "Označit média jako citlivá",
"compose_form.sensitive.marked": "Média jsou označena jako citlivá",
"compose_form.sensitive.unmarked": "Média nejsou označena jako citlivá",
"compose_form.spoiler.marked": "Text je skrytý za varováním",
"compose_form.spoiler.unmarked": "Text není skrytý",
"compose_form.sensitive.hide": "{count, plural, one {Označit média za citlivá} few {Označit média za citlivá} many {Označit média za citlivá} other {Označit média za citlivá}}",
"compose_form.sensitive.marked": "{count, plural, one {Média jsou označena za citlivá} few {Média jsou označena za citlivá} many {Média jsou označena za citlivá} other {Média jsou označena za citlivá}}",
"compose_form.sensitive.unmarked": "{count, plural, one {Média nejsou označena za citlivá} few {Média nejsou označena za citlivá} many {Média nejsou označena za citlivá} other {Média nejsou označena za citlivá}}",
"compose_form.spoiler.marked": "Odstranit varování o obsahu",
"compose_form.spoiler.unmarked": "Přidat varování o obsahu",
"compose_form.spoiler_placeholder": "Sem napište vaše varování",
"confirmation_modal.cancel": "Zrušit",
"confirmations.block.block_and_report": "Blokovat a nahlásit",
"confirmations.block.confirm": "Blokovat",
"confirmations.block.message": "Opravdu chcete zablokovat uživatele {name}?",
"confirmations.block.message": "Opravdu chcete zablokovat {name}?",
"confirmations.delete.confirm": "Smazat",
"confirmations.delete.message": "Opravdu chcete smazat tento toot?",
"confirmations.delete.message": "Opravdu chcete smazat tento příspěvek?",
"confirmations.delete_list.confirm": "Smazat",
"confirmations.delete_list.message": "Opravdu chcete tento seznam navždy smazat?",
"confirmations.domain_block.confirm": "Skrýt celou doménu",
"confirmations.domain_block.confirm": "Blokovat celou doménu",
"confirmations.domain_block.message": "Opravdu chcete blokovat celou doménu {domain}? Ve většině případů stačí zablokovat nebo skrýt pár konkrétních uživatelů, což také doporučujeme. Z této domény neuvidíte obsah v žádné veřejné časové ose ani v oznámeních. Vaši sledující z této domény budou odstraněni.",
"confirmations.logout.confirm": "Odhlásit",
"confirmations.logout.message": "Opravdu se chcete odhlásit?",
"confirmations.mute.confirm": "Skrýt",
"confirmations.mute.explanation": "Tohle skryje uživatelovi příspěvky a příspěvky, které ho zmiňují, ale uživatel stále uvidí vaše příspěvky a může vás sledovat.",
"confirmations.mute.message": "Opravdu chcete uživatele {name} skrýt?",
"confirmations.mute.message": "Opravdu chcete {name} skrýt?",
"confirmations.redraft.confirm": "Smazat a přepsat",
"confirmations.redraft.message": "Jste si jistý/á, že chcete smazat a přepsat tento toot? Oblíbení a boosty budou ztraceny a odpovědi na původní příspěvek budou opuštěny.",
"confirmations.redraft.message": "Jste si jistí, že chcete smazat a přepsat tento příspěvek? Oblíbení a boosty budou ztraceny a odpovědi na původní příspěvek ztratí kontext.",
"confirmations.reply.confirm": "Odpovědět",
"confirmations.reply.message": "Odpověď přepíše vaši rozepsanou zprávu. Opravdu chcete pokračovat?",
"confirmations.unfollow.confirm": "Přestat sledovat",
"confirmations.unfollow.message": "Opravdu chcete uživatele {name} přestat sledovat?",
"confirmations.unfollow.message": "Opravdu chcete {name} přestat sledovat?",
"conversation.delete": "Smazat konverzaci",
"conversation.mark_as_read": "Označit jako přečtenou",
"conversation.open": "Zobrazit konverzaci",
@ -134,7 +134,7 @@
"directory.local": "Pouze z domény {domain}",
"directory.new_arrivals": "Nově příchozí",
"directory.recently_active": "Nedávno aktivní",
"embed.instructions": "Pro přidání tootu na vaši webovou stránku zkopírujte níže uvedený kód.",
"embed.instructions": "Pro přidání příspěvku na vaši webovou stránku zkopírujte níže uvedený kód.",
"embed.preview": "Takhle to bude vypadat:",
"emoji_button.activity": "Aktivita",
"emoji_button.custom": "Vlastní",
@ -151,24 +151,24 @@
"emoji_button.symbols": "Symboly",
"emoji_button.travel": "Cestování a místa",
"empty_column.account_suspended": "Účet pozastaven",
"empty_column.account_timeline": "Nejsou tu žádné tooty!",
"empty_column.account_timeline": "Nejsou tu žádné příspěvky!",
"empty_column.account_unavailable": "Profil nedostupný",
"empty_column.blocks": "Ještě jste nezablokovali žádného uživatele.",
"empty_column.bookmarked_statuses": "Ještě nemáte v záložkách žádné tooty. Pokud si do nich nějaký přidáte, zobrazí se zde.",
"empty_column.bookmarked_statuses": "Ještě nemáte v záložkách žádné příspěvky. Pokud si do nich nějaký přidáte, zobrazí se zde.",
"empty_column.community": "Místní časová osa je prázdná. Napište něco veřejně a rozhýbejte to tu!",
"empty_column.direct": "Ještě nemáte žádné přímé zprávy. Pokud nějakou pošlete nebo dostanete, zobrazí se zde.",
"empty_column.domain_blocks": "Ještě nemáte žádné skryté domény.",
"empty_column.favourited_statuses": "Ještě nemáte žádné oblíbené tooty. Pokud si nějaký oblíbíte, zobrazí se zde.",
"empty_column.favourites": "Tento toot si ještě nikdo neoblíbil. Pokud to někdo udělá, zobrazí se zde.",
"empty_column.domain_blocks": "Ještě nemáte žádné blokované domény.",
"empty_column.favourited_statuses": "Ještě nemáte žádné oblíbené příspěvky. Pokud si nějaký oblíbíte, zobrazí se zde.",
"empty_column.favourites": "Tento příspěvek si ještě nikdo neoblíbil. Pokud to někdo udělá, zobrazí se zde.",
"empty_column.follow_recommendations": "Zdá se, že pro vás nelze vygenerovat žádné návrhy. Můžete zkusit přes vyhledávání naleznout lidi, které znáte, nebo prozkoumat populární hashtagy.",
"empty_column.follow_requests": "Ještě nemáte žádné žádosti o sledování. Pokud nějakou obdržíte, zobrazí se zde.",
"empty_column.hashtag": "Pod tímto hashtagem ještě nic není.",
"empty_column.home": "Vaše domovská časová osa je prázdná! Naplňte ji sledováním dalších lidí. {suggestions}",
"empty_column.home.suggestions": "Prohlédnout návrhy",
"empty_column.list": "V tomto seznamu ještě nic není. Pokud nějaký člen z tohoto seznamu napíše nový toot, objeví se zde.",
"empty_column.list": "V tomto seznamu ještě nic není. Pokud nějaký člen z tohoto seznamu napíše nový příspěvek, objeví se zde.",
"empty_column.lists": "Ještě nemáte žádný seznam. Pokud nějaký vytvoříte, zobrazí se zde.",
"empty_column.mutes": "Ještě jste neskryli žádného uživatele.",
"empty_column.notifications": "Ještě nemáte žádná oznámení. Začněte s někým konverzaci.",
"empty_column.notifications": "Momentálně nemáte žádná oznámení. Jakmile s vámi někdo bude interagovat, uvidíte to zde.",
"empty_column.public": "Tady nic není! Napište něco veřejně, nebo začněte ručně sledovat uživatele z jiných serverů, aby tu něco přibylo",
"error.unexpected_crash.explanation": "Kvůli chybě v našem kódu nebo problému s kompatibilitou prohlížeče nemohla být tato stránka načtena správně.",
"error.unexpected_crash.explanation_addons": "Tuto stránku nelze správně zobrazit. Takovou chybu obvykle způsobuje doplněk prohlížeče nebo nástroje pro automatický překlad.",
@ -208,40 +208,40 @@
"intervals.full.days": "{number, plural, one {# den} few {# dny} many {# dní} other {# dní}}",
"intervals.full.hours": "{number, plural, one {# hodina} few {# hodiny} many {# hodin} other {# hodin}}",
"intervals.full.minutes": "{number, plural, one {# minuta} few {# minuty} many {# minut} other {# minut}}",
"keyboard_shortcuts.back": "návrat zpět",
"keyboard_shortcuts.blocked": "otevřít seznam blokovaných uživatelů",
"keyboard_shortcuts.boost": "boost",
"keyboard_shortcuts.column": "zaměření na toot v jednom ze sloupců",
"keyboard_shortcuts.compose": "zaměření na oblast pro psaní",
"keyboard_shortcuts.back": "Přejít zpět",
"keyboard_shortcuts.blocked": "Otevřít seznam blokovaných uživatelů",
"keyboard_shortcuts.boost": "Boostnout příspěvek",
"keyboard_shortcuts.column": "Focus na sloupec",
"keyboard_shortcuts.compose": "Focus na textové pole nového příspěvku",
"keyboard_shortcuts.description": "Popis",
"keyboard_shortcuts.direct": "otevření sloupce s přímými zprávami",
"keyboard_shortcuts.down": "posunutí dolů v seznamu",
"keyboard_shortcuts.enter": "otevření tootu",
"keyboard_shortcuts.favourite": "oblíbení",
"keyboard_shortcuts.favourites": "otevření seznamu oblíbených",
"keyboard_shortcuts.federated": "otevření federované časové osy",
"keyboard_shortcuts.direct": "Otevřít sloupec přímých zpráv",
"keyboard_shortcuts.down": "Posunout dolů v seznamu",
"keyboard_shortcuts.enter": "Otevřít příspěvek",
"keyboard_shortcuts.favourite": "Oblíbit příspěvek",
"keyboard_shortcuts.favourites": "Otevřít seznam oblíbených",
"keyboard_shortcuts.federated": "Otevřít federovanou časovou osu",
"keyboard_shortcuts.heading": "Klávesové zkratky",
"keyboard_shortcuts.home": "otevření domovské časové osy",
"keyboard_shortcuts.home": "Otevřít domovskou časovou osu",
"keyboard_shortcuts.hotkey": "Klávesová zkratka",
"keyboard_shortcuts.legend": "zobrazení této legendy",
"keyboard_shortcuts.local": "otevření místní časové osy",
"keyboard_shortcuts.mention": "zmínění autora",
"keyboard_shortcuts.muted": "otevření seznamu skrytých uživatelů",
"keyboard_shortcuts.my_profile": "otevření vašeho profilu",
"keyboard_shortcuts.notifications": "otevření sloupce s oznámeními",
"keyboard_shortcuts.open_media": "otevření médií",
"keyboard_shortcuts.pinned": "otevření seznamu připnutých tootů",
"keyboard_shortcuts.profile": "otevření autorova profilu",
"keyboard_shortcuts.reply": "odpovědět",
"keyboard_shortcuts.requests": "otevření seznamu požadavků o sledování",
"keyboard_shortcuts.search": "zaměření na hledání",
"keyboard_shortcuts.spoilers": "zobrazit/skrýt pole CW",
"keyboard_shortcuts.start": "otevření sloupce „začínáme“",
"keyboard_shortcuts.toggle_hidden": "zobrazení/skrytí textu za varováním o obsahu",
"keyboard_shortcuts.toggle_sensitivity": "zobrazení/skrytí médií",
"keyboard_shortcuts.toot": "napsání úplně nového tootu",
"keyboard_shortcuts.unfocus": "zrušení zaměření na psací prostor/hledání",
"keyboard_shortcuts.up": "posunutí nahoru v seznamu",
"keyboard_shortcuts.legend": "Zobrazit tuto legendu",
"keyboard_shortcuts.local": "Otevřít místní časovou osu",
"keyboard_shortcuts.mention": "Zmínit autora",
"keyboard_shortcuts.muted": "Otevřít seznam skrytých uživatelů",
"keyboard_shortcuts.my_profile": "Otevřít váš profil",
"keyboard_shortcuts.notifications": "Otevřít sloupec oznámení",
"keyboard_shortcuts.open_media": "Otevřít media",
"keyboard_shortcuts.pinned": "Otevřít seznam připnutých příspěvků",
"keyboard_shortcuts.profile": "Otevřít autorův profil",
"keyboard_shortcuts.reply": "Odpovědět na příspěvek",
"keyboard_shortcuts.requests": "Otevřít seznam žádostí o sledování",
"keyboard_shortcuts.search": "Focus na vyhledávací lištu",
"keyboard_shortcuts.spoilers": "Zobrazit/skrýt pole varování o obsahu",
"keyboard_shortcuts.start": "Otevřít sloupec „začínáme“",
"keyboard_shortcuts.toggle_hidden": "Zobrazit/skrýt text za varováním o obsahu",
"keyboard_shortcuts.toggle_sensitivity": "Zobrazit/skrýt média",
"keyboard_shortcuts.toot": "Začít nový příspěvek",
"keyboard_shortcuts.unfocus": "Zrušit focus nového příspěvku/hledání",
"keyboard_shortcuts.up": "Posunout nahoru v seznamu",
"lightbox.close": "Zavřít",
"lightbox.compress": "Zobrazit celý obrázek najednou",
"lightbox.expand": "Ukázat obrázek v plné velikosti",
@ -262,7 +262,7 @@
"lists.subheading": "Vaše seznamy",
"load_pending": "{count, plural, one {# nová položka} few {# nové položky} many {# nových položek} other {# nových položek}}",
"loading_indicator.label": "Načítání…",
"media_gallery.toggle_visible": "Přepnout viditelnost",
"media_gallery.toggle_visible": "{number, plural, one {Skrýt obrázek} few {Skrýt obrázky} many {Skrýt obrázky} other {Skrýt obrázky}}",
"missing_indicator.label": "Nenalezeno",
"missing_indicator.sublabel": "Tento zdroj se nepodařilo najít",
"mute_modal.duration": "Trvání",
@ -272,10 +272,10 @@
"navigation_bar.blocks": "Blokovaní uživatelé",
"navigation_bar.bookmarks": "Záložky",
"navigation_bar.community_timeline": "Místní časová osa",
"navigation_bar.compose": "Vytvořit nový toot",
"navigation_bar.compose": "Vytvořit nový příspěvek",
"navigation_bar.direct": "Přímé zprávy",
"navigation_bar.discover": "Objevujte",
"navigation_bar.domain_blocks": "Skryté domény",
"navigation_bar.domain_blocks": "Blokované domény",
"navigation_bar.edit_profile": "Upravit profil",
"navigation_bar.favourites": "Oblíbené",
"navigation_bar.filters": "Skrytá slova",
@ -287,18 +287,18 @@
"navigation_bar.logout": "Odhlásit",
"navigation_bar.mutes": "Skrytí uživatelé",
"navigation_bar.personal": "Osobní",
"navigation_bar.pins": "Připnuté tooty",
"navigation_bar.pins": "Připnuté příspěvky",
"navigation_bar.preferences": "Předvolby",
"navigation_bar.public_timeline": "Federovaná časová osa",
"navigation_bar.security": "Zabezpečení",
"notification.favourite": "Uživatel {name} si oblíbil váš toot",
"notification.favourite": "Uživatel {name} si oblíbil váš příspěvek",
"notification.follow": "Uživatel {name} vás začal sledovat",
"notification.follow_request": "Uživatel {name} požádal o povolení vás sledovat",
"notification.mention": "Uživatel {name} vás zmínil",
"notification.own_poll": "Vaše anketa skončila",
"notification.poll": "Anketa, ve které jste hlasovali, skončila",
"notification.reblog": "Uživatel {name} boostnul váš toot",
"notification.status": "Nový toot od {name}",
"notification.reblog": "Uživatel {name} boostnul váš příspěvek",
"notification.status": "Nový příspěvek od {name}",
"notifications.clear": "Smazat oznámení",
"notifications.clear_confirmation": "Opravdu chcete trvale smazat všechna vaše oznámení?",
"notifications.column_settings.alert": "Oznámení na počítači",
@ -314,7 +314,7 @@
"notifications.column_settings.reblog": "Boosty:",
"notifications.column_settings.show": "Zobrazit ve sloupci",
"notifications.column_settings.sound": "Přehrát zvuk",
"notifications.column_settings.status": "Nové tooty:",
"notifications.column_settings.status": "Nové příspěvky:",
"notifications.column_settings.unread_markers.category": "Značky nepřečtených oznámení",
"notifications.filter.all": "Vše",
"notifications.filter.boosts": "Boosty",
@ -341,14 +341,14 @@
"poll.voted": "Pro tuto odpověď jste hlasovali",
"poll_button.add_poll": "Přidat anketu",
"poll_button.remove_poll": "Odstranit anketu",
"privacy.change": "Změnit soukromí tootu",
"privacy.direct.long": "Odeslat pouze zmíněným uživatelům",
"privacy.change": "Změnit soukromí příspěvku",
"privacy.direct.long": "Viditelné pouze pro zmíněné uživatele",
"privacy.direct.short": "Přímý",
"privacy.private.long": "Odeslat pouze sledujícím",
"privacy.private.long": "Viditelné pouze pro sledující",
"privacy.private.short": "Pouze pro sledující",
"privacy.public.long": "Odeslat na veřejné časové osy",
"privacy.public.long": "Viditelné pro všechny, i ve veřejných časových osách",
"privacy.public.short": "Veřejný",
"privacy.unlisted.long": "Neodesílat na veřejné časové osy",
"privacy.unlisted.long": "Viditelné pro všechny, ale ne ve veřejných časových osách",
"privacy.unlisted.short": "Neuvedený",
"refresh": "Obnovit",
"regeneration_indicator.label": "Načítání…",
@ -361,55 +361,55 @@
"relative_time.today": "dnes",
"reply_indicator.cancel": "Zrušit",
"report.forward": "Přeposlat na {target}",
"report.forward_hint": "Tento účet je z jiného serveru. Chcete na něj také poslat anonymizovanou kopii?",
"report.forward_hint": "Tento účet je z jiného serveru. Chcete na něj také poslat anonymizovanou kopii hlášení?",
"report.hint": "Hlášení bude zasláno moderátorům vašeho serveru. Níže můžete uvést, proč tento účet nahlašujete:",
"report.placeholder": "Dodatečné komentáře",
"report.submit": "Odeslat",
"report.target": "Nahlášení uživatele {target}",
"search.placeholder": "Hledat",
"search_popout.search_format": "Pokročilé hledání",
"search_popout.tips.full_text": "Jednoduchý text navrátí tooty, které jste napsali, oblíbili si, boostnuli, nebo vás v nich někdo zmínil, a také odpovídající přezdívky, zobrazovaná jména a hashtagy.",
"search_popout.tips.full_text": "Jednoduchý text vrací příspěvky, které jste napsali, oblíbili si, boostnuli, nebo vás v nich někdo zmínil, a také odpovídající přezdívky, zobrazovaná jména a hashtagy.",
"search_popout.tips.hashtag": "hashtag",
"search_popout.tips.status": "toot",
"search_popout.tips.text": "Jednoduchý text navrátí odpovídající zobrazovaná jména, přezdívky a hashtagy",
"search_popout.tips.status": "příspěvek",
"search_popout.tips.text": "Jednoduchý text vrací odpovídající zobrazovaná jména, přezdívky a hashtagy",
"search_popout.tips.user": "uživatel",
"search_results.accounts": "Lidé",
"search_results.hashtags": "Hashtagy",
"search_results.statuses": "Tooty",
"search_results.statuses_fts_disabled": "Vyhledávání tootů podle jejich obsahu není na tomto serveru Mastodon povoleno.",
"search_results.statuses": "Příspěvky",
"search_results.statuses_fts_disabled": "Vyhledávání příspěvků podle jejich obsahu není na tomto Mastodon serveru povoleno.",
"search_results.total": "{count, number} {count, plural, one {výsledek} few {výsledky} many {výsledků} other {výsledků}}",
"status.admin_account": "Otevřít moderátorské rozhraní pro uživatele @{name}",
"status.admin_status": "Otevřít tento toot v moderátorském rozhraní",
"status.block": "Zablokovat uživatele @{name}",
"status.admin_account": "Otevřít moderátorské rozhraní pro @{name}",
"status.admin_status": "Otevřít tento příspěvek v moderátorském rozhraní",
"status.block": "Zablokovat @{name}",
"status.bookmark": "Přidat do záložek",
"status.cancel_reblog_private": "Zrušit boost",
"status.cannot_reblog": "Tento příspěvek nemůže být boostnutý",
"status.copy": "Kopírovat odkaz k tootu",
"status.copy": "Zkopírovat odkaz na příspěvek",
"status.delete": "Smazat",
"status.detailed_status": "Podrobné zobrazení konverzace",
"status.direct": "Poslat uživateli @{name} přímou zprávu",
"status.direct": "Poslat @{name} přímou zprávu",
"status.embed": "Vložit na web",
"status.favourite": "Oblíbit",
"status.filtered": "Filtrováno",
"status.load_more": "Zobrazit více",
"status.media_hidden": "Média skryta",
"status.mention": "Zmínit uživatele @{name}",
"status.mention": "Zmínit @{name}",
"status.more": "Více",
"status.mute": "Skrýt uživatele @{name}",
"status.mute": "Skrýt @{name}",
"status.mute_conversation": "Skrýt konverzaci",
"status.open": "Otevřít tento toot",
"status.open": "Otevřít tento příspěvek",
"status.pin": "Připnout na profil",
"status.pinned": "Připnutý toot",
"status.pinned": "Připnutý příspěvek",
"status.read_more": "Číst více",
"status.reblog": "Boostnout",
"status.reblog_private": "Boostnout původnímu publiku",
"status.reblog_private": "Boostnout s původní viditelností",
"status.reblogged_by": "Uživatel {name} boostnul",
"status.reblogs.empty": "Tento toot ještě nikdo neboostnul. Pokud to někdo udělá, zobrazí se zde.",
"status.reblogs.empty": "Tento příspěvek ještě nikdo neboostnul. Pokud to někdo udělá, zobrazí se zde.",
"status.redraft": "Smazat a přepsat",
"status.remove_bookmark": "Odstranit ze záložek",
"status.reply": "Odpovědět",
"status.replyAll": "Odpovědět na vlákno",
"status.report": "Nahlásit uživatele @{name}",
"status.report": "Nahlásit @{name}",
"status.sensitive_warning": "Citlivý obsah",
"status.share": "Sdílet",
"status.show_less": "Zobrazit méně",
@ -435,15 +435,15 @@
"timeline_hint.remote_resource_not_displayed": "{resource} z jiných serveru se nezobrazuje.",
"timeline_hint.resources.followers": "Sledující",
"timeline_hint.resources.follows": "Sleduje",
"timeline_hint.resources.statuses": "Starší tooty",
"timeline_hint.resources.statuses": "Starší příspěvky",
"trends.counter_by_accounts": "zmiňuje {count, plural, one {{counter} člověk} few {{counter} lidé} many {{counter} lidí} other {{counter} lidí}}",
"trends.trending_now": "Aktuální trendy",
"trends.trending_now": "Právě populární",
"ui.beforeunload": "Pokud Mastodon opustíte, váš koncept se ztratí.",
"units.short.billion": "{count} mld.",
"units.short.million": "{count} mil.",
"units.short.thousand": "{count} tis.",
"upload_area.title": "Nahrajte přetažením",
"upload_button.label": "Přidat média",
"upload_button.label": "Přidat obrázky, video nebo audio soubor",
"upload_error.limit": "Byl překročen limit nahraných souborů.",