`
+`https://embed.bsky.app/static/embed.js`
+
+```
+
+ {{ post-text }}
+ — US Department of the Interior (@Interior) May 5, 2014
+
+```
diff --git a/bskyweb/cmd/embedr/.gitignore b/bskyweb/cmd/embedr/.gitignore
new file mode 100644
index 0000000000..c810652a10
--- /dev/null
+++ b/bskyweb/cmd/embedr/.gitignore
@@ -0,0 +1 @@
+/bskyweb
diff --git a/bskyweb/cmd/embedr/handlers.go b/bskyweb/cmd/embedr/handlers.go
new file mode 100644
index 0000000000..2ab72be449
--- /dev/null
+++ b/bskyweb/cmd/embedr/handlers.go
@@ -0,0 +1,207 @@
+package main
+
+import (
+ "context"
+ "errors"
+ "fmt"
+ "net/http"
+ "net/url"
+ "strconv"
+ "strings"
+
+ appbsky "github.com/bluesky-social/indigo/api/bsky"
+ "github.com/bluesky-social/indigo/atproto/syntax"
+
+ "github.com/labstack/echo/v4"
+)
+
+var ErrPostNotFound = errors.New("post not found")
+var ErrPostNotPublic = errors.New("post is not publicly accessible")
+
+func (srv *Server) getBlueskyPost(ctx context.Context, did syntax.DID, rkey syntax.RecordKey) (*appbsky.FeedDefs_PostView, error) {
+
+ // fetch the post post (with extra context)
+ uri := fmt.Sprintf("at://%s/app.bsky.feed.post/%s", did, rkey)
+ tpv, err := appbsky.FeedGetPostThread(ctx, srv.xrpcc, 1, 0, uri)
+ if err != nil {
+ log.Warnf("failed to fetch post: %s\t%v", uri, err)
+ // TODO: detect 404, specifically?
+ return nil, ErrPostNotFound
+ }
+
+ if tpv.Thread.FeedDefs_BlockedPost != nil {
+ return nil, ErrPostNotPublic
+ } else if tpv.Thread.FeedDefs_ThreadViewPost.Post == nil {
+ return nil, ErrPostNotFound
+ }
+
+ postView := tpv.Thread.FeedDefs_ThreadViewPost.Post
+ for _, label := range postView.Author.Labels {
+ if label.Src == postView.Author.Did && label.Val == "!no-unauthenticated" {
+ return nil, ErrPostNotPublic
+ }
+ }
+ return postView, nil
+}
+
+func (srv *Server) WebHome(c echo.Context) error {
+ return c.Render(http.StatusOK, "home.html", nil)
+}
+
+type OEmbedResponse struct {
+ Type string `json:"type"`
+ Version string `json:"version"`
+ AuthorName string `json:"author_name,omitempty"`
+ AuthorURL string `json:"author_url,omitempty"`
+ ProviderName string `json:"provider_url,omitempty"`
+ CacheAge int `json:"cache_age,omitempty"`
+ Width int `json:"width,omitempty"`
+ Height *int `json:"height,omitempty"`
+ HTML string `json:"html,omitempty"`
+}
+
+func (srv *Server) parseBlueskyURL(ctx context.Context, raw string) (*syntax.ATURI, error) {
+
+ if raw == "" {
+ return nil, fmt.Errorf("empty url")
+ }
+
+ // first try simple AT-URI
+ uri, err := syntax.ParseATURI(raw)
+ if nil == err {
+ return &uri, nil
+ }
+
+ // then try bsky.app post URL
+ u, err := url.Parse(raw)
+ if err != nil {
+ return nil, err
+ }
+ if u.Hostname() != "bsky.app" {
+ return nil, fmt.Errorf("only bsky.app URLs currently supported")
+ }
+ pathParts := strings.Split(u.Path, "/") // NOTE: pathParts[0] will be empty string
+ if len(pathParts) != 5 || pathParts[1] != "profile" || pathParts[3] != "post" {
+ return nil, fmt.Errorf("only bsky.app post URLs currently supported")
+ }
+ atid, err := syntax.ParseAtIdentifier(pathParts[2])
+ if err != nil {
+ return nil, err
+ }
+ rkey, err := syntax.ParseRecordKey(pathParts[4])
+ if err != nil {
+ return nil, err
+ }
+ var did syntax.DID
+ if atid.IsHandle() {
+ ident, err := srv.dir.Lookup(ctx, *atid)
+ if err != nil {
+ return nil, err
+ }
+ did = ident.DID
+ } else {
+ did, err = atid.AsDID()
+ if err != nil {
+ return nil, err
+ }
+ }
+
+ // TODO: don't really need to re-parse here, if we had test coverage
+ aturi, err := syntax.ParseATURI(fmt.Sprintf("at://%s/app.bsky.feed.post/%s", did, rkey))
+ if err != nil {
+ return nil, err
+ } else {
+ return &aturi, nil
+ }
+}
+
+func (srv *Server) WebOEmbed(c echo.Context) error {
+ formatParam := c.QueryParam("format")
+ if formatParam != "" && formatParam != "json" {
+ return c.String(http.StatusNotImplemented, "Unsupported oEmbed format: "+formatParam)
+ }
+
+ // TODO: do we actually do something with width?
+ width := 550
+ maxWidthParam := c.QueryParam("maxwidth")
+ if maxWidthParam != "" {
+ maxWidthInt, err := strconv.Atoi(maxWidthParam)
+ if err != nil || maxWidthInt < 220 || maxWidthInt > 550 {
+ return c.String(http.StatusBadRequest, "Invalid maxwidth (expected integer between 220 and 550)")
+ }
+ width = maxWidthInt
+ }
+ // NOTE: maxheight ignored
+
+ aturi, err := srv.parseBlueskyURL(c.Request().Context(), c.QueryParam("url"))
+ if err != nil {
+ return c.String(http.StatusBadRequest, fmt.Sprintf("Expected 'url' to be bsky.app URL or AT-URI: %v", err))
+ }
+ if aturi.Collection() != syntax.NSID("app.bsky.feed.post") {
+ return c.String(http.StatusNotImplemented, "Only posts (app.bsky.feed.post records) can be embedded currently")
+ }
+ did, err := aturi.Authority().AsDID()
+ if err != nil {
+ return err
+ }
+
+ post, err := srv.getBlueskyPost(c.Request().Context(), did, aturi.RecordKey())
+ if err == ErrPostNotFound {
+ return c.String(http.StatusNotFound, fmt.Sprintf("%v", err))
+ } else if err == ErrPostNotPublic {
+ return c.String(http.StatusForbidden, fmt.Sprintf("%v", err))
+ } else if err != nil {
+ return c.String(http.StatusInternalServerError, fmt.Sprintf("%v", err))
+ }
+
+ html, err := srv.postEmbedHTML(post)
+ if err != nil {
+ return c.String(http.StatusInternalServerError, fmt.Sprintf("%v", err))
+ }
+ data := OEmbedResponse{
+ Type: "rich",
+ Version: "1.0",
+ AuthorName: "@" + post.Author.Handle,
+ AuthorURL: fmt.Sprintf("https://bsky.app/profile/%s", post.Author.Handle),
+ ProviderName: "Bluesky Social",
+ CacheAge: 86400,
+ Width: width,
+ Height: nil,
+ HTML: html,
+ }
+ if post.Author.DisplayName != nil {
+ data.AuthorName = fmt.Sprintf("%s (@%s)", *post.Author.DisplayName, post.Author.Handle)
+ }
+ return c.JSON(http.StatusOK, data)
+}
+
+func (srv *Server) WebPostEmbed(c echo.Context) error {
+
+ // sanity check arguments. don't 4xx, just let app handle if not expected format
+ rkeyParam := c.Param("rkey")
+ rkey, err := syntax.ParseRecordKey(rkeyParam)
+ if err != nil {
+ return c.String(http.StatusBadRequest, fmt.Sprintf("Invalid RecordKey: %v", err))
+ }
+ didParam := c.Param("did")
+ did, err := syntax.ParseDID(didParam)
+ if err != nil {
+ return c.String(http.StatusBadRequest, fmt.Sprintf("Invalid DID: %v", err))
+ }
+ _ = rkey
+ _ = did
+
+ // NOTE: this request was't really necessary; the JS will do the same fetch
+ /*
+ postView, err := srv.getBlueskyPost(ctx, did, rkey)
+ if err == ErrPostNotFound {
+ return c.String(http.StatusNotFound, fmt.Sprintf("%v", err))
+ } else if err == ErrPostNotPublic {
+ return c.String(http.StatusForbidden, fmt.Sprintf("%v", err))
+ } else if err != nil {
+ return c.String(http.StatusInternalServerError, fmt.Sprintf("%v", err))
+ }
+ */
+
+ return c.Render(http.StatusOK, "postEmbed.html", nil)
+}
diff --git a/bskyweb/cmd/embedr/main.go b/bskyweb/cmd/embedr/main.go
new file mode 100644
index 0000000000..9f75ed69af
--- /dev/null
+++ b/bskyweb/cmd/embedr/main.go
@@ -0,0 +1,60 @@
+package main
+
+import (
+ "os"
+
+ _ "github.com/joho/godotenv/autoload"
+
+ logging "github.com/ipfs/go-log"
+ "github.com/urfave/cli/v2"
+)
+
+var log = logging.Logger("embedr")
+
+func init() {
+ logging.SetAllLoggers(logging.LevelDebug)
+ //logging.SetAllLoggers(logging.LevelWarn)
+}
+
+func main() {
+ run(os.Args)
+}
+
+func run(args []string) {
+
+ app := cli.App{
+ Name: "embedr",
+ Usage: "web server for embed.bsky.app post embeds",
+ }
+
+ app.Commands = []*cli.Command{
+ &cli.Command{
+ Name: "serve",
+ Usage: "run the server",
+ Action: serve,
+ Flags: []cli.Flag{
+ &cli.StringFlag{
+ Name: "appview-host",
+ Usage: "method, hostname, and port of PDS instance",
+ Value: "https://public.api.bsky.app",
+ EnvVars: []string{"ATP_APPVIEW_HOST"},
+ },
+ &cli.StringFlag{
+ Name: "http-address",
+ Usage: "Specify the local IP/port to bind to",
+ Required: false,
+ Value: ":8100",
+ EnvVars: []string{"HTTP_ADDRESS"},
+ },
+ &cli.BoolFlag{
+ Name: "debug",
+ Usage: "Enable debug mode",
+ Value: false,
+ Required: false,
+ EnvVars: []string{"DEBUG"},
+ },
+ },
+ },
+ }
+ app.RunAndExitOnError()
+}
diff --git a/bskyweb/cmd/embedr/render.go b/bskyweb/cmd/embedr/render.go
new file mode 100644
index 0000000000..cc8f0759a0
--- /dev/null
+++ b/bskyweb/cmd/embedr/render.go
@@ -0,0 +1,16 @@
+package main
+
+import (
+ "html/template"
+ "io"
+
+ "github.com/labstack/echo/v4"
+)
+
+type Template struct {
+ templates *template.Template
+}
+
+func (t *Template) Render(w io.Writer, name string, data interface{}, c echo.Context) error {
+ return t.templates.ExecuteTemplate(w, name, data)
+}
diff --git a/bskyweb/cmd/embedr/server.go b/bskyweb/cmd/embedr/server.go
new file mode 100644
index 0000000000..904b4df9a2
--- /dev/null
+++ b/bskyweb/cmd/embedr/server.go
@@ -0,0 +1,236 @@
+package main
+
+import (
+ "context"
+ "errors"
+ "fmt"
+ "html/template"
+ "io/fs"
+ "net/http"
+ "os"
+ "os/signal"
+ "strings"
+ "syscall"
+ "time"
+
+ "github.com/bluesky-social/indigo/atproto/identity"
+ "github.com/bluesky-social/indigo/util/cliutil"
+ "github.com/bluesky-social/indigo/xrpc"
+ "github.com/bluesky-social/social-app/bskyweb"
+
+ "github.com/klauspost/compress/gzhttp"
+ "github.com/klauspost/compress/gzip"
+ "github.com/labstack/echo/v4"
+ "github.com/labstack/echo/v4/middleware"
+ "github.com/urfave/cli/v2"
+)
+
+type Server struct {
+ echo *echo.Echo
+ httpd *http.Server
+ xrpcc *xrpc.Client
+ dir identity.Directory
+}
+
+func serve(cctx *cli.Context) error {
+ debug := cctx.Bool("debug")
+ httpAddress := cctx.String("http-address")
+ appviewHost := cctx.String("appview-host")
+
+ // Echo
+ e := echo.New()
+
+ // create a new session (no auth)
+ xrpcc := &xrpc.Client{
+ Client: cliutil.NewHttpClient(),
+ Host: appviewHost,
+ }
+
+ // httpd
+ var (
+ httpTimeout = 2 * time.Minute
+ httpMaxHeaderBytes = 2 * (1024 * 1024)
+ gzipMinSizeBytes = 1024 * 2
+ gzipCompressionLevel = gzip.BestSpeed
+ gzipExceptMIMETypes = []string{"image/png"}
+ )
+
+ // Wrap the server handler in a gzip handler to compress larger responses.
+ gzipHandler, err := gzhttp.NewWrapper(
+ gzhttp.MinSize(gzipMinSizeBytes),
+ gzhttp.CompressionLevel(gzipCompressionLevel),
+ gzhttp.ExceptContentTypes(gzipExceptMIMETypes),
+ )
+ if err != nil {
+ return err
+ }
+
+ //
+ // server
+ //
+ server := &Server{
+ echo: e,
+ xrpcc: xrpcc,
+ dir: identity.DefaultDirectory(),
+ }
+
+ // Create the HTTP server.
+ server.httpd = &http.Server{
+ Handler: gzipHandler(server),
+ Addr: httpAddress,
+ WriteTimeout: httpTimeout,
+ ReadTimeout: httpTimeout,
+ MaxHeaderBytes: httpMaxHeaderBytes,
+ }
+
+ e.HideBanner = true
+
+ tmpl := &Template{
+ templates: template.Must(template.ParseFS(bskyweb.EmbedrTemplateFS, "embedr-templates/*.html")),
+ }
+ e.Renderer = tmpl
+ e.HTTPErrorHandler = server.errorHandler
+
+ e.IPExtractor = echo.ExtractIPFromXFFHeader()
+
+ // SECURITY: Do not modify without due consideration.
+ e.Use(middleware.SecureWithConfig(middleware.SecureConfig{
+ ContentTypeNosniff: "nosniff",
+ // diable XFrameOptions; we're embedding here!
+ HSTSMaxAge: 31536000, // 365 days
+ // TODO:
+ // ContentSecurityPolicy
+ // XSSProtection
+ }))
+ e.Use(middleware.LoggerWithConfig(middleware.LoggerConfig{
+ // Don't log requests for static content.
+ Skipper: func(c echo.Context) bool {
+ return strings.HasPrefix(c.Request().URL.Path, "/static")
+ },
+ }))
+ e.Use(middleware.RateLimiterWithConfig(middleware.RateLimiterConfig{
+ Skipper: middleware.DefaultSkipper,
+ Store: middleware.NewRateLimiterMemoryStoreWithConfig(
+ middleware.RateLimiterMemoryStoreConfig{
+ Rate: 10, // requests per second
+ Burst: 30, // allow bursts
+ ExpiresIn: 3 * time.Minute, // garbage collect entries older than 3 minutes
+ },
+ ),
+ IdentifierExtractor: func(ctx echo.Context) (string, error) {
+ id := ctx.RealIP()
+ return id, nil
+ },
+ DenyHandler: func(c echo.Context, identifier string, err error) error {
+ return c.String(http.StatusTooManyRequests, "Your request has been rate limited. Please try again later. Contact support@bsky.app if you believe this was a mistake.\n")
+ },
+ }))
+
+ // redirect trailing slash to non-trailing slash.
+ // all of our current endpoints have no trailing slash.
+ e.Use(middleware.RemoveTrailingSlashWithConfig(middleware.TrailingSlashConfig{
+ RedirectCode: http.StatusFound,
+ }))
+
+ //
+ // configure routes
+ //
+ // static files
+ staticHandler := http.FileServer(func() http.FileSystem {
+ if debug {
+ log.Debugf("serving static file from the local file system")
+ return http.FS(os.DirFS("embedr-static"))
+ }
+ fsys, err := fs.Sub(bskyweb.EmbedrStaticFS, "embedr-static")
+ if err != nil {
+ log.Fatal(err)
+ }
+ return http.FS(fsys)
+ }())
+
+ e.GET("/robots.txt", echo.WrapHandler(staticHandler))
+ e.GET("/ips-v4", echo.WrapHandler(staticHandler))
+ e.GET("/ips-v6", echo.WrapHandler(staticHandler))
+ e.GET("/.well-known/*", echo.WrapHandler(staticHandler))
+ e.GET("/security.txt", func(c echo.Context) error {
+ return c.Redirect(http.StatusMovedPermanently, "/.well-known/security.txt")
+ })
+ e.GET("/static/*", echo.WrapHandler(http.StripPrefix("/static/", staticHandler)), func(next echo.HandlerFunc) echo.HandlerFunc {
+ return func(c echo.Context) error {
+ path := c.Request().URL.Path
+ maxAge := 1 * (60 * 60) // default is 1 hour
+
+ // Cache javascript and images files for 1 week, which works because
+ // they're always versioned (e.g. /static/js/main.64c14927.js)
+ if strings.HasPrefix(path, "/static/js/") || strings.HasPrefix(path, "/static/images/") {
+ maxAge = 7 * (60 * 60 * 24) // 1 week
+ }
+
+ c.Response().Header().Set("Cache-Control", fmt.Sprintf("public, max-age=%d", maxAge))
+ return next(c)
+ }
+ })
+
+ // actual routes
+ e.GET("/", server.WebHome)
+ e.GET("/iframe-resize.js", echo.WrapHandler(staticHandler))
+ e.GET("/embed.js", echo.WrapHandler(staticHandler))
+ e.GET("/oembed", server.WebOEmbed)
+ e.GET("/embed/:did/app.bsky.feed.post/:rkey", server.WebPostEmbed)
+
+ // Start the server.
+ log.Infof("starting server address=%s", httpAddress)
+ go func() {
+ if err := server.httpd.ListenAndServe(); err != nil {
+ if !errors.Is(err, http.ErrServerClosed) {
+ log.Errorf("HTTP server shutting down unexpectedly: %s", err)
+ }
+ }
+ }()
+
+ // Wait for a signal to exit.
+ log.Info("registering OS exit signal handler")
+ quit := make(chan struct{})
+ exitSignals := make(chan os.Signal, 1)
+ signal.Notify(exitSignals, syscall.SIGINT, syscall.SIGTERM)
+ go func() {
+ sig := <-exitSignals
+ log.Infof("received OS exit signal: %s", sig)
+
+ // Shut down the HTTP server.
+ if err := server.Shutdown(); err != nil {
+ log.Errorf("HTTP server shutdown error: %s", err)
+ }
+
+ // Trigger the return that causes an exit.
+ close(quit)
+ }()
+ <-quit
+ log.Infof("graceful shutdown complete")
+ return nil
+}
+
+func (srv *Server) ServeHTTP(rw http.ResponseWriter, req *http.Request) {
+ srv.echo.ServeHTTP(rw, req)
+}
+
+func (srv *Server) Shutdown() error {
+ log.Info("shutting down")
+
+ ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second)
+ defer cancel()
+
+ return srv.httpd.Shutdown(ctx)
+}
+
+func (srv *Server) errorHandler(err error, c echo.Context) {
+ code := http.StatusInternalServerError
+ if he, ok := err.(*echo.HTTPError); ok {
+ code = he.Code
+ }
+ c.Logger().Error(err)
+ data := map[string]interface{}{
+ "statusCode": code,
+ }
+ c.Render(code, "error.html", data)
+}
diff --git a/bskyweb/cmd/embedr/snippet.go b/bskyweb/cmd/embedr/snippet.go
new file mode 100644
index 0000000000..e65f38a62d
--- /dev/null
+++ b/bskyweb/cmd/embedr/snippet.go
@@ -0,0 +1,71 @@
+package main
+
+import (
+ "bytes"
+ "fmt"
+ "html/template"
+
+ appbsky "github.com/bluesky-social/indigo/api/bsky"
+ "github.com/bluesky-social/indigo/atproto/syntax"
+)
+
+func (srv *Server) postEmbedHTML(postView *appbsky.FeedDefs_PostView) (string, error) {
+ // ensure that there isn't an injection from the URI
+ aturi, err := syntax.ParseATURI(postView.Uri)
+ if err != nil {
+ log.Error("bad AT-URI in reponse", "aturi", aturi, "err", err)
+ return "", err
+ }
+
+ post, ok := postView.Record.Val.(*appbsky.FeedPost)
+ if !ok {
+ log.Error("bad post record value", "err", err)
+ return "", err
+ }
+
+ const tpl = `{{ .PostText }}
— {{ .PostAuthor }} {{ .PostIndexedAt }} `
+
+ t, err := template.New("snippet").Parse(tpl)
+ if err != nil {
+ log.Error("template parse error", "err", err)
+ return "", err
+ }
+
+ var lang string
+ if len(post.Langs) > 0 {
+ lang = post.Langs[0]
+ }
+ var authorName string
+ if postView.Author.DisplayName != nil {
+ authorName = fmt.Sprintf("%s (@%s)", *postView.Author.DisplayName, postView.Author.Handle)
+ } else {
+ authorName = fmt.Sprintf("@%s", postView.Author.Handle)
+ }
+ fmt.Println(postView.Uri)
+ fmt.Println(fmt.Sprintf("%s", postView.Uri))
+ data := struct {
+ PostURI template.URL
+ PostCID string
+ PostLang string
+ PostText string
+ PostAuthor string
+ PostIndexedAt string
+ WidgetURL template.URL
+ }{
+ PostURI: template.URL(postView.Uri),
+ PostCID: postView.Cid,
+ PostLang: lang,
+ PostText: post.Text,
+ PostAuthor: authorName,
+ PostIndexedAt: postView.IndexedAt, // TODO: createdAt?
+ WidgetURL: template.URL("https://embed.bsky.app/static/embed.js"),
+ }
+
+ var buf bytes.Buffer
+ err = t.Execute(&buf, data)
+ if err != nil {
+ log.Error("template parse error", "err", err)
+ return "", err
+ }
+ return buf.String(), nil
+}
diff --git a/bskyweb/embedr-static/.well-known/security.txt b/bskyweb/embedr-static/.well-known/security.txt
new file mode 100644
index 0000000000..8173cb72d6
--- /dev/null
+++ b/bskyweb/embedr-static/.well-known/security.txt
@@ -0,0 +1,4 @@
+Contact: mailto:security@bsky.app
+Preferred-Languages: en
+Canonical: https://bsky.app/.well-known/security.txt
+Acknowledgements: https://github.com/bluesky-social/atproto/blob/main/CONTRIBUTORS.md
diff --git a/bskyweb/embedr-static/embed.js b/bskyweb/embedr-static/embed.js
new file mode 100644
index 0000000000..15964a76c3
--- /dev/null
+++ b/bskyweb/embedr-static/embed.js
@@ -0,0 +1 @@
+/* embed javascript widget will go here */
diff --git a/bskyweb/embedr-static/favicon-16x16.png b/bskyweb/embedr-static/favicon-16x16.png
new file mode 100644
index 0000000000..ea256e0569
Binary files /dev/null and b/bskyweb/embedr-static/favicon-16x16.png differ
diff --git a/bskyweb/embedr-static/favicon-32x32.png b/bskyweb/embedr-static/favicon-32x32.png
new file mode 100644
index 0000000000..a5ca7eed1e
Binary files /dev/null and b/bskyweb/embedr-static/favicon-32x32.png differ
diff --git a/bskyweb/embedr-static/favicon.png b/bskyweb/embedr-static/favicon.png
new file mode 100644
index 0000000000..ddf55f4c81
Binary files /dev/null and b/bskyweb/embedr-static/favicon.png differ
diff --git a/bskyweb/embedr-static/iframe-resize.js b/bskyweb/embedr-static/iframe-resize.js
new file mode 100644
index 0000000000..6bf2793df5
--- /dev/null
+++ b/bskyweb/embedr-static/iframe-resize.js
@@ -0,0 +1 @@
+/* script to resize embed ifame would go here? */
diff --git a/bskyweb/embedr-static/ips-v4 b/bskyweb/embedr-static/ips-v4
new file mode 100644
index 0000000000..087996ef9a
--- /dev/null
+++ b/bskyweb/embedr-static/ips-v4
@@ -0,0 +1,30 @@
+13.59.225.103/32
+3.18.47.21/32
+18.191.104.94/32
+3.129.134.255/32
+3.129.237.113/32
+3.138.56.230/32
+44.218.10.163/32
+54.89.116.251/32
+44.217.166.202/32
+54.208.221.149/32
+54.166.110.54/32
+54.208.146.65/32
+3.129.234.15/32
+3.138.168.48/32
+3.23.53.192/32
+52.14.89.53/32
+3.18.126.246/32
+3.136.69.4/32
+3.22.137.152/32
+3.132.247.113/32
+3.141.186.104/32
+18.222.43.214/32
+3.14.35.197/32
+3.23.182.70/32
+18.224.144.69/32
+3.129.98.29/32
+3.130.134.20/32
+3.17.197.213/32
+18.223.234.21/32
+3.20.248.177/32
diff --git a/bskyweb/embedr-static/ips-v6 b/bskyweb/embedr-static/ips-v6
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bskyweb/embedr-static/robots.txt b/bskyweb/embedr-static/robots.txt
new file mode 100644
index 0000000000..4f8510d18d
--- /dev/null
+++ b/bskyweb/embedr-static/robots.txt
@@ -0,0 +1,9 @@
+# Hello Friends!
+# If you are considering bulk or automated crawling, you may want to look in
+# to our protocol (API), including a firehose of updates. See: https://atproto.com/
+
+# By default, may crawl anything on this domain. HTTP 429 ("backoff") status
+# codes are used for rate-limiting. Up to a handful concurrent requests should
+# be ok.
+User-Agent: *
+Allow: /
diff --git a/bskyweb/embedr-templates/error.html b/bskyweb/embedr-templates/error.html
new file mode 100644
index 0000000000..5aa04c83bf
--- /dev/null
+++ b/bskyweb/embedr-templates/error.html
@@ -0,0 +1 @@
+placeholder!
diff --git a/bskyweb/embedr-templates/home.html b/bskyweb/embedr-templates/home.html
new file mode 100644
index 0000000000..f938c32d6e
--- /dev/null
+++ b/bskyweb/embedr-templates/home.html
@@ -0,0 +1,8 @@
+
+
+
+
+ embed.bsky.app homepage
+ could redirect to bsky.app? or show a "create embed" widget?
+
+
diff --git a/bskyweb/embedr-templates/oembed.html b/bskyweb/embedr-templates/oembed.html
new file mode 100644
index 0000000000..646f0a482c
--- /dev/null
+++ b/bskyweb/embedr-templates/oembed.html
@@ -0,0 +1 @@
+oembed JSON response will go here
diff --git a/bskyweb/embedr-templates/postEmbed.html b/bskyweb/embedr-templates/postEmbed.html
new file mode 100644
index 0000000000..6329b3a199
--- /dev/null
+++ b/bskyweb/embedr-templates/postEmbed.html
@@ -0,0 +1 @@
+embed post HTML will go here
diff --git a/bskyweb/static.go b/bskyweb/static.go
index a67d189f57..38adb83335 100644
--- a/bskyweb/static.go
+++ b/bskyweb/static.go
@@ -4,3 +4,6 @@ import "embed"
//go:embed static/*
var StaticFS embed.FS
+
+//go:embed embedr-static/*
+var EmbedrStaticFS embed.FS
diff --git a/bskyweb/templates.go b/bskyweb/templates.go
index ce3fa29af7..a66965aba4 100644
--- a/bskyweb/templates.go
+++ b/bskyweb/templates.go
@@ -4,3 +4,6 @@ import "embed"
//go:embed templates/*
var TemplateFS embed.FS
+
+//go:embed embedr-templates/*
+var EmbedrTemplateFS embed.FS
diff --git a/bskyweb/templates/base.html b/bskyweb/templates/base.html
index 678729ffb3..cb0cea24b4 100644
--- a/bskyweb/templates/base.html
+++ b/bskyweb/templates/base.html
@@ -220,6 +220,32 @@
.nativeDropdown-item:focus {
outline: none;
}
+
+ /* Spinner component */
+ @keyframes rotate {
+ 0% {
+ transform: rotate(0deg);
+ }
+ 100% {
+ transform: rotate(360deg);
+ }
+ }
+ .rotate-500ms {
+ position: absolute;
+ inset:0;
+ animation: rotate 500ms linear infinite;
+ }
+
+ @keyframes avatarHoverFadeIn {
+ from { opacity: 0; }
+ to { opacity: 1; }
+ }
+
+ @keyframes avatarHoverFadeOut {
+ from { opacity: 1; }
+ to { opacity: 0; }
+ }
+
{% include "scripts.html" %}
diff --git a/bskyweb/templates/post.html b/bskyweb/templates/post.html
index af6b768b38..d1fbea0ac3 100644
--- a/bskyweb/templates/post.html
+++ b/bskyweb/templates/post.html
@@ -36,6 +36,8 @@
+
+
{% endif -%}
{%- endblock %}
diff --git a/docs/build.md b/docs/build.md
index d1f9f93b5a..0eb2315098 100644
--- a/docs/build.md
+++ b/docs/build.md
@@ -83,11 +83,10 @@ To run the build with Go, use staging credentials, your own, or any other accoun
```
cd social-app
yarn && yarn build-web
-cp ./web-build/static/js/*.* bskyweb/static/js/
cd bskyweb/
go mod tidy
go build -v -tags timetzdata -o bskyweb ./cmd/bskyweb
-./bskyweb serve --pds-host=https://staging.bsky.dev --handle= --password=
+./bskyweb serve --appview-host=https://public.api.bsky.app
```
On build success, access the application at [http://localhost:8100/](http://localhost:8100/). Subsequent changes require re-running the above steps in order to be reflected.
diff --git a/eas.json b/eas.json
index 2b4c7cb612..ed647dbb9c 100644
--- a/eas.json
+++ b/eas.json
@@ -16,14 +16,20 @@
"ios": {
"simulator": true,
"resourceClass": "large"
+ },
+ "env": {
+ "EXPO_PUBLIC_ENV": "production"
}
},
"preview": {
"extends": "base",
"distribution": "internal",
- "channel": "preview",
+ "channel": "production",
"ios": {
"resourceClass": "large"
+ },
+ "env": {
+ "EXPO_PUBLIC_ENV": "production"
}
},
"production": {
@@ -35,9 +41,12 @@
"android": {
"autoIncrement": true
},
- "channel": "production"
+ "channel": "production",
+ "env": {
+ "EXPO_PUBLIC_ENV": "production"
+ }
},
- "github": {
+ "testflight": {
"extends": "base",
"ios": {
"autoIncrement": true
@@ -45,7 +54,24 @@
"android": {
"autoIncrement": true
},
- "channel": "production"
+ "channel": "testflight",
+ "env": {
+ "EXPO_PUBLIC_ENV": "testflight"
+ }
+ },
+ "testflight-android": {
+ "extends": "base",
+ "distribution": "internal",
+ "ios": {
+ "autoIncrement": true
+ },
+ "android": {
+ "autoIncrement": true
+ },
+ "channel": "testflight",
+ "env": {
+ "EXPO_PUBLIC_ENV": "testflight"
+ }
}
},
"submit": {
diff --git a/eslint/__tests__/avoid-unwrapped-text.test.js b/eslint/__tests__/avoid-unwrapped-text.test.js
new file mode 100644
index 0000000000..a6762b8fd7
--- /dev/null
+++ b/eslint/__tests__/avoid-unwrapped-text.test.js
@@ -0,0 +1,825 @@
+const {RuleTester} = require('eslint')
+const avoidUnwrappedText = require('../avoid-unwrapped-text')
+
+const ruleTester = new RuleTester({
+ parser: require.resolve('@typescript-eslint/parser'),
+ parserOptions: {
+ ecmaFeatures: {
+ jsx: true,
+ },
+ ecmaVersion: 6,
+ sourceType: 'module',
+ },
+})
+
+describe('avoid-unwrapped-text', () => {
+ const tests = {
+ valid: [
+ {
+ code: `
+
+ foo
+
+ `,
+ },
+
+ {
+ code: `
+
+
+ foo
+
+
+ `,
+ },
+
+ {
+ code: `
+
+ <>
+ foo
+ >
+
+ `,
+ },
+
+ {
+ code: `
+
+ {foo && foo }
+
+ `,
+ },
+
+ {
+ code: `
+
+ {foo ? foo : bar }
+
+ `,
+ },
+
+ {
+ code: `
+
+
+ foo
+
+
+ `,
+ },
+
+ {
+ code: `
+
+ {foo && foo }
+
+ `,
+ },
+
+ {
+ code: `
+
+ {foo ? foo : bar }
+
+ `,
+ },
+
+ {
+ code: `
+
+ foo
+
+ `,
+ },
+
+ {
+ code: `
+
+
+ foo
+
+
+ `,
+ },
+
+ {
+ code: `
+
+ {bar}
+
+ `,
+ },
+
+ {
+ code: `
+
+ {bar}
+
+ `,
+ },
+
+ {
+ code: `
+
+ foo {bar}
+
+ `,
+ },
+
+ {
+ code: `
+
+
+ foo
+
+
+ `,
+ },
+
+ {
+ code: `
+
+
+ {bar}
+
+
+ `,
+ },
+
+ {
+ code: `
+
+
+ foo {bar}
+
+
+ `,
+ },
+
+ {
+ code: `
+
+
+ foo
+
+
+ `,
+ },
+
+ {
+ code: `
+foo
+}>
+
+
+ `,
+ },
+
+ {
+ code: `
+foo
+}>
+
+
+ `,
+ },
+
+ {
+ code: `
+foo : bar
+}>
+
+
+ `,
+ },
+
+ {
+ code: `
+foo
+}>
+
+
+ `,
+ },
+
+ {
+ code: `
+foo
+}>
+
+
+ `,
+ },
+
+ {
+ code: `
+foo
+}>
+
+
+ `,
+ },
+
+ {
+ code: `
+foo
+}>
+
+
+ `,
+ },
+
+ {
+ code: `
+foo : bar
+}>
+
+
+ `,
+ },
+
+ {
+ code: `
+function Stuff() {
+ return foo
+}
+ `,
+ },
+
+ {
+ code: `
+function Stuff({ foo }) {
+ return {foo}
+}
+ `,
+ },
+
+ {
+ code: `
+function MyText() {
+ return foo
+}
+ `,
+ },
+
+ {
+ code: `
+function MyText({ foo }) {
+ if (foo) {
+ return foo
+ }
+ return foo
+}
+ `,
+ },
+
+ {
+ code: `
+
+ {'foo'}
+
+ `,
+ },
+
+ {
+ code: `
+
+ {foo + 'foo'}
+
+ `,
+ },
+
+ {
+ code: `
+
+ {'foo'}
+
+ `,
+ },
+
+ {
+ code: `
+
+ {foo['bar'] && }
+
+ `,
+ },
+
+ {
+ code: `
+
+ {(foo === 'bar') && }
+
+ `,
+ },
+
+ {
+ code: `
+
+ {(foo !== 'bar') && }
+
+ `,
+ },
+
+ {
+ code: `
+
+ {\`foo\`}
+
+ `,
+ },
+
+ {
+ code: `
+
+ {\`foo\`}
+
+ `,
+ },
+
+ {
+ code: `
+
+ {_(msg\`foo\`)}
+
+ `,
+ },
+
+ {
+ code: `
+
+ {_(msg\`foo\`)}
+
+ `,
+ },
+
+ {
+ code: `
+
+
+
+
+
+ `,
+ },
+
+ {
+ code: `
+
+ stuff('foo')}>
+
+
+
+ `,
+ },
+
+ {
+ code: `
+
+ {renderItem('foo')}
+
+ `,
+ },
+
+ {
+ code: `
+
+ {foo === 'foo' && }
+
+ `,
+ },
+
+ {
+ code: `
+
+ {foo['foo'] && }
+
+ `,
+ },
+
+ {
+ code: `
+
+ {check('foo') && }
+
+ `,
+ },
+
+ {
+ code: `
+
+ {foo.bar && }
+
+ `,
+ },
+
+ {
+ code: `
+
+ {renderItem('foo')}
+
+ `,
+ },
+
+ {
+ code: `
+
+ {null}
+
+ `,
+ },
+
+ {
+ code: `
+
+ {null}
+
+ `,
+ },
+ ],
+
+ invalid: [
+ {
+ code: `
+
+ `,
+ errors: 1,
+ },
+
+ {
+ code: `
+
+ foo
+
+ `,
+ errors: 1,
+ },
+
+ {
+ code: `
+
+ <>
+ foo
+ >
+
+ `,
+ errors: 1,
+ },
+
+ {
+ code: `
+
+
+ foo
+
+
+ `,
+ errors: 1,
+ },
+
+ {
+ code: `
+
+ {foo && foo }
+
+ `,
+ errors: 1,
+ },
+
+ {
+ code: `
+
+ {foo ? foo : bar }
+
+ `,
+ errors: 2,
+ },
+
+ {
+ code: `
+
+
+ foo
+
+
+ `,
+ errors: 1,
+ },
+
+ {
+ code: `
+
+ foo {bar}
+
+ `,
+ errors: 1,
+ },
+
+ {
+ code: `
+
+
+ foo
+
+
+ `,
+ errors: 1,
+ },
+
+ {
+ code: `
+
+
+ foo
+
+
+ `,
+ errors: 1,
+ },
+
+ {
+ code: `
+foo
+}>
+
+
+ `,
+ errors: 1,
+ },
+
+ {
+ code: `
+foo
+}>
+
+
+ `,
+ errors: 1,
+ },
+
+ {
+ code: `
+foo : bar
+}>
+
+
+ `,
+ errors: 2,
+ },
+
+ {
+ code: `
+foo
+}>
+
+
+ `,
+ errors: 1,
+ },
+
+ {
+ code: `
+function MyText() {
+ return
+}
+ `,
+ errors: 1,
+ },
+
+ {
+ code: `
+function MyText({ foo }) {
+ return {foo}
+}
+ `,
+ errors: 1,
+ },
+
+ {
+ code: `
+function MyText({ foo }) {
+ if (foo) {
+ return {foo}
+ }
+ return foo
+}
+ `,
+ errors: 1,
+ },
+
+ {
+ code: `
+
+ {'foo'}
+
+ `,
+ errors: 1,
+ },
+
+ {
+ code: `
+
+ {foo && 'foo'}
+
+ `,
+ errors: 1,
+ },
+
+ {
+ code: `
+
+ {'foo'}
+
+ `,
+ errors: 1,
+ },
+
+ {
+ code: `
+
+ {foo && {'foo'} }
+
+ `,
+ errors: 1,
+ },
+
+ {
+ code: `
+
+ {10}
+
+ `,
+ errors: 1,
+ },
+
+ {
+ code: `
+
+ {10}
+
+ `,
+ errors: 1,
+ },
+
+ {
+ code: `
+
+ {foo + 10}
+
+ `,
+ errors: 1,
+ },
+
+ {
+ code: `
+
+ {\`foo\`}
+
+ `,
+ errors: 1,
+ },
+
+ {
+ code: `
+
+ {\`foo\`}
+
+ `,
+ errors: 1,
+ },
+
+ {
+ code: `
+
+ {foo + \`foo\`}
+
+ `,
+ errors: 1,
+ },
+
+ {
+ code: `
+
+ {_(msg\`foo\`)}
+
+ `,
+ errors: 1,
+ },
+
+ {
+ code: `
+
+ {foo + _(msg\`foo\`)}
+
+ `,
+ errors: 1,
+ },
+
+ {
+ code: `
+
+ {_(msg\`foo\`)}
+
+ `,
+ errors: 1,
+ },
+
+ {
+ code: `
+
+ {foo + _(msg\`foo\`)}
+
+ `,
+ errors: 1,
+ },
+
+ {
+ code: `
+
+ foo
+
+ `,
+ errors: 1,
+ },
+
+ {
+ code: `
+
+ foo
+
+ `,
+ errors: 1,
+ },
+
+ {
+ code: `
+
+ {foo}
+
+ `,
+ errors: 1,
+ },
+
+ {
+ code: `
+
+ {'foo'}
+
+ `,
+ errors: 1,
+ },
+
+ {
+ code: `
+foo
+}>
+
+
+ `,
+ errors: 1,
+ },
+ ],
+ }
+
+ // For easier local testing
+ if (!process.env.CI) {
+ let only = []
+ let skipped = []
+ ;[...tests.valid, ...tests.invalid].forEach(t => {
+ if (t.skip) {
+ delete t.skip
+ skipped.push(t)
+ }
+ if (t.only) {
+ delete t.only
+ only.push(t)
+ }
+ })
+ const predicate = t => {
+ if (only.length > 0) {
+ return only.indexOf(t) !== -1
+ }
+ if (skipped.length > 0) {
+ return skipped.indexOf(t) === -1
+ }
+ return true
+ }
+ tests.valid = tests.valid.filter(predicate)
+ tests.invalid = tests.invalid.filter(predicate)
+ }
+ ruleTester.run('avoid-unwrapped-text', avoidUnwrappedText, tests)
+})
diff --git a/eslint/avoid-unwrapped-text.js b/eslint/avoid-unwrapped-text.js
new file mode 100644
index 0000000000..eef31f7951
--- /dev/null
+++ b/eslint/avoid-unwrapped-text.js
@@ -0,0 +1,331 @@
+'use strict'
+
+// Partially based on eslint-plugin-react-native.
+// Portions of code by Alex Zhukov, MIT license.
+
+function hasOnlyLineBreak(value) {
+ return /^[\r\n\t\f\v]+$/.test(value.replace(/ /g, ''))
+}
+
+function getTagName(node) {
+ const reversedIdentifiers = []
+ if (
+ node.type === 'JSXElement' &&
+ node.openingElement.type === 'JSXOpeningElement'
+ ) {
+ let object = node.openingElement.name
+ while (object.type === 'JSXMemberExpression') {
+ if (object.property.type === 'JSXIdentifier') {
+ reversedIdentifiers.push(object.property.name)
+ }
+ object = object.object
+ }
+
+ if (object.type === 'JSXIdentifier') {
+ reversedIdentifiers.push(object.name)
+ }
+ }
+
+ return reversedIdentifiers.reverse().join('.')
+}
+
+exports.create = function create(context) {
+ const options = context.options[0] || {}
+ const impliedTextProps = options.impliedTextProps ?? []
+ const impliedTextComponents = options.impliedTextComponents ?? []
+ const suggestedTextWrappers = options.suggestedTextWrappers ?? {}
+ const textProps = [...impliedTextProps]
+ const textComponents = ['Text', ...impliedTextComponents]
+
+ function isTextComponent(tagName) {
+ return textComponents.includes(tagName) || tagName.endsWith('Text')
+ }
+
+ return {
+ JSXText(node) {
+ if (typeof node.value !== 'string' || hasOnlyLineBreak(node.value)) {
+ return
+ }
+ let parent = node.parent
+ while (parent) {
+ if (parent.type === 'JSXElement') {
+ const tagName = getTagName(parent)
+ if (isTextComponent(tagName)) {
+ // We're good.
+ return
+ }
+ if (tagName === 'Trans') {
+ // Exit and rely on the traversal for JSXElement (code below).
+ // TODO: Maybe validate that it's present.
+ return
+ }
+ const suggestedWrapper = suggestedTextWrappers[tagName]
+ let message = `Wrap this string in <${suggestedWrapper ?? 'Text'}>.`
+ if (tagName !== 'View' && !suggestedWrapper) {
+ message +=
+ ' If <' +
+ tagName +
+ '> is guaranteed to render , ' +
+ 'rename it to <' +
+ tagName +
+ 'Text> or add it to impliedTextComponents.'
+ }
+ context.report({
+ node,
+ message,
+ })
+ return
+ }
+
+ if (
+ parent.type === 'JSXAttribute' &&
+ parent.name.type === 'JSXIdentifier' &&
+ parent.parent.type === 'JSXOpeningElement' &&
+ parent.parent.parent.type === 'JSXElement'
+ ) {
+ const tagName = getTagName(parent.parent.parent)
+ const propName = parent.name.name
+ if (
+ textProps.includes(tagName + ' ' + propName) ||
+ propName === 'text' ||
+ propName.endsWith('Text')
+ ) {
+ // We're good.
+ return
+ }
+ const message =
+ 'Wrap this string in .' +
+ ' If `' +
+ propName +
+ '` is guaranteed to be wrapped in , ' +
+ 'rename it to `' +
+ propName +
+ 'Text' +
+ '` or add it to impliedTextProps.'
+ context.report({
+ node,
+ message,
+ })
+ return
+ }
+
+ parent = parent.parent
+ continue
+ }
+ },
+ Literal(node) {
+ if (typeof node.value !== 'string' && typeof node.value !== 'number') {
+ return
+ }
+ let parent = node.parent
+ while (parent) {
+ if (parent.type === 'JSXElement') {
+ const tagName = getTagName(parent)
+ if (isTextComponent(tagName)) {
+ // We're good.
+ return
+ }
+ if (tagName === 'Trans') {
+ // Exit and rely on the traversal for JSXElement (code below).
+ // TODO: Maybe validate that it's present.
+ return
+ }
+ const suggestedWrapper = suggestedTextWrappers[tagName]
+ let message = `Wrap this string in <${suggestedWrapper ?? 'Text'}>.`
+ if (tagName !== 'View' && !suggestedWrapper) {
+ message +=
+ ' If <' +
+ tagName +
+ '> is guaranteed to render , ' +
+ 'rename it to <' +
+ tagName +
+ 'Text> or add it to impliedTextComponents.'
+ }
+ context.report({
+ node,
+ message,
+ })
+ return
+ }
+
+ if (parent.type === 'BinaryExpression' && parent.operator === '+') {
+ parent = parent.parent
+ continue
+ }
+
+ if (
+ parent.type === 'JSXExpressionContainer' ||
+ parent.type === 'LogicalExpression'
+ ) {
+ parent = parent.parent
+ continue
+ }
+
+ // Be conservative for other types.
+ return
+ }
+ },
+ TemplateLiteral(node) {
+ let parent = node.parent
+ while (parent) {
+ if (parent.type === 'JSXElement') {
+ const tagName = getTagName(parent)
+ if (isTextComponent(tagName)) {
+ // We're good.
+ return
+ }
+ if (tagName === 'Trans') {
+ // Exit and rely on the traversal for JSXElement (code below).
+ // TODO: Maybe validate that it's present.
+ return
+ }
+ const suggestedWrapper = suggestedTextWrappers[tagName]
+ let message = `Wrap this string in <${suggestedWrapper ?? 'Text'}>.`
+ if (tagName !== 'View' && !suggestedWrapper) {
+ message +=
+ ' If <' +
+ tagName +
+ '> is guaranteed to render , ' +
+ 'rename it to <' +
+ tagName +
+ 'Text> or add it to impliedTextComponents.'
+ }
+ context.report({
+ node,
+ message,
+ })
+ return
+ }
+
+ if (
+ parent.type === 'CallExpression' &&
+ parent.callee.type === 'Identifier' &&
+ parent.callee.name === '_'
+ ) {
+ // This is a user-facing string, keep going up.
+ parent = parent.parent
+ continue
+ }
+
+ if (parent.type === 'BinaryExpression' && parent.operator === '+') {
+ parent = parent.parent
+ continue
+ }
+
+ if (
+ parent.type === 'JSXExpressionContainer' ||
+ parent.type === 'LogicalExpression' ||
+ parent.type === 'TaggedTemplateExpression'
+ ) {
+ parent = parent.parent
+ continue
+ }
+
+ // Be conservative for other types.
+ return
+ }
+ },
+ JSXElement(node) {
+ if (getTagName(node) !== 'Trans') {
+ return
+ }
+ let parent = node.parent
+ while (parent) {
+ if (parent.type === 'JSXElement') {
+ const tagName = getTagName(parent)
+ if (isTextComponent(tagName)) {
+ // We're good.
+ return
+ }
+ if (tagName === 'Trans') {
+ // Exit and rely on the traversal for this JSXElement.
+ // TODO: Should nested even be allowed?
+ return
+ }
+ const suggestedWrapper = suggestedTextWrappers[tagName]
+ let message = `Wrap this in <${suggestedWrapper ?? 'Text'}>.`
+ if (tagName !== 'View' && !suggestedWrapper) {
+ message +=
+ ' If <' +
+ tagName +
+ '> is guaranteed to render , ' +
+ 'rename it to <' +
+ tagName +
+ 'Text> or add it to impliedTextComponents.'
+ }
+ context.report({
+ node,
+ message,
+ })
+ return
+ }
+
+ if (
+ parent.type === 'JSXAttribute' &&
+ parent.name.type === 'JSXIdentifier' &&
+ parent.parent.type === 'JSXOpeningElement' &&
+ parent.parent.parent.type === 'JSXElement'
+ ) {
+ const tagName = getTagName(parent.parent.parent)
+ const propName = parent.name.name
+ if (
+ textProps.includes(tagName + ' ' + propName) ||
+ propName === 'text' ||
+ propName.endsWith('Text')
+ ) {
+ // We're good.
+ return
+ }
+ const message =
+ 'Wrap this in .' +
+ ' If `' +
+ propName +
+ '` is guaranteed to be wrapped in , ' +
+ 'rename it to `' +
+ propName +
+ 'Text' +
+ '` or add it to impliedTextProps.'
+ context.report({
+ node,
+ message,
+ })
+ return
+ }
+
+ parent = parent.parent
+ continue
+ }
+ },
+ ReturnStatement(node) {
+ let fnScope = context.getScope()
+ while (fnScope && fnScope.type !== 'function') {
+ fnScope = fnScope.upper
+ }
+ if (!fnScope) {
+ return
+ }
+ const fn = fnScope.block
+ if (!fn.id || fn.id.type !== 'Identifier' || !fn.id.name) {
+ return
+ }
+ if (!/^[A-Z]\w*Text$/.test(fn.id.name)) {
+ return
+ }
+ if (!node.argument || node.argument.type !== 'JSXElement') {
+ return
+ }
+ const openingEl = node.argument.openingElement
+ if (openingEl.name.type !== 'JSXIdentifier') {
+ return
+ }
+ const returnedComponentName = openingEl.name.name
+ if (!isTextComponent(returnedComponentName)) {
+ context.report({
+ node,
+ message:
+ 'Components ending with *Text must return or .',
+ })
+ }
+ },
+ }
+}
diff --git a/eslint/index.js b/eslint/index.js
new file mode 100644
index 0000000000..bb31a942d1
--- /dev/null
+++ b/eslint/index.js
@@ -0,0 +1,8 @@
+'use strict'
+
+module.exports = {
+ rules: {
+ 'avoid-unwrapped-text': require('./avoid-unwrapped-text'),
+ 'use-typed-gates': require('./use-typed-gates'),
+ },
+}
diff --git a/eslint/use-typed-gates.js b/eslint/use-typed-gates.js
new file mode 100644
index 0000000000..6c0331afee
--- /dev/null
+++ b/eslint/use-typed-gates.js
@@ -0,0 +1,30 @@
+'use strict'
+
+exports.create = function create(context) {
+ return {
+ ImportSpecifier(node) {
+ if (
+ !node.local ||
+ node.local.type !== 'Identifier' ||
+ node.local.name !== 'useGate'
+ ) {
+ return
+ }
+ if (
+ node.parent.type !== 'ImportDeclaration' ||
+ !node.parent.source ||
+ node.parent.source.type !== 'Literal'
+ ) {
+ return
+ }
+ const source = node.parent.source.value
+ if (source.startsWith('statsig') || source.startsWith('@statsig')) {
+ context.report({
+ node,
+ message:
+ "Use useGate() from '#/lib/statsig/statsig' instead of the one on npm.",
+ })
+ }
+ },
+ }
+}
diff --git a/jest/test-pds.ts b/jest/test-pds.ts
index 51d9643947..1c52d944c6 100644
--- a/jest/test-pds.ts
+++ b/jest/test-pds.ts
@@ -1,8 +1,8 @@
+import {AtUri, BskyAgent} from '@atproto/api'
+import {TestBsky, TestNetwork} from '@atproto/dev-env'
+import fs from 'fs'
import net from 'net'
import path from 'path'
-import fs from 'fs'
-import {TestNetwork, TestPds} from '@atproto/dev-env'
-import {AtUri, BskyAgent} from '@atproto/api'
export interface TestUser {
email: string
@@ -55,12 +55,8 @@ class StringIdGenerator {
const ids = new StringIdGenerator()
export async function createServer(
- {
- inviteRequired,
- phoneRequired,
- }: {inviteRequired: boolean; phoneRequired: boolean} = {
+ {inviteRequired}: {inviteRequired: boolean} = {
inviteRequired: false,
- phoneRequired: false,
},
): Promise {
const port = 3000
@@ -69,22 +65,11 @@ export async function createServer(
const pdsUrl = `http://localhost:${port}`
const id = ids.next()
- const phoneParams = phoneRequired
- ? {
- phoneVerificationRequired: true,
- twilioAccountSid: 'ACXXXXXXX',
- twilioAuthToken: 'AUTH',
- twilioServiceSid: 'VAXXXXXXXX',
- }
- : {}
-
const testNet = await TestNetwork.create({
pds: {
port,
hostname: 'localhost',
- dbPostgresSchema: `pds_${id}`,
inviteRequired,
- ...phoneParams,
},
bsky: {
dbPostgresSchema: `bsky_${id}`,
@@ -93,7 +78,33 @@ export async function createServer(
},
plc: {port: port2},
})
- mockTwilio(testNet.pds)
+
+ // add the test mod authority
+ const agent = new BskyAgent({service: pdsUrl})
+ const res = await agent.api.com.atproto.server.createAccount({
+ email: 'mod-authority@test.com',
+ handle: 'mod-authority.test',
+ password: 'hunter2',
+ })
+ agent.api.setHeader('Authorization', `Bearer ${res.data.accessJwt}`)
+ await agent.api.app.bsky.actor.profile.create(
+ {repo: res.data.did},
+ {
+ displayName: 'Dev-env Moderation',
+ description: `The pretend version of mod.bsky.app`,
+ },
+ )
+
+ await agent.api.app.bsky.labeler.service.create(
+ {repo: res.data.did, rkey: 'self'},
+ {
+ policies: {
+ labelValues: ['!hide', '!warn'],
+ labelValueDefinitions: [],
+ },
+ createdAt: new Date().toISOString(),
+ },
+ )
const pic = fs.readFileSync(
path.join(__dirname, '..', 'assets', 'default-avatar.png'),
@@ -151,7 +162,7 @@ class Mocker {
const inviteRes = await agent.api.com.atproto.server.createInviteCode(
{useCount: 1},
{
- headers: this.pds.adminAuthHeaders('admin'),
+ headers: this.pds.adminAuthHeaders(),
encoding: 'application/json',
},
)
@@ -162,8 +173,6 @@ class Mocker {
email,
handle: name + '.test',
password: 'hunter2',
- verificationPhone: '1234567890',
- verificationCode: '000000',
})
await agent.upsertProfile(async () => {
const blob = await agent.uploadBlob(this.pic, {
@@ -328,7 +337,7 @@ class Mocker {
await agent.api.com.atproto.server.createInviteCode(
{useCount: 1, forAccount},
{
- headers: this.pds.adminAuthHeaders('admin'),
+ headers: this.pds.adminAuthHeaders(),
encoding: 'application/json',
},
)
@@ -343,18 +352,11 @@ class Mocker {
if (!ctx) {
throw new Error('Invalid appview')
}
- const labelSrvc = ctx.services.label(ctx.db.getPrimary())
- await labelSrvc.createLabels([
- {
- // @ts-ignore
- src: ctx.cfg.labelerDid,
- uri: did,
- cid: '',
- val: label,
- neg: false,
- cts: new Date().toISOString(),
- },
- ])
+ await createLabel(this.bsky, {
+ uri: did,
+ cid: '',
+ val: label,
+ })
}
async labelProfile(label: string, user: string) {
@@ -373,18 +375,11 @@ class Mocker {
if (!ctx) {
throw new Error('Invalid appview')
}
- const labelSrvc = ctx.services.label(ctx.db.getPrimary())
- await labelSrvc.createLabels([
- {
- // @ts-ignore
- src: ctx.cfg.labelerDid,
- uri: profile.uri,
- cid: profile.cid,
- val: label,
- neg: false,
- cts: new Date().toISOString(),
- },
- ])
+ await createLabel(this.bsky, {
+ uri: profile.uri,
+ cid: profile.cid,
+ val: label,
+ })
}
async labelPost(label: string, {uri, cid}: {uri: string; cid: string}) {
@@ -392,18 +387,11 @@ class Mocker {
if (!ctx) {
throw new Error('Invalid appview')
}
- const labelSrvc = ctx.services.label(ctx.db.getPrimary())
- await labelSrvc.createLabels([
- {
- // @ts-ignore
- src: ctx.cfg.labelerDid,
- uri,
- cid,
- val: label,
- neg: false,
- cts: new Date().toISOString(),
- },
- ])
+ await createLabel(this.bsky, {
+ uri,
+ cid,
+ val: label,
+ })
}
async createMuteList(user: string, name: string): Promise {
@@ -454,14 +442,19 @@ async function getPort(start = 3000) {
throw new Error('Unable to find an available port')
}
-export const mockTwilio = (pds: TestPds) => {
- if (!pds.ctx.twilio) return
-
- pds.ctx.twilio.sendCode = async (_number: string) => {
- // do nothing
- }
-
- pds.ctx.twilio.verifyCode = async (_number: string, code: string) => {
- return code === '000000'
- }
+const createLabel = async (
+ bsky: TestBsky,
+ opts: {uri: string; cid: string; val: string},
+) => {
+ await bsky.db.db
+ .insertInto('label')
+ .values({
+ uri: opts.uri,
+ cid: opts.cid,
+ val: opts.val,
+ cts: new Date().toISOString(),
+ neg: false,
+ src: 'did:example:labeler',
+ })
+ .execute()
}
diff --git a/lingui.config.js b/lingui.config.js
index 6da69e98ed..14a94b5ded 100644
--- a/lingui.config.js
+++ b/lingui.config.js
@@ -2,19 +2,22 @@
module.exports = {
locales: [
'en',
+ 'ca',
'de',
'es',
'fi',
'fr',
+ 'ga',
'hi',
'id',
+ 'it',
'ja',
'ko',
'pt-BR',
+ 'tr',
'uk',
- 'ca',
'zh-CN',
- 'it',
+ 'zh-TW',
],
catalogs: [
{
diff --git a/modules/expo-scroll-forwarder/expo-module.config.json b/modules/expo-scroll-forwarder/expo-module.config.json
new file mode 100644
index 0000000000..1fd49f79b7
--- /dev/null
+++ b/modules/expo-scroll-forwarder/expo-module.config.json
@@ -0,0 +1,6 @@
+{
+ "platforms": ["ios"],
+ "ios": {
+ "modules": ["ExpoScrollForwarderModule"]
+ }
+}
diff --git a/modules/expo-scroll-forwarder/index.ts b/modules/expo-scroll-forwarder/index.ts
new file mode 100644
index 0000000000..a4ad4b8506
--- /dev/null
+++ b/modules/expo-scroll-forwarder/index.ts
@@ -0,0 +1 @@
+export {ExpoScrollForwarderView} from './src/ExpoScrollForwarderView'
diff --git a/modules/expo-scroll-forwarder/ios/ExpoScrollForwarder.podspec b/modules/expo-scroll-forwarder/ios/ExpoScrollForwarder.podspec
new file mode 100644
index 0000000000..78ca9812e4
--- /dev/null
+++ b/modules/expo-scroll-forwarder/ios/ExpoScrollForwarder.podspec
@@ -0,0 +1,21 @@
+Pod::Spec.new do |s|
+ s.name = 'ExpoScrollForwarder'
+ s.version = '1.0.0'
+ s.summary = 'Forward scroll gesture from UIView to UIScrollView'
+ s.description = 'Forward scroll gesture from UIView to UIScrollView'
+ s.author = 'bluesky-social'
+ s.homepage = 'https://github.com/bluesky-social/social-app'
+ s.platforms = { :ios => '13.4', :tvos => '13.4' }
+ s.source = { git: '' }
+ s.static_framework = true
+
+ s.dependency 'ExpoModulesCore'
+
+ # Swift/Objective-C compatibility
+ s.pod_target_xcconfig = {
+ 'DEFINES_MODULE' => 'YES',
+ 'SWIFT_COMPILATION_MODE' => 'wholemodule'
+ }
+
+ s.source_files = "**/*.{h,m,mm,swift,hpp,cpp}"
+end
diff --git a/modules/expo-scroll-forwarder/ios/ExpoScrollForwarderModule.swift b/modules/expo-scroll-forwarder/ios/ExpoScrollForwarderModule.swift
new file mode 100644
index 0000000000..c4ecc788e5
--- /dev/null
+++ b/modules/expo-scroll-forwarder/ios/ExpoScrollForwarderModule.swift
@@ -0,0 +1,13 @@
+import ExpoModulesCore
+
+public class ExpoScrollForwarderModule: Module {
+ public func definition() -> ModuleDefinition {
+ Name("ExpoScrollForwarder")
+
+ View(ExpoScrollForwarderView.self) {
+ Prop("scrollViewTag") { (view: ExpoScrollForwarderView, prop: Int) in
+ view.scrollViewTag = prop
+ }
+ }
+ }
+}
diff --git a/modules/expo-scroll-forwarder/ios/ExpoScrollForwarderView.swift b/modules/expo-scroll-forwarder/ios/ExpoScrollForwarderView.swift
new file mode 100644
index 0000000000..9c0e2f8728
--- /dev/null
+++ b/modules/expo-scroll-forwarder/ios/ExpoScrollForwarderView.swift
@@ -0,0 +1,215 @@
+import ExpoModulesCore
+
+// This view will be used as a native component. Make sure to inherit from `ExpoView`
+// to apply the proper styling (e.g. border radius and shadows).
+class ExpoScrollForwarderView: ExpoView, UIGestureRecognizerDelegate {
+ var scrollViewTag: Int? {
+ didSet {
+ self.tryFindScrollView()
+ }
+ }
+
+ private var rctScrollView: RCTScrollView?
+ private var rctRefreshCtrl: RCTRefreshControl?
+ private var cancelGestureRecognizers: [UIGestureRecognizer]?
+ private var animTimer: Timer?
+ private var initialOffset: CGFloat = 0.0
+ private var didImpact: Bool = false
+
+ required init(appContext: AppContext? = nil) {
+ super.init(appContext: appContext)
+
+ let pg = UIPanGestureRecognizer(target: self, action: #selector(callOnPan(_:)))
+ pg.delegate = self
+ self.addGestureRecognizer(pg)
+
+ let tg = UITapGestureRecognizer(target: self, action: #selector(callOnPress(_:)))
+ tg.isEnabled = false
+ tg.delegate = self
+
+ let lpg = UILongPressGestureRecognizer(target: self, action: #selector(callOnPress(_:)))
+ lpg.minimumPressDuration = 0.01
+ lpg.isEnabled = false
+ lpg.delegate = self
+
+ self.cancelGestureRecognizers = [lpg, tg]
+ }
+
+
+ // We don't want to recognize the scroll pan gesture and the swipe back gesture together
+ func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWith otherGestureRecognizer: UIGestureRecognizer) -> Bool {
+ if gestureRecognizer is UIPanGestureRecognizer, otherGestureRecognizer is UIPanGestureRecognizer {
+ return false
+ }
+
+ return true
+ }
+
+ // We only want the "scroll" gesture to happen whenever the pan is vertical, otherwise it will
+ // interfere with the native swipe back gesture.
+ override func gestureRecognizerShouldBegin(_ gestureRecognizer: UIGestureRecognizer) -> Bool {
+ guard let gestureRecognizer = gestureRecognizer as? UIPanGestureRecognizer else {
+ return true
+ }
+
+ let velocity = gestureRecognizer.velocity(in: self)
+ return abs(velocity.y) > abs(velocity.x)
+ }
+
+ // This will be used to cancel the scroll animation whenever we tap inside of the header. We don't need another
+ // recognizer for this one.
+ override func touchesBegan(_ touches: Set, with event: UIEvent?) {
+ self.stopTimer()
+ }
+
+ // This will be used to cancel the animation whenever we press inside of the scroll view. We don't want to change
+ // the scroll view gesture's delegate, so we add an additional recognizer to detect this.
+ @IBAction func callOnPress(_ sender: UITapGestureRecognizer) -> Void {
+ self.stopTimer()
+ }
+
+ @IBAction func callOnPan(_ sender: UIPanGestureRecognizer) -> Void {
+ guard let rctsv = self.rctScrollView, let sv = rctsv.scrollView else {
+ return
+ }
+
+ let translation = sender.translation(in: self).y
+
+ if sender.state == .began {
+ if sv.contentOffset.y < 0 {
+ sv.contentOffset.y = 0
+ }
+
+ self.initialOffset = sv.contentOffset.y
+ }
+
+ if sender.state == .changed {
+ sv.contentOffset.y = self.dampenOffset(-translation + self.initialOffset)
+
+ if sv.contentOffset.y <= -130, !didImpact {
+ let generator = UIImpactFeedbackGenerator(style: .light)
+ generator.impactOccurred()
+
+ self.didImpact = true
+ }
+ }
+
+ if sender.state == .ended {
+ let velocity = sender.velocity(in: self).y
+ self.didImpact = false
+
+ if sv.contentOffset.y <= -130 {
+ self.rctRefreshCtrl?.forwarderBeginRefreshing()
+ return
+ }
+
+ // A check for a velocity under 250 prevents animations from occurring when they wouldn't in a normal
+ // scroll view
+ if abs(velocity) < 250, sv.contentOffset.y >= 0 {
+ return
+ }
+
+ self.startDecayAnimation(translation, velocity)
+ }
+ }
+
+ func startDecayAnimation(_ translation: CGFloat, _ velocity: CGFloat) {
+ guard let sv = self.rctScrollView?.scrollView else {
+ return
+ }
+
+ var velocity = velocity
+
+ self.enableCancelGestureRecognizers()
+
+ if velocity > 0 {
+ velocity = min(velocity, 5000)
+ } else {
+ velocity = max(velocity, -5000)
+ }
+
+ var animTranslation = -translation
+ self.animTimer = Timer.scheduledTimer(withTimeInterval: 1.0 / 120, repeats: true) { timer in
+ velocity *= 0.9875
+ animTranslation = (-velocity / 120) + animTranslation
+
+ let nextOffset = self.dampenOffset(animTranslation + self.initialOffset)
+
+ if nextOffset <= 0 {
+ if self.initialOffset <= 1 {
+ self.scrollToOffset(0)
+ } else {
+ sv.contentOffset.y = 0
+ }
+
+ self.stopTimer()
+ return
+ } else {
+ sv.contentOffset.y = nextOffset
+ }
+
+ if abs(velocity) < 5 {
+ self.stopTimer()
+ }
+ }
+ }
+
+ func dampenOffset(_ offset: CGFloat) -> CGFloat {
+ if offset < 0 {
+ return offset - (offset * 0.55)
+ }
+
+ return offset
+ }
+
+ func tryFindScrollView() {
+ guard let scrollViewTag = scrollViewTag else {
+ return
+ }
+
+ // Before we switch to a different scrollview, we always want to remove the cancel gesture recognizer.
+ // Otherwise we might end up with duplicates when we switch back to that scrollview.
+ self.removeCancelGestureRecognizers()
+
+ self.rctScrollView = self.appContext?
+ .findView(withTag: scrollViewTag, ofType: RCTScrollView.self)
+ self.rctRefreshCtrl = self.rctScrollView?.scrollView.refreshControl as? RCTRefreshControl
+
+ self.addCancelGestureRecognizers()
+ }
+
+ func addCancelGestureRecognizers() {
+ self.cancelGestureRecognizers?.forEach { r in
+ self.rctScrollView?.scrollView?.addGestureRecognizer(r)
+ }
+ }
+
+ func removeCancelGestureRecognizers() {
+ self.cancelGestureRecognizers?.forEach { r in
+ self.rctScrollView?.scrollView?.removeGestureRecognizer(r)
+ }
+ }
+
+
+ func enableCancelGestureRecognizers() {
+ self.cancelGestureRecognizers?.forEach { r in
+ r.isEnabled = true
+ }
+ }
+
+ func disableCancelGestureRecognizers() {
+ self.cancelGestureRecognizers?.forEach { r in
+ r.isEnabled = false
+ }
+ }
+
+ func scrollToOffset(_ offset: Int, animated: Bool = true) -> Void {
+ self.rctScrollView?.scroll(toOffset: CGPoint(x: 0, y: offset), animated: animated)
+ }
+
+ func stopTimer() -> Void {
+ self.disableCancelGestureRecognizers()
+ self.animTimer?.invalidate()
+ self.animTimer = nil
+ }
+}
diff --git a/modules/expo-scroll-forwarder/src/ExpoScrollForwarder.types.ts b/modules/expo-scroll-forwarder/src/ExpoScrollForwarder.types.ts
new file mode 100644
index 0000000000..26b9e7553a
--- /dev/null
+++ b/modules/expo-scroll-forwarder/src/ExpoScrollForwarder.types.ts
@@ -0,0 +1,6 @@
+import React from 'react'
+
+export interface ExpoScrollForwarderViewProps {
+ scrollViewTag: number | null
+ children: React.ReactNode
+}
diff --git a/modules/expo-scroll-forwarder/src/ExpoScrollForwarderView.ios.tsx b/modules/expo-scroll-forwarder/src/ExpoScrollForwarderView.ios.tsx
new file mode 100644
index 0000000000..a91aebd4dc
--- /dev/null
+++ b/modules/expo-scroll-forwarder/src/ExpoScrollForwarderView.ios.tsx
@@ -0,0 +1,13 @@
+import {requireNativeViewManager} from 'expo-modules-core'
+import * as React from 'react'
+import {ExpoScrollForwarderViewProps} from './ExpoScrollForwarder.types'
+
+const NativeView: React.ComponentType =
+ requireNativeViewManager('ExpoScrollForwarder')
+
+export function ExpoScrollForwarderView({
+ children,
+ ...rest
+}: ExpoScrollForwarderViewProps) {
+ return {children}
+}
diff --git a/modules/expo-scroll-forwarder/src/ExpoScrollForwarderView.tsx b/modules/expo-scroll-forwarder/src/ExpoScrollForwarderView.tsx
new file mode 100644
index 0000000000..93e69333fd
--- /dev/null
+++ b/modules/expo-scroll-forwarder/src/ExpoScrollForwarderView.tsx
@@ -0,0 +1,7 @@
+import React from 'react'
+import {ExpoScrollForwarderViewProps} from './ExpoScrollForwarder.types'
+export function ExpoScrollForwarderView({
+ children,
+}: React.PropsWithChildren) {
+ return children
+}
diff --git a/modules/react-native-ui-text-view/README.md b/modules/react-native-ui-text-view/README.md
deleted file mode 100644
index b19ac89670..0000000000
--- a/modules/react-native-ui-text-view/README.md
+++ /dev/null
@@ -1,61 +0,0 @@
-# React Native UITextView
-
-Drop in replacement for `` that renders a `UITextView`, support selection and native translation features on iOS.
-
-## Installation
-
-In this project, no installation is required. The pod will be installed automatically during a `pod install`.
-
-In another project, clone the repo and copy the `modules/react-native-ui-text-view` directory to your own project
-directory. Afterward, run `pod install`.
-
-## Usage
-
-Replace the outermost `` with ``. Styles and press events should be handled the same way they would
-with ``. Both `` and `` are supported as children of the root ``.
-
-## Technical
-
-React Native's `Text` component allows for "infinite" nesting of further `Text` components. To make a true "drop-in",
-we want to do the same thing.
-
-To achieve this, we first need to handle determining if we are dealing with an ancestor or root `UITextView` component.
-We can implement similar logic to the `Text` component [see Text.js](https://github.com/facebook/react-native/blob/7f2529de7bc9ab1617eaf571e950d0717c3102a6/packages/react-native/Libraries/Text/Text.js).
-
-We create a context that contains a boolean to tell us if we have already rendered the root `UITextView`. We also store
-the root styles so that we can apply those styles if the ancestor `UITextView`s have not overwritten those styles.
-
-All of our children are placed into `RNUITextView`, which is the main native view that will display the iOS `UITextView`.
-
-We next map each child into the view. We have to be careful here to check if the child's `children` prop is a string. If
-it is, that means we have encountered what was once an RN `Text` component. RN doesn't let us pass plain text as
-children outside of `Text`, so we instead just pass the text into the `text` prop on `RNUITextViewChild`. We continue
-down the tree, until we run out of children.
-
-On the native side, we make use of the shadow view to calculate text container dimensions before the views are mounted.
-We cannot simply set the `UITextView` text first, since React will not have properly measured the layout before this
-occurs.
-
-
-As for `Text` props, the following props are implemented:
-
-- All accessibility props
-- `allowFontScaling`
-- `adjustsFontSizeToFit`
-- `ellipsizeMode`
-- `numberOfLines`
-- `onLayout`
-- `onPress`
-- `onTextLayout`
-- `selectable`
-
-All `ViewStyle` props will apply to the root `UITextView`. Individual children will respect these `TextStyle` styles:
-
-- `color`
-- `fontSize`
-- `fontStyle`
-- `fontWeight`
-- `fontVariant`
-- `letterSpacing`
-- `lineHeight`
-- `textDecorationLine`
diff --git a/modules/react-native-ui-text-view/ios/RNUITextView-Bridging-Header.h b/modules/react-native-ui-text-view/ios/RNUITextView-Bridging-Header.h
deleted file mode 100644
index e669b47eb2..0000000000
--- a/modules/react-native-ui-text-view/ios/RNUITextView-Bridging-Header.h
+++ /dev/null
@@ -1,3 +0,0 @@
-#import
-#import
-#import
diff --git a/modules/react-native-ui-text-view/ios/RNUITextView.swift b/modules/react-native-ui-text-view/ios/RNUITextView.swift
deleted file mode 100644
index 3fb55873dc..0000000000
--- a/modules/react-native-ui-text-view/ios/RNUITextView.swift
+++ /dev/null
@@ -1,153 +0,0 @@
-class RNUITextView: UIView {
- var textView: UITextView
-
- @objc var numberOfLines: Int = 0 {
- didSet {
- textView.textContainer.maximumNumberOfLines = numberOfLines
- }
- }
- @objc var selectable: Bool = true {
- didSet {
- textView.isSelectable = selectable
- }
- }
- @objc var ellipsizeMode: String = "tail" {
- didSet {
- textView.textContainer.lineBreakMode = self.getLineBreakMode()
- }
- }
- @objc var onTextLayout: RCTDirectEventBlock?
-
- override init(frame: CGRect) {
- if #available(iOS 16.0, *) {
- textView = UITextView(usingTextLayoutManager: false)
- } else {
- textView = UITextView()
- }
-
- // Disable scrolling
- textView.isScrollEnabled = false
- // Remove all the padding
- textView.textContainerInset = .zero
- textView.textContainer.lineFragmentPadding = 0
-
- // Remove other properties
- textView.isEditable = false
- textView.backgroundColor = .clear
-
- // Init
- super.init(frame: frame)
- self.clipsToBounds = true
-
- // Add the view
- addSubview(textView)
-
- let tapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(callOnPress(_:)))
- tapGestureRecognizer.isEnabled = true
- textView.addGestureRecognizer(tapGestureRecognizer)
- }
-
- required init?(coder: NSCoder) {
- fatalError("init(coder:) has not been implemented")
- }
-
- // Resolves some animation issues
- override func reactSetFrame(_ frame: CGRect) {
- UIView.performWithoutAnimation {
- super.reactSetFrame(frame)
- }
- }
-
- func setText(string: NSAttributedString, size: CGSize, numberOfLines: Int) -> Void {
- self.textView.frame.size = size
- self.textView.textContainer.maximumNumberOfLines = numberOfLines
- self.textView.attributedText = string
- self.textView.selectedTextRange = nil
-
- if let onTextLayout = self.onTextLayout {
- var lines: [String] = []
- textView.layoutManager.enumerateLineFragments(
- forGlyphRange: NSRange(location: 0, length: textView.attributedText.length))
- { (rect, usedRect, textContainer, glyphRange, stop) in
- let characterRange = self.textView.layoutManager.characterRange(forGlyphRange: glyphRange, actualGlyphRange: nil)
- let line = (self.textView.text as NSString).substring(with: characterRange)
- lines.append(line)
- }
-
- onTextLayout([
- "lines": lines
- ])
- }
- }
-
- @IBAction func callOnPress(_ sender: UITapGestureRecognizer) -> Void {
- // If we find a child, then call onPress
- if let child = getPressed(sender) {
- if textView.selectedTextRange == nil, let onPress = child.onPress {
- onPress(["": ""])
- } else {
- // Clear the selected text range if we are not pressing on a link
- textView.selectedTextRange = nil
- }
- }
- }
-
- // Try to get the pressed segment
- func getPressed(_ sender: UITapGestureRecognizer) -> RNUITextViewChild? {
- let layoutManager = textView.layoutManager
- var location = sender.location(in: textView)
-
- // Remove the padding
- location.x -= textView.textContainerInset.left
- location.y -= textView.textContainerInset.top
-
- // Get the index of the char
- let charIndex = layoutManager.characterIndex(
- for: location,
- in: textView.textContainer,
- fractionOfDistanceBetweenInsertionPoints: nil
- )
-
- var lastUpperBound: String.Index? = nil
- for child in self.reactSubviews() {
- if let child = child as? RNUITextViewChild, let childText = child.text {
- let fullText = self.textView.attributedText.string
-
- // We want to skip over the children we have already checked, otherwise we could run into
- // collisions of similar strings (i.e. links that get shortened to the same hostname but
- // different paths)
- let range = fullText.range(of: childText, options: [], range: (lastUpperBound ?? String.Index(utf16Offset: 0, in: fullText) )..= lowerOffset,
- charIndex <= upperOffset
- {
- return child
- } else {
- lastUpperBound = upperBound
- }
- }
- }
- }
-
- return nil
- }
-
- func getLineBreakMode() -> NSLineBreakMode {
- switch self.ellipsizeMode {
- case "head":
- return .byTruncatingHead
- case "middle":
- return .byTruncatingMiddle
- case "tail":
- return .byTruncatingTail
- case "clip":
- return .byClipping
- default:
- return .byTruncatingTail
- }
- }
-}
diff --git a/modules/react-native-ui-text-view/ios/RNUITextViewChild.swift b/modules/react-native-ui-text-view/ios/RNUITextViewChild.swift
deleted file mode 100644
index c341c46e44..0000000000
--- a/modules/react-native-ui-text-view/ios/RNUITextViewChild.swift
+++ /dev/null
@@ -1,4 +0,0 @@
-class RNUITextViewChild: UIView {
- @objc var text: String?
- @objc var onPress: RCTDirectEventBlock?
-}
diff --git a/modules/react-native-ui-text-view/ios/RNUITextViewChildShadow.swift b/modules/react-native-ui-text-view/ios/RNUITextViewChildShadow.swift
deleted file mode 100644
index 09119a369b..0000000000
--- a/modules/react-native-ui-text-view/ios/RNUITextViewChildShadow.swift
+++ /dev/null
@@ -1,56 +0,0 @@
-// We want all of our props to be available in the child's shadow view so we
-// can create the attributed text before mount and calculate the needed size
-// for the view.
-class RNUITextViewChildShadow: RCTShadowView {
- @objc var text: String = ""
- @objc var color: UIColor = .black
- @objc var fontSize: CGFloat = 16.0
- @objc var fontStyle: String = "normal"
- @objc var fontWeight: String = "normal"
- @objc var letterSpacing: CGFloat = 0.0
- @objc var lineHeight: CGFloat = 0.0
- @objc var pointerEvents: NSString?
-
- override func isYogaLeafNode() -> Bool {
- return true
- }
-
- override func didSetProps(_ changedProps: [String]!) {
- guard let superview = self.superview as? RNUITextViewShadow else {
- return
- }
-
- if !YGNodeIsDirty(superview.yogaNode) {
- superview.setAttributedText()
- }
- }
-
- func getFontWeight() -> UIFont.Weight {
- switch self.fontWeight {
- case "bold":
- return .bold
- case "normal":
- return .regular
- case "100":
- return .ultraLight
- case "200":
- return .ultraLight
- case "300":
- return .light
- case "400":
- return .regular
- case "500":
- return .medium
- case "600":
- return .semibold
- case "700":
- return .semibold
- case "800":
- return .bold
- case "900":
- return .heavy
- default:
- return .regular
- }
- }
-}
diff --git a/modules/react-native-ui-text-view/ios/RNUITextViewManager.m b/modules/react-native-ui-text-view/ios/RNUITextViewManager.m
deleted file mode 100644
index 32dfb3b285..0000000000
--- a/modules/react-native-ui-text-view/ios/RNUITextViewManager.m
+++ /dev/null
@@ -1,26 +0,0 @@
-#import
-
-@interface RCT_EXTERN_MODULE(RNUITextViewManager, RCTViewManager)
-RCT_REMAP_SHADOW_PROPERTY(numberOfLines, numberOfLines, NSInteger)
-RCT_REMAP_SHADOW_PROPERTY(allowsFontScaling, allowsFontScaling, BOOL)
-
-RCT_EXPORT_VIEW_PROPERTY(numberOfLines, NSInteger)
-RCT_EXPORT_VIEW_PROPERTY(onTextLayout, RCTDirectEventBlock)
-RCT_EXPORT_VIEW_PROPERTY(ellipsizeMode, NSString)
-RCT_EXPORT_VIEW_PROPERTY(selectable, BOOL)
-
-@end
-
-@interface RCT_EXTERN_MODULE(RNUITextViewChildManager, RCTViewManager)
-RCT_REMAP_SHADOW_PROPERTY(text, text, NSString)
-RCT_REMAP_SHADOW_PROPERTY(color, color, UIColor)
-RCT_REMAP_SHADOW_PROPERTY(fontSize, fontSize, CGFloat)
-RCT_REMAP_SHADOW_PROPERTY(fontStyle, fontStyle, NSString)
-RCT_REMAP_SHADOW_PROPERTY(fontWeight, fontWeight, NSString)
-RCT_REMAP_SHADOW_PROPERTY(letterSpacing, letterSpacing, CGFloat)
-RCT_REMAP_SHADOW_PROPERTY(lineHeight, lineHeight, CGFloat)
-RCT_REMAP_SHADOW_PROPERTY(pointerEvents, pointerEvents, NSString)
-
-RCT_EXPORT_VIEW_PROPERTY(text, NSString)
-RCT_EXPORT_VIEW_PROPERTY(onPress, RCTBubblingEventBlock)
-@end
diff --git a/modules/react-native-ui-text-view/ios/RNUITextViewManager.swift b/modules/react-native-ui-text-view/ios/RNUITextViewManager.swift
deleted file mode 100644
index 297bcbbb26..0000000000
--- a/modules/react-native-ui-text-view/ios/RNUITextViewManager.swift
+++ /dev/null
@@ -1,30 +0,0 @@
-@objc(RNUITextViewManager)
-class RNUITextViewManager: RCTViewManager {
- override func view() -> (RNUITextView) {
- return RNUITextView()
- }
-
- @objc override static func requiresMainQueueSetup() -> Bool {
- return true
- }
-
- override func shadowView() -> RCTShadowView {
- // Pass the bridge to the shadow view
- return RNUITextViewShadow(bridge: self.bridge)
- }
-}
-
-@objc(RNUITextViewChildManager)
-class RNUITextViewChildManager: RCTViewManager {
- override func view() -> (RNUITextViewChild) {
- return RNUITextViewChild()
- }
-
- @objc override static func requiresMainQueueSetup() -> Bool {
- return true
- }
-
- override func shadowView() -> RCTShadowView {
- return RNUITextViewChildShadow()
- }
-}
diff --git a/modules/react-native-ui-text-view/ios/RNUITextViewShadow.swift b/modules/react-native-ui-text-view/ios/RNUITextViewShadow.swift
deleted file mode 100644
index 5a462f6b62..0000000000
--- a/modules/react-native-ui-text-view/ios/RNUITextViewShadow.swift
+++ /dev/null
@@ -1,152 +0,0 @@
-class RNUITextViewShadow: RCTShadowView {
- // Props
- @objc var numberOfLines: Int = 0 {
- didSet {
- if !YGNodeIsDirty(self.yogaNode) {
- self.setAttributedText()
- }
- }
- }
- @objc var allowsFontScaling: Bool = true
-
- var attributedText: NSAttributedString = NSAttributedString()
- var frameSize: CGSize = CGSize()
-
- var lineHeight: CGFloat = 0
-
- var bridge: RCTBridge
-
- init(bridge: RCTBridge) {
- self.bridge = bridge
- super.init()
-
- // We need to set a custom measure func here to calculate the height correctly
- YGNodeSetMeasureFunc(self.yogaNode) { node, width, widthMode, height, heightMode in
- // Get the shadowview and determine the needed size to set
- let shadowView = Unmanaged.fromOpaque(YGNodeGetContext(node)).takeUnretainedValue()
- return shadowView.getNeededSize(maxWidth: width)
- }
-
- // Subscribe to ynamic type size changes
- NotificationCenter.default.addObserver(
- self,
- selector: #selector(preferredContentSizeChanged(_:)),
- name: UIContentSizeCategory.didChangeNotification,
- object: nil
- )
- }
-
- @objc func preferredContentSizeChanged(_ notification: Notification) {
- self.setAttributedText()
- }
-
- // Returning true here will tell Yoga to not use flexbox and instead use our custom measure func.
- override func isYogaLeafNode() -> Bool {
- return true
- }
-
- // We should only insert children that are UITextView shadows
- override func insertReactSubview(_ subview: RCTShadowView!, at atIndex: Int) {
- if subview.isKind(of: RNUITextViewChildShadow.self) {
- super.insertReactSubview(subview, at: atIndex)
- }
- }
-
- // Every time the subviews change, we need to reformat and render the text.
- override func didUpdateReactSubviews() {
- self.setAttributedText()
- }
-
- // Whenever we layout, update the UI
- override func layoutSubviews(with layoutContext: RCTLayoutContext) {
- // Don't do anything if the layout is dirty
- if(YGNodeIsDirty(self.yogaNode)) {
- return
- }
-
- // Since we are inside the shadow view here, we have to find the real view and update the text.
- self.bridge.uiManager.addUIBlock { uiManager, viewRegistry in
- guard let textView = viewRegistry?[self.reactTag] as? RNUITextView else {
- return
- }
- textView.setText(string: self.attributedText, size: self.frameSize, numberOfLines: self.numberOfLines)
- }
- }
-
- override func dirtyLayout() {
- super.dirtyLayout()
- YGNodeMarkDirty(self.yogaNode)
- }
-
- // Update the attributed text whenever changes are made to the subviews.
- func setAttributedText() -> Void {
- // Create an attributed string to store each of the segments
- let finalAttributedString = NSMutableAttributedString()
-
- self.reactSubviews().forEach { child in
- guard let child = child as? RNUITextViewChildShadow else {
- return
- }
- let scaledFontSize = self.allowsFontScaling ?
- UIFontMetrics.default.scaledValue(for: child.fontSize) : child.fontSize
- let font = UIFont.systemFont(ofSize: scaledFontSize, weight: child.getFontWeight())
-
- // Set some generic attributes that don't need ranges
- let attributes: [NSAttributedString.Key:Any] = [
- .font: font,
- .foregroundColor: child.color,
- ]
-
- // Create the attributed string with the generic attributes
- let string = NSMutableAttributedString(string: child.text, attributes: attributes)
-
- // Set the paragraph style attributes if necessary. We can check this by seeing if the provided
- // line height is not 0.0.
- let paragraphStyle = NSMutableParagraphStyle()
- if child.lineHeight != 0.0 {
- // Whenever we change the line height for the text, we are also removing the DynamicType
- // adjustment for line height. We need to get the multiplier and apply that to the
- // line height.
- let scaleMultiplier = scaledFontSize / child.fontSize
- paragraphStyle.minimumLineHeight = child.lineHeight * scaleMultiplier
- paragraphStyle.maximumLineHeight = child.lineHeight * scaleMultiplier
-
- string.addAttribute(
- NSAttributedString.Key.paragraphStyle,
- value: paragraphStyle,
- range: NSMakeRange(0, string.length)
- )
-
- // To calcualte the size of the text without creating a new UILabel or UITextView, we have
- // to store this line height for later.
- self.lineHeight = child.lineHeight
- } else {
- self.lineHeight = font.lineHeight
- }
-
- finalAttributedString.append(string)
- }
-
- self.attributedText = finalAttributedString
- self.dirtyLayout()
- }
-
- // To create the needed size we need to:
- // 1. Get the max size that we can use for the view
- // 2. Calculate the height of the text based on that max size
- // 3. Determine how many lines the text is, and limit that number if it exceeds the max
- // 4. Set the frame size and return the YGSize. YGSize requires Float values while CGSize needs CGFloat
- func getNeededSize(maxWidth: Float) -> YGSize {
- let maxSize = CGSize(width: CGFloat(maxWidth), height: CGFloat(MAXFLOAT))
- let textSize = self.attributedText.boundingRect(with: maxSize, options: .usesLineFragmentOrigin, context: nil)
-
- var totalLines = Int(ceil(textSize.height / self.lineHeight))
-
- if self.numberOfLines != 0, totalLines > self.numberOfLines {
- totalLines = self.numberOfLines
- }
-
- self.frameSize = CGSize(width: CGFloat(maxWidth), height: CGFloat(CGFloat(totalLines) * self.lineHeight))
- return YGSize(width: Float(self.frameSize.width), height: Float(self.frameSize.height))
- }
-}
diff --git a/modules/react-native-ui-text-view/package.json b/modules/react-native-ui-text-view/package.json
deleted file mode 100644
index 184a9014e8..0000000000
--- a/modules/react-native-ui-text-view/package.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "name": "react-native-ui-text-view",
- "version": "0.1.0",
- "description": "UITextView in React Native on iOS",
- "main": "src/index",
- "author": "haileyok",
- "license": "MIT",
- "homepage": "https://github.com/bluesky-social/social-app/modules/react-native-ui-text-view"
-}
diff --git a/modules/react-native-ui-text-view/react-native-ui-text-view.podspec b/modules/react-native-ui-text-view/react-native-ui-text-view.podspec
deleted file mode 100644
index 1e0dee93f8..0000000000
--- a/modules/react-native-ui-text-view/react-native-ui-text-view.podspec
+++ /dev/null
@@ -1,42 +0,0 @@
-require "json"
-
-package = JSON.parse(File.read(File.join(__dir__, "package.json")))
-folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32'
-
-Pod::Spec.new do |s|
- s.name = "react-native-ui-text-view"
- s.version = package["version"]
- s.summary = package["description"]
- s.homepage = package["homepage"]
- s.license = package["license"]
- s.authors = package["author"]
-
- s.platforms = { :ios => "11.0" }
- s.source = { :git => ".git", :tag => "#{s.version}" }
-
- s.source_files = "ios/**/*.{h,m,mm,swift}"
-
- # Use install_modules_dependencies helper to install the dependencies if React Native version >=0.71.0.
- # See https://github.com/facebook/react-native/blob/febf6b7f33fdb4904669f99d795eba4c0f95d7bf/scripts/cocoapods/new_architecture.rb#L79.
- if respond_to?(:install_modules_dependencies, true)
- install_modules_dependencies(s)
- else
- s.dependency "React-Core"
-
- # Don't install the dependencies when we run `pod install` in the old architecture.
- if ENV['RCT_NEW_ARCH_ENABLED'] == '1' then
- s.compiler_flags = folly_compiler_flags + " -DRCT_NEW_ARCH_ENABLED=1"
- s.pod_target_xcconfig = {
- "HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/boost\"",
- "OTHER_CPLUSPLUSFLAGS" => "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1",
- "CLANG_CXX_LANGUAGE_STANDARD" => "c++17"
- }
- s.dependency "React-RCTFabric"
- s.dependency "React-Codegen"
- s.dependency "RCT-Folly"
- s.dependency "RCTRequired"
- s.dependency "RCTTypeSafety"
- s.dependency "ReactCommon/turbomodule/core"
- end
- end
-end
diff --git a/modules/react-native-ui-text-view/src/UITextView.tsx b/modules/react-native-ui-text-view/src/UITextView.tsx
deleted file mode 100644
index bbb45dccc6..0000000000
--- a/modules/react-native-ui-text-view/src/UITextView.tsx
+++ /dev/null
@@ -1,76 +0,0 @@
-import React from 'react'
-import {Platform, StyleSheet, TextProps, ViewStyle} from 'react-native'
-import {RNUITextView, RNUITextViewChild} from './index'
-
-const TextAncestorContext = React.createContext<[boolean, ViewStyle]>([
- false,
- StyleSheet.create({}),
-])
-const useTextAncestorContext = () => React.useContext(TextAncestorContext)
-
-const textDefaults: TextProps = {
- allowFontScaling: true,
- selectable: true,
-}
-
-export function UITextView({style, children, ...rest}: TextProps) {
- const [isAncestor, rootStyle] = useTextAncestorContext()
-
- // Flatten the styles, and apply the root styles when needed
- const flattenedStyle = React.useMemo(
- () => StyleSheet.flatten([rootStyle, style]),
- [rootStyle, style],
- )
-
- if (Platform.OS !== 'ios') {
- throw new Error('UITextView is only available on iOS')
- }
-
- if (!isAncestor) {
- return (
-
-
- {React.Children.toArray(children).map((c, index) => {
- if (React.isValidElement(c)) {
- return c
- } else if (typeof c === 'string') {
- return (
-
- )
- }
- })}
-
-
- )
- } else {
- return (
- <>
- {React.Children.toArray(children).map((c, index) => {
- if (React.isValidElement(c)) {
- return c
- } else if (typeof c === 'string') {
- return (
-
- )
- }
- })}
- >
- )
- }
-}
diff --git a/modules/react-native-ui-text-view/src/index.tsx b/modules/react-native-ui-text-view/src/index.tsx
deleted file mode 100644
index d5bde136f7..0000000000
--- a/modules/react-native-ui-text-view/src/index.tsx
+++ /dev/null
@@ -1,42 +0,0 @@
-import {
- requireNativeComponent,
- UIManager,
- Platform,
- type ViewStyle,
- TextProps,
-} from 'react-native'
-
-const LINKING_ERROR =
- `The package 'react-native-ui-text-view' doesn't seem to be linked. Make sure: \n\n` +
- Platform.select({ios: "- You have run 'pod install'\n", default: ''}) +
- '- You rebuilt the app after installing the package\n' +
- '- You are not using Expo Go\n'
-
-export interface RNUITextViewProps extends TextProps {
- children: React.ReactNode
- style: ViewStyle[]
-}
-
-export interface RNUITextViewChildProps extends TextProps {
- text: string
- onTextPress?: (...args: any[]) => void
- onTextLongPress?: (...args: any[]) => void
-}
-
-export const RNUITextView =
- UIManager.getViewManagerConfig &&
- UIManager.getViewManagerConfig('RNUITextView') != null
- ? requireNativeComponent('RNUITextView')
- : () => {
- throw new Error(LINKING_ERROR)
- }
-
-export const RNUITextViewChild =
- UIManager.getViewManagerConfig &&
- UIManager.getViewManagerConfig('RNUITextViewChild') != null
- ? requireNativeComponent('RNUITextViewChild')
- : () => {
- throw new Error(LINKING_ERROR)
- }
-
-export * from './UITextView'
diff --git a/package.json b/package.json
index a5ee495628..176038e15d 100644
--- a/package.json
+++ b/package.json
@@ -1,10 +1,11 @@
{
"name": "bsky.app",
- "version": "1.73.0",
+ "version": "1.77.0",
"private": true,
"engines": {
"node": ">=18"
},
+ "packageManager": "yarn@1.22.19",
"scripts": {
"prepare": "is-ci || husky install",
"postinstall": "patch-package && yarn intl:compile",
@@ -13,11 +14,13 @@
"ios": "expo run:ios",
"web": "expo start --web",
"use-build-number": "./scripts/useBuildNumberEnv.sh",
+ "use-build-number-with-bump": "./scripts/useBuildNumberEnvWithBump.sh",
"build-web": "expo export:web && node ./scripts/post-web-build.js && cp -v ./web-build/static/js/*.* ./bskyweb/static/js/",
- "build-all": "yarn intl:build && yarn use-build-number eas build --platform all",
- "build-ios": "yarn use-build-number eas build -p ios",
- "build-android": "yarn use-build-number eas build -p android",
- "build": "yarn use-build-number eas build",
+ "build-all": "yarn intl:build && yarn use-build-number-with-bump eas build --platform all",
+ "build-ios": "yarn use-build-number-with-bump eas build -p ios",
+ "build-android": "yarn use-build-number-with-bump eas build -p android",
+ "build": "yarn use-build-number-with-bump eas build",
+ "build-embed": "cd bskyembed && yarn build && yarn build-snippet && cd .. && node ./scripts/post-embed-build.js",
"start": "expo start --dev-client",
"start:prod": "expo start --dev-client --no-dev --minify",
"clean-cache": "rm -rf node_modules/.cache/babel-loader/*",
@@ -25,7 +28,7 @@
"test-watch": "NODE_ENV=test jest --watchAll",
"test-ci": "NODE_ENV=test jest --ci --forceExit --reporters=default --reporters=jest-junit",
"test-coverage": "NODE_ENV=test jest --coverage",
- "lint": "eslint ./src --ext .js,.jsx,.ts,.tsx",
+ "lint": "eslint --cache --ext .js,.jsx,.ts,.tsx src",
"typecheck": "tsc --project ./tsconfig.check.json",
"e2e:mock-server": "./jest/dev-infra/with-test-redis-and-db.sh ts-node --project tsconfig.e2e.json __e2e__/mock-server.ts",
"e2e:metro": "NODE_ENV=test RN_SRC_EXT=e2e.ts,e2e.tsx expo run:ios",
@@ -33,38 +36,38 @@
"e2e:run": "NODE_ENV=test detox test --configuration ios.sim.debug --take-screenshots all",
"perf:test": "NODE_ENV=test maestro test",
"perf:test:run": "NODE_ENV=test maestro test __e2e__/maestro/scroll.yaml",
- "perf:test:measure": "NODE_ENV=test flashlight test --bundleId xyz.blueskyweb.app --testCommand 'yarn perf:test' --duration 150000 --resultsFilePath .perf/results.json",
+ "perf:test:measure": "NODE_ENV=test flashlight test --bundleId xyz.blueskyweb.app --testCommand \"yarn perf:test\" --duration 150000 --resultsFilePath .perf/results.json",
"perf:test:results": "NODE_ENV=test flashlight report .perf/results.json",
"perf:measure": "NODE_ENV=test flashlight measure",
"intl:build": "yarn intl:extract && yarn intl:compile",
- "intl:check": "yarn intl:extract && git diff-index -G'(^[^\\*# /])|(^#\\w)|(^\\s+[^\\*#/])' HEAD || (echo '\n⚠️ i18n detected un-extracted translations\n' && exit 1)",
"intl:extract": "lingui extract",
"intl:compile": "lingui compile",
"nuke": "rm -rf ./node_modules && rm -rf ./ios && rm -rf ./android",
"update-extensions": "bash scripts/updateExtensions.sh",
"export": "npx expo export",
- "make-deploy-bundle": "bash scripts/bundleUpdate.sh"
+ "make-deploy-bundle": "bash scripts/bundleUpdate.sh",
+ "generate-webpack-stats-file": "EXPO_PUBLIC_GENERATE_STATS=1 yarn build-web",
+ "open-analyzer": "EXPO_PUBLIC_OPEN_ANALYZER=1 yarn build-web"
},
"dependencies": {
"@atproto/api": "^0.12.2",
"@bam.tech/react-native-image-resizer": "^3.0.4",
"@braintree/sanitize-url": "^6.0.2",
+ "@discord/bottom-sheet": "https://github.com/bluesky-social/react-native-bottom-sheet.git#discord-fork-4.6.1",
"@emoji-mart/react": "^1.1.1",
"@expo/html-elements": "^0.4.2",
"@expo/webpack-config": "^19.0.0",
+ "@floating-ui/dom": "^1.6.3",
+ "@floating-ui/react-dom": "^2.0.8",
"@fortawesome/fontawesome-svg-core": "^6.1.1",
"@fortawesome/free-regular-svg-icons": "^6.1.1",
"@fortawesome/free-solid-svg-icons": "^6.1.1",
"@fortawesome/react-native-fontawesome": "^0.3.0",
- "@gorhom/bottom-sheet": "^4.5.1",
"@lingui/react": "^4.5.0",
"@mattermost/react-native-paste-input": "^0.6.4",
"@miblanchard/react-native-slider": "^2.3.1",
"@radix-ui/react-dropdown-menu": "^2.0.6",
- "@react-native-async-storage/async-storage": "1.21.0",
- "@react-native-camera-roll/camera-roll": "^5.2.2",
- "@react-native-clipboard/clipboard": "^1.10.0",
- "@react-native-community/blur": "^4.3.0",
+ "@react-native-async-storage/async-storage": "1.23.1",
"@react-native-masked-view/masked-view": "0.3.0",
"@react-native-menu/menu": "^0.8.0",
"@react-native-picker/picker": "2.6.1",
@@ -93,6 +96,7 @@
"@tiptap/pm": "^2.0.0-beta.220",
"@tiptap/react": "^2.0.0-beta.220",
"@tiptap/suggestion": "^2.0.0-beta.220",
+ "@types/invariant": "^2.2.37",
"@types/node": "^18.16.2",
"@zxing/text-encoding": "^0.9.0",
"array.prototype.findlast": "^1.2.3",
@@ -104,27 +108,31 @@
"email-validator": "^2.0.4",
"emoji-mart": "^5.5.2",
"eventemitter3": "^5.0.1",
- "expo": "^50.0.0-preview.10",
- "expo-application": "~5.8.2",
- "expo-build-properties": "^0.11.0",
- "expo-camera": "~14.0.1",
- "expo-constants": "~15.4.3",
- "expo-dev-client": "~3.3.5",
- "expo-device": "~5.9.2",
- "expo-image": "~1.10.3",
+ "expo": "^50.0.8",
+ "expo-application": "^5.8.3",
+ "expo-build-properties": "^0.11.1",
+ "expo-camera": "~14.0.4",
+ "expo-clipboard": "^5.0.1",
+ "expo-constants": "~15.4.5",
+ "expo-dev-client": "~3.3.8",
+ "expo-device": "~5.9.3",
+ "expo-haptics": "^12.8.1",
+ "expo-image": "~1.10.6",
"expo-image-manipulator": "^11.8.0",
"expo-image-picker": "~14.7.1",
+ "expo-linear-gradient": "^12.7.2",
"expo-linking": "^6.2.2",
- "expo-localization": "~14.8.2",
+ "expo-localization": "~14.8.3",
"expo-media-library": "~15.9.1",
- "expo-notifications": "~0.27.3",
+ "expo-navigation-bar": "~2.8.1",
+ "expo-notifications": "~0.27.6",
"expo-sharing": "^11.10.0",
- "expo-splash-screen": "~0.26.2",
+ "expo-splash-screen": "~0.26.4",
"expo-status-bar": "~1.11.1",
"expo-system-ui": "~2.9.3",
- "expo-task-manager": "~11.7.0",
- "expo-updates": "~0.24.7",
- "expo-web-browser": "~12.8.1",
+ "expo-task-manager": "~11.7.2",
+ "expo-updates": "~0.24.10",
+ "expo-web-browser": "~12.8.2",
"fast-text-encoding": "^1.0.6",
"history": "^5.3.0",
"js-sha256": "^0.9.0",
@@ -139,7 +147,6 @@
"lodash.samplesize": "^4.2.0",
"lodash.set": "^4.3.2",
"lodash.shuffle": "^4.2.0",
- "lru_map": "^0.4.1",
"mobx": "^6.6.1",
"mobx-react-lite": "^3.4.0",
"mobx-utils": "^6.0.6",
@@ -150,20 +157,16 @@
"psl": "^1.9.0",
"react": "18.2.0",
"react-avatar-editor": "^13.0.0",
- "react-circular-progressbar": "^2.1.0",
"react-dom": "^18.2.0",
"react-keyed-flatten-children": "^3.0.0",
"react-native": "0.73.2",
- "react-native-appstate-hook": "^1.0.6",
"react-native-date-picker": "^4.4.0",
"react-native-drawer-layout": "^4.0.0-alpha.3",
"react-native-fs": "^2.20.0",
"react-native-gesture-handler": "~2.14.0",
- "react-native-get-random-values": "~1.8.0",
- "react-native-haptic-feedback": "^1.14.0",
+ "react-native-get-random-values": "~1.11.0",
"react-native-image-crop-picker": "^0.38.1",
"react-native-ios-context-menu": "^1.15.3",
- "react-native-linear-gradient": "^2.6.2",
"react-native-pager-view": "6.2.3",
"react-native-picker-select": "^8.1.0",
"react-native-progress": "bluesky-social/react-native-progress",
@@ -172,13 +175,11 @@
"react-native-safe-area-context": "4.8.2",
"react-native-screens": "~3.29.0",
"react-native-svg": "14.1.0",
- "react-native-ui-text-view": "link:./modules/react-native-ui-text-view",
+ "react-native-uitextview": "^1.1.6",
"react-native-url-polyfill": "^1.3.0",
"react-native-uuid": "^2.0.1",
- "react-native-version-number": "^0.3.6",
"react-native-view-shot": "^3.8.0",
"react-native-web": "~0.19.6",
- "react-native-web-linear-gradient": "^1.1.2",
"react-native-web-webview": "^1.0.2",
"react-native-webview": "13.6.4",
"react-responsive": "^9.0.2",
@@ -187,12 +188,11 @@
"statsig-react-native-expo": "^4.6.1",
"tippy.js": "^6.3.7",
"tlds": "^1.234.0",
- "use-deep-compare": "^1.1.0",
"zeego": "^1.6.2",
"zod": "^3.20.2"
},
"devDependencies": {
- "@atproto/dev-env": "^0.2.28",
+ "@atproto/dev-env": "^0.3.4",
"@babel/core": "^7.23.2",
"@babel/preset-env": "^7.20.0",
"@babel/runtime": "^7.20.0",
@@ -233,11 +233,13 @@
"babel-preset-expo": "^10.0.0",
"detox": "^20.14.8",
"eslint": "^8.19.0",
+ "eslint-plugin-bsky-internal": "link:./eslint",
"eslint-plugin-detox": "^1.0.0",
"eslint-plugin-ft-flow": "^2.0.3",
"eslint-plugin-lingui": "^0.2.0",
"eslint-plugin-react": "^7.33.2",
"eslint-plugin-react-native-a11y": "^3.3.0",
+ "eslint-plugin-simple-import-sort": "^12.0.0",
"html-webpack-plugin": "^5.5.0",
"husky": "^8.0.3",
"is-ci": "^3.0.1",
@@ -255,6 +257,7 @@
"typescript": "^5.3.3",
"url-loader": "^4.1.1",
"webpack": "^5.75.0",
+ "webpack-bundle-analyzer": "^4.10.1",
"webpack-cli": "^5.0.1",
"webpack-dev-server": "^4.11.1"
},
@@ -312,6 +315,9 @@
]
},
"lint-staged": {
- "*{.js,.jsx,.ts,.tsx}": "yarn eslint --fix"
+ "*{.js,.jsx,.ts,.tsx}": [
+ "eslint --cache --fix",
+ "prettier --cache --write --ignore-unknown"
+ ]
}
}
diff --git a/patches/@mattermost+react-native-paste-input+0.6.4.patch b/patches/@mattermost+react-native-paste-input+0.6.4.patch
index 849cbaa85b..08413846ff 100644
--- a/patches/@mattermost+react-native-paste-input+0.6.4.patch
+++ b/patches/@mattermost+react-native-paste-input+0.6.4.patch
@@ -3594,3 +3594,19 @@ index 19b61ff..04a9951 100644
PasteInput_compileSdkVersion=30
PasteInput_buildToolsVersion=30.0.2
PasteInput_targetSdkVersion=30
+diff --git a/node_modules/@mattermost/react-native-paste-input/ios/PasteInputView.m b/node_modules/@mattermost/react-native-paste-input/ios/PasteInputView.m
+index e916023..0564d97 100644
+--- a/node_modules/@mattermost/react-native-paste-input/ios/PasteInputView.m
++++ b/node_modules/@mattermost/react-native-paste-input/ios/PasteInputView.m
+@@ -22,6 +22,11 @@ - (instancetype)initWithBridge:(RCTBridge *)bridge
+ _backedTextInputView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
+ _backedTextInputView.textInputDelegate = self;
+
++ // Disable inline predictions to prevent jank in the composer
++ if (@available(iOS 17.0, *)) {
++ _backedTextInputView.inlinePredictionType = UITextInlinePredictionTypeNo;
++ }
++
+ [self addSubview:_backedTextInputView];
+ }
+
diff --git a/patches/expo-haptics+12.8.1.md b/patches/expo-haptics+12.8.1.md
new file mode 100644
index 0000000000..afa7395bc0
--- /dev/null
+++ b/patches/expo-haptics+12.8.1.md
@@ -0,0 +1,11 @@
+# Expo Haptics Patch
+
+Whenever we migrated to Expo Haptics, there was a difference between how the previous and new libraries handled the
+Android implementation of an iOS "light" haptic. The previous library used the `Vibration` API solely, which does not
+have any configuration for intensity of vibration. The `Vibration` API has also been deprecated since SDK 26. See:
+https://github.com/mkuczera/react-native-haptic-feedback/blob/master/android/src/main/java/com/mkuczera/vibrateFactory/VibrateWithDuration.java
+
+Expo Haptics is using `VibrationManager` API on SDK >= 31. See: https://github.com/expo/expo/blob/main/packages/expo-haptics/android/src/main/java/expo/modules/haptics/HapticsModule.kt#L19
+The timing and intensity of their haptic configurations though differs greatly from the original implementation. This
+patch uses the new `VibrationManager` API to create the same vibration that would have been seen in the deprecated
+`Vibration` API.
diff --git a/patches/expo-haptics+12.8.1.patch b/patches/expo-haptics+12.8.1.patch
new file mode 100644
index 0000000000..a95b56f3be
--- /dev/null
+++ b/patches/expo-haptics+12.8.1.patch
@@ -0,0 +1,13 @@
+diff --git a/node_modules/expo-haptics/android/src/main/java/expo/modules/haptics/HapticsModule.kt b/node_modules/expo-haptics/android/src/main/java/expo/modules/haptics/HapticsModule.kt
+index 26c52af..b949a4c 100644
+--- a/node_modules/expo-haptics/android/src/main/java/expo/modules/haptics/HapticsModule.kt
++++ b/node_modules/expo-haptics/android/src/main/java/expo/modules/haptics/HapticsModule.kt
+@@ -42,7 +42,7 @@ class HapticsModule : Module() {
+
+ private fun vibrate(type: HapticsVibrationType) {
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
+- vibrator.vibrate(VibrationEffect.createWaveform(type.timings, type.amplitudes, -1))
++ vibrator.vibrate(VibrationEffect.createWaveform(type.oldSDKPattern, intArrayOf(0, 100), -1))
+ } else {
+ @Suppress("DEPRECATION")
+ vibrator.vibrate(type.oldSDKPattern, -1)
diff --git a/patches/expo-updates+0.24.7.patch b/patches/expo-updates+0.24.7.patch
new file mode 100644
index 0000000000..603ae32ef8
--- /dev/null
+++ b/patches/expo-updates+0.24.7.patch
@@ -0,0 +1,26 @@
+diff --git a/node_modules/expo-updates/ios/EXUpdates/Update/NewUpdate.swift b/node_modules/expo-updates/ios/EXUpdates/Update/NewUpdate.swift
+index 189a5f5..8d5b8e6 100644
+--- a/node_modules/expo-updates/ios/EXUpdates/Update/NewUpdate.swift
++++ b/node_modules/expo-updates/ios/EXUpdates/Update/NewUpdate.swift
+@@ -68,13 +68,20 @@ public final class NewUpdate: Update {
+ processedAssets.append(asset)
+ }
+
++ // Instead of relying on various hacks to get the correct format for the specific
++ // platform on the backend, we can just add this little patch..
++ let dateFormatter = DateFormatter()
++ dateFormatter.locale = Locale(identifier: "en_US_POSIX")
++ dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ssZ"
++ let date = dateFormatter.date(from:commitTime) ?? RCTConvert.nsDate(commitTime)!
++
+ return Update(
+ manifest: manifest,
+ config: config,
+ database: database,
+ updateId: uuid,
+ scopeKey: config.scopeKey,
+- commitTime: RCTConvert.nsDate(commitTime),
++ commitTime: date,
+ runtimeVersion: runtimeVersion,
+ keep: true,
+ status: UpdateStatus.StatusPending,
diff --git a/patches/expo-updates+0.24.7.patch.md b/patches/expo-updates+0.24.7.patch.md
new file mode 100644
index 0000000000..8a8848127e
--- /dev/null
+++ b/patches/expo-updates+0.24.7.patch.md
@@ -0,0 +1,7 @@
+# Expo-Updates Patch
+
+This is a small patch to convert timestamp formats that are returned from the backend. Instead of relying on the
+backend to return the correct format for a specific format (the format required on Android is not the same as on iOS)
+we can just add this conversion in.
+
+Don't remove unless we make changes on the backend to support both platforms.
\ No newline at end of file
diff --git a/patches/react-native+0.73.2.patch b/patches/react-native+0.73.2.patch
index 8db23da0c7..db8b7da2d2 100644
--- a/patches/react-native+0.73.2.patch
+++ b/patches/react-native+0.73.2.patch
@@ -1,11 +1,22 @@
+diff --git a/node_modules/react-native/React/Views/RefreshControl/RCTRefreshControl.h b/node_modules/react-native/React/Views/RefreshControl/RCTRefreshControl.h
+index e9b330f..1ecdf0a 100644
+--- a/node_modules/react-native/React/Views/RefreshControl/RCTRefreshControl.h
++++ b/node_modules/react-native/React/Views/RefreshControl/RCTRefreshControl.h
+@@ -16,4 +16,6 @@
+ @property (nonatomic, copy) RCTDirectEventBlock onRefresh;
+ @property (nonatomic, weak) UIScrollView *scrollView;
+
++- (void)forwarderBeginRefreshing;
++
+ @end
diff --git a/node_modules/react-native/React/Views/RefreshControl/RCTRefreshControl.m b/node_modules/react-native/React/Views/RefreshControl/RCTRefreshControl.m
-index b09e653..d290dab 100644
+index b09e653..4c32b31 100644
--- a/node_modules/react-native/React/Views/RefreshControl/RCTRefreshControl.m
+++ b/node_modules/react-native/React/Views/RefreshControl/RCTRefreshControl.m
-@@ -198,6 +198,14 @@ - (void)refreshControlValueChanged
+@@ -198,9 +198,53 @@ - (void)refreshControlValueChanged
[self setCurrentRefreshingState:super.refreshing];
_refreshingProgrammatically = NO;
-
+
+ if (@available(iOS 17.4, *)) {
+ if (_currentRefreshingState) {
+ UIImpactFeedbackGenerator *feedbackGenerator = [[UIImpactFeedbackGenerator alloc] initWithStyle:UIImpactFeedbackStyleLight];
@@ -16,4 +27,43 @@ index b09e653..d290dab 100644
+
if (_onRefresh) {
_onRefresh(nil);
- }
\ No newline at end of file
+ }
+ }
+
++/*
++ This method is used by Bluesky's ExpoScrollForwarder. This allows other React Native
++ libraries to perform a refresh of a scrollview and access the refresh control's onRefresh
++ function.
++ */
++- (void)forwarderBeginRefreshing
++{
++ _refreshingProgrammatically = NO;
++
++ [self sizeToFit];
++
++ if (!self.scrollView) {
++ return;
++ }
++
++ UIScrollView *scrollView = (UIScrollView *)self.scrollView;
++
++ [UIView animateWithDuration:0.3
++ delay:0
++ options:UIViewAnimationOptionBeginFromCurrentState
++ animations:^(void) {
++ // Whenever we call this method, the scrollview will always be at a position of
++ // -130 or less. Scrolling back to -65 simulates the default behavior of RCTRefreshControl
++ [scrollView setContentOffset:CGPointMake(0, -65)];
++ }
++ completion:^(__unused BOOL finished) {
++ [super beginRefreshing];
++ [self setCurrentRefreshingState:super.refreshing];
++
++ if (self->_onRefresh) {
++ self->_onRefresh(nil);
++ }
++ }
++ ];
++}
++
+ @end
diff --git a/patches/react-native+0.73.2.patch.md b/patches/react-native+0.73.2.patch.md
index 7f70baf2fd..9c93aee5cb 100644
--- a/patches/react-native+0.73.2.patch.md
+++ b/patches/react-native+0.73.2.patch.md
@@ -1,5 +1,13 @@
-# RefreshControl Patch
+# ***This second part of this patch is load bearing, do not remove.***
+
+## RefreshControl Patch - iOS 17.4 Haptic Regression
Patching `RCTRefreshControl.mm` temporarily to play an impact haptic on refresh when using iOS 17.4 or higher. Since
17.4, there has been a regression somewhere causing haptics to not play on iOS on refresh. Should monitor for an update
-in the RN repo: https://github.com/facebook/react-native/issues/43388
\ No newline at end of file
+in the RN repo: https://github.com/facebook/react-native/issues/43388
+
+## RefreshControl Path - ScrollForwarder
+
+Patching `RCTRefreshControl.m` and `RCTRefreshControl.h` to add a new `forwarderBeginRefreshing` method to the class.
+This method is used by `ExpoScrollForwarder` to initiate a refresh of the underlying `UIScrollView` from inside that
+module.
diff --git a/plugins/withAndroidSplashScreenStatusBarTranslucentPlugin.js b/plugins/withAndroidSplashScreenStatusBarTranslucentPlugin.js
new file mode 100644
index 0000000000..704ead054b
--- /dev/null
+++ b/plugins/withAndroidSplashScreenStatusBarTranslucentPlugin.js
@@ -0,0 +1,28 @@
+const {withStringsXml, AndroidConfig} = require('@expo/config-plugins')
+
+module.exports = function withAndroidSplashScreenStatusBarTranslucentPlugin(
+ appConfig,
+) {
+ return withStringsXml(appConfig, function (decoratedAppConfig) {
+ try {
+ decoratedAppConfig.modResults = AndroidConfig.Strings.setStringItem(
+ [
+ {
+ _: 'true',
+ $: {
+ name: 'expo_splash_screen_status_bar_translucent',
+ translatable: 'false',
+ },
+ },
+ ],
+ decoratedAppConfig.modResults,
+ )
+ } catch (e) {
+ console.error(
+ `withAndroidSplashScreenStatusBarTranslucentPlugin failed`,
+ e,
+ )
+ }
+ return decoratedAppConfig
+ })
+}
diff --git a/scripts/bundleUpdate.sh b/scripts/bundleUpdate.sh
index 18db81a20c..5927a36c8e 100644
--- a/scripts/bundleUpdate.sh
+++ b/scripts/bundleUpdate.sh
@@ -9,10 +9,13 @@ rm -rf bundle.tar.gz
echo "Creating tarball..."
node scripts/bundleUpdate.js
-cd bundleTempDir || exit
+if [ -z "$RUNTIME_VERSION" ]; then
+ RUNTIME_VERSION=$(cat package.json | jq '.version' -r)
+fi
+cd bundleTempDir || exit
BUNDLE_VERSION=$(date +%s)
-DEPLOYMENT_URL="https://updates.bsky.app/v1/upload?runtime-version=$RUNTIME_VERSION&bundle-version=$BUNDLE_VERSION"
+DEPLOYMENT_URL="https://updates.bsky.app/v1/upload?runtime-version=$RUNTIME_VERSION&bundle-version=$BUNDLE_VERSION&channel=$CHANNEL_NAME&ios-build-number=$BSKY_IOS_BUILD_NUMBER&android-build-number=$BSKY_ANDROID_VERSION_CODE"
tar czvf bundle.tar.gz ./*
diff --git a/scripts/post-embed-build.js b/scripts/post-embed-build.js
new file mode 100644
index 0000000000..c0897e1b70
--- /dev/null
+++ b/scripts/post-embed-build.js
@@ -0,0 +1,65 @@
+const path = require('node:path')
+const fs = require('node:fs')
+
+const projectRoot = path.join(__dirname, '..')
+
+// copy embed assets to embedr
+
+const embedAssetSource = path.join(projectRoot, 'bskyembed', 'dist', 'static')
+
+const embedAssetDest = path.join(projectRoot, 'bskyweb', 'embedr-static')
+
+fs.cpSync(embedAssetSource, embedAssetDest, {recursive: true})
+
+const embedEmbedJSSource = path.join(
+ projectRoot,
+ 'bskyembed',
+ 'dist',
+ 'embed.js',
+)
+
+const embedEmbedJSDest = path.join(
+ projectRoot,
+ 'bskyweb',
+ 'embedr-static',
+ 'embed.js',
+)
+
+fs.cpSync(embedEmbedJSSource, embedEmbedJSDest)
+
+// copy entrypoint(s) to embedr
+
+// additional entrypoints will need more work, but this'll do for now
+const embedHomeHtmlSource = path.join(
+ projectRoot,
+ 'bskyembed',
+ 'dist',
+ 'index.html',
+)
+
+const embedHomeHtmlDest = path.join(
+ projectRoot,
+ 'bskyweb',
+ 'embedr-templates',
+ 'home.html',
+)
+
+fs.copyFileSync(embedHomeHtmlSource, embedHomeHtmlDest)
+
+const embedPostHtmlSource = path.join(
+ projectRoot,
+ 'bskyembed',
+ 'dist',
+ 'post.html',
+)
+
+const embedPostHtmlDest = path.join(
+ projectRoot,
+ 'bskyweb',
+ 'embedr-templates',
+ 'postEmbed.html',
+)
+
+fs.copyFileSync(embedPostHtmlSource, embedPostHtmlDest)
+
+console.log(`Copied embed assets to embedr`)
diff --git a/scripts/useBuildNumberEnv.sh b/scripts/useBuildNumberEnv.sh
index fe273d3948..2251c09078 100755
--- a/scripts/useBuildNumberEnv.sh
+++ b/scripts/useBuildNumberEnv.sh
@@ -1,11 +1,7 @@
#!/bin/bash
outputIos=$(eas build:version:get -p ios)
outputAndroid=$(eas build:version:get -p android)
-currentIosVersion=${outputIos#*buildNumber - }
-currentAndroidVersion=${outputAndroid#*versionCode - }
-
-BSKY_IOS_BUILD_NUMBER=$((currentIosVersion+1))
-BSKY_ANDROID_VERSION_CODE=$((currentAndroidVersion+1))
+BSKY_IOS_BUILD_NUMBER=${outputIos#*buildNumber - }
+BSKY_ANDROID_VERSION_CODE=${outputAndroid#*versionCode - }
bash -c "BSKY_IOS_BUILD_NUMBER=$BSKY_IOS_BUILD_NUMBER BSKY_ANDROID_VERSION_CODE=$BSKY_ANDROID_VERSION_CODE $*"
-
diff --git a/scripts/useBuildNumberEnvWithBump.sh b/scripts/useBuildNumberEnvWithBump.sh
new file mode 100755
index 0000000000..fe273d3948
--- /dev/null
+++ b/scripts/useBuildNumberEnvWithBump.sh
@@ -0,0 +1,11 @@
+#!/bin/bash
+outputIos=$(eas build:version:get -p ios)
+outputAndroid=$(eas build:version:get -p android)
+currentIosVersion=${outputIos#*buildNumber - }
+currentAndroidVersion=${outputAndroid#*versionCode - }
+
+BSKY_IOS_BUILD_NUMBER=$((currentIosVersion+1))
+BSKY_ANDROID_VERSION_CODE=$((currentAndroidVersion+1))
+
+bash -c "BSKY_IOS_BUILD_NUMBER=$BSKY_IOS_BUILD_NUMBER BSKY_ANDROID_VERSION_CODE=$BSKY_ANDROID_VERSION_CODE $*"
+
diff --git a/src/App.native.tsx b/src/App.native.tsx
index e825ffa00a..ede587c899 100644
--- a/src/App.native.tsx
+++ b/src/App.native.tsx
@@ -1,59 +1,52 @@
import 'react-native-url-polyfill/auto'
import 'lib/sentry' // must be near top
-
-import React, {useState, useEffect} from 'react'
-import {RootSiblingParent} from 'react-native-root-siblings'
-import * as SplashScreen from 'expo-splash-screen'
-import {GestureHandlerRootView} from 'react-native-gesture-handler'
-import {PersistQueryClientProvider} from '@tanstack/react-query-persist-client'
-import {
- SafeAreaProvider,
- initialWindowMetrics,
-} from 'react-native-safe-area-context'
-
import 'view/icons'
-import {ThemeProvider as Alf} from '#/alf'
-import {useColorModeTheme} from '#/alf/util/useColorModeTheme'
-import {init as initPersistedState} from '#/state/persisted'
-import {listenSessionDropped} from './state/events'
-import {ThemeProvider} from 'lib/ThemeContext'
-import {s} from 'lib/styles'
-import {Shell} from 'view/shell'
-import * as notifications from 'lib/notifications/notifications'
-import * as Toast from 'view/com/util/Toast'
+import React, {useEffect, useState} from 'react'
+import {GestureHandlerRootView} from 'react-native-gesture-handler'
+import {RootSiblingParent} from 'react-native-root-siblings'
import {
- queryClient,
- asyncStoragePersister,
- dehydrateOptions,
-} from 'lib/react-query'
-import {TestCtrls} from 'view/com/testing/TestCtrls'
-import {Provider as ShellStateProvider} from 'state/shell'
-import {Provider as ModalStateProvider} from 'state/modals'
-import {Provider as DialogStateProvider} from 'state/dialogs'
-import {Provider as LightboxStateProvider} from 'state/lightbox'
-import {Provider as MutedThreadsProvider} from 'state/muted-threads'
-import {Provider as InvitesStateProvider} from 'state/invites'
-import {Provider as PrefsStateProvider} from 'state/preferences'
-import {Provider as LoggedOutViewProvider} from 'state/shell/logged-out'
-import {Provider as SelectedFeedProvider} from 'state/shell/selected-feed'
+ initialWindowMetrics,
+ SafeAreaProvider,
+} from 'react-native-safe-area-context'
+import * as SplashScreen from 'expo-splash-screen'
+import {msg} from '@lingui/macro'
+import {useLingui} from '@lingui/react'
+import {useQueryClient} from '@tanstack/react-query'
+
+import {Provider as StatsigProvider} from '#/lib/statsig/statsig'
+import {init as initPersistedState} from '#/state/persisted'
+import * as persisted from '#/state/persisted'
import {Provider as LabelDefsProvider} from '#/state/preferences/label-defs'
-import I18nProvider from './locale/i18nProvider'
+import {useIntentHandler} from 'lib/hooks/useIntentHandler'
+import {useNotificationsListener} from 'lib/notifications/notifications'
+import {QueryProvider} from 'lib/react-query'
+import {s} from 'lib/styles'
+import {ThemeProvider} from 'lib/ThemeContext'
+import {Provider as DialogStateProvider} from 'state/dialogs'
+import {Provider as InvitesStateProvider} from 'state/invites'
+import {Provider as LightboxStateProvider} from 'state/lightbox'
+import {Provider as ModalStateProvider} from 'state/modals'
+import {Provider as MutedThreadsProvider} from 'state/muted-threads'
+import {Provider as PrefsStateProvider} from 'state/preferences'
+import {Provider as UnreadNotifsProvider} from 'state/queries/notifications/unread'
import {
Provider as SessionProvider,
useSession,
useSessionApi,
} from 'state/session'
-import {Provider as UnreadNotifsProvider} from 'state/queries/notifications/unread'
-import * as persisted from '#/state/persisted'
-import {Splash} from '#/Splash'
+import {Provider as ShellStateProvider} from 'state/shell'
+import {Provider as LoggedOutViewProvider} from 'state/shell/logged-out'
+import {Provider as SelectedFeedProvider} from 'state/shell/selected-feed'
+import {TestCtrls} from 'view/com/testing/TestCtrls'
+import * as Toast from 'view/com/util/Toast'
+import {Shell} from 'view/shell'
+import {ThemeProvider as Alf} from '#/alf'
+import {useColorModeTheme} from '#/alf/util/useColorModeTheme'
import {Provider as PortalProvider} from '#/components/Portal'
-import {Provider as StatsigProvider} from '#/lib/statsig/statsig'
-import {msg} from '@lingui/macro'
-import {useLingui} from '@lingui/react'
-import {useIntentHandler} from 'lib/hooks/useIntentHandler'
-import {StatusBar} from 'expo-status-bar'
-import {isAndroid} from 'platform/detection'
+import {Splash} from '#/Splash'
+import I18nProvider from './locale/i18nProvider'
+import {listenSessionDropped} from './state/events'
SplashScreen.preventAutoHideAsync()
@@ -62,11 +55,11 @@ function InnerApp() {
const {resumeSession} = useSessionApi()
const theme = useColorModeTheme()
const {_} = useLingui()
+
useIntentHandler()
// init
useEffect(() => {
- notifications.init(queryClient)
listenSessionDropped(() => {
Toast.show(_(msg`Sorry! Your session expired. Please log in again.`))
})
@@ -77,31 +70,34 @@ function InnerApp() {
return (
- {isAndroid && }
-
-
-
-
-
-
- {/* All components should be within this provider */}
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+ {/* All components should be within this provider */}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -109,6 +105,12 @@ function InnerApp() {
)
}
+function PushNotificationsListener({children}: {children: React.ReactNode}) {
+ const queryClient = useQueryClient()
+ useNotificationsListener(queryClient)
+ return children
+}
+
function App() {
const [isReady, setReady] = useState(false)
@@ -125,31 +127,27 @@ function App() {
* that is set up in the InnerApp component above.
*/
return (
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
)
}
diff --git a/src/App.web.tsx b/src/App.web.tsx
index f47f763da1..ccf7ecb491 100644
--- a/src/App.web.tsx
+++ b/src/App.web.tsx
@@ -1,44 +1,38 @@
import 'lib/sentry' // must be near top
-
-import React, {useState, useEffect} from 'react'
-import {PersistQueryClientProvider} from '@tanstack/react-query-persist-client'
-import {SafeAreaProvider} from 'react-native-safe-area-context'
-import {RootSiblingParent} from 'react-native-root-siblings'
-
import 'view/icons'
-import {ThemeProvider as Alf} from '#/alf'
-import {useColorModeTheme} from '#/alf/util/useColorModeTheme'
+import React, {useEffect, useState} from 'react'
+import {RootSiblingParent} from 'react-native-root-siblings'
+import {SafeAreaProvider} from 'react-native-safe-area-context'
+
+import {Provider as StatsigProvider} from '#/lib/statsig/statsig'
import {init as initPersistedState} from '#/state/persisted'
-import {Shell} from 'view/shell/index'
-import {ToastContainer} from 'view/com/util/Toast.web'
-import {ThemeProvider} from 'lib/ThemeContext'
-import {
- queryClient,
- asyncStoragePersister,
- dehydrateOptions,
-} from 'lib/react-query'
-import {Provider as ShellStateProvider} from 'state/shell'
-import {Provider as ModalStateProvider} from 'state/modals'
-import {Provider as DialogStateProvider} from 'state/dialogs'
-import {Provider as LightboxStateProvider} from 'state/lightbox'
-import {Provider as MutedThreadsProvider} from 'state/muted-threads'
-import {Provider as InvitesStateProvider} from 'state/invites'
-import {Provider as PrefsStateProvider} from 'state/preferences'
-import {Provider as LoggedOutViewProvider} from 'state/shell/logged-out'
-import {Provider as SelectedFeedProvider} from 'state/shell/selected-feed'
+import * as persisted from '#/state/persisted'
import {Provider as LabelDefsProvider} from '#/state/preferences/label-defs'
-import I18nProvider from './locale/i18nProvider'
+import {useIntentHandler} from 'lib/hooks/useIntentHandler'
+import {QueryProvider} from 'lib/react-query'
+import {ThemeProvider} from 'lib/ThemeContext'
+import {Provider as DialogStateProvider} from 'state/dialogs'
+import {Provider as InvitesStateProvider} from 'state/invites'
+import {Provider as LightboxStateProvider} from 'state/lightbox'
+import {Provider as ModalStateProvider} from 'state/modals'
+import {Provider as MutedThreadsProvider} from 'state/muted-threads'
+import {Provider as PrefsStateProvider} from 'state/preferences'
+import {Provider as UnreadNotifsProvider} from 'state/queries/notifications/unread'
import {
Provider as SessionProvider,
useSession,
useSessionApi,
} from 'state/session'
-import {Provider as UnreadNotifsProvider} from 'state/queries/notifications/unread'
-import * as persisted from '#/state/persisted'
+import {Provider as ShellStateProvider} from 'state/shell'
+import {Provider as LoggedOutViewProvider} from 'state/shell/logged-out'
+import {Provider as SelectedFeedProvider} from 'state/shell/selected-feed'
+import {ToastContainer} from 'view/com/util/Toast.web'
+import {Shell} from 'view/shell/index'
+import {ThemeProvider as Alf} from '#/alf'
+import {useColorModeTheme} from '#/alf/util/useColorModeTheme'
import {Provider as PortalProvider} from '#/components/Portal'
-import {Provider as StatsigProvider} from '#/lib/statsig/statsig'
-import {useIntentHandler} from 'lib/hooks/useIntentHandler'
+import I18nProvider from './locale/i18nProvider'
function InnerApp() {
const {isInitialLoad, currentAccount} = useSession()
@@ -60,25 +54,27 @@ function InnerApp() {
-
-
-
-
-
-
- {/* All components should be within this provider */}
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+ {/* All components should be within this provider */}
+
+
+
+
+
+
+
+
+
+
+
+
+
)
@@ -100,31 +96,27 @@ function App() {
* that is set up in the InnerApp component above.
*/
return (
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
)
}
diff --git a/src/Navigation.tsx b/src/Navigation.tsx
index 3d6a15c4eb..99c0ebf3c3 100644
--- a/src/Navigation.tsx
+++ b/src/Navigation.tsx
@@ -1,86 +1,86 @@
import * as React from 'react'
-import {
- NavigationContainer,
- createNavigationContainerRef,
- CommonActions,
- StackActions,
- DefaultTheme,
- DarkTheme,
-} from '@react-navigation/native'
+import {JSX} from 'react/jsx-runtime'
+import {i18n, MessageDescriptor} from '@lingui/core'
+import {msg} from '@lingui/macro'
import {
BottomTabBarProps,
createBottomTabNavigator,
} from '@react-navigation/bottom-tabs'
import {
- HomeTabNavigatorParams,
- SearchTabNavigatorParams,
- FeedsTabNavigatorParams,
- NotificationsTabNavigatorParams,
- FlatNavigatorParams,
- AllNavigatorParams,
- MyProfileTabNavigatorParams,
- BottomTabNavigatorParams,
-} from 'lib/routes/types'
-import {BottomBar} from './view/shell/bottom-bar/BottomBar'
-import {buildStateObject} from 'lib/routes/helpers'
-import {State, RouteParams} from 'lib/routes/types'
-import {isAndroid, isNative} from 'platform/detection'
-import {useColorSchemeStyle} from 'lib/hooks/useColorSchemeStyle'
-import {router} from './routes'
-import {usePalette} from 'lib/hooks/usePalette'
-import {bskyTitle} from 'lib/strings/headings'
-import {JSX} from 'react/jsx-runtime'
-import {timeout} from 'lib/async/timeout'
-import {useUnreadNotifications} from './state/queries/notifications/unread'
-import {useSession} from './state/session'
-import {useModalControls} from './state/modals'
-import {
- shouldRequestEmailConfirmation,
- setEmailConfirmationRequested,
-} from './state/shell/reminders'
-import {init as initAnalytics} from './lib/analytics/analytics'
-import {useWebScrollRestoration} from './lib/hooks/useWebScrollRestoration'
+ CommonActions,
+ createNavigationContainerRef,
+ DarkTheme,
+ DefaultTheme,
+ NavigationContainer,
+ StackActions,
+} from '@react-navigation/native'
-import {HomeScreen} from './view/screens/Home'
-import {SearchScreen} from './view/screens/Search'
-import {FeedsScreen} from './view/screens/Feeds'
-import {NotificationsScreen} from './view/screens/Notifications'
-import {ListsScreen} from './view/screens/Lists'
-import {ModerationScreen} from '#/screens/Moderation'
-import {ModerationModlistsScreen} from './view/screens/ModerationModlists'
-import {NotFoundScreen} from './view/screens/NotFound'
-import {SettingsScreen} from './view/screens/Settings'
-import {LanguageSettingsScreen} from './view/screens/LanguageSettings'
-import {ProfileScreen} from './view/screens/Profile'
-import {ProfileFollowersScreen} from './view/screens/ProfileFollowers'
-import {ProfileFollowsScreen} from './view/screens/ProfileFollows'
-import {ProfileFeedScreen} from './view/screens/ProfileFeed'
-import {ProfileFeedLikedByScreen} from './view/screens/ProfileFeedLikedBy'
-import {ProfileListScreen} from './view/screens/ProfileList'
-import {PostThreadScreen} from './view/screens/PostThread'
-import {PostLikedByScreen} from './view/screens/PostLikedBy'
-import {PostRepostedByScreen} from './view/screens/PostRepostedBy'
-import {Storybook} from './view/screens/Storybook'
-import {DebugModScreen} from './view/screens/DebugMod'
-import {LogScreen} from './view/screens/Log'
-import {SupportScreen} from './view/screens/Support'
-import {PrivacyPolicyScreen} from './view/screens/PrivacyPolicy'
-import {TermsOfServiceScreen} from './view/screens/TermsOfService'
-import {CommunityGuidelinesScreen} from './view/screens/CommunityGuidelines'
-import {CopyrightPolicyScreen} from './view/screens/CopyrightPolicy'
+import {timeout} from 'lib/async/timeout'
+import {useColorSchemeStyle} from 'lib/hooks/useColorSchemeStyle'
+import {usePalette} from 'lib/hooks/usePalette'
+import {buildStateObject} from 'lib/routes/helpers'
+import {
+ AllNavigatorParams,
+ BottomTabNavigatorParams,
+ FeedsTabNavigatorParams,
+ FlatNavigatorParams,
+ HomeTabNavigatorParams,
+ MyProfileTabNavigatorParams,
+ NotificationsTabNavigatorParams,
+ SearchTabNavigatorParams,
+} from 'lib/routes/types'
+import {RouteParams, State} from 'lib/routes/types'
+import {bskyTitle} from 'lib/strings/headings'
+import {isAndroid, isNative} from 'platform/detection'
+import {PreferencesExternalEmbeds} from '#/view/screens/PreferencesExternalEmbeds'
import {AppPasswords} from 'view/screens/AppPasswords'
-import {ModerationMutedAccounts} from 'view/screens/ModerationMutedAccounts'
import {ModerationBlockedAccounts} from 'view/screens/ModerationBlockedAccounts'
-import {SavedFeeds} from 'view/screens/SavedFeeds'
+import {ModerationMutedAccounts} from 'view/screens/ModerationMutedAccounts'
import {PreferencesFollowingFeed} from 'view/screens/PreferencesFollowingFeed'
import {PreferencesThreads} from 'view/screens/PreferencesThreads'
-import {PreferencesExternalEmbeds} from '#/view/screens/PreferencesExternalEmbeds'
-import {createNativeStackNavigatorWithAuth} from './view/shell/createNativeStackNavigatorWithAuth'
-import {msg} from '@lingui/macro'
-import {i18n, MessageDescriptor} from '@lingui/core'
+import {SavedFeeds} from 'view/screens/SavedFeeds'
import HashtagScreen from '#/screens/Hashtag'
+import {ModerationScreen} from '#/screens/Moderation'
import {ProfileLabelerLikedByScreen} from '#/screens/Profile/ProfileLabelerLikedBy'
-import {logEvent, attachRouteToLogEvents} from './lib/statsig/statsig'
+import {init as initAnalytics} from './lib/analytics/analytics'
+import {useWebScrollRestoration} from './lib/hooks/useWebScrollRestoration'
+import {attachRouteToLogEvents, logEvent} from './lib/statsig/statsig'
+import {router} from './routes'
+import {useModalControls} from './state/modals'
+import {useUnreadNotifications} from './state/queries/notifications/unread'
+import {useSession} from './state/session'
+import {
+ setEmailConfirmationRequested,
+ shouldRequestEmailConfirmation,
+} from './state/shell/reminders'
+import {CommunityGuidelinesScreen} from './view/screens/CommunityGuidelines'
+import {CopyrightPolicyScreen} from './view/screens/CopyrightPolicy'
+import {DebugModScreen} from './view/screens/DebugMod'
+import {FeedsScreen} from './view/screens/Feeds'
+import {HomeScreen} from './view/screens/Home'
+import {LanguageSettingsScreen} from './view/screens/LanguageSettings'
+import {ListsScreen} from './view/screens/Lists'
+import {LogScreen} from './view/screens/Log'
+import {ModerationModlistsScreen} from './view/screens/ModerationModlists'
+import {NotFoundScreen} from './view/screens/NotFound'
+import {NotificationsScreen} from './view/screens/Notifications'
+import {PostLikedByScreen} from './view/screens/PostLikedBy'
+import {PostRepostedByScreen} from './view/screens/PostRepostedBy'
+import {PostThreadScreen} from './view/screens/PostThread'
+import {PrivacyPolicyScreen} from './view/screens/PrivacyPolicy'
+import {ProfileScreen} from './view/screens/Profile'
+import {ProfileFeedScreen} from './view/screens/ProfileFeed'
+import {ProfileFeedLikedByScreen} from './view/screens/ProfileFeedLikedBy'
+import {ProfileFollowersScreen} from './view/screens/ProfileFollowers'
+import {ProfileFollowsScreen} from './view/screens/ProfileFollows'
+import {ProfileListScreen} from './view/screens/ProfileList'
+import {SearchScreen} from './view/screens/Search'
+import {SettingsScreen} from './view/screens/Settings'
+import {Storybook} from './view/screens/Storybook'
+import {SupportScreen} from './view/screens/Support'
+import {TermsOfServiceScreen} from './view/screens/TermsOfService'
+import {BottomBar} from './view/shell/bottom-bar/BottomBar'
+import {createNativeStackNavigatorWithAuth} from './view/shell/createNativeStackNavigatorWithAuth'
const navigationRef = createNavigationContainerRef()
@@ -193,7 +193,7 @@ function commonScreens(Stack: typeof HomeTab, unreadCountLabel?: string) {
ProfileFeedScreen}
- options={{title: title(msg`Feed`), requireAuth: true}}
+ options={{title: title(msg`Feed`)}}
/>
- HomeScreen}
- options={{requireAuth: true}}
- />
+ HomeScreen} />
{commonScreens(HomeTab)}
)
@@ -371,11 +367,7 @@ function FeedsTabNavigator() {
animationDuration: 250,
contentStyle: pal.view,
}}>
- FeedsScreen}
- options={{requireAuth: true}}
- />
+ FeedsScreen} />
{commonScreens(FeedsTab as typeof HomeTab)}
)
@@ -451,7 +443,7 @@ const FlatNavigator = () => {
HomeScreen}
- options={{title: title(msg`Home`), requireAuth: true}}
+ options={{title: title(msg`Home`)}}
/>
{
FeedsScreen}
- options={{title: title(msg`Feeds`), requireAuth: true}}
+ options={{title: title(msg`Feeds`)}}
/>
) {
const theme = useColorSchemeStyle(DefaultTheme, DarkTheme)
const {currentAccount} = useSession()
const {openModal} = useModalControls()
+ const prevLoggedRouteName = React.useRef(undefined)
function onReady() {
+ prevLoggedRouteName.current = getCurrentRouteName()
initAnalytics(currentAccount)
if (currentAccount && shouldRequestEmailConfirmation(currentAccount)) {
@@ -554,10 +548,17 @@ function RoutesContainer({children}: React.PropsWithChildren<{}>) {
ref={navigationRef}
linking={LINKING}
theme={theme}
+ onStateChange={() => {
+ logEvent('router:navigate', {
+ from: prevLoggedRouteName.current,
+ })
+ prevLoggedRouteName.current = getCurrentRouteName()
+ }}
onReady={() => {
attachRouteToLogEvents(getCurrentRouteName)
logModuleInitTime()
onReady()
+ logEvent('router:navigate', {})
}}>
{children}
@@ -565,7 +566,11 @@ function RoutesContainer({children}: React.PropsWithChildren<{}>) {
}
function getCurrentRouteName() {
- return navigationRef.getCurrentRoute()?.name
+ if (navigationRef.isReady()) {
+ return navigationRef.getCurrentRoute()?.name
+ } else {
+ return undefined
+ }
}
/**
@@ -689,11 +694,11 @@ function logModuleInitTime() {
}
export {
- navigate,
- resetToTab,
- reset,
- handleLink,
- TabsNavigator,
FlatNavigator,
+ handleLink,
+ navigate,
+ reset,
+ resetToTab,
RoutesContainer,
+ TabsNavigator,
}
diff --git a/src/alf/atoms.ts b/src/alf/atoms.ts
index 0b473ba903..45ab72ca61 100644
--- a/src/alf/atoms.ts
+++ b/src/alf/atoms.ts
@@ -1,6 +1,7 @@
import {Platform} from 'react-native'
-import {web, native} from '#/alf/util/platform'
+
import * as tokens from '#/alf/tokens'
+import {native, web} from '#/alf/util/platform'
export const atoms = {
/*
@@ -157,6 +158,12 @@ export const atoms = {
align_end: {
alignItems: 'flex-end',
},
+ align_baseline: {
+ alignItems: 'baseline',
+ },
+ align_stretch: {
+ alignItems: 'stretch',
+ },
self_auto: {
alignSelf: 'auto',
},
@@ -247,10 +254,10 @@ export const atoms = {
fontWeight: tokens.fontWeight.normal,
},
font_semibold: {
- fontWeight: '500',
+ fontWeight: tokens.fontWeight.semibold,
},
font_bold: {
- fontWeight: tokens.fontWeight.semibold,
+ fontWeight: tokens.fontWeight.bold,
},
italic: {
fontStyle: 'italic',
@@ -300,6 +307,9 @@ export const atoms = {
/*
* Padding
*/
+ p_0: {
+ padding: 0,
+ },
p_2xs: {
padding: tokens.space._2xs,
},
@@ -330,6 +340,10 @@ export const atoms = {
p_5xl: {
padding: tokens.space._5xl,
},
+ px_0: {
+ paddingLeft: 0,
+ paddingRight: 0,
+ },
px_2xs: {
paddingLeft: tokens.space._2xs,
paddingRight: tokens.space._2xs,
@@ -370,6 +384,10 @@ export const atoms = {
paddingLeft: tokens.space._5xl,
paddingRight: tokens.space._5xl,
},
+ py_0: {
+ paddingTop: 0,
+ paddingBottom: 0,
+ },
py_2xs: {
paddingTop: tokens.space._2xs,
paddingBottom: tokens.space._2xs,
@@ -410,6 +428,9 @@ export const atoms = {
paddingTop: tokens.space._5xl,
paddingBottom: tokens.space._5xl,
},
+ pt_0: {
+ paddingTop: 0,
+ },
pt_2xs: {
paddingTop: tokens.space._2xs,
},
@@ -440,6 +461,9 @@ export const atoms = {
pt_5xl: {
paddingTop: tokens.space._5xl,
},
+ pb_0: {
+ paddingBottom: 0,
+ },
pb_2xs: {
paddingBottom: tokens.space._2xs,
},
@@ -470,6 +494,9 @@ export const atoms = {
pb_5xl: {
paddingBottom: tokens.space._5xl,
},
+ pl_0: {
+ paddingLeft: 0,
+ },
pl_2xs: {
paddingLeft: tokens.space._2xs,
},
@@ -500,6 +527,9 @@ export const atoms = {
pl_5xl: {
paddingLeft: tokens.space._5xl,
},
+ pr_0: {
+ paddingRight: 0,
+ },
pr_2xs: {
paddingRight: tokens.space._2xs,
},
@@ -534,9 +564,8 @@ export const atoms = {
/*
* Margin
*/
- mx_auto: {
- marginLeft: 'auto',
- marginRight: 'auto',
+ m_0: {
+ margin: 0,
},
m_2xs: {
margin: tokens.space._2xs,
@@ -568,6 +597,13 @@ export const atoms = {
m_5xl: {
margin: tokens.space._5xl,
},
+ m_auto: {
+ margin: 'auto',
+ },
+ mx_0: {
+ marginLeft: 0,
+ marginRight: 0,
+ },
mx_2xs: {
marginLeft: tokens.space._2xs,
marginRight: tokens.space._2xs,
@@ -608,6 +644,14 @@ export const atoms = {
marginLeft: tokens.space._5xl,
marginRight: tokens.space._5xl,
},
+ mx_auto: {
+ marginLeft: 'auto',
+ marginRight: 'auto',
+ },
+ my_0: {
+ marginTop: 0,
+ marginBottom: 0,
+ },
my_2xs: {
marginTop: tokens.space._2xs,
marginBottom: tokens.space._2xs,
@@ -648,6 +692,13 @@ export const atoms = {
marginTop: tokens.space._5xl,
marginBottom: tokens.space._5xl,
},
+ my_auto: {
+ marginTop: 'auto',
+ marginBottom: 'auto',
+ },
+ mt_0: {
+ marginTop: 0,
+ },
mt_2xs: {
marginTop: tokens.space._2xs,
},
@@ -678,6 +729,12 @@ export const atoms = {
mt_5xl: {
marginTop: tokens.space._5xl,
},
+ mt_auto: {
+ marginTop: 'auto',
+ },
+ mb_0: {
+ marginBottom: 0,
+ },
mb_2xs: {
marginBottom: tokens.space._2xs,
},
@@ -708,6 +765,12 @@ export const atoms = {
mb_5xl: {
marginBottom: tokens.space._5xl,
},
+ mb_auto: {
+ marginBottom: 'auto',
+ },
+ ml_0: {
+ marginLeft: 0,
+ },
ml_2xs: {
marginLeft: tokens.space._2xs,
},
@@ -738,6 +801,12 @@ export const atoms = {
ml_5xl: {
marginLeft: tokens.space._5xl,
},
+ ml_auto: {
+ marginLeft: 'auto',
+ },
+ mr_0: {
+ marginRight: 0,
+ },
mr_2xs: {
marginRight: tokens.space._2xs,
},
@@ -768,4 +837,7 @@ export const atoms = {
mr_5xl: {
marginRight: tokens.space._5xl,
},
+ mr_auto: {
+ marginRight: 'auto',
+ },
} as const
diff --git a/src/alf/tokens.ts b/src/alf/tokens.ts
index 4045c831c5..1bddd95d43 100644
--- a/src/alf/tokens.ts
+++ b/src/alf/tokens.ts
@@ -1,8 +1,8 @@
import {
BLUE_HUE,
- RED_HUE,
- GREEN_HUE,
generateScale,
+ GREEN_HUE,
+ RED_HUE,
} from '#/alf/util/colorGeneration'
export const scale = generateScale(6, 100)
@@ -116,8 +116,8 @@ export const borderRadius = {
export const fontWeight = {
normal: '400',
- semibold: '600',
- bold: '900',
+ semibold: '500',
+ bold: '600',
} as const
export const gradients = {
diff --git a/src/components/AccountList.tsx b/src/components/AccountList.tsx
new file mode 100644
index 0000000000..169e7b84fe
--- /dev/null
+++ b/src/components/AccountList.tsx
@@ -0,0 +1,141 @@
+import React, {useCallback} from 'react'
+import {View} from 'react-native'
+import {msg, Trans} from '@lingui/macro'
+import {useLingui} from '@lingui/react'
+
+import {useProfileQuery} from '#/state/queries/profile'
+import {type SessionAccount, useSession} from '#/state/session'
+import {UserAvatar} from '#/view/com/util/UserAvatar'
+import {atoms as a, useTheme} from '#/alf'
+import {Check_Stroke2_Corner0_Rounded as Check} from '#/components/icons/Check'
+import {ChevronRight_Stroke2_Corner0_Rounded as Chevron} from '#/components/icons/Chevron'
+import {Button} from './Button'
+import {Text} from './Typography'
+
+export function AccountList({
+ onSelectAccount,
+ onSelectOther,
+ otherLabel,
+}: {
+ onSelectAccount: (account: SessionAccount) => void
+ onSelectOther: () => void
+ otherLabel?: string
+}) {
+ const {isSwitchingAccounts, currentAccount, accounts} = useSession()
+ const t = useTheme()
+ const {_} = useLingui()
+
+ const onPressAddAccount = useCallback(() => {
+ onSelectOther()
+ }, [onSelectOther])
+
+ return (
+
+ {accounts.map(account => (
+
+
+
+
+ ))}
+
+ {({hovered, pressed}) => (
+
+
+ {otherLabel ?? Other account }
+
+
+
+ )}
+
+
+ )
+}
+
+function AccountItem({
+ account,
+ onSelect,
+ isCurrentAccount,
+}: {
+ account: SessionAccount
+ onSelect: (account: SessionAccount) => void
+ isCurrentAccount: boolean
+}) {
+ const t = useTheme()
+ const {_} = useLingui()
+ const {data: profile} = useProfileQuery({did: account.did})
+
+ const onPress = React.useCallback(() => {
+ onSelect(account)
+ }, [account, onSelect])
+
+ return (
+
+ {({hovered, pressed}) => (
+
+
+
+
+
+
+ {profile?.displayName || account.handle}{' '}
+
+ {account.handle}
+
+ {isCurrentAccount ? (
+
+ ) : (
+
+ )}
+
+ )}
+
+ )
+}
diff --git a/src/components/AppLanguageDropdown.tsx b/src/components/AppLanguageDropdown.tsx
new file mode 100644
index 0000000000..02cd0ce2d4
--- /dev/null
+++ b/src/components/AppLanguageDropdown.tsx
@@ -0,0 +1,75 @@
+import React from 'react'
+import {View} from 'react-native'
+import RNPickerSelect, {PickerSelectProps} from 'react-native-picker-select'
+import {useQueryClient} from '@tanstack/react-query'
+
+import {sanitizeAppLanguageSetting} from '#/locale/helpers'
+import {APP_LANGUAGES} from '#/locale/languages'
+import {useLanguagePrefs, useLanguagePrefsApi} from '#/state/preferences'
+import {resetPostsFeedQueries} from '#/state/queries/post-feed'
+import {atoms as a, useTheme} from '#/alf'
+import {ChevronBottom_Stroke2_Corner0_Rounded as ChevronDown} from '#/components/icons/Chevron'
+
+export function AppLanguageDropdown() {
+ const t = useTheme()
+
+ const queryClient = useQueryClient()
+ const langPrefs = useLanguagePrefs()
+ const setLangPrefs = useLanguagePrefsApi()
+ const sanitizedLang = sanitizeAppLanguageSetting(langPrefs.appLanguage)
+
+ const onChangeAppLanguage = React.useCallback(
+ (value: Parameters[0]) => {
+ if (!value) return
+ if (sanitizedLang !== value) {
+ setLangPrefs.setAppLanguage(sanitizeAppLanguageSetting(value))
+ }
+ setLangPrefs.setPrimaryLanguage(value)
+ setLangPrefs.setContentLanguage(value)
+
+ // reset feeds to refetch content
+ resetPostsFeedQueries(queryClient)
+ },
+ [sanitizedLang, setLangPrefs, queryClient],
+ )
+
+ return (
+
+ Boolean(l.code2)).map(l => ({
+ label: l.name,
+ value: l.code2,
+ key: l.code2,
+ }))}
+ useNativeAndroidPickerStyle={false}
+ style={{
+ inputAndroid: {
+ color: t.atoms.text_contrast_medium.color,
+ fontSize: 16,
+ paddingRight: 12 + 4,
+ },
+ inputIOS: {
+ color: t.atoms.text.color,
+ fontSize: 16,
+ paddingRight: 12 + 4,
+ },
+ }}
+ />
+
+
+
+
+
+ )
+}
diff --git a/src/components/AppLanguageDropdown.web.tsx b/src/components/AppLanguageDropdown.web.tsx
new file mode 100644
index 0000000000..aea1b2b900
--- /dev/null
+++ b/src/components/AppLanguageDropdown.web.tsx
@@ -0,0 +1,79 @@
+import React from 'react'
+import {View} from 'react-native'
+import {useQueryClient} from '@tanstack/react-query'
+
+import {sanitizeAppLanguageSetting} from '#/locale/helpers'
+import {APP_LANGUAGES} from '#/locale/languages'
+import {useLanguagePrefs, useLanguagePrefsApi} from '#/state/preferences'
+import {resetPostsFeedQueries} from '#/state/queries/post-feed'
+import {atoms as a, useTheme} from '#/alf'
+import {ChevronBottom_Stroke2_Corner0_Rounded as ChevronDown} from '#/components/icons/Chevron'
+import {Text} from '#/components/Typography'
+
+export function AppLanguageDropdown() {
+ const t = useTheme()
+
+ const queryClient = useQueryClient()
+ const langPrefs = useLanguagePrefs()
+ const setLangPrefs = useLanguagePrefsApi()
+
+ const sanitizedLang = sanitizeAppLanguageSetting(langPrefs.appLanguage)
+
+ const onChangeAppLanguage = React.useCallback(
+ (ev: React.ChangeEvent) => {
+ const value = ev.target.value
+
+ if (!value) return
+ if (sanitizedLang !== value) {
+ setLangPrefs.setAppLanguage(sanitizeAppLanguageSetting(value))
+ }
+ setLangPrefs.setPrimaryLanguage(value)
+ setLangPrefs.setContentLanguage(value)
+
+ // reset feeds to refetch content
+ resetPostsFeedQueries(queryClient)
+ },
+ [sanitizedLang, setLangPrefs, queryClient],
+ )
+
+ return (
+
+
+ {APP_LANGUAGES.find(l => l.code2 === sanitizedLang)?.name}
+
+
+
+
+ {APP_LANGUAGES.filter(l => Boolean(l.code2)).map(l => (
+
+ {l.name}
+
+ ))}
+
+
+ )
+}
diff --git a/src/components/Button.tsx b/src/components/Button.tsx
index 0e22944a33..33d777971c 100644
--- a/src/components/Button.tsx
+++ b/src/components/Button.tsx
@@ -1,19 +1,19 @@
import React from 'react'
import {
- Pressable,
- Text,
- PressableProps,
- TextProps,
- ViewStyle,
AccessibilityProps,
- View,
- TextStyle,
- StyleSheet,
+ Pressable,
+ PressableProps,
StyleProp,
+ StyleSheet,
+ Text,
+ TextProps,
+ TextStyle,
+ View,
+ ViewStyle,
} from 'react-native'
-import LinearGradient from 'react-native-linear-gradient'
+import {LinearGradient} from 'expo-linear-gradient'
-import {useTheme, atoms as a, tokens, android, flatten} from '#/alf'
+import {android, atoms as a, flatten, tokens, useTheme} from '#/alf'
import {Props as SVGIconProps} from '#/components/icons/common'
import {normalizeTextStyles} from '#/components/Typography'
@@ -58,6 +58,10 @@ export type ButtonState = {
export type ButtonContext = VariantProps & ButtonState
+type NonTextElements =
+ | React.ReactElement
+ | Iterable
+
export type ButtonProps = Pick<
PressableProps,
'disabled' | 'onPress' | 'testID'
@@ -67,11 +71,9 @@ export type ButtonProps = Pick<
testID?: string
label: string
style?: StyleProp
- children:
- | React.ReactNode
- | string
- | ((context: ButtonContext) => React.ReactNode | string)
+ children: NonTextElements | ((context: ButtonContext) => NonTextElements)
}
+
export type ButtonTextProps = TextProps & VariantProps & {disabled?: boolean}
const Context = React.createContext({
@@ -403,13 +405,7 @@ export function Button({
)}
- {typeof children === 'string' ? (
- {children}
- ) : typeof children === 'function' ? (
- children(context)
- ) : (
- children
- )}
+ {typeof children === 'function' ? children(context) : children}
)
diff --git a/src/components/Dialog/index.tsx b/src/components/Dialog/index.tsx
index e23b9b4640..edbe820061 100644
--- a/src/components/Dialog/index.tsx
+++ b/src/components/Dialog/index.tsx
@@ -1,31 +1,31 @@
import React, {useImperativeHandle} from 'react'
-import {View, Dimensions, Keyboard, Pressable} from 'react-native'
+import {Dimensions, Pressable, View} from 'react-native'
+import Animated, {useAnimatedStyle} from 'react-native-reanimated'
+import {useSafeAreaInsets} from 'react-native-safe-area-context'
import BottomSheet, {
BottomSheetBackdropProps,
BottomSheetScrollView,
+ BottomSheetScrollViewMethods,
BottomSheetTextInput,
BottomSheetView,
useBottomSheet,
WINDOW_HEIGHT,
-} from '@gorhom/bottom-sheet'
-import {useSafeAreaInsets} from 'react-native-safe-area-context'
-import Animated, {useAnimatedStyle} from 'react-native-reanimated'
+} from '@discord/bottom-sheet/src'
-import {useTheme, atoms as a, flatten} from '#/alf'
-import {Portal} from '#/components/Portal'
-import {createInput} from '#/components/forms/TextField'
import {logger} from '#/logger'
import {useDialogStateControlContext} from '#/state/dialogs'
-
+import {isNative} from 'platform/detection'
+import {atoms as a, flatten, useTheme} from '#/alf'
+import {Context} from '#/components/Dialog/context'
import {
- DialogOuterProps,
DialogControlProps,
DialogInnerProps,
+ DialogOuterProps,
} from '#/components/Dialog/types'
-import {Context} from '#/components/Dialog/context'
-import {isNative} from 'platform/detection'
+import {createInput} from '#/components/forms/TextField'
+import {Portal} from '#/components/Portal'
-export {useDialogControl, useDialogContext} from '#/components/Dialog/context'
+export {useDialogContext, useDialogControl} from '#/components/Dialog/context'
export * from '#/components/Dialog/types'
// @ts-ignore
export const Input = createInput(BottomSheetTextInput)
@@ -83,7 +83,7 @@ export function Outer({
const sheetOptions = nativeOptions?.sheet || {}
const hasSnapPoints = !!sheetOptions.snapPoints
const insets = useSafeAreaInsets()
- const closeCallback = React.useRef<() => void>()
+ const closeCallbacks = React.useRef<(() => void)[]>([])
const {setDialogIsOpen} = useDialogStateControlContext()
/*
@@ -96,22 +96,51 @@ export function Outer({
*/
const isOpen = openIndex > -1
+ const callQueuedCallbacks = React.useCallback(() => {
+ for (const cb of closeCallbacks.current) {
+ try {
+ cb()
+ } catch (e: any) {
+ logger.error('Error running close callback', e)
+ }
+ }
+
+ closeCallbacks.current = []
+ }, [])
+
const open = React.useCallback(
({index} = {}) => {
+ // Run any leftover callbacks that might have been queued up before calling `.open()`
+ callQueuedCallbacks()
+
setDialogIsOpen(control.id, true)
// can be set to any index of `snapPoints`, but `0` is the first i.e. "open"
setOpenIndex(index || 0)
+ sheet.current?.snapToIndex(index || 0)
},
- [setOpenIndex, setDialogIsOpen, control.id],
+ [setDialogIsOpen, control.id, callQueuedCallbacks],
)
+ // This is the function that we call when we want to dismiss the dialog.
const close = React.useCallback(cb => {
- if (cb && typeof cb === 'function') {
- closeCallback.current = cb
+ if (typeof cb === 'function') {
+ closeCallbacks.current.push(cb)
}
sheet.current?.close()
}, [])
+ // This is the actual thing we are doing once we "confirm" the dialog. We want the dialog's close animation to
+ // happen before we run this. It is passed to the `BottomSheet` component.
+ const onCloseAnimationComplete = React.useCallback(() => {
+ // This removes the dialog from our list of stored dialogs. Not super necessary on iOS, but on Android this
+ // tells us that we need to toggle the accessibility overlay setting
+ setDialogIsOpen(control.id, false)
+ setOpenIndex(-1)
+
+ callQueuedCallbacks()
+ onClose?.()
+ }, [callQueuedCallbacks, control.id, onClose, setDialogIsOpen])
+
useImperativeHandle(
control.ref,
() => ({
@@ -121,22 +150,6 @@ export function Outer({
[open, close],
)
- const onCloseInner = React.useCallback(() => {
- Keyboard.dismiss()
- try {
- closeCallback.current?.()
- } catch (e: any) {
- logger.error(`Dialog closeCallback failed`, {
- message: e.message,
- })
- } finally {
- closeCallback.current = undefined
- }
- setDialogIsOpen(control.id, false)
- onClose?.()
- setOpenIndex(-1)
- }, [control.id, onClose, setDialogIsOpen])
-
const context = React.useMemo(() => ({close}), [close])
return (
@@ -164,7 +177,7 @@ export function Outer({
backdropComponent={Backdrop}
handleIndicatorStyle={{backgroundColor: t.palette.primary_500}}
handleStyle={{display: 'none'}}
- onClose={onCloseInner}>
+ onClose={onCloseAnimationComplete}>
(function ScrollableInner({children, style}, ref) {
const insets = useSafeAreaInsets()
return (
+ contentContainerStyle={isNative ? a.pb_4xl : undefined}
+ ref={ref}>
{children}
)
-}
+})
export function Handle() {
const t = useTheme()
- const onTouchStart = React.useCallback(() => {
- Keyboard.dismiss()
- }, [])
-
return (
-
+
{
- setIsOpen(true)
setDialogIsOpen(control.id, true)
+ setIsOpen(true)
}, [setIsOpen, setDialogIsOpen, control.id])
- const close = React.useCallback(async () => {
- setIsVisible(false)
- await new Promise(resolve => setTimeout(resolve, 150))
- setIsOpen(false)
- setIsVisible(true)
- setDialogIsOpen(control.id, false)
- onClose?.()
- }, [onClose, setIsOpen, setDialogIsOpen, control.id])
+ const close = React.useCallback(
+ cb => {
+ setDialogIsOpen(control.id, false)
+ setIsOpen(false)
+
+ try {
+ if (cb && typeof cb === 'function') {
+ // This timeout ensures that the callback runs at the same time as it would on native. I.e.
+ // console.log('Step 1') -> close(() => console.log('Step 3')) -> console.log('Step 2')
+ // This should always output 'Step 1', 'Step 2', 'Step 3', but without the timeout it would output
+ // 'Step 1', 'Step 3', 'Step 2'.
+ setTimeout(cb)
+ }
+ } catch (e: any) {
+ logger.error(`Dialog closeCallback failed`, {
+ message: e.message,
+ })
+ }
+
+ onClose?.()
+ },
+ [control.id, onClose, setDialogIsOpen],
+ )
+
+ const handleBackgroundPress = React.useCallback(async () => {
+ close()
+ }, [close])
useImperativeHandle(
control.ref,
@@ -52,7 +74,7 @@ export function Outer({
open,
close,
}),
- [open, close],
+ [close, open],
)
React.useEffect(() => {
@@ -65,7 +87,7 @@ export function Outer({
document.addEventListener('keydown', handler)
return () => document.removeEventListener('keydown', handler)
- }, [isOpen, close])
+ }, [close, isOpen])
const context = React.useMemo(
() => ({
@@ -82,7 +104,7 @@ export function Outer({
+ onPress={handleBackgroundPress}>
- {isVisible && (
-
- )}
+
- {isVisible ? children : null}
+ {children}
diff --git a/src/components/Dialog/types.ts b/src/components/Dialog/types.ts
index 700d411afb..1ddab02eea 100644
--- a/src/components/Dialog/types.ts
+++ b/src/components/Dialog/types.ts
@@ -1,6 +1,10 @@
import React from 'react'
-import type {AccessibilityProps, GestureResponderEvent} from 'react-native'
-import {BottomSheetProps} from '@gorhom/bottom-sheet'
+import type {
+ AccessibilityProps,
+ GestureResponderEvent,
+ ScrollViewProps,
+} from 'react-native'
+import {BottomSheetProps} from '@discord/bottom-sheet/src'
import {ViewStyleProp} from '#/alf'
@@ -61,11 +65,11 @@ export type DialogInnerProps =
label?: undefined
accessibilityLabelledBy: A11yProps['aria-labelledby']
accessibilityDescribedBy: string
- noHorizontalPadding?: boolean
+ keyboardDismissMode?: ScrollViewProps['keyboardDismissMode']
}>
| DialogInnerPropsBase<{
label: string
accessibilityLabelledBy?: undefined
accessibilityDescribedBy?: undefined
- noHorizontalPadding?: boolean
+ keyboardDismissMode?: ScrollViewProps['keyboardDismissMode']
}>
diff --git a/src/components/Error.tsx b/src/components/Error.tsx
index 1dbf682849..91b33f48e0 100644
--- a/src/components/Error.tsx
+++ b/src/components/Error.tsx
@@ -1,13 +1,15 @@
import React from 'react'
+import {View} from 'react-native'
+import {msg, Trans} from '@lingui/macro'
+import {useLingui} from '@lingui/react'
+import {useNavigation} from '@react-navigation/core'
+import {StackActions} from '@react-navigation/native'
+import {NavigationProp} from 'lib/routes/types'
import {CenteredView} from 'view/com/util/Views'
import {atoms as a, useBreakpoints, useTheme} from '#/alf'
+import {Button, ButtonText} from '#/components/Button'
import {Text} from '#/components/Typography'
-import {View} from 'react-native'
-import {Button} from '#/components/Button'
-import {useNavigation} from '@react-navigation/core'
-import {NavigationProp} from 'lib/routes/types'
-import {StackActions} from '@react-navigation/native'
import {router} from '#/routes'
export function Error({
@@ -20,6 +22,7 @@ export function Error({
onRetry?: () => unknown
}) {
const navigation = useNavigation()
+ const {_} = useLingui()
const t = useTheme()
const {gtMobile} = useBreakpoints()
@@ -68,21 +71,25 @@ export function Error({
- Retry
+
+ Retry
+
)}
- Go Back
+
+ Go Back
+
diff --git a/src/components/GradientFill.tsx b/src/components/GradientFill.tsx
index dc14aa72b7..3c64c8960e 100644
--- a/src/components/GradientFill.tsx
+++ b/src/components/GradientFill.tsx
@@ -1,5 +1,5 @@
import React from 'react'
-import LinearGradient from 'react-native-linear-gradient'
+import {LinearGradient} from 'expo-linear-gradient'
import {atoms as a, tokens} from '#/alf'
diff --git a/src/components/LikedByList.tsx b/src/components/LikedByList.tsx
index bd12136394..239a7044f6 100644
--- a/src/components/LikedByList.tsx
+++ b/src/components/LikedByList.tsx
@@ -1,47 +1,54 @@
import React from 'react'
-import {View} from 'react-native'
import {AppBskyFeedGetLikes as GetLikes} from '@atproto/api'
-import {Trans} from '@lingui/macro'
+import {msg} from '@lingui/macro'
+import {useLingui} from '@lingui/react'
import {logger} from '#/logger'
-import {List} from '#/view/com/util/List'
-import {ProfileCardWithFollowBtn} from '#/view/com/profile/ProfileCard'
-import {useResolveUriQuery} from '#/state/queries/resolve-uri'
import {useLikedByQuery} from '#/state/queries/post-liked-by'
+import {useResolveUriQuery} from '#/state/queries/resolve-uri'
import {useInitialNumToRender} from 'lib/hooks/useInitialNumToRender'
-import {ListFooter} from '#/components/Lists'
+import {cleanError} from 'lib/strings/errors'
+import {ProfileCardWithFollowBtn} from '#/view/com/profile/ProfileCard'
+import {List} from '#/view/com/util/List'
+import {ListFooter, ListMaybePlaceholder} from '#/components/Lists'
-import {atoms as a, useTheme} from '#/alf'
-import {Loader} from '#/components/Loader'
-import {Text} from '#/components/Typography'
+function renderItem({item}: {item: GetLikes.Like}) {
+ return
+}
+
+function keyExtractor(item: GetLikes.Like) {
+ return item.actor.did
+}
export function LikedByList({uri}: {uri: string}) {
- const t = useTheme()
+ const {_} = useLingui()
+ const initialNumToRender = useInitialNumToRender()
const [isPTRing, setIsPTRing] = React.useState(false)
+
const {
data: resolvedUri,
error: resolveError,
- isFetching: isFetchingResolvedUri,
+ isLoading: isUriLoading,
} = useResolveUriQuery(uri)
const {
data,
- isFetching,
- isFetched,
- isRefetching,
+ isLoading: isLikedByLoading,
+ isFetchingNextPage,
hasNextPage,
fetchNextPage,
- isError,
error: likedByError,
refetch,
} = useLikedByQuery(resolvedUri?.uri)
+
+ const error = resolveError || likedByError
+ const isError = !!resolveError || !!likedByError
+
const likes = React.useMemo(() => {
if (data?.pages) {
return data.pages.flatMap(page => page.likes)
}
return []
}, [data])
- const initialNumToRender = useInitialNumToRender()
- const error = resolveError || likedByError
const onRefresh = React.useCallback(async () => {
setIsPTRing(true)
@@ -54,56 +61,47 @@ export function LikedByList({uri}: {uri: string}) {
}, [refetch, setIsPTRing])
const onEndReached = React.useCallback(async () => {
- if (isFetching || !hasNextPage || isError) return
+ if (isFetchingNextPage || !hasNextPage || isError) return
try {
await fetchNextPage()
} catch (err) {
logger.error('Failed to load more likes', {message: err})
}
- }, [isFetching, hasNextPage, isError, fetchNextPage])
+ }, [isFetchingNextPage, hasNextPage, isError, fetchNextPage])
- const renderItem = React.useCallback(({item}: {item: GetLikes.Like}) => {
+ if (likes.length < 1) {
return (
-
- )
- }, [])
-
- if (isFetchingResolvedUri || !isFetched) {
- return (
-
-
-
+
)
}
- return likes.length ? (
+ return (
item.actor.did}
+ renderItem={renderItem}
+ keyExtractor={keyExtractor}
refreshing={isPTRing}
onRefresh={onRefresh}
onEndReached={onEndReached}
- onEndReachedThreshold={3}
- renderItem={renderItem}
- initialNumToRender={initialNumToRender}
- ListFooterComponent={() => (
+ ListFooterComponent={
- )}
+ }
+ onEndReachedThreshold={3}
+ initialNumToRender={initialNumToRender}
+ windowSize={11}
/>
- ) : (
-
-
-
-
- Nobody has liked this yet. Maybe you should be the first!
-
-
-
-
)
}
diff --git a/src/components/Link.tsx b/src/components/Link.tsx
index 7d0e833329..65a015ba3a 100644
--- a/src/components/Link.tsx
+++ b/src/components/Link.tsx
@@ -1,23 +1,24 @@
import React from 'react'
import {GestureResponderEvent} from 'react-native'
-import {useLinkProps, StackActions} from '@react-navigation/native'
import {sanitizeUrl} from '@braintree/sanitize-url'
+import {StackActions, useLinkProps} from '@react-navigation/native'
-import {useInteractionState} from '#/components/hooks/useInteractionState'
-import {isWeb} from '#/platform/detection'
-import {useTheme, web, flatten, TextStyleProp, atoms as a} from '#/alf'
-import {Button, ButtonProps} from '#/components/Button'
import {AllNavigatorParams} from '#/lib/routes/types'
+import {shareUrl} from '#/lib/sharing'
import {
convertBskyAppUrlIfNeeded,
isExternalUrl,
linkRequiresWarning,
} from '#/lib/strings/url-helpers'
+import {isNative, isWeb} from '#/platform/detection'
import {useModalControls} from '#/state/modals'
-import {router} from '#/routes'
-import {Text, TextProps} from '#/components/Typography'
-import {useOpenLink} from 'state/preferences/in-app-browser'
+import {useOpenLink} from '#/state/preferences/in-app-browser'
import {useNavigationDeduped} from 'lib/hooks/useNavigationDeduped'
+import {atoms as a, flatten, TextStyleProp, useTheme, web} from '#/alf'
+import {Button, ButtonProps} from '#/components/Button'
+import {useInteractionState} from '#/components/hooks/useInteractionState'
+import {Text, TextProps} from '#/components/Typography'
+import {router} from '#/routes'
/**
* Only available within a `Link`, since that inherits from `Button`.
@@ -60,6 +61,11 @@ type BaseLinkProps = Pick<
* Web-only attribute. Sets `download` attr on web.
*/
download?: string
+
+ /**
+ * Native-only attribute. If true, will open the share sheet on long press.
+ */
+ shareOnLongPress?: boolean
}
export function useLink({
@@ -68,6 +74,7 @@ export function useLink({
action = 'push',
disableMismatchWarning,
onPress: outerOnPress,
+ shareOnLongPress,
}: BaseLinkProps & {
displayText: string
}) {
@@ -157,10 +164,34 @@ export function useLink({
],
)
+ const handleLongPress = React.useCallback(() => {
+ const requiresWarning = Boolean(
+ !disableMismatchWarning &&
+ displayText &&
+ isExternal &&
+ linkRequiresWarning(href, displayText),
+ )
+
+ if (requiresWarning) {
+ openModal({
+ name: 'link-warning',
+ text: displayText,
+ href: href,
+ share: true,
+ })
+ } else {
+ shareUrl(href)
+ }
+ }, [disableMismatchWarning, displayText, href, isExternal, openModal])
+
+ const onLongPress =
+ isNative && isExternal && shareOnLongPress ? handleLongPress : undefined
+
return {
isExternal,
href,
onPress,
+ onLongPress,
}
}
@@ -219,7 +250,7 @@ export type InlineLinkProps = React.PropsWithChildren<
BaseLinkProps & TextStyleProp & Pick
>
-export function InlineLink({
+export function InlineLinkText({
children,
to,
action = 'push',
@@ -229,16 +260,18 @@ export function InlineLink({
download,
selectable,
label,
+ shareOnLongPress,
...rest
}: InlineLinkProps) {
const t = useTheme()
const stringChildren = typeof children === 'string'
- const {href, isExternal, onPress} = useLink({
+ const {href, isExternal, onPress, onLongPress} = useLink({
to,
displayText: stringChildren ? children : '',
action,
disableMismatchWarning,
onPress: outerOnPress,
+ shareOnLongPress,
})
const {
state: hovered,
@@ -270,6 +303,7 @@ export function InlineLink({
]}
role="link"
onPress={download ? undefined : onPress}
+ onLongPress={onLongPress}
onPressIn={onPressIn}
onPressOut={onPressOut}
onFocus={onFocus}
diff --git a/src/components/Lists.tsx b/src/components/Lists.tsx
index d3e0720286..89913b12b0 100644
--- a/src/components/Lists.tsx
+++ b/src/components/Lists.tsx
@@ -1,25 +1,23 @@
import React from 'react'
-import {atoms as a, useBreakpoints, useTheme} from '#/alf'
import {View} from 'react-native'
+import {msg, Trans} from '@lingui/macro'
import {useLingui} from '@lingui/react'
-import {Trans, msg} from '@lingui/macro'
-import {CenteredView} from 'view/com/util/Views'
-import {Loader} from '#/components/Loader'
import {cleanError} from 'lib/strings/errors'
-import {Button} from '#/components/Button'
-import {Text} from '#/components/Typography'
+import {CenteredView} from 'view/com/util/Views'
+import {atoms as a, useBreakpoints, useTheme} from '#/alf'
+import {Button, ButtonText} from '#/components/Button'
import {Error} from '#/components/Error'
+import {Loader} from '#/components/Loader'
+import {Text} from '#/components/Typography'
export function ListFooter({
- isFetching,
- isError,
+ isFetchingNextPage,
error,
onRetry,
height,
}: {
- isFetching?: boolean
- isError?: boolean
+ isFetchingNextPage?: boolean
error?: string
onRetry?: () => Promise
height?: number
@@ -36,32 +34,26 @@ export function ListFooter({
t.atoms.border_contrast_low,
{height: height ?? 180, paddingTop: 30},
]}>
- {isFetching ? (
+ {isFetchingNextPage ? (
) : (
-
+
)}
)
}
function ListFooterMaybeError({
- isError,
error,
onRetry,
}: {
- isError?: boolean
error?: string
onRetry?: () => Promise
}) {
const t = useTheme()
const {_} = useLingui()
- if (!isError) return null
+ if (!error) return null
return (
@@ -95,7 +87,9 @@ function ListFooterMaybeError({
a.py_sm,
]}
onPress={onRetry}>
- Retry
+
+ Retry
+
@@ -128,7 +122,7 @@ export function ListHeaderDesktop({
export function ListMaybePlaceholder({
isLoading,
- isEmpty,
+ noEmpty,
isError,
emptyTitle,
emptyMessage,
@@ -138,7 +132,7 @@ export function ListMaybePlaceholder({
onRetry,
}: {
isLoading: boolean
- isEmpty?: boolean
+ noEmpty?: boolean
isError?: boolean
emptyTitle?: string
emptyMessage?: string
@@ -151,16 +145,6 @@ export function ListMaybePlaceholder({
const {_} = useLingui()
const {gtMobile, gtTablet} = useBreakpoints()
- if (!isLoading && isError) {
- return (
-
- )
- }
-
if (isLoading) {
return (
+ )
+ }
+
+ if (!noEmpty) {
return (
)
}
+
+ return null
}
diff --git a/src/components/Loader.tsx b/src/components/Loader.tsx
index b9f399f953..e0b3be6373 100644
--- a/src/components/Loader.tsx
+++ b/src/components/Loader.tsx
@@ -1,13 +1,13 @@
import React from 'react'
import Animated, {
Easing,
- useSharedValue,
useAnimatedStyle,
+ useSharedValue,
withRepeat,
withTiming,
} from 'react-native-reanimated'
-import {atoms as a, useTheme, flatten} from '#/alf'
+import {atoms as a, flatten, useTheme} from '#/alf'
import {Props, useCommonSVGProps} from '#/components/icons/common'
import {Loader_Stroke2_Corner0_Rounded as Icon} from '#/components/icons/Loader'
diff --git a/src/components/Loader.web.tsx b/src/components/Loader.web.tsx
new file mode 100644
index 0000000000..d8182673f6
--- /dev/null
+++ b/src/components/Loader.web.tsx
@@ -0,0 +1,34 @@
+import React from 'react'
+import {View} from 'react-native'
+
+import {atoms as a, flatten, useTheme} from '#/alf'
+import {Props, useCommonSVGProps} from '#/components/icons/common'
+import {Loader_Stroke2_Corner0_Rounded as Icon} from '#/components/icons/Loader'
+
+export function Loader(props: Props) {
+ const t = useTheme()
+ const common = useCommonSVGProps(props)
+
+ return (
+
+ {/* css rotation animation - /bskyweb/templates/base.html */}
+
+
+
+
+ )
+}
diff --git a/src/components/ProfileHoverCard/index.tsx b/src/components/ProfileHoverCard/index.tsx
new file mode 100644
index 0000000000..980336ee4a
--- /dev/null
+++ b/src/components/ProfileHoverCard/index.tsx
@@ -0,0 +1,5 @@
+import {ProfileHoverCardProps} from './types'
+
+export function ProfileHoverCard({children}: ProfileHoverCardProps) {
+ return children
+}
diff --git a/src/components/ProfileHoverCard/index.web.tsx b/src/components/ProfileHoverCard/index.web.tsx
new file mode 100644
index 0000000000..370baccbb7
--- /dev/null
+++ b/src/components/ProfileHoverCard/index.web.tsx
@@ -0,0 +1,399 @@
+import React from 'react'
+import {View} from 'react-native'
+import {AppBskyActorDefs, moderateProfile, ModerationOpts} from '@atproto/api'
+import {flip, offset, shift, size, useFloating} from '@floating-ui/react-dom'
+import {msg, Trans} from '@lingui/macro'
+import {useLingui} from '@lingui/react'
+
+import {makeProfileLink} from '#/lib/routes/links'
+import {sanitizeDisplayName} from '#/lib/strings/display-names'
+import {sanitizeHandle} from '#/lib/strings/handles'
+import {pluralize} from '#/lib/strings/helpers'
+import {useModerationOpts} from '#/state/queries/preferences'
+import {usePrefetchProfileQuery, useProfileQuery} from '#/state/queries/profile'
+import {useSession} from '#/state/session'
+import {useProfileShadow} from 'state/cache/profile-shadow'
+import {formatCount} from '#/view/com/util/numeric/format'
+import {UserAvatar} from '#/view/com/util/UserAvatar'
+import {ProfileHeaderHandle} from '#/screens/Profile/Header/Handle'
+import {atoms as a, useTheme} from '#/alf'
+import {Button, ButtonIcon, ButtonText} from '#/components/Button'
+import {useFollowMethods} from '#/components/hooks/useFollowMethods'
+import {useRichText} from '#/components/hooks/useRichText'
+import {Check_Stroke2_Corner0_Rounded as Check} from '#/components/icons/Check'
+import {PlusLarge_Stroke2_Corner0_Rounded as Plus} from '#/components/icons/Plus'
+import {InlineLinkText, Link} from '#/components/Link'
+import {Loader} from '#/components/Loader'
+import {Portal} from '#/components/Portal'
+import {RichText} from '#/components/RichText'
+import {Text} from '#/components/Typography'
+import {ProfileHoverCardProps} from './types'
+
+const floatingMiddlewares = [
+ offset(4),
+ flip({padding: 16}),
+ shift({padding: 16}),
+ size({
+ padding: 16,
+ apply({availableWidth, availableHeight, elements}) {
+ Object.assign(elements.floating.style, {
+ maxWidth: `${availableWidth}px`,
+ maxHeight: `${availableHeight}px`,
+ })
+ },
+ }),
+]
+
+const isTouchDevice = 'ontouchstart' in window || navigator.maxTouchPoints > 0
+
+export function ProfileHoverCard(props: ProfileHoverCardProps) {
+ return isTouchDevice ? props.children :
+}
+
+type State = {
+ stage: 'hidden' | 'might-show' | 'showing' | 'might-hide' | 'hiding'
+ effect?: () => () => any
+}
+
+type Action =
+ | 'pressed'
+ | 'hovered'
+ | 'unhovered'
+ | 'show-timer-elapsed'
+ | 'hide-timer-elapsed'
+ | 'hide-animation-completed'
+
+const SHOW_DELAY = 350
+const SHOW_DURATION = 300
+const HIDE_DELAY = 200
+const HIDE_DURATION = 200
+
+export function ProfileHoverCardInner(props: ProfileHoverCardProps) {
+ const {refs, floatingStyles} = useFloating({
+ middleware: floatingMiddlewares,
+ })
+
+ const [currentState, dispatch] = React.useReducer(
+ // Tip: console.log(state, action) when debugging.
+ (state: State, action: Action): State => {
+ // Regardless of which stage we're in, pressing always hides the card.
+ if (action === 'pressed') {
+ return {stage: 'hidden'}
+ }
+
+ if (state.stage === 'hidden') {
+ // Our story starts when the card is hidden.
+ // If the user hovers, we kick off a grace period before showing the card.
+ if (action === 'hovered') {
+ return {
+ stage: 'might-show',
+ effect() {
+ const id = setTimeout(
+ () => dispatch('show-timer-elapsed'),
+ SHOW_DELAY,
+ )
+ return () => {
+ clearTimeout(id)
+ }
+ },
+ }
+ }
+ }
+
+ if (state.stage === 'might-show') {
+ // We're in the grace period when we decide whether to show the card.
+ // At this point, two things can happen. Either the user unhovers, and
+ // we go back to hidden--or they linger enough that we'll show the card.
+ if (action === 'unhovered') {
+ return {stage: 'hidden'}
+ }
+ if (action === 'show-timer-elapsed') {
+ return {stage: 'showing'}
+ }
+ }
+
+ if (state.stage === 'showing') {
+ // We're showing the card now.
+ // If the user unhovers, we'll start a grace period before hiding the card.
+ if (action === 'unhovered') {
+ return {
+ stage: 'might-hide',
+ effect() {
+ const id = setTimeout(
+ () => dispatch('hide-timer-elapsed'),
+ HIDE_DELAY,
+ )
+ return () => clearTimeout(id)
+ },
+ }
+ }
+ }
+
+ if (state.stage === 'might-hide') {
+ // We're in the grace period when we decide whether to hide the card.
+ // At this point, two things can happen. Either the user hovers, and
+ // we go back to showing it--or they linger enough that we'll start hiding the card.
+ if (action === 'hovered') {
+ return {stage: 'showing'}
+ }
+ if (action === 'hide-timer-elapsed') {
+ return {
+ stage: 'hiding',
+ effect() {
+ const id = setTimeout(
+ () => dispatch('hide-animation-completed'),
+ HIDE_DURATION,
+ )
+ return () => clearTimeout(id)
+ },
+ }
+ }
+ }
+
+ if (state.stage === 'hiding') {
+ // We're currently playing the hiding animation.
+ // We'll ignore all inputs now and wait for the animation to finish.
+ // At that point, we'll hide the entire thing, going back to square one.
+ if (action === 'hide-animation-completed') {
+ return {stage: 'hidden'}
+ }
+ }
+
+ // Something else happened. Keep calm and carry on.
+ return state
+ },
+ {stage: 'hidden'},
+ )
+
+ React.useEffect(() => {
+ if (currentState.effect) {
+ const effect = currentState.effect
+ delete currentState.effect // Mark as completed
+ return effect()
+ }
+ }, [currentState])
+
+ const prefetchProfileQuery = usePrefetchProfileQuery()
+ const prefetchedProfile = React.useRef(false)
+ const prefetchIfNeeded = React.useCallback(async () => {
+ if (!prefetchedProfile.current) {
+ prefetchedProfile.current = true
+ prefetchProfileQuery(props.did)
+ }
+ }, [prefetchProfileQuery, props.did])
+
+ const onPointerEnterTarget = React.useCallback(() => {
+ prefetchIfNeeded()
+ dispatch('hovered')
+ }, [prefetchIfNeeded])
+
+ const onPointerLeaveTarget = React.useCallback(() => {
+ dispatch('unhovered')
+ }, [])
+
+ const onPointerEnterCard = React.useCallback(() => {
+ dispatch('hovered')
+ }, [])
+
+ const onPointerLeaveCard = React.useCallback(() => {
+ dispatch('unhovered')
+ }, [])
+
+ const onPress = React.useCallback(() => {
+ dispatch('pressed')
+ }, [])
+
+ const isVisible =
+ currentState.stage === 'showing' ||
+ currentState.stage === 'might-hide' ||
+ currentState.stage === 'hiding'
+
+ const animationStyle = {
+ animation:
+ currentState.stage === 'hiding'
+ ? `avatarHoverFadeOut ${HIDE_DURATION}ms both`
+ : `avatarHoverFadeIn ${SHOW_DURATION}ms both`,
+ }
+
+ return (
+
+ {props.children}
+ {isVisible && (
+
+
+
+ )}
+
+ )
+}
+
+let Card = ({did, hide}: {did: string; hide: () => void}): React.ReactNode => {
+ const t = useTheme()
+
+ const profile = useProfileQuery({did})
+ const moderationOpts = useModerationOpts()
+
+ const data = profile.data
+
+ return (
+
+ {data && moderationOpts ? (
+
+ ) : (
+
+
+
+ )}
+
+ )
+}
+Card = React.memo(Card)
+
+function Inner({
+ profile,
+ moderationOpts,
+ hide,
+}: {
+ profile: AppBskyActorDefs.ProfileViewDetailed
+ moderationOpts: ModerationOpts
+ hide: () => void
+}) {
+ const t = useTheme()
+ const {_} = useLingui()
+ const {currentAccount} = useSession()
+ const moderation = React.useMemo(
+ () => moderateProfile(profile, moderationOpts),
+ [profile, moderationOpts],
+ )
+ const [descriptionRT] = useRichText(profile.description ?? '')
+ const profileShadow = useProfileShadow(profile)
+ const {follow, unfollow} = useFollowMethods({
+ profile: profileShadow,
+ logContext: 'ProfileHoverCard',
+ })
+ const blockHide = profile.viewer?.blocking || profile.viewer?.blockedBy
+ const following = formatCount(profile.followsCount || 0)
+ const followers = formatCount(profile.followersCount || 0)
+ const pluralizedFollowers = pluralize(profile.followersCount || 0, 'follower')
+ const profileURL = makeProfileLink({
+ did: profile.did,
+ handle: profile.handle,
+ })
+ const isMe = React.useMemo(
+ () => currentAccount?.did === profile.did,
+ [currentAccount, profile],
+ )
+
+ return (
+
+
+
+
+
+
+ {!isMe && (
+
+
+
+ {profileShadow.viewer?.following ? _('Following') : _('Follow')}
+
+
+ )}
+
+
+
+
+
+ {sanitizeDisplayName(
+ profile.displayName || sanitizeHandle(profile.handle),
+ moderation.ui('displayName'),
+ )}
+
+
+
+
+
+
+ {!blockHide && (
+ <>
+
+
+
+ {followers}
+
+ {pluralizedFollowers}
+
+
+
+
+
+ {following}
+ following
+
+
+
+
+ {profile.description?.trim() && !moderation.ui('profileView').blur ? (
+
+
+
+ ) : undefined}
+ >
+ )}
+
+ )
+}
diff --git a/src/components/ProfileHoverCard/types.ts b/src/components/ProfileHoverCard/types.ts
new file mode 100644
index 0000000000..a62279c96c
--- /dev/null
+++ b/src/components/ProfileHoverCard/types.ts
@@ -0,0 +1,7 @@
+import React from 'react'
+
+export type ProfileHoverCardProps = {
+ children: React.ReactElement
+ did: string
+ inline?: boolean
+}
diff --git a/src/components/Prompt.tsx b/src/components/Prompt.tsx
index b81b207075..0a171674de 100644
--- a/src/components/Prompt.tsx
+++ b/src/components/Prompt.tsx
@@ -3,11 +3,10 @@ import {View} from 'react-native'
import {msg} from '@lingui/macro'
import {useLingui} from '@lingui/react'
-import {useTheme, atoms as a, useBreakpoints} from '#/alf'
-import {Text} from '#/components/Typography'
+import {atoms as a, useBreakpoints, useTheme} from '#/alf'
import {Button, ButtonColor, ButtonText} from '#/components/Button'
-
import * as Dialog from '#/components/Dialog'
+import {Text} from '#/components/Typography'
export {useDialogControl as usePromptControl} from '#/components/Dialog'
@@ -52,7 +51,7 @@ export function Outer({
)
}
-export function Title({children}: React.PropsWithChildren<{}>) {
+export function TitleText({children}: React.PropsWithChildren<{}>) {
const {titleId} = React.useContext(Context)
return (
@@ -61,7 +60,7 @@ export function Title({children}: React.PropsWithChildren<{}>) {
)
}
-export function Description({children}: React.PropsWithChildren<{}>) {
+export function DescriptionText({children}: React.PropsWithChildren<{}>) {
const t = useTheme()
const {descriptionId} = React.useContext(Context)
return (
@@ -80,7 +79,7 @@ export function Actions({children}: React.PropsWithChildren<{}>) {
) {
}
export function Cancel({
- children,
cta,
-}: React.PropsWithChildren<{
+}: {
/**
- * Optional i18n string, used in lieu of `children` for simple buttons. If
- * undefined (and `children` is undefined), it will default to "Cancel".
+ * Optional i18n string. If undefined, it will default to "Cancel".
*/
cta?: string
-}>) {
+}) {
const {_} = useLingui()
const {gtMobile} = useBreakpoints()
const {close} = Dialog.useDialogContext()
@@ -115,33 +112,37 @@ export function Cancel({
size={gtMobile ? 'small' : 'medium'}
label={cta || _(msg`Cancel`)}
onPress={onPress}>
- {children ? children : {cta || _(msg`Cancel`)} }
+ {cta || _(msg`Cancel`)}
)
}
export function Action({
- children,
onPress,
color = 'primary',
cta,
testID,
-}: React.PropsWithChildren<{
+}: {
+ /**
+ * Callback to run when the action is pressed. The method is called _after_
+ * the dialog closes.
+ *
+ * Note: The dialog will close automatically when the action is pressed, you
+ * should NOT close the dialog as a side effect of this method.
+ */
onPress: () => void
color?: ButtonColor
/**
- * Optional i18n string, used in lieu of `children` for simple buttons. If
- * undefined (and `children` is undefined), it will default to "Confirm".
+ * Optional i18n string. If undefined, it will default to "Confirm".
*/
cta?: string
testID?: string
-}>) {
+}) {
const {_} = useLingui()
const {gtMobile} = useBreakpoints()
const {close} = Dialog.useDialogContext()
const handleOnPress = React.useCallback(() => {
- close()
- onPress()
+ close(onPress)
}, [close, onPress])
return (
@@ -152,7 +153,7 @@ export function Action({
label={cta || _(msg`Confirm`)}
onPress={handleOnPress}
testID={testID}>
- {children ? children : {cta || _(msg`Confirm`)} }
+ {cta || _(msg`Confirm`)}
)
}
@@ -171,13 +172,20 @@ export function Basic({
description: string
cancelButtonCta?: string
confirmButtonCta?: string
+ /**
+ * Callback to run when the Confirm button is pressed. The method is called
+ * _after_ the dialog closes.
+ *
+ * Note: The dialog will close automatically when the action is pressed, you
+ * should NOT close the dialog as a side effect of this method.
+ */
onConfirm: () => void
confirmButtonColor?: ButtonColor
}>) {
return (
- {title}
- {description}
+ {title}
+ {description}
-
+
{props.labelers.map(labeler => {
return (
{
- return {
- interacted: {
- backgroundColor: t.palette.contrast_50,
- },
- }
- }, [t])
-
return (
+ style={[
+ a.p_md,
+ a.rounded_sm,
+ t.atoms.bg_contrast_25,
+ interacted && t.atoms.bg_contrast_50,
+ ]}>
-
+
{reportOptions.map(reportOption => {
return (
props.onSelectReportOption(reportOption)}>
-
+
-
- Need to report a copyright violation?
-
-
-
- View details
-
-
-
-
+ Need to report a copyright violation?
+
+
+
+ View details
+
+
+
)}
@@ -153,14 +151,6 @@ function ReportOptionButton({
const {hovered, pressed} = useButtonContext()
const interacted = hovered || pressed
- const styles = React.useMemo(() => {
- return {
- interacted: {
- backgroundColor: t.palette.contrast_50,
- },
- }
- }, [t])
-
return (
@@ -188,12 +179,7 @@ function ReportOptionButton({
a.pr_md,
{left: 'auto'},
]}>
-
+
)
diff --git a/src/components/ReportDialog/SubmitView.tsx b/src/components/ReportDialog/SubmitView.tsx
index d47211c81c..892e55489c 100644
--- a/src/components/ReportDialog/SubmitView.tsx
+++ b/src/components/ReportDialog/SubmitView.tsx
@@ -1,25 +1,23 @@
import React from 'react'
import {View} from 'react-native'
+import {AppBskyLabelerDefs} from '@atproto/api'
import {msg, Trans} from '@lingui/macro'
import {useLingui} from '@lingui/react'
-import {AppBskyLabelerDefs} from '@atproto/api'
import {getLabelingServiceTitle} from '#/lib/moderation'
import {ReportOption} from '#/lib/moderation/useReportOptions'
-
-import {atoms as a, useTheme, native} from '#/alf'
-import {Text} from '#/components/Typography'
-import * as Dialog from '#/components/Dialog'
-import {Button, ButtonIcon, ButtonText} from '#/components/Button'
-import {ChevronLeft_Stroke2_Corner0_Rounded as ChevronLeft} from '#/components/icons/Chevron'
-import {Check_Stroke2_Corner0_Rounded as Check} from '#/components/icons/Check'
-import * as Toggle from '#/components/forms/Toggle'
-import {CharProgress} from '#/view/com/composer/char-progress/CharProgress'
-import {Loader} from '#/components/Loader'
-import * as Toast from '#/view/com/util/Toast'
-
-import {ReportDialogProps} from './types'
import {getAgent} from '#/state/session'
+import {CharProgress} from '#/view/com/composer/char-progress/CharProgress'
+import * as Toast from '#/view/com/util/Toast'
+import {atoms as a, native, useTheme} from '#/alf'
+import {Button, ButtonIcon, ButtonText} from '#/components/Button'
+import * as Dialog from '#/components/Dialog'
+import * as Toggle from '#/components/forms/Toggle'
+import {Check_Stroke2_Corner0_Rounded as Check} from '#/components/icons/Check'
+import {ChevronLeft_Stroke2_Corner0_Rounded as ChevronLeft} from '#/components/icons/Chevron'
+import {Loader} from '#/components/Loader'
+import {Text} from '#/components/Typography'
+import {ReportDialogProps} from './types'
export function SubmitView({
params,
@@ -208,6 +206,7 @@ export function SubmitView({
))}
(null)
+ useOnKeyboardDidShow(() => {
+ ref.current?.scrollToEnd({animated: true})
+ })
+
return (
-
+
{isLoading ? (
@@ -53,8 +62,6 @@ function ReportDialogInner(props: ReportDialogProps) {
) : (
)}
-
-
)
}
diff --git a/src/components/RichText.tsx b/src/components/RichText.tsx
index 1a14415cf8..82cdda1076 100644
--- a/src/components/RichText.tsx
+++ b/src/components/RichText.tsx
@@ -1,15 +1,16 @@
import React from 'react'
-import {RichText as RichTextAPI, AppBskyRichtextFacet} from '@atproto/api'
-import {useLingui} from '@lingui/react'
+import {AppBskyRichtextFacet, RichText as RichTextAPI} from '@atproto/api'
import {msg} from '@lingui/macro'
+import {useLingui} from '@lingui/react'
-import {atoms as a, TextStyleProp, flatten, useTheme, web, native} from '#/alf'
-import {InlineLink} from '#/components/Link'
-import {Text, TextProps} from '#/components/Typography'
-import {toShortUrl} from 'lib/strings/url-helpers'
-import {TagMenu, useTagMenuControl} from '#/components/TagMenu'
+import {toShortUrl} from '#/lib/strings/url-helpers'
import {isNative} from '#/platform/detection'
+import {atoms as a, flatten, native, TextStyleProp, useTheme, web} from '#/alf'
import {useInteractionState} from '#/components/hooks/useInteractionState'
+import {InlineLinkText, LinkProps} from '#/components/Link'
+import {ProfileHoverCard} from '#/components/ProfileHoverCard'
+import {TagMenu, useTagMenuControl} from '#/components/TagMenu'
+import {Text, TextProps} from '#/components/Typography'
const WORD_WRAP = {wordWrap: 1}
@@ -22,6 +23,7 @@ export function RichText({
selectable,
enableTags = false,
authorHandle,
+ onLinkPress,
}: TextStyleProp &
Pick & {
value: RichTextAPI | string
@@ -30,6 +32,7 @@ export function RichText({
disableLinks?: boolean
enableTags?: boolean
authorHandle?: string
+ onLinkPress?: LinkProps['onPress']
}) {
const richText = React.useMemo(
() =>
@@ -84,30 +87,34 @@ export function RichText({
!disableLinks
) {
els.push(
-
- {segment.text}
- ,
+
+
+ {segment.text}
+
+ ,
)
} else if (link && AppBskyRichtextFacet.validateLink(link).success) {
if (disableLinks) {
els.push(toShortUrl(segment.text))
} else {
els.push(
-
+ dataSet={WORD_WRAP}
+ shareOnLongPress
+ onPress={onLinkPress}>
{toShortUrl(segment.text)}
- ,
+ ,
)
}
} else if (
diff --git a/src/components/TagMenu/index.web.tsx b/src/components/TagMenu/index.web.tsx
index b2f5c90756..4336223861 100644
--- a/src/components/TagMenu/index.web.tsx
+++ b/src/components/TagMenu/index.web.tsx
@@ -87,7 +87,7 @@ export function TagMenu({
author: authorHandle,
})
},
- testID: 'tagMenuSeachByUser',
+ testID: 'tagMenuSearchByUser',
icon: {
ios: {
name: 'magnifyingglass',
diff --git a/src/components/Typography.tsx b/src/components/Typography.tsx
index f8b3ad1bd8..31dd931c6a 100644
--- a/src/components/Typography.tsx
+++ b/src/components/Typography.tsx
@@ -1,14 +1,9 @@
import React from 'react'
-import {
- Text as RNText,
- StyleProp,
- TextStyle,
- TextProps as RNTextProps,
-} from 'react-native'
-import {UITextView} from 'react-native-ui-text-view'
+import {StyleProp, TextProps as RNTextProps, TextStyle} from 'react-native'
+import {UITextView} from 'react-native-uitextview'
-import {useTheme, atoms, web, flatten} from '#/alf'
-import {isIOS, isNative} from '#/platform/detection'
+import {isNative} from '#/platform/detection'
+import {atoms, flatten, useTheme, web} from '#/alf'
export type TextProps = RNTextProps & {
/**
@@ -61,11 +56,8 @@ export function normalizeTextStyles(styles: StyleProp) {
export function Text({style, selectable, ...rest}: TextProps) {
const t = useTheme()
const s = normalizeTextStyles([atoms.text_sm, t.atoms.text, flatten(style)])
- return selectable && isIOS ? (
-
- ) : (
-
- )
+
+ return
}
export function createHeadingElement({level}: {level: number}) {
diff --git a/src/components/dialogs/BirthDateSettings.tsx b/src/components/dialogs/BirthDateSettings.tsx
index 4a3e96e56d..d831c6002a 100644
--- a/src/components/dialogs/BirthDateSettings.tsx
+++ b/src/components/dialogs/BirthDateSettings.tsx
@@ -1,23 +1,23 @@
import React from 'react'
-import {useLingui} from '@lingui/react'
-import {Trans, msg} from '@lingui/macro'
import {View} from 'react-native'
+import {msg, Trans} from '@lingui/macro'
+import {useLingui} from '@lingui/react'
-import * as Dialog from '#/components/Dialog'
-import {Text} from '../Typography'
-import {DateInput} from '#/view/com/util/forms/DateInput'
+import {cleanError} from '#/lib/strings/errors'
import {logger} from '#/logger'
+import {isIOS, isWeb} from '#/platform/detection'
import {
usePreferencesQuery,
- usePreferencesSetBirthDateMutation,
UsePreferencesQueryResponse,
+ usePreferencesSetBirthDateMutation,
} from '#/state/queries/preferences'
-import {Button, ButtonIcon, ButtonText} from '../Button'
-import {atoms as a, useTheme} from '#/alf'
import {ErrorMessage} from '#/view/com/util/error/ErrorMessage'
-import {cleanError} from '#/lib/strings/errors'
-import {isIOS, isWeb} from '#/platform/detection'
+import {DateInput} from '#/view/com/util/forms/DateInput'
+import {atoms as a, useTheme} from '#/alf'
+import * as Dialog from '#/components/Dialog'
import {Loader} from '#/components/Loader'
+import {Button, ButtonIcon, ButtonText} from '../Button'
+import {Text} from '../Typography'
export function BirthDateSettingsDialog({
control,
diff --git a/src/components/dialogs/Context.tsx b/src/components/dialogs/Context.tsx
index 87bd5c2ed7..c9dff9a999 100644
--- a/src/components/dialogs/Context.tsx
+++ b/src/components/dialogs/Context.tsx
@@ -6,10 +6,12 @@ type Control = Dialog.DialogOuterProps['control']
type ControlsContext = {
mutedWordsDialogControl: Control
+ signinDialogControl: Control
}
const ControlsContext = React.createContext({
mutedWordsDialogControl: {} as Control,
+ signinDialogControl: {} as Control,
})
export function useGlobalDialogsControlContext() {
@@ -18,9 +20,10 @@ export function useGlobalDialogsControlContext() {
export function Provider({children}: React.PropsWithChildren<{}>) {
const mutedWordsDialogControl = Dialog.useDialogControl()
+ const signinDialogControl = Dialog.useDialogControl()
const ctx = React.useMemo(
- () => ({mutedWordsDialogControl}),
- [mutedWordsDialogControl],
+ () => ({mutedWordsDialogControl, signinDialogControl}),
+ [mutedWordsDialogControl, signinDialogControl],
)
return (
diff --git a/src/components/dialogs/Embed.tsx b/src/components/dialogs/Embed.tsx
new file mode 100644
index 0000000000..7d858cae40
--- /dev/null
+++ b/src/components/dialogs/Embed.tsx
@@ -0,0 +1,195 @@
+import React, {memo, useRef, useState} from 'react'
+import {TextInput, View} from 'react-native'
+import {AppBskyActorDefs, AppBskyFeedPost, AtUri} from '@atproto/api'
+import {msg, Trans} from '@lingui/macro'
+import {useLingui} from '@lingui/react'
+
+import {EMBED_SCRIPT} from '#/lib/constants'
+import {niceDate} from '#/lib/strings/time'
+import {toShareUrl} from '#/lib/strings/url-helpers'
+import {atoms as a, useTheme} from '#/alf'
+import * as Dialog from '#/components/Dialog'
+import * as TextField from '#/components/forms/TextField'
+import {Check_Stroke2_Corner0_Rounded as Check} from '#/components/icons/Check'
+import {CodeBrackets_Stroke2_Corner0_Rounded as CodeBrackets} from '#/components/icons/CodeBrackets'
+import {Text} from '#/components/Typography'
+import {Button, ButtonIcon, ButtonText} from '../Button'
+
+type EmbedDialogProps = {
+ control: Dialog.DialogControlProps
+ postAuthor: AppBskyActorDefs.ProfileViewBasic
+ postCid: string
+ postUri: string
+ record: AppBskyFeedPost.Record
+ timestamp: string
+}
+
+let EmbedDialog = ({control, ...rest}: EmbedDialogProps): React.ReactNode => {
+ return (
+
+
+
+
+ )
+}
+EmbedDialog = memo(EmbedDialog)
+export {EmbedDialog}
+
+function EmbedDialogInner({
+ postAuthor,
+ postCid,
+ postUri,
+ record,
+ timestamp,
+}: Omit) {
+ const t = useTheme()
+ const {_} = useLingui()
+ const ref = useRef(null)
+ const [copied, setCopied] = useState(false)
+
+ // reset copied state after 2 seconds
+ React.useEffect(() => {
+ if (copied) {
+ const timeout = setTimeout(() => {
+ setCopied(false)
+ }, 2000)
+ return () => clearTimeout(timeout)
+ }
+ }, [copied])
+
+ const snippet = React.useMemo(() => {
+ function toEmbedUrl(href: string) {
+ return toShareUrl(href) + '?ref_src=embed'
+ }
+
+ const lang = record.langs && record.langs.length > 0 ? record.langs[0] : ''
+ const profileHref = toEmbedUrl(['/profile', postAuthor.did].join('/'))
+ const urip = new AtUri(postUri)
+ const href = toEmbedUrl(
+ ['/profile', postAuthor.did, 'post', urip.rkey].join('/'),
+ )
+
+ // x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x
+ // DO NOT ADD ANY NEW INTERPOLATIONS BELOW WITHOUT ESCAPING THEM!
+ // Also, keep this code synced with the bskyembed code in landing.tsx.
+ // x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x
+ return `${escapeHtml(record.text)}${
+ record.embed
+ ? `[image or embed] `
+ : ''
+ }
— ${escapeHtml(
+ postAuthor.displayName || postAuthor.handle,
+ )} (@${escapeHtml(
+ postAuthor.handle,
+ )} ) ${escapeHtml(
+ niceDate(timestamp),
+ )} `
+ }, [postUri, postCid, record, timestamp, postAuthor])
+
+ return (
+
+
+
+ Embed post
+
+
+
+ Embed this post in your website. Simply copy the following snippet
+ and paste it into the HTML code of your website.
+
+
+
+
+
+
+
+
+
+ {
+ ref.current?.focus()
+ ref.current?.setSelection(0, snippet.length)
+ navigator.clipboard.writeText(snippet)
+ setCopied(true)
+ }}>
+ {copied ? (
+ <>
+
+
+ Copied!
+
+ >
+ ) : (
+
+ Copy code
+
+ )}
+
+
+
+
+ )
+}
+
+/**
+ * Based on a snippet of code from React, which itself was based on the escape-html library.
+ * Copyright (c) Meta Platforms, Inc. and affiliates
+ * Copyright (c) 2012-2013 TJ Holowaychuk
+ * Copyright (c) 2015 Andreas Lubbe
+ * Copyright (c) 2015 Tiancheng "Timothy" Gu
+ * Licensed as MIT.
+ */
+const matchHtmlRegExp = /["'&<>]/
+function escapeHtml(string: string) {
+ const str = String(string)
+ const match = matchHtmlRegExp.exec(str)
+ if (!match) {
+ return str
+ }
+ let escape
+ let html = ''
+ let index
+ let lastIndex = 0
+ for (index = match.index; index < str.length; index++) {
+ switch (str.charCodeAt(index)) {
+ case 34: // "
+ escape = '"'
+ break
+ case 38: // &
+ escape = '&'
+ break
+ case 39: // '
+ escape = '''
+ break
+ case 60: // <
+ escape = '<'
+ break
+ case 62: // >
+ escape = '>'
+ break
+ default:
+ continue
+ }
+ if (lastIndex !== index) {
+ html += str.slice(lastIndex, index)
+ }
+ lastIndex = index + 1
+ html += escape
+ }
+ return lastIndex !== index ? html + str.slice(lastIndex, index) : html
+}
diff --git a/src/components/dialogs/EmbedConsent.tsx b/src/components/dialogs/EmbedConsent.tsx
new file mode 100644
index 0000000000..c3fefd9f09
--- /dev/null
+++ b/src/components/dialogs/EmbedConsent.tsx
@@ -0,0 +1,119 @@
+import React, {useCallback} from 'react'
+import {View} from 'react-native'
+import {msg, Trans} from '@lingui/macro'
+import {useLingui} from '@lingui/react'
+
+import {
+ type EmbedPlayerSource,
+ embedPlayerSources,
+ externalEmbedLabels,
+} from '#/lib/strings/embed-player'
+import {useSetExternalEmbedPref} from '#/state/preferences'
+import {atoms as a, useBreakpoints, useTheme} from '#/alf'
+import * as Dialog from '#/components/Dialog'
+import {Button, ButtonText} from '../Button'
+import {Text} from '../Typography'
+
+export function EmbedConsentDialog({
+ control,
+ source,
+ onAccept,
+}: {
+ control: Dialog.DialogControlProps
+ source: EmbedPlayerSource
+ onAccept: () => void
+}) {
+ const {_} = useLingui()
+ const t = useTheme()
+ const setExternalEmbedPref = useSetExternalEmbedPref()
+ const {gtMobile} = useBreakpoints()
+
+ const onShowAllPress = useCallback(() => {
+ for (const key of embedPlayerSources) {
+ setExternalEmbedPref(key, 'show')
+ }
+ onAccept()
+ control.close()
+ }, [control, onAccept, setExternalEmbedPref])
+
+ const onShowPress = useCallback(() => {
+ setExternalEmbedPref(source, 'show')
+ onAccept()
+ control.close()
+ }, [control, onAccept, setExternalEmbedPref, source])
+
+ const onHidePress = useCallback(() => {
+ setExternalEmbedPref(source, 'hide')
+ control.close()
+ }, [control, setExternalEmbedPref, source])
+
+ return (
+
+
+
+
+
+
+ External Media
+
+
+
+
+
+ This content is hosted by {externalEmbedLabels[source]}. Do you
+ want to enable external media?
+
+
+
+
+
+ External media may allow websites to collect information about
+ you and your device. No information is sent or requested until
+ you press the "play" button.
+
+
+
+
+
+
+
+ Enable external media
+
+
+
+
+ Enable {externalEmbedLabels[source]} only
+
+
+
+
+ No thanks
+
+
+
+
+
+ )
+}
diff --git a/src/components/dialogs/MutedWords.tsx b/src/components/dialogs/MutedWords.tsx
index 46f319adfe..0eced11e3d 100644
--- a/src/components/dialogs/MutedWords.tsx
+++ b/src/components/dialogs/MutedWords.tsx
@@ -1,37 +1,36 @@
import React from 'react'
import {Keyboard, View} from 'react-native'
+import {AppBskyActorDefs, sanitizeMutedWordValue} from '@atproto/api'
import {msg, Trans} from '@lingui/macro'
import {useLingui} from '@lingui/react'
-import {AppBskyActorDefs, sanitizeMutedWordValue} from '@atproto/api'
-import {
- usePreferencesQuery,
- useUpsertMutedWordsMutation,
- useRemoveMutedWordMutation,
-} from '#/state/queries/preferences'
+import {logger} from '#/logger'
import {isNative} from '#/platform/detection'
+import {
+ usePreferencesQuery,
+ useRemoveMutedWordMutation,
+ useUpsertMutedWordsMutation,
+} from '#/state/queries/preferences'
import {
atoms as a,
- useTheme,
+ native,
useBreakpoints,
+ useTheme,
ViewStyleProp,
web,
- native,
} from '#/alf'
-import {Text} from '#/components/Typography'
import {Button, ButtonIcon, ButtonText} from '#/components/Button'
-import {PlusLarge_Stroke2_Corner0_Rounded as Plus} from '#/components/icons/Plus'
-import {TimesLarge_Stroke2_Corner0_Rounded as X} from '#/components/icons/Times'
+import * as Dialog from '#/components/Dialog'
+import {useGlobalDialogsControlContext} from '#/components/dialogs/Context'
+import {Divider} from '#/components/Divider'
+import * as Toggle from '#/components/forms/Toggle'
import {Hashtag_Stroke2_Corner0_Rounded as Hashtag} from '#/components/icons/Hashtag'
import {PageText_Stroke2_Corner0_Rounded as PageText} from '#/components/icons/PageText'
-import {Divider} from '#/components/Divider'
+import {PlusLarge_Stroke2_Corner0_Rounded as Plus} from '#/components/icons/Plus'
+import {TimesLarge_Stroke2_Corner0_Rounded as X} from '#/components/icons/Times'
import {Loader} from '#/components/Loader'
-import {logger} from '#/logger'
-import * as Dialog from '#/components/Dialog'
-import * as Toggle from '#/components/forms/Toggle'
import * as Prompt from '#/components/Prompt'
-
-import {useGlobalDialogsControlContext} from '#/components/dialogs/Context'
+import {Text} from '#/components/Typography'
export function MutedWordsDialog() {
const {mutedWordsDialogControl: control} = useGlobalDialogsControlContext()
@@ -130,9 +129,9 @@ function MutedWordsInner({}: {control: Dialog.DialogOuterProps['control']}) {
-
+
Mute in text & tags
-
+
@@ -145,9 +144,9 @@ function MutedWordsInner({}: {control: Dialog.DialogOuterProps['control']}) {
-
+
Mute in tags only
-
+
diff --git a/src/components/dialogs/Signin.tsx b/src/components/dialogs/Signin.tsx
new file mode 100644
index 0000000000..b9c939e94b
--- /dev/null
+++ b/src/components/dialogs/Signin.tsx
@@ -0,0 +1,110 @@
+import React from 'react'
+import {View} from 'react-native'
+import {msg, Trans} from '@lingui/macro'
+import {useLingui} from '@lingui/react'
+
+import {isNative} from '#/platform/detection'
+import {useLoggedOutViewControls} from '#/state/shell/logged-out'
+import {useCloseAllActiveElements} from '#/state/util'
+import {Logo} from '#/view/icons/Logo'
+import {Logotype} from '#/view/icons/Logotype'
+import {atoms as a, useBreakpoints, useTheme} from '#/alf'
+import {Button, ButtonText} from '#/components/Button'
+import * as Dialog from '#/components/Dialog'
+import {useGlobalDialogsControlContext} from '#/components/dialogs/Context'
+import {Text} from '#/components/Typography'
+
+export function SigninDialog() {
+ const {signinDialogControl: control} = useGlobalDialogsControlContext()
+ return (
+
+
+
+
+ )
+}
+
+function SigninDialogInner({}: {control: Dialog.DialogOuterProps['control']}) {
+ const t = useTheme()
+ const {_} = useLingui()
+ const {gtMobile} = useBreakpoints()
+ const {requestSwitchToAccount} = useLoggedOutViewControls()
+ const closeAllActiveElements = useCloseAllActiveElements()
+
+ const showSignIn = React.useCallback(() => {
+ closeAllActiveElements()
+ requestSwitchToAccount({requestedAccount: 'none'})
+ }, [requestSwitchToAccount, closeAllActiveElements])
+
+ const showCreateAccount = React.useCallback(() => {
+ closeAllActiveElements()
+ requestSwitchToAccount({requestedAccount: 'new'})
+ }, [requestSwitchToAccount, closeAllActiveElements])
+
+ return (
+
+
+
+
+
+
+
+
+
+
+
+ Sign in or create your account to join the conversation!
+
+
+
+
+
+
+ Create an account
+
+
+
+
+
+ Sign in
+
+
+
+
+ {isNative && }
+
+
+
+
+ )
+}
diff --git a/src/components/dialogs/SwitchAccount.tsx b/src/components/dialogs/SwitchAccount.tsx
new file mode 100644
index 0000000000..645113d4af
--- /dev/null
+++ b/src/components/dialogs/SwitchAccount.tsx
@@ -0,0 +1,61 @@
+import React, {useCallback} from 'react'
+import {View} from 'react-native'
+import {msg, Trans} from '@lingui/macro'
+import {useLingui} from '@lingui/react'
+
+import {useAccountSwitcher} from '#/lib/hooks/useAccountSwitcher'
+import {type SessionAccount, useSession} from '#/state/session'
+import {useLoggedOutViewControls} from '#/state/shell/logged-out'
+import {useCloseAllActiveElements} from '#/state/util'
+import {atoms as a} from '#/alf'
+import * as Dialog from '#/components/Dialog'
+import {AccountList} from '../AccountList'
+import {Text} from '../Typography'
+
+export function SwitchAccountDialog({
+ control,
+}: {
+ control: Dialog.DialogControlProps
+}) {
+ const {_} = useLingui()
+ const {currentAccount} = useSession()
+ const {onPressSwitchAccount} = useAccountSwitcher()
+ const {setShowLoggedOut} = useLoggedOutViewControls()
+ const closeAllActiveElements = useCloseAllActiveElements()
+
+ const onSelectAccount = useCallback(
+ (account: SessionAccount) => {
+ if (account.did === currentAccount?.did) {
+ control.close()
+ } else {
+ onPressSwitchAccount(account, 'SwitchAccount')
+ }
+ },
+ [currentAccount, control, onPressSwitchAccount],
+ )
+
+ const onPressAddAccount = useCallback(() => {
+ setShowLoggedOut(true)
+ closeAllActiveElements()
+ }, [setShowLoggedOut, closeAllActiveElements])
+
+ return (
+
+
+
+
+
+
+ Switch Account
+
+
+
+
+
+
+ )
+}
diff --git a/src/components/forms/DateField/index.android.tsx b/src/components/forms/DateField/index.android.tsx
index 451810a5ea..1830ca4bfd 100644
--- a/src/components/forms/DateField/index.android.tsx
+++ b/src/components/forms/DateField/index.android.tsx
@@ -1,22 +1,14 @@
import React from 'react'
-import {View, Pressable} from 'react-native'
-
-import {useTheme, atoms} from '#/alf'
-import {Text} from '#/components/Typography'
-import {useInteractionState} from '#/components/hooks/useInteractionState'
-import * as TextField from '#/components/forms/TextField'
-import {CalendarDays_Stroke2_Corner0_Rounded as CalendarDays} from '#/components/icons/CalendarDays'
-
-import {DateFieldProps} from '#/components/forms/DateField/types'
-import {
- localizeDate,
- toSimpleDateString,
-} from '#/components/forms/DateField/utils'
import DatePicker from 'react-native-date-picker'
-import {isAndroid} from 'platform/detection'
+
+import {useTheme} from '#/alf'
+import {DateFieldProps} from '#/components/forms/DateField/types'
+import {toSimpleDateString} from '#/components/forms/DateField/utils'
+import * as TextField from '#/components/forms/TextField'
+import {DateFieldButton} from './index.shared'
export * as utils from '#/components/forms/DateField/utils'
-export const Label = TextField.Label
+export const LabelText = TextField.LabelText
export function DateField({
value,
@@ -24,18 +16,10 @@ export function DateField({
label,
isInvalid,
testID,
+ accessibilityHint,
}: DateFieldProps) {
const t = useTheme()
const [open, setOpen] = React.useState(false)
- const {
- state: pressed,
- onIn: onPressIn,
- onOut: onPressOut,
- } = useInteractionState()
- const {state: focused, onIn: onFocus, onOut: onBlur} = useInteractionState()
-
- const {chromeFocus, chromeError, chromeErrorHover} =
- TextField.useSharedInputStyles()
const onChangeInternal = React.useCallback(
(date: Date) => {
@@ -47,50 +31,29 @@ export function DateField({
[onChangeDate, setOpen],
)
+ const onPress = React.useCallback(() => {
+ setOpen(true)
+ }, [])
+
const onCancel = React.useCallback(() => {
setOpen(false)
}, [])
return (
-
- setOpen(true)}
- onPressIn={onPressIn}
- onPressOut={onPressOut}
- onFocus={onFocus}
- onBlur={onBlur}
- style={[
- {
- paddingTop: 16,
- paddingBottom: 16,
- borderColor: 'transparent',
- borderWidth: 2,
- },
- atoms.flex_row,
- atoms.flex_1,
- atoms.w_full,
- atoms.px_lg,
- atoms.rounded_sm,
- t.atoms.bg_contrast_50,
- focused || pressed ? chromeFocus : {},
- isInvalid ? chromeError : {},
- isInvalid && (focused || pressed) ? chromeErrorHover : {},
- ]}>
-
-
-
- {localizeDate(value)}
-
-
+ <>
+
{open && (
)}
-
+ >
)
}
diff --git a/src/components/forms/DateField/index.shared.tsx b/src/components/forms/DateField/index.shared.tsx
new file mode 100644
index 0000000000..1f54bdc8be
--- /dev/null
+++ b/src/components/forms/DateField/index.shared.tsx
@@ -0,0 +1,99 @@
+import React from 'react'
+import {Pressable, View} from 'react-native'
+
+import {android, atoms as a, useTheme, web} from '#/alf'
+import * as TextField from '#/components/forms/TextField'
+import {useInteractionState} from '#/components/hooks/useInteractionState'
+import {CalendarDays_Stroke2_Corner0_Rounded as CalendarDays} from '#/components/icons/CalendarDays'
+import {Text} from '#/components/Typography'
+import {localizeDate} from './utils'
+
+// looks like a TextField.Input, but is just a button. It'll do something different on each platform on press
+// iOS: open a dialog with an inline date picker
+// Android: open the date picker modal
+
+export function DateFieldButton({
+ label,
+ value,
+ onPress,
+ isInvalid,
+ accessibilityHint,
+}: {
+ label: string
+ value: string
+ onPress: () => void
+ isInvalid?: boolean
+ accessibilityHint?: string
+}) {
+ const t = useTheme()
+
+ const {
+ state: pressed,
+ onIn: onPressIn,
+ onOut: onPressOut,
+ } = useInteractionState()
+ const {
+ state: hovered,
+ onIn: onHoverIn,
+ onOut: onHoverOut,
+ } = useInteractionState()
+ const {state: focused, onIn: onFocus, onOut: onBlur} = useInteractionState()
+
+ const {chromeHover, chromeFocus, chromeError, chromeErrorHover} =
+ TextField.useSharedInputStyles()
+
+ return (
+
+
+
+
+ {localizeDate(value)}
+
+
+
+ )
+}
diff --git a/src/components/forms/DateField/index.tsx b/src/components/forms/DateField/index.tsx
index 49e47a01e3..e231ac5baf 100644
--- a/src/components/forms/DateField/index.tsx
+++ b/src/components/forms/DateField/index.tsx
@@ -1,14 +1,19 @@
import React from 'react'
import {View} from 'react-native'
-
-import {useTheme, atoms} from '#/alf'
-import * as TextField from '#/components/forms/TextField'
-import {toSimpleDateString} from '#/components/forms/DateField/utils'
-import {DateFieldProps} from '#/components/forms/DateField/types'
import DatePicker from 'react-native-date-picker'
+import {msg, Trans} from '@lingui/macro'
+import {useLingui} from '@lingui/react'
+
+import {atoms as a, useTheme} from '#/alf'
+import {Button, ButtonText} from '#/components/Button'
+import * as Dialog from '#/components/Dialog'
+import {DateFieldProps} from '#/components/forms/DateField/types'
+import {toSimpleDateString} from '#/components/forms/DateField/utils'
+import * as TextField from '#/components/forms/TextField'
+import {DateFieldButton} from './index.shared'
export * as utils from '#/components/forms/DateField/utils'
-export const Label = TextField.Label
+export const LabelText = TextField.LabelText
/**
* Date-only input. Accepts a date in the format YYYY-MM-DD, and reports date
@@ -22,8 +27,12 @@ export function DateField({
onChangeDate,
testID,
label,
+ isInvalid,
+ accessibilityHint,
}: DateFieldProps) {
+ const {_} = useLingui()
const t = useTheme()
+ const control = Dialog.useDialogControl()
const onChangeInternal = React.useCallback(
(date: Date | undefined) => {
@@ -36,17 +45,44 @@ export function DateField({
)
return (
-
-
+
-
+
+
+
+
+
+
+
+ control.close()}
+ size="medium"
+ color="primary"
+ variant="solid">
+
+ Done
+
+
+
+
+
+ >
)
}
diff --git a/src/components/forms/DateField/index.web.tsx b/src/components/forms/DateField/index.web.tsx
index 32f38a5d16..b764620e33 100644
--- a/src/components/forms/DateField/index.web.tsx
+++ b/src/components/forms/DateField/index.web.tsx
@@ -1,14 +1,15 @@
import React from 'react'
-import {TextInput, TextInputProps, StyleSheet} from 'react-native'
+import {StyleSheet, TextInput, TextInputProps} from 'react-native'
// @ts-ignore
import {unstable_createElement} from 'react-native-web'
-import * as TextField from '#/components/forms/TextField'
-import {toSimpleDateString} from '#/components/forms/DateField/utils'
import {DateFieldProps} from '#/components/forms/DateField/types'
+import {toSimpleDateString} from '#/components/forms/DateField/utils'
+import * as TextField from '#/components/forms/TextField'
+import {CalendarDays_Stroke2_Corner0_Rounded as CalendarDays} from '#/components/icons/CalendarDays'
export * as utils from '#/components/forms/DateField/utils'
-export const Label = TextField.Label
+export const LabelText = TextField.LabelText
const InputBase = React.forwardRef(
({style, ...props}, ref) => {
@@ -37,6 +38,7 @@ export function DateField({
label,
isInvalid,
testID,
+ accessibilityHint,
}: DateFieldProps) {
const handleOnChange = React.useCallback(
(e: any) => {
@@ -52,12 +54,14 @@ export function DateField({
return (
+
{}}
testID={testID}
+ accessibilityHint={accessibilityHint}
/>
)
diff --git a/src/components/forms/DateField/types.ts b/src/components/forms/DateField/types.ts
index 129f5672d4..5400cf9037 100644
--- a/src/components/forms/DateField/types.ts
+++ b/src/components/forms/DateField/types.ts
@@ -4,4 +4,5 @@ export type DateFieldProps = {
label: string
isInvalid?: boolean
testID?: string
+ accessibilityHint?: string
}
diff --git a/src/components/forms/FormError.tsx b/src/components/forms/FormError.tsx
new file mode 100644
index 0000000000..8ab6e3f357
--- /dev/null
+++ b/src/components/forms/FormError.tsx
@@ -0,0 +1,30 @@
+import React from 'react'
+import {View} from 'react-native'
+
+import {atoms as a, useTheme} from '#/alf'
+import {Warning_Stroke2_Corner0_Rounded as Warning} from '#/components/icons/Warning'
+import {Text} from '#/components/Typography'
+
+export function FormError({error}: {error?: string}) {
+ const t = useTheme()
+
+ if (!error) return null
+
+ return (
+
+
+
+
+ {error}
+
+
+
+ )
+}
diff --git a/src/components/forms/HostingProvider.tsx b/src/components/forms/HostingProvider.tsx
new file mode 100644
index 0000000000..6cbabe2911
--- /dev/null
+++ b/src/components/forms/HostingProvider.tsx
@@ -0,0 +1,96 @@
+import React from 'react'
+import {Keyboard, View} from 'react-native'
+import {msg} from '@lingui/macro'
+import {useLingui} from '@lingui/react'
+
+import {toNiceDomain} from '#/lib/strings/url-helpers'
+import {isAndroid} from '#/platform/detection'
+import {ServerInputDialog} from '#/view/com/auth/server-input'
+import {atoms as a, useTheme} from '#/alf'
+import {Globe_Stroke2_Corner0_Rounded as Globe} from '#/components/icons/Globe'
+import {PencilLine_Stroke2_Corner0_Rounded as Pencil} from '#/components/icons/Pencil'
+import {Button} from '../Button'
+import {useDialogControl} from '../Dialog'
+import {Text} from '../Typography'
+
+export function HostingProvider({
+ serviceUrl,
+ onSelectServiceUrl,
+ onOpenDialog,
+}: {
+ serviceUrl: string
+ onSelectServiceUrl: (provider: string) => void
+ onOpenDialog?: () => void
+}) {
+ const serverInputControl = useDialogControl()
+ const t = useTheme()
+ const {_} = useLingui()
+
+ const onPressSelectService = React.useCallback(() => {
+ Keyboard.dismiss()
+ serverInputControl.open()
+ if (onOpenDialog) {
+ onOpenDialog()
+ }
+ }, [onOpenDialog, serverInputControl])
+
+ return (
+ <>
+
+
+ {({hovered, pressed}) => {
+ const interacted = hovered || pressed
+ return (
+ <>
+
+
+
+ {toNiceDomain(serviceUrl)}
+
+
+
+ >
+ )
+ }}
+
+ >
+ )
+}
diff --git a/src/components/forms/TextField.tsx b/src/components/forms/TextField.tsx
index b37f4bfae9..73a660ea6c 100644
--- a/src/components/forms/TextField.tsx
+++ b/src/components/forms/TextField.tsx
@@ -1,19 +1,20 @@
import React from 'react'
import {
- View,
+ AccessibilityProps,
+ StyleSheet,
TextInput,
TextInputProps,
TextStyle,
+ View,
ViewStyle,
- StyleSheet,
- AccessibilityProps,
} from 'react-native'
+import {mergeRefs} from '#/lib/merge-refs'
import {HITSLOP_20} from 'lib/constants'
-import {useTheme, atoms as a, web, android} from '#/alf'
-import {Text} from '#/components/Typography'
+import {android, atoms as a, useTheme, web} from '#/alf'
import {useInteractionState} from '#/components/hooks/useInteractionState'
import {Props as SVGIconProps} from '#/components/icons/common'
+import {Text} from '#/components/Typography'
const Context = React.createContext<{
inputRef: React.RefObject | null
@@ -125,9 +126,10 @@ export function useSharedInputStyles() {
export type InputProps = Omit & {
label: string
- value: string
- onChangeText: (value: string) => void
+ value?: string
+ onChangeText?: (value: string) => void
isInvalid?: boolean
+ inputRef?: React.RefObject
}
export function createInput(Component: typeof TextInput) {
@@ -137,6 +139,7 @@ export function createInput(Component: typeof TextInput) {
value,
onChangeText,
isInvalid,
+ inputRef,
...rest
}: InputProps) {
const t = useTheme()
@@ -161,19 +164,22 @@ export function createInput(Component: typeof TextInput) {
)
}
+ const refs = mergeRefs([ctx.inputRef, inputRef!].filter(Boolean))
+
return (
<>
) {
@@ -271,7 +277,7 @@ export function Icon({icon: Comp}: {icon: React.ComponentType}) {
}) {
)
}
-export function Suffix({
+export function SuffixText({
children,
label,
accessibilityHint,
diff --git a/src/components/forms/Toggle.tsx b/src/components/forms/Toggle.tsx
index 7a4b5ac959..7285e5faca 100644
--- a/src/components/forms/Toggle.tsx
+++ b/src/components/forms/Toggle.tsx
@@ -3,16 +3,16 @@ import {Pressable, View, ViewStyle} from 'react-native'
import {HITSLOP_10} from 'lib/constants'
import {
- useTheme,
atoms as a,
- native,
flatten,
- ViewStyleProp,
+ native,
TextStyleProp,
+ useTheme,
+ ViewStyleProp,
} from '#/alf'
-import {Text} from '#/components/Typography'
import {useInteractionState} from '#/components/hooks/useInteractionState'
import {CheckThick_Stroke2_Corner0_Rounded as Checkmark} from '#/components/icons/Check'
+import {Text} from '#/components/Typography'
export type ItemState = {
name: string
@@ -234,7 +234,7 @@ export function Item({
)
}
-export function Label({
+export function LabelText({
children,
style,
}: React.PropsWithChildren) {
diff --git a/src/components/forms/ToggleButton.tsx b/src/components/forms/ToggleButton.tsx
index 9cdaaaa9d1..7528426380 100644
--- a/src/components/forms/ToggleButton.tsx
+++ b/src/components/forms/ToggleButton.tsx
@@ -1,16 +1,15 @@
import React from 'react'
-import {View, AccessibilityProps, TextStyle, ViewStyle} from 'react-native'
+import {AccessibilityProps, TextStyle, View, ViewStyle} from 'react-native'
-import {atoms as a, useTheme, native} from '#/alf'
+import {atoms as a, native, useTheme} from '#/alf'
+import * as Toggle from '#/components/forms/Toggle'
import {Text} from '#/components/Typography'
-import * as Toggle from '#/components/forms/Toggle'
-
-export type ItemProps = Omit &
- AccessibilityProps &
- React.PropsWithChildren<{
+type ItemProps = Omit &
+ AccessibilityProps & {
+ children: React.ReactElement
testID?: string
- }>
+ }
export type GroupProps = Omit & {
multiple?: boolean
@@ -47,49 +46,42 @@ function ButtonInner({children}: React.PropsWithChildren<{}>) {
const t = useTheme()
const state = Toggle.useItemContext()
- const {baseStyles, hoverStyles, activeStyles, textStyles} =
- React.useMemo(() => {
- const base: ViewStyle[] = []
- const hover: ViewStyle[] = []
- const active: ViewStyle[] = []
- const text: TextStyle[] = []
+ const {baseStyles, hoverStyles, activeStyles} = React.useMemo(() => {
+ const base: ViewStyle[] = []
+ const hover: ViewStyle[] = []
+ const active: ViewStyle[] = []
- hover.push(
- t.name === 'light' ? t.atoms.bg_contrast_100 : t.atoms.bg_contrast_25,
- )
+ hover.push(
+ t.name === 'light' ? t.atoms.bg_contrast_100 : t.atoms.bg_contrast_25,
+ )
- if (state.selected) {
- active.push({
- backgroundColor: t.palette.contrast_800,
- })
- text.push(t.atoms.text_inverted)
- hover.push({
- backgroundColor: t.palette.contrast_800,
- })
-
- if (state.disabled) {
- active.push({
- backgroundColor: t.palette.contrast_500,
- })
- }
- }
+ if (state.selected) {
+ active.push({
+ backgroundColor: t.palette.contrast_800,
+ })
+ hover.push({
+ backgroundColor: t.palette.contrast_800,
+ })
if (state.disabled) {
- base.push({
- backgroundColor: t.palette.contrast_100,
- })
- text.push({
- opacity: 0.5,
+ active.push({
+ backgroundColor: t.palette.contrast_500,
})
}
+ }
- return {
- baseStyles: base,
- hoverStyles: hover,
- activeStyles: active,
- textStyles: text,
- }
- }, [t, state])
+ if (state.disabled) {
+ base.push({
+ backgroundColor: t.palette.contrast_100,
+ })
+ }
+
+ return {
+ baseStyles: base,
+ hoverStyles: hover,
+ activeStyles: active,
+ }
+ }, [t, state])
return (
) {
activeStyles,
(state.hovered || state.pressed) && hoverStyles,
]}>
- {typeof children === 'string' ? (
-
- {children}
-
- ) : (
- children
- )}
+ {children}
)
}
+
+export function ButtonText({children}: {children: React.ReactNode}) {
+ const t = useTheme()
+ const state = Toggle.useItemContext()
+
+ const textStyles = React.useMemo(() => {
+ const text: TextStyle[] = []
+ if (state.selected) {
+ text.push(t.atoms.text_inverted)
+ }
+ if (state.disabled) {
+ text.push({
+ opacity: 0.5,
+ })
+ }
+ return text
+ }, [t, state])
+
+ return (
+
+ {children}
+
+ )
+}
diff --git a/src/components/hooks/useFollowMethods.ts b/src/components/hooks/useFollowMethods.ts
new file mode 100644
index 0000000000..1e91a1f38a
--- /dev/null
+++ b/src/components/hooks/useFollowMethods.ts
@@ -0,0 +1,60 @@
+import React from 'react'
+import {AppBskyActorDefs} from '@atproto/api'
+import {msg} from '@lingui/macro'
+import {useLingui} from '@lingui/react'
+
+import {LogEvents} from '#/lib/statsig/statsig'
+import {logger} from '#/logger'
+import {Shadow} from '#/state/cache/types'
+import {useProfileFollowMutationQueue} from '#/state/queries/profile'
+import {useRequireAuth} from '#/state/session'
+import * as Toast from '#/view/com/util/Toast'
+
+export function useFollowMethods({
+ profile,
+ logContext,
+}: {
+ profile: Shadow
+ logContext: LogEvents['profile:follow']['logContext'] &
+ LogEvents['profile:unfollow']['logContext']
+}) {
+ const {_} = useLingui()
+ const requireAuth = useRequireAuth()
+ const [queueFollow, queueUnfollow] = useProfileFollowMutationQueue(
+ profile,
+ logContext,
+ )
+
+ const follow = React.useCallback(() => {
+ requireAuth(async () => {
+ try {
+ await queueFollow()
+ } catch (e: any) {
+ logger.error(`useFollowMethods: failed to follow`, {message: String(e)})
+ if (e?.name !== 'AbortError') {
+ Toast.show(_(msg`An issue occurred, please try again.`))
+ }
+ }
+ })
+ }, [_, queueFollow, requireAuth])
+
+ const unfollow = React.useCallback(() => {
+ requireAuth(async () => {
+ try {
+ await queueUnfollow()
+ } catch (e: any) {
+ logger.error(`useFollowMethods: failed to unfollow`, {
+ message: String(e),
+ })
+ if (e?.name !== 'AbortError') {
+ Toast.show(_(msg`An issue occurred, please try again.`))
+ }
+ }
+ })
+ }, [_, queueUnfollow, requireAuth])
+
+ return {
+ follow,
+ unfollow,
+ }
+}
diff --git a/src/components/hooks/useOnKeyboard.ts b/src/components/hooks/useOnKeyboard.ts
new file mode 100644
index 0000000000..5de681a42a
--- /dev/null
+++ b/src/components/hooks/useOnKeyboard.ts
@@ -0,0 +1,12 @@
+import React from 'react'
+import {Keyboard} from 'react-native'
+
+export function useOnKeyboardDidShow(cb: () => unknown) {
+ React.useEffect(() => {
+ const subscription = Keyboard.addListener('keyboardDidShow', cb)
+
+ return () => {
+ subscription.remove()
+ }
+ }, [cb])
+}
diff --git a/src/components/hooks/useRichText.ts b/src/components/hooks/useRichText.ts
new file mode 100644
index 0000000000..e363ae5a93
--- /dev/null
+++ b/src/components/hooks/useRichText.ts
@@ -0,0 +1,33 @@
+import React from 'react'
+import {RichText as RichTextAPI} from '@atproto/api'
+
+import {getAgent} from '#/state/session'
+
+export function useRichText(text: string): [RichTextAPI, boolean] {
+ const [prevText, setPrevText] = React.useState(text)
+ const [rawRT, setRawRT] = React.useState(() => new RichTextAPI({text}))
+ const [resolvedRT, setResolvedRT] = React.useState(null)
+ if (text !== prevText) {
+ setPrevText(text)
+ setRawRT(new RichTextAPI({text}))
+ setResolvedRT(null)
+ // This will queue an immediate re-render
+ }
+ React.useEffect(() => {
+ let ignore = false
+ async function resolveRTFacets() {
+ // new each time
+ const resolvedRT = new RichTextAPI({text})
+ await resolvedRT.detectFacets(getAgent())
+ if (!ignore) {
+ setResolvedRT(resolvedRT)
+ }
+ }
+ resolveRTFacets()
+ return () => {
+ ignore = true
+ }
+ }, [text])
+ const isResolving = resolvedRT === null
+ return [resolvedRT ?? rawRT, isResolving]
+}
diff --git a/src/components/icons/Calendar.tsx b/src/components/icons/Calendar.tsx
new file mode 100644
index 0000000000..b3816f28b5
--- /dev/null
+++ b/src/components/icons/Calendar.tsx
@@ -0,0 +1,5 @@
+import {createSinglePathSVG} from './TEMPLATE'
+
+export const Calendar_Stroke2_Corner0_Rounded = createSinglePathSVG({
+ path: 'M8 2a1 1 0 0 1 1 1v1h6V3a1 1 0 1 1 2 0v1h2a2 2 0 0 1 2 2v13a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2V3a1 1 0 0 1 1-1ZM5 6v3h14V6H5Zm14 5H5v8h14v-8Z',
+})
diff --git a/src/components/icons/CodeBrackets.tsx b/src/components/icons/CodeBrackets.tsx
new file mode 100644
index 0000000000..59d5fca900
--- /dev/null
+++ b/src/components/icons/CodeBrackets.tsx
@@ -0,0 +1,5 @@
+import {createSinglePathSVG} from './TEMPLATE'
+
+export const CodeBrackets_Stroke2_Corner0_Rounded = createSinglePathSVG({
+ path: 'M14.242 3.03a1 1 0 0 1 .728 1.213l-4 16a1 1 0 1 1-1.94-.485l4-16a1 1 0 0 1 1.213-.728ZM6.707 7.293a1 1 0 0 1 0 1.414L3.414 12l3.293 3.293a1 1 0 1 1-1.414 1.414l-4-4a1 1 0 0 1 0-1.414l4-4a1 1 0 0 1 1.414 0Zm10.586 0a1 1 0 0 1 1.414 0l4 4a1 1 0 0 1 0 1.414l-4 4a1 1 0 1 1-1.414-1.414L20.586 12l-3.293-3.293a1 1 0 0 1 0-1.414Z',
+})
diff --git a/src/components/icons/Envelope.tsx b/src/components/icons/Envelope.tsx
new file mode 100644
index 0000000000..8e40346cdc
--- /dev/null
+++ b/src/components/icons/Envelope.tsx
@@ -0,0 +1,5 @@
+import {createSinglePathSVG} from './TEMPLATE'
+
+export const Envelope_Stroke2_Corner0_Rounded = createSinglePathSVG({
+ path: 'M4.568 4h14.864c.252 0 .498 0 .706.017.229.019.499.063.77.201a2 2 0 0 1 .874.874c.138.271.182.541.201.77.017.208.017.454.017.706v10.864c0 .252 0 .498-.017.706a2.022 2.022 0 0 1-.201.77 2 2 0 0 1-.874.874 2.022 2.022 0 0 1-.77.201c-.208.017-.454.017-.706.017H4.568c-.252 0-.498 0-.706-.017a2.022 2.022 0 0 1-.77-.201 2 2 0 0 1-.874-.874 2.022 2.022 0 0 1-.201-.77C2 17.93 2 17.684 2 17.432V6.568c0-.252 0-.498.017-.706.019-.229.063-.499.201-.77a2 2 0 0 1 .874-.874c.271-.138.541-.182.77-.201C4.07 4 4.316 4 4.568 4Zm.456 2L12 11.708 18.976 6H5.024ZM20 7.747l-6.733 5.509a2 2 0 0 1-2.534 0L4 7.746V17.4a8.187 8.187 0 0 0 .011.589h.014c.116.01.278.011.575.011h14.8a8.207 8.207 0 0 0 .589-.012v-.013c.01-.116.011-.279.011-.575V7.747Z',
+})
diff --git a/src/components/icons/Lock.tsx b/src/components/icons/Lock.tsx
new file mode 100644
index 0000000000..87830b3794
--- /dev/null
+++ b/src/components/icons/Lock.tsx
@@ -0,0 +1,5 @@
+import {createSinglePathSVG} from './TEMPLATE'
+
+export const Lock_Stroke2_Corner0_Rounded = createSinglePathSVG({
+ path: 'M7 7a5 5 0 0 1 10 0v2h1a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-9a2 2 0 0 1 2-2h1V7Zm-1 4v9h12v-9H6Zm9-2H9V7a3 3 0 1 1 6 0v2Zm-3 4a1 1 0 0 1 1 1v3a1 1 0 1 1-2 0v-3a1 1 0 0 1 1-1Z',
+})
diff --git a/src/components/icons/Pencil.tsx b/src/components/icons/Pencil.tsx
index 1b7fc17cf4..51fd8ba795 100644
--- a/src/components/icons/Pencil.tsx
+++ b/src/components/icons/Pencil.tsx
@@ -3,3 +3,7 @@ import {createSinglePathSVG} from './TEMPLATE'
export const Pencil_Stroke2_Corner0_Rounded = createSinglePathSVG({
path: 'M13.586 1.5a2 2 0 0 1 2.828 0L19.5 4.586a2 2 0 0 1 0 2.828l-13 13A2 2 0 0 1 5.086 21H1a1 1 0 0 1-1-1v-4.086A2 2 0 0 1 .586 14.5l13-13ZM15 2.914l-13 13V19h3.086l13-13L15 2.914ZM11 20a1 1 0 0 1 1-1h7a1 1 0 1 1 0 2h-7a1 1 0 0 1-1-1Z',
})
+
+export const PencilLine_Stroke2_Corner0_Rounded = createSinglePathSVG({
+ path: 'M15.586 2.5a2 2 0 0 1 2.828 0L21.5 5.586a2 2 0 0 1 0 2.828l-13 13A2 2 0 0 1 7.086 22H3a1 1 0 0 1-1-1v-4.086a2 2 0 0 1 .586-1.414l13-13ZM17 3.914l-13 13V20h3.086l13-13L17 3.914ZM13 21a1 1 0 0 1 1-1h7a1 1 0 1 1 0 2h-7a1 1 0 0 1-1-1Z',
+})
diff --git a/src/components/icons/Ticket.tsx b/src/components/icons/Ticket.tsx
new file mode 100644
index 0000000000..1a8059c2a1
--- /dev/null
+++ b/src/components/icons/Ticket.tsx
@@ -0,0 +1,5 @@
+import {createSinglePathSVG} from './TEMPLATE'
+
+export const Ticket_Stroke2_Corner0_Rounded = createSinglePathSVG({
+ path: 'M4 5.5a.5.5 0 0 0-.5.5v2.535a.5.5 0 0 0 .25.433A3.498 3.498 0 0 1 5.5 12a3.498 3.498 0 0 1-1.75 3.032.5.5 0 0 0-.25.433V18a.5.5 0 0 0 .5.5h16a.5.5 0 0 0 .5-.5v-2.535a.5.5 0 0 0-.25-.433A3.498 3.498 0 0 1 18.5 12a3.5 3.5 0 0 1 1.75-3.032.5.5 0 0 0 .25-.433V6a.5.5 0 0 0-.5-.5H4ZM2.5 6A1.5 1.5 0 0 1 4 4.5h16A1.5 1.5 0 0 1 21.5 6v3.17a.5.5 0 0 1-.333.472 2.501 2.501 0 0 0 0 4.716.5.5 0 0 1 .333.471V18a1.5 1.5 0 0 1-1.5 1.5H4A1.5 1.5 0 0 1 2.5 18v-3.17a.5.5 0 0 1 .333-.472 2.501 2.501 0 0 0 0-4.716.5.5 0 0 1-.333-.471V6Zm12 2a.5.5 0 1 1 1 0 .5.5 0 0 1-1 0Zm0 4a.5.5 0 1 1 1 0 .5.5 0 0 1-1 0Zm0 4a.5.5 0 1 1 1 0 .5.5 0 0 1-1 0Z',
+})
diff --git a/src/components/moderation/GlobalModerationLabelPref.tsx b/src/components/moderation/GlobalModerationLabelPref.tsx
deleted file mode 100644
index 7633cb9f21..0000000000
--- a/src/components/moderation/GlobalModerationLabelPref.tsx
+++ /dev/null
@@ -1,93 +0,0 @@
-import React from 'react'
-import {View} from 'react-native'
-import {InterpretedLabelValueDefinition, LabelPreference} from '@atproto/api'
-import {useLingui} from '@lingui/react'
-import {msg} from '@lingui/macro'
-
-import {useGlobalLabelStrings} from '#/lib/moderation/useGlobalLabelStrings'
-import {
- usePreferencesQuery,
- usePreferencesSetContentLabelMutation,
-} from '#/state/queries/preferences'
-
-import {useTheme, atoms as a} from '#/alf'
-import {Text} from '#/components/Typography'
-import * as ToggleButton from '#/components/forms/ToggleButton'
-
-export function GlobalModerationLabelPref({
- labelValueDefinition,
- disabled,
-}: {
- labelValueDefinition: InterpretedLabelValueDefinition
- disabled?: boolean
-}) {
- const {_} = useLingui()
- const t = useTheme()
-
- const {identifier} = labelValueDefinition
- const {data: preferences} = usePreferencesQuery()
- const {mutate, variables} = usePreferencesSetContentLabelMutation()
- const savedPref = preferences?.moderationPrefs.labels[identifier]
- const pref = variables?.visibility ?? savedPref ?? 'warn'
-
- const allLabelStrings = useGlobalLabelStrings()
- const labelStrings =
- labelValueDefinition.identifier in allLabelStrings
- ? allLabelStrings[labelValueDefinition.identifier]
- : {
- name: labelValueDefinition.identifier,
- description: `Labeled "${labelValueDefinition.identifier}"`,
- }
-
- const labelOptions = {
- hide: _(msg`Hide`),
- warn: _(msg`Warn`),
- ignore: _(msg`Show`),
- }
-
- return (
-
-
- {labelStrings.name}
-
- {labelStrings.description}
-
-
-
- {!disabled && (
-
- mutate({
- label: identifier,
- visibility: newPref[0] as LabelPreference,
- labelerDid: undefined,
- })
- }>
-
- {labelOptions.ignore}
-
-
- {labelOptions.warn}
-
-
- {labelOptions.hide}
-
-
- )}
-
-
- )
-}
diff --git a/src/components/moderation/LabelPreference.tsx b/src/components/moderation/LabelPreference.tsx
new file mode 100644
index 0000000000..6191643038
--- /dev/null
+++ b/src/components/moderation/LabelPreference.tsx
@@ -0,0 +1,293 @@
+import React from 'react'
+import {View} from 'react-native'
+import {InterpretedLabelValueDefinition, LabelPreference} from '@atproto/api'
+import {msg, Trans} from '@lingui/macro'
+import {useLingui} from '@lingui/react'
+
+import {useGlobalLabelStrings} from '#/lib/moderation/useGlobalLabelStrings'
+import {useLabelBehaviorDescription} from '#/lib/moderation/useLabelBehaviorDescription'
+import {getLabelStrings} from '#/lib/moderation/useLabelInfo'
+import {
+ usePreferencesQuery,
+ usePreferencesSetContentLabelMutation,
+} from '#/state/queries/preferences'
+import {atoms as a, useBreakpoints, useTheme} from '#/alf'
+import * as ToggleButton from '#/components/forms/ToggleButton'
+import {InlineLinkText} from '#/components/Link'
+import {Text} from '#/components/Typography'
+import {CircleInfo_Stroke2_Corner0_Rounded as CircleInfo} from '../icons/CircleInfo'
+
+export function Outer({children}: React.PropsWithChildren<{}>) {
+ return (
+
+ {children}
+
+ )
+}
+
+export function Content({
+ children,
+ name,
+ description,
+}: React.PropsWithChildren<{
+ name: string
+ description: string
+}>) {
+ const t = useTheme()
+ const {gtPhone} = useBreakpoints()
+
+ return (
+
+ {name}
+
+ {description}
+
+
+ {children}
+
+ )
+}
+
+export function Buttons({
+ name,
+ values,
+ onChange,
+ ignoreLabel,
+ warnLabel,
+ hideLabel,
+}: {
+ name: string
+ values: ToggleButton.GroupProps['values']
+ onChange: ToggleButton.GroupProps['onChange']
+ ignoreLabel?: string
+ warnLabel?: string
+ hideLabel?: string
+}) {
+ const {_} = useLingui()
+ const {gtPhone} = useBreakpoints()
+
+ return (
+
+
+ {ignoreLabel && (
+
+ {ignoreLabel}
+
+ )}
+ {warnLabel && (
+
+ {warnLabel}
+
+ )}
+ {hideLabel && (
+
+ {hideLabel}
+
+ )}
+
+
+ )
+}
+
+/**
+ * For use on the global Moderation screen to set prefs for a "global" label,
+ * not scoped to a single labeler.
+ */
+export function GlobalLabelPreference({
+ labelDefinition,
+ disabled,
+}: {
+ labelDefinition: InterpretedLabelValueDefinition
+ disabled?: boolean
+}) {
+ const {_} = useLingui()
+
+ const {identifier} = labelDefinition
+ const {data: preferences} = usePreferencesQuery()
+ const {mutate, variables} = usePreferencesSetContentLabelMutation()
+ const savedPref = preferences?.moderationPrefs.labels[identifier]
+ const pref = variables?.visibility ?? savedPref ?? 'warn'
+
+ const allLabelStrings = useGlobalLabelStrings()
+ const labelStrings =
+ labelDefinition.identifier in allLabelStrings
+ ? allLabelStrings[labelDefinition.identifier]
+ : {
+ name: labelDefinition.identifier,
+ description: `Labeled "${labelDefinition.identifier}"`,
+ }
+
+ const labelOptions = {
+ hide: _(msg`Hide`),
+ warn: _(msg`Warn`),
+ ignore: _(msg`Show`),
+ }
+
+ return (
+
+
+ {!disabled && (
+ {
+ mutate({
+ label: identifier,
+ visibility: values[0] as LabelPreference,
+ labelerDid: undefined,
+ })
+ }}
+ ignoreLabel={labelOptions.ignore}
+ warnLabel={labelOptions.warn}
+ hideLabel={labelOptions.hide}
+ />
+ )}
+
+ )
+}
+
+/**
+ * For use on individual labeler pages
+ */
+export function LabelerLabelPreference({
+ labelDefinition,
+ disabled,
+ labelerDid,
+}: {
+ labelDefinition: InterpretedLabelValueDefinition
+ disabled?: boolean
+ labelerDid?: string
+}) {
+ const {i18n} = useLingui()
+ const t = useTheme()
+ const {gtPhone} = useBreakpoints()
+
+ const isGlobalLabel = !labelDefinition.definedBy
+ const {identifier} = labelDefinition
+ const {data: preferences} = usePreferencesQuery()
+ const {mutate, variables} = usePreferencesSetContentLabelMutation()
+ const savedPref =
+ labelerDid && !isGlobalLabel
+ ? preferences?.moderationPrefs.labelers.find(l => l.did === labelerDid)
+ ?.labels[identifier]
+ : preferences?.moderationPrefs.labels[identifier]
+ const pref =
+ variables?.visibility ??
+ savedPref ??
+ labelDefinition.defaultSetting ??
+ 'warn'
+
+ // does the 'warn' setting make sense for this label?
+ const canWarn = !(
+ labelDefinition.blurs === 'none' && labelDefinition.severity === 'none'
+ )
+ // is this label adult only?
+ const adultOnly = labelDefinition.flags.includes('adult')
+ // is this label disabled because it's adult only?
+ const adultDisabled =
+ adultOnly && !preferences?.moderationPrefs.adultContentEnabled
+ // are there any reasons we cant configure this label here?
+ const cantConfigure = isGlobalLabel || adultDisabled
+ const showConfig = !disabled && (gtPhone || !cantConfigure)
+
+ // adjust the pref based on whether warn is available
+ let prefAdjusted = pref
+ if (adultDisabled) {
+ prefAdjusted = 'hide'
+ } else if (!canWarn && pref === 'warn') {
+ prefAdjusted = 'ignore'
+ }
+
+ // grab localized descriptions of the label and its settings
+ const currentPrefLabel = useLabelBehaviorDescription(
+ labelDefinition,
+ prefAdjusted,
+ )
+ const hideLabel = useLabelBehaviorDescription(labelDefinition, 'hide')
+ const warnLabel = useLabelBehaviorDescription(labelDefinition, 'warn')
+ const ignoreLabel = useLabelBehaviorDescription(labelDefinition, 'ignore')
+ const globalLabelStrings = useGlobalLabelStrings()
+ const labelStrings = getLabelStrings(
+ i18n.locale,
+ globalLabelStrings,
+ labelDefinition,
+ )
+
+ return (
+
+
+ {cantConfigure && (
+
+
+
+
+ {adultDisabled ? (
+ Adult content is disabled.
+ ) : isGlobalLabel ? (
+
+ Configured in{' '}
+
+ moderation settings
+
+ .
+
+ ) : null}
+
+
+ )}
+
+
+ {showConfig && (
+
+ {cantConfigure ? (
+
+
+ {currentPrefLabel}
+
+
+ ) : (
+ {
+ mutate({
+ label: identifier,
+ visibility: values[0] as LabelPreference,
+ labelerDid,
+ })
+ }}
+ ignoreLabel={ignoreLabel}
+ warnLabel={canWarn ? warnLabel : undefined}
+ hideLabel={hideLabel}
+ />
+ )}
+
+ )}
+
+ )
+}
diff --git a/src/components/moderation/LabelsOnMeDialog.tsx b/src/components/moderation/LabelsOnMeDialog.tsx
index 6eddbc7ceb..5cf86644c0 100644
--- a/src/components/moderation/LabelsOnMeDialog.tsx
+++ b/src/components/moderation/LabelsOnMeDialog.tsx
@@ -1,20 +1,19 @@
import React from 'react'
import {View} from 'react-native'
+import {ComAtprotoLabelDefs, ComAtprotoModerationDefs} from '@atproto/api'
import {msg, Trans} from '@lingui/macro'
import {useLingui} from '@lingui/react'
-import {ComAtprotoLabelDefs, ComAtprotoModerationDefs} from '@atproto/api'
import {useLabelInfo} from '#/lib/moderation/useLabelInfo'
import {makeProfileLink} from '#/lib/routes/links'
import {sanitizeHandle} from '#/lib/strings/handles'
import {getAgent} from '#/state/session'
-
-import {atoms as a, useBreakpoints, useTheme} from '#/alf'
-import {Text} from '#/components/Typography'
-import * as Dialog from '#/components/Dialog'
-import {Button, ButtonText} from '#/components/Button'
-import {InlineLink} from '#/components/Link'
import * as Toast from '#/view/com/util/Toast'
+import {atoms as a, useBreakpoints, useTheme} from '#/alf'
+import {Button, ButtonText} from '#/components/Button'
+import * as Dialog from '#/components/Dialog'
+import {InlineLinkText} from '#/components/Link'
+import {Text} from '#/components/Typography'
import {Divider} from '../Divider'
export {useDialogControl as useLabelsOnMeDialogControl} from '#/components/Dialog'
@@ -145,13 +144,13 @@ function Label({
Source: {' '}
- control.close()}>
{labeler ? sanitizeHandle(labeler.creator.handle, '@') : label.src}
-
+
@@ -204,14 +203,14 @@ function AppealForm({
This appeal will be sent to{' '}
- control.close()}
style={[a.text_md, a.leading_snug]}>
{labeler ? sanitizeHandle(labeler.creator.handle, '@') : label.src}
-
+
.
@@ -245,7 +244,7 @@ function AppealForm({
size="medium"
onPress={onPressBack}
label={_(msg`Back`)}>
- {_(msg`Back`)}
+ {_(msg`Back`)}
- {_(msg`Submit`)}
+ {_(msg`Submit`)}
>
diff --git a/src/components/moderation/ModerationDetailsDialog.tsx b/src/components/moderation/ModerationDetailsDialog.tsx
index da490cb43e..da57de4df3 100644
--- a/src/components/moderation/ModerationDetailsDialog.tsx
+++ b/src/components/moderation/ModerationDetailsDialog.tsx
@@ -1,19 +1,18 @@
import React from 'react'
import {View} from 'react-native'
+import {ModerationCause} from '@atproto/api'
import {msg, Trans} from '@lingui/macro'
import {useLingui} from '@lingui/react'
-import {ModerationCause} from '@atproto/api'
-import {listUriToHref} from '#/lib/strings/url-helpers'
import {useModerationCauseDescription} from '#/lib/moderation/useModerationCauseDescription'
import {makeProfileLink} from '#/lib/routes/links'
-
+import {listUriToHref} from '#/lib/strings/url-helpers'
import {isNative} from '#/platform/detection'
-import {useTheme, atoms as a} from '#/alf'
-import {Text} from '#/components/Typography'
+import {atoms as a, useTheme} from '#/alf'
import * as Dialog from '#/components/Dialog'
-import {InlineLink} from '#/components/Link'
import {Divider} from '#/components/Divider'
+import {InlineLinkText} from '#/components/Link'
+import {Text} from '#/components/Typography'
export {useDialogControl as useModerationDetailsDialogControl} from '#/components/Dialog'
@@ -55,9 +54,9 @@ function ModerationDetailsDialogInner({
description = (
This user is included in the{' '}
-
+
{list.name}
- {' '}
+ {' '}
list which you have blocked.
)
@@ -84,9 +83,9 @@ function ModerationDetailsDialogInner({
description = (
This user is included in the{' '}
-
+
{list.name}
- {' '}
+ {' '}
list which you have muted.
)
@@ -127,12 +126,12 @@ function ModerationDetailsDialogInner({
{modcause.source.type === 'user' ? (
the author
) : (
- control.close()}
style={a.text_md}>
{desc.source}
-
+
)}
.
diff --git a/src/components/moderation/ModerationLabelPref.tsx b/src/components/moderation/ModerationLabelPref.tsx
deleted file mode 100644
index b16c248592..0000000000
--- a/src/components/moderation/ModerationLabelPref.tsx
+++ /dev/null
@@ -1,177 +0,0 @@
-import React from 'react'
-import {View} from 'react-native'
-import {InterpretedLabelValueDefinition, LabelPreference} from '@atproto/api'
-import {useLingui} from '@lingui/react'
-import {msg, Trans} from '@lingui/macro'
-
-import {useGlobalLabelStrings} from '#/lib/moderation/useGlobalLabelStrings'
-import {useLabelBehaviorDescription} from '#/lib/moderation/useLabelBehaviorDescription'
-import {
- usePreferencesQuery,
- usePreferencesSetContentLabelMutation,
-} from '#/state/queries/preferences'
-import {getLabelStrings} from '#/lib/moderation/useLabelInfo'
-
-import {useTheme, atoms as a, useBreakpoints} from '#/alf'
-import {Text} from '#/components/Typography'
-import {InlineLink} from '#/components/Link'
-import {CircleInfo_Stroke2_Corner0_Rounded as CircleInfo} from '../icons/CircleInfo'
-import * as ToggleButton from '#/components/forms/ToggleButton'
-
-export function ModerationLabelPref({
- labelValueDefinition,
- labelerDid,
- disabled,
-}: {
- labelValueDefinition: InterpretedLabelValueDefinition
- labelerDid: string | undefined
- disabled?: boolean
-}) {
- const {_, i18n} = useLingui()
- const t = useTheme()
- const {gtPhone} = useBreakpoints()
-
- const isGlobalLabel = !labelValueDefinition.definedBy
- const {identifier} = labelValueDefinition
- const {data: preferences} = usePreferencesQuery()
- const {mutate, variables} = usePreferencesSetContentLabelMutation()
- const savedPref =
- labelerDid && !isGlobalLabel
- ? preferences?.moderationPrefs.labelers.find(l => l.did === labelerDid)
- ?.labels[identifier]
- : preferences?.moderationPrefs.labels[identifier]
- const pref =
- variables?.visibility ??
- savedPref ??
- labelValueDefinition.defaultSetting ??
- 'warn'
-
- // does the 'warn' setting make sense for this label?
- const canWarn = !(
- labelValueDefinition.blurs === 'none' &&
- labelValueDefinition.severity === 'none'
- )
- // is this label adult only?
- const adultOnly = labelValueDefinition.flags.includes('adult')
- // is this label disabled because it's adult only?
- const adultDisabled =
- adultOnly && !preferences?.moderationPrefs.adultContentEnabled
- // are there any reasons we cant configure this label here?
- const cantConfigure = isGlobalLabel || adultDisabled
- const showConfig = !disabled && (gtPhone || !cantConfigure)
-
- // adjust the pref based on whether warn is available
- let prefAdjusted = pref
- if (adultDisabled) {
- prefAdjusted = 'hide'
- } else if (!canWarn && pref === 'warn') {
- prefAdjusted = 'ignore'
- }
-
- // grab localized descriptions of the label and its settings
- const currentPrefLabel = useLabelBehaviorDescription(
- labelValueDefinition,
- prefAdjusted,
- )
- const hideLabel = useLabelBehaviorDescription(labelValueDefinition, 'hide')
- const warnLabel = useLabelBehaviorDescription(labelValueDefinition, 'warn')
- const ignoreLabel = useLabelBehaviorDescription(
- labelValueDefinition,
- 'ignore',
- )
- const globalLabelStrings = useGlobalLabelStrings()
- const labelStrings = getLabelStrings(
- i18n.locale,
- globalLabelStrings,
- labelValueDefinition,
- )
-
- return (
-
-
-
- {labelStrings.name}
-
-
- {labelStrings.description}
-
-
- {cantConfigure && (
-
-
-
-
- {adultDisabled ? (
- Adult content is disabled.
- ) : isGlobalLabel ? (
-
- Configured in{' '}
-
- moderation settings
-
- .
-
- ) : null}
-
-
- )}
-
-
- {showConfig && (
-
- {cantConfigure ? (
-
-
- {currentPrefLabel}
-
-
- ) : (
-
-
- mutate({
- label: identifier,
- visibility: newPref[0] as LabelPreference,
- labelerDid,
- })
- }>
-
- {ignoreLabel}
-
- {canWarn && (
-
- {warnLabel}
-
- )}
-
- {hideLabel}
-
-
-
- )}
-
- )}
-
- )
-}
diff --git a/src/components/moderation/ScreenHider.tsx b/src/components/moderation/ScreenHider.tsx
index 71ca85a926..0d316bc885 100644
--- a/src/components/moderation/ScreenHider.tsx
+++ b/src/components/moderation/ScreenHider.tsx
@@ -1,27 +1,26 @@
import React from 'react'
import {
- TouchableWithoutFeedback,
StyleProp,
+ TouchableWithoutFeedback,
View,
ViewStyle,
} from 'react-native'
-import {useNavigation} from '@react-navigation/native'
import {ModerationUI} from '@atproto/api'
-import {Trans, msg} from '@lingui/macro'
+import {msg, Trans} from '@lingui/macro'
import {useLingui} from '@lingui/react'
+import {useNavigation} from '@react-navigation/native'
+import {useModerationCauseDescription} from '#/lib/moderation/useModerationCauseDescription'
import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries'
import {NavigationProp} from 'lib/routes/types'
-import {useModerationCauseDescription} from '#/lib/moderation/useModerationCauseDescription'
-
-import {useTheme, atoms as a} from '#/alf'
import {CenteredView} from '#/view/com/util/Views'
-import {Text} from '#/components/Typography'
+import {atoms as a, useTheme} from '#/alf'
import {Button, ButtonText} from '#/components/Button'
import {
ModerationDetailsDialog,
useModerationDetailsDialogControl,
} from '#/components/moderation/ModerationDetailsDialog'
+import {Text} from '#/components/Typography'
export function ScreenHider({
testID,
@@ -56,7 +55,8 @@ export function ScreenHider({
const isNoPwi = !!modui.blurs.find(
cause =>
- cause.type === 'label' && cause.labelDef.id === '!no-unauthenticated',
+ cause.type === 'label' &&
+ cause.labelDef.identifier === '!no-unauthenticated',
)
return (
-
+
Learn More
diff --git a/src/lib/api/feed-manip.ts b/src/lib/api/feed-manip.ts
index 227062592b..85089608a7 100644
--- a/src/lib/api/feed-manip.ts
+++ b/src/lib/api/feed-manip.ts
@@ -1,11 +1,12 @@
import {
+ AppBskyEmbedRecord,
+ AppBskyEmbedRecordWithMedia,
AppBskyFeedDefs,
AppBskyFeedPost,
- AppBskyEmbedRecordWithMedia,
- AppBskyEmbedRecord,
} from '@atproto/api'
-import {ReasonFeedSource} from './feed/types'
+
import {isPostInLanguage} from '../../locale/helpers'
+import {ReasonFeedSource} from './feed/types'
type FeedViewPost = AppBskyFeedDefs.FeedViewPost
export type FeedTunerFn = (
@@ -341,6 +342,8 @@ export class FeedTuner {
tuner: FeedTuner,
slices: FeedViewPostsSlice[],
): FeedViewPostsSlice[] => {
+ const candidateSlices = slices.slice()
+
// early return if no languages have been specified
if (!preferredLangsCode2.length || preferredLangsCode2.length === 0) {
return slices
@@ -357,10 +360,17 @@ export class FeedTuner {
// if item does not fit preferred language, remove it
if (!hasPreferredLang) {
- slices.splice(i, 1)
+ candidateSlices.splice(i, 1)
}
}
- return slices
+
+ // if the language filter cleared out the entire page, return the original set
+ // so that something always shows
+ if (candidateSlices.length === 0) {
+ return slices
+ }
+
+ return candidateSlices
}
}
}
diff --git a/src/lib/api/feed/custom.ts b/src/lib/api/feed/custom.ts
index 41c5367e57..bd30d58acb 100644
--- a/src/lib/api/feed/custom.ts
+++ b/src/lib/api/feed/custom.ts
@@ -1,10 +1,12 @@
import {
AppBskyFeedDefs,
AppBskyFeedGetFeed as GetCustomFeed,
+ AtpAgent,
} from '@atproto/api'
-import {FeedAPI, FeedAPIResponse} from './types'
-import {getAgent} from '#/state/session'
+
import {getContentLanguages} from '#/state/preferences/languages'
+import {getAgent} from '#/state/session'
+import {FeedAPI, FeedAPIResponse} from './types'
export class CustomFeedAPI implements FeedAPI {
constructor(public params: GetCustomFeed.QueryParams) {}
@@ -29,14 +31,17 @@ export class CustomFeedAPI implements FeedAPI {
limit: number
}): Promise {
const contentLangs = getContentLanguages().join(',')
- const res = await getAgent().app.bsky.feed.getFeed(
- {
- ...this.params,
- cursor,
- limit,
- },
- {headers: {'Accept-Language': contentLangs}},
- )
+ const agent = getAgent()
+ const res = agent.session
+ ? await getAgent().app.bsky.feed.getFeed(
+ {
+ ...this.params,
+ cursor,
+ limit,
+ },
+ {headers: {'Accept-Language': contentLangs}},
+ )
+ : await loggedOutFetch({...this.params, cursor, limit})
if (res.success) {
// NOTE
// some custom feeds fail to enforce the pagination limit
@@ -55,3 +60,59 @@ export class CustomFeedAPI implements FeedAPI {
}
}
}
+
+// HACK
+// we want feeds to give language-specific results immediately when a
+// logged-out user changes their language. this comes with two problems:
+// 1. not all languages have content, and
+// 2. our public caching layer isnt correctly busting against the accept-language header
+// for now we handle both of these with a manual workaround
+// -prf
+async function loggedOutFetch({
+ feed,
+ limit,
+ cursor,
+}: {
+ feed: string
+ limit: number
+ cursor?: string
+}) {
+ let contentLangs = getContentLanguages().join(',')
+
+ // manually construct fetch call so we can add the `lang` cache-busting param
+ let res = await AtpAgent.fetch!(
+ `https://api.bsky.app/xrpc/app.bsky.feed.getFeed?feed=${feed}${
+ cursor ? `&cursor=${cursor}` : ''
+ }&limit=${limit}&lang=${contentLangs}`,
+ 'GET',
+ {'Accept-Language': contentLangs},
+ undefined,
+ )
+ if (res.body?.feed?.length) {
+ return {
+ success: true,
+ data: res.body,
+ }
+ }
+
+ // no data, try again with language headers removed
+ res = await AtpAgent.fetch!(
+ `https://api.bsky.app/xrpc/app.bsky.feed.getFeed?feed=${feed}${
+ cursor ? `&cursor=${cursor}` : ''
+ }&limit=${limit}`,
+ 'GET',
+ {'Accept-Language': ''},
+ undefined,
+ )
+ if (res.body?.feed?.length) {
+ return {
+ success: true,
+ data: res.body,
+ }
+ }
+
+ return {
+ success: false,
+ data: {feed: []},
+ }
+}
diff --git a/src/lib/app-info.ts b/src/lib/app-info.ts
index 3f026d3fe6..83406bf2ef 100644
--- a/src/lib/app-info.ts
+++ b/src/lib/app-info.ts
@@ -1,5 +1,9 @@
-import VersionNumber from 'react-native-version-number'
-import * as Updates from 'expo-updates'
-export const updateChannel = Updates.channel
+import {nativeApplicationVersion, nativeBuildVersion} from 'expo-application'
-export const appVersion = `${VersionNumber.appVersion} (${VersionNumber.buildVersion})`
+export const IS_DEV = process.env.EXPO_PUBLIC_ENV === 'development'
+export const IS_TESTFLIGHT = process.env.EXPO_PUBLIC_ENV === 'testflight'
+
+const UPDATES_CHANNEL = IS_TESTFLIGHT ? 'testflight' : 'production'
+export const appVersion = `${nativeApplicationVersion} (${nativeBuildVersion}, ${
+ IS_DEV ? 'development' : UPDATES_CHANNEL
+})`
diff --git a/src/lib/constants.ts b/src/lib/constants.ts
index f5a72669a9..bb49387c4c 100644
--- a/src/lib/constants.ts
+++ b/src/lib/constants.ts
@@ -7,6 +7,8 @@ export const BSKY_SERVICE = 'https://bsky.social'
export const DEFAULT_SERVICE = BSKY_SERVICE
const HELP_DESK_LANG = 'en-us'
export const HELP_DESK_URL = `https://blueskyweb.zendesk.com/hc/${HELP_DESK_LANG}`
+export const EMBED_SERVICE = 'https://embed.bsky.app'
+export const EMBED_SCRIPT = `${EMBED_SERVICE}/static/embed.js`
const BASE_FEEDBACK_FORM_URL = `${HELP_DESK_URL}/requests/new`
export function FEEDBACK_FORM_URL({
@@ -80,8 +82,10 @@ export const HITSLOP_30 = createHitslop(30)
export const BACK_HITSLOP = HITSLOP_30
export const MAX_POST_LINES = 25
+export const BSKY_APP_ACCOUNT_DID = 'did:plc:z72i7hdynmk6r22z27h6tvur'
+
export const BSKY_FEED_OWNER_DIDS = [
- 'did:plc:z72i7hdynmk6r22z27h6tvur',
+ BSKY_APP_ACCOUNT_DID,
'did:plc:vpkhqolt662uhesyj6nxm7ys',
'did:plc:q6gjnaw2blty4crticxkmujt',
]
diff --git a/src/lib/haptics.ts b/src/lib/haptics.ts
index 516940c1ce..02940f793d 100644
--- a/src/lib/haptics.ts
+++ b/src/lib/haptics.ts
@@ -1,40 +1,20 @@
+import React from 'react'
+import {impactAsync, ImpactFeedbackStyle} from 'expo-haptics'
+
import {isIOS, isWeb} from 'platform/detection'
-import ReactNativeHapticFeedback, {
- HapticFeedbackTypes,
-} from 'react-native-haptic-feedback'
+import {useHapticsDisabled} from 'state/preferences/disable-haptics'
-const hapticImpact: HapticFeedbackTypes = isIOS ? 'impactMedium' : 'impactLight' // Users said the medium impact was too strong on Android; see APP-537s
+const hapticImpact: ImpactFeedbackStyle = isIOS
+ ? ImpactFeedbackStyle.Medium
+ : ImpactFeedbackStyle.Light // Users said the medium impact was too strong on Android; see APP-537s
-export class Haptics {
- static default() {
- if (isWeb) {
+export function useHaptics() {
+ const isHapticsDisabled = useHapticsDisabled()
+
+ return React.useCallback(() => {
+ if (isHapticsDisabled || isWeb) {
return
}
- ReactNativeHapticFeedback.trigger(hapticImpact)
- }
- static impact(type: HapticFeedbackTypes = hapticImpact) {
- if (isWeb) {
- return
- }
- ReactNativeHapticFeedback.trigger(type)
- }
- static selection() {
- if (isWeb) {
- return
- }
- ReactNativeHapticFeedback.trigger('selection')
- }
- static notification = (type: 'success' | 'warning' | 'error') => {
- if (isWeb) {
- return
- }
- switch (type) {
- case 'success':
- return ReactNativeHapticFeedback.trigger('notificationSuccess')
- case 'warning':
- return ReactNativeHapticFeedback.trigger('notificationWarning')
- case 'error':
- return ReactNativeHapticFeedback.trigger('notificationError')
- }
- }
+ impactAsync(hapticImpact)
+ }, [isHapticsDisabled])
}
diff --git a/src/lib/hooks/useAccountSwitcher.ts b/src/lib/hooks/useAccountSwitcher.ts
index 74b5674d5a..eb1685a0ae 100644
--- a/src/lib/hooks/useAccountSwitcher.ts
+++ b/src/lib/hooks/useAccountSwitcher.ts
@@ -6,6 +6,7 @@ import {useSessionApi, SessionAccount} from '#/state/session'
import * as Toast from '#/view/com/util/Toast'
import {useCloseAllActiveElements} from '#/state/util'
import {useLoggedOutViewControls} from '#/state/shell/logged-out'
+import {LogEvents} from '../statsig/statsig'
export function useAccountSwitcher() {
const {track} = useAnalytics()
@@ -14,7 +15,10 @@ export function useAccountSwitcher() {
const {requestSwitchToAccount} = useLoggedOutViewControls()
const onPressSwitchAccount = useCallback(
- async (account: SessionAccount) => {
+ async (
+ account: SessionAccount,
+ logContext: LogEvents['account:loggedIn']['logContext'],
+ ) => {
track('Settings:SwitchAccountButtonClicked')
try {
@@ -28,7 +32,7 @@ export function useAccountSwitcher() {
// So we change the URL ourselves. The navigator will pick it up on remount.
history.pushState(null, '', '/')
}
- await selectAccount(account)
+ await selectAccount(account, logContext)
setTimeout(() => {
Toast.show(`Signed in as @${account.handle}`)
}, 100)
diff --git a/src/lib/hooks/useOTAUpdates.ts b/src/lib/hooks/useOTAUpdates.ts
new file mode 100644
index 0000000000..70905c1373
--- /dev/null
+++ b/src/lib/hooks/useOTAUpdates.ts
@@ -0,0 +1,144 @@
+import React from 'react'
+import {Alert, AppState, AppStateStatus} from 'react-native'
+import {nativeBuildVersion} from 'expo-application'
+import {
+ checkForUpdateAsync,
+ fetchUpdateAsync,
+ isEnabled,
+ reloadAsync,
+ setExtraParamAsync,
+ useUpdates,
+} from 'expo-updates'
+
+import {logger} from '#/logger'
+import {IS_TESTFLIGHT} from 'lib/app-info'
+import {useGate} from 'lib/statsig/statsig'
+import {isIOS} from 'platform/detection'
+
+const MINIMUM_MINIMIZE_TIME = 15 * 60e3
+
+async function setExtraParams() {
+ await setExtraParamAsync(
+ isIOS ? 'ios-build-number' : 'android-build-number',
+ // Hilariously, `buildVersion` is not actually a string on Android even though the TS type says it is.
+ // This just ensures it gets passed as a string
+ `${nativeBuildVersion}`,
+ )
+ await setExtraParamAsync(
+ 'channel',
+ IS_TESTFLIGHT ? 'testflight' : 'production',
+ )
+}
+
+export function useOTAUpdates() {
+ const shouldReceiveUpdates =
+ useGate('receive_updates') && isEnabled && !__DEV__
+
+ const appState = React.useRef('active')
+ const lastMinimize = React.useRef(0)
+ const ranInitialCheck = React.useRef(false)
+ const timeout = React.useRef()
+ const {isUpdatePending} = useUpdates()
+
+ const setCheckTimeout = React.useCallback(() => {
+ timeout.current = setTimeout(async () => {
+ try {
+ await setExtraParams()
+
+ logger.debug('Checking for update...')
+ const res = await checkForUpdateAsync()
+
+ if (res.isAvailable) {
+ logger.debug('Attempting to fetch update...')
+ await fetchUpdateAsync()
+ } else {
+ logger.debug('No update available.')
+ }
+ } catch (e) {
+ logger.error('OTA Update Error', {error: `${e}`})
+ }
+ }, 10e3)
+ }, [])
+
+ const onIsTestFlight = React.useCallback(async () => {
+ try {
+ await setExtraParams()
+
+ const res = await checkForUpdateAsync()
+ if (res.isAvailable) {
+ await fetchUpdateAsync()
+
+ Alert.alert(
+ 'Update Available',
+ 'A new version of the app is available. Relaunch now?',
+ [
+ {
+ text: 'No',
+ style: 'cancel',
+ },
+ {
+ text: 'Relaunch',
+ style: 'default',
+ onPress: async () => {
+ await reloadAsync()
+ },
+ },
+ ],
+ )
+ }
+ } catch (e: any) {
+ logger.error('Internal OTA Update Error', {error: `${e}`})
+ }
+ }, [])
+
+ React.useEffect(() => {
+ // We use this setTimeout to allow Statsig to initialize before we check for an update
+ // For Testflight users, we can prompt the user to update immediately whenever there's an available update. This
+ // is suspect however with the Apple App Store guidelines, so we don't want to prompt production users to update
+ // immediately.
+ if (IS_TESTFLIGHT) {
+ onIsTestFlight()
+ return
+ } else if (!shouldReceiveUpdates || ranInitialCheck.current) {
+ return
+ }
+
+ setCheckTimeout()
+ ranInitialCheck.current = true
+ }, [onIsTestFlight, setCheckTimeout, shouldReceiveUpdates])
+
+ // After the app has been minimized for 15 minutes, we want to either A. install an update if one has become available
+ // or B check for an update again.
+ React.useEffect(() => {
+ if (!isEnabled) return
+
+ const subscription = AppState.addEventListener(
+ 'change',
+ async nextAppState => {
+ if (
+ appState.current.match(/inactive|background/) &&
+ nextAppState === 'active'
+ ) {
+ // If it's been 15 minutes since the last "minimize", we should feel comfortable updating the client since
+ // chances are that there isn't anything important going on in the current session.
+ if (lastMinimize.current <= Date.now() - MINIMUM_MINIMIZE_TIME) {
+ if (isUpdatePending) {
+ await reloadAsync()
+ } else {
+ setCheckTimeout()
+ }
+ }
+ } else {
+ lastMinimize.current = Date.now()
+ }
+
+ appState.current = nextAppState
+ },
+ )
+
+ return () => {
+ clearTimeout(timeout.current)
+ subscription.remove()
+ }
+ }, [isUpdatePending, setCheckTimeout])
+}
diff --git a/src/lib/hooks/useOTAUpdates.web.ts b/src/lib/hooks/useOTAUpdates.web.ts
new file mode 100644
index 0000000000..1baf4894ee
--- /dev/null
+++ b/src/lib/hooks/useOTAUpdates.web.ts
@@ -0,0 +1 @@
+export function useOTAUpdates() {}
diff --git a/src/lib/icons.tsx b/src/lib/icons.tsx
index 7ae88806f7..93b45ea3a9 100644
--- a/src/lib/icons.tsx
+++ b/src/lib/icons.tsx
@@ -1,6 +1,6 @@
import React from 'react'
import {StyleProp, TextStyle, ViewStyle} from 'react-native'
-import Svg, {Path, Rect, Line, Ellipse} from 'react-native-svg'
+import Svg, {Ellipse, Line, Path, Rect} from 'react-native-svg'
export function GridIcon({
style,
@@ -141,8 +141,8 @@ export function MagnifyingGlassIcon2({
width={size || 24}
height={size || 24}
style={style}>
-
-
+
+
)
}
@@ -167,14 +167,14 @@ export function MagnifyingGlassIcon2Solid({
style={style}>
-
-
+
+
)
}
diff --git a/src/lib/media/picker.e2e.tsx b/src/lib/media/picker.e2e.tsx
index d7b6080417..31702ab227 100644
--- a/src/lib/media/picker.e2e.tsx
+++ b/src/lib/media/picker.e2e.tsx
@@ -3,7 +3,6 @@ import RNFS from 'react-native-fs'
import {CropperOptions} from './types'
import {compressIfNeeded} from './manip'
-let _imageCounter = 0
async function getFile() {
let files = await RNFS.readDir(
RNFS.LibraryDirectoryPath.split('/')
@@ -12,7 +11,7 @@ async function getFile() {
.join('/'),
)
files = files.filter(file => file.path.endsWith('.JPG'))
- const file = files[_imageCounter++ % files.length]
+ const file = files[0]
return await compressIfNeeded({
path: file.path,
mime: 'image/jpeg',
diff --git a/src/lib/moderation/useGlobalLabelStrings.ts b/src/lib/moderation/useGlobalLabelStrings.ts
index 1c5a482314..4f41c62b10 100644
--- a/src/lib/moderation/useGlobalLabelStrings.ts
+++ b/src/lib/moderation/useGlobalLabelStrings.ts
@@ -1,6 +1,6 @@
+import {useMemo} from 'react'
import {msg} from '@lingui/macro'
import {useLingui} from '@lingui/react'
-import {useMemo} from 'react'
export type GlobalLabelStrings = Record<
string,
@@ -31,7 +31,7 @@ export function useGlobalLabelStrings(): GlobalLabelStrings {
),
},
porn: {
- name: _(msg`Pornography`),
+ name: _(msg`Adult Content`),
description: _(msg`Explicit sexual images.`),
},
sexual: {
diff --git a/src/lib/moderation/useModerationCauseDescription.ts b/src/lib/moderation/useModerationCauseDescription.ts
index 46771e9584..57b50d7779 100644
--- a/src/lib/moderation/useModerationCauseDescription.ts
+++ b/src/lib/moderation/useModerationCauseDescription.ts
@@ -118,11 +118,15 @@ export function useModerationCauseDescription(
(labeler?.creator.handle ? '@' + labeler?.creator.handle : undefined)
if (!source) {
if (cause.label.src === BSKY_LABELER_DID) {
- source = 'Bluesky Moderation'
+ source = 'Bluesky Moderation Service'
} else {
source = cause.label.src
}
}
+ if (def.identifier === 'porn' || def.identifier === 'sexual') {
+ strings.name = 'Adult Content'
+ }
+
return {
icon:
def.identifier === '!no-unauthenticated'
diff --git a/src/lib/moderation/useReportOptions.ts b/src/lib/moderation/useReportOptions.ts
index e001705943..a22386b991 100644
--- a/src/lib/moderation/useReportOptions.ts
+++ b/src/lib/moderation/useReportOptions.ts
@@ -1,7 +1,7 @@
-import {msg} from '@lingui/macro'
-import {useLingui} from '@lingui/react'
import {useMemo} from 'react'
import {ComAtprotoModerationDefs} from '@atproto/api'
+import {msg} from '@lingui/macro'
+import {useLingui} from '@lingui/react'
export interface ReportOption {
reason: string
@@ -68,7 +68,7 @@ export function useReportOptions(): ReportOptions {
{
reason: ComAtprotoModerationDefs.REASONSEXUAL,
title: _(msg`Unwanted Sexual Content`),
- description: _(msg`Nudity or pornography not labeled as such`),
+ description: _(msg`Nudity or adult content not labeled as such`),
},
...common,
],
diff --git a/src/lib/notifications/notifications.ts b/src/lib/notifications/notifications.ts
index e811f690ed..e0b3d8f3d9 100644
--- a/src/lib/notifications/notifications.ts
+++ b/src/lib/notifications/notifications.ts
@@ -1,12 +1,15 @@
+import {useEffect} from 'react'
import * as Notifications from 'expo-notifications'
import {QueryClient} from '@tanstack/react-query'
-import {resetToTab} from '../../Navigation'
-import {devicePlatform, isIOS} from 'platform/detection'
-import {track} from 'lib/analytics/analytics'
+
import {logger} from '#/logger'
import {RQKEY as RQKEY_NOTIFS} from '#/state/queries/notifications/feed'
+import {invalidateCachedUnreadPage} from '#/state/queries/notifications/unread'
import {truncateAndInvalidate} from '#/state/queries/util'
-import {SessionAccount, getAgent} from '#/state/session'
+import {getAgent, SessionAccount} from '#/state/session'
+import {track} from 'lib/analytics/analytics'
+import {devicePlatform, isIOS} from 'platform/detection'
+import {resetToTab} from '../../Navigation'
import {logEvent} from '../statsig/statsig'
const SERVICE_DID = (serviceUrl?: string) =>
@@ -80,53 +83,66 @@ export function registerTokenChangeHandler(
}
}
-export function init(queryClient: QueryClient) {
- // handle notifications that are received, both in the foreground or background
- // NOTE: currently just here for debug logging
- Notifications.addNotificationReceivedListener(event => {
- logger.debug(
- 'Notifications: received',
- {event},
- logger.DebugContext.notifications,
- )
- if (event.request.trigger.type === 'push') {
- // handle payload-based deeplinks
- let payload
- if (isIOS) {
- payload = event.request.trigger.payload
- } else {
- // TODO: handle android payload deeplink
- }
- if (payload) {
- logger.debug(
- 'Notifications: received payload',
- payload,
- logger.DebugContext.notifications,
- )
- // TODO: deeplink notif here
- }
- }
- })
-
- // handle notifications that are tapped on
- Notifications.addNotificationResponseReceivedListener(response => {
- logger.debug(
- 'Notifications: response received',
- {
- actionIdentifier: response.actionIdentifier,
- },
- logger.DebugContext.notifications,
- )
- if (response.actionIdentifier === Notifications.DEFAULT_ACTION_IDENTIFIER) {
+export function useNotificationsListener(queryClient: QueryClient) {
+ useEffect(() => {
+ // handle notifications that are received, both in the foreground or background
+ // NOTE: currently just here for debug logging
+ const sub1 = Notifications.addNotificationReceivedListener(event => {
+ invalidateCachedUnreadPage()
logger.debug(
- 'User pressed a notification, opening notifications tab',
- {},
+ 'Notifications: received',
+ {event},
logger.DebugContext.notifications,
)
- track('Notificatons:OpenApp')
- logEvent('notifications:openApp', {})
- truncateAndInvalidate(queryClient, RQKEY_NOTIFS())
- resetToTab('NotificationsTab') // open notifications tab
+ if (event.request.trigger.type === 'push') {
+ // handle payload-based deeplinks
+ let payload
+ if (isIOS) {
+ payload = event.request.trigger.payload
+ } else {
+ // TODO: handle android payload deeplink
+ }
+ if (payload) {
+ logger.debug(
+ 'Notifications: received payload',
+ payload,
+ logger.DebugContext.notifications,
+ )
+ // TODO: deeplink notif here
+ }
+ }
+ })
+
+ // handle notifications that are tapped on
+ const sub2 = Notifications.addNotificationResponseReceivedListener(
+ response => {
+ logger.debug(
+ 'Notifications: response received',
+ {
+ actionIdentifier: response.actionIdentifier,
+ },
+ logger.DebugContext.notifications,
+ )
+ if (
+ response.actionIdentifier === Notifications.DEFAULT_ACTION_IDENTIFIER
+ ) {
+ logger.debug(
+ 'User pressed a notification, opening notifications tab',
+ {},
+ logger.DebugContext.notifications,
+ )
+ track('Notificatons:OpenApp')
+ logEvent('notifications:openApp', {})
+ invalidateCachedUnreadPage()
+ truncateAndInvalidate(queryClient, RQKEY_NOTIFS())
+ resetToTab('NotificationsTab') // open notifications tab
+ }
+ },
+ )
+
+ return () => {
+ sub1.remove()
+ sub2.remove()
}
- })
+ }, [queryClient])
}
diff --git a/src/lib/react-query.ts b/src/lib/react-query.ts
deleted file mode 100644
index d6cd3c54b2..0000000000
--- a/src/lib/react-query.ts
+++ /dev/null
@@ -1,70 +0,0 @@
-import {AppState, AppStateStatus} from 'react-native'
-import {QueryClient, focusManager} from '@tanstack/react-query'
-import {createAsyncStoragePersister} from '@tanstack/query-async-storage-persister'
-import AsyncStorage from '@react-native-async-storage/async-storage'
-import {PersistQueryClientProviderProps} from '@tanstack/react-query-persist-client'
-
-import {isNative} from '#/platform/detection'
-
-// any query keys in this array will be persisted to AsyncStorage
-const STORED_CACHE_QUERY_KEYS = ['labelers-detailed-info']
-
-focusManager.setEventListener(onFocus => {
- if (isNative) {
- const subscription = AppState.addEventListener(
- 'change',
- (status: AppStateStatus) => {
- focusManager.setFocused(status === 'active')
- },
- )
-
- return () => subscription.remove()
- } else if (typeof window !== 'undefined' && window.addEventListener) {
- // these handlers are a bit redundant but focus catches when the browser window
- // is blurred/focused while visibilitychange seems to only handle when the
- // window minimizes (both of them catch tab changes)
- // there's no harm to redundant fires because refetchOnWindowFocus is only
- // used with queries that employ stale data times
- const handler = () => onFocus()
- window.addEventListener('focus', handler, false)
- window.addEventListener('visibilitychange', handler, false)
- return () => {
- window.removeEventListener('visibilitychange', handler)
- window.removeEventListener('focus', handler)
- }
- }
-})
-
-export const queryClient = new QueryClient({
- defaultOptions: {
- queries: {
- // NOTE
- // refetchOnWindowFocus breaks some UIs (like feeds)
- // so we only selectively want to enable this
- // -prf
- refetchOnWindowFocus: false,
- // Structural sharing between responses makes it impossible to rely on
- // "first seen" timestamps on objects to determine if they're fresh.
- // Disable this optimization so that we can rely on "first seen" timestamps.
- structuralSharing: false,
- // We don't want to retry queries by default, because in most cases we
- // want to fail early and show a response to the user. There are
- // exceptions, and those can be made on a per-query basis. For others, we
- // should give users controls to retry.
- retry: false,
- },
- },
-})
-
-export const asyncStoragePersister = createAsyncStoragePersister({
- storage: AsyncStorage,
- key: 'queryCache',
-})
-
-export const dehydrateOptions: PersistQueryClientProviderProps['persistOptions']['dehydrateOptions'] =
- {
- shouldDehydrateMutation: (_: any) => false,
- shouldDehydrateQuery: query => {
- return STORED_CACHE_QUERY_KEYS.includes(String(query.queryKey[0]))
- },
- }
diff --git a/src/lib/react-query.tsx b/src/lib/react-query.tsx
new file mode 100644
index 0000000000..be507216aa
--- /dev/null
+++ b/src/lib/react-query.tsx
@@ -0,0 +1,124 @@
+import React, {useRef, useState} from 'react'
+import {AppState, AppStateStatus} from 'react-native'
+import AsyncStorage from '@react-native-async-storage/async-storage'
+import {createAsyncStoragePersister} from '@tanstack/query-async-storage-persister'
+import {focusManager, QueryClient} from '@tanstack/react-query'
+import {
+ PersistQueryClientProvider,
+ PersistQueryClientProviderProps,
+} from '@tanstack/react-query-persist-client'
+
+import {isNative} from '#/platform/detection'
+
+// any query keys in this array will be persisted to AsyncStorage
+export const labelersDetailedInfoQueryKeyRoot = 'labelers-detailed-info'
+const STORED_CACHE_QUERY_KEY_ROOTS = [labelersDetailedInfoQueryKeyRoot]
+
+focusManager.setEventListener(onFocus => {
+ if (isNative) {
+ const subscription = AppState.addEventListener(
+ 'change',
+ (status: AppStateStatus) => {
+ focusManager.setFocused(status === 'active')
+ },
+ )
+
+ return () => subscription.remove()
+ } else if (typeof window !== 'undefined' && window.addEventListener) {
+ // these handlers are a bit redundant but focus catches when the browser window
+ // is blurred/focused while visibilitychange seems to only handle when the
+ // window minimizes (both of them catch tab changes)
+ // there's no harm to redundant fires because refetchOnWindowFocus is only
+ // used with queries that employ stale data times
+ const handler = () => onFocus()
+ window.addEventListener('focus', handler, false)
+ window.addEventListener('visibilitychange', handler, false)
+ return () => {
+ window.removeEventListener('visibilitychange', handler)
+ window.removeEventListener('focus', handler)
+ }
+ }
+})
+
+const createQueryClient = () =>
+ new QueryClient({
+ defaultOptions: {
+ queries: {
+ // NOTE
+ // refetchOnWindowFocus breaks some UIs (like feeds)
+ // so we only selectively want to enable this
+ // -prf
+ refetchOnWindowFocus: false,
+ // Structural sharing between responses makes it impossible to rely on
+ // "first seen" timestamps on objects to determine if they're fresh.
+ // Disable this optimization so that we can rely on "first seen" timestamps.
+ structuralSharing: false,
+ // We don't want to retry queries by default, because in most cases we
+ // want to fail early and show a response to the user. There are
+ // exceptions, and those can be made on a per-query basis. For others, we
+ // should give users controls to retry.
+ retry: false,
+ },
+ },
+ })
+
+const dehydrateOptions: PersistQueryClientProviderProps['persistOptions']['dehydrateOptions'] =
+ {
+ shouldDehydrateMutation: (_: any) => false,
+ shouldDehydrateQuery: query => {
+ return STORED_CACHE_QUERY_KEY_ROOTS.includes(String(query.queryKey[0]))
+ },
+ }
+
+export function QueryProvider({
+ children,
+ currentDid,
+}: {
+ children: React.ReactNode
+ currentDid: string | undefined
+}) {
+ return (
+
+ {children}
+
+ )
+}
+
+function QueryProviderInner({
+ children,
+ currentDid,
+}: {
+ children: React.ReactNode
+ currentDid: string | undefined
+}) {
+ const initialDid = useRef(currentDid)
+ if (currentDid !== initialDid.current) {
+ throw Error(
+ 'Something is very wrong. Expected did to be stable due to key above.',
+ )
+ }
+ // We create the query client here so that it's scoped to a specific DID.
+ // Do not move the query client creation outside of this component.
+ const [queryClient, _setQueryClient] = useState(() => createQueryClient())
+ const [persistOptions, _setPersistOptions] = useState(() => {
+ const asyncPersister = createAsyncStoragePersister({
+ storage: AsyncStorage,
+ key: 'queryClient-' + (currentDid ?? 'logged-out'),
+ })
+ return {
+ persister: asyncPersister,
+ dehydrateOptions,
+ }
+ })
+ return (
+
+ {children}
+
+ )
+}
diff --git a/src/lib/sentry.ts b/src/lib/sentry.ts
index d0a5fe0fd5..6b6c1832d6 100644
--- a/src/lib/sentry.ts
+++ b/src/lib/sentry.ts
@@ -4,7 +4,7 @@
*/
import {Platform} from 'react-native'
-import app from 'react-native-version-number'
+import {nativeApplicationVersion, nativeBuildVersion} from 'expo-application'
import * as info from 'expo-updates'
import {init} from 'sentry-expo'
@@ -21,7 +21,7 @@ const buildChannel = (info.channel || 'development') as
* - `dev`
* - `1.57.0`
*/
-const release = app.appVersion ?? 'dev'
+const release = nativeApplicationVersion ?? 'dev'
/**
* Examples:
@@ -33,7 +33,7 @@ const release = app.appVersion ?? 'dev'
* - `android.1.57.0.46`
*/
const dist = `${Platform.OS}.${release}${
- app.buildVersion ? `.${app.buildVersion}` : ''
+ nativeBuildVersion ? `.${nativeBuildVersion}` : ''
}`
init({
diff --git a/src/lib/sharing.ts b/src/lib/sharing.ts
index 9f402f8737..b59e3f9946 100644
--- a/src/lib/sharing.ts
+++ b/src/lib/sharing.ts
@@ -1,8 +1,9 @@
-import {isIOS, isAndroid} from 'platform/detection'
-// import * as Sharing from 'expo-sharing'
-import Clipboard from '@react-native-clipboard/clipboard'
-import * as Toast from '../view/com/util/Toast'
import {Share} from 'react-native'
+// import * as Sharing from 'expo-sharing'
+import {setStringAsync} from 'expo-clipboard'
+
+import {isAndroid, isIOS} from 'platform/detection'
+import * as Toast from '#/view/com/util/Toast'
/**
* This function shares a URL using the native Share API if available, or copies it to the clipboard
@@ -18,7 +19,7 @@ export async function shareUrl(url: string) {
} else {
// React Native Share is not supported by web. Web Share API
// has increasing but not full support, so default to clipboard
- Clipboard.setString(url)
+ setStringAsync(url)
Toast.show('Copied to clipboard')
}
}
diff --git a/src/lib/statsig/events.ts b/src/lib/statsig/events.ts
index b91a15ecb1..1231c5de5d 100644
--- a/src/lib/statsig/events.ts
+++ b/src/lib/statsig/events.ts
@@ -1,14 +1,69 @@
export type LogEvents = {
+ // App events
init: {
initMs: number
}
+ 'account:loggedIn': {
+ logContext: 'LoginForm' | 'SwitchAccount' | 'ChooseAccountForm' | 'Settings'
+ withPassword: boolean
+ }
+ 'account:loggedOut': {
+ logContext: 'SwitchAccount' | 'Settings' | 'Deactivated'
+ }
'notifications:openApp': {}
- 'state:background': {}
+ 'state:background': {
+ secondsActive: number
+ }
'state:foreground': {}
+ 'router:navigate': {}
+
+ // Screen events
+ 'splash:signInPressed': {}
+ 'splash:createAccountPressed': {}
+ 'signup:nextPressed': {
+ activeStep: number
+ }
+ 'onboarding:interests:nextPressed': {
+ selectedInterests: string[]
+ selectedInterestsLength: number
+ }
+ 'onboarding:suggestedAccounts:nextPressed': {
+ selectedAccountsLength: number
+ skipped: boolean
+ }
+ 'onboarding:followingFeed:nextPressed': {}
+ 'onboarding:algoFeeds:nextPressed': {
+ selectedPrimaryFeeds: string[]
+ selectedPrimaryFeedsLength: number
+ selectedSecondaryFeeds: string[]
+ selectedSecondaryFeedsLength: number
+ }
+ 'onboarding:topicalFeeds:nextPressed': {
+ selectedFeeds: string[]
+ selectedFeedsLength: number
+ }
+ 'onboarding:moderation:nextPressed': {}
+ 'onboarding:finished:nextPressed': {}
+ 'home:feedDisplayed': {
+ feedUrl: string
+ feedType: string
+ index: number
+ reason: 'focus' | 'tabbar-click' | 'pager-swipe' | 'desktop-sidebar-click'
+ }
'feed:endReached': {
+ feedUrl: string
feedType: string
itemCount: number
}
+ 'feed:refresh': {
+ feedUrl: string
+ feedType: string
+ reason: 'pull-to-refresh' | 'soft-reset' | 'load-latest'
+ }
+
+ // Data events
+ 'account:create:begin': {}
+ 'account:create:success': {}
'post:create': {
imageCount: number
isReply: boolean
@@ -18,6 +73,10 @@ export type LogEvents = {
logContext: 'Composer'
}
'post:like': {
+ doesLikerFollowPoster: boolean | undefined
+ doesPosterFollowLiker: boolean | undefined
+ likerClout: number | undefined
+ postClout: number | undefined
logContext: 'FeedItem' | 'PostThreadItem' | 'Post'
}
'post:repost': {
@@ -30,6 +89,9 @@ export type LogEvents = {
logContext: 'FeedItem' | 'PostThreadItem' | 'Post'
}
'profile:follow': {
+ didBecomeMutual: boolean | undefined
+ followeeClout: number | undefined
+ followerClout: number | undefined
logContext:
| 'RecommendedFollowsItem'
| 'PostThreadItem'
@@ -37,6 +99,7 @@ export type LogEvents = {
| 'ProfileHeader'
| 'ProfileHeaderSuggestedFollows'
| 'ProfileMenu'
+ | 'ProfileHoverCard'
}
'profile:unfollow': {
logContext:
@@ -46,5 +109,6 @@ export type LogEvents = {
| 'ProfileHeader'
| 'ProfileHeaderSuggestedFollows'
| 'ProfileMenu'
+ | 'ProfileHoverCard'
}
}
diff --git a/src/lib/statsig/gates.ts b/src/lib/statsig/gates.ts
new file mode 100644
index 0000000000..314799f288
--- /dev/null
+++ b/src/lib/statsig/gates.ts
@@ -0,0 +1,12 @@
+export type Gate =
+ // Keep this alphabetic please.
+ | 'autoexpand_suggestions_on_profile_follow'
+ | 'disable_min_shell_on_foregrounding'
+ | 'disable_poll_on_discover'
+ | 'hide_vertical_scroll_indicators'
+ | 'new_profile_scroll_component'
+ | 'new_search'
+ | 'receive_updates'
+ | 'show_follow_back_label'
+ | 'start_session_with_following'
+ | 'use_new_suggestions_endpoint'
diff --git a/src/lib/statsig/statsig.tsx b/src/lib/statsig/statsig.tsx
index 3abec5c4f9..3d2dc13092 100644
--- a/src/lib/statsig/statsig.tsx
+++ b/src/lib/statsig/statsig.tsx
@@ -1,20 +1,38 @@
import React from 'react'
import {Platform} from 'react-native'
+import {AppState, AppStateStatus} from 'react-native'
+import {sha256} from 'js-sha256'
import {
Statsig,
StatsigProvider,
useGate as useStatsigGate,
} from 'statsig-react-native-expo'
-import {AppState, AppStateStatus} from 'react-native'
+
+import {logger} from '#/logger'
+import {isWeb} from '#/platform/detection'
+import {IS_TESTFLIGHT} from 'lib/app-info'
import {useSession} from '../../state/session'
-import {sha256} from 'js-sha256'
import {LogEvents} from './events'
+import {Gate} from './gates'
+
+let refSrc: string | undefined
+let refUrl: string | undefined
+if (isWeb && typeof window !== 'undefined') {
+ const params = new URLSearchParams(window.location.search)
+ refSrc = params.get('ref_src') ?? undefined
+ refUrl = params.get('ref_url') ?? undefined
+}
export type {LogEvents}
const statsigOptions = {
environment: {
- tier: process.env.NODE_ENV === 'development' ? 'development' : 'production',
+ tier:
+ process.env.NODE_ENV === 'development'
+ ? 'development'
+ : IS_TESTFLIGHT
+ ? 'staging'
+ : 'production',
},
// Don't block on waiting for network. The fetched config will kick in on next load.
// This ensures the UI is always consistent and doesn't update mid-session.
@@ -24,7 +42,13 @@ const statsigOptions = {
type FlatJSONRecord = Record<
string,
- string | number | boolean | null | undefined
+ | string
+ | number
+ | boolean
+ | null
+ | undefined
+ // Technically not scalar but Statsig will stringify it which works for us:
+ | string[]
>
let getCurrentRouteName: () => string | null | undefined = () => null
@@ -35,24 +59,42 @@ export function attachRouteToLogEvents(
getCurrentRouteName = getRouteName
}
+export function toClout(n: number | null | undefined): number | undefined {
+ if (n == null) {
+ return undefined
+ } else {
+ return Math.max(0, Math.round(Math.log(n)))
+ }
+}
+
export function logEvent(
eventName: E & string,
rawMetadata: LogEvents[E] & FlatJSONRecord,
) {
- const fullMetadata = {
- ...rawMetadata,
- } as Record // Statsig typings are unnecessarily strict here.
- fullMetadata.routeName = getCurrentRouteName() ?? '(Uninitialized)'
- Statsig.logEvent(eventName, null, fullMetadata)
+ try {
+ const fullMetadata = {
+ ...rawMetadata,
+ } as Record // Statsig typings are unnecessarily strict here.
+ fullMetadata.routeName = getCurrentRouteName() ?? '(Uninitialized)'
+ if (Statsig.initializeCalled()) {
+ Statsig.logEvent(eventName, null, fullMetadata)
+ }
+ } catch (e) {
+ // A log should never interrupt the calling code, whatever happens.
+ logger.error('Failed to log an event', {message: e})
+ }
}
-export function useGate(gateName: string) {
+export function useGate(gateName: Gate): boolean {
const {isLoading, value} = useStatsigGate(gateName)
if (isLoading) {
// This should not happen because of waitForInitialization={true}.
console.error('Did not expected isLoading to ever be true.')
}
- return value
+ // This shouldn't technically be necessary but let's get a strong
+ // guarantee that a gate value can never change while mounted.
+ const [initialValue] = React.useState(value)
+ return initialValue
}
function toStatsigUser(did: string | undefined) {
@@ -63,19 +105,34 @@ function toStatsigUser(did: string | undefined) {
return {
userID,
platform: Platform.OS,
+ custom: {
+ refSrc,
+ refUrl,
+ // Need to specify here too for gating.
+ platform: Platform.OS,
+ },
}
}
let lastState: AppStateStatus = AppState.currentState
+let lastActive = lastState === 'active' ? performance.now() : null
AppState.addEventListener('change', (state: AppStateStatus) => {
if (state === lastState) {
return
}
lastState = state
if (state === 'active') {
+ lastActive = performance.now()
logEvent('state:foreground', {})
} else {
- logEvent('state:background', {})
+ let secondsActive = 0
+ if (lastActive != null) {
+ secondsActive = Math.round((performance.now() - lastActive) / 1e3)
+ }
+ lastActive = null
+ logEvent('state:background', {
+ secondsActive,
+ })
}
})
diff --git a/src/lib/strings/handles.ts b/src/lib/strings/handles.ts
index a18fef453e..bc07b32ec6 100644
--- a/src/lib/strings/handles.ts
+++ b/src/lib/strings/handles.ts
@@ -27,6 +27,7 @@ export function sanitizeHandle(handle: string, prefix = ''): string {
export interface IsValidHandle {
handleChars: boolean
+ hyphenStartOrEnd: boolean
frontLength: boolean
totalLength: boolean
overall: boolean
@@ -39,6 +40,7 @@ export function validateHandle(str: string, userDomain: string): IsValidHandle {
const results = {
handleChars:
!str || (VALIDATE_REGEX.test(fullHandle) && !str.includes('.')),
+ hyphenStartOrEnd: !str.startsWith('-') && !str.endsWith('-'),
frontLength: str.length >= 3,
totalLength: fullHandle.length <= 253,
}
diff --git a/src/locale/helpers.ts b/src/locale/helpers.ts
index d07b95d93e..24ab678934 100644
--- a/src/locale/helpers.ts
+++ b/src/locale/helpers.ts
@@ -1,7 +1,8 @@
import {AppBskyFeedDefs, AppBskyFeedPost} from '@atproto/api'
-import lande from 'lande'
-import {hasProp} from 'lib/type-guards'
import * as bcp47Match from 'bcp-47-match'
+import lande from 'lande'
+
+import {hasProp} from 'lib/type-guards'
import {
AppLanguage,
LANGUAGES_MAP_CODE2,
@@ -118,6 +119,8 @@ export function sanitizeAppLanguageSetting(appLanguage: string): AppLanguage {
switch (lang) {
case 'en':
return AppLanguage.en
+ case 'ca':
+ return AppLanguage.ca
case 'de':
return AppLanguage.de
case 'es':
@@ -126,24 +129,28 @@ export function sanitizeAppLanguageSetting(appLanguage: string): AppLanguage {
return AppLanguage.fi
case 'fr':
return AppLanguage.fr
+ case 'ga':
+ return AppLanguage.ga
case 'hi':
return AppLanguage.hi
case 'id':
return AppLanguage.id
+ case 'it':
+ return AppLanguage.it
case 'ja':
return AppLanguage.ja
case 'ko':
return AppLanguage.ko
case 'pt-BR':
return AppLanguage.pt_BR
+ case 'tr':
+ return AppLanguage.tr
case 'uk':
return AppLanguage.uk
- case 'ca':
- return AppLanguage.ca
case 'zh-CN':
return AppLanguage.zh_CN
- case 'it':
- return AppLanguage.it
+ case 'zh-TW':
+ return AppLanguage.zh_TW
default:
continue
}
diff --git a/src/locale/i18n.ts b/src/locale/i18n.ts
index a1e950947b..725332de01 100644
--- a/src/locale/i18n.ts
+++ b/src/locale/i18n.ts
@@ -1,30 +1,36 @@
import {useEffect} from 'react'
import {i18n} from '@lingui/core'
-import {useLanguagePrefs} from '#/state/preferences'
-import {messages as messagesEn} from '#/locale/locales/en/messages'
+import {sanitizeAppLanguageSetting} from '#/locale/helpers'
+import {AppLanguage} from '#/locale/languages'
+import {messages as messagesCa} from '#/locale/locales/ca/messages'
import {messages as messagesDe} from '#/locale/locales/de/messages'
-import {messages as messagesId} from '#/locale/locales/id/messages'
+import {messages as messagesEn} from '#/locale/locales/en/messages'
import {messages as messagesEs} from '#/locale/locales/es/messages'
import {messages as messagesFi} from '#/locale/locales/fi/messages'
import {messages as messagesFr} from '#/locale/locales/fr/messages'
+import {messages as messagesGa} from '#/locale/locales/ga/messages'
import {messages as messagesHi} from '#/locale/locales/hi/messages'
+import {messages as messagesId} from '#/locale/locales/id/messages'
+import {messages as messagesIt} from '#/locale/locales/it/messages'
import {messages as messagesJa} from '#/locale/locales/ja/messages'
import {messages as messagesKo} from '#/locale/locales/ko/messages'
import {messages as messagesPt_BR} from '#/locale/locales/pt-BR/messages'
+import {messages as messagesTr} from '#/locale/locales/tr/messages'
import {messages as messagesUk} from '#/locale/locales/uk/messages'
-import {messages as messagesCa} from '#/locale/locales/ca/messages'
import {messages as messagesZh_CN} from '#/locale/locales/zh-CN/messages'
-import {messages as messagesIt} from '#/locale/locales/it/messages'
-
-import {sanitizeAppLanguageSetting} from '#/locale/helpers'
-import {AppLanguage} from '#/locale/languages'
+import {messages as messagesZh_TW} from '#/locale/locales/zh-TW/messages'
+import {useLanguagePrefs} from '#/state/preferences'
/**
* We do a dynamic import of just the catalog that we need
*/
export async function dynamicActivate(locale: AppLanguage) {
switch (locale) {
+ case AppLanguage.ca: {
+ i18n.loadAndActivate({locale, messages: messagesCa})
+ break
+ }
case AppLanguage.de: {
i18n.loadAndActivate({locale, messages: messagesDe})
break
@@ -41,6 +47,10 @@ export async function dynamicActivate(locale: AppLanguage) {
i18n.loadAndActivate({locale, messages: messagesFr})
break
}
+ case AppLanguage.ga: {
+ i18n.loadAndActivate({locale, messages: messagesGa})
+ break
+ }
case AppLanguage.hi: {
i18n.loadAndActivate({locale, messages: messagesHi})
break
@@ -49,6 +59,10 @@ export async function dynamicActivate(locale: AppLanguage) {
i18n.loadAndActivate({locale, messages: messagesId})
break
}
+ case AppLanguage.it: {
+ i18n.loadAndActivate({locale, messages: messagesIt})
+ break
+ }
case AppLanguage.ja: {
i18n.loadAndActivate({locale, messages: messagesJa})
break
@@ -61,20 +75,20 @@ export async function dynamicActivate(locale: AppLanguage) {
i18n.loadAndActivate({locale, messages: messagesPt_BR})
break
}
- case AppLanguage.uk: {
- i18n.loadAndActivate({locale, messages: messagesUk})
+ case AppLanguage.tr: {
+ i18n.loadAndActivate({locale, messages: messagesTr})
break
}
- case AppLanguage.ca: {
- i18n.loadAndActivate({locale, messages: messagesCa})
+ case AppLanguage.uk: {
+ i18n.loadAndActivate({locale, messages: messagesUk})
break
}
case AppLanguage.zh_CN: {
i18n.loadAndActivate({locale, messages: messagesZh_CN})
break
}
- case AppLanguage.it: {
- i18n.loadAndActivate({locale, messages: messagesIt})
+ case AppLanguage.zh_TW: {
+ i18n.loadAndActivate({locale, messages: messagesZh_TW})
break
}
default: {
diff --git a/src/locale/i18n.web.ts b/src/locale/i18n.web.ts
index 334b2586e5..87c3c590e9 100644
--- a/src/locale/i18n.web.ts
+++ b/src/locale/i18n.web.ts
@@ -1,9 +1,9 @@
import {useEffect} from 'react'
import {i18n} from '@lingui/core'
-import {useLanguagePrefs} from '#/state/preferences'
import {sanitizeAppLanguageSetting} from '#/locale/helpers'
import {AppLanguage} from '#/locale/languages'
+import {useLanguagePrefs} from '#/state/preferences'
/**
* We do a dynamic import of just the catalog that we need
@@ -12,6 +12,10 @@ export async function dynamicActivate(locale: AppLanguage) {
let mod: any
switch (locale) {
+ case AppLanguage.ca: {
+ mod = await import(`./locales/ca/messages`)
+ break
+ }
case AppLanguage.de: {
mod = await import(`./locales/de/messages`)
break
@@ -28,6 +32,10 @@ export async function dynamicActivate(locale: AppLanguage) {
mod = await import(`./locales/fr/messages`)
break
}
+ case AppLanguage.ga: {
+ mod = await import(`./locales/ga/messages`)
+ break
+ }
case AppLanguage.hi: {
mod = await import(`./locales/hi/messages`)
break
@@ -36,6 +44,10 @@ export async function dynamicActivate(locale: AppLanguage) {
mod = await import(`./locales/id/messages`)
break
}
+ case AppLanguage.it: {
+ mod = await import(`./locales/it/messages`)
+ break
+ }
case AppLanguage.ja: {
mod = await import(`./locales/ja/messages`)
break
@@ -48,20 +60,20 @@ export async function dynamicActivate(locale: AppLanguage) {
mod = await import(`./locales/pt-BR/messages`)
break
}
- case AppLanguage.uk: {
- mod = await import(`./locales/uk/messages`)
+ case AppLanguage.tr: {
+ mod = await import(`./locales/tr/messages`)
break
}
- case AppLanguage.ca: {
- mod = await import(`./locales/ca/messages`)
+ case AppLanguage.uk: {
+ mod = await import(`./locales/uk/messages`)
break
}
case AppLanguage.zh_CN: {
mod = await import(`./locales/zh-CN/messages`)
break
}
- case AppLanguage.it: {
- mod = await import(`./locales/it/messages`)
+ case AppLanguage.zh_TW: {
+ mod = await import(`./locales/zh-TW/messages`)
break
}
default: {
diff --git a/src/locale/languages.ts b/src/locale/languages.ts
index 1cbe8fa830..626c00f389 100644
--- a/src/locale/languages.ts
+++ b/src/locale/languages.ts
@@ -6,19 +6,22 @@ interface Language {
export enum AppLanguage {
en = 'en',
+ ca = 'ca',
de = 'de',
es = 'es',
fi = 'fi',
fr = 'fr',
+ ga = 'ga',
hi = 'hi',
id = 'id',
+ it = 'it',
ja = 'ja',
ko = 'ko',
pt_BR = 'pt-BR',
+ tr = 'tr',
uk = 'uk',
- ca = 'ca',
zh_CN = 'zh-CN',
- it = 'it',
+ zh_TW = 'zh-TW',
}
interface AppLanguageConfig {
@@ -28,19 +31,22 @@ interface AppLanguageConfig {
export const APP_LANGUAGES: AppLanguageConfig[] = [
{code2: AppLanguage.en, name: 'English'},
+ {code2: AppLanguage.ca, name: 'Català – Catalan'},
{code2: AppLanguage.de, name: 'Deutsch – German'},
{code2: AppLanguage.es, name: 'Español – Spanish'},
{code2: AppLanguage.fi, name: 'Suomi – Finnish'},
{code2: AppLanguage.fr, name: 'Français – French'},
+ {code2: AppLanguage.ga, name: 'Gaeilge – Irish'},
{code2: AppLanguage.hi, name: 'हिंदी – Hindi'},
{code2: AppLanguage.id, name: 'Bahasa Indonesia – Indonesian'},
+ {code2: AppLanguage.it, name: 'Italiano – Italian'},
{code2: AppLanguage.ja, name: '日本語 – Japanese'},
{code2: AppLanguage.ko, name: '한국어 – Korean'},
{code2: AppLanguage.pt_BR, name: 'Português (BR) – Portuguese (BR)'},
+ {code2: AppLanguage.tr, name: 'Türkçe – Turkish'},
{code2: AppLanguage.uk, name: 'Українська – Ukrainian'},
- {code2: AppLanguage.ca, name: 'Català – Catalan'},
- {code2: AppLanguage.zh_CN, name: '简体中文(中国) – Chinese (Simplified)'},
- {code2: AppLanguage.it, name: 'Italiano - Italian'},
+ {code2: AppLanguage.zh_CN, name: '简体中文(中国)– Chinese (Simplified)'},
+ {code2: AppLanguage.zh_TW, name: '繁體中文(臺灣)– Chinese (Traditional)'},
]
export const LANGUAGES: Language[] = [
diff --git a/src/locale/locales/ca/messages.po b/src/locale/locales/ca/messages.po
index 0fd11dab60..2ff179c4c0 100644
--- a/src/locale/locales/ca/messages.po
+++ b/src/locale/locales/ca/messages.po
@@ -32,7 +32,8 @@ msgstr "(sense correu)"
#~ msgid "{0} {purposeLabel} List"
#~ msgstr "Llista {purposeLabel} {0}"
-#: src/view/com/profile/ProfileHeader.tsx:593
+#: src/components/ProfileHoverCard/index.web.tsx:323
+#: src/screens/Profile/Header/Metrics.tsx:44
msgid "{following} following"
msgstr "{following} seguint"
@@ -54,7 +55,7 @@ msgstr "{following} seguint"
#~ msgid "{message}"
#~ msgstr "{message}"
-#: src/view/shell/Drawer.tsx:440
+#: src/view/shell/Drawer.tsx:449
msgid "{numUnreadNotifications} unread"
msgstr "{numUnreadNotifications} no llegides"
@@ -62,67 +63,85 @@ msgstr "{numUnreadNotifications} no llegides"
msgid "<0/> members"
msgstr "<0/> membres"
-#: src/view/com/profile/ProfileHeader.tsx:595
+#: src/view/shell/Drawer.tsx:97
+msgid "<0>{0}0> following"
+msgstr "<0>{0}0> seguint"
+
+#: src/components/ProfileHoverCard/index.web.tsx:314
+msgid "<0>{followers} 0><1>{pluralizedFollowers}1>"
+msgstr ""
+
+#: src/components/ProfileHoverCard/index.web.tsx:326
+#: src/screens/Profile/Header/Metrics.tsx:45
msgid "<0>{following} 0><1>following1>"
msgstr "<0>{following} 0><1>seguint1>"
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:30
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:31
msgid "<0>Choose your0><1>Recommended1><2>Feeds2>"
msgstr "<0>Tria els teus0><1>canals1><2>recomanats2>"
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:37
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:38
msgid "<0>Follow some0><1>Recommended1><2>Users2>"
msgstr "<0>Segueix alguns0><1>usuaris1><2>recomanats2>"
#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:21
msgid "<0>Welcome to0><1>Bluesky1>"
-msgstr "<0>Benvingut a0><1>Bluesky1>"
+msgstr "<0>Us donem la benvinguda a0><1>Bluesky1>"
-#: src/view/com/profile/ProfileHeader.tsx:558
+#: src/screens/Profile/Header/Handle.tsx:43
msgid "⚠Invalid Handle"
msgstr "⚠Identificador invàlid"
#: src/view/com/util/moderation/LabelInfo.tsx:45
-msgid "A content warning has been applied to this {0}."
-msgstr "S'ha aplicat una advertència de contingut a {0}."
+#~ msgid "A content warning has been applied to this {0}."
+#~ msgstr "S'ha aplicat una advertència de contingut a {0}."
#: src/lib/hooks/useOTAUpdate.ts:16
-msgid "A new version of the app is available. Please update to continue using the app."
-msgstr "Hi ha una nova versió d'aquesta aplicació. Actualitza-la per continuar."
+#~ msgid "A new version of the app is available. Please update to continue using the app."
+#~ msgstr "Hi ha una nova versió d'aquesta aplicació. Actualitza-la per a continuar."
#: src/view/com/util/ViewHeader.tsx:89
-#: src/view/screens/Search/Search.tsx:647
+#: src/view/screens/Search/Search.tsx:796
msgid "Access navigation links and settings"
msgstr "Accedeix als enllaços de navegació i configuració"
-#: src/view/com/home/HomeHeaderLayoutMobile.tsx:52
+#: src/view/com/home/HomeHeaderLayoutMobile.tsx:54
msgid "Access profile and other navigation links"
msgstr "Accedeix al perfil i altres enllaços de navegació"
-#: src/view/com/modals/EditImage.tsx:299
-#: src/view/screens/Settings/index.tsx:451
+#: src/view/com/modals/EditImage.tsx:300
+#: src/view/screens/Settings/index.tsx:421
msgid "Accessibility"
msgstr "Accessibilitat"
-#: src/view/com/auth/login/LoginForm.tsx:166
-#: src/view/screens/Settings/index.tsx:308
-#: src/view/screens/Settings/index.tsx:721
+#: src/components/moderation/LabelsOnMe.tsx:42
+msgid "account"
+msgstr "compte"
+
+#: src/screens/Login/LoginForm.tsx:144
+#: src/view/screens/Settings/index.tsx:330
+#: src/view/screens/Settings/index.tsx:707
msgid "Account"
msgstr "Compte"
-#: src/view/com/profile/ProfileHeader.tsx:246
+#: src/view/com/profile/ProfileMenu.tsx:139
msgid "Account blocked"
msgstr "Compte bloquejat"
-#: src/view/com/profile/ProfileHeader.tsx:213
+#: src/view/com/profile/ProfileMenu.tsx:153
+msgid "Account followed"
+msgstr "Compte seguit"
+
+#: src/view/com/profile/ProfileMenu.tsx:113
msgid "Account muted"
msgstr "Compte silenciat"
-#: src/view/com/modals/ModerationDetails.tsx:86
+#: src/components/moderation/ModerationDetailsDialog.tsx:93
+#: src/lib/moderation/useModerationCauseDescription.ts:91
msgid "Account Muted"
msgstr "Compte silenciat"
-#: src/view/com/modals/ModerationDetails.tsx:72
+#: src/components/moderation/ModerationDetailsDialog.tsx:82
msgid "Account Muted by List"
msgstr "Compte silenciat per una llista"
@@ -134,19 +153,24 @@ msgstr "Opcions del compte"
msgid "Account removed from quick access"
msgstr "Compte eliminat de l'accés ràpid"
-#: src/view/com/profile/ProfileHeader.tsx:268
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:137
+#: src/view/com/profile/ProfileMenu.tsx:128
msgid "Account unblocked"
msgstr "Compte desbloquejat"
-#: src/view/com/profile/ProfileHeader.tsx:226
+#: src/view/com/profile/ProfileMenu.tsx:166
+msgid "Account unfollowed"
+msgstr "Compte no seguit"
+
+#: src/view/com/profile/ProfileMenu.tsx:102
msgid "Account unmuted"
msgstr "Compte no silenciat"
-#: src/components/dialogs/MutedWords.tsx:165
+#: src/components/dialogs/MutedWords.tsx:164
#: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:150
-#: src/view/com/modals/ListAddRemoveUsers.tsx:264
+#: src/view/com/modals/ListAddRemoveUsers.tsx:268
#: src/view/com/modals/UserAddRemoveLists.tsx:219
-#: src/view/screens/ProfileList.tsx:813
+#: src/view/screens/ProfileList.tsx:829
msgid "Add"
msgstr "Afegeix"
@@ -154,62 +178,63 @@ msgstr "Afegeix"
msgid "Add a content warning"
msgstr "Afegeix una advertència de contingut"
-#: src/view/screens/ProfileList.tsx:803
+#: src/view/screens/ProfileList.tsx:819
msgid "Add a user to this list"
msgstr "Afegeix un usuari a aquesta llista"
-#: src/view/screens/Settings/index.tsx:383
-#: src/view/screens/Settings/index.tsx:392
+#: src/components/dialogs/SwitchAccount.tsx:55
+#: src/view/screens/Settings/index.tsx:405
+#: src/view/screens/Settings/index.tsx:414
msgid "Add account"
msgstr "Afegeix un compte"
#: src/view/com/composer/photos/Gallery.tsx:119
#: src/view/com/composer/photos/Gallery.tsx:180
-#: src/view/com/modals/AltImage.tsx:116
+#: src/view/com/modals/AltImage.tsx:117
msgid "Add alt text"
msgstr "Afegeix text alternatiu"
-#: src/view/screens/AppPasswords.tsx:102
-#: src/view/screens/AppPasswords.tsx:143
-#: src/view/screens/AppPasswords.tsx:156
+#: src/view/screens/AppPasswords.tsx:104
+#: src/view/screens/AppPasswords.tsx:145
+#: src/view/screens/AppPasswords.tsx:158
msgid "Add App Password"
msgstr "Afegeix una contrasenya d'aplicació"
#: src/view/com/modals/report/InputIssueDetails.tsx:41
#: src/view/com/modals/report/Modal.tsx:191
-msgid "Add details"
-msgstr "Afegeix detalls"
+#~ msgid "Add details"
+#~ msgstr "Afegeix detalls"
#: src/view/com/modals/report/Modal.tsx:194
-msgid "Add details to report"
-msgstr "Afegeix detalls a l'informe"
+#~ msgid "Add details to report"
+#~ msgstr "Afegeix detalls a l'informe"
-#: src/view/com/composer/Composer.tsx:453
+#: src/view/com/composer/Composer.tsx:467
msgid "Add link card"
msgstr "Afegeix una targeta a l'enllaç"
-#: src/view/com/composer/Composer.tsx:458
+#: src/view/com/composer/Composer.tsx:472
msgid "Add link card:"
msgstr "Afegeix una targeta a l'enllaç:"
-#: src/components/dialogs/MutedWords.tsx:158
+#: src/components/dialogs/MutedWords.tsx:157
msgid "Add mute word for configured settings"
-msgstr ""
+msgstr "Afegeix paraula silenciada a la configuració"
-#: src/components/dialogs/MutedWords.tsx:87
+#: src/components/dialogs/MutedWords.tsx:86
msgid "Add muted words and tags"
-msgstr ""
+msgstr "Afegeix les paraules i etiquetes silenciades"
-#: src/view/com/modals/ChangeHandle.tsx:417
+#: src/view/com/modals/ChangeHandle.tsx:416
msgid "Add the following DNS record to your domain:"
msgstr "Afegeix el següent registre DNS al teu domini:"
-#: src/view/com/profile/ProfileHeader.tsx:310
+#: src/view/com/profile/ProfileMenu.tsx:263
+#: src/view/com/profile/ProfileMenu.tsx:266
msgid "Add to Lists"
msgstr "Afegeix a les llistes"
-#: src/view/com/feeds/FeedSourceCard.tsx:245
-#: src/view/screens/ProfileFeed.tsx:273
+#: src/view/com/feeds/FeedSourceCard.tsx:234
msgid "Add to my feeds"
msgstr "Afegeix als meus canals"
@@ -222,36 +247,43 @@ msgstr "Afegit"
msgid "Added to list"
msgstr "Afegit a la llista"
-#: src/view/com/feeds/FeedSourceCard.tsx:127
+#: src/view/com/feeds/FeedSourceCard.tsx:108
msgid "Added to my feeds"
msgstr "Afegit als meus canals"
#: src/view/screens/PreferencesFollowingFeed.tsx:173
msgid "Adjust the number of likes a reply must have to be shown in your feed."
-msgstr "Ajusta el nombre de m'agrades que hagi de tenir una resposta per aparèixer al teu canal."
+msgstr "Ajusta el nombre de m'agrades que hagi de tenir una resposta per a aparèixer al teu canal."
+#: src/lib/moderation/useGlobalLabelStrings.ts:34
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:117
#: src/view/com/modals/SelfLabel.tsx:75
msgid "Adult Content"
msgstr "Contingut per a adults"
#: src/view/com/modals/ContentFilteringSettings.tsx:141
-msgid "Adult content can only be enabled via the Web at <0/>."
-msgstr "El contingut per a adults només es pot habilitar via web a <0/>."
+#~ msgid "Adult content can only be enabled via the Web at <0/>."
+#~ msgstr "El contingut per a adults només es pot habilitar via web a <0/>."
-#: src/view/screens/Settings/index.tsx:664
+#: src/components/moderation/LabelPreference.tsx:242
+msgid "Adult content is disabled."
+msgstr "El contingut per adults està deshabilitat."
+
+#: src/screens/Moderation/index.tsx:375
+#: src/view/screens/Settings/index.tsx:635
msgid "Advanced"
msgstr "Avançat"
-#: src/view/screens/Feeds.tsx:666
+#: src/view/screens/Feeds.tsx:691
msgid "All the feeds you've saved, right in one place."
msgstr "Tots els canals que has desat, en un sol lloc."
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:221
-#: src/view/com/modals/ChangePassword.tsx:168
+#: src/screens/Login/ForgotPasswordForm.tsx:178
+#: src/view/com/modals/ChangePassword.tsx:170
msgid "Already have a code?"
msgstr "Ja tens un codi?"
-#: src/view/com/auth/login/ChooseAccountForm.tsx:98
+#: src/screens/Login/ChooseAccountForm.tsx:39
msgid "Already signed in as @{0}"
msgstr "Ja estàs registrat com a @{0}"
@@ -259,7 +291,7 @@ msgstr "Ja estàs registrat com a @{0}"
msgid "ALT"
msgstr "ALT"
-#: src/view/com/modals/EditImage.tsx:315
+#: src/view/com/modals/EditImage.tsx:316
msgid "Alt text"
msgstr "Text alternatiu"
@@ -275,12 +307,20 @@ msgstr "S'ha enviat un correu a {0}. Inclou un codi de confirmació que has d'en
msgid "An email has been sent to your previous address, {0}. It includes a confirmation code which you can enter below."
msgstr "S'ha enviat un correu a la teva adreça prèvia, {0}. Inclou un codi de confirmació que has d'entrar aquí sota."
-#: src/view/com/profile/FollowButton.tsx:30
-#: src/view/com/profile/FollowButton.tsx:40
-msgid "An issue occurred, please try again."
-msgstr "Hi ha hagut un problema, prova-ho de nou"
+#: src/lib/moderation/useReportOptions.ts:26
+msgid "An issue not included in these options"
+msgstr "Un problema que no està inclòs en aquestes opcions"
-#: src/view/com/notifications/FeedItem.tsx:237
+#: src/components/hooks/useFollowMethods.ts:35
+#: src/components/hooks/useFollowMethods.ts:50
+#: src/view/com/profile/FollowButton.tsx:35
+#: src/view/com/profile/FollowButton.tsx:45
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:188
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:198
+msgid "An issue occurred, please try again."
+msgstr "Hi ha hagut un problema, prova-ho de nou."
+
+#: src/view/com/notifications/FeedItem.tsx:242
#: src/view/com/threadgate/WhoCanReply.tsx:178
msgid "and"
msgstr "i"
@@ -289,23 +329,27 @@ msgstr "i"
msgid "Animals"
msgstr "Animals"
+#: src/lib/moderation/useReportOptions.ts:31
+msgid "Anti-Social Behavior"
+msgstr "Comportament antisocial"
+
#: src/view/screens/LanguageSettings.tsx:95
msgid "App Language"
msgstr "Idioma de l'aplicació"
-#: src/view/screens/AppPasswords.tsx:228
+#: src/view/screens/AppPasswords.tsx:223
msgid "App password deleted"
msgstr "Contrasenya de l'aplicació esborrada"
-#: src/view/com/modals/AddAppPasswords.tsx:134
+#: src/view/com/modals/AddAppPasswords.tsx:135
msgid "App Password names can only contain letters, numbers, spaces, dashes, and underscores."
msgstr "La contrasenya de l'aplicació només pot estar formada per lletres, números, espais, guions i guions baixos."
-#: src/view/com/modals/AddAppPasswords.tsx:99
+#: src/view/com/modals/AddAppPasswords.tsx:100
msgid "App Password names must be at least 4 characters long."
-msgstr "La contrasenya de l'aplicació ha de ser d'almenys 4 caràcters"
+msgstr "La contrasenya de l'aplicació ha de ser d'almenys 4 caràcters."
-#: src/view/screens/Settings/index.tsx:675
+#: src/view/screens/Settings/index.tsx:646
msgid "App password settings"
msgstr "Configuració de la contrasenya d'aplicació"
@@ -313,52 +357,68 @@ msgstr "Configuració de la contrasenya d'aplicació"
#~ msgid "App passwords"
#~ msgstr "Contrasenyes de l'aplicació"
-#: src/Navigation.tsx:239
-#: src/view/screens/AppPasswords.tsx:187
-#: src/view/screens/Settings/index.tsx:684
+#: src/Navigation.tsx:251
+#: src/view/screens/AppPasswords.tsx:189
+#: src/view/screens/Settings/index.tsx:655
msgid "App Passwords"
msgstr "Contrasenyes de l'aplicació"
+#: src/components/moderation/LabelsOnMeDialog.tsx:133
+#: src/components/moderation/LabelsOnMeDialog.tsx:136
+msgid "Appeal"
+msgstr "Apel·la"
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:201
+msgid "Appeal \"{0}\" label"
+msgstr "Apel·la \"{0}\" etiqueta"
+
#: src/view/com/util/forms/PostDropdownBtn.tsx:337
#: src/view/com/util/forms/PostDropdownBtn.tsx:346
-msgid "Appeal content warning"
-msgstr "Advertència d'apel·lació sobre el contingut"
+#~ msgid "Appeal content warning"
+#~ msgstr "Advertència d'apel·lació sobre el contingut"
#: src/view/com/modals/AppealLabel.tsx:65
-msgid "Appeal Content Warning"
-msgstr "Advertència d'apel·lació sobre el contingut"
+#~ msgid "Appeal Content Warning"
+#~ msgstr "Advertència d'apel·lació sobre el contingut"
#~ msgid "Appeal Decision"
#~ msgstr "Decisión de apelación"
+#: src/components/moderation/LabelsOnMeDialog.tsx:192
+msgid "Appeal submitted."
+msgstr "Apel·lació enviada."
+
#: src/view/com/util/moderation/LabelInfo.tsx:52
-msgid "Appeal this decision"
-msgstr "Apel·la aquesta decisió"
+#~ msgid "Appeal this decision"
+#~ msgstr "Apel·la aquesta decisió"
#: src/view/com/util/moderation/LabelInfo.tsx:56
-msgid "Appeal this decision."
-msgstr "Apel·la aquesta decisió."
+#~ msgid "Appeal this decision."
+#~ msgstr "Apel·la aquesta decisió."
-#: src/view/screens/Settings/index.tsx:466
+#: src/view/screens/Settings/index.tsx:436
msgid "Appearance"
msgstr "Aparença"
-#: src/view/screens/AppPasswords.tsx:224
+#: src/view/screens/AppPasswords.tsx:265
msgid "Are you sure you want to delete the app password \"{name}\"?"
msgstr "Confirmes que vols eliminar la contrasenya de l'aplicació \"{name}\"?"
-#: src/view/com/composer/Composer.tsx:150
+#: src/view/com/feeds/FeedSourceCard.tsx:280
+msgid "Are you sure you want to remove {0} from your feeds?"
+msgstr "Confirmes que vols eliminar {0} dels teus canals?"
+
+#: src/view/com/composer/Composer.tsx:509
msgid "Are you sure you'd like to discard this draft?"
msgstr "Confirmes que vols descartar aquest esborrany?"
-#: src/components/dialogs/MutedWords.tsx:282
-#: src/view/screens/ProfileList.tsx:365
+#: src/components/dialogs/MutedWords.tsx:281
msgid "Are you sure?"
msgstr "Ho confirmes?"
#: src/view/com/util/forms/PostDropdownBtn.tsx:322
-msgid "Are you sure? This cannot be undone."
-msgstr "Ho confirmes? Aquesta acció no es pot desfer."
+#~ msgid "Are you sure? This cannot be undone."
+#~ msgstr "Ho confirmes? Aquesta acció no es pot desfer."
#: src/view/com/composer/select-language/SuggestedLanguage.tsx:60
msgid "Are you writing in <0>{0}0>?"
@@ -372,120 +432,141 @@ msgstr "Art"
msgid "Artistic or non-erotic nudity."
msgstr "Nuesa artística o no eròtica."
-#: src/view/com/auth/create/CreateAccount.tsx:158
-#: src/view/com/auth/login/ChooseAccountForm.tsx:151
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:174
-#: src/view/com/auth/login/LoginForm.tsx:259
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:179
-#: src/view/com/modals/report/InputIssueDetails.tsx:46
-#: src/view/com/post-thread/PostThread.tsx:472
-#: src/view/com/post-thread/PostThread.tsx:522
-#: src/view/com/post-thread/PostThread.tsx:530
-#: src/view/com/profile/ProfileHeader.tsx:649
+#: src/screens/Signup/StepHandle.tsx:119
+msgid "At least 3 characters"
+msgstr "Almenys 3 caràcters"
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:246
+#: src/components/moderation/LabelsOnMeDialog.tsx:247
+#: src/screens/Login/ChooseAccountForm.tsx:73
+#: src/screens/Login/ChooseAccountForm.tsx:78
+#: src/screens/Login/ForgotPasswordForm.tsx:129
+#: src/screens/Login/ForgotPasswordForm.tsx:135
+#: src/screens/Login/LoginForm.tsx:221
+#: src/screens/Login/LoginForm.tsx:227
+#: src/screens/Login/SetNewPasswordForm.tsx:160
+#: src/screens/Login/SetNewPasswordForm.tsx:166
+#: src/screens/Profile/Header/Shell.tsx:96
+#: src/screens/Signup/index.tsx:180
#: src/view/com/util/ViewHeader.tsx:87
msgid "Back"
msgstr "Endarrere"
#: src/view/com/post-thread/PostThread.tsx:480
-msgctxt "action"
-msgid "Back"
-msgstr "Endarrere"
+#~ msgctxt "action"
+#~ msgid "Back"
+#~ msgstr "Endarrere"
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:136
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:144
msgid "Based on your interest in {interestsText}"
msgstr "Segons els teus interessos en {interestsText}"
-#: src/view/screens/Settings/index.tsx:523
+#: src/view/screens/Settings/index.tsx:493
msgid "Basics"
msgstr "Conceptes bàsics"
-#: src/view/com/auth/create/Step1.tsx:227
-#: src/view/com/modals/BirthDateSettings.tsx:73
+#: src/components/dialogs/BirthDateSettings.tsx:107
msgid "Birthday"
msgstr "Aniversari"
-#: src/view/screens/Settings/index.tsx:340
+#: src/view/screens/Settings/index.tsx:362
msgid "Birthday:"
msgstr "Aniversari:"
-#: src/view/com/profile/ProfileHeader.tsx:239
-#: src/view/com/profile/ProfileHeader.tsx:346
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:286
+#: src/view/com/profile/ProfileMenu.tsx:361
+msgid "Block"
+msgstr "Bloqueja"
+
+#: src/view/com/profile/ProfileMenu.tsx:300
+#: src/view/com/profile/ProfileMenu.tsx:307
msgid "Block Account"
msgstr "Bloqueja el compte"
-#: src/view/screens/ProfileList.tsx:556
+#: src/view/com/profile/ProfileMenu.tsx:344
+msgid "Block Account?"
+msgstr "Vols bloquejar el compte?"
+
+#: src/view/screens/ProfileList.tsx:532
msgid "Block accounts"
msgstr "Bloqueja comptes"
-#: src/view/screens/ProfileList.tsx:506
+#: src/view/screens/ProfileList.tsx:480
+#: src/view/screens/ProfileList.tsx:636
msgid "Block list"
msgstr "Bloqueja una llista"
-#: src/view/screens/ProfileList.tsx:316
+#: src/view/screens/ProfileList.tsx:631
msgid "Block these accounts?"
msgstr "Vols bloquejar aquests comptes?"
#: src/view/screens/ProfileList.tsx:320
-msgid "Block this List"
-msgstr "Bloqueja la llista"
+#~ msgid "Block this List"
+#~ msgstr "Bloqueja la llista"
#: src/view/com/lists/ListCard.tsx:110
-#: src/view/com/util/post-embeds/QuoteEmbed.tsx:61
+#: src/view/com/util/post-embeds/QuoteEmbed.tsx:58
msgid "Blocked"
msgstr "Bloquejada"
-#: src/view/screens/Moderation.tsx:142
+#: src/screens/Moderation/index.tsx:267
msgid "Blocked accounts"
msgstr "Comptes bloquejats"
-#: src/Navigation.tsx:132
-#: src/view/screens/ModerationBlockedAccounts.tsx:107
+#: src/Navigation.tsx:134
+#: src/view/screens/ModerationBlockedAccounts.tsx:113
msgid "Blocked Accounts"
msgstr "Comptes bloquejats"
-#: src/view/com/profile/ProfileHeader.tsx:241
+#: src/view/com/profile/ProfileMenu.tsx:356
msgid "Blocked accounts cannot reply in your threads, mention you, or otherwise interact with you."
msgstr "Els comptes bloquejats no poden respondre cap fil teu, ni anomenar-te ni interactuar amb tu de cap manera."
-#: src/view/screens/ModerationBlockedAccounts.tsx:115
+#: src/view/screens/ModerationBlockedAccounts.tsx:121
msgid "Blocked accounts cannot reply in your threads, mention you, or otherwise interact with you. You will not see their content and they will be prevented from seeing yours."
msgstr "Els comptes bloquejats no poden respondre a cap fil teu, ni anomenar-te ni interactuar amb tu de cap manera. No veuràs mai el seu contingut ni ells el teu."
-#: src/view/com/post-thread/PostThread.tsx:324
+#: src/view/com/post-thread/PostThread.tsx:313
msgid "Blocked post."
msgstr "Publicació bloquejada."
-#: src/view/screens/ProfileList.tsx:318
+#: src/screens/Profile/Sections/Labels.tsx:163
+msgid "Blocking does not prevent this labeler from placing labels on your account."
+msgstr "El bloqueig no evita que aquest etiquetador apliqui etiquetes al teu compte."
+
+#: src/view/screens/ProfileList.tsx:633
msgid "Blocking is public. Blocked accounts cannot reply in your threads, mention you, or otherwise interact with you."
msgstr "El bloqueig és públic. Els comptes bloquejats no poden respondre els teus fils, ni mencionar-te ni interactuar amb tu de cap manera."
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:93
-#: src/view/com/auth/SplashScreen.web.tsx:133
+#: src/view/com/profile/ProfileMenu.tsx:353
+msgid "Blocking will not prevent labels from being applied on your account, but it will stop this account from replying in your threads or interacting with you."
+msgstr "Bloquejar no evitarà que s'apliquin etiquetes al teu compte, però no deixarà que aquest compte respongui els teus fils ni interactui amb tu."
+
+#: src/view/com/auth/SplashScreen.web.tsx:149
msgid "Blog"
msgstr "Blog"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:31
#: src/view/com/auth/server-input/index.tsx:89
-#: src/view/com/auth/server-input/index.tsx:90
+#: src/view/com/auth/server-input/index.tsx:91
msgid "Bluesky"
msgstr "Bluesky"
-#: src/view/com/auth/server-input/index.tsx:150
+#: src/view/com/auth/server-input/index.tsx:154
msgid "Bluesky is an open network where you can choose your hosting provider. Custom hosting is now available in beta for developers."
-msgstr "Bluesky és una xarxa oberta on pots escollir el teu proveïdor d'allotjament. L'allotjament personalitzat està disponible en beta per a desenvolupadors"
+msgstr "Bluesky és una xarxa oberta on pots escollir el teu proveïdor d'allotjament. L'allotjament personalitzat està disponible en beta per a desenvolupadors."
#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:80
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:80
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:82
msgid "Bluesky is flexible."
msgstr "Bluesky és flexible."
#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:69
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:69
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:71
msgid "Bluesky is open."
msgstr "Bluesky és obert."
#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:56
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:56
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:58
msgid "Bluesky is public."
msgstr "Bluesky és públic."
@@ -493,7 +574,7 @@ msgstr "Bluesky és públic."
#~ msgid "Bluesky uses invites to build a healthier community. If you don't know anybody with an invite, you can sign up for the waitlist and we'll send one soon."
#~ msgstr "Bluesky utilitza les invitacions per construir una comunitat saludable. Si no coneixes ningú amb invitacions, pots apuntar-te a la llista d'espera i te n'enviarem una aviat."
-#: src/view/screens/Moderation.tsx:245
+#: src/screens/Moderation/index.tsx:533
msgid "Bluesky will not show your profile and posts to logged-out users. Other apps may not honor this request. This does not make your account private."
msgstr "Bluesky no mostrarà el teu perfil ni les publicacions als usuaris que no estiguin registrats. Altres aplicacions poden no seguir aquesta demanda. Això no fa que el teu compte sigui privat."
@@ -501,22 +582,29 @@ msgstr "Bluesky no mostrarà el teu perfil ni les publicacions als usuaris que n
#~ msgid "Bluesky.Social"
#~ msgstr "Bluesky.Social"
+#: src/lib/moderation/useLabelBehaviorDescription.ts:53
+msgid "Blur images"
+msgstr "Difumina les imatges"
+
+#: src/lib/moderation/useLabelBehaviorDescription.ts:51
+msgid "Blur images and filter from feeds"
+msgstr "Difumina les imatges i filtra-ho dels canals"
+
#: src/screens/Onboarding/index.tsx:33
msgid "Books"
msgstr "Llibres"
-#: src/view/screens/Settings/index.tsx:859
-msgid "Build version {0} {1}"
-msgstr "Versió {0} {1}"
+#: src/view/screens/Settings/index.tsx:893
+#~ msgid "Build version {0} {1}"
+#~ msgstr "Versió {0} {1}"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:87
-#: src/view/com/auth/SplashScreen.web.tsx:128
+#: src/view/com/auth/SplashScreen.web.tsx:146
msgid "Business"
msgstr "Negocis"
#: src/view/com/modals/ServerInput.tsx:115
#~ msgid "Button disabled. Input custom domain to proceed."
-#~ msgstr "Botó deshabilitat. Entra el domini personalitzat per continuar."
+#~ msgstr "Botó deshabilitat. Entra el domini personalitzat per a continuar."
#: src/view/com/profile/ProfileSubpageHeader.tsx:157
msgid "by —"
@@ -526,55 +614,66 @@ msgstr "per -"
msgid "by {0}"
msgstr "per {0}"
+#: src/components/LabelingServiceCard/index.tsx:57
+msgid "By {0}"
+msgstr "Per {0}"
+
#: src/view/com/profile/ProfileSubpageHeader.tsx:161
msgid "by <0/>"
msgstr "per <0/>"
+#: src/screens/Signup/StepInfo/Policies.tsx:74
+msgid "By creating an account you agree to the {els}."
+msgstr "Creant el compte indiques que estàs d'acord amb {els}."
+
#: src/view/com/profile/ProfileSubpageHeader.tsx:159
msgid "by you"
msgstr "per tu"
-#: src/view/com/composer/photos/OpenCameraBtn.tsx:60
-#: src/view/com/util/UserAvatar.tsx:224
-#: src/view/com/util/UserBanner.tsx:40
+#: src/view/com/composer/photos/OpenCameraBtn.tsx:77
msgid "Camera"
msgstr "Càmera"
-#: src/view/com/modals/AddAppPasswords.tsx:216
+#: src/view/com/modals/AddAppPasswords.tsx:217
msgid "Can only contain letters, numbers, spaces, dashes, and underscores. Must be at least 4 characters long, but no more than 32 characters long."
msgstr "Només pot tenir lletres, números, espais, guions i guions baixos. Ha de tenir almenys 4 caràcters i no més de 32."
-#: src/components/Prompt.tsx:101
-#: src/view/com/composer/Composer.tsx:307
-#: src/view/com/composer/Composer.tsx:312
+#: src/components/Menu/index.tsx:213
+#: src/components/Prompt.tsx:113
+#: src/components/Prompt.tsx:115
+#: src/components/TagMenu/index.tsx:268
+#: src/view/com/composer/Composer.tsx:317
+#: src/view/com/composer/Composer.tsx:322
#: src/view/com/modals/ChangeEmail.tsx:218
#: src/view/com/modals/ChangeEmail.tsx:220
-#: src/view/com/modals/ChangePassword.tsx:265
-#: src/view/com/modals/ChangePassword.tsx:268
-#: src/view/com/modals/CreateOrEditList.tsx:355
-#: src/view/com/modals/EditImage.tsx:323
-#: src/view/com/modals/EditProfile.tsx:249
+#: src/view/com/modals/ChangeHandle.tsx:154
+#: src/view/com/modals/ChangePassword.tsx:267
+#: src/view/com/modals/ChangePassword.tsx:270
+#: src/view/com/modals/CreateOrEditList.tsx:356
+#: src/view/com/modals/crop-image/CropImage.web.tsx:138
+#: src/view/com/modals/EditImage.tsx:324
+#: src/view/com/modals/EditProfile.tsx:250
#: src/view/com/modals/InAppBrowserConsent.tsx:78
-#: src/view/com/modals/LinkWarning.tsx:87
-#: src/view/com/modals/Repost.tsx:87
+#: src/view/com/modals/InAppBrowserConsent.tsx:80
+#: src/view/com/modals/LinkWarning.tsx:105
+#: src/view/com/modals/LinkWarning.tsx:107
+#: src/view/com/modals/Repost.tsx:88
#: src/view/com/modals/VerifyEmail.tsx:247
#: src/view/com/modals/VerifyEmail.tsx:253
-#: src/view/screens/Search/Search.tsx:716
-#: src/view/shell/desktop/Search.tsx:238
+#: src/view/screens/Search/Search.tsx:865
+#: src/view/shell/desktop/Search.tsx:239
msgid "Cancel"
msgstr "Cancel·la"
-#: src/view/com/modals/Confirm.tsx:88
-#: src/view/com/modals/Confirm.tsx:91
-#: src/view/com/modals/CreateOrEditList.tsx:360
-#: src/view/com/modals/DeleteAccount.tsx:156
-#: src/view/com/modals/DeleteAccount.tsx:234
+#: src/view/com/modals/CreateOrEditList.tsx:361
+#: src/view/com/modals/DeleteAccount.tsx:155
+#: src/view/com/modals/DeleteAccount.tsx:233
msgctxt "action"
msgid "Cancel"
msgstr "Cancel·la"
-#: src/view/com/modals/DeleteAccount.tsx:152
-#: src/view/com/modals/DeleteAccount.tsx:230
+#: src/view/com/modals/DeleteAccount.tsx:151
+#: src/view/com/modals/DeleteAccount.tsx:229
msgid "Cancel account deletion"
msgstr "Cancel·la la supressió del compte"
@@ -582,24 +681,24 @@ msgstr "Cancel·la la supressió del compte"
#~ msgid "Cancel add image alt text"
#~ msgstr "Cancel·la afegir text a la imatge"
-#: src/view/com/modals/ChangeHandle.tsx:149
+#: src/view/com/modals/ChangeHandle.tsx:150
msgid "Cancel change handle"
msgstr "Cancel·la el canvi d'identificador"
-#: src/view/com/modals/crop-image/CropImage.web.tsx:134
+#: src/view/com/modals/crop-image/CropImage.web.tsx:135
msgid "Cancel image crop"
msgstr "Cancel·la la retallada de la imatge"
-#: src/view/com/modals/EditProfile.tsx:244
+#: src/view/com/modals/EditProfile.tsx:245
msgid "Cancel profile editing"
msgstr "Cancel·la l'edició del perfil"
-#: src/view/com/modals/Repost.tsx:78
+#: src/view/com/modals/Repost.tsx:79
msgid "Cancel quote post"
msgstr "Cancel·la la citació de la publicació"
#: src/view/com/modals/ListAddRemoveUsers.tsx:87
-#: src/view/shell/desktop/Search.tsx:234
+#: src/view/shell/desktop/Search.tsx:235
msgid "Cancel search"
msgstr "Cancel·la la cerca"
@@ -607,21 +706,25 @@ msgstr "Cancel·la la cerca"
#~ msgid "Cancel waitlist signup"
#~ msgstr "Cancel·la la inscripció a la llista d'espera"
-#: src/view/screens/Settings/index.tsx:334
+#: src/view/com/modals/LinkWarning.tsx:106
+msgid "Cancels opening the linked website"
+msgstr "Cancel·la obrir la web enllaçada"
+
+#: src/view/com/modals/VerifyEmail.tsx:152
+msgid "Change"
+msgstr "Canvia"
+
+#: src/view/screens/Settings/index.tsx:356
msgctxt "action"
msgid "Change"
msgstr "Canvia"
-#: src/view/screens/Settings.tsx:306
-#~ msgid "Change"
-#~ msgstr "Canvia"
-
-#: src/view/screens/Settings/index.tsx:696
+#: src/view/screens/Settings/index.tsx:667
msgid "Change handle"
msgstr "Canvia l'identificador"
-#: src/view/com/modals/ChangeHandle.tsx:161
-#: src/view/screens/Settings/index.tsx:705
+#: src/view/com/modals/ChangeHandle.tsx:162
+#: src/view/screens/Settings/index.tsx:678
msgid "Change Handle"
msgstr "Canvia l'identificador"
@@ -629,11 +732,12 @@ msgstr "Canvia l'identificador"
msgid "Change my email"
msgstr "Canvia el meu correu"
-#: src/view/screens/Settings/index.tsx:732
+#: src/view/screens/Settings/index.tsx:718
msgid "Change password"
msgstr "Canvia la contrasenya"
-#: src/view/screens/Settings/index.tsx:741
+#: src/view/com/modals/ChangePassword.tsx:141
+#: src/view/screens/Settings/index.tsx:729
msgid "Change Password"
msgstr "Canvia la contrasenya"
@@ -642,8 +746,8 @@ msgid "Change post language to {0}"
msgstr "Canvia l'idioma de la publicació a {0}"
#: src/view/screens/Settings/index.tsx:733
-msgid "Change your Bluesky password"
-msgstr "Canvia la teva contrasenya de Bluesky"
+#~ msgid "Change your Bluesky password"
+#~ msgstr "Canvia la teva contrasenya de Bluesky"
#: src/view/com/modals/ChangeEmail.tsx:109
msgid "Change Your Email"
@@ -654,137 +758,144 @@ msgstr "Canvia el teu correu"
msgid "Check my status"
msgstr "Comprova el meu estat"
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:121
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:122
msgid "Check out some recommended feeds. Tap + to add them to your list of pinned feeds."
-msgstr "Mira alguns canals recomanats. Prem + per afegir-los als teus canals fixats."
+msgstr "Mira alguns canals recomanats. Prem + per a afegir-los als teus canals fixats."
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:185
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:186
msgid "Check out some recommended users. Follow them to see similar users."
-msgstr "Mira alguns usuaris recomanats. Segueix-los per veure altres usuaris similars."
+msgstr "Mira alguns usuaris recomanats. Segueix-los per a veure altres usuaris similars."
-#: src/view/com/modals/DeleteAccount.tsx:169
+#: src/view/com/modals/DeleteAccount.tsx:168
msgid "Check your inbox for an email with the confirmation code to enter below:"
-msgstr "Comprova el teu correu per rebre el codi de confirmació i entra'l aquí sota:"
+msgstr "Comprova el teu correu per a rebre el codi de confirmació i entra'l aquí sota:"
#: src/view/com/modals/Threadgate.tsx:72
msgid "Choose \"Everybody\" or \"Nobody\""
msgstr "Tria \"Tothom\" or \"Ningú\""
#: src/view/screens/Settings/index.tsx:697
-msgid "Choose a new Bluesky username or create"
-msgstr "Tria un nou nom d'usuari de Bluesky o crea'l"
+#~ msgid "Choose a new Bluesky username or create"
+#~ msgstr "Tria un nou nom d'usuari de Bluesky o crea'l"
#: src/view/com/auth/server-input/index.tsx:79
msgid "Choose Service"
msgstr "Tria un servei"
-#: src/screens/Onboarding/StepFinished.tsx:135
+#: src/screens/Onboarding/StepFinished.tsx:139
msgid "Choose the algorithms that power your custom feeds."
msgstr "Tria els algoritmes que alimentaran els teus canals personalitzats."
#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:83
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:83
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:85
msgid "Choose the algorithms that power your experience with custom feeds."
msgstr "Tria els algoritmes que potenciaran la teva experiència amb els canals personalitzats."
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:103
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:104
msgid "Choose your main feeds"
msgstr "Tria els teus canals principals"
-#: src/view/com/auth/create/Step1.tsx:196
+#: src/screens/Signup/StepInfo/index.tsx:114
msgid "Choose your password"
msgstr "Tria la teva contrasenya"
-#: src/view/screens/Settings/index.tsx:834
-#: src/view/screens/Settings/index.tsx:835
+#: src/view/screens/Settings/index.tsx:832
msgid "Clear all legacy storage data"
msgstr "Esborra totes les dades antigues emmagatzemades"
-#: src/view/screens/Settings/index.tsx:837
+#: src/view/screens/Settings/index.tsx:835
msgid "Clear all legacy storage data (restart after this)"
msgstr "Esborra totes les dades antigues emmagatzemades (i després reinicia)"
-#: src/view/screens/Settings/index.tsx:846
-#: src/view/screens/Settings/index.tsx:847
+#: src/view/screens/Settings/index.tsx:844
msgid "Clear all storage data"
msgstr "Esborra totes les dades emmagatzemades"
-#: src/view/screens/Settings/index.tsx:849
+#: src/view/screens/Settings/index.tsx:847
msgid "Clear all storage data (restart after this)"
msgstr "Esborra totes les dades emmagatzemades (i després reinicia)"
#: src/view/com/util/forms/SearchInput.tsx:88
-#: src/view/screens/Search/Search.tsx:697
+#: src/view/screens/Search/Search.tsx:846
msgid "Clear search query"
msgstr "Esborra la cerca"
+#: src/view/screens/Settings/index.tsx:833
+msgid "Clears all legacy storage data"
+msgstr "Esborra totes les dades antigues emmagatzemades"
+
+#: src/view/screens/Settings/index.tsx:845
+msgid "Clears all storage data"
+msgstr "Esborra totes les dades emmagatzemades"
+
#: src/view/screens/Support.tsx:40
msgid "click here"
msgstr "clica aquí"
#: src/components/TagMenu/index.web.tsx:138
msgid "Click here to open tag menu for {tag}"
-msgstr ""
+msgstr "Clica aquí per obrir el menú d'etiquetes per {tag}"
-#: src/components/RichText.tsx:191
+#: src/components/RichText.tsx:198
msgid "Click here to open tag menu for #{tag}"
-msgstr ""
+msgstr "Clica aquí per obrir el menú d'etiquetes per #{tag}"
#: src/screens/Onboarding/index.tsx:35
msgid "Climate"
msgstr "Clima"
-#: src/view/com/modals/ChangePassword.tsx:265
-#: src/view/com/modals/ChangePassword.tsx:268
+#: src/view/com/modals/ChangePassword.tsx:267
+#: src/view/com/modals/ChangePassword.tsx:270
msgid "Close"
msgstr "Tanca"
-#: src/components/Dialog/index.web.tsx:84
-#: src/components/Dialog/index.web.tsx:198
+#: src/components/Dialog/index.web.tsx:106
+#: src/components/Dialog/index.web.tsx:218
msgid "Close active dialog"
msgstr "Tanca el diàleg actiu"
-#: src/view/com/auth/login/PasswordUpdatedForm.tsx:38
+#: src/screens/Login/PasswordUpdatedForm.tsx:38
msgid "Close alert"
msgstr "Tanca l'advertència"
-#: src/view/com/util/BottomSheetCustomBackdrop.tsx:33
+#: src/view/com/util/BottomSheetCustomBackdrop.tsx:36
msgid "Close bottom drawer"
msgstr "Tanca el calaix inferior"
-#: src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx:26
+#: src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx:36
msgid "Close image"
msgstr "Tanca la imatge"
-#: src/view/com/lightbox/Lightbox.web.tsx:119
+#: src/view/com/lightbox/Lightbox.web.tsx:129
msgid "Close image viewer"
msgstr "Tanca el visor d'imatges"
-#: src/view/shell/index.web.tsx:51
+#: src/view/shell/index.web.tsx:57
msgid "Close navigation footer"
msgstr "Tanca el peu de la navegació"
+#: src/components/Menu/index.tsx:207
#: src/components/TagMenu/index.tsx:262
msgid "Close this dialog"
-msgstr ""
+msgstr "Tanca aquest diàleg"
-#: src/view/shell/index.web.tsx:52
+#: src/view/shell/index.web.tsx:58
msgid "Closes bottom navigation bar"
msgstr "Tanca la barra de navegació inferior"
-#: src/view/com/auth/login/PasswordUpdatedForm.tsx:39
+#: src/screens/Login/PasswordUpdatedForm.tsx:39
msgid "Closes password update alert"
msgstr "Tanca l'alerta d'actualització de contrasenya"
-#: src/view/com/composer/Composer.tsx:309
+#: src/view/com/composer/Composer.tsx:319
msgid "Closes post composer and discards post draft"
msgstr "Tanca l'editor de la publicació i descarta l'esborrany"
-#: src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx:27
+#: src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx:37
msgid "Closes viewer for header image"
msgstr "Tanca la visualització de la imatge de la capçalera"
-#: src/view/com/notifications/FeedItem.tsx:318
+#: src/view/com/notifications/FeedItem.tsx:323
msgid "Collapses list of users for a given notification"
msgstr "Plega la llista d'usuaris per una notificació concreta"
@@ -796,20 +907,20 @@ msgstr "Comèdia"
msgid "Comics"
msgstr "Còmics"
-#: src/Navigation.tsx:229
+#: src/Navigation.tsx:241
#: src/view/screens/CommunityGuidelines.tsx:32
msgid "Community Guidelines"
msgstr "Directrius de la comunitat"
-#: src/screens/Onboarding/StepFinished.tsx:148
+#: src/screens/Onboarding/StepFinished.tsx:152
msgid "Complete onboarding and start using your account"
msgstr "Finalitza el registre i comença a utilitzar el teu compte"
-#: src/view/com/auth/create/Step3.tsx:73
+#: src/screens/Signup/index.tsx:155
msgid "Complete the challenge"
-msgstr ""
+msgstr "Completa la prova"
-#: src/view/com/composer/Composer.tsx:424
+#: src/view/com/composer/Composer.tsx:438
msgid "Compose posts up to {MAX_GRAPHEME_LENGTH} characters in length"
msgstr "Crea publicacions de fins a {MAX_GRAPHEME_LENGTH} caràcters"
@@ -817,12 +928,20 @@ msgstr "Crea publicacions de fins a {MAX_GRAPHEME_LENGTH} caràcters"
msgid "Compose reply"
msgstr "Redacta una resposta"
-#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:67
+#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:81
msgid "Configure content filtering setting for category: {0}"
msgstr "Configura els filtres de continguts per la categoria: {0}"
-#: src/components/Prompt.tsx:124
-#: src/view/com/modals/AppealLabel.tsx:98
+#: src/components/moderation/LabelPreference.tsx:81
+msgid "Configure content filtering setting for category: {name}"
+msgstr "Configura els filtres de continguts per la categoria: {name}"
+
+#: src/components/moderation/LabelPreference.tsx:244
+msgid "Configured in <0>moderation settings0>."
+msgstr "Configurat a <0>configuració de moderació0>."
+
+#: src/components/Prompt.tsx:153
+#: src/components/Prompt.tsx:156
#: src/view/com/modals/SelfLabel.tsx:154
#: src/view/com/modals/VerifyEmail.tsx:231
#: src/view/com/modals/VerifyEmail.tsx:233
@@ -833,29 +952,38 @@ msgstr "Confirma"
#: src/view/com/modals/Confirm.tsx:75
#: src/view/com/modals/Confirm.tsx:78
-msgctxt "action"
-msgid "Confirm"
-msgstr "Confirma"
+#~ msgctxt "action"
+#~ msgid "Confirm"
+#~ msgstr "Confirma"
#: src/view/com/modals/ChangeEmail.tsx:193
#: src/view/com/modals/ChangeEmail.tsx:195
msgid "Confirm Change"
msgstr "Confirma el canvi"
-#: src/view/com/modals/lang-settings/ConfirmLanguagesButton.tsx:34
+#: src/view/com/modals/lang-settings/ConfirmLanguagesButton.tsx:35
msgid "Confirm content language settings"
msgstr "Confirma la configuració de l'idioma del contingut"
-#: src/view/com/modals/DeleteAccount.tsx:220
+#: src/view/com/modals/DeleteAccount.tsx:219
msgid "Confirm delete account"
msgstr "Confirma l'eliminació del compte"
#: src/view/com/modals/ContentFilteringSettings.tsx:156
-msgid "Confirm your age to enable adult content."
-msgstr "Confirma la teva edat per habilitar el contingut per a adults"
+#~ msgid "Confirm your age to enable adult content."
+#~ msgstr "Confirma la teva edat per a habilitar el contingut per a adults"
+
+#: src/screens/Moderation/index.tsx:301
+msgid "Confirm your age:"
+msgstr "Confirma la teva edat:"
+
+#: src/screens/Moderation/index.tsx:292
+msgid "Confirm your birthdate"
+msgstr "Confirma la teva data de naixement"
#: src/view/com/modals/ChangeEmail.tsx:157
-#: src/view/com/modals/DeleteAccount.tsx:182
+#: src/view/com/modals/DeleteAccount.tsx:175
+#: src/view/com/modals/DeleteAccount.tsx:181
#: src/view/com/modals/VerifyEmail.tsx:165
msgid "Confirmation code"
msgstr "Codi de confirmació"
@@ -864,34 +992,48 @@ msgstr "Codi de confirmació"
#~ msgid "Confirms signing up {email} to the waitlist"
#~ msgstr "Confirma afegir {email} a la llista d'espera"
-#: src/view/com/auth/create/CreateAccount.tsx:193
-#: src/view/com/auth/login/LoginForm.tsx:278
+#: src/screens/Login/LoginForm.tsx:248
msgid "Connecting..."
msgstr "Connectant…"
-#: src/view/com/auth/create/CreateAccount.tsx:213
+#: src/screens/Signup/index.tsx:225
msgid "Contact support"
msgstr "Contacta amb suport"
+#: src/components/moderation/LabelsOnMe.tsx:42
+msgid "content"
+msgstr "contingut"
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:18
+msgid "Content Blocked"
+msgstr "Contingut bloquejat"
+
#: src/view/screens/Moderation.tsx:83
-msgid "Content filtering"
-msgstr "Filtre de contingut"
+#~ msgid "Content filtering"
+#~ msgstr "Filtre de contingut"
#: src/view/com/modals/ContentFilteringSettings.tsx:44
-msgid "Content Filtering"
-msgstr "Filtre de contingut"
+#~ msgid "Content Filtering"
+#~ msgstr "Filtre de contingut"
+
+#: src/screens/Moderation/index.tsx:285
+msgid "Content filters"
+msgstr "Filtres de contingut"
#: src/view/com/modals/lang-settings/ContentLanguagesSettings.tsx:74
#: src/view/screens/LanguageSettings.tsx:278
msgid "Content Languages"
msgstr "Idiomes del contingut"
-#: src/view/com/modals/ModerationDetails.tsx:65
+#: src/components/moderation/ModerationDetailsDialog.tsx:75
+#: src/lib/moderation/useModerationCauseDescription.ts:75
msgid "Content Not Available"
msgstr "Contingut no disponible"
-#: src/view/com/modals/ModerationDetails.tsx:33
-#: src/view/com/util/moderation/ScreenHider.tsx:78
+#: src/components/moderation/ModerationDetailsDialog.tsx:46
+#: src/components/moderation/ScreenHider.tsx:99
+#: src/lib/moderation/useGlobalLabelStrings.ts:22
+#: src/lib/moderation/useModerationCauseDescription.ts:38
msgid "Content Warning"
msgstr "Advertència del contingut"
@@ -899,28 +1041,38 @@ msgstr "Advertència del contingut"
msgid "Content warnings"
msgstr "Advertències del contingut"
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:170
-#: src/screens/Onboarding/StepFollowingFeed.tsx:153
-#: src/screens/Onboarding/StepInterests/index.tsx:248
-#: src/screens/Onboarding/StepModeration/index.tsx:118
-#: src/screens/Onboarding/StepTopicalFeeds.tsx:114
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:148
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:209
+#: src/components/Menu/index.web.tsx:84
+msgid "Context menu backdrop, click to close the menu."
+msgstr "Teló de fons del menú contextual, fes clic per tancar-lo."
+
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:161
+#: src/screens/Onboarding/StepFollowingFeed.tsx:154
+#: src/screens/Onboarding/StepInterests/index.tsx:252
+#: src/screens/Onboarding/StepModeration/index.tsx:103
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:118
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:150
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:211
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:96
msgid "Continue"
msgstr "Continua"
-#: src/screens/Onboarding/StepFollowingFeed.tsx:150
-#: src/screens/Onboarding/StepInterests/index.tsx:245
-#: src/screens/Onboarding/StepModeration/index.tsx:115
-#: src/screens/Onboarding/StepTopicalFeeds.tsx:111
+#: src/components/AccountList.tsx:108
+msgid "Continue as {0} (currently signed in)"
+msgstr "Continua com a {0} (sessió actual)"
+
+#: src/screens/Onboarding/StepFollowingFeed.tsx:151
+#: src/screens/Onboarding/StepInterests/index.tsx:249
+#: src/screens/Onboarding/StepModeration/index.tsx:100
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:115
+#: src/screens/Signup/index.tsx:200
msgid "Continue to next step"
msgstr "Continua"
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:167
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:158
msgid "Continue to the next step"
msgstr "Continua"
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:191
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:199
msgid "Continue to the next step without following any accounts"
msgstr "Continua sense seguir cap compte"
@@ -928,57 +1080,71 @@ msgstr "Continua sense seguir cap compte"
msgid "Cooking"
msgstr "Cuina"
-#: src/view/com/modals/AddAppPasswords.tsx:195
-#: src/view/com/modals/InviteCodes.tsx:182
+#: src/view/com/modals/AddAppPasswords.tsx:196
+#: src/view/com/modals/InviteCodes.tsx:183
msgid "Copied"
msgstr "Copiat"
-#: src/view/screens/Settings/index.tsx:241
+#: src/view/screens/Settings/index.tsx:254
msgid "Copied build version to clipboard"
msgstr "Número de versió copiat en memòria"
-#: src/view/com/modals/AddAppPasswords.tsx:76
-#: src/view/com/modals/InviteCodes.tsx:152
-#: src/view/com/util/forms/PostDropdownBtn.tsx:161
+#: src/view/com/modals/AddAppPasswords.tsx:77
+#: src/view/com/modals/ChangeHandle.tsx:326
+#: src/view/com/modals/InviteCodes.tsx:153
+#: src/view/com/util/forms/PostDropdownBtn.tsx:164
msgid "Copied to clipboard"
msgstr "Copiat en memòria"
-#: src/view/com/modals/AddAppPasswords.tsx:189
+#: src/components/dialogs/Embed.tsx:134
+msgid "Copied!"
+msgstr ""
+
+#: src/view/com/modals/AddAppPasswords.tsx:190
msgid "Copies app password"
msgstr "Copia la contrasenya d'aplicació"
-#: src/view/com/modals/AddAppPasswords.tsx:188
+#: src/view/com/modals/AddAppPasswords.tsx:189
msgid "Copy"
msgstr "Copia"
-#: src/view/screens/ProfileList.tsx:418
+#: src/view/com/modals/ChangeHandle.tsx:480
+msgid "Copy {0}"
+msgstr "Copia {0}"
+
+#: src/components/dialogs/Embed.tsx:120
+#: src/components/dialogs/Embed.tsx:139
+msgid "Copy code"
+msgstr ""
+
+#: src/view/screens/ProfileList.tsx:390
msgid "Copy link to list"
msgstr "Copia l'enllaç a la llista"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:231
-#: src/view/com/util/forms/PostDropdownBtn.tsx:237
+#: src/view/com/util/forms/PostDropdownBtn.tsx:236
+#: src/view/com/util/forms/PostDropdownBtn.tsx:245
msgid "Copy link to post"
msgstr "Copia l'enllaç a la publicació"
#: src/view/com/profile/ProfileHeader.tsx:295
-msgid "Copy link to profile"
-msgstr "Copia l'enllaç al perfil"
+#~ msgid "Copy link to profile"
+#~ msgstr "Copia l'enllaç al perfil"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:223
-#: src/view/com/util/forms/PostDropdownBtn.tsx:225
+#: src/view/com/util/forms/PostDropdownBtn.tsx:228
+#: src/view/com/util/forms/PostDropdownBtn.tsx:230
msgid "Copy post text"
msgstr "Copia el text de la publicació"
-#: src/Navigation.tsx:234
+#: src/Navigation.tsx:246
#: src/view/screens/CopyrightPolicy.tsx:29
msgid "Copyright Policy"
msgstr "Política de drets d'autor"
-#: src/view/screens/ProfileFeed.tsx:97
+#: src/view/screens/ProfileFeed.tsx:103
msgid "Could not load feed"
msgstr "No es pot carregar el canal"
-#: src/view/screens/ProfileList.tsx:893
+#: src/view/screens/ProfileList.tsx:909
msgid "Could not load list"
msgstr "No es pot carregar la llista"
@@ -986,73 +1152,81 @@ msgstr "No es pot carregar la llista"
#~ msgid "Country"
#~ msgstr "País"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:62
-#: src/view/com/auth/SplashScreen.tsx:71
-#: src/view/com/auth/SplashScreen.web.tsx:81
+#: src/view/com/auth/SplashScreen.tsx:57
+#: src/view/com/auth/SplashScreen.web.tsx:101
msgid "Create a new account"
msgstr "Crea un nou compte"
-#: src/view/screens/Settings/index.tsx:384
+#: src/view/screens/Settings/index.tsx:406
msgid "Create a new Bluesky account"
msgstr "Crea un nou compte de Bluesky"
-#: src/view/com/auth/create/CreateAccount.tsx:133
+#: src/screens/Signup/index.tsx:130
msgid "Create Account"
msgstr "Crea un compte"
-#: src/view/com/modals/AddAppPasswords.tsx:226
+#: src/components/dialogs/Signin.tsx:86
+#: src/components/dialogs/Signin.tsx:88
+msgid "Create an account"
+msgstr ""
+
+#: src/view/com/modals/AddAppPasswords.tsx:227
msgid "Create App Password"
msgstr "Crea una contrasenya d'aplicació"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:54
-#: src/view/com/auth/SplashScreen.tsx:68
+#: src/view/com/auth/SplashScreen.tsx:48
+#: src/view/com/auth/SplashScreen.web.tsx:92
msgid "Create new account"
msgstr "Crea un nou compte"
-#: src/view/screens/AppPasswords.tsx:249
+#: src/components/ReportDialog/SelectReportOptionView.tsx:94
+msgid "Create report for {0}"
+msgstr "Crea un informe per a {0}"
+
+#: src/view/screens/AppPasswords.tsx:246
msgid "Created {0}"
msgstr "Creat {0}"
#: src/view/screens/ProfileFeed.tsx:616
-msgid "Created by <0/>"
-msgstr "Creat per <0/>"
+#~ msgid "Created by <0/>"
+#~ msgstr "Creat per <0/>"
#: src/view/screens/ProfileFeed.tsx:614
-msgid "Created by you"
-msgstr "Creat per tu"
+#~ msgid "Created by you"
+#~ msgstr "Creat per tu"
-#: src/view/com/composer/Composer.tsx:455
+#: src/view/com/composer/Composer.tsx:469
msgid "Creates a card with a thumbnail. The card links to {url}"
-msgstr "Crea una targeta amb una minuatura. La targeta enllaça a {url}"
+msgstr "Crea una targeta amb una miniatura. La targeta enllaça a {url}"
#: src/screens/Onboarding/index.tsx:29
msgid "Culture"
msgstr "Cultura"
-#: src/view/com/auth/server-input/index.tsx:95
-#: src/view/com/auth/server-input/index.tsx:96
+#: src/view/com/auth/server-input/index.tsx:97
+#: src/view/com/auth/server-input/index.tsx:99
msgid "Custom"
msgstr "Personalitzat"
-#: src/view/com/modals/ChangeHandle.tsx:389
+#: src/view/com/modals/ChangeHandle.tsx:388
msgid "Custom domain"
msgstr "Domini personalitzat"
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:106
-#: src/view/screens/Feeds.tsx:692
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:107
+#: src/view/screens/Feeds.tsx:717
msgid "Custom feeds built by the community bring you new experiences and help you find the content you love."
msgstr "Els canals personalitzats fets per la comunitat et porten noves experiències i t'ajuden a trobar contingut que t'agradarà."
#: src/view/screens/PreferencesExternalEmbeds.tsx:55
msgid "Customize media from external sites."
-msgstr "Personalitza el contingut dels llocs externs"
+msgstr "Personalitza el contingut dels llocs externs."
#: src/view/screens/Settings.tsx:687
#~ msgid "Danger Zone"
#~ msgstr "Zona de perill"
-#: src/view/screens/Settings/index.tsx:485
-#: src/view/screens/Settings/index.tsx:511
+#: src/view/screens/Settings/index.tsx:455
+#: src/view/screens/Settings/index.tsx:481
msgid "Dark"
msgstr "Fosc"
@@ -1060,33 +1234,49 @@ msgstr "Fosc"
msgid "Dark mode"
msgstr "Mode fosc"
-#: src/view/screens/Settings/index.tsx:498
+#: src/view/screens/Settings/index.tsx:468
msgid "Dark Theme"
msgstr "Tema fosc"
+#: src/screens/Signup/StepInfo/index.tsx:134
+msgid "Date of birth"
+msgstr "Data de naixement"
+
+#: src/view/screens/Settings/index.tsx:805
+msgid "Debug Moderation"
+msgstr "Moderació de depuració"
+
#: src/view/screens/Debug.tsx:83
msgid "Debug panel"
msgstr "Panell de depuració"
-#: src/view/screens/Settings/index.tsx:772
+#: src/view/com/util/forms/PostDropdownBtn.tsx:341
+#: src/view/screens/AppPasswords.tsx:268
+#: src/view/screens/ProfileList.tsx:615
+msgid "Delete"
+msgstr "Elimina"
+
+#: src/view/screens/Settings/index.tsx:760
msgid "Delete account"
msgstr "Elimina el compte"
-#: src/view/com/modals/DeleteAccount.tsx:87
+#: src/view/com/modals/DeleteAccount.tsx:86
msgid "Delete Account"
msgstr "Elimina el compte"
-#: src/view/screens/AppPasswords.tsx:222
-#: src/view/screens/AppPasswords.tsx:242
+#: src/view/screens/AppPasswords.tsx:239
msgid "Delete app password"
msgstr "Elimina la contrasenya d'aplicació"
-#: src/view/screens/ProfileList.tsx:364
-#: src/view/screens/ProfileList.tsx:445
+#: src/view/screens/AppPasswords.tsx:263
+msgid "Delete app password?"
+msgstr "Vols eliminar la contrasenya d'aplicació?"
+
+#: src/view/screens/ProfileList.tsx:417
msgid "Delete List"
msgstr "Elimina la llista"
-#: src/view/com/modals/DeleteAccount.tsx:223
+#: src/view/com/modals/DeleteAccount.tsx:222
msgid "Delete my account"
msgstr "Elimina el meu compte"
@@ -1094,31 +1284,35 @@ msgstr "Elimina el meu compte"
#~ msgid "Delete my account…"
#~ msgstr "Elimina el meu compte…"
-#: src/view/screens/Settings/index.tsx:784
+#: src/view/screens/Settings/index.tsx:772
msgid "Delete My Account…"
msgstr "Elimina el meu compte…"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:317
-#: src/view/com/util/forms/PostDropdownBtn.tsx:326
+#: src/view/com/util/forms/PostDropdownBtn.tsx:322
+#: src/view/com/util/forms/PostDropdownBtn.tsx:324
msgid "Delete post"
msgstr "Elimina la publicació"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:321
+#: src/view/screens/ProfileList.tsx:610
+msgid "Delete this list?"
+msgstr "Vols eliminar aquesta llista?"
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:336
msgid "Delete this post?"
msgstr "Vols eliminar aquesta publicació?"
-#: src/view/com/util/post-embeds/QuoteEmbed.tsx:70
+#: src/view/com/util/post-embeds/QuoteEmbed.tsx:67
msgid "Deleted"
msgstr "Eliminat"
-#: src/view/com/post-thread/PostThread.tsx:316
+#: src/view/com/post-thread/PostThread.tsx:305
msgid "Deleted post."
msgstr "Publicació eliminada."
-#: src/view/com/modals/CreateOrEditList.tsx:300
-#: src/view/com/modals/CreateOrEditList.tsx:321
-#: src/view/com/modals/EditProfile.tsx:198
-#: src/view/com/modals/EditProfile.tsx:210
+#: src/view/com/modals/CreateOrEditList.tsx:301
+#: src/view/com/modals/CreateOrEditList.tsx:322
+#: src/view/com/modals/EditProfile.tsx:199
+#: src/view/com/modals/EditProfile.tsx:211
msgid "Description"
msgstr "Descripció"
@@ -1134,19 +1328,39 @@ msgstr "Descripció"
msgid "Did you want to say anything?"
msgstr "Vols dir alguna cosa?"
-#: src/view/screens/Settings/index.tsx:504
+#: src/view/screens/Settings/index.tsx:474
msgid "Dim"
msgstr "Tènue"
-#: src/view/com/composer/Composer.tsx:151
+#: src/view/screens/Settings/index.tsx:697
+msgid "Disable haptics"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:697
+msgid "Disable vibrations"
+msgstr ""
+
+#: src/lib/moderation/useLabelBehaviorDescription.ts:32
+#: src/lib/moderation/useLabelBehaviorDescription.ts:42
+#: src/lib/moderation/useLabelBehaviorDescription.ts:68
+#: src/screens/Moderation/index.tsx:341
+msgid "Disabled"
+msgstr "Deshabilitat"
+
+#: src/view/com/composer/Composer.tsx:511
msgid "Discard"
msgstr "Descarta"
#: src/view/com/composer/Composer.tsx:145
-msgid "Discard draft"
-msgstr "Descarta l'esborrany"
+#~ msgid "Discard draft"
+#~ msgstr "Descarta l'esborrany"
-#: src/view/screens/Moderation.tsx:226
+#: src/view/com/composer/Composer.tsx:508
+msgid "Discard draft?"
+msgstr "Vols descartar l'esborrany?"
+
+#: src/screens/Moderation/index.tsx:518
+#: src/screens/Moderation/index.tsx:522
msgid "Discourage apps from showing my account to logged-out users"
msgstr "Evita que les aplicacions mostrin el meu compte als usuaris no connectats"
@@ -1159,19 +1373,35 @@ msgstr "Descobreix nous canals personalitzats"
#~ msgid "Discover new feeds"
#~ msgstr "Descobreix nous canals"
-#: src/view/screens/Feeds.tsx:689
+#: src/view/screens/Feeds.tsx:714
msgid "Discover New Feeds"
msgstr "Descobreix nous canals"
-#: src/view/com/modals/EditProfile.tsx:192
+#: src/view/com/modals/EditProfile.tsx:193
msgid "Display name"
msgstr "Nom mostrat"
-#: src/view/com/modals/EditProfile.tsx:180
+#: src/view/com/modals/EditProfile.tsx:181
msgid "Display Name"
msgstr "Nom mostrat"
-#: src/view/com/modals/ChangeHandle.tsx:487
+#: src/view/com/modals/ChangeHandle.tsx:397
+msgid "DNS Panel"
+msgstr "Panell de DNS"
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:39
+msgid "Does not include nudity."
+msgstr "No inclou nuesa."
+
+#: src/screens/Signup/StepHandle.tsx:105
+msgid "Doesn't begin or end with a hyphen"
+msgstr "No comença ni acaba amb un guionet"
+
+#: src/view/com/modals/ChangeHandle.tsx:481
+msgid "Domain Value"
+msgstr "valor del domini"
+
+#: src/view/com/modals/ChangeHandle.tsx:488
msgid "Domain verified!"
msgstr "Domini verificat!"
@@ -1179,8 +1409,26 @@ msgstr "Domini verificat!"
#~ msgid "Don't have an invite code?"
#~ msgstr "No tens un codi d'invitació?"
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:86
-#: src/view/com/modals/EditImage.tsx:333
+#: src/components/dialogs/BirthDateSettings.tsx:119
+#: src/components/dialogs/BirthDateSettings.tsx:125
+#: src/components/forms/DateField/index.tsx:74
+#: src/components/forms/DateField/index.tsx:80
+#: src/view/com/auth/server-input/index.tsx:169
+#: src/view/com/auth/server-input/index.tsx:170
+#: src/view/com/modals/AddAppPasswords.tsx:227
+#: src/view/com/modals/AltImage.tsx:140
+#: src/view/com/modals/crop-image/CropImage.web.tsx:153
+#: src/view/com/modals/InviteCodes.tsx:81
+#: src/view/com/modals/InviteCodes.tsx:124
+#: src/view/com/modals/ListAddRemoveUsers.tsx:142
+#: src/view/screens/PreferencesFollowingFeed.tsx:311
+#: src/view/screens/Settings/ExportCarDialog.tsx:94
+#: src/view/screens/Settings/ExportCarDialog.tsx:96
+msgid "Done"
+msgstr "Fet"
+
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:87
+#: src/view/com/modals/EditImage.tsx:334
#: src/view/com/modals/ListAddRemoveUsers.tsx:144
#: src/view/com/modals/SelfLabel.tsx:157
#: src/view/com/modals/Threadgate.tsx:129
@@ -1192,33 +1440,17 @@ msgctxt "action"
msgid "Done"
msgstr "Fet"
-#: src/view/com/auth/server-input/index.tsx:165
-#: src/view/com/auth/server-input/index.tsx:166
-#: src/view/com/modals/AddAppPasswords.tsx:226
-#: src/view/com/modals/AltImage.tsx:139
-#: src/view/com/modals/ContentFilteringSettings.tsx:88
-#: src/view/com/modals/ContentFilteringSettings.tsx:96
-#: src/view/com/modals/crop-image/CropImage.web.tsx:152
-#: src/view/com/modals/InviteCodes.tsx:80
-#: src/view/com/modals/InviteCodes.tsx:123
-#: src/view/com/modals/ListAddRemoveUsers.tsx:142
-#: src/view/screens/PreferencesFollowingFeed.tsx:311
-#: src/view/screens/Settings/ExportCarDialog.tsx:93
-#: src/view/screens/Settings/ExportCarDialog.tsx:94
-msgid "Done"
-msgstr "Fet"
-
-#: src/view/com/modals/lang-settings/ConfirmLanguagesButton.tsx:42
+#: src/view/com/modals/lang-settings/ConfirmLanguagesButton.tsx:43
msgid "Done{extraText}"
msgstr "Fet{extraText}"
-#: src/view/com/auth/login/ChooseAccountForm.tsx:45
-msgid "Double tap to sign in"
-msgstr "Fes doble toc per iniciar la sessió"
+#: src/view/com/auth/login/ChooseAccountForm.tsx:46
+#~ msgid "Double tap to sign in"
+#~ msgstr "Fes doble toc per a iniciar la sessió"
#: src/view/screens/Settings/index.tsx:755
-msgid "Download Bluesky account data (repository)"
-msgstr "Descarrega les dades del compte de Bluesky (repositori)"
+#~ msgid "Download Bluesky account data (repository)"
+#~ msgstr "Descarrega les dades del compte de Bluesky (repositori)"
#: src/view/screens/Settings/ExportCarDialog.tsx:59
#: src/view/screens/Settings/ExportCarDialog.tsx:63
@@ -1227,37 +1459,49 @@ msgstr "Descarrega el fitxer CAR"
#: src/view/com/composer/text-input/TextInput.web.tsx:249
msgid "Drop to add images"
-msgstr "Deixa anar per afegir imatges"
+msgstr "Deixa anar a afegir imatges"
-#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:111
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:120
msgid "Due to Apple policies, adult content can only be enabled on the web after completing sign up."
-msgstr "Degut a les polítiques d'Apple, el contingut per a adults només es pot habilitar a la web després de registrar-se"
+msgstr "A causa de les polítiques d'Apple, el contingut a adults només es pot habilitar a la web després de registrar-se."
-#: src/view/com/modals/EditProfile.tsx:185
+#: src/view/com/modals/ChangeHandle.tsx:258
+msgid "e.g. alice"
+msgstr "p. ex.jordi"
+
+#: src/view/com/modals/EditProfile.tsx:186
msgid "e.g. Alice Roberts"
-msgstr "p.ex. Jordi Guix"
+msgstr "p. ex.Jordi Guix"
-#: src/view/com/modals/EditProfile.tsx:203
+#: src/view/com/modals/ChangeHandle.tsx:380
+msgid "e.g. alice.com"
+msgstr "p. ex.jordi.com"
+
+#: src/view/com/modals/EditProfile.tsx:204
msgid "e.g. Artist, dog-lover, and avid reader."
-msgstr "p.ex. Artista, amant dels gossos i amant de la lectura."
+msgstr "p. ex.Artista, amant dels gossos i amant de la lectura."
-#: src/view/com/modals/CreateOrEditList.tsx:283
-msgid "e.g. Great Posters"
-msgstr "p.ex. Gent interessant"
+#: src/lib/moderation/useGlobalLabelStrings.ts:43
+msgid "E.g. artistic nudes."
+msgstr "p. ex.nuesa artística"
#: src/view/com/modals/CreateOrEditList.tsx:284
-msgid "e.g. Spammers"
-msgstr "p.ex. Spammers"
+msgid "e.g. Great Posters"
+msgstr "p. ex.Gent interessant"
-#: src/view/com/modals/CreateOrEditList.tsx:312
-msgid "e.g. The posters who never miss."
-msgstr "p.ex. Els que mai fallen"
+#: src/view/com/modals/CreateOrEditList.tsx:285
+msgid "e.g. Spammers"
+msgstr "p. ex.Spammers"
#: src/view/com/modals/CreateOrEditList.tsx:313
-msgid "e.g. Users that repeatedly reply with ads."
-msgstr "p.ex. Usuaris que sempre responen amb anuncis"
+msgid "e.g. The posters who never miss."
+msgstr "p. ex.Els que mai fallen"
-#: src/view/com/modals/InviteCodes.tsx:96
+#: src/view/com/modals/CreateOrEditList.tsx:314
+msgid "e.g. Users that repeatedly reply with ads."
+msgstr "p. ex.Usuaris que sempre responen amb anuncis"
+
+#: src/view/com/modals/InviteCodes.tsx:97
msgid "Each code works once. You'll receive more invite codes periodically."
msgstr "Cada codi funciona un cop. Rebràs més codis d'invitació periòdicament."
@@ -1266,51 +1510,58 @@ msgctxt "action"
msgid "Edit"
msgstr "Edita"
+#: src/view/com/util/UserAvatar.tsx:301
+#: src/view/com/util/UserBanner.tsx:85
+msgid "Edit avatar"
+msgstr "Edita l'avatar"
+
#: src/view/com/composer/photos/Gallery.tsx:144
-#: src/view/com/modals/EditImage.tsx:207
+#: src/view/com/modals/EditImage.tsx:208
msgid "Edit image"
msgstr "Edita la imatge"
-#: src/view/screens/ProfileList.tsx:433
+#: src/view/screens/ProfileList.tsx:405
msgid "Edit list details"
msgstr "Edita els detalls de la llista"
-#: src/view/com/modals/CreateOrEditList.tsx:250
+#: src/view/com/modals/CreateOrEditList.tsx:251
msgid "Edit Moderation List"
msgstr "Edita la llista de moderació"
-#: src/Navigation.tsx:244
-#: src/view/screens/Feeds.tsx:434
-#: src/view/screens/SavedFeeds.tsx:84
+#: src/Navigation.tsx:256
+#: src/view/screens/Feeds.tsx:459
+#: src/view/screens/SavedFeeds.tsx:85
msgid "Edit My Feeds"
msgstr "Edita els meus canals"
-#: src/view/com/modals/EditProfile.tsx:152
+#: src/view/com/modals/EditProfile.tsx:153
msgid "Edit my profile"
msgstr "Edita el meu perfil"
-#: src/view/com/profile/ProfileHeader.tsx:418
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:178
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:168
msgid "Edit profile"
msgstr "Edita el perfil"
-#: src/view/com/profile/ProfileHeader.tsx:423
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:181
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:171
msgid "Edit Profile"
msgstr "Edita el perfil"
-#: src/view/com/home/HomeHeaderLayout.web.tsx:62
-#: src/view/screens/Feeds.tsx:355
+#: src/view/com/home/HomeHeaderLayout.web.tsx:66
+#: src/view/screens/Feeds.tsx:380
msgid "Edit Saved Feeds"
msgstr "Edita els meus canals guardats"
-#: src/view/com/modals/CreateOrEditList.tsx:245
+#: src/view/com/modals/CreateOrEditList.tsx:246
msgid "Edit User List"
msgstr "Edita la llista d'usuaris"
-#: src/view/com/modals/EditProfile.tsx:193
+#: src/view/com/modals/EditProfile.tsx:194
msgid "Edit your display name"
msgstr "Edita el teu nom mostrat"
-#: src/view/com/modals/EditProfile.tsx:211
+#: src/view/com/modals/EditProfile.tsx:212
msgid "Edit your profile description"
msgstr "Edita la descripció del teu perfil"
@@ -1318,14 +1569,12 @@ msgstr "Edita la descripció del teu perfil"
msgid "Education"
msgstr "Ensenyament"
-#: src/view/com/auth/create/Step1.tsx:176
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:156
+#: src/screens/Signup/StepInfo/index.tsx:80
#: src/view/com/modals/ChangeEmail.tsx:141
msgid "Email"
msgstr "Correu"
-#: src/view/com/auth/create/Step1.tsx:167
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:147
+#: src/screens/Login/ForgotPasswordForm.tsx:99
msgid "Email address"
msgstr "Adreça de correu"
@@ -1342,26 +1591,49 @@ msgstr "Correu actualitzat"
msgid "Email verified"
msgstr "Correu verificat"
-#: src/view/screens/Settings/index.tsx:312
+#: src/view/screens/Settings/index.tsx:334
msgid "Email:"
msgstr "Correu:"
-#: src/view/com/modals/EmbedConsent.tsx:113
+#: src/components/dialogs/Embed.tsx:112
+msgid "Embed HTML code"
+msgstr ""
+
+#: src/components/dialogs/Embed.tsx:97
+#: src/view/com/util/forms/PostDropdownBtn.tsx:253
+#: src/view/com/util/forms/PostDropdownBtn.tsx:255
+msgid "Embed post"
+msgstr ""
+
+#: src/components/dialogs/Embed.tsx:101
+msgid "Embed this post in your website. Simply copy the following snippet and paste it into the HTML code of your website."
+msgstr ""
+
+#: src/components/dialogs/EmbedConsent.tsx:101
msgid "Enable {0} only"
msgstr "Habilita només {0}"
-#: src/view/com/modals/ContentFilteringSettings.tsx:167
-msgid "Enable Adult Content"
-msgstr "Habilita el contingut per a adults"
+#: src/screens/Moderation/index.tsx:329
+msgid "Enable adult content"
+msgstr "Habilita el contingut per adults"
-#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:76
-#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:77
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:94
+msgid "Enable Adult Content"
+msgstr "Habilita el contingut per adults"
+
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:78
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:79
msgid "Enable adult content in your feeds"
msgstr "Habilita veure el contingut per adults als teus canals"
+#: src/components/dialogs/EmbedConsent.tsx:82
+#: src/components/dialogs/EmbedConsent.tsx:89
+msgid "Enable external media"
+msgstr "Habilita els continguts externs"
+
#: src/view/com/modals/EmbedConsent.tsx:97
-msgid "Enable External Media"
-msgstr "Habilita el contingut extern"
+#~ msgid "Enable External Media"
+#~ msgstr "Habilita el contingut extern"
#: src/view/screens/PreferencesExternalEmbeds.tsx:75
msgid "Enable media players for"
@@ -1369,20 +1641,32 @@ msgstr "Habilita reproductors de contingut per"
#: src/view/screens/PreferencesFollowingFeed.tsx:147
msgid "Enable this setting to only see replies between people you follow."
-msgstr "Activa aquesta opció per veure només les respostes entre els comptes que segueixes."
+msgstr "Activa aquesta opció per a veure només les respostes entre els comptes que segueixes."
-#: src/view/screens/Profile.tsx:455
+#: src/components/dialogs/EmbedConsent.tsx:94
+msgid "Enable this source only"
+msgstr "Habilita només per aquesta font"
+
+#: src/screens/Moderation/index.tsx:339
+msgid "Enabled"
+msgstr "Habilitat"
+
+#: src/screens/Profile/Sections/Feed.tsx:100
msgid "End of feed"
msgstr "Fi del canal"
-#: src/view/com/modals/AddAppPasswords.tsx:166
+#: src/view/com/modals/AddAppPasswords.tsx:167
msgid "Enter a name for this App Password"
msgstr "Posa un nom a aquesta contrasenya d'aplicació"
+#: src/screens/Login/SetNewPasswordForm.tsx:139
+msgid "Enter a password"
+msgstr "Introdueix una contrasenya"
+
+#: src/components/dialogs/MutedWords.tsx:99
#: src/components/dialogs/MutedWords.tsx:100
-#: src/components/dialogs/MutedWords.tsx:101
msgid "Enter a word or tag"
-msgstr ""
+msgstr "Introdueix una lletra o etiqueta"
#: src/view/com/modals/VerifyEmail.tsx:105
msgid "Enter Confirmation Code"
@@ -1392,20 +1676,19 @@ msgstr "Entra el codi de confirmació"
#~ msgid "Enter the address of your provider:"
#~ msgstr "Introdueix l'adreça del teu proveïdor:"
-#: src/view/com/modals/ChangePassword.tsx:151
+#: src/view/com/modals/ChangePassword.tsx:153
msgid "Enter the code you received to change your password."
-msgstr "Introdueix el codi que has rebut per canviar la teva contrasenya."
+msgstr "Introdueix el codi que has rebut per a canviar la teva contrasenya."
-#: src/view/com/modals/ChangeHandle.tsx:371
+#: src/view/com/modals/ChangeHandle.tsx:370
msgid "Enter the domain you want to use"
msgstr "Introdueix el domini que vols utilitzar"
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:107
+#: src/screens/Login/ForgotPasswordForm.tsx:119
msgid "Enter the email you used to create your account. We'll send you a \"reset code\" so you can set a new password."
-msgstr "Introdueix el correu que vas fer servir per crear el teu compte. T'enviarem un \"codi de restabliment\" perquè puguis posar una nova contrasenya."
+msgstr "Introdueix el correu que vas fer servir per a crear el teu compte. T'enviarem un \"codi de restabliment\" perquè puguis posar una nova contrasenya."
-#: src/view/com/auth/create/Step1.tsx:228
-#: src/view/com/modals/BirthDateSettings.tsx:74
+#: src/components/dialogs/BirthDateSettings.tsx:108
msgid "Enter your birth date"
msgstr "Introdueix la teva data de naixement"
@@ -1413,7 +1696,8 @@ msgstr "Introdueix la teva data de naixement"
#~ msgid "Enter your email"
#~ msgstr "Introdueix el teu correu"
-#: src/view/com/auth/create/Step1.tsx:172
+#: src/screens/Login/ForgotPasswordForm.tsx:105
+#: src/screens/Signup/StepInfo/index.tsx:92
msgid "Enter your email address"
msgstr "Introdueix el teu correu"
@@ -1429,15 +1713,15 @@ msgstr "Introdueix el teu nou correu a continuació."
#~ msgid "Enter your phone number"
#~ msgstr "Introdueix el teu telèfon"
-#: src/view/com/auth/login/Login.tsx:99
+#: src/screens/Login/index.tsx:101
msgid "Enter your username and password"
msgstr "Introdueix el teu usuari i contrasenya"
-#: src/view/com/auth/create/Step3.tsx:67
+#: src/screens/Signup/StepCaptcha/index.tsx:49
msgid "Error receiving captcha response."
-msgstr ""
+msgstr "Erro en rebre la resposta al captcha."
-#: src/view/screens/Search/Search.tsx:110
+#: src/view/screens/Search/Search.tsx:115
msgid "Error:"
msgstr "Error:"
@@ -1445,16 +1729,28 @@ msgstr "Error:"
msgid "Everybody"
msgstr "Tothom"
-#: src/view/com/modals/ChangeHandle.tsx:150
+#: src/lib/moderation/useReportOptions.ts:66
+msgid "Excessive mentions or replies"
+msgstr "Mencions o respostes excessives"
+
+#: src/view/com/modals/DeleteAccount.tsx:230
+msgid "Exits account deletion process"
+msgstr "Surt del procés d'eliminació del compte"
+
+#: src/view/com/modals/ChangeHandle.tsx:151
msgid "Exits handle change process"
msgstr "Surt del procés de canvi d'identificador"
-#: src/view/com/lightbox/Lightbox.web.tsx:120
+#: src/view/com/modals/crop-image/CropImage.web.tsx:136
+msgid "Exits image cropping process"
+msgstr "Surt del procés de retallar l'imatge"
+
+#: src/view/com/lightbox/Lightbox.web.tsx:130
msgid "Exits image view"
msgstr "Surt de la visualització de la imatge"
#: src/view/com/modals/ListAddRemoveUsers.tsx:88
-#: src/view/shell/desktop/Search.tsx:235
+#: src/view/shell/desktop/Search.tsx:236
msgid "Exits inputting search query"
msgstr "Surt de la cerca"
@@ -1462,70 +1758,83 @@ msgstr "Surt de la cerca"
#~ msgid "Exits signing up for waitlist with {email}"
#~ msgstr "Surt de la llista d'espera amb el correu {email}"
-#: src/view/com/lightbox/Lightbox.web.tsx:163
+#: src/view/com/lightbox/Lightbox.web.tsx:183
msgid "Expand alt text"
msgstr "Expandeix el text alternatiu"
-#: src/view/com/composer/ComposerReplyTo.tsx:81
-#: src/view/com/composer/ComposerReplyTo.tsx:84
+#: src/view/com/composer/ComposerReplyTo.tsx:82
+#: src/view/com/composer/ComposerReplyTo.tsx:85
msgid "Expand or collapse the full post you are replying to"
msgstr "Expandeix o replega la publicació completa a la qual estàs responent"
-#: src/view/screens/Settings/index.tsx:753
+#: src/lib/moderation/useGlobalLabelStrings.ts:47
+msgid "Explicit or potentially disturbing media."
+msgstr "Contingut explícit o potencialment pertorbador."
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:35
+msgid "Explicit sexual images."
+msgstr "Imatges sexuals explícites."
+
+#: src/view/screens/Settings/index.tsx:741
msgid "Export my data"
msgstr "Exporta les meves dades"
#: src/view/screens/Settings/ExportCarDialog.tsx:44
-#: src/view/screens/Settings/index.tsx:764
+#: src/view/screens/Settings/index.tsx:752
msgid "Export My Data"
msgstr "Exporta les meves dades"
-#: src/view/com/modals/EmbedConsent.tsx:64
+#: src/components/dialogs/EmbedConsent.tsx:55
+#: src/components/dialogs/EmbedConsent.tsx:59
msgid "External Media"
msgstr "Contingut extern"
-#: src/view/com/modals/EmbedConsent.tsx:75
+#: src/components/dialogs/EmbedConsent.tsx:71
#: src/view/screens/PreferencesExternalEmbeds.tsx:66
msgid "External media may allow websites to collect information about you and your device. No information is sent or requested until you press the \"play\" button."
msgstr "El contingut extern pot permetre que algunes webs recullin informació sobre tu i el teu dispositiu. No s'envia ni es demana cap informació fins que premis el botó \"reproduir\"."
-#: src/Navigation.tsx:263
+#: src/Navigation.tsx:275
#: src/view/screens/PreferencesExternalEmbeds.tsx:52
-#: src/view/screens/Settings/index.tsx:657
+#: src/view/screens/Settings/index.tsx:628
msgid "External Media Preferences"
msgstr "Preferència del contingut extern"
-#: src/view/screens/Settings/index.tsx:648
+#: src/view/screens/Settings/index.tsx:619
msgid "External media settings"
msgstr "Configuració del contingut extern"
-#: src/view/com/modals/AddAppPasswords.tsx:115
-#: src/view/com/modals/AddAppPasswords.tsx:119
+#: src/view/com/modals/AddAppPasswords.tsx:116
+#: src/view/com/modals/AddAppPasswords.tsx:120
msgid "Failed to create app password."
-msgstr "No s'ha pogut crear la contrasenya d'aplicació"
+msgstr "No s'ha pogut crear la contrasenya d'aplicació."
-#: src/view/com/modals/CreateOrEditList.tsx:206
+#: src/view/com/modals/CreateOrEditList.tsx:207
msgid "Failed to create the list. Check your internet connection and try again."
msgstr "No s'ha pogut crear la llista. Comprova la teva connexió a internet i torna-ho a provar."
-#: src/view/com/util/forms/PostDropdownBtn.tsx:128
+#: src/view/com/util/forms/PostDropdownBtn.tsx:131
msgid "Failed to delete post, please try again"
msgstr "No s'ha pogut esborrar la publicació, torna-ho a provar"
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:109
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:141
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:110
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:143
msgid "Failed to load recommended feeds"
msgstr "Error en carregar els canals recomanats"
-#: src/Navigation.tsx:194
+#: src/view/com/lightbox/Lightbox.tsx:83
+msgid "Failed to save image: {0}"
+msgstr "Error en desar la imatge: {0}"
+
+#: src/Navigation.tsx:196
msgid "Feed"
msgstr "Canal"
-#: src/view/com/feeds/FeedSourceCard.tsx:231
+#: src/view/com/feeds/FeedSourceCard.tsx:218
msgid "Feed by {0}"
msgstr "Canal per {0}"
-#: src/view/screens/Feeds.tsx:605
+#: src/view/screens/Feeds.tsx:630
msgid "Feed offline"
msgstr "Canal fora de línia"
@@ -1534,34 +1843,42 @@ msgstr "Canal fora de línia"
#~ msgstr "Preferències del canal"
#: src/view/shell/desktop/RightNav.tsx:61
-#: src/view/shell/Drawer.tsx:311
+#: src/view/shell/Drawer.tsx:320
msgid "Feedback"
msgstr "Comentaris"
-#: src/Navigation.tsx:452
-#: src/view/screens/Feeds.tsx:419
-#: src/view/screens/Feeds.tsx:524
-#: src/view/screens/Profile.tsx:184
-#: src/view/shell/bottom-bar/BottomBar.tsx:181
-#: src/view/shell/desktop/LeftNav.tsx:342
-#: src/view/shell/Drawer.tsx:476
-#: src/view/shell/Drawer.tsx:477
+#: src/Navigation.tsx:456
+#: src/view/screens/Feeds.tsx:444
+#: src/view/screens/Feeds.tsx:549
+#: src/view/screens/Profile.tsx:199
+#: src/view/shell/bottom-bar/BottomBar.tsx:192
+#: src/view/shell/desktop/LeftNav.tsx:346
+#: src/view/shell/Drawer.tsx:485
+#: src/view/shell/Drawer.tsx:486
msgid "Feeds"
msgstr "Canals"
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:57
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:58
msgid "Feeds are created by users to curate content. Choose some feeds that you find interesting."
-msgstr "Els canals són creats pels usuaris per curar contingut. Tria els canals que trobis interessants."
+msgstr "Els canals són creats pels usuaris per a curar contingut. Tria els canals que trobis interessants."
-#: src/view/screens/SavedFeeds.tsx:156
+#: src/view/screens/SavedFeeds.tsx:157
msgid "Feeds are custom algorithms that users build with a little coding expertise. <0/> for more information."
msgstr "Els canals són algoritmes personalitzats creats per usuaris que coneixen una mica de codi. <0/> per a més informació."
-#: src/screens/Onboarding/StepTopicalFeeds.tsx:76
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:80
msgid "Feeds can be topical as well!"
msgstr "Els canals també poden ser d'actualitat!"
-#: src/screens/Onboarding/StepFinished.tsx:151
+#: src/view/com/modals/ChangeHandle.tsx:481
+msgid "File Contents"
+msgstr "Continguts del fitxer"
+
+#: src/lib/moderation/useLabelBehaviorDescription.ts:66
+msgid "Filter from feeds"
+msgstr "Filtra-ho dels canals"
+
+#: src/screens/Onboarding/StepFinished.tsx:155
msgid "Finalizing"
msgstr "Finalitzant"
@@ -1569,23 +1886,23 @@ msgstr "Finalitzant"
#: src/view/com/posts/FollowingEmptyState.tsx:57
#: src/view/com/posts/FollowingEndOfFeed.tsx:58
msgid "Find accounts to follow"
-msgstr "Troba comptes per seguir"
+msgstr "Troba comptes per a seguir"
-#: src/view/screens/Search/Search.tsx:440
+#: src/view/screens/Search/Search.tsx:589
msgid "Find users on Bluesky"
msgstr "Troba usuaris a Bluesky"
-#: src/view/screens/Search/Search.tsx:438
+#: src/view/screens/Search/Search.tsx:587
msgid "Find users with the search tool on the right"
msgstr "Troba usuaris amb l'eina de cerca de la dreta"
-#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:150
+#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:155
msgid "Finding similar accounts..."
msgstr "Troba comptes similars…"
#: src/view/screens/PreferencesFollowingFeed.tsx:111
msgid "Fine-tune the content you see on your Following feed."
-msgstr ""
+msgstr "Ajusta el contingut que veus al teu canal Seguint."
#: src/view/screens/PreferencesHomeFeed.tsx:111
#~ msgid "Fine-tune the content you see on your home screen."
@@ -1599,49 +1916,60 @@ msgstr "Ajusta els fils de debat."
msgid "Fitness"
msgstr "Exercici"
-#: src/screens/Onboarding/StepFinished.tsx:131
+#: src/screens/Onboarding/StepFinished.tsx:135
msgid "Flexible"
msgstr "Flexible"
-#: src/view/com/modals/EditImage.tsx:115
+#: src/view/com/modals/EditImage.tsx:116
msgid "Flip horizontal"
msgstr "Gira horitzontalment"
-#: src/view/com/modals/EditImage.tsx:120
-#: src/view/com/modals/EditImage.tsx:287
+#: src/view/com/modals/EditImage.tsx:121
+#: src/view/com/modals/EditImage.tsx:288
msgid "Flip vertically"
msgstr "Gira verticalment"
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:181
-#: src/view/com/post-thread/PostThreadFollowBtn.tsx:136
-#: src/view/com/profile/ProfileHeader.tsx:513
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:189
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:235
+#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:141
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:146
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:248
msgid "Follow"
msgstr "Segueix"
-#: src/view/com/profile/FollowButton.tsx:64
+#: src/view/com/profile/FollowButton.tsx:69
msgctxt "action"
msgid "Follow"
msgstr "Segueix"
#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:58
-#: src/view/com/post-thread/PostThreadFollowBtn.tsx:122
-#: src/view/com/profile/ProfileHeader.tsx:504
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:221
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:128
msgid "Follow {0}"
msgstr "Segueix {0}"
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:179
+#: src/view/com/profile/ProfileMenu.tsx:242
+#: src/view/com/profile/ProfileMenu.tsx:253
+msgid "Follow Account"
+msgstr "Segueix el compte"
+
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:187
msgid "Follow All"
msgstr "Segueix-los a tots"
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:174
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:144
+msgid "Follow Back"
+msgstr "Segueix"
+
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:182
msgid "Follow selected accounts and continue to the next step"
msgstr "Segueix els comptes seleccionats i continua"
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:64
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:65
msgid "Follow some users to get started. We can recommend you more users based on who you find interesting."
-msgstr "Segueix a alguns usuaris per començar. Te'n podem recomanar més basant-nos en els que trobes interessants."
+msgstr "Segueix a alguns usuaris per a començar. Te'n podem recomanar més basant-nos en els que trobes interessants."
-#: src/view/com/profile/ProfileCard.tsx:194
+#: src/view/com/profile/ProfileCard.tsx:219
msgid "Followed by {0}"
msgstr "Seguit per {0}"
@@ -1653,10 +1981,11 @@ msgstr "Usuaris seguits"
msgid "Followed users only"
msgstr "Només els usuaris seguits"
-#: src/view/com/notifications/FeedItem.tsx:166
+#: src/view/com/notifications/FeedItem.tsx:172
msgid "followed you"
msgstr "et segueix"
+#: src/view/com/profile/ProfileFollowers.tsx:104
#: src/view/screens/ProfileFollowers.tsx:25
msgid "Followers"
msgstr "Seguidors"
@@ -1665,29 +1994,34 @@ msgstr "Seguidors"
#~ msgid "following"
#~ msgstr "seguint"
-#: src/view/com/post-thread/PostThreadFollowBtn.tsx:136
-#: src/view/com/profile/ProfileHeader.tsx:495
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:233
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:149
+#: src/view/com/profile/ProfileFollows.tsx:104
#: src/view/screens/ProfileFollows.tsx:25
msgid "Following"
msgstr "Seguint"
-#: src/view/com/profile/ProfileHeader.tsx:149
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:93
msgid "Following {0}"
msgstr "Seguint {0}"
-#: src/Navigation.tsx:250
-#: src/view/com/home/HomeHeaderLayout.web.tsx:50
-#: src/view/com/home/HomeHeaderLayoutMobile.tsx:84
-#: src/view/screens/PreferencesFollowingFeed.tsx:104
-#: src/view/screens/Settings/index.tsx:543
-msgid "Following Feed Preferences"
-msgstr ""
+#: src/view/screens/Settings/index.tsx:504
+msgid "Following feed preferences"
+msgstr "Preferències del canal Seguint"
-#: src/view/com/profile/ProfileHeader.tsx:546
+#: src/Navigation.tsx:262
+#: src/view/com/home/HomeHeaderLayout.web.tsx:54
+#: src/view/com/home/HomeHeaderLayoutMobile.tsx:87
+#: src/view/screens/PreferencesFollowingFeed.tsx:104
+#: src/view/screens/Settings/index.tsx:513
+msgid "Following Feed Preferences"
+msgstr "Preferències del canal Seguint"
+
+#: src/screens/Profile/Header/Handle.tsx:24
msgid "Follows you"
msgstr "Et segueix"
-#: src/view/com/profile/ProfileCard.tsx:141
+#: src/view/com/profile/ProfileCard.tsx:144
msgid "Follows You"
msgstr "Et segueix"
@@ -1695,33 +2029,45 @@ msgstr "Et segueix"
msgid "Food"
msgstr "Menjar"
-#: src/view/com/modals/DeleteAccount.tsx:111
+#: src/view/com/modals/DeleteAccount.tsx:110
msgid "For security reasons, we'll need to send a confirmation code to your email address."
msgstr "Per motius de seguretat necessitem enviar-te un codi de confirmació al teu correu."
-#: src/view/com/modals/AddAppPasswords.tsx:209
+#: src/view/com/modals/AddAppPasswords.tsx:210
msgid "For security reasons, you won't be able to view this again. If you lose this password, you'll need to generate a new one."
msgstr "Per motius de seguretat no podràs tornar-la a veure. Si perds aquesta contrasenya necessitaràs generar-ne una de nova."
+#: src/view/com/auth/login/LoginForm.tsx:244
+#~ msgid "Forgot"
+#~ msgstr "L'he oblidat"
+
#: src/view/com/auth/login/LoginForm.tsx:241
-msgid "Forgot"
-msgstr "L'he oblidat"
+#~ msgid "Forgot password"
+#~ msgstr "He oblidat la contrasenya"
-#: src/view/com/auth/login/LoginForm.tsx:238
-msgid "Forgot password"
-msgstr "He oblidat la contrasenya"
-
-#: src/view/com/auth/login/Login.tsx:127
-#: src/view/com/auth/login/Login.tsx:143
+#: src/screens/Login/index.tsx:129
+#: src/screens/Login/index.tsx:144
msgid "Forgot Password"
msgstr "He oblidat la contrasenya"
-#: src/screens/Hashtag.tsx:108
-#: src/screens/Hashtag.tsx:148
-msgid "From @{sanitizedAuthor}"
-msgstr ""
+#: src/screens/Login/LoginForm.tsx:201
+msgid "Forgot password?"
+msgstr "Has oblidat la contrasenya?"
-#: src/view/com/posts/FeedItem.tsx:189
+#: src/screens/Login/LoginForm.tsx:212
+msgid "Forgot?"
+msgstr "Oblidada?"
+
+#: src/lib/moderation/useReportOptions.ts:52
+msgid "Frequently Posts Unwanted Content"
+msgstr "Publica contingut no dessitjat freqüentment"
+
+#: src/screens/Hashtag.tsx:109
+#: src/screens/Hashtag.tsx:149
+msgid "From @{sanitizedAuthor}"
+msgstr "De @{sanitizedAuthor}"
+
+#: src/view/com/posts/FeedItem.tsx:181
msgctxt "from-feed"
msgid "From <0/>"
msgstr "De <0/>"
@@ -1735,113 +2081,144 @@ msgstr "Galeria"
msgid "Get Started"
msgstr "Comença"
-#: src/view/com/auth/LoggedOut.tsx:81
+#: src/lib/moderation/useReportOptions.ts:37
+msgid "Glaring violations of law or terms of service"
+msgstr "Infraccions flagrants de la llei o les condicions del servei"
+
+#: src/components/moderation/ScreenHider.tsx:151
+#: src/components/moderation/ScreenHider.tsx:160
#: src/view/com/auth/LoggedOut.tsx:82
-#: src/view/com/util/moderation/ScreenHider.tsx:123
-#: src/view/shell/desktop/LeftNav.tsx:104
+#: src/view/com/auth/LoggedOut.tsx:83
+#: src/view/screens/NotFound.tsx:55
+#: src/view/screens/ProfileFeed.tsx:112
+#: src/view/screens/ProfileList.tsx:918
+#: src/view/shell/desktop/LeftNav.tsx:108
msgid "Go back"
msgstr "Ves enrere"
-#: src/view/screens/ProfileFeed.tsx:106
-#: src/view/screens/ProfileFeed.tsx:111
-#: src/view/screens/ProfileList.tsx:902
-#: src/view/screens/ProfileList.tsx:907
+#: src/components/Error.tsx:91
+#: src/screens/Profile/ErrorState.tsx:62
+#: src/screens/Profile/ErrorState.tsx:66
+#: src/view/screens/NotFound.tsx:54
+#: src/view/screens/ProfileFeed.tsx:117
+#: src/view/screens/ProfileList.tsx:923
msgid "Go Back"
msgstr "Ves enrere"
-#: src/screens/Onboarding/Layout.tsx:104
-#: src/screens/Onboarding/Layout.tsx:193
+#: src/components/ReportDialog/SelectReportOptionView.tsx:73
+#: src/components/ReportDialog/SubmitView.tsx:102
+#: src/screens/Onboarding/Layout.tsx:102
+#: src/screens/Onboarding/Layout.tsx:191
+#: src/screens/Signup/index.tsx:174
msgid "Go back to previous step"
msgstr "Ves al pas anterior"
-#: src/view/screens/Search/Search.tsx:747
-#: src/view/shell/desktop/Search.tsx:262
-msgid "Go to @{queryMaybeHandle}"
-msgstr "Vés a @{queryMaybeHandle}"
+#: src/view/screens/NotFound.tsx:55
+msgid "Go home"
+msgstr "Ves a l'inici"
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:189
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:218
-#: src/view/com/auth/login/LoginForm.tsx:288
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:195
-#: src/view/com/modals/ChangePassword.tsx:165
+#: src/view/screens/NotFound.tsx:54
+msgid "Go Home"
+msgstr "Ves a l'inici"
+
+#: src/view/screens/Search/Search.tsx:896
+#: src/view/shell/desktop/Search.tsx:263
+msgid "Go to @{queryMaybeHandle}"
+msgstr "Ves a @{queryMaybeHandle}"
+
+#: src/screens/Login/ForgotPasswordForm.tsx:172
+#: src/view/com/modals/ChangePassword.tsx:167
msgid "Go to next"
msgstr "Ves al següent"
-#: src/view/com/modals/ChangeHandle.tsx:265
+#: src/lib/moderation/useGlobalLabelStrings.ts:46
+msgid "Graphic Media"
+msgstr "Mitjans gràfics"
+
+#: src/view/com/modals/ChangeHandle.tsx:266
msgid "Handle"
msgstr "Identificador"
-#: src/Navigation.tsx:270
+#: src/lib/moderation/useReportOptions.ts:32
+msgid "Harassment, trolling, or intolerance"
+msgstr "Assetjament, troleig o intolerància"
+
+#: src/Navigation.tsx:282
msgid "Hashtag"
-msgstr ""
+msgstr "Etiqueta"
#: src/components/RichText.tsx:188
#~ msgid "Hashtag: {tag}"
-#~ msgstr ""
+#~ msgstr "Etiqueta: {tag}"
-#: src/components/RichText.tsx:190
+#: src/components/RichText.tsx:197
msgid "Hashtag: #{tag}"
-msgstr ""
+msgstr "Etiqueta: #{tag}"
-#: src/view/com/auth/create/CreateAccount.tsx:208
+#: src/screens/Signup/index.tsx:221
msgid "Having trouble?"
msgstr "Tens problemes?"
#: src/view/shell/desktop/RightNav.tsx:90
-#: src/view/shell/Drawer.tsx:321
+#: src/view/shell/Drawer.tsx:330
msgid "Help"
msgstr "Ajuda"
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:132
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:140
msgid "Here are some accounts for you to follow"
msgstr "Aquí tens uns quants comptes que pots seguir"
-#: src/screens/Onboarding/StepTopicalFeeds.tsx:85
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:89
msgid "Here are some popular topical feeds. You can choose to follow as many as you like."
msgstr "Aquí tens alguns canals d'actualitat populars. Pots seguir-ne tants com vulguis."
-#: src/screens/Onboarding/StepTopicalFeeds.tsx:80
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:84
msgid "Here are some topical feeds based on your interests: {interestsText}. You can choose to follow as many as you like."
-msgstr "Aquí tens uns quants canals d'actualitat basats en els teus interesos: {interestsText}. Pots seguir-ne tants com vulguis."
+msgstr "Aquí tens uns quants canals d'actualitat basats en els teus interessos: {interestsText}. Pots seguir-ne tants com vulguis."
-#: src/view/com/modals/AddAppPasswords.tsx:153
+#: src/view/com/modals/AddAppPasswords.tsx:154
msgid "Here is your app password."
msgstr "Aquí tens la teva contrasenya d'aplicació."
-#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:41
-#: src/view/com/modals/ContentFilteringSettings.tsx:251
-#: src/view/com/util/moderation/ContentHider.tsx:105
-#: src/view/com/util/moderation/PostHider.tsx:108
+#: src/components/moderation/ContentHider.tsx:115
+#: src/components/moderation/LabelPreference.tsx:134
+#: src/components/moderation/PostHider.tsx:107
+#: src/lib/moderation/useLabelBehaviorDescription.ts:15
+#: src/lib/moderation/useLabelBehaviorDescription.ts:20
+#: src/lib/moderation/useLabelBehaviorDescription.ts:25
+#: src/lib/moderation/useLabelBehaviorDescription.ts:30
+#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:52
+#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:76
+#: src/view/com/util/forms/PostDropdownBtn.tsx:350
msgid "Hide"
msgstr "Amaga"
-#: src/view/com/modals/ContentFilteringSettings.tsx:224
-#: src/view/com/notifications/FeedItem.tsx:326
+#: src/view/com/notifications/FeedItem.tsx:331
msgctxt "action"
msgid "Hide"
msgstr "Amaga"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:276
-#: src/view/com/util/forms/PostDropdownBtn.tsx:287
+#: src/view/com/util/forms/PostDropdownBtn.tsx:294
+#: src/view/com/util/forms/PostDropdownBtn.tsx:296
msgid "Hide post"
msgstr "Amaga l'entrada"
-#: src/view/com/util/moderation/ContentHider.tsx:67
-#: src/view/com/util/moderation/PostHider.tsx:61
+#: src/components/moderation/ContentHider.tsx:67
+#: src/components/moderation/PostHider.tsx:64
msgid "Hide the content"
msgstr "Amaga el contingut"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:280
+#: src/view/com/util/forms/PostDropdownBtn.tsx:347
msgid "Hide this post?"
msgstr "Vols amagar aquesta entrada?"
-#: src/view/com/notifications/FeedItem.tsx:316
+#: src/view/com/notifications/FeedItem.tsx:321
msgid "Hide user list"
msgstr "Amaga la llista d'usuaris"
#: src/view/com/profile/ProfileHeader.tsx:487
-msgid "Hides posts from {0} in your feed"
-msgstr "Amaga les publicacions de {0} al teu canal"
+#~ msgid "Hides posts from {0} in your feed"
+#~ msgstr "Amaga les publicacions de {0} al teu canal"
#: src/view/com/posts/FeedErrorMessage.tsx:111
msgid "Hmm, some kind of issue occurred when contacting the feed server. Please let the feed owner know about this issue."
@@ -1861,13 +2238,21 @@ msgstr "El servidor del canal ha donat una resposta incorrecta. Avisa al propiet
#: src/view/com/posts/FeedErrorMessage.tsx:96
msgid "Hmm, we're having trouble finding this feed. It may have been deleted."
-msgstr "Tenim problemes per trobar aquest canal. Potser ha estat eliminat."
+msgstr "Tenim problemes per a trobar aquest canal. Potser ha estat eliminat."
-#: src/Navigation.tsx:442
-#: src/view/shell/bottom-bar/BottomBar.tsx:137
-#: src/view/shell/desktop/LeftNav.tsx:306
-#: src/view/shell/Drawer.tsx:398
-#: src/view/shell/Drawer.tsx:399
+#: src/screens/Moderation/index.tsx:59
+msgid "Hmmmm, it seems we're having trouble loading this data. See below for more details. If this issue persists, please contact us."
+msgstr "Tenim problemes per a carregar aquestes dades. Mira a continuació per a veure més detalls. Contacta'ns si aquest problema continua."
+
+#: src/screens/Profile/ErrorState.tsx:31
+msgid "Hmmmm, we couldn't load that moderation service."
+msgstr "No podem carregar el servei de moderació."
+
+#: src/Navigation.tsx:446
+#: src/view/shell/bottom-bar/BottomBar.tsx:148
+#: src/view/shell/desktop/LeftNav.tsx:310
+#: src/view/shell/Drawer.tsx:407
+#: src/view/shell/Drawer.tsx:408
msgid "Home"
msgstr "Inici"
@@ -1878,8 +2263,14 @@ msgstr "Inici"
#~ msgid "Home Feed Preferences"
#~ msgstr "Preferències dels canals a l'inici"
-#: src/view/com/auth/create/Step1.tsx:75
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:120
+#: src/view/com/modals/ChangeHandle.tsx:420
+msgid "Host:"
+msgstr "Allotjament:"
+
+#: src/screens/Login/ForgotPasswordForm.tsx:89
+#: src/screens/Login/LoginForm.tsx:134
+#: src/screens/Signup/StepInfo/index.tsx:40
+#: src/view/com/modals/ChangeHandle.tsx:281
msgid "Hosting provider"
msgstr "Proveïdor d'allotjament"
@@ -1900,11 +2291,11 @@ msgstr "Tinc un codi"
msgid "I have a confirmation code"
msgstr "Tinc un codi de confirmació"
-#: src/view/com/modals/ChangeHandle.tsx:283
+#: src/view/com/modals/ChangeHandle.tsx:284
msgid "I have my own domain"
msgstr "Tinc el meu propi domini"
-#: src/view/com/lightbox/Lightbox.web.tsx:165
+#: src/view/com/lightbox/Lightbox.web.tsx:185
msgid "If alt text is long, toggles alt text expanded state"
msgstr "Si el text alternatiu és llarg, canvia l'estat expandit del text alternatiu"
@@ -1912,62 +2303,82 @@ msgstr "Si el text alternatiu és llarg, canvia l'estat expandit del text altern
msgid "If none are selected, suitable for all ages."
msgstr "Si no en selecciones cap, és apropiat per a totes les edats."
-#: src/view/com/modals/ChangePassword.tsx:146
+#: src/screens/Signup/StepInfo/Policies.tsx:83
+msgid "If you are not yet an adult according to the laws of your country, your parent or legal guardian must read these Terms on your behalf."
+msgstr "Si encara no ets un adult segons les lleis del teu país, el teu tutor legal haurà de llegir aquests Termes en el teu lloc."
+
+#: src/view/screens/ProfileList.tsx:612
+msgid "If you delete this list, you won't be able to recover it."
+msgstr "Si esborres aquesta llista no la podràs recuperar."
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:338
+msgid "If you remove this post, you won't be able to recover it."
+msgstr "Si esborres aquesta publicació no la podràs recuperar."
+
+#: src/view/com/modals/ChangePassword.tsx:148
msgid "If you want to change your password, we will send you a code to verify that this is your account."
-msgstr "Si vols canviar la contrasenya t'enviarem un codi per verificar que aquest compte és teu."
+msgstr "Si vols canviar la contrasenya t'enviarem un codi per a verificar que aquest compte és teu."
+
+#: src/lib/moderation/useReportOptions.ts:36
+msgid "Illegal and Urgent"
+msgstr "Il·legal i urgent"
#: src/view/com/util/images/Gallery.tsx:38
msgid "Image"
msgstr "Imatge"
-#: src/view/com/modals/AltImage.tsx:120
+#: src/view/com/modals/AltImage.tsx:121
msgid "Image alt text"
msgstr "Text alternatiu de la imatge"
#: src/view/com/util/UserAvatar.tsx:311
#: src/view/com/util/UserBanner.tsx:118
-msgid "Image options"
-msgstr "Opcions de la imatge"
+#~ msgid "Image options"
+#~ msgstr "Opcions de la imatge"
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:138
+#: src/lib/moderation/useReportOptions.ts:47
+msgid "Impersonation or false claims about identity or affiliation"
+msgstr "Suplantació d'identitat o afirmacions falses sobre identitat o afiliació"
+
+#: src/screens/Login/SetNewPasswordForm.tsx:127
msgid "Input code sent to your email for password reset"
-msgstr "Introdueix el codi que s'ha enviat al teu correu per restablir la contrasenya"
+msgstr "Introdueix el codi que s'ha enviat al teu correu per a restablir la contrasenya"
-#: src/view/com/modals/DeleteAccount.tsx:184
+#: src/view/com/modals/DeleteAccount.tsx:183
msgid "Input confirmation code for account deletion"
-msgstr "Introdueix el codi de confirmació per eliminar el compte"
+msgstr "Introdueix el codi de confirmació per a eliminar el compte"
#: src/view/com/auth/create/Step1.tsx:177
-msgid "Input email for Bluesky account"
-msgstr "Introdueix el correu del compte de Bluesky"
+#~ msgid "Input email for Bluesky account"
+#~ msgstr "Introdueix el correu del compte de Bluesky"
#: src/view/com/auth/create/Step1.tsx:151
-msgid "Input invite code to proceed"
-msgstr "Introdueix el codi d'invitació per continuar"
+#~ msgid "Input invite code to proceed"
+#~ msgstr "Introdueix el codi d'invitació per a continuar"
-#: src/view/com/modals/AddAppPasswords.tsx:180
+#: src/view/com/modals/AddAppPasswords.tsx:181
msgid "Input name for app password"
msgstr "Introdueix un nom per la contrasenya d'aplicació"
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:162
+#: src/screens/Login/SetNewPasswordForm.tsx:151
msgid "Input new password"
msgstr "Introdueix una nova contrasenya"
-#: src/view/com/modals/DeleteAccount.tsx:203
+#: src/view/com/modals/DeleteAccount.tsx:202
msgid "Input password for account deletion"
-msgstr "Introdueix la contrasenya per elimiar el compte"
+msgstr "Introdueix la contrasenya per a eliminar el compte"
#: src/view/com/auth/create/Step2.tsx:196
#~ msgid "Input phone number for SMS verification"
#~ msgstr "Introdueix el telèfon per la verificació per SMS"
-#: src/view/com/auth/login/LoginForm.tsx:230
+#: src/screens/Login/LoginForm.tsx:195
msgid "Input the password tied to {identifier}"
msgstr "Introdueix la contrasenya lligada a {identifier}"
-#: src/view/com/auth/login/LoginForm.tsx:197
+#: src/screens/Login/LoginForm.tsx:168
msgid "Input the username or email address you used at signup"
-msgstr "Introdueix el nom d'usuari o correu que vas utilitzar per registrar-te"
+msgstr "Introdueix el nom d'usuari o correu que vas utilitzar per a registrar-te"
#: src/view/com/auth/create/Step2.tsx:271
#~ msgid "Input the verification code we have texted to you"
@@ -1975,21 +2386,25 @@ msgstr "Introdueix el nom d'usuari o correu que vas utilitzar per registrar-te"
#: src/view/com/modals/Waitlist.tsx:90
#~ msgid "Input your email to get on the Bluesky waitlist"
-#~ msgstr "Introdueix el teu correu per afegir-te a la llista d'espera de Bluesky"
+#~ msgstr "Introdueix el teu correu per a afegir-te a la llista d'espera de Bluesky"
-#: src/view/com/auth/login/LoginForm.tsx:229
+#: src/screens/Login/LoginForm.tsx:194
msgid "Input your password"
msgstr "Introdueix la teva contrasenya"
-#: src/view/com/auth/create/Step2.tsx:80
+#: src/view/com/modals/ChangeHandle.tsx:389
+msgid "Input your preferred hosting provider"
+msgstr "Introdeix el teu proveïdor d'allotjament preferit"
+
+#: src/screens/Signup/StepHandle.tsx:63
msgid "Input your user handle"
msgstr "Introdueix el teu identificador d'usuari"
-#: src/view/com/post-thread/PostThreadItem.tsx:226
+#: src/view/com/post-thread/PostThreadItem.tsx:221
msgid "Invalid or unsupported post record"
msgstr "Registre de publicació no vàlid o no admès"
-#: src/view/com/auth/login/LoginForm.tsx:113
+#: src/screens/Login/LoginForm.tsx:114
msgid "Invalid username or password"
msgstr "Nom d'usuari o contrasenya incorrectes"
@@ -1997,20 +2412,19 @@ msgstr "Nom d'usuari o contrasenya incorrectes"
#~ msgid "Invite"
#~ msgstr "Convida"
-#: src/view/com/modals/InviteCodes.tsx:93
+#: src/view/com/modals/InviteCodes.tsx:94
msgid "Invite a Friend"
msgstr "Convida un amic"
-#: src/view/com/auth/create/Step1.tsx:141
-#: src/view/com/auth/create/Step1.tsx:150
+#: src/screens/Signup/StepInfo/index.tsx:58
msgid "Invite code"
msgstr "Codi d'invitació"
-#: src/view/com/auth/create/state.ts:158
+#: src/screens/Signup/state.ts:278
msgid "Invite code not accepted. Check that you input it correctly and try again."
msgstr "Codi d'invitació rebutjat. Comprova que l'has entrat correctament i torna-ho a provar."
-#: src/view/com/modals/InviteCodes.tsx:170
+#: src/view/com/modals/InviteCodes.tsx:171
msgid "Invite codes: {0} available"
msgstr "Codis d'invitació: {0} disponible"
@@ -2018,16 +2432,15 @@ msgstr "Codis d'invitació: {0} disponible"
#~ msgid "Invite codes: {invitesAvailable} available"
#~ msgstr "Codis d'invitació: {invitesAvailable} disponibles"
-#: src/view/com/modals/InviteCodes.tsx:169
+#: src/view/com/modals/InviteCodes.tsx:170
msgid "Invite codes: 1 available"
msgstr "Codis d'invitació: 1 disponible"
-#: src/screens/Onboarding/StepFollowingFeed.tsx:64
+#: src/screens/Onboarding/StepFollowingFeed.tsx:65
msgid "It shows posts from the people you follow as they happen."
msgstr "Mostra les publicacions de les persones que segueixes cronològicament."
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:99
-#: src/view/com/auth/SplashScreen.web.tsx:138
+#: src/view/com/auth/SplashScreen.web.tsx:152
msgid "Jobs"
msgstr "Feines"
@@ -2048,54 +2461,94 @@ msgstr "Feines"
msgid "Journalism"
msgstr "Periodisme"
+#: src/components/moderation/LabelsOnMe.tsx:59
+msgid "label has been placed on this {labelTarget}"
+msgstr "S'ha posat l'etiqueta a aquest {labelTarget}"
+
+#: src/components/moderation/ContentHider.tsx:144
+msgid "Labeled by {0}."
+msgstr "Etiquetat per {0}."
+
+#: src/components/moderation/ContentHider.tsx:142
+msgid "Labeled by the author."
+msgstr "Etiquetat per l'autor."
+
+#: src/view/screens/Profile.tsx:193
+msgid "Labels"
+msgstr "Etiquetes"
+
+#: src/screens/Profile/Sections/Labels.tsx:153
+msgid "Labels are annotations on users and content. They can be used to hide, warn, and categorize the network."
+msgstr "Les etiquetes son anotacions sobre els usuaris i el contingut. Poden ser utilitzades per a ocultar, advertir i categoritxar la xarxa."
+
+#: src/components/moderation/LabelsOnMe.tsx:61
+msgid "labels have been placed on this {labelTarget}"
+msgstr "S'han posat etiquetes a aquest {labelTarget}"
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:62
+msgid "Labels on your account"
+msgstr "Etiquetes al teu compte"
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:64
+msgid "Labels on your content"
+msgstr "Etiquetes al teu contingut"
+
#: src/view/com/composer/select-language/SelectLangBtn.tsx:104
msgid "Language selection"
msgstr "Tria l'idioma"
-#: src/view/screens/Settings/index.tsx:594
+#: src/view/screens/Settings/index.tsx:565
msgid "Language settings"
msgstr "Configuració d'idioma"
-#: src/Navigation.tsx:142
+#: src/Navigation.tsx:144
#: src/view/screens/LanguageSettings.tsx:89
msgid "Language Settings"
msgstr "Configuració d'idioma"
-#: src/view/screens/Settings/index.tsx:603
+#: src/view/screens/Settings/index.tsx:574
msgid "Languages"
msgstr "Idiomes"
#: src/view/com/auth/create/StepHeader.tsx:20
-msgid "Last step!"
-msgstr "Últim pas"
+#~ msgid "Last step!"
+#~ msgstr "Últim pas"
+
+#: src/view/screens/Search/Search.tsx:437
+msgid "Latest"
+msgstr ""
#: src/view/com/util/moderation/ContentHider.tsx:103
-msgid "Learn more"
-msgstr "Més informació"
+#~ msgid "Learn more"
+#~ msgstr "Més informació"
-#: src/view/com/util/moderation/PostAlerts.tsx:47
-#: src/view/com/util/moderation/ProfileHeaderAlerts.tsx:65
-#: src/view/com/util/moderation/ScreenHider.tsx:104
+#: src/components/moderation/ScreenHider.tsx:136
msgid "Learn More"
msgstr "Més informació"
-#: src/view/com/util/moderation/ContentHider.tsx:85
-#: src/view/com/util/moderation/PostAlerts.tsx:40
-#: src/view/com/util/moderation/PostHider.tsx:78
-#: src/view/com/util/moderation/ProfileHeaderAlerts.tsx:49
-#: src/view/com/util/moderation/ScreenHider.tsx:101
+#: src/components/moderation/ContentHider.tsx:65
+#: src/components/moderation/ContentHider.tsx:128
+msgid "Learn more about the moderation applied to this content."
+msgstr "Més informació sobre la moderació que s'ha aplicat a aquest contingut."
+
+#: src/components/moderation/PostHider.tsx:85
+#: src/components/moderation/ScreenHider.tsx:125
msgid "Learn more about this warning"
msgstr "Més informació d'aquesta advertència"
-#: src/view/screens/Moderation.tsx:262
+#: src/screens/Moderation/index.tsx:549
msgid "Learn more about what is public on Bluesky."
msgstr "Més informació sobre què és públic a Bluesky."
+#: src/components/moderation/ContentHider.tsx:152
+msgid "Learn more."
+msgstr "Més informació."
+
#: src/view/com/modals/lang-settings/ContentLanguagesSettings.tsx:82
msgid "Leave them all unchecked to see any language."
-msgstr "Deixa'ls tots sense marcar per veure tots els idiomes."
+msgstr "Deixa'ls tots sense marcar per a veure tots els idiomes."
-#: src/view/com/modals/LinkWarning.tsx:51
+#: src/view/com/modals/LinkWarning.tsx:65
msgid "Leaving Bluesky"
msgstr "Sortint de Bluesky"
@@ -2103,54 +2556,64 @@ msgstr "Sortint de Bluesky"
msgid "left to go."
msgstr "queda."
-#: src/view/screens/Settings/index.tsx:278
+#: src/view/screens/Settings/index.tsx:299
msgid "Legacy storage cleared, you need to restart the app now."
msgstr "L'emmagatzematge heretat s'ha esborrat, cal que reinicieu l'aplicació ara."
-#: src/view/com/auth/login/Login.tsx:128
-#: src/view/com/auth/login/Login.tsx:144
+#: src/screens/Login/index.tsx:130
+#: src/screens/Login/index.tsx:145
msgid "Let's get your password reset!"
msgstr "Restablirem la teva contrasenya!"
-#: src/screens/Onboarding/StepFinished.tsx:151
+#: src/screens/Onboarding/StepFinished.tsx:155
msgid "Let's go!"
msgstr "Som-hi!"
#: src/view/com/util/UserAvatar.tsx:248
#: src/view/com/util/UserBanner.tsx:62
-msgid "Library"
-msgstr "Biblioteca"
+#~ msgid "Library"
+#~ msgstr "Biblioteca"
-#: src/view/screens/Settings/index.tsx:479
+#: src/view/screens/Settings/index.tsx:449
msgid "Light"
msgstr "Clar"
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:182
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:197
msgid "Like"
msgstr "M'agrada"
-#: src/view/screens/ProfileFeed.tsx:591
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:264
+#: src/view/screens/ProfileFeed.tsx:585
msgid "Like this feed"
msgstr "Fes m'agrada a aquest canal"
-#: src/Navigation.tsx:199
+#: src/components/LikesDialog.tsx:87
+#: src/Navigation.tsx:201
+#: src/Navigation.tsx:206
msgid "Liked by"
msgstr "Li ha agradat a"
+#: src/screens/Profile/ProfileLabelerLikedBy.tsx:29
#: src/view/screens/PostLikedBy.tsx:27
#: src/view/screens/ProfileFeedLikedBy.tsx:27
msgid "Liked By"
msgstr "Li ha agradat a"
-#: src/view/com/feeds/FeedSourceCard.tsx:279
+#: src/view/com/feeds/FeedSourceCard.tsx:268
msgid "Liked by {0} {1}"
msgstr "Li ha agradat a {0} {1}"
-#: src/view/screens/ProfileFeed.tsx:606
+#: src/components/LabelingServiceCard/index.tsx:72
+msgid "Liked by {count} {0}"
+msgstr "Li ha agradat a {count} {0}"
+
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:284
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:298
+#: src/view/screens/ProfileFeed.tsx:600
msgid "Liked by {likeCount} {0}"
msgstr "Li ha agradat a {likeCount} {0}"
-#: src/view/com/notifications/FeedItem.tsx:170
+#: src/view/com/notifications/FeedItem.tsx:176
msgid "liked your custom feed"
msgstr "els hi ha agradat el teu canal personalitzat"
@@ -2158,79 +2621,80 @@ msgstr "els hi ha agradat el teu canal personalitzat"
#~ msgid "liked your custom feed{0}"
#~ msgstr "i ha agradat el teu canal personalitzat{0}"
-#: src/view/com/notifications/FeedItem.tsx:155
+#: src/view/com/notifications/FeedItem.tsx:161
msgid "liked your post"
msgstr "li ha agradat la teva publicació"
-#: src/view/screens/Profile.tsx:183
+#: src/view/screens/Profile.tsx:198
msgid "Likes"
msgstr "M'agrades"
-#: src/view/com/post-thread/PostThreadItem.tsx:183
+#: src/view/com/post-thread/PostThreadItem.tsx:182
msgid "Likes on this post"
msgstr "M'agrades a aquesta publicació"
-#: src/Navigation.tsx:168
+#: src/Navigation.tsx:170
msgid "List"
msgstr "Llista"
-#: src/view/com/modals/CreateOrEditList.tsx:261
+#: src/view/com/modals/CreateOrEditList.tsx:262
msgid "List Avatar"
msgstr "Avatar de la llista"
-#: src/view/screens/ProfileList.tsx:324
+#: src/view/screens/ProfileList.tsx:313
msgid "List blocked"
msgstr "Llista bloquejada"
-#: src/view/com/feeds/FeedSourceCard.tsx:233
+#: src/view/com/feeds/FeedSourceCard.tsx:220
msgid "List by {0}"
msgstr "Llista per {0}"
-#: src/view/screens/ProfileList.tsx:378
+#: src/view/screens/ProfileList.tsx:357
msgid "List deleted"
msgstr "Llista eliminada"
-#: src/view/screens/ProfileList.tsx:283
+#: src/view/screens/ProfileList.tsx:285
msgid "List muted"
msgstr "Llista silenciada"
-#: src/view/com/modals/CreateOrEditList.tsx:275
+#: src/view/com/modals/CreateOrEditList.tsx:276
msgid "List Name"
msgstr "Nom de la llista"
-#: src/view/screens/ProfileList.tsx:343
+#: src/view/screens/ProfileList.tsx:327
msgid "List unblocked"
msgstr "Llista desbloquejada"
-#: src/view/screens/ProfileList.tsx:302
+#: src/view/screens/ProfileList.tsx:299
msgid "List unmuted"
msgstr "Llista no silenciada"
-#: src/Navigation.tsx:112
-#: src/view/screens/Profile.tsx:185
-#: src/view/shell/desktop/LeftNav.tsx:379
-#: src/view/shell/Drawer.tsx:492
-#: src/view/shell/Drawer.tsx:493
+#: src/Navigation.tsx:114
+#: src/view/screens/Profile.tsx:194
+#: src/view/screens/Profile.tsx:200
+#: src/view/shell/desktop/LeftNav.tsx:383
+#: src/view/shell/Drawer.tsx:501
+#: src/view/shell/Drawer.tsx:502
msgid "Lists"
msgstr "Llistes"
#: src/view/com/post-thread/PostThread.tsx:333
#: src/view/com/post-thread/PostThread.tsx:341
-msgid "Load more posts"
-msgstr "Carrega més publicacions"
+#~ msgid "Load more posts"
+#~ msgstr "Carrega més publicacions"
#: src/view/screens/Notifications.tsx:159
msgid "Load new notifications"
msgstr "Carrega noves notificacions"
-#: src/view/com/feeds/FeedPage.tsx:115
-#: src/view/screens/Profile.tsx:440
-#: src/view/screens/ProfileFeed.tsx:495
-#: src/view/screens/ProfileList.tsx:681
+#: src/screens/Profile/Sections/Feed.tsx:86
+#: src/view/com/feeds/FeedPage.tsx:138
+#: src/view/screens/ProfileFeed.tsx:507
+#: src/view/screens/ProfileList.tsx:697
msgid "Load new posts"
msgstr "Carrega noves publicacions"
-#: src/view/com/composer/text-input/mobile/Autocomplete.tsx:95
+#: src/view/com/composer/text-input/mobile/Autocomplete.tsx:99
msgid "Loading..."
msgstr "Carregant…"
@@ -2238,7 +2702,7 @@ msgstr "Carregant…"
#~ msgid "Local dev server"
#~ msgstr "Servidor de desenvolupament local"
-#: src/Navigation.tsx:209
+#: src/Navigation.tsx:221
msgid "Log"
msgstr "Registre"
@@ -2249,34 +2713,38 @@ msgstr "Registre"
msgid "Log out"
msgstr "Desconnecta"
-#: src/view/screens/Moderation.tsx:155
+#: src/screens/Moderation/index.tsx:442
msgid "Logged-out visibility"
msgstr "Visibilitat pels usuaris no connectats"
-#: src/view/com/auth/login/ChooseAccountForm.tsx:133
+#: src/components/AccountList.tsx:54
msgid "Login to account that is not listed"
msgstr "Accedeix a un compte que no està llistat"
#~ msgid "Looks like this feed is only available to users with a Bluesky account. Please sign up or sign in to view this feed!"
#~ msgstr "Parece que este canal de noticias sólo está disponible para usuarios con una cuenta Bluesky. Por favor, ¡regístrate o inicia sesión para ver este canal!"
-#: src/view/com/modals/LinkWarning.tsx:65
+#: src/screens/Login/SetNewPasswordForm.tsx:116
+msgid "Looks like XXXXX-XXXXX"
+msgstr "Té l'aspecte XXXXX-XXXXX"
+
+#: src/view/com/modals/LinkWarning.tsx:79
msgid "Make sure this is where you intend to go!"
msgstr "Assegura't que és aquí on vols anar!"
-#: src/components/dialogs/MutedWords.tsx:83
+#: src/components/dialogs/MutedWords.tsx:82
msgid "Manage your muted words and tags"
-msgstr ""
+msgstr "Gestiona les teves etiquetes i paraules silenciades"
#: src/view/com/auth/create/Step2.tsx:118
-msgid "May not be longer than 253 characters"
-msgstr ""
+#~ msgid "May not be longer than 253 characters"
+#~ msgstr "No pot ser més llarg de 253 caràcters"
#: src/view/com/auth/create/Step2.tsx:109
-msgid "May only contain letters and numbers"
-msgstr ""
+#~ msgid "May only contain letters and numbers"
+#~ msgstr "Només pot tenir lletres i números"
-#: src/view/screens/Profile.tsx:182
+#: src/view/screens/Profile.tsx:197
msgid "Media"
msgstr "Contingut"
@@ -2289,7 +2757,7 @@ msgid "Mentioned users"
msgstr "Usuaris mencionats"
#: src/view/com/util/ViewHeader.tsx:87
-#: src/view/screens/Search/Search.tsx:646
+#: src/view/screens/Search/Search.tsx:795
msgid "Menu"
msgstr "Menú"
@@ -2297,66 +2765,85 @@ msgstr "Menú"
#~ msgid "Message from server"
#~ msgstr "Missatge del servidor"
-#: src/view/com/posts/FeedErrorMessage.tsx:197
+#: src/view/com/posts/FeedErrorMessage.tsx:192
msgid "Message from server: {0}"
msgstr "Missatge del servidor: {0}"
-#: src/Navigation.tsx:117
-#: src/view/screens/Moderation.tsx:66
-#: src/view/screens/Settings/index.tsx:625
-#: src/view/shell/desktop/LeftNav.tsx:397
-#: src/view/shell/Drawer.tsx:511
-#: src/view/shell/Drawer.tsx:512
+#: src/lib/moderation/useReportOptions.ts:45
+msgid "Misleading Account"
+msgstr "Compte enganyòs"
+
+#: src/Navigation.tsx:119
+#: src/screens/Moderation/index.tsx:104
+#: src/view/screens/Settings/index.tsx:596
+#: src/view/shell/desktop/LeftNav.tsx:401
+#: src/view/shell/Drawer.tsx:520
+#: src/view/shell/Drawer.tsx:521
msgid "Moderation"
msgstr "Moderació"
+#: src/components/moderation/ModerationDetailsDialog.tsx:112
+msgid "Moderation details"
+msgstr "Detalls de la moderació"
+
#: src/view/com/lists/ListCard.tsx:93
#: src/view/com/modals/UserAddRemoveLists.tsx:206
msgid "Moderation list by {0}"
msgstr "Llista de moderació per {0}"
-#: src/view/screens/ProfileList.tsx:775
+#: src/view/screens/ProfileList.tsx:791
msgid "Moderation list by <0/>"
msgstr "Llista de moderació per <0/>"
#: src/view/com/lists/ListCard.tsx:91
#: src/view/com/modals/UserAddRemoveLists.tsx:204
-#: src/view/screens/ProfileList.tsx:773
+#: src/view/screens/ProfileList.tsx:789
msgid "Moderation list by you"
msgstr "Llista de moderació teva"
-#: src/view/com/modals/CreateOrEditList.tsx:197
+#: src/view/com/modals/CreateOrEditList.tsx:198
msgid "Moderation list created"
msgstr "S'ha creat la llista de moderació"
-#: src/view/com/modals/CreateOrEditList.tsx:183
+#: src/view/com/modals/CreateOrEditList.tsx:184
msgid "Moderation list updated"
msgstr "S'ha actualitzat la llista de moderació"
-#: src/view/screens/Moderation.tsx:114
+#: src/screens/Moderation/index.tsx:243
msgid "Moderation lists"
msgstr "Llistes de moderació"
-#: src/Navigation.tsx:122
+#: src/Navigation.tsx:124
#: src/view/screens/ModerationModlists.tsx:58
msgid "Moderation Lists"
msgstr "Llistes de moderació"
-#: src/view/screens/Settings/index.tsx:619
+#: src/view/screens/Settings/index.tsx:590
msgid "Moderation settings"
msgstr "Configuració de moderació"
-#: src/view/com/modals/ModerationDetails.tsx:35
+#: src/Navigation.tsx:216
+msgid "Moderation states"
+msgstr "Estats de moderació"
+
+#: src/screens/Moderation/index.tsx:215
+msgid "Moderation tools"
+msgstr "Eines de moderació"
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:48
+#: src/lib/moderation/useModerationCauseDescription.ts:40
msgid "Moderator has chosen to set a general warning on the content."
-msgstr "El moderador ha decidit establir un advertiment general sobre el contingut"
+msgstr "El moderador ha decidit establir un advertiment general sobre el contingut."
+
+#: src/view/com/post-thread/PostThreadItem.tsx:535
+msgid "More"
+msgstr "Més"
#: src/view/shell/desktop/Feeds.tsx:65
msgid "More feeds"
msgstr "Més canals"
-#: src/view/com/profile/ProfileHeader.tsx:523
-#: src/view/screens/ProfileFeed.tsx:363
-#: src/view/screens/ProfileList.tsx:617
+#: src/view/screens/ProfileList.tsx:601
msgid "More options"
msgstr "Més opcions"
@@ -2369,101 +2856,108 @@ msgid "Most-liked replies first"
msgstr "Respostes amb més m'agrada primer"
#: src/view/com/auth/create/Step2.tsx:122
-msgid "Must be at least 3 characters"
-msgstr ""
+#~ msgid "Must be at least 3 characters"
+#~ msgstr "Ha de tenir almenys 3 caràcters"
#: src/components/TagMenu/index.tsx:249
msgid "Mute"
-msgstr ""
+msgstr "Silencia"
#: src/components/TagMenu/index.web.tsx:105
msgid "Mute {truncatedTag}"
-msgstr ""
+msgstr "Silencia {truncatedTag}"
-#: src/view/com/profile/ProfileHeader.tsx:327
+#: src/view/com/profile/ProfileMenu.tsx:279
+#: src/view/com/profile/ProfileMenu.tsx:286
msgid "Mute Account"
msgstr "Silenciar el compte"
-#: src/view/screens/ProfileList.tsx:544
+#: src/view/screens/ProfileList.tsx:520
msgid "Mute accounts"
msgstr "Silencia els comptes"
#: src/components/TagMenu/index.tsx:209
msgid "Mute all {displayTag} posts"
-msgstr ""
+msgstr "Silencia totes les publicacions {displayTag}"
#: src/components/TagMenu/index.tsx:211
#~ msgid "Mute all {tag} posts"
-#~ msgstr ""
+#~ msgstr "Silencia totes les publicacions {tag}"
-#: src/components/dialogs/MutedWords.tsx:149
+#: src/components/dialogs/MutedWords.tsx:148
msgid "Mute in tags only"
-msgstr ""
+msgstr "Silencia només a les etiquetes"
-#: src/components/dialogs/MutedWords.tsx:134
+#: src/components/dialogs/MutedWords.tsx:133
msgid "Mute in text & tags"
-msgstr ""
+msgstr "Silencia a les etiquetes i al text"
-#: src/view/screens/ProfileList.tsx:491
+#: src/view/screens/ProfileList.tsx:463
+#: src/view/screens/ProfileList.tsx:626
msgid "Mute list"
msgstr "Silencia la llista"
-#: src/view/screens/ProfileList.tsx:275
+#: src/view/screens/ProfileList.tsx:621
msgid "Mute these accounts?"
msgstr "Vols silenciar aquests comptes?"
#: src/view/screens/ProfileList.tsx:279
-msgid "Mute this List"
-msgstr "Silencia aquesta llista"
+#~ msgid "Mute this List"
+#~ msgstr "Silencia aquesta llista"
-#: src/components/dialogs/MutedWords.tsx:127
+#: src/components/dialogs/MutedWords.tsx:126
msgid "Mute this word in post text and tags"
-msgstr ""
+msgstr "Silencia aquesta paraula en el text de les publicacions i a les etiquetes"
-#: src/components/dialogs/MutedWords.tsx:142
+#: src/components/dialogs/MutedWords.tsx:141
msgid "Mute this word in tags only"
-msgstr ""
+msgstr "Silencia aquesta paraula només a les etiquetes"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:251
-#: src/view/com/util/forms/PostDropdownBtn.tsx:257
+#: src/view/com/util/forms/PostDropdownBtn.tsx:269
+#: src/view/com/util/forms/PostDropdownBtn.tsx:275
msgid "Mute thread"
msgstr "Silencia el fil de debat"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:267
-#: src/view/com/util/forms/PostDropdownBtn.tsx:269
+#: src/view/com/util/forms/PostDropdownBtn.tsx:285
+#: src/view/com/util/forms/PostDropdownBtn.tsx:287
msgid "Mute words & tags"
-msgstr ""
+msgstr "Silencia paraules i etiquetes"
#: src/view/com/lists/ListCard.tsx:102
msgid "Muted"
msgstr "Silenciada"
-#: src/view/screens/Moderation.tsx:128
+#: src/screens/Moderation/index.tsx:255
msgid "Muted accounts"
msgstr "Comptes silenciats"
-#: src/Navigation.tsx:127
-#: src/view/screens/ModerationMutedAccounts.tsx:107
+#: src/Navigation.tsx:129
+#: src/view/screens/ModerationMutedAccounts.tsx:112
msgid "Muted Accounts"
msgstr "Comptes silenciats"
-#: src/view/screens/ModerationMutedAccounts.tsx:115
+#: src/view/screens/ModerationMutedAccounts.tsx:120
msgid "Muted accounts have their posts removed from your feed and from your notifications. Mutes are completely private."
msgstr "Les publicacions dels comptes silenciats seran eliminats del teu canal i de les teves notificacions. Silenciar comptes és completament privat."
-#: src/view/screens/Moderation.tsx:100
-msgid "Muted words & tags"
-msgstr ""
+#: src/lib/moderation/useModerationCauseDescription.ts:85
+msgid "Muted by \"{0}\""
+msgstr "Silenciat per \"{0}\""
-#: src/view/screens/ProfileList.tsx:277
+#: src/screens/Moderation/index.tsx:231
+msgid "Muted words & tags"
+msgstr "Paraules i etiquetes silenciades"
+
+#: src/view/screens/ProfileList.tsx:623
msgid "Muting is private. Muted accounts can interact with you, but you will not see their posts or receive notifications from them."
msgstr "Silenciar és privat. Els comptes silenciats poden interactuar amb tu, però tu no veuràs les seves publicacions ni rebràs notificacions seves."
-#: src/view/com/modals/BirthDateSettings.tsx:56
+#: src/components/dialogs/BirthDateSettings.tsx:35
+#: src/components/dialogs/BirthDateSettings.tsx:38
msgid "My Birthday"
msgstr "El meu aniversari"
-#: src/view/screens/Feeds.tsx:663
+#: src/view/screens/Feeds.tsx:688
msgid "My Feeds"
msgstr "Els meus canals"
@@ -2471,32 +2965,40 @@ msgstr "Els meus canals"
msgid "My Profile"
msgstr "El meu perfil"
-#: src/view/screens/Settings/index.tsx:582
+#: src/view/screens/Settings/index.tsx:547
+msgid "My saved feeds"
+msgstr "Els meus canals desats"
+
+#: src/view/screens/Settings/index.tsx:553
msgid "My Saved Feeds"
msgstr "Els meus canals desats"
#: src/view/com/auth/server-input/index.tsx:118
-msgid "my-server.com"
-msgstr "el-meu-servidor.com"
+#~ msgid "my-server.com"
+#~ msgstr "el-meu-servidor.com"
-#: src/view/com/modals/AddAppPasswords.tsx:179
-#: src/view/com/modals/CreateOrEditList.tsx:290
+#: src/view/com/modals/AddAppPasswords.tsx:180
+#: src/view/com/modals/CreateOrEditList.tsx:291
msgid "Name"
msgstr "Nom"
-#: src/view/com/modals/CreateOrEditList.tsx:145
+#: src/view/com/modals/CreateOrEditList.tsx:146
msgid "Name is required"
msgstr "Es requereix un nom"
+#: src/lib/moderation/useReportOptions.ts:57
+#: src/lib/moderation/useReportOptions.ts:78
+#: src/lib/moderation/useReportOptions.ts:86
+msgid "Name or Description Violates Community Standards"
+msgstr "El nom o la descripció infringeixen els estàndards comunitaris"
+
#: src/screens/Onboarding/index.tsx:25
msgid "Nature"
msgstr "Natura"
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:190
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:219
-#: src/view/com/auth/login/LoginForm.tsx:289
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:196
-#: src/view/com/modals/ChangePassword.tsx:166
+#: src/screens/Login/ForgotPasswordForm.tsx:173
+#: src/screens/Login/LoginForm.tsx:255
+#: src/view/com/modals/ChangePassword.tsx:168
msgid "Navigates to the next screen"
msgstr "Navega a la pantalla següent"
@@ -2504,23 +3006,31 @@ msgstr "Navega a la pantalla següent"
msgid "Navigates to your profile"
msgstr "Navega al teu perfil"
+#: src/components/ReportDialog/SelectReportOptionView.tsx:123
+msgid "Need to report a copyright violation?"
+msgstr "Necessites informar d'una infracció dels drets d'autor?"
+
#: src/view/com/modals/EmbedConsent.tsx:107
#: src/view/com/modals/EmbedConsent.tsx:123
-msgid "Never load embeds from {0}"
-msgstr "No carreguis mai les incrustacions de {0} "
+#~ msgid "Never load embeds from {0}"
+#~ msgstr "No carreguis mai les incrustacions de {0}"
#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:72
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:72
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:74
msgid "Never lose access to your followers and data."
msgstr "No perdis mai accés als teus seguidors ni a les teves dades."
-#: src/screens/Onboarding/StepFinished.tsx:119
+#: src/screens/Onboarding/StepFinished.tsx:123
msgid "Never lose access to your followers or data."
msgstr "No perdis mai accés als teus seguidors i les teves dades."
#: src/components/dialogs/MutedWords.tsx:293
-msgid "Nevermind"
-msgstr ""
+#~ msgid "Nevermind"
+#~ msgstr "Tant hi fa"
+
+#: src/view/com/modals/ChangeHandle.tsx:519
+msgid "Nevermind, create a handle for me"
+msgstr "Tant hi fa, crea'm un identificador"
#: src/view/screens/Lists.tsx:76
msgctxt "action"
@@ -2531,34 +3041,34 @@ msgstr "Nova"
msgid "New"
msgstr "Nova"
-#: src/view/com/modals/CreateOrEditList.tsx:252
+#: src/view/com/modals/CreateOrEditList.tsx:253
msgid "New Moderation List"
msgstr "Nova llista de moderació"
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:150
+#: src/view/com/modals/ChangePassword.tsx:212
msgid "New password"
msgstr "Nova contrasenya"
-#: src/view/com/modals/ChangePassword.tsx:215
+#: src/view/com/modals/ChangePassword.tsx:217
msgid "New Password"
msgstr "Nova contrasenya"
-#: src/view/com/feeds/FeedPage.tsx:126
+#: src/view/com/feeds/FeedPage.tsx:149
msgctxt "action"
msgid "New post"
msgstr "Nova publicació"
-#: src/view/screens/Feeds.tsx:555
+#: src/view/screens/Feeds.tsx:580
#: src/view/screens/Notifications.tsx:168
-#: src/view/screens/Profile.tsx:382
-#: src/view/screens/ProfileFeed.tsx:433
-#: src/view/screens/ProfileList.tsx:196
-#: src/view/screens/ProfileList.tsx:224
-#: src/view/shell/desktop/LeftNav.tsx:248
+#: src/view/screens/Profile.tsx:480
+#: src/view/screens/ProfileFeed.tsx:445
+#: src/view/screens/ProfileList.tsx:200
+#: src/view/screens/ProfileList.tsx:228
+#: src/view/shell/desktop/LeftNav.tsx:252
msgid "New post"
msgstr "Nova publicació"
-#: src/view/shell/desktop/LeftNav.tsx:258
+#: src/view/shell/desktop/LeftNav.tsx:262
msgctxt "action"
msgid "New Post"
msgstr "Nova publicació"
@@ -2567,7 +3077,7 @@ msgstr "Nova publicació"
#~ msgid "New Post"
#~ msgstr "Nova publicació"
-#: src/view/com/modals/CreateOrEditList.tsx:247
+#: src/view/com/modals/CreateOrEditList.tsx:248
msgid "New User List"
msgstr "Nova llista d'usuaris"
@@ -2579,15 +3089,16 @@ msgstr "Les respostes més noves primer"
msgid "News"
msgstr "Notícies"
-#: src/view/com/auth/create/CreateAccount.tsx:172
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:182
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:192
-#: src/view/com/auth/login/LoginForm.tsx:291
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:187
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:198
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:79
-#: src/view/com/modals/ChangePassword.tsx:251
+#: src/screens/Login/ForgotPasswordForm.tsx:143
+#: src/screens/Login/ForgotPasswordForm.tsx:150
+#: src/screens/Login/LoginForm.tsx:254
+#: src/screens/Login/LoginForm.tsx:261
+#: src/screens/Login/SetNewPasswordForm.tsx:174
+#: src/screens/Login/SetNewPasswordForm.tsx:180
+#: src/screens/Signup/index.tsx:207
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:80
#: src/view/com/modals/ChangePassword.tsx:253
+#: src/view/com/modals/ChangePassword.tsx:255
msgid "Next"
msgstr "Següent"
@@ -2596,7 +3107,7 @@ msgctxt "action"
msgid "Next"
msgstr "Següent"
-#: src/view/com/lightbox/Lightbox.web.tsx:149
+#: src/view/com/lightbox/Lightbox.web.tsx:169
msgid "Next image"
msgstr "Següent imatge"
@@ -2609,39 +3120,48 @@ msgstr "Següent imatge"
msgid "No"
msgstr "No"
-#: src/view/screens/ProfileFeed.tsx:584
-#: src/view/screens/ProfileList.tsx:755
+#: src/view/screens/ProfileFeed.tsx:574
+#: src/view/screens/ProfileList.tsx:771
msgid "No description"
msgstr "Cap descripció"
-#: src/view/com/profile/ProfileHeader.tsx:170
+#: src/view/com/modals/ChangeHandle.tsx:405
+msgid "No DNS Panel"
+msgstr "No hi ha panell de DNS"
+
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:118
msgid "No longer following {0}"
msgstr "Ja no segueixes a {0}"
+#: src/screens/Signup/StepHandle.tsx:115
+msgid "No longer than 253 characters"
+msgstr "No pot tenir més de 253 caràcters"
+
#: src/view/com/notifications/Feed.tsx:109
msgid "No notifications yet!"
msgstr "Encara no tens cap notificació"
-#: src/view/com/composer/text-input/mobile/Autocomplete.tsx:97
-#: src/view/com/composer/text-input/web/Autocomplete.tsx:191
+#: src/view/com/composer/text-input/mobile/Autocomplete.tsx:101
+#: src/view/com/composer/text-input/web/Autocomplete.tsx:195
msgid "No result"
msgstr "Cap resultat"
-#: src/components/Lists.tsx:192
+#: src/components/Lists.tsx:183
msgid "No results found"
-msgstr ""
+msgstr "No s'han trobat resultats"
-#: src/view/screens/Feeds.tsx:495
+#: src/view/screens/Feeds.tsx:520
msgid "No results found for \"{query}\""
msgstr "No s'han trobat resultats per \"{query}\""
#: src/view/com/modals/ListAddRemoveUsers.tsx:127
-#: src/view/screens/Search/Search.tsx:281
-#: src/view/screens/Search/Search.tsx:309
+#: src/view/screens/Search/Search.tsx:349
+#: src/view/screens/Search/Search.tsx:387
msgid "No results found for {query}"
msgstr "No s'han trobat resultats per {query}"
-#: src/view/com/modals/EmbedConsent.tsx:129
+#: src/components/dialogs/EmbedConsent.tsx:105
+#: src/components/dialogs/EmbedConsent.tsx:112
msgid "No thanks"
msgstr "No, gràcies"
@@ -2649,12 +3169,21 @@ msgstr "No, gràcies"
msgid "Nobody"
msgstr "Ningú"
+#: src/components/LikedByList.tsx:79
+#: src/components/LikesDialog.tsx:99
+msgid "Nobody has liked this yet. Maybe you should be the first!"
+msgstr "A ningú encara li ha agradat això. Potser hauries de ser el primer!"
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:42
+msgid "Non-sexual Nudity"
+msgstr "Nuesa no sexual"
+
#: src/view/com/modals/SelfLabel.tsx:135
msgid "Not Applicable."
msgstr "No aplicable."
-#: src/Navigation.tsx:107
-#: src/view/screens/Profile.tsx:106
+#: src/Navigation.tsx:109
+#: src/view/screens/Profile.tsx:101
msgid "Not Found"
msgstr "No s'ha trobat"
@@ -2663,17 +3192,23 @@ msgstr "No s'ha trobat"
msgid "Not right now"
msgstr "Ara mateix no"
-#: src/view/screens/Moderation.tsx:252
+#: src/view/com/profile/ProfileMenu.tsx:368
+#: src/view/com/util/forms/PostDropdownBtn.tsx:364
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:248
+msgid "Note about sharing"
+msgstr "Nota sobre compartir"
+
+#: src/screens/Moderation/index.tsx:540
msgid "Note: Bluesky is an open and public network. This setting only limits the visibility of your content on the Bluesky app and website, and other apps may not respect this setting. Your content may still be shown to logged-out users by other apps and websites."
msgstr "Nota: Bluesky és una xarxa oberta i pública. Aquesta configuració tan sols limita el teu contingut a l'aplicació de Bluesky i a la web, altres aplicacions poden no respectar-ho. El teu contingut pot ser mostrat a usuaris no connectats per altres aplicacions i webs."
-#: src/Navigation.tsx:457
+#: src/Navigation.tsx:461
#: src/view/screens/Notifications.tsx:124
#: src/view/screens/Notifications.tsx:148
-#: src/view/shell/bottom-bar/BottomBar.tsx:205
-#: src/view/shell/desktop/LeftNav.tsx:361
-#: src/view/shell/Drawer.tsx:435
-#: src/view/shell/Drawer.tsx:436
+#: src/view/shell/bottom-bar/BottomBar.tsx:216
+#: src/view/shell/desktop/LeftNav.tsx:365
+#: src/view/shell/Drawer.tsx:444
+#: src/view/shell/Drawer.tsx:445
msgid "Notifications"
msgstr "Notificacions"
@@ -2681,15 +3216,36 @@ msgstr "Notificacions"
msgid "Nudity"
msgstr "Nuesa"
-#: src/view/com/util/ErrorBoundary.tsx:35
+#: src/lib/moderation/useReportOptions.ts:71
+msgid "Nudity or adult content not labeled as such"
+msgstr "Nuesa o contingut per adults no etiquetat com a tal"
+
+#: src/lib/moderation/useReportOptions.ts:71
+#~ msgid "Nudity or pornography not labeled as such"
+#~ msgstr "Nuesa o pornografia no etiquetada com a tal"
+
+#: src/screens/Signup/index.tsx:143
+msgid "of"
+msgstr "de"
+
+#: src/lib/moderation/useLabelBehaviorDescription.ts:11
+msgid "Off"
+msgstr "Apagat"
+
+#: src/view/com/util/ErrorBoundary.tsx:49
msgid "Oh no!"
msgstr "Ostres!"
-#: src/screens/Onboarding/StepInterests/index.tsx:128
+#: src/screens/Onboarding/StepInterests/index.tsx:132
msgid "Oh no! Something went wrong."
msgstr "Ostres! Alguna cosa ha fallat."
-#: src/view/com/auth/login/PasswordUpdatedForm.tsx:41
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:126
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:333
+msgid "OK"
+msgstr "D'acord"
+
+#: src/screens/Login/PasswordUpdatedForm.tsx:44
msgid "Okay"
msgstr "D'acord"
@@ -2697,11 +3253,11 @@ msgstr "D'acord"
msgid "Oldest replies first"
msgstr "Respostes més antigues primer"
-#: src/view/screens/Settings/index.tsx:234
+#: src/view/screens/Settings/index.tsx:247
msgid "Onboarding reset"
msgstr "Restableix la incorporació"
-#: src/view/com/composer/Composer.tsx:382
+#: src/view/com/composer/Composer.tsx:392
msgid "One or more images is missing alt text."
msgstr "Falta el text alternatiu a una o més imatges."
@@ -2709,62 +3265,79 @@ msgstr "Falta el text alternatiu a una o més imatges."
msgid "Only {0} can reply."
msgstr "Només {0} poden respondre."
-#: src/components/Lists.tsx:82
-msgid "Oops, something went wrong!"
-msgstr ""
+#: src/screens/Signup/StepHandle.tsx:98
+msgid "Only contains letters, numbers, and hyphens"
+msgstr "Només pot tenir lletres, nombres i guionets"
-#: src/components/Lists.tsx:188
-#: src/view/screens/AppPasswords.tsx:65
-#: src/view/screens/Profile.tsx:106
+#: src/components/Lists.tsx:75
+msgid "Oops, something went wrong!"
+msgstr "Ostres, alguna cosa ha anat malament!"
+
+#: src/components/Lists.tsx:170
+#: src/view/screens/AppPasswords.tsx:67
+#: src/view/screens/Profile.tsx:101
msgid "Oops!"
msgstr "Ostres!"
-#: src/screens/Onboarding/StepFinished.tsx:115
+#: src/screens/Onboarding/StepFinished.tsx:119
msgid "Open"
msgstr "Obre"
#: src/view/screens/Moderation.tsx:75
-msgid "Open content filtering settings"
-msgstr ""
+#~ msgid "Open content filtering settings"
+#~ msgstr "Obre la configuració del filtre de contingut"
-#: src/view/com/composer/Composer.tsx:477
-#: src/view/com/composer/Composer.tsx:478
+#: src/view/com/composer/Composer.tsx:491
+#: src/view/com/composer/Composer.tsx:492
msgid "Open emoji picker"
msgstr "Obre el selector d'emojis"
-#: src/view/screens/Settings/index.tsx:712
+#: src/view/screens/ProfileFeed.tsx:311
+msgid "Open feed options menu"
+msgstr "Obre el menú de les opcions del canal"
+
+#: src/view/screens/Settings/index.tsx:685
msgid "Open links with in-app browser"
msgstr "Obre els enllaços al navegador de l'aplicació"
-#: src/view/screens/Moderation.tsx:92
-msgid "Open muted words settings"
-msgstr ""
+#: src/screens/Moderation/index.tsx:227
+msgid "Open muted words and tags settings"
+msgstr "Obre la configuració de les paraules i etiquetes silenciades"
-#: src/view/com/home/HomeHeaderLayoutMobile.tsx:50
+#: src/view/screens/Moderation.tsx:92
+#~ msgid "Open muted words settings"
+#~ msgstr "Obre la configuració de les paraules silenciades"
+
+#: src/view/com/home/HomeHeaderLayoutMobile.tsx:52
msgid "Open navigation"
msgstr "Obre la navegació"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:175
+#: src/view/com/util/forms/PostDropdownBtn.tsx:191
msgid "Open post options menu"
-msgstr ""
+msgstr "Obre el menú de les opcions de publicació"
-#: src/view/screens/Settings/index.tsx:804
+#: src/view/screens/Settings/index.tsx:792
+#: src/view/screens/Settings/index.tsx:802
msgid "Open storybook page"
msgstr "Obre la pàgina d'historial"
+#: src/view/screens/Settings/index.tsx:780
+msgid "Open system log"
+msgstr "Obre el registre del sistema"
+
#: src/view/com/util/forms/DropdownButton.tsx:154
msgid "Opens {numItems} options"
msgstr "Obre {numItems} opcions"
#: src/view/screens/Log.tsx:54
msgid "Opens additional details for a debug entry"
-msgstr "Obre detalls adicionals per una entrada de depuració"
+msgstr "Obre detalls addicionals per una entrada de depuració"
-#: src/view/com/notifications/FeedItem.tsx:349
+#: src/view/com/notifications/FeedItem.tsx:355
msgid "Opens an expanded list of users in this notification"
msgstr "Obre una llista expandida d'usuaris en aquesta notificació"
-#: src/view/com/composer/photos/OpenCameraBtn.tsx:61
+#: src/view/com/composer/photos/OpenCameraBtn.tsx:78
msgid "Opens camera on device"
msgstr "Obre la càmera del dispositiu"
@@ -2772,7 +3345,7 @@ msgstr "Obre la càmera del dispositiu"
msgid "Opens composer"
msgstr "Obre el compositor"
-#: src/view/screens/Settings/index.tsx:595
+#: src/view/screens/Settings/index.tsx:566
msgid "Opens configurable language settings"
msgstr "Obre la configuració d'idioma"
@@ -2781,71 +3354,114 @@ msgid "Opens device photo gallery"
msgstr "Obre la galeria fotogràfica del dispositiu"
#: src/view/com/profile/ProfileHeader.tsx:420
-msgid "Opens editor for profile display name, avatar, background image, and description"
-msgstr "Obre l'editor del perfil per editar el nom, avatar, imatge de fons i descripció"
+#~ msgid "Opens editor for profile display name, avatar, background image, and description"
+#~ msgstr "Obre l'editor del perfil per a editar el nom, avatar, imatge de fons i descripció"
-#: src/view/screens/Settings/index.tsx:649
+#: src/view/screens/Settings/index.tsx:620
msgid "Opens external embeds settings"
msgstr "Obre la configuració per les incrustacions externes"
+#: src/view/com/auth/SplashScreen.tsx:50
+#: src/view/com/auth/SplashScreen.web.tsx:94
+msgid "Opens flow to create a new Bluesky account"
+msgstr "Obre el procés per a crear un nou compte de Bluesky"
+
+#: src/view/com/auth/SplashScreen.tsx:65
+#: src/view/com/auth/SplashScreen.web.tsx:109
+msgid "Opens flow to sign into your existing Bluesky account"
+msgstr "Obre el procés per a iniciar sessió a un compte existent de Bluesky"
+
#: src/view/com/profile/ProfileHeader.tsx:575
-msgid "Opens followers list"
-msgstr "Obre la llista de seguidors"
+#~ msgid "Opens followers list"
+#~ msgstr "Obre la llista de seguidors"
#: src/view/com/profile/ProfileHeader.tsx:594
-msgid "Opens following list"
-msgstr "Obre la llista de seguits"
+#~ msgid "Opens following list"
+#~ msgstr "Obre la llista de seguits"
#: src/view/screens/Settings.tsx:412
#~ msgid "Opens invite code list"
#~ msgstr "Obre la llista de codis d'invitació"
-#: src/view/com/modals/InviteCodes.tsx:172
+#: src/view/com/modals/InviteCodes.tsx:173
msgid "Opens list of invite codes"
msgstr "Obre la llista de codis d'invitació"
-#: src/view/screens/Settings/index.tsx:774
-msgid "Opens modal for account deletion confirmation. Requires email code."
-msgstr "Obre el modal per confirmar l'eliminació del compte. Requereix un codi de correu"
+#: src/view/screens/Settings/index.tsx:762
+msgid "Opens modal for account deletion confirmation. Requires email code"
+msgstr "Obre el modal per a la confirmació de l'eliminació del compte. Requereix codi de correu electrònic"
-#: src/view/com/modals/ChangeHandle.tsx:281
+#: src/view/screens/Settings/index.tsx:774
+#~ msgid "Opens modal for account deletion confirmation. Requires email code."
+#~ msgstr "Obre el modal per a confirmar l'eliminació del compte. Requereix un codi de correu"
+
+#: src/view/screens/Settings/index.tsx:720
+msgid "Opens modal for changing your Bluesky password"
+msgstr "Obre el modal per a canviar la contrasenya de Bluesky"
+
+#: src/view/screens/Settings/index.tsx:669
+msgid "Opens modal for choosing a new Bluesky handle"
+msgstr "Obre el modal per a triar un nou identificador de Bluesky"
+
+#: src/view/screens/Settings/index.tsx:743
+msgid "Opens modal for downloading your Bluesky account data (repository)"
+msgstr "Obre el modal per a baixar les dades del vostre compte Bluesky (repositori)"
+
+#: src/view/screens/Settings/index.tsx:932
+msgid "Opens modal for email verification"
+msgstr "Obre el modal per a verificar el correu"
+
+#: src/view/com/modals/ChangeHandle.tsx:282
msgid "Opens modal for using custom domain"
msgstr "Obre el modal per a utilitzar un domini personalitzat"
-#: src/view/screens/Settings/index.tsx:620
+#: src/view/screens/Settings/index.tsx:591
msgid "Opens moderation settings"
msgstr "Obre la configuració de la moderació"
-#: src/view/com/auth/login/LoginForm.tsx:239
+#: src/screens/Login/LoginForm.tsx:202
msgid "Opens password reset form"
msgstr "Obre el formulari de restabliment de la contrasenya"
-#: src/view/com/home/HomeHeaderLayout.web.tsx:63
-#: src/view/screens/Feeds.tsx:356
+#: src/view/com/home/HomeHeaderLayout.web.tsx:67
+#: src/view/screens/Feeds.tsx:381
msgid "Opens screen to edit Saved Feeds"
-msgstr "Obre pantalla per editar els canals desats"
+msgstr "Obre pantalla per a editar els canals desats"
-#: src/view/screens/Settings/index.tsx:576
+#: src/view/screens/Settings/index.tsx:548
msgid "Opens screen with all saved feeds"
msgstr "Obre la pantalla amb tots els canals desats"
+#: src/view/screens/Settings/index.tsx:647
+msgid "Opens the app password settings"
+msgstr "Obre la configuració de les contrasenyes d'aplicació"
+
#: src/view/screens/Settings/index.tsx:676
-msgid "Opens the app password settings page"
-msgstr "Obre la pàgina de configuració de les contrasenyes d'aplicació"
+#~ msgid "Opens the app password settings page"
+#~ msgstr "Obre la pàgina de configuració de les contrasenyes d'aplicació"
+
+#: src/view/screens/Settings/index.tsx:505
+msgid "Opens the Following feed preferences"
+msgstr "Obre les preferències del canal de Seguint"
#: src/view/screens/Settings/index.tsx:535
-msgid "Opens the home feed preferences"
-msgstr "Obre les preferències de canals de l'inici"
+#~ msgid "Opens the home feed preferences"
+#~ msgstr "Obre les preferències de canals de l'inici"
-#: src/view/screens/Settings/index.tsx:805
+#: src/view/com/modals/LinkWarning.tsx:93
+msgid "Opens the linked website"
+msgstr "Obre la web enllaçada"
+
+#: src/view/screens/Settings/index.tsx:793
+#: src/view/screens/Settings/index.tsx:803
msgid "Opens the storybook page"
msgstr "Obre la pàgina de l'historial"
-#: src/view/screens/Settings/index.tsx:793
+#: src/view/screens/Settings/index.tsx:781
msgid "Opens the system log page"
msgstr "Obre la pàgina de registres del sistema"
-#: src/view/screens/Settings/index.tsx:556
+#: src/view/screens/Settings/index.tsx:526
msgid "Opens the threads preferences"
msgstr "Obre les preferències dels fils de debat"
@@ -2853,11 +3469,19 @@ msgstr "Obre les preferències dels fils de debat"
msgid "Option {0} of {numItems}"
msgstr "Opció {0} de {numItems}"
+#: src/components/ReportDialog/SubmitView.tsx:160
+msgid "Optionally provide additional information below:"
+msgstr "Opcionalment, proporciona informació addicional a continuació:"
+
#: src/view/com/modals/Threadgate.tsx:89
msgid "Or combine these options:"
msgstr "O combina aquestes opcions:"
-#: src/view/com/auth/login/ChooseAccountForm.tsx:138
+#: src/lib/moderation/useReportOptions.ts:25
+msgid "Other"
+msgstr "Un altre"
+
+#: src/components/AccountList.tsx:73
msgid "Other account"
msgstr "Un altre compte"
@@ -2869,7 +3493,7 @@ msgstr "Un altre compte"
msgid "Other..."
msgstr "Un altre…"
-#: src/components/Lists.tsx:194
+#: src/components/Lists.tsx:184
#: src/view/screens/NotFound.tsx:45
msgid "Page not found"
msgstr "Pàgina no trobada"
@@ -2878,37 +3502,45 @@ msgstr "Pàgina no trobada"
msgid "Page Not Found"
msgstr "Pàgina no trobada"
-#: src/view/com/auth/create/Step1.tsx:191
-#: src/view/com/auth/create/Step1.tsx:201
-#: src/view/com/auth/login/LoginForm.tsx:226
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:161
-#: src/view/com/modals/DeleteAccount.tsx:202
+#: src/screens/Login/LoginForm.tsx:178
+#: src/screens/Signup/StepInfo/index.tsx:102
+#: src/view/com/modals/DeleteAccount.tsx:194
+#: src/view/com/modals/DeleteAccount.tsx:201
msgid "Password"
msgstr "Contrasenya"
-#: src/view/com/auth/login/Login.tsx:157
+#: src/view/com/modals/ChangePassword.tsx:142
+msgid "Password Changed"
+msgstr "Contrasenya canviada"
+
+#: src/screens/Login/index.tsx:157
msgid "Password updated"
msgstr "Contrasenya actualitzada"
-#: src/view/com/auth/login/PasswordUpdatedForm.tsx:28
+#: src/screens/Login/PasswordUpdatedForm.tsx:30
msgid "Password updated!"
msgstr "Contrasenya actualitzada!"
-#: src/Navigation.tsx:162
+#: src/view/screens/Search/Search.tsx:447
+#: src/view/screens/Search/Search.tsx:456
+msgid "People"
+msgstr ""
+
+#: src/Navigation.tsx:164
msgid "People followed by @{0}"
msgstr "Persones seguides per @{0}"
-#: src/Navigation.tsx:155
+#: src/Navigation.tsx:157
msgid "People following @{0}"
msgstr "Persones seguint a @{0}"
#: src/view/com/lightbox/Lightbox.tsx:66
msgid "Permission to access camera roll is required."
-msgstr "Cal permís per accedir al carret de la càmera."
+msgstr "Cal permís per a accedir al carret de la càmera."
#: src/view/com/lightbox/Lightbox.tsx:72
msgid "Permission to access camera roll was denied. Please enable it in your system settings."
-msgstr "S'ha denegat el permís per accedir a la càmera. Activa'l a la configuració del teu sistema."
+msgstr "S'ha denegat el permís per a accedir a la càmera. Activa'l a la configuració del teu sistema."
#: src/screens/Onboarding/index.tsx:31
msgid "Pets"
@@ -2922,45 +3554,49 @@ msgstr "Mascotes"
msgid "Pictures meant for adults."
msgstr "Imatges destinades a adults."
-#: src/view/screens/ProfileFeed.tsx:354
-#: src/view/screens/ProfileList.tsx:581
+#: src/view/screens/ProfileFeed.tsx:303
+#: src/view/screens/ProfileList.tsx:565
msgid "Pin to home"
msgstr "Fixa a l'inici"
-#: src/view/screens/SavedFeeds.tsx:88
+#: src/view/screens/ProfileFeed.tsx:306
+msgid "Pin to Home"
+msgstr "Fixa a l'Inici"
+
+#: src/view/screens/SavedFeeds.tsx:89
msgid "Pinned Feeds"
msgstr "Canals de notícies fixats"
-#: src/view/com/util/post-embeds/ExternalGifEmbed.tsx:111
+#: src/view/com/util/post-embeds/ExternalGifEmbed.tsx:123
msgid "Play {0}"
msgstr "Reprodueix {0}"
-#: src/view/com/util/post-embeds/ExternalPlayerEmbed.tsx:54
-#: src/view/com/util/post-embeds/ExternalPlayerEmbed.tsx:55
+#: src/view/com/util/post-embeds/ExternalPlayerEmbed.tsx:57
+#: src/view/com/util/post-embeds/ExternalPlayerEmbed.tsx:58
msgid "Play Video"
msgstr "Reprodueix el vídeo"
-#: src/view/com/util/post-embeds/ExternalGifEmbed.tsx:110
+#: src/view/com/util/post-embeds/ExternalGifEmbed.tsx:122
msgid "Plays the GIF"
msgstr "Reprodueix el GIF"
-#: src/view/com/auth/create/state.ts:124
+#: src/screens/Signup/state.ts:241
msgid "Please choose your handle."
msgstr "Tria el teu identificador."
-#: src/view/com/auth/create/state.ts:117
+#: src/screens/Signup/state.ts:234
msgid "Please choose your password."
msgstr "Tria la teva contrasenya."
-#: src/view/com/auth/create/state.ts:131
+#: src/screens/Signup/state.ts:251
msgid "Please complete the verification captcha."
-msgstr ""
+msgstr "Completa el captcha de verificació."
#: src/view/com/modals/ChangeEmail.tsx:67
msgid "Please confirm your email before changing it. This is a temporary requirement while email-updating tools are added, and it will soon be removed."
-msgstr "Confirma el teu correu abans de canviar-lo. Aquest és un requisit temporal mentre no s'afegeixin eines per actualitzar el correu. Aviat no serà necessari,"
+msgstr "Confirma el teu correu abans de canviar-lo. Aquest és un requisit temporal mentre no s'afegeixin eines per a actualitzar el correu. Aviat no serà necessari."
-#: src/view/com/modals/AddAppPasswords.tsx:90
+#: src/view/com/modals/AddAppPasswords.tsx:91
msgid "Please enter a name for your app password. All spaces is not allowed."
msgstr "Introdueix un nom per a la contrasenya de la vostra aplicació. No es permeten tot en espais."
@@ -2968,13 +3604,13 @@ msgstr "Introdueix un nom per a la contrasenya de la vostra aplicació. No es pe
#~ msgid "Please enter a phone number that can receive SMS text messages."
#~ msgstr "Introdueix un telèfon que pugui rebre missatges SMS"
-#: src/view/com/modals/AddAppPasswords.tsx:145
+#: src/view/com/modals/AddAppPasswords.tsx:146
msgid "Please enter a unique name for this App Password or use our randomly generated one."
msgstr "Introdueix un nom únic per aquesta contrasenya d'aplicació o fes servir un nom generat aleatòriament."
-#: src/components/dialogs/MutedWords.tsx:68
+#: src/components/dialogs/MutedWords.tsx:67
msgid "Please enter a valid word, tag, or phrase to mute"
-msgstr ""
+msgstr "Introdueix una paraula, una etiqueta o una frase vàlida per a silenciar"
#: src/view/com/auth/create/state.ts:170
#~ msgid "Please enter the code you received by SMS."
@@ -2984,18 +3620,22 @@ msgstr ""
#~ msgid "Please enter the verification code sent to {phoneNumberFormatted}."
#~ msgstr "Introdueix el codi de verificació enviat a {phoneNumberFormatted}"
-#: src/view/com/auth/create/state.ts:103
+#: src/screens/Signup/state.ts:220
msgid "Please enter your email."
msgstr "Introdueix el teu correu."
-#: src/view/com/modals/DeleteAccount.tsx:191
+#: src/view/com/modals/DeleteAccount.tsx:190
msgid "Please enter your password as well:"
msgstr "Introdueix la teva contrasenya també:"
+#: src/components/moderation/LabelsOnMeDialog.tsx:221
+msgid "Please explain why you think this label was incorrectly applied by {0}"
+msgstr "Explica per què creieu que aquesta etiqueta ha estat aplicada incorrectament per {0}"
+
#: src/view/com/modals/AppealLabel.tsx:72
#: src/view/com/modals/AppealLabel.tsx:75
-msgid "Please tell us why you think this content warning was incorrectly applied!"
-msgstr "Digues-nos per què creus que s'ha aplicat incorrectament l'advertència de contingut."
+#~ msgid "Please tell us why you think this content warning was incorrectly applied!"
+#~ msgstr "Digues-nos per què creus que s'ha aplicat incorrectament l'advertència de contingut."
#~ msgid "Please tell us why you think this decision was incorrect."
#~ msgstr "Por favor, dinos por qué crees que esta decisión fue incorrecta."
@@ -3016,13 +3656,17 @@ msgstr "Política"
msgid "Porn"
msgstr "Pornografia"
-#: src/view/com/composer/Composer.tsx:357
-#: src/view/com/composer/Composer.tsx:365
+#: src/lib/moderation/useGlobalLabelStrings.ts:34
+#~ msgid "Pornography"
+#~ msgstr "Pornografia"
+
+#: src/view/com/composer/Composer.tsx:367
+#: src/view/com/composer/Composer.tsx:375
msgctxt "action"
msgid "Post"
msgstr "Publica"
-#: src/view/com/post-thread/PostThread.tsx:303
+#: src/view/com/post-thread/PostThread.tsx:292
msgctxt "description"
msgid "Post"
msgstr "Publicació"
@@ -3037,20 +3681,30 @@ msgstr "Publicació"
msgid "Post by {0}"
msgstr "Publicació per {0}"
-#: src/Navigation.tsx:174
-#: src/Navigation.tsx:181
-#: src/Navigation.tsx:188
+#: src/Navigation.tsx:176
+#: src/Navigation.tsx:183
+#: src/Navigation.tsx:190
msgid "Post by @{0}"
msgstr "Publicació per @{0}"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:108
+#: src/view/com/util/forms/PostDropdownBtn.tsx:111
msgid "Post deleted"
msgstr "Publicació eliminada"
-#: src/view/com/post-thread/PostThread.tsx:462
+#: src/view/com/post-thread/PostThread.tsx:157
msgid "Post hidden"
msgstr "Publicació oculta"
+#: src/components/moderation/ModerationDetailsDialog.tsx:97
+#: src/lib/moderation/useModerationCauseDescription.ts:99
+msgid "Post Hidden by Muted Word"
+msgstr "Publicació amagada per una paraula silenciada"
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:100
+#: src/lib/moderation/useModerationCauseDescription.ts:108
+msgid "Post Hidden by You"
+msgstr "Publicació amagada per tu"
+
#: src/view/com/composer/select-language/SelectLangBtn.tsx:87
msgid "Post language"
msgstr "Idioma de la publicació"
@@ -3059,31 +3713,43 @@ msgstr "Idioma de la publicació"
msgid "Post Languages"
msgstr "Idiomes de les publicacions"
-#: src/view/com/post-thread/PostThread.tsx:514
+#: src/view/com/post-thread/PostThread.tsx:152
+#: src/view/com/post-thread/PostThread.tsx:164
msgid "Post not found"
msgstr "Publicació no trobada"
#: src/components/TagMenu/index.tsx:253
msgid "posts"
-msgstr ""
+msgstr "publicacions"
-#: src/view/screens/Profile.tsx:180
+#: src/view/screens/Profile.tsx:195
+#: src/view/screens/Search/Search.tsx:467
msgid "Posts"
msgstr "Publicacions"
-#: src/components/dialogs/MutedWords.tsx:90
+#: src/components/dialogs/MutedWords.tsx:89
msgid "Posts can be muted based on their text, their tags, or both."
-msgstr ""
+msgstr "Les publicacions es poder silenciar segons el seu text, etiquetes o ambdues."
#: src/view/com/posts/FeedErrorMessage.tsx:64
msgid "Posts hidden"
msgstr "Publicacions amagades"
-#: src/view/com/modals/LinkWarning.tsx:46
+#: src/view/com/modals/LinkWarning.tsx:60
msgid "Potentially Misleading Link"
msgstr "Enllaç potencialment enganyós"
-#: src/view/com/lightbox/Lightbox.web.tsx:135
+#: src/components/forms/HostingProvider.tsx:46
+msgid "Press to change hosting provider"
+msgstr "Prem per canviar el proveïdor d'allotjament"
+
+#: src/components/Error.tsx:74
+#: src/components/Lists.tsx:80
+#: src/screens/Signup/index.tsx:187
+msgid "Press to retry"
+msgstr "Prem per a tornar-ho a provar"
+
+#: src/view/com/lightbox/Lightbox.web.tsx:150
msgid "Previous image"
msgstr "Imatge anterior"
@@ -3095,59 +3761,65 @@ msgstr "Idioma principal"
msgid "Prioritize Your Follows"
msgstr "Prioritza els usuaris que segueixes"
-#: src/view/screens/Settings/index.tsx:632
+#: src/view/screens/Settings/index.tsx:603
#: src/view/shell/desktop/RightNav.tsx:72
msgid "Privacy"
msgstr "Privacitat"
-#: src/Navigation.tsx:219
+#: src/Navigation.tsx:231
+#: src/screens/Signup/StepInfo/Policies.tsx:56
#: src/view/screens/PrivacyPolicy.tsx:29
-#: src/view/screens/Settings/index.tsx:891
-#: src/view/shell/Drawer.tsx:262
+#: src/view/screens/Settings/index.tsx:887
+#: src/view/shell/Drawer.tsx:271
msgid "Privacy Policy"
msgstr "Política de privacitat"
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:198
+#: src/screens/Login/ForgotPasswordForm.tsx:156
msgid "Processing..."
msgstr "Processant…"
-#: src/view/shell/bottom-bar/BottomBar.tsx:247
-#: src/view/shell/desktop/LeftNav.tsx:415
+#: src/view/screens/DebugMod.tsx:888
+#: src/view/screens/Profile.tsx:361
+msgid "profile"
+msgstr "perfil"
+
+#: src/view/shell/bottom-bar/BottomBar.tsx:261
+#: src/view/shell/desktop/LeftNav.tsx:419
#: src/view/shell/Drawer.tsx:70
-#: src/view/shell/Drawer.tsx:546
-#: src/view/shell/Drawer.tsx:547
+#: src/view/shell/Drawer.tsx:555
+#: src/view/shell/Drawer.tsx:556
msgid "Profile"
msgstr "Perfil"
-#: src/view/com/modals/EditProfile.tsx:128
+#: src/view/com/modals/EditProfile.tsx:129
msgid "Profile updated"
msgstr "Perfil actualitzat"
-#: src/view/screens/Settings/index.tsx:949
+#: src/view/screens/Settings/index.tsx:945
msgid "Protect your account by verifying your email."
msgstr "Protegeix el teu compte verificant el teu correu."
-#: src/screens/Onboarding/StepFinished.tsx:101
+#: src/screens/Onboarding/StepFinished.tsx:105
msgid "Public"
msgstr "Públic"
#: src/view/screens/ModerationModlists.tsx:61
msgid "Public, shareable lists of users to mute or block in bulk."
-msgstr "Llistes d'usuaris per silenciar o bloquejar en massa, públiques i per compartir."
+msgstr "Llistes d'usuaris per a silenciar o bloquejar en massa, públiques i per a compartir."
#: src/view/screens/Lists.tsx:61
msgid "Public, shareable lists which can drive feeds."
-msgstr "Llistes que poden nodrir canals, públiques i per compartir."
+msgstr "Llistes que poden nodrir canals, públiques i per a compartir."
-#: src/view/com/composer/Composer.tsx:342
+#: src/view/com/composer/Composer.tsx:352
msgid "Publish post"
msgstr "Publica"
-#: src/view/com/composer/Composer.tsx:342
+#: src/view/com/composer/Composer.tsx:352
msgid "Publish reply"
msgstr "Publica la resposta"
-#: src/view/com/modals/Repost.tsx:65
+#: src/view/com/modals/Repost.tsx:66
msgctxt "action"
msgid "Quote post"
msgstr "Cita la publicació"
@@ -3156,7 +3828,7 @@ msgstr "Cita la publicació"
msgid "Quote post"
msgstr "Cita la publicació"
-#: src/view/com/modals/Repost.tsx:70
+#: src/view/com/modals/Repost.tsx:71
msgctxt "action"
msgid "Quote Post"
msgstr "Cita la publicació"
@@ -3167,50 +3839,68 @@ msgstr "Cita la publicació"
#: src/view/screens/PreferencesThreads.tsx:86
msgid "Random (aka \"Poster's Roulette\")"
-msgstr "Aleatori (també conegut com \"Poster's Roulette\")"
+msgstr "Aleatori (també conegut com a \"Poster's Roulette\")"
-#: src/view/com/modals/EditImage.tsx:236
+#: src/view/com/modals/EditImage.tsx:237
msgid "Ratios"
msgstr "Proporcions"
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:116
+#: src/view/screens/Search/Search.tsx:924
+msgid "Recent Searches"
+msgstr "Cerques recents"
+
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:117
msgid "Recommended Feeds"
msgstr "Canals recomanats"
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:180
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:181
msgid "Recommended Users"
msgstr "Usuaris recomanats"
-#: src/components/dialogs/MutedWords.tsx:298
-#: src/view/com/modals/ListAddRemoveUsers.tsx:264
+#: src/components/dialogs/MutedWords.tsx:286
+#: src/view/com/feeds/FeedSourceCard.tsx:283
+#: src/view/com/modals/ListAddRemoveUsers.tsx:268
#: src/view/com/modals/SelfLabel.tsx:83
#: src/view/com/modals/UserAddRemoveLists.tsx:219
-#: src/view/com/util/UserAvatar.tsx:285
-#: src/view/com/util/UserBanner.tsx:91
+#: src/view/com/posts/FeedErrorMessage.tsx:204
msgid "Remove"
msgstr "Elimina"
#: src/view/com/feeds/FeedSourceCard.tsx:108
-msgid "Remove {0} from my feeds?"
-msgstr "Vols eliminar {0} dels teus canals?"
+#~ msgid "Remove {0} from my feeds?"
+#~ msgstr "Vols eliminar {0} dels teus canals?"
#: src/view/com/util/AccountDropdownBtn.tsx:22
msgid "Remove account"
msgstr "Elimina el compte"
-#: src/view/com/posts/FeedErrorMessage.tsx:131
-#: src/view/com/posts/FeedErrorMessage.tsx:166
+#: src/view/com/util/UserAvatar.tsx:360
+msgid "Remove Avatar"
+msgstr "Elimina l'avatar"
+
+#: src/view/com/util/UserBanner.tsx:148
+msgid "Remove Banner"
+msgstr "Elimina el bàner"
+
+#: src/view/com/posts/FeedErrorMessage.tsx:160
msgid "Remove feed"
msgstr "Elimina el canal"
-#: src/view/com/feeds/FeedSourceCard.tsx:107
-#: src/view/com/feeds/FeedSourceCard.tsx:169
-#: src/view/com/feeds/FeedSourceCard.tsx:174
-#: src/view/com/feeds/FeedSourceCard.tsx:245
-#: src/view/screens/ProfileFeed.tsx:273
+#: src/view/com/posts/FeedErrorMessage.tsx:201
+msgid "Remove feed?"
+msgstr "Vols eliminar el canal?"
+
+#: src/view/com/feeds/FeedSourceCard.tsx:173
+#: src/view/com/feeds/FeedSourceCard.tsx:233
+#: src/view/screens/ProfileFeed.tsx:346
+#: src/view/screens/ProfileFeed.tsx:352
msgid "Remove from my feeds"
msgstr "Elimina dels meus canals"
+#: src/view/com/feeds/FeedSourceCard.tsx:278
+msgid "Remove from my feeds?"
+msgstr "Vols eliminar-lo dels teus canals?"
+
#: src/view/com/composer/photos/Gallery.tsx:167
msgid "Remove image"
msgstr "Elimina la imatge"
@@ -3219,37 +3909,44 @@ msgstr "Elimina la imatge"
msgid "Remove image preview"
msgstr "Elimina la visualització prèvia de la imatge"
-#: src/components/dialogs/MutedWords.tsx:343
+#: src/components/dialogs/MutedWords.tsx:329
msgid "Remove mute word from your list"
-msgstr ""
+msgstr "Elimina la paraula silenciada de la teva llista"
-#: src/view/com/modals/Repost.tsx:47
+#: src/view/com/modals/Repost.tsx:48
msgid "Remove repost"
msgstr "Elimina la republicació"
#: src/view/com/feeds/FeedSourceCard.tsx:175
-msgid "Remove this feed from my feeds?"
-msgstr "Vols eliminar aquest canal dels meus canals?"
+#~ msgid "Remove this feed from my feeds?"
+#~ msgstr "Vols eliminar aquest canal dels teus canals?"
+
+#: src/view/com/posts/FeedErrorMessage.tsx:202
+msgid "Remove this feed from your saved feeds"
+msgstr "Elimina aquest canal dels meus canals"
#: src/view/com/posts/FeedErrorMessage.tsx:132
-msgid "Remove this feed from your saved feeds?"
-msgstr "Vols eliminar aquest canal dels teus canals desats?"
+#~ msgid "Remove this feed from your saved feeds?"
+#~ msgstr "Vols eliminar aquest canal dels teus canals desats?"
#: src/view/com/modals/ListAddRemoveUsers.tsx:199
#: src/view/com/modals/UserAddRemoveLists.tsx:152
msgid "Removed from list"
msgstr "Elimina de la llista"
-#: src/view/com/feeds/FeedSourceCard.tsx:113
-#: src/view/com/feeds/FeedSourceCard.tsx:180
+#: src/view/com/feeds/FeedSourceCard.tsx:121
msgid "Removed from my feeds"
msgstr "Eliminat dels meus canals"
+#: src/view/screens/ProfileFeed.tsx:210
+msgid "Removed from your feeds"
+msgstr "Eliminat dels teus canals"
+
#: src/view/com/composer/ExternalEmbed.tsx:71
msgid "Removes default thumbnail from {0}"
msgstr "Elimina la miniatura per defecte de {0}"
-#: src/view/screens/Profile.tsx:181
+#: src/view/screens/Profile.tsx:196
msgid "Replies"
msgstr "Respostes"
@@ -3257,7 +3954,7 @@ msgstr "Respostes"
msgid "Replies to this thread are disabled"
msgstr "Les respostes a aquest fil de debat estan deshabilitades"
-#: src/view/com/composer/Composer.tsx:355
+#: src/view/com/composer/Composer.tsx:365
msgctxt "action"
msgid "Reply"
msgstr "Respon"
@@ -3266,37 +3963,62 @@ msgstr "Respon"
msgid "Reply Filters"
msgstr "Filtres de resposta"
-#: src/view/com/post/Post.tsx:167
-#: src/view/com/posts/FeedItem.tsx:287
+#: src/view/com/post/Post.tsx:177
+#: src/view/com/posts/FeedItem.tsx:285
msgctxt "description"
msgid "Reply to <0/>"
msgstr "Resposta a <0/>"
#: src/view/com/modals/report/Modal.tsx:166
-msgid "Report {collectionName}"
-msgstr "Informa de {collectionName}"
+#~ msgid "Report {collectionName}"
+#~ msgstr "Informa de {collectionName}"
-#: src/view/com/profile/ProfileHeader.tsx:361
+#: src/view/com/profile/ProfileMenu.tsx:319
+#: src/view/com/profile/ProfileMenu.tsx:322
msgid "Report Account"
msgstr "Informa del compte"
-#: src/view/screens/ProfileFeed.tsx:293
+#: src/components/ReportDialog/index.tsx:49
+msgid "Report dialog"
+msgstr "Diàleg de l'informe"
+
+#: src/view/screens/ProfileFeed.tsx:363
+#: src/view/screens/ProfileFeed.tsx:365
msgid "Report feed"
msgstr "Informa del canal"
-#: src/view/screens/ProfileList.tsx:459
+#: src/view/screens/ProfileList.tsx:431
msgid "Report List"
msgstr "Informa de la llista"
-#: src/view/com/modals/report/SendReportButton.tsx:37
-#: src/view/com/util/forms/PostDropdownBtn.tsx:301
-#: src/view/com/util/forms/PostDropdownBtn.tsx:309
+#: src/view/com/util/forms/PostDropdownBtn.tsx:312
+#: src/view/com/util/forms/PostDropdownBtn.tsx:314
msgid "Report post"
msgstr "Informa de la publicació"
-#: src/view/com/modals/Repost.tsx:43
-#: src/view/com/modals/Repost.tsx:48
-#: src/view/com/modals/Repost.tsx:53
+#: src/components/ReportDialog/SelectReportOptionView.tsx:42
+msgid "Report this content"
+msgstr "Informa d'aquest contingut"
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:55
+msgid "Report this feed"
+msgstr "Informa d'aquest canal"
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:52
+msgid "Report this list"
+msgstr "Informa d'aquesta llista"
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:49
+msgid "Report this post"
+msgstr "Informa d'aquesta publicació"
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:46
+msgid "Report this user"
+msgstr "Informa d'aquest usuari"
+
+#: src/view/com/modals/Repost.tsx:44
+#: src/view/com/modals/Repost.tsx:49
+#: src/view/com/modals/Repost.tsx:54
#: src/view/com/util/post-ctrls/RepostButton.tsx:61
msgctxt "action"
msgid "Repost"
@@ -3319,7 +4041,7 @@ msgstr "Republica o cita la publicació"
msgid "Reposted By"
msgstr "Republicat per"
-#: src/view/com/posts/FeedItem.tsx:207
+#: src/view/com/posts/FeedItem.tsx:199
msgid "Reposted by {0}"
msgstr "Republicat per {0}"
@@ -3327,15 +4049,19 @@ msgstr "Republicat per {0}"
#~ msgid "Reposted by {0})"
#~ msgstr "Republicada per {0}"
-#: src/view/com/posts/FeedItem.tsx:224
-msgid "Reposted by <0/>"
-msgstr "Republicada per <0/>"
+#: src/view/com/posts/FeedItem.tsx:214
+#~ msgid "Reposted by <0/>"
+#~ msgstr "Republicada per <0/>"
-#: src/view/com/notifications/FeedItem.tsx:162
+#: src/view/com/posts/FeedItem.tsx:216
+msgid "Reposted by <0><1/>0>"
+msgstr ""
+
+#: src/view/com/notifications/FeedItem.tsx:168
msgid "reposted your post"
msgstr "ha republicat la teva publicació"
-#: src/view/com/post-thread/PostThreadItem.tsx:188
+#: src/view/com/post-thread/PostThreadItem.tsx:187
msgid "Reposts of this post"
msgstr "Republicacions d'aquesta publicació"
@@ -3348,57 +4074,58 @@ msgstr "Demana un canvi"
#~ msgid "Request code"
#~ msgstr "Demana un codi"
-#: src/view/com/modals/ChangePassword.tsx:239
#: src/view/com/modals/ChangePassword.tsx:241
+#: src/view/com/modals/ChangePassword.tsx:243
msgid "Request Code"
msgstr "Demana un codi"
-#: src/view/screens/Settings/index.tsx:456
+#: src/view/screens/Settings/index.tsx:426
msgid "Require alt text before posting"
msgstr "Requereix un text alternatiu abans de publicar"
-#: src/view/com/auth/create/Step1.tsx:146
+#: src/screens/Signup/StepInfo/index.tsx:69
msgid "Required for this provider"
msgstr "Requerit per aquest proveïdor"
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:124
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:136
+#: src/view/com/modals/ChangePassword.tsx:185
msgid "Reset code"
msgstr "Codi de restabliment"
-#: src/view/com/modals/ChangePassword.tsx:190
+#: src/view/com/modals/ChangePassword.tsx:192
msgid "Reset Code"
msgstr "Codi de restabliment"
#: src/view/screens/Settings/index.tsx:824
-msgid "Reset onboarding"
-msgstr "Restableix la incorporació"
+#~ msgid "Reset onboarding"
+#~ msgstr "Restableix la incorporació"
-#: src/view/screens/Settings/index.tsx:827
+#: src/view/screens/Settings/index.tsx:822
+#: src/view/screens/Settings/index.tsx:825
msgid "Reset onboarding state"
msgstr "Restableix l'estat de la incorporació"
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:104
+#: src/screens/Login/ForgotPasswordForm.tsx:86
msgid "Reset password"
msgstr "Restableix la contrasenya"
#: src/view/screens/Settings/index.tsx:814
-msgid "Reset preferences"
-msgstr "Restableix les preferències"
+#~ msgid "Reset preferences"
+#~ msgstr "Restableix les preferències"
-#: src/view/screens/Settings/index.tsx:817
+#: src/view/screens/Settings/index.tsx:812
+#: src/view/screens/Settings/index.tsx:815
msgid "Reset preferences state"
msgstr "Restableix l'estat de les preferències"
-#: src/view/screens/Settings/index.tsx:825
+#: src/view/screens/Settings/index.tsx:823
msgid "Resets the onboarding state"
msgstr "Restableix l'estat de la incorporació"
-#: src/view/screens/Settings/index.tsx:815
+#: src/view/screens/Settings/index.tsx:813
msgid "Resets the preferences state"
msgstr "Restableix l'estat de les preferències"
-#: src/view/com/auth/login/LoginForm.tsx:269
+#: src/screens/Login/LoginForm.tsx:235
msgid "Retries login"
msgstr "Torna a intentar iniciar sessió"
@@ -3407,12 +4134,13 @@ msgstr "Torna a intentar iniciar sessió"
msgid "Retries the last action, which errored out"
msgstr "Torna a intentar l'última acció, que ha donat error"
-#: src/screens/Onboarding/StepInterests/index.tsx:221
-#: src/screens/Onboarding/StepInterests/index.tsx:224
-#: src/view/com/auth/create/CreateAccount.tsx:181
-#: src/view/com/auth/create/CreateAccount.tsx:186
-#: src/view/com/auth/login/LoginForm.tsx:268
-#: src/view/com/auth/login/LoginForm.tsx:271
+#: src/components/Error.tsx:79
+#: src/components/Lists.tsx:91
+#: src/screens/Login/LoginForm.tsx:234
+#: src/screens/Login/LoginForm.tsx:241
+#: src/screens/Onboarding/StepInterests/index.tsx:225
+#: src/screens/Onboarding/StepInterests/index.tsx:228
+#: src/screens/Signup/index.tsx:194
#: src/view/com/util/error/ErrorMessage.tsx:55
#: src/view/com/util/error/ErrorScreen.tsx:72
msgid "Retry"
@@ -3422,105 +4150,134 @@ msgstr "Torna-ho a provar"
#~ msgid "Retry."
#~ msgstr "Torna-ho a provar"
-#: src/view/screens/ProfileList.tsx:903
+#: src/components/Error.tsx:86
+#: src/view/screens/ProfileList.tsx:919
msgid "Return to previous page"
msgstr "Torna a la pàgina anterior"
+#: src/view/screens/NotFound.tsx:59
+msgid "Returns to home page"
+msgstr "Torna a la pàgina d'inici"
+
+#: src/view/screens/NotFound.tsx:58
+#: src/view/screens/ProfileFeed.tsx:113
+msgid "Returns to previous page"
+msgstr "Torna a la pàgina anterior"
+
#: src/view/shell/desktop/RightNav.tsx:55
#~ msgid "SANDBOX. Posts and accounts are not permanent."
#~ msgstr "ENTORN DE PROVES. Les publicacions i els comptes no són permanents."
+#: src/components/dialogs/BirthDateSettings.tsx:125
+#: src/view/com/modals/ChangeHandle.tsx:174
+#: src/view/com/modals/CreateOrEditList.tsx:338
+#: src/view/com/modals/EditProfile.tsx:225
+msgid "Save"
+msgstr "Desa"
+
#: src/view/com/lightbox/Lightbox.tsx:132
-#: src/view/com/modals/CreateOrEditList.tsx:345
+#: src/view/com/modals/CreateOrEditList.tsx:346
msgctxt "action"
msgid "Save"
msgstr "Desa"
-#: src/view/com/modals/BirthDateSettings.tsx:94
-#: src/view/com/modals/BirthDateSettings.tsx:97
-#: src/view/com/modals/ChangeHandle.tsx:173
-#: src/view/com/modals/CreateOrEditList.tsx:337
-#: src/view/com/modals/EditProfile.tsx:224
-#: src/view/screens/ProfileFeed.tsx:346
-msgid "Save"
-msgstr "Desa"
-
-#: src/view/com/modals/AltImage.tsx:130
+#: src/view/com/modals/AltImage.tsx:131
msgid "Save alt text"
msgstr "Desa el text alternatiu"
-#: src/view/com/modals/EditProfile.tsx:232
+#: src/components/dialogs/BirthDateSettings.tsx:119
+msgid "Save birthday"
+msgstr "Desa la data de naixement"
+
+#: src/view/com/modals/EditProfile.tsx:233
msgid "Save Changes"
msgstr "Desa els canvis"
-#: src/view/com/modals/ChangeHandle.tsx:170
+#: src/view/com/modals/ChangeHandle.tsx:171
msgid "Save handle change"
msgstr "Desa el canvi d'identificador"
-#: src/view/com/modals/crop-image/CropImage.web.tsx:144
+#: src/view/com/modals/crop-image/CropImage.web.tsx:145
msgid "Save image crop"
msgstr "Desa la imatge retallada"
-#: src/view/screens/SavedFeeds.tsx:122
+#: src/view/screens/ProfileFeed.tsx:347
+#: src/view/screens/ProfileFeed.tsx:353
+msgid "Save to my feeds"
+msgstr "Desa-ho als meus canals"
+
+#: src/view/screens/SavedFeeds.tsx:123
msgid "Saved Feeds"
msgstr "Canals desats"
-#: src/view/com/modals/EditProfile.tsx:225
+#: src/view/com/lightbox/Lightbox.tsx:81
+msgid "Saved to your camera roll."
+msgstr "S'ha desat a la teva galeria d'imatges."
+
+#: src/view/screens/ProfileFeed.tsx:214
+msgid "Saved to your feeds"
+msgstr "S'ha desat als teus canals."
+
+#: src/view/com/modals/EditProfile.tsx:226
msgid "Saves any changes to your profile"
msgstr "Desa qualsevol canvi al teu perfil"
-#: src/view/com/modals/ChangeHandle.tsx:171
+#: src/view/com/modals/ChangeHandle.tsx:172
msgid "Saves handle change to {handle}"
msgstr "Desa el canvi d'identificador a {handle}"
+#: src/view/com/modals/crop-image/CropImage.web.tsx:146
+msgid "Saves image crop settings"
+msgstr "Desa la configuració de retall d'imatges"
+
#: src/screens/Onboarding/index.tsx:36
msgid "Science"
msgstr "Ciència"
-#: src/view/screens/ProfileList.tsx:859
+#: src/view/screens/ProfileList.tsx:875
msgid "Scroll to top"
msgstr "Desplaça't cap a dalt"
-#: src/Navigation.tsx:447
-#: src/view/com/auth/LoggedOut.tsx:122
+#: src/Navigation.tsx:451
+#: src/view/com/auth/LoggedOut.tsx:123
#: src/view/com/modals/ListAddRemoveUsers.tsx:75
#: src/view/com/util/forms/SearchInput.tsx:67
#: src/view/com/util/forms/SearchInput.tsx:79
-#: src/view/screens/Search/Search.tsx:419
-#: src/view/screens/Search/Search.tsx:668
-#: src/view/screens/Search/Search.tsx:686
-#: src/view/shell/bottom-bar/BottomBar.tsx:159
-#: src/view/shell/desktop/LeftNav.tsx:324
-#: src/view/shell/desktop/Search.tsx:214
-#: src/view/shell/desktop/Search.tsx:223
-#: src/view/shell/Drawer.tsx:362
-#: src/view/shell/Drawer.tsx:363
+#: src/view/screens/Search/Search.tsx:568
+#: src/view/screens/Search/Search.tsx:817
+#: src/view/screens/Search/Search.tsx:835
+#: src/view/shell/bottom-bar/BottomBar.tsx:170
+#: src/view/shell/desktop/LeftNav.tsx:328
+#: src/view/shell/desktop/Search.tsx:215
+#: src/view/shell/desktop/Search.tsx:224
+#: src/view/shell/Drawer.tsx:371
+#: src/view/shell/Drawer.tsx:372
msgid "Search"
msgstr "Cerca"
-#: src/view/screens/Search/Search.tsx:735
-#: src/view/shell/desktop/Search.tsx:255
+#: src/view/screens/Search/Search.tsx:884
+#: src/view/shell/desktop/Search.tsx:256
msgid "Search for \"{query}\""
msgstr "Cerca per \"{query}\""
#: src/components/TagMenu/index.tsx:145
msgid "Search for all posts by @{authorHandle} with tag {displayTag}"
-msgstr ""
+msgstr "Cerca totes les publicacions de @{authorHandle} amb l'etiqueta {displayTag}"
#: src/components/TagMenu/index.tsx:145
#~ msgid "Search for all posts by @{authorHandle} with tag {tag}"
-#~ msgstr ""
+#~ msgstr "Cerca totes les publicacions de @{authorHandle} amb l'etiqueta {tag}"
#: src/components/TagMenu/index.tsx:94
msgid "Search for all posts with tag {displayTag}"
-msgstr ""
+msgstr "Cerca totes les publicacions amb l'etiqueta {displayTag}"
#: src/components/TagMenu/index.tsx:90
#~ msgid "Search for all posts with tag {tag}"
-#~ msgstr ""
+#~ msgstr "Cerca totes les publicacions amb l'etiqueta {tag}"
-#: src/view/com/auth/LoggedOut.tsx:104
#: src/view/com/auth/LoggedOut.tsx:105
+#: src/view/com/auth/LoggedOut.tsx:106
#: src/view/com/modals/ListAddRemoveUsers.tsx:70
msgid "Search for users"
msgstr "Cerca usuaris"
@@ -3531,70 +4288,91 @@ msgstr "Es requereix un pas de seguretat"
#: src/components/TagMenu/index.web.tsx:66
msgid "See {truncatedTag} posts"
-msgstr ""
+msgstr "Mostra les publicacions amb {truncatedTag}"
#: src/components/TagMenu/index.web.tsx:83
msgid "See {truncatedTag} posts by user"
-msgstr ""
+msgstr "Mostra les publicacions amb {truncatedTag} per usuari"
#: src/components/TagMenu/index.tsx:128
msgid "See <0>{displayTag}0> posts"
-msgstr ""
+msgstr "Mostra les publicacions amb <0>{displayTag}0>"
#: src/components/TagMenu/index.tsx:187
msgid "See <0>{displayTag}0> posts by this user"
-msgstr ""
+msgstr "Mostra les publicacions amb <0>{displayTag}0> d'aquest usuari"
#: src/components/TagMenu/index.tsx:128
#~ msgid "See <0>{tag}0> posts"
-#~ msgstr ""
+#~ msgstr "Mostra les publicacions amb <0>{tag}0>"
#: src/components/TagMenu/index.tsx:189
#~ msgid "See <0>{tag}0> posts by this user"
-#~ msgstr ""
+#~ msgstr "Mostra les publicacions amb <0>{tag}0> d'aquest usuari"
-#: src/view/screens/SavedFeeds.tsx:163
+#: src/view/com/notifications/FeedItem.tsx:419
+#: src/view/com/util/UserAvatar.tsx:381
+msgid "See profile"
+msgstr ""
+
+#: src/view/screens/SavedFeeds.tsx:164
msgid "See this guide"
msgstr "Consulta aquesta guia"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:39
-msgid "See what's next"
-msgstr "Què més hi ha"
+#: src/view/com/auth/HomeLoggedOutCTA.tsx:40
+#~ msgid "See what's next"
+#~ msgstr "Què més hi ha"
#: src/view/com/util/Selector.tsx:106
msgid "Select {item}"
msgstr "Selecciona {item}"
+#: src/screens/Login/ChooseAccountForm.tsx:61
+msgid "Select account"
+msgstr "Selecciona el compte"
+
#: src/view/com/modals/ServerInput.tsx:75
#~ msgid "Select Bluesky Social"
#~ msgstr "Selecciona Bluesky Social"
-#: src/view/com/auth/login/Login.tsx:117
+#: src/screens/Login/index.tsx:120
msgid "Select from an existing account"
msgstr "Selecciona d'un compte existent"
+#: src/view/screens/LanguageSettings.tsx:299
+msgid "Select languages"
+msgstr "Selecciona els idiomes"
+
+#: src/components/ReportDialog/SelectLabelerView.tsx:30
+msgid "Select moderator"
+msgstr "Selecciona el moderador"
+
#: src/view/com/util/Selector.tsx:107
msgid "Select option {i} of {numItems}"
msgstr "Selecciona l'opció {i} de {numItems}"
#: src/view/com/auth/create/Step1.tsx:96
-#: src/view/com/auth/login/LoginForm.tsx:150
-msgid "Select service"
-msgstr "Selecciona el servei"
+#: src/view/com/auth/login/LoginForm.tsx:153
+#~ msgid "Select service"
+#~ msgstr "Selecciona el servei"
#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:52
msgid "Select some accounts below to follow"
-msgstr "Selecciona alguns d'aquests comptes per seguir-los"
+msgstr "Selecciona alguns d'aquests comptes per a seguir-los"
+
+#: src/components/ReportDialog/SubmitView.tsx:133
+msgid "Select the moderation service(s) to report to"
+msgstr "Selecciona els serveis de moderació als quals voleu informar"
#: src/view/com/auth/server-input/index.tsx:82
msgid "Select the service that hosts your data."
msgstr "Selecciona el servei que allotja les teves dades."
-#: src/screens/Onboarding/StepTopicalFeeds.tsx:96
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:100
msgid "Select topical feeds to follow from the list below"
-msgstr "Selecciona els canals d'actualitat per seguir d'aquesta llista"
+msgstr "Selecciona els canals d'actualitat per a seguir d'aquesta llista"
-#: src/screens/Onboarding/StepModeration/index.tsx:75
+#: src/screens/Onboarding/StepModeration/index.tsx:63
msgid "Select what you want to see (or not see), and we’ll handle the rest."
msgstr "Selecciona què vols veure (o què no vols veure) i nosaltres farem la resta."
@@ -3603,12 +4381,20 @@ msgid "Select which languages you want your subscribed feeds to include. If none
msgstr "Selecciona quins idiomes vols que incloguin els canals a què estàs subscrit. Si no en selecciones cap, es mostraran tots."
#: src/view/screens/LanguageSettings.tsx:98
-msgid "Select your app language for the default text to display in the app"
-msgstr "Selecciona l'idioma de l'aplicació perquè el text predeterminat es mostri en aquesta"
+#~ msgid "Select your app language for the default text to display in the app"
+#~ msgstr "Selecciona l'idioma de l'aplicació perquè el text predeterminat es mostri en aquesta"
-#: src/screens/Onboarding/StepInterests/index.tsx:196
+#: src/view/screens/LanguageSettings.tsx:98
+msgid "Select your app language for the default text to display in the app."
+msgstr "Selecciona l'idioma de l'aplicació perquè el text predeterminat es mostri a l'aplicació."
+
+#: src/screens/Signup/StepInfo/index.tsx:135
+msgid "Select your date of birth"
+msgstr "Selecciona la teva data de naixement"
+
+#: src/screens/Onboarding/StepInterests/index.tsx:200
msgid "Select your interests from the options below"
-msgstr "Selecciona els teus interesos d'entre aquestes opcions"
+msgstr "Selecciona els teus interessos d'entre aquestes opcions"
#: src/view/com/auth/create/Step2.tsx:155
#~ msgid "Select your phone's country"
@@ -3618,11 +4404,11 @@ msgstr "Selecciona els teus interesos d'entre aquestes opcions"
msgid "Select your preferred language for translations in your feed."
msgstr "Selecciona el teu idioma preferit per a les traduccions al teu canal."
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:116
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:117
msgid "Select your primary algorithmic feeds"
msgstr "Selecciona els teus canals algorítmics primaris"
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:142
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:133
msgid "Select your secondary algorithmic feeds"
msgstr "Selecciona els teus canals algorítmics secundaris"
@@ -3631,11 +4417,11 @@ msgstr "Selecciona els teus canals algorítmics secundaris"
msgid "Send Confirmation Email"
msgstr "Envia correu de confirmació"
-#: src/view/com/modals/DeleteAccount.tsx:131
+#: src/view/com/modals/DeleteAccount.tsx:130
msgid "Send email"
msgstr "Envia correu"
-#: src/view/com/modals/DeleteAccount.tsx:144
+#: src/view/com/modals/DeleteAccount.tsx:143
msgctxt "action"
msgid "Send Email"
msgstr "Envia correu"
@@ -3644,111 +4430,156 @@ msgstr "Envia correu"
#~ msgid "Send Email"
#~ msgstr "Envia correu"
-#: src/view/shell/Drawer.tsx:295
-#: src/view/shell/Drawer.tsx:316
+#: src/view/shell/Drawer.tsx:304
+#: src/view/shell/Drawer.tsx:325
msgid "Send feedback"
msgstr "Envia comentari"
-#: src/view/com/modals/report/SendReportButton.tsx:45
-msgid "Send Report"
+#: src/components/ReportDialog/SubmitView.tsx:213
+#: src/components/ReportDialog/SubmitView.tsx:217
+msgid "Send report"
msgstr "Envia informe"
-#: src/view/com/modals/DeleteAccount.tsx:133
+#: src/view/com/modals/report/SendReportButton.tsx:45
+#~ msgid "Send Report"
+#~ msgstr "Envia informe"
+
+#: src/components/ReportDialog/SelectLabelerView.tsx:44
+msgid "Send report to {0}"
+msgstr "Envia informe a {0}"
+
+#: src/view/com/modals/DeleteAccount.tsx:132
msgid "Sends email with confirmation code for account deletion"
msgstr "Envia un correu amb el codi de confirmació per l'eliminació del compte"
-#: src/view/com/auth/server-input/index.tsx:110
+#: src/view/com/auth/server-input/index.tsx:114
msgid "Server address"
msgstr "Adreça del servidor"
#: src/view/com/modals/ContentFilteringSettings.tsx:311
-msgid "Set {value} for {labelGroup} content moderation policy"
-msgstr "Estableix {value} per a la política de moderació de contingut {labelGroup}"
+#~ msgid "Set {value} for {labelGroup} content moderation policy"
+#~ msgstr "Estableix {value} per a la política de moderació de contingut {labelGroup}"
#: src/view/com/modals/ContentFilteringSettings.tsx:160
#: src/view/com/modals/ContentFilteringSettings.tsx:179
-msgctxt "action"
-msgid "Set Age"
-msgstr "Estableix l'edat"
+#~ msgctxt "action"
+#~ msgid "Set Age"
+#~ msgstr "Estableix l'edat"
+
+#: src/screens/Moderation/index.tsx:304
+msgid "Set birthdate"
+msgstr "Estableix la data de naixement"
#: src/view/screens/Settings/index.tsx:488
-msgid "Set color theme to dark"
-msgstr "Estableix el tema de colors a fosc"
+#~ msgid "Set color theme to dark"
+#~ msgstr "Estableix el tema de colors a fosc"
#: src/view/screens/Settings/index.tsx:481
-msgid "Set color theme to light"
-msgstr "Estableix el tema de colors a clar"
+#~ msgid "Set color theme to light"
+#~ msgstr "Estableix el tema de colors a clar"
#: src/view/screens/Settings/index.tsx:475
-msgid "Set color theme to system setting"
-msgstr "Estableix el tema de colors a la configuració del sistema"
+#~ msgid "Set color theme to system setting"
+#~ msgstr "Estableix el tema de colors a la configuració del sistema"
#: src/view/screens/Settings/index.tsx:514
-msgid "Set dark theme to the dark theme"
-msgstr "Posa el tema fosc"
+#~ msgid "Set dark theme to the dark theme"
+#~ msgstr "Posa el tema fosc"
#: src/view/screens/Settings/index.tsx:507
-msgid "Set dark theme to the dim theme"
-msgstr "Posa el tema fosc al tema atenuat"
+#~ msgid "Set dark theme to the dim theme"
+#~ msgstr "Posa el tema fosc al tema atenuat"
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:104
+#: src/screens/Login/SetNewPasswordForm.tsx:102
msgid "Set new password"
msgstr "Estableix una nova contrasenya"
#: src/view/com/auth/create/Step1.tsx:202
-msgid "Set password"
-msgstr "Estableix una contrasenya"
+#~ msgid "Set password"
+#~ msgstr "Estableix una contrasenya"
#: src/view/screens/PreferencesFollowingFeed.tsx:225
msgid "Set this setting to \"No\" to hide all quote posts from your feed. Reposts will still be visible."
-msgstr "Posa \"No\" a aquesta opció per amagar totes les publicacions citades del teu canal. Les republicacions encara seran visibles."
+msgstr "Posa \"No\" a aquesta opció per a amagar totes les publicacions citades del teu canal. Les republicacions encara seran visibles."
#: src/view/screens/PreferencesFollowingFeed.tsx:122
msgid "Set this setting to \"No\" to hide all replies from your feed."
-msgstr "Posa \"No\" a aquesta opció per amagar totes les respostes del teu canal."
+msgstr "Posa \"No\" a aquesta opció per a amagar totes les respostes del teu canal."
#: src/view/screens/PreferencesFollowingFeed.tsx:191
msgid "Set this setting to \"No\" to hide all reposts from your feed."
-msgstr "Posa \"No\" a aquesta opció per amagar totes les republicacions del teu canal."
+msgstr "Posa \"No\" a aquesta opció per a amagar totes les republicacions del teu canal."
#: src/view/screens/PreferencesThreads.tsx:122
msgid "Set this setting to \"Yes\" to show replies in a threaded view. This is an experimental feature."
-msgstr "Posa \"Sí\" a aquesta opció per mostrar les respostes en vista de fil de debat. Aquesta és una opció experimental."
+msgstr "Posa \"Sí\" a aquesta opció per a mostrar les respostes en vista de fil de debat. Aquesta és una opció experimental."
#: src/view/screens/PreferencesHomeFeed.tsx:261
#~ msgid "Set this setting to \"Yes\" to show samples of your saved feeds in your following feed. This is an experimental feature."
-#~ msgstr "Posa \"Sí\" a aquesta opció per mostrar algunes publicacions dels teus canals en el teu canal de seguits. Aquesta és una opció experimental."
+#~ msgstr "Posa \"Sí\" a aquesta opció per a mostrar algunes publicacions dels teus canals en el teu canal de seguits. Aquesta és una opció experimental."
#: src/view/screens/PreferencesFollowingFeed.tsx:261
msgid "Set this setting to \"Yes\" to show samples of your saved feeds in your Following feed. This is an experimental feature."
-msgstr ""
+msgstr "Estableix aquesta configuració a \"Sí\" per a mostrar mostres dels teus canals desats al teu canal Seguint. Aquesta és una característica experimental."
-#: src/screens/Onboarding/Layout.tsx:50
+#: src/screens/Onboarding/Layout.tsx:48
msgid "Set up your account"
msgstr "Configura el teu compte"
-#: src/view/com/modals/ChangeHandle.tsx:266
+#: src/view/com/modals/ChangeHandle.tsx:267
msgid "Sets Bluesky username"
msgstr "Estableix un nom d'usuari de Bluesky"
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:157
+#: src/view/screens/Settings/index.tsx:458
+msgid "Sets color theme to dark"
+msgstr "Estableix el tema a fosc"
+
+#: src/view/screens/Settings/index.tsx:451
+msgid "Sets color theme to light"
+msgstr "Estableix el tema a clar"
+
+#: src/view/screens/Settings/index.tsx:445
+msgid "Sets color theme to system setting"
+msgstr "Estableix el tema a la configuració del sistema"
+
+#: src/view/screens/Settings/index.tsx:484
+msgid "Sets dark theme to the dark theme"
+msgstr "Estableix el tema fosc al tema fosc"
+
+#: src/view/screens/Settings/index.tsx:477
+msgid "Sets dark theme to the dim theme"
+msgstr "Estableix el tema fosc al tema atenuat"
+
+#: src/screens/Login/ForgotPasswordForm.tsx:113
msgid "Sets email for password reset"
-msgstr "Estableix un correu per restablir la contrasenya"
+msgstr "Estableix un correu per a restablir la contrasenya"
#: src/view/com/auth/login/ForgotPasswordForm.tsx:122
-msgid "Sets hosting provider for password reset"
-msgstr "Estableix un proveïdor d'allotjament per restablir la contrasenya"
+#~ msgid "Sets hosting provider for password reset"
+#~ msgstr "Estableix un proveïdor d'allotjament per a restablir la contrasenya"
+
+#: src/view/com/modals/crop-image/CropImage.web.tsx:124
+msgid "Sets image aspect ratio to square"
+msgstr "Estableix la relació d'aspecte de la imatge com a quadrat"
+
+#: src/view/com/modals/crop-image/CropImage.web.tsx:114
+msgid "Sets image aspect ratio to tall"
+msgstr "Estableix la relació d'aspecte de la imatge com a alta"
+
+#: src/view/com/modals/crop-image/CropImage.web.tsx:104
+msgid "Sets image aspect ratio to wide"
+msgstr "Estableix la relació d'aspecte de la imatge com a ampla"
#: src/view/com/auth/create/Step1.tsx:97
-#: src/view/com/auth/login/LoginForm.tsx:151
-msgid "Sets server for the Bluesky client"
-msgstr "Estableix el servidor pel cient de Bluesky"
+#: src/view/com/auth/login/LoginForm.tsx:154
+#~ msgid "Sets server for the Bluesky client"
+#~ msgstr "Estableix el servidor pel cient de Bluesky"
-#: src/Navigation.tsx:137
-#: src/view/screens/Settings/index.tsx:294
-#: src/view/shell/desktop/LeftNav.tsx:433
-#: src/view/shell/Drawer.tsx:567
-#: src/view/shell/Drawer.tsx:568
+#: src/Navigation.tsx:139
+#: src/view/screens/Settings/index.tsx:316
+#: src/view/shell/desktop/LeftNav.tsx:437
+#: src/view/shell/Drawer.tsx:576
+#: src/view/shell/Drawer.tsx:577
msgid "Settings"
msgstr "Configuració"
@@ -3756,28 +4587,49 @@ msgstr "Configuració"
msgid "Sexual activity or erotic nudity."
msgstr "Activitat sexual o nu eròtic."
+#: src/lib/moderation/useGlobalLabelStrings.ts:38
+msgid "Sexually Suggestive"
+msgstr "Suggerent sexualment"
+
#: src/view/com/lightbox/Lightbox.tsx:141
msgctxt "action"
msgid "Share"
msgstr "Comparteix"
-#: src/view/com/profile/ProfileHeader.tsx:295
-#: src/view/com/util/forms/PostDropdownBtn.tsx:231
-#: src/view/com/util/forms/PostDropdownBtn.tsx:237
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:215
-#: src/view/screens/ProfileList.tsx:418
+#: src/view/com/profile/ProfileMenu.tsx:215
+#: src/view/com/profile/ProfileMenu.tsx:224
+#: src/view/com/util/forms/PostDropdownBtn.tsx:236
+#: src/view/com/util/forms/PostDropdownBtn.tsx:245
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:237
+#: src/view/screens/ProfileList.tsx:390
msgid "Share"
msgstr "Comparteix"
-#: src/view/screens/ProfileFeed.tsx:305
+#: src/view/com/profile/ProfileMenu.tsx:373
+#: src/view/com/util/forms/PostDropdownBtn.tsx:369
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:253
+msgid "Share anyway"
+msgstr "Comparteix de totes maneres"
+
+#: src/view/screens/ProfileFeed.tsx:373
+#: src/view/screens/ProfileFeed.tsx:375
msgid "Share feed"
msgstr "Comparteix el canal"
-#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:43
-#: src/view/com/modals/ContentFilteringSettings.tsx:266
-#: src/view/com/util/moderation/ContentHider.tsx:107
-#: src/view/com/util/moderation/PostHider.tsx:108
-#: src/view/screens/Settings/index.tsx:344
+#: src/view/com/modals/LinkWarning.tsx:89
+#: src/view/com/modals/LinkWarning.tsx:95
+msgid "Share Link"
+msgstr "Comparteix l'enllaç"
+
+#: src/view/com/modals/LinkWarning.tsx:92
+msgid "Shares the linked website"
+msgstr "Comparteix la web enllaçada"
+
+#: src/components/moderation/ContentHider.tsx:115
+#: src/components/moderation/LabelPreference.tsx:136
+#: src/components/moderation/PostHider.tsx:107
+#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:54
+#: src/view/screens/Settings/index.tsx:366
msgid "Show"
msgstr "Mostra"
@@ -3785,21 +4637,31 @@ msgstr "Mostra"
msgid "Show all replies"
msgstr "Mostra totes les respostes"
-#: src/view/com/util/moderation/ScreenHider.tsx:132
+#: src/components/moderation/ScreenHider.tsx:169
+#: src/components/moderation/ScreenHider.tsx:172
msgid "Show anyway"
msgstr "Mostra igualment"
-#: src/view/com/modals/EmbedConsent.tsx:87
-msgid "Show embeds from {0}"
-msgstr "Mostra els incrustats de {0}"
+#: src/lib/moderation/useLabelBehaviorDescription.ts:27
+#: src/lib/moderation/useLabelBehaviorDescription.ts:63
+msgid "Show badge"
+msgstr "Mostra la insígnia"
-#: src/view/com/profile/ProfileHeader.tsx:459
+#: src/lib/moderation/useLabelBehaviorDescription.ts:61
+msgid "Show badge and filter from feeds"
+msgstr "Mostra la insígnia i filtra-ho dels canals"
+
+#: src/view/com/modals/EmbedConsent.tsx:87
+#~ msgid "Show embeds from {0}"
+#~ msgstr "Mostra els incrustats de {0}"
+
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:200
msgid "Show follows similar to {0}"
msgstr "Mostra seguidors semblants a {0}"
-#: src/view/com/post-thread/PostThreadItem.tsx:538
-#: src/view/com/post/Post.tsx:198
-#: src/view/com/posts/FeedItem.tsx:363
+#: src/view/com/post-thread/PostThreadItem.tsx:501
+#: src/view/com/post/Post.tsx:212
+#: src/view/com/posts/FeedItem.tsx:360
msgid "Show More"
msgstr "Mostra més"
@@ -3811,15 +4673,15 @@ msgstr "Mostra les publicacions dels meus canals"
msgid "Show Quote Posts"
msgstr "Mostra les publicacions citades"
-#: src/screens/Onboarding/StepFollowingFeed.tsx:118
+#: src/screens/Onboarding/StepFollowingFeed.tsx:119
msgid "Show quote-posts in Following feed"
msgstr "Mostra les publicacions citades en el canal Seguint"
-#: src/screens/Onboarding/StepFollowingFeed.tsx:134
+#: src/screens/Onboarding/StepFollowingFeed.tsx:135
msgid "Show quotes in Following"
msgstr "Mostra els citats a Seguint"
-#: src/screens/Onboarding/StepFollowingFeed.tsx:94
+#: src/screens/Onboarding/StepFollowingFeed.tsx:95
msgid "Show re-posts in Following feed"
msgstr "Mostra les republicacions al canal Seguint"
@@ -3831,13 +4693,13 @@ msgstr "Mostra les respostes"
msgid "Show replies by people you follow before all other replies."
msgstr "Mostra les respostes dels comptes que segueixes abans que les altres."
-#: src/screens/Onboarding/StepFollowingFeed.tsx:86
+#: src/screens/Onboarding/StepFollowingFeed.tsx:87
msgid "Show replies in Following"
msgstr "Mostra les respostes a Seguint"
-#: src/screens/Onboarding/StepFollowingFeed.tsx:70
+#: src/screens/Onboarding/StepFollowingFeed.tsx:71
msgid "Show replies in Following feed"
-msgstr "Mostrea les respostes al canal Seguint"
+msgstr "Mostra les respostes al canal Seguint"
#: src/view/screens/PreferencesFollowingFeed.tsx:70
msgid "Show replies with at least {value} {0}"
@@ -3847,107 +4709,127 @@ msgstr "Mostra respostes amb almenys {value} {0}"
msgid "Show Reposts"
msgstr "Mostra republicacions"
-#: src/screens/Onboarding/StepFollowingFeed.tsx:110
+#: src/screens/Onboarding/StepFollowingFeed.tsx:111
msgid "Show reposts in Following"
msgstr "Mostra les republicacions al canal Seguint"
-#: src/view/com/util/moderation/ContentHider.tsx:67
-#: src/view/com/util/moderation/PostHider.tsx:61
+#: src/components/moderation/ContentHider.tsx:68
+#: src/components/moderation/PostHider.tsx:64
msgid "Show the content"
msgstr "Mostra el contingut"
-#: src/view/com/notifications/FeedItem.tsx:347
+#: src/view/com/notifications/FeedItem.tsx:353
msgid "Show users"
msgstr "Mostra usuaris"
-#: src/view/com/profile/ProfileHeader.tsx:462
-msgid "Shows a list of users similar to this user."
-msgstr "Mostra una llista d'usuaris semblants a aquest"
+#: src/lib/moderation/useLabelBehaviorDescription.ts:58
+msgid "Show warning"
+msgstr "Mostra l'advertiment"
-#: src/view/com/post-thread/PostThreadFollowBtn.tsx:124
-#: src/view/com/profile/ProfileHeader.tsx:506
+#: src/lib/moderation/useLabelBehaviorDescription.ts:56
+msgid "Show warning and filter from feeds"
+msgstr "Mostra l'advertiment i filtra-ho del canals"
+
+#: src/view/com/profile/ProfileHeader.tsx:462
+#~ msgid "Shows a list of users similar to this user."
+#~ msgstr "Mostra una llista d'usuaris semblants a aquest"
+
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:130
msgid "Shows posts from {0} in your feed"
msgstr "Mostra les publicacions de {0} al teu canal"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:70
-#: src/view/com/auth/login/Login.tsx:98
-#: src/view/com/auth/SplashScreen.tsx:79
-#: src/view/shell/bottom-bar/BottomBar.tsx:285
-#: src/view/shell/bottom-bar/BottomBar.tsx:286
-#: src/view/shell/bottom-bar/BottomBar.tsx:288
+#: src/components/dialogs/Signin.tsx:97
+#: src/components/dialogs/Signin.tsx:99
+#: src/screens/Login/index.tsx:100
+#: src/screens/Login/index.tsx:119
+#: src/screens/Login/LoginForm.tsx:131
+#: src/view/com/auth/SplashScreen.tsx:63
+#: src/view/com/auth/SplashScreen.tsx:72
+#: src/view/com/auth/SplashScreen.web.tsx:107
+#: src/view/com/auth/SplashScreen.web.tsx:116
+#: src/view/shell/bottom-bar/BottomBar.tsx:301
+#: src/view/shell/bottom-bar/BottomBar.tsx:302
+#: src/view/shell/bottom-bar/BottomBar.tsx:304
#: src/view/shell/bottom-bar/BottomBarWeb.tsx:178
#: src/view/shell/bottom-bar/BottomBarWeb.tsx:179
#: src/view/shell/bottom-bar/BottomBarWeb.tsx:181
-#: src/view/shell/NavSignupCard.tsx:58
-#: src/view/shell/NavSignupCard.tsx:59
+#: src/view/shell/NavSignupCard.tsx:63
+#: src/view/shell/NavSignupCard.tsx:64
+#: src/view/shell/NavSignupCard.tsx:66
msgid "Sign in"
msgstr "Inicia sessió"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:78
-#: src/view/com/auth/SplashScreen.tsx:82
+#: src/view/com/auth/HomeLoggedOutCTA.tsx:82
+#: src/view/com/auth/SplashScreen.tsx:86
#: src/view/com/auth/SplashScreen.web.tsx:91
-msgid "Sign In"
-msgstr "Inicia sessió"
+#~ msgid "Sign In"
+#~ msgstr "Inicia sessió"
-#: src/view/com/auth/login/ChooseAccountForm.tsx:44
+#: src/components/AccountList.tsx:109
msgid "Sign in as {0}"
msgstr "Inicia sessió com a {0}"
-#: src/view/com/auth/login/ChooseAccountForm.tsx:118
-#: src/view/com/auth/login/Login.tsx:116
+#: src/screens/Login/ChooseAccountForm.tsx:64
msgid "Sign in as..."
msgstr "Inicia sessió com a …"
-#: src/view/com/auth/login/LoginForm.tsx:137
-msgid "Sign into"
-msgstr "Inicia sessió en"
+#: src/components/dialogs/Signin.tsx:75
+msgid "Sign in or create your account to join the conversation!"
+msgstr ""
-#: src/view/com/modals/SwitchAccount.tsx:64
-#: src/view/com/modals/SwitchAccount.tsx:69
-#: src/view/screens/Settings/index.tsx:100
-#: src/view/screens/Settings/index.tsx:103
+#: src/view/com/auth/login/LoginForm.tsx:140
+#~ msgid "Sign into"
+#~ msgstr "Inicia sessió en"
+
+#: src/components/dialogs/Signin.tsx:46
+msgid "Sign into Bluesky or create a new account"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:118
+#: src/view/screens/Settings/index.tsx:121
msgid "Sign out"
msgstr "Tanca sessió"
-#: src/view/shell/bottom-bar/BottomBar.tsx:275
-#: src/view/shell/bottom-bar/BottomBar.tsx:276
-#: src/view/shell/bottom-bar/BottomBar.tsx:278
+#: src/view/shell/bottom-bar/BottomBar.tsx:291
+#: src/view/shell/bottom-bar/BottomBar.tsx:292
+#: src/view/shell/bottom-bar/BottomBar.tsx:294
#: src/view/shell/bottom-bar/BottomBarWeb.tsx:168
#: src/view/shell/bottom-bar/BottomBarWeb.tsx:169
#: src/view/shell/bottom-bar/BottomBarWeb.tsx:171
-#: src/view/shell/NavSignupCard.tsx:49
-#: src/view/shell/NavSignupCard.tsx:50
-#: src/view/shell/NavSignupCard.tsx:52
+#: src/view/shell/NavSignupCard.tsx:54
+#: src/view/shell/NavSignupCard.tsx:55
+#: src/view/shell/NavSignupCard.tsx:57
msgid "Sign up"
msgstr "Registra't"
-#: src/view/shell/NavSignupCard.tsx:42
+#: src/view/shell/NavSignupCard.tsx:47
msgid "Sign up or sign in to join the conversation"
-msgstr "Registra't o inicia sessió per unir-te a la conversa"
+msgstr "Registra't o inicia sessió per a unir-te a la conversa"
-#: src/view/com/util/moderation/ScreenHider.tsx:76
+#: src/components/moderation/ScreenHider.tsx:97
+#: src/lib/moderation/useGlobalLabelStrings.ts:28
msgid "Sign-in Required"
msgstr "Es requereix iniciar sessió"
-#: src/view/screens/Settings/index.tsx:355
+#: src/view/screens/Settings/index.tsx:377
msgid "Signed in as"
msgstr "S'ha iniciat sessió com a"
-#: src/view/com/auth/login/ChooseAccountForm.tsx:103
+#: src/screens/Login/ChooseAccountForm.tsx:48
msgid "Signed in as @{0}"
-msgstr "Sha iniciat sessió com a @{0}"
+msgstr "S'ha iniciat sessió com a @{0}"
-#: src/view/com/modals/SwitchAccount.tsx:66
-msgid "Signs {0} out of Bluesky"
-msgstr "Tanca la sessió de Bluesky de {0}"
+#: src/view/com/modals/SwitchAccount.tsx:70
+#~ msgid "Signs {0} out of Bluesky"
+#~ msgstr "Tanca la sessió de Bluesky de {0}"
-#: src/screens/Onboarding/StepInterests/index.tsx:235
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:195
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:33
+#: src/screens/Onboarding/StepInterests/index.tsx:239
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:203
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:35
msgid "Skip"
msgstr "Salta aquest pas"
-#: src/screens/Onboarding/StepInterests/index.tsx:232
+#: src/screens/Onboarding/StepInterests/index.tsx:236
msgid "Skip this flow"
msgstr "Salta aquest flux"
@@ -3963,17 +4845,23 @@ msgstr "Desenvolupament de programari"
#~ msgid "Something went wrong and we're not sure what."
#~ msgstr "Alguna cosa ha fallat i no estem segurs de què."
+#: src/components/ReportDialog/index.tsx:59
+#: src/screens/Moderation/index.tsx:114
+#: src/screens/Profile/Sections/Labels.tsx:87
+msgid "Something went wrong, please try again."
+msgstr "Alguna cosa ha fallat, torna-ho a provar."
+
#: src/components/Lists.tsx:203
-msgid "Something went wrong!"
-msgstr ""
+#~ msgid "Something went wrong!"
+#~ msgstr "Alguna cosa ha fallat."
#: src/view/com/modals/Waitlist.tsx:51
#~ msgid "Something went wrong. Check your email and try again."
#~ msgstr "Alguna cosa ha fallat. Comprova el teu correu i torna-ho a provar."
-#: src/App.native.tsx:66
+#: src/App.native.tsx:64
msgid "Sorry! Your session expired. Please log in again."
-msgstr "La teva sessió ha caducat. Torna a inciar-la."
+msgstr "La teva sessió ha caducat. Torna a iniciar-la."
#: src/view/screens/PreferencesThreads.tsx:69
msgid "Sort Replies"
@@ -3983,11 +4871,23 @@ msgstr "Ordena les respostes"
msgid "Sort replies to the same post by:"
msgstr "Ordena les respostes a la mateixa publicació per:"
+#: src/components/moderation/LabelsOnMeDialog.tsx:146
+msgid "Source:"
+msgstr "Font:"
+
+#: src/lib/moderation/useReportOptions.ts:65
+msgid "Spam"
+msgstr "Brossa"
+
+#: src/lib/moderation/useReportOptions.ts:53
+msgid "Spam; excessive mentions or replies"
+msgstr "Brossa; excessives mencions o respostes"
+
#: src/screens/Onboarding/index.tsx:30
msgid "Sports"
msgstr "Esports"
-#: src/view/com/modals/crop-image/CropImage.web.tsx:122
+#: src/view/com/modals/crop-image/CropImage.web.tsx:123
msgid "Square"
msgstr "Quadrat"
@@ -3995,45 +4895,62 @@ msgstr "Quadrat"
#~ msgid "Staging"
#~ msgstr "Posada en escena"
-#: src/view/screens/Settings/index.tsx:871
+#: src/view/screens/Settings/index.tsx:867
msgid "Status page"
msgstr "Pàgina d'estat"
-#: src/view/com/auth/create/StepHeader.tsx:22
-msgid "Step {0} of {numSteps}"
-msgstr "Pas {0} de {numSteps}"
+#: src/screens/Signup/index.tsx:143
+msgid "Step"
+msgstr "Pas"
-#: src/view/screens/Settings/index.tsx:274
+#: src/view/com/auth/create/StepHeader.tsx:22
+#~ msgid "Step {0} of {numSteps}"
+#~ msgstr "Pas {0} de {numSteps}"
+
+#: src/view/screens/Settings/index.tsx:295
msgid "Storage cleared, you need to restart the app now."
msgstr "L'emmagatzematge s'ha esborrat, cal que reinicieu l'aplicació ara."
-#: src/Navigation.tsx:204
-#: src/view/screens/Settings/index.tsx:807
+#: src/Navigation.tsx:211
+#: src/view/screens/Settings/index.tsx:795
msgid "Storybook"
msgstr "Historial"
-#: src/view/com/modals/AppealLabel.tsx:101
+#: src/components/moderation/LabelsOnMeDialog.tsx:255
+#: src/components/moderation/LabelsOnMeDialog.tsx:256
msgid "Submit"
msgstr "Envia"
-#: src/view/screens/ProfileList.tsx:608
+#: src/view/screens/ProfileList.tsx:592
msgid "Subscribe"
msgstr "Subscriure's"
-#: src/screens/Onboarding/StepAlgoFeeds/FeedCard.tsx:173
-#: src/screens/Onboarding/StepAlgoFeeds/FeedCard.tsx:308
+#: src/screens/Profile/Sections/Labels.tsx:191
+msgid "Subscribe to @{0} to use these labels:"
+msgstr "Subscriu-te a @{0} per a utilitzar aquestes etiquetes:"
+
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:227
+msgid "Subscribe to Labeler"
+msgstr "Subscriu-te a l'Etiquetador"
+
+#: src/screens/Onboarding/StepAlgoFeeds/FeedCard.tsx:172
+#: src/screens/Onboarding/StepAlgoFeeds/FeedCard.tsx:307
msgid "Subscribe to the {0} feed"
msgstr "Subscriu-te al canal {0}"
-#: src/view/screens/ProfileList.tsx:604
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:191
+msgid "Subscribe to this labeler"
+msgstr "Subscriu-te a aquest etiquetador"
+
+#: src/view/screens/ProfileList.tsx:588
msgid "Subscribe to this list"
msgstr "Subscriure's a la llista"
-#: src/view/screens/Search/Search.tsx:374
+#: src/view/screens/Search/Search.tsx:523
msgid "Suggested Follows"
-msgstr "Usuaris suggerits per seguir"
+msgstr "Usuaris suggerits per a seguir"
-#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:64
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:65
msgid "Suggested for you"
msgstr "Suggeriments per tu"
@@ -4041,7 +4958,7 @@ msgstr "Suggeriments per tu"
msgid "Suggestive"
msgstr "Suggerent"
-#: src/Navigation.tsx:214
+#: src/Navigation.tsx:226
#: src/view/screens/Support.tsx:30
#: src/view/screens/Support.tsx:33
msgid "Support"
@@ -4049,49 +4966,48 @@ msgstr "Suport"
#: src/view/com/modals/ProfilePreview.tsx:110
#~ msgid "Swipe up to see more"
-#~ msgstr "Llisca cap amunt per veure'n més"
+#~ msgstr "Llisca cap amunt per a veure'n més"
-#: src/view/com/modals/SwitchAccount.tsx:117
+#: src/components/dialogs/SwitchAccount.tsx:46
+#: src/components/dialogs/SwitchAccount.tsx:49
msgid "Switch Account"
msgstr "Canvia el compte"
-#: src/view/com/modals/SwitchAccount.tsx:97
-#: src/view/screens/Settings/index.tsx:130
+#: src/view/screens/Settings/index.tsx:150
msgid "Switch to {0}"
msgstr "Canvia a {0}"
-#: src/view/com/modals/SwitchAccount.tsx:98
-#: src/view/screens/Settings/index.tsx:131
+#: src/view/screens/Settings/index.tsx:151
msgid "Switches the account you are logged in to"
msgstr "Canvia en compte amb el que tens iniciada la sessió"
-#: src/view/screens/Settings/index.tsx:472
+#: src/view/screens/Settings/index.tsx:442
msgid "System"
msgstr "Sistema"
-#: src/view/screens/Settings/index.tsx:795
+#: src/view/screens/Settings/index.tsx:783
msgid "System log"
msgstr "Registres del sistema"
-#: src/components/dialogs/MutedWords.tsx:337
+#: src/components/dialogs/MutedWords.tsx:323
msgid "tag"
-msgstr ""
+msgstr "etiqueta"
#: src/components/TagMenu/index.tsx:78
msgid "Tag menu: {displayTag}"
-msgstr ""
+msgstr "Menú d'etiquetes: {displayTag}"
#: src/components/TagMenu/index.tsx:74
#~ msgid "Tag menu: {tag}"
-#~ msgstr ""
+#~ msgstr "Menú d'etiquetes: {displayTag}"
-#: src/view/com/modals/crop-image/CropImage.web.tsx:112
+#: src/view/com/modals/crop-image/CropImage.web.tsx:113
msgid "Tall"
msgstr "Alt"
#: src/view/com/util/images/AutoSizedImage.tsx:70
msgid "Tap to view fully"
-msgstr "Toca per veure-ho completament"
+msgstr "Toca per a veure-ho completament"
#: src/screens/Onboarding/index.tsx:39
msgid "Tech"
@@ -4101,30 +5017,49 @@ msgstr "Tecnologia"
msgid "Terms"
msgstr "Condicions"
-#: src/Navigation.tsx:224
-#: src/view/screens/Settings/index.tsx:885
+#: src/Navigation.tsx:236
+#: src/screens/Signup/StepInfo/Policies.tsx:49
+#: src/view/screens/Settings/index.tsx:881
#: src/view/screens/TermsOfService.tsx:29
-#: src/view/shell/Drawer.tsx:256
+#: src/view/shell/Drawer.tsx:265
msgid "Terms of Service"
msgstr "Condicions del servei"
-#: src/components/dialogs/MutedWords.tsx:337
-msgid "text"
-msgstr ""
+#: src/lib/moderation/useReportOptions.ts:58
+#: src/lib/moderation/useReportOptions.ts:79
+#: src/lib/moderation/useReportOptions.ts:87
+msgid "Terms used violate community standards"
+msgstr "Els termes utilitzats infringeixen els estàndards de la comunitat"
-#: src/view/com/modals/AppealLabel.tsx:70
-#: src/view/com/modals/report/InputIssueDetails.tsx:51
+#: src/components/dialogs/MutedWords.tsx:323
+msgid "text"
+msgstr "text"
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:219
msgid "Text input field"
msgstr "Camp d'introducció de text"
-#: src/view/com/auth/create/CreateAccount.tsx:94
-msgid "That handle is already taken."
-msgstr ""
+#: src/components/ReportDialog/SubmitView.tsx:76
+msgid "Thank you. Your report has been sent."
+msgstr "Gràcies. El teu informe s'ha enviat."
-#: src/view/com/profile/ProfileHeader.tsx:263
+#: src/view/com/modals/ChangeHandle.tsx:465
+msgid "That contains the following:"
+msgstr "Això conté els següents:"
+
+#: src/screens/Signup/index.tsx:85
+msgid "That handle is already taken."
+msgstr "Aquest identificador ja està agafat."
+
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:282
+#: src/view/com/profile/ProfileMenu.tsx:349
msgid "The account will be able to interact with you after unblocking."
msgstr "El compte podrà interactuar amb tu després del desbloqueig."
+#: src/components/moderation/ModerationDetailsDialog.tsx:127
+msgid "the author"
+msgstr "l'autor"
+
#: src/view/screens/CommunityGuidelines.tsx:36
msgid "The Community Guidelines have been moved to <0/>"
msgstr "Les directrius de la comunitat han estat traslladades a <0/>"
@@ -4133,11 +5068,20 @@ msgstr "Les directrius de la comunitat han estat traslladades a <0/>"
msgid "The Copyright Policy has been moved to <0/>"
msgstr "La política de drets d'autoria ha estat traslladada a <0/>"
-#: src/screens/Onboarding/Layout.tsx:60
+#: src/components/moderation/LabelsOnMeDialog.tsx:48
+msgid "The following labels were applied to your account."
+msgstr "Les següents etiquetes s'han aplicat al teu compte."
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:49
+msgid "The following labels were applied to your content."
+msgstr "Les següents etiquetes s'han aplicat als teus continguts."
+
+#: src/screens/Onboarding/Layout.tsx:58
msgid "The following steps will help customize your Bluesky experience."
msgstr "Els següents passos t'ajudaran a personalitzar la teva experiència a Bluesky."
-#: src/view/com/post-thread/PostThread.tsx:517
+#: src/view/com/post-thread/PostThread.tsx:153
+#: src/view/com/post-thread/PostThread.tsx:165
msgid "The post may have been deleted."
msgstr "És possible que la publicació s'hagi esborrat."
@@ -4147,93 +5091,99 @@ msgstr "La política de privacitat ha estat traslladada a <0/>"
#: src/view/screens/Support.tsx:36
msgid "The support form has been moved. If you need help, please <0/> or visit {HELP_DESK_URL} to get in touch with us."
-msgstr "El formulari de suport ha estat traslladat. Si necessites ajuda, <0/> o visita {HELP_DESK_URL} per contactar amb nosaltres."
+msgstr "El formulari de suport ha estat traslladat. Si necessites ajuda, <0/> o visita {HELP_DESK_URL} per a contactar amb nosaltres."
#: src/view/screens/Support.tsx:36
#~ msgid "The support form has been moved. If you need help, please<0/> or visit {HELP_DESK_URL} to get in touch with us."
-#~ msgstr "El formulari de suport ha estat traslladat. Si necessites ajuda, <0/> o visita {HELP_DESK_URL} per contactar amb nosaltres."
+#~ msgstr "El formulari de suport ha estat traslladat. Si necessites ajuda, <0/> o visita {HELP_DESK_URL} per a contactar amb nosaltres."
#: src/view/screens/TermsOfService.tsx:33
msgid "The Terms of Service have been moved to"
-msgstr "Les condicions del servei han estat traslladades a "
+msgstr "Les condicions del servei han estat traslladades a"
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:150
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:141
msgid "There are many feeds to try:"
-msgstr "Hi ha molts canals per provar:"
+msgstr "Hi ha molts canals per a provar:"
-#: src/view/screens/ProfileFeed.tsx:550
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:114
+#: src/view/screens/ProfileFeed.tsx:556
msgid "There was an an issue contacting the server, please check your internet connection and try again."
-msgstr "Hi ha hagut un problema per contactar amb el servidor, comprova la teva connexió a internet i torna-ho a provar"
+msgstr "Hi ha hagut un problema per a contactar amb el servidor, comprova la teva connexió a internet i torna-ho a provar."
-#: src/view/com/posts/FeedErrorMessage.tsx:139
+#: src/view/com/posts/FeedErrorMessage.tsx:138
msgid "There was an an issue removing this feed. Please check your internet connection and try again."
-msgstr "Hi ha hagut un problema per eliminar aquest canal, comprova la teva connexió a internet i torna-ho a provar"
+msgstr "Hi ha hagut un problema per a eliminar aquest canal, comprova la teva connexió a internet i torna-ho a provar."
-#: src/view/screens/ProfileFeed.tsx:210
+#: src/view/screens/ProfileFeed.tsx:219
msgid "There was an an issue updating your feeds, please check your internet connection and try again."
-msgstr "Hi ha hagut un problema per actualitzar els teus canals, comprova la teva connexió a internet i torna-ho a provar"
+msgstr "Hi ha hagut un problema per a actualitzar els teus canals, comprova la teva connexió a internet i torna-ho a provar."
-#: src/view/screens/ProfileFeed.tsx:237
-#: src/view/screens/ProfileList.tsx:267
-#: src/view/screens/SavedFeeds.tsx:209
-#: src/view/screens/SavedFeeds.tsx:231
-#: src/view/screens/SavedFeeds.tsx:252
+#: src/view/screens/ProfileFeed.tsx:247
+#: src/view/screens/ProfileList.tsx:277
+#: src/view/screens/SavedFeeds.tsx:211
+#: src/view/screens/SavedFeeds.tsx:241
+#: src/view/screens/SavedFeeds.tsx:262
msgid "There was an issue contacting the server"
-msgstr "Hi ha hagut un problema per contactar amb el servidor"
+msgstr "Hi ha hagut un problema per a contactar amb el servidor"
#: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:57
#: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:66
-#: src/view/com/feeds/FeedSourceCard.tsx:115
-#: src/view/com/feeds/FeedSourceCard.tsx:129
-#: src/view/com/feeds/FeedSourceCard.tsx:183
+#: src/view/com/feeds/FeedSourceCard.tsx:110
+#: src/view/com/feeds/FeedSourceCard.tsx:123
msgid "There was an issue contacting your server"
-msgstr "Hi ha hagut un problema per contactar amb el teu servidor"
+msgstr "Hi ha hagut un problema per a contactar amb el teu servidor"
#: src/view/com/notifications/Feed.tsx:117
msgid "There was an issue fetching notifications. Tap here to try again."
-msgstr "Hi ha hagut un problema en obtenir les notificacions. Toca aquí per tornar-ho a provar."
+msgstr "Hi ha hagut un problema en obtenir les notificacions. Toca aquí per a tornar-ho a provar."
-#: src/view/com/posts/Feed.tsx:265
+#: src/view/com/posts/Feed.tsx:287
msgid "There was an issue fetching posts. Tap here to try again."
-msgstr "Hi ha hagut un problema en obtenir les notificacions. Toca aquí per tornar-ho a provar."
+msgstr "Hi ha hagut un problema en obtenir les notificacions. Toca aquí per a tornar-ho a provar."
#: src/view/com/lists/ListMembers.tsx:172
msgid "There was an issue fetching the list. Tap here to try again."
-msgstr "Hi ha hagut un problema en obtenir la llista. Toca aquí per tornar-ho a provar."
+msgstr "Hi ha hagut un problema en obtenir la llista. Toca aquí per a tornar-ho a provar."
-#: src/view/com/feeds/ProfileFeedgens.tsx:148
-#: src/view/com/lists/ProfileLists.tsx:155
+#: src/view/com/feeds/ProfileFeedgens.tsx:156
+#: src/view/com/lists/ProfileLists.tsx:163
msgid "There was an issue fetching your lists. Tap here to try again."
-msgstr "Hi ha hagut un problema en obtenir les teves llistes. Toca aquí per tornar-ho a provar."
+msgstr "Hi ha hagut un problema en obtenir les teves llistes. Toca aquí per a tornar-ho a provar."
-#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:63
-#: src/view/com/modals/ContentFilteringSettings.tsx:126
+#: src/components/ReportDialog/SubmitView.tsx:81
+msgid "There was an issue sending your report. Please check your internet connection."
+msgstr "S'ha produït un problema en enviar el teu informe. Comprova la teva connexió a Internet."
+
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:65
msgid "There was an issue syncing your preferences with the server"
msgstr "Hi ha hagut un problema en sincronitzar les teves preferències amb el servidor"
-#: src/view/screens/AppPasswords.tsx:66
+#: src/view/screens/AppPasswords.tsx:68
msgid "There was an issue with fetching your app passwords"
msgstr "Hi ha hagut un problema en obtenir les teves contrasenyes d'aplicació"
-#: src/view/com/post-thread/PostThreadFollowBtn.tsx:93
-#: src/view/com/post-thread/PostThreadFollowBtn.tsx:105
-#: src/view/com/profile/ProfileHeader.tsx:157
-#: src/view/com/profile/ProfileHeader.tsx:178
-#: src/view/com/profile/ProfileHeader.tsx:217
-#: src/view/com/profile/ProfileHeader.tsx:230
-#: src/view/com/profile/ProfileHeader.tsx:250
-#: src/view/com/profile/ProfileHeader.tsx:272
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:105
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:127
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:141
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:99
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:111
+#: src/view/com/profile/ProfileMenu.tsx:106
+#: src/view/com/profile/ProfileMenu.tsx:117
+#: src/view/com/profile/ProfileMenu.tsx:132
+#: src/view/com/profile/ProfileMenu.tsx:143
+#: src/view/com/profile/ProfileMenu.tsx:157
+#: src/view/com/profile/ProfileMenu.tsx:170
msgid "There was an issue! {0}"
msgstr "Hi ha hagut un problema! {0}"
-#: src/view/screens/ProfileList.tsx:288
-#: src/view/screens/ProfileList.tsx:307
-#: src/view/screens/ProfileList.tsx:329
-#: src/view/screens/ProfileList.tsx:348
+#: src/view/screens/ProfileList.tsx:290
+#: src/view/screens/ProfileList.tsx:304
+#: src/view/screens/ProfileList.tsx:318
+#: src/view/screens/ProfileList.tsx:332
msgid "There was an issue. Please check your internet connection and try again."
msgstr "Hi ha hagut un problema. Comprova la teva connexió a internet i torna-ho a provar."
-#: src/view/com/util/ErrorBoundary.tsx:36
+#: src/view/com/util/ErrorBoundary.tsx:51
msgid "There was an unexpected issue in the application. Please let us know if this happened to you!"
msgstr "S'ha produït un problema inesperat a l'aplicació. Fes-nos saber si això t'ha passat a tu!"
@@ -4245,26 +5195,39 @@ msgstr "Hi ha hagut una gran quantitat d'usuaris nous a Bluesky! Activarem el te
#~ msgid "There's something wrong with this number. Please choose your country and enter your full phone number!"
#~ msgstr "Aquest telèfon és erroni. Tria el teu país i introdueix el teu telèfon complert"
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:138
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:146
msgid "These are popular accounts you might like:"
msgstr "Aquests són alguns comptes populars que et poden agradar:"
#~ msgid "This {0} has been labeled."
#~ msgstr "Aquest {0} ha estat etiquetat."
-#: src/view/com/util/moderation/ScreenHider.tsx:88
+#: src/components/moderation/ScreenHider.tsx:116
msgid "This {screenDescription} has been flagged:"
msgstr "Aquesta {screenDescription} ha estat etiquetada:"
-#: src/view/com/util/moderation/ScreenHider.tsx:83
+#: src/components/moderation/ScreenHider.tsx:111
msgid "This account has requested that users sign in to view their profile."
-msgstr "Aquest compte ha sol·licitat que els usuaris estiguin registrats per veure el seu perfil."
+msgstr "Aquest compte ha sol·licitat que els usuaris estiguin registrats per a veure el seu perfil."
-#: src/view/com/modals/EmbedConsent.tsx:68
+#: src/components/moderation/LabelsOnMeDialog.tsx:204
+msgid "This appeal will be sent to <0>{0}0>."
+msgstr "Aquesta apel·lació s'enviarà a <0>{0}0>."
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:19
+msgid "This content has been hidden by the moderators."
+msgstr "Aquest contingut ha estat amagat pels moderadors."
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:24
+msgid "This content has received a general warning from moderators."
+msgstr "Aquest contingut ha rebut una advertència general dels moderadors."
+
+#: src/components/dialogs/EmbedConsent.tsx:64
msgid "This content is hosted by {0}. Do you want to enable external media?"
msgstr "Aquest contingut està allotjat a {0}. Vols habilitat els continguts externs?"
-#: src/view/com/modals/ModerationDetails.tsx:67
+#: src/components/moderation/ModerationDetailsDialog.tsx:77
+#: src/lib/moderation/useModerationCauseDescription.ts:77
msgid "This content is not available because one of the users involved has blocked the other."
msgstr "Aquest contingut no està disponible degut a que un dels usuaris involucrats ha bloquejat a l'altre."
@@ -4273,24 +5236,28 @@ msgid "This content is not viewable without a Bluesky account."
msgstr "Aquest contingut no es pot veure sense un compte de Bluesky."
#: src/view/screens/Settings/ExportCarDialog.tsx:75
-msgid "This feature is in beta. You can read more about repository exports in <0>this blogpost.0>"
-msgstr "Aquesta funcionalitat està en beta. En <0>aquesta entrada al blog0> tens més informació."
+#~ msgid "This feature is in beta. You can read more about repository exports in <0>this blogpost.0>"
+#~ msgstr "Aquesta funcionalitat està en beta. En <0>aquesta entrada al blog0> tens més informació."
+
+#: src/view/screens/Settings/ExportCarDialog.tsx:75
+msgid "This feature is in beta. You can read more about repository exports in <0>this blogpost0>."
+msgstr "Aquesta funció està en versió beta. Podeu obtenir més informació sobre les exportacions de repositoris en <0>aquesta entrada de bloc0>."
#: src/view/com/posts/FeedErrorMessage.tsx:114
msgid "This feed is currently receiving high traffic and is temporarily unavailable. Please try again later."
msgstr "Aquest canal està rebent moltes visites actualment i està temporalment inactiu. Prova-ho més tard."
-#: src/view/screens/Profile.tsx:420
-#: src/view/screens/ProfileFeed.tsx:476
-#: src/view/screens/ProfileList.tsx:661
+#: src/screens/Profile/Sections/Feed.tsx:59
+#: src/view/screens/ProfileFeed.tsx:488
+#: src/view/screens/ProfileList.tsx:677
msgid "This feed is empty!"
msgstr "Aquest canal està buit!"
#: src/view/com/posts/CustomFeedEmptyState.tsx:37
msgid "This feed is empty! You may need to follow more users or tune your language settings."
-msgstr "Aquest canal està buit! Necessites seguir més usuaris o modificar la teva configuració d'idiomes"
+msgstr "Aquest canal està buit! Necessites seguir més usuaris o modificar la teva configuració d'idiomes."
-#: src/view/com/modals/BirthDateSettings.tsx:61
+#: src/components/dialogs/BirthDateSettings.tsx:41
msgid "This information is not shared with other users."
msgstr "Aquesta informació no es comparteix amb altres usuaris."
@@ -4302,15 +5269,27 @@ msgstr "Això és important si mai necessites canviar el teu correu o restablir
#~ msgid "This is the service that keeps you online."
#~ msgstr "Aquest és el servei que et manté connectat."
-#: src/view/com/modals/LinkWarning.tsx:58
+#: src/components/moderation/ModerationDetailsDialog.tsx:124
+msgid "This label was applied by {0}."
+msgstr "Aquesta etiqueta l'ha aplicat {0}."
+
+#: src/screens/Profile/Sections/Labels.tsx:178
+msgid "This labeler hasn't declared what labels it publishes, and may not be active."
+msgstr "Aquest etiquetador no ha declarat quines etiquetes publica i pot ser que no estigui actiu."
+
+#: src/view/com/modals/LinkWarning.tsx:72
msgid "This link is taking you to the following website:"
msgstr "Aquest enllaç et porta a la web:"
-#: src/view/screens/ProfileList.tsx:839
+#: src/view/screens/ProfileList.tsx:855
msgid "This list is empty!"
msgstr "Aquesta llista està buida!"
-#: src/view/com/modals/AddAppPasswords.tsx:106
+#: src/screens/Profile/ErrorState.tsx:40
+msgid "This moderation service is unavailable. See below for more details. If this issue persists, contact us."
+msgstr "Aquest servei de moderació no està disponible. Mira a continuació per obtenir més detalls. Si aquest problema persisteix, posa't en contacte amb nosaltres."
+
+#: src/view/com/modals/AddAppPasswords.tsx:107
msgid "This name is already in use"
msgstr "Aquest nom ja està en ús"
@@ -4318,36 +5297,82 @@ msgstr "Aquest nom ja està en ús"
msgid "This post has been deleted."
msgstr "Aquesta publicació ha estat esborrada."
-#: src/view/com/modals/ModerationDetails.tsx:62
+#: src/view/com/util/forms/PostDropdownBtn.tsx:366
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:250
+msgid "This post is only visible to logged-in users. It won't be visible to people who aren't logged in."
+msgstr "Aquesta publicació només és visible per als usuaris que han iniciat sessió. No serà visible per a les persones que no hagin iniciat sessió."
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:348
+msgid "This post will be hidden from feeds."
+msgstr "Aqeusta publicació no es mostrarà als canals."
+
+#: src/view/com/profile/ProfileMenu.tsx:370
+msgid "This profile is only visible to logged-in users. It won't be visible to people who aren't logged in."
+msgstr "Aquest perfil només és visible per als usuaris que han iniciat sessió. No serà visible per a les persones que no hagin iniciat sessió."
+
+#: src/screens/Signup/StepInfo/Policies.tsx:37
+msgid "This service has not provided terms of service or a privacy policy."
+msgstr "Aquest servei no ha proporcionat termes de servei ni una política de privadesa."
+
+#: src/view/com/modals/ChangeHandle.tsx:445
+msgid "This should create a domain record at:"
+msgstr "Això hauria de crear un registre de domini a:"
+
+#: src/view/com/profile/ProfileFollowers.tsx:87
+msgid "This user doesn't have any followers."
+msgstr "Aquest usuari no té cap seguidor."
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:72
+#: src/lib/moderation/useModerationCauseDescription.ts:68
msgid "This user has blocked you. You cannot view their content."
msgstr "Aquest usuari t'ha bloquejat. No pots veure les seves publicacions."
+#: src/lib/moderation/useGlobalLabelStrings.ts:30
+msgid "This user has requested that their content only be shown to signed-in users."
+msgstr "Aquest usuari ha sol·licitat que el seu contingut només es mostri als usuaris que hagin iniciat la sessió."
+
#: src/view/com/modals/ModerationDetails.tsx:42
-msgid "This user is included in the <0/> list which you have blocked."
-msgstr "Aquest usuari està inclós a la llista <0/> que tens bloquejada"
+#~ msgid "This user is included in the <0/> list which you have blocked."
+#~ msgstr "Aquest usuari està inclós a la llista <0/> que tens bloquejada"
#: src/view/com/modals/ModerationDetails.tsx:74
-msgid "This user is included in the <0/> list which you have muted."
-msgstr "Aquest usuari està inclòs a la llista <0/> que has silenciat."
+#~ msgid "This user is included in the <0/> list which you have muted."
+#~ msgstr "Aquest usuari està inclòs a la llista <0/> que has silenciat."
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:55
+msgid "This user is included in the <0>{0}0> list which you have blocked."
+msgstr "Aquest usuari està inclòs a la llista <0>{0}0> que has bloquejat."
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:84
+msgid "This user is included in the <0>{0}0> list which you have muted."
+msgstr "Aquest usuari està inclòs a la llista <0>{0}0> que has silenciat."
#: src/view/com/modals/ModerationDetails.tsx:74
#~ msgid "This user is included the <0/> list which you have muted."
#~ msgstr "Aquest usuari està inclós a la llista <0/> que tens silenciada"
+#: src/view/com/profile/ProfileFollows.tsx:87
+msgid "This user isn't following anyone."
+msgstr "Aquest usuari no segueix a ningú."
+
#: src/view/com/modals/SelfLabel.tsx:137
msgid "This warning is only available for posts with media attached."
msgstr "Aquesta advertència només està disponible per publicacions amb contingut adjuntat."
-#: src/components/dialogs/MutedWords.tsx:285
+#: src/components/dialogs/MutedWords.tsx:283
msgid "This will delete {0} from your muted words. You can always add it back later."
-msgstr ""
+msgstr "Això suprimirà {0} de les teves paraules silenciades. Sempre la pots tornar a afegir més tard."
#: src/view/com/util/forms/PostDropdownBtn.tsx:282
-msgid "This will hide this post from your feeds."
-msgstr "Això amagarà aquesta publicació dels teus canals."
+#~ msgid "This will hide this post from your feeds."
+#~ msgstr "Això amagarà aquesta publicació dels teus canals."
+
+#: src/view/screens/Settings/index.tsx:525
+msgid "Thread preferences"
+msgstr "Preferències dels fils de debat"
#: src/view/screens/PreferencesThreads.tsx:53
-#: src/view/screens/Settings/index.tsx:565
+#: src/view/screens/Settings/index.tsx:535
msgid "Thread Preferences"
msgstr "Preferències dels fils de debat"
@@ -4355,26 +5380,38 @@ msgstr "Preferències dels fils de debat"
msgid "Threaded Mode"
msgstr "Mode fils de debat"
-#: src/Navigation.tsx:257
+#: src/Navigation.tsx:269
msgid "Threads Preferences"
msgstr "Preferències dels fils de debat"
-#: src/components/dialogs/MutedWords.tsx:113
+#: src/components/ReportDialog/SelectLabelerView.tsx:33
+msgid "To whom would you like to send this report?"
+msgstr "A qui vols enviar aquest informe?"
+
+#: src/components/dialogs/MutedWords.tsx:112
msgid "Toggle between muted word options."
-msgstr ""
+msgstr "Commuta entre les opcions de paraules silenciades."
#: src/view/com/util/forms/DropdownButton.tsx:246
msgid "Toggle dropdown"
msgstr "Commuta el menú desplegable"
-#: src/view/com/modals/EditImage.tsx:271
+#: src/screens/Moderation/index.tsx:332
+msgid "Toggle to enable or disable adult content"
+msgstr "Communta per a habilitar o deshabilitar el contingut per adults"
+
+#: src/view/screens/Search/Search.tsx:427
+msgid "Top"
+msgstr ""
+
+#: src/view/com/modals/EditImage.tsx:272
msgid "Transformations"
msgstr "Transformacions"
-#: src/view/com/post-thread/PostThreadItem.tsx:685
-#: src/view/com/post-thread/PostThreadItem.tsx:687
-#: src/view/com/util/forms/PostDropdownBtn.tsx:215
-#: src/view/com/util/forms/PostDropdownBtn.tsx:217
+#: src/view/com/post-thread/PostThreadItem.tsx:638
+#: src/view/com/post-thread/PostThreadItem.tsx:640
+#: src/view/com/util/forms/PostDropdownBtn.tsx:220
+#: src/view/com/util/forms/PostDropdownBtn.tsx:222
msgid "Translate"
msgstr "Tradueix"
@@ -4387,121 +5424,195 @@ msgstr "Torna-ho a provar"
#~ msgid "Try again"
#~ msgstr "Torna-ho a provar"
-#: src/view/screens/ProfileList.tsx:506
+#: src/view/com/modals/ChangeHandle.tsx:428
+msgid "Type:"
+msgstr "Tipus:"
+
+#: src/view/screens/ProfileList.tsx:480
msgid "Un-block list"
msgstr "Desbloqueja la llista"
-#: src/view/screens/ProfileList.tsx:491
+#: src/view/screens/ProfileList.tsx:463
msgid "Un-mute list"
msgstr "Deixa de silenciar la llista"
-#: src/view/com/auth/create/CreateAccount.tsx:58
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:87
-#: src/view/com/auth/login/Login.tsx:76
-#: src/view/com/auth/login/LoginForm.tsx:118
+#: src/screens/Login/ForgotPasswordForm.tsx:74
+#: src/screens/Login/index.tsx:78
+#: src/screens/Login/LoginForm.tsx:119
+#: src/screens/Login/SetNewPasswordForm.tsx:77
+#: src/screens/Signup/index.tsx:64
#: src/view/com/modals/ChangePassword.tsx:70
msgid "Unable to contact your service. Please check your Internet connection."
msgstr "No es pot contactar amb el teu servei. Comprova la teva connexió a internet."
-#: src/view/com/profile/ProfileHeader.tsx:433
-#: src/view/screens/ProfileList.tsx:590
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:181
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:286
+#: src/view/com/profile/ProfileMenu.tsx:361
+#: src/view/screens/ProfileList.tsx:574
msgid "Unblock"
msgstr "Desbloqueja"
-#: src/view/com/profile/ProfileHeader.tsx:436
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:186
msgctxt "action"
msgid "Unblock"
msgstr "Desbloqueja"
-#: src/view/com/profile/ProfileHeader.tsx:261
-#: src/view/com/profile/ProfileHeader.tsx:345
+#: src/view/com/profile/ProfileMenu.tsx:299
+#: src/view/com/profile/ProfileMenu.tsx:305
msgid "Unblock Account"
msgstr "Desbloqueja el compte"
-#: src/view/com/modals/Repost.tsx:42
-#: src/view/com/modals/Repost.tsx:55
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:280
+#: src/view/com/profile/ProfileMenu.tsx:343
+msgid "Unblock Account?"
+msgstr "Vols desbloquejar el compte?"
+
+#: src/view/com/modals/Repost.tsx:43
+#: src/view/com/modals/Repost.tsx:56
#: src/view/com/util/post-ctrls/RepostButton.tsx:60
#: src/view/com/util/post-ctrls/RepostButton.web.tsx:48
msgid "Undo repost"
msgstr "Desfés la republicació"
-#: src/view/com/profile/FollowButton.tsx:55
+#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:141
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:248
+msgid "Unfollow"
+msgstr "Deixa de seguir"
+
+#: src/view/com/profile/FollowButton.tsx:60
msgctxt "action"
msgid "Unfollow"
msgstr "Deixa de seguir"
-#: src/view/com/profile/ProfileHeader.tsx:485
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:220
msgid "Unfollow {0}"
msgstr "Deixa de seguir a {0}"
-#: src/view/com/auth/create/state.ts:262
-msgid "Unfortunately, you do not meet the requirements to create an account."
-msgstr "No compleixes les condicions per crear un compte."
+#: src/view/com/profile/ProfileMenu.tsx:241
+#: src/view/com/profile/ProfileMenu.tsx:251
+msgid "Unfollow Account"
+msgstr "Deixa de seguir el compte"
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:182
+#: src/view/com/auth/create/state.ts:262
+#~ msgid "Unfortunately, you do not meet the requirements to create an account."
+#~ msgstr "No compleixes les condicions per a crear un compte."
+
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:197
msgid "Unlike"
msgstr "Desfés el m'agrada"
+#: src/view/screens/ProfileFeed.tsx:585
+msgid "Unlike this feed"
+msgstr "Desfés el m'agrada a aquest canal"
+
#: src/components/TagMenu/index.tsx:249
-#: src/view/screens/ProfileList.tsx:597
+#: src/view/screens/ProfileList.tsx:581
msgid "Unmute"
msgstr "Deixa de silenciar"
#: src/components/TagMenu/index.web.tsx:104
msgid "Unmute {truncatedTag}"
-msgstr ""
+msgstr "Deixa de silenciar {truncatedTag}"
-#: src/view/com/profile/ProfileHeader.tsx:326
+#: src/view/com/profile/ProfileMenu.tsx:278
+#: src/view/com/profile/ProfileMenu.tsx:284
msgid "Unmute Account"
msgstr "Deixa de silenciar el compte"
#: src/components/TagMenu/index.tsx:208
msgid "Unmute all {displayTag} posts"
-msgstr ""
+msgstr "Deixa de silenciar totes les publicacions amb {displayTag}"
#: src/components/TagMenu/index.tsx:210
#~ msgid "Unmute all {tag} posts"
-#~ msgstr ""
+#~ msgstr "Deixa de silenciar totes les publicacions amb {tag}"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:251
-#: src/view/com/util/forms/PostDropdownBtn.tsx:256
+#: src/view/com/util/forms/PostDropdownBtn.tsx:269
+#: src/view/com/util/forms/PostDropdownBtn.tsx:274
msgid "Unmute thread"
msgstr "Deixa de silenciar el fil de debat"
-#: src/view/screens/ProfileFeed.tsx:354
-#: src/view/screens/ProfileList.tsx:581
+#: src/view/screens/ProfileFeed.tsx:306
+#: src/view/screens/ProfileList.tsx:565
msgid "Unpin"
msgstr "Deixa de fixar"
-#: src/view/screens/ProfileList.tsx:474
+#: src/view/screens/ProfileFeed.tsx:303
+msgid "Unpin from home"
+msgstr "Deixa de fixar a l'inici"
+
+#: src/view/screens/ProfileList.tsx:446
msgid "Unpin moderation list"
msgstr "Desancora la llista de moderació"
#: src/view/screens/ProfileFeed.tsx:346
-msgid "Unsave"
-msgstr "No desis"
+#~ msgid "Unsave"
+#~ msgstr "No desis"
+
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:225
+msgid "Unsubscribe"
+msgstr "Dona't de baixa"
+
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:190
+msgid "Unsubscribe from this labeler"
+msgstr "Dona't de baixa d'aquest etiquetador"
+
+#: src/lib/moderation/useReportOptions.ts:70
+msgid "Unwanted Sexual Content"
+msgstr "Contingut sexual no dessitjat"
#: src/view/com/modals/UserAddRemoveLists.tsx:70
msgid "Update {displayName} in Lists"
msgstr "Actualitza {displayName} a les Llistes"
#: src/lib/hooks/useOTAUpdate.ts:15
-msgid "Update Available"
-msgstr "Actualització disponible"
+#~ msgid "Update Available"
+#~ msgstr "Actualització disponible"
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:204
+#: src/view/com/modals/ChangeHandle.tsx:508
+msgid "Update to {handle}"
+msgstr "Actualitza a {handle}"
+
+#: src/screens/Login/SetNewPasswordForm.tsx:186
msgid "Updating..."
msgstr "Actualitzant…"
-#: src/view/com/modals/ChangeHandle.tsx:455
+#: src/view/com/modals/ChangeHandle.tsx:454
msgid "Upload a text file to:"
msgstr "Puja un fitxer de text a:"
-#: src/view/screens/AppPasswords.tsx:195
-msgid "Use app passwords to login to other Bluesky clients without giving full access to your account or password."
-msgstr "Utilitza les contrasenyes d'aplicació per iniciar sessió en altres clients de Bluesky, sense haver de donar accés total al teu compte o contrasenya."
+#: src/view/com/util/UserAvatar.tsx:328
+#: src/view/com/util/UserAvatar.tsx:331
+#: src/view/com/util/UserBanner.tsx:116
+#: src/view/com/util/UserBanner.tsx:119
+msgid "Upload from Camera"
+msgstr "Puja de la càmera"
-#: src/view/com/modals/ChangeHandle.tsx:515
+#: src/view/com/util/UserAvatar.tsx:345
+#: src/view/com/util/UserBanner.tsx:133
+msgid "Upload from Files"
+msgstr "Puja dels Arxius"
+
+#: src/view/com/util/UserAvatar.tsx:339
+#: src/view/com/util/UserAvatar.tsx:343
+#: src/view/com/util/UserBanner.tsx:127
+#: src/view/com/util/UserBanner.tsx:131
+msgid "Upload from Library"
+msgstr "Puja de la biblioteca"
+
+#: src/view/com/modals/ChangeHandle.tsx:408
+msgid "Use a file on your server"
+msgstr "Utilitza un fitxer del teu servidor"
+
+#: src/view/screens/AppPasswords.tsx:197
+msgid "Use app passwords to login to other Bluesky clients without giving full access to your account or password."
+msgstr "Utilitza les contrasenyes d'aplicació per a iniciar sessió en altres clients de Bluesky, sense haver de donar accés total al teu compte o contrasenya."
+
+#: src/view/com/modals/ChangeHandle.tsx:517
+msgid "Use bsky.social as hosting provider"
+msgstr "Utilitza bsky.social com a proveïdor d'allotjament"
+
+#: src/view/com/modals/ChangeHandle.tsx:516
msgid "Use default provider"
msgstr "Utilitza el proveïdor predeterminat"
@@ -4515,54 +5626,67 @@ msgstr "Utilitza el navegador de l'aplicació"
msgid "Use my default browser"
msgstr "Utilitza el meu navegador predeterminat"
-#: src/view/com/modals/AddAppPasswords.tsx:155
+#: src/view/com/modals/ChangeHandle.tsx:400
+msgid "Use the DNS panel"
+msgstr "Utilitza el panell de DNS"
+
+#: src/view/com/modals/AddAppPasswords.tsx:156
msgid "Use this to sign into the other app along with your handle."
-msgstr "Utilitza-ho per iniciar sessió a l'altra aplicació, juntament amb el teu identificador."
+msgstr "Utilitza-ho per a iniciar sessió a l'altra aplicació, juntament amb el teu identificador."
#: src/view/com/modals/ServerInput.tsx:105
#~ msgid "Use your domain as your Bluesky client service provider"
#~ msgstr "Utilitza el teu domini com a client proveïdor del servei de Bluesky"
-#: src/view/com/modals/InviteCodes.tsx:200
+#: src/view/com/modals/InviteCodes.tsx:201
msgid "Used by:"
msgstr "Utilitzat per:"
-#: src/view/com/modals/ModerationDetails.tsx:54
+#: src/components/moderation/ModerationDetailsDialog.tsx:64
+#: src/lib/moderation/useModerationCauseDescription.ts:56
msgid "User Blocked"
msgstr "Usuari bloquejat"
-#: src/view/com/modals/ModerationDetails.tsx:40
+#: src/lib/moderation/useModerationCauseDescription.ts:48
+msgid "User Blocked by \"{0}\""
+msgstr "Usuari bloquejat per \"{0}\""
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:53
msgid "User Blocked by List"
msgstr "Usuari bloquejat per una llista"
-#: src/view/com/modals/ModerationDetails.tsx:60
+#: src/lib/moderation/useModerationCauseDescription.ts:66
+msgid "User Blocking You"
+msgstr "L'usuari t'ha bloquejat"
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:70
msgid "User Blocks You"
msgstr "L'usuari t'ha bloquejat"
#: src/view/com/auth/create/Step2.tsx:79
-msgid "User handle"
-msgstr "Identificador d'usuari"
+#~ msgid "User handle"
+#~ msgstr "Identificador d'usuari"
#: src/view/com/lists/ListCard.tsx:85
#: src/view/com/modals/UserAddRemoveLists.tsx:198
msgid "User list by {0}"
msgstr "Llista d'usuaris per {0}"
-#: src/view/screens/ProfileList.tsx:763
+#: src/view/screens/ProfileList.tsx:779
msgid "User list by <0/>"
msgstr "Llista d'usuaris feta per <0/>"
#: src/view/com/lists/ListCard.tsx:83
#: src/view/com/modals/UserAddRemoveLists.tsx:196
-#: src/view/screens/ProfileList.tsx:761
+#: src/view/screens/ProfileList.tsx:777
msgid "User list by you"
-msgstr "Llista d'usaris feta per tu"
+msgstr "Llista d'usuaris feta per tu"
-#: src/view/com/modals/CreateOrEditList.tsx:196
+#: src/view/com/modals/CreateOrEditList.tsx:197
msgid "User list created"
msgstr "Llista d'usuaris creada"
-#: src/view/com/modals/CreateOrEditList.tsx:182
+#: src/view/com/modals/CreateOrEditList.tsx:183
msgid "User list updated"
msgstr "Llista d'usuaris actualitzada"
@@ -4570,12 +5694,13 @@ msgstr "Llista d'usuaris actualitzada"
msgid "User Lists"
msgstr "Llistes d'usuaris"
-#: src/view/com/auth/login/LoginForm.tsx:177
-#: src/view/com/auth/login/LoginForm.tsx:195
+#: src/screens/Login/LoginForm.tsx:151
msgid "Username or email address"
msgstr "Nom d'usuari o correu"
-#: src/view/screens/ProfileList.tsx:797
+#: src/view/screens/ProfileList.tsx:813
+#: src/view/screens/Search/Search.tsx:473
+#: src/view/screens/Search/Search.tsx:482
msgid "Users"
msgstr "Usuaris"
@@ -4587,19 +5712,31 @@ msgstr "usuaris seguits per <0/>"
msgid "Users in \"{0}\""
msgstr "Usuaris a \"{0}\""
+#: src/components/LikesDialog.tsx:85
+msgid "Users that have liked this content or profile"
+msgstr "Usuaris a qui els ha agradat aquest contingut o perfil"
+
+#: src/view/com/modals/ChangeHandle.tsx:436
+msgid "Value:"
+msgstr "Valor:"
+
#: src/view/com/auth/create/Step2.tsx:243
#~ msgid "Verification code"
#~ msgstr "Codi de verificació"
-#: src/view/screens/Settings/index.tsx:910
+#: src/view/com/modals/ChangeHandle.tsx:509
+msgid "Verify {0}"
+msgstr "Verifica {0}"
+
+#: src/view/screens/Settings/index.tsx:906
msgid "Verify email"
msgstr "Verifica el correu"
-#: src/view/screens/Settings/index.tsx:935
+#: src/view/screens/Settings/index.tsx:931
msgid "Verify my email"
msgstr "Verifica el meu correu"
-#: src/view/screens/Settings/index.tsx:944
+#: src/view/screens/Settings/index.tsx:940
msgid "Verify My Email"
msgstr "Verifica el meu correu"
@@ -4612,11 +5749,15 @@ msgstr "Verifica el correu nou"
msgid "Verify Your Email"
msgstr "Verifica el teu correu"
+#: src/view/screens/Settings/index.tsx:857
+msgid "Version {0}"
+msgstr "Versió {0}"
+
#: src/screens/Onboarding/index.tsx:42
msgid "Video Games"
msgstr "Videojocs"
-#: src/view/com/profile/ProfileHeader.tsx:662
+#: src/screens/Profile/Header/Shell.tsx:107
msgid "View {0}'s avatar"
msgstr "Veure l'avatar de {0}"
@@ -4624,11 +5765,25 @@ msgstr "Veure l'avatar de {0}"
msgid "View debug entry"
msgstr "Veure el registre de depuració"
-#: src/view/com/posts/FeedSlice.tsx:103
+#: src/components/ReportDialog/SelectReportOptionView.tsx:132
+msgid "View details"
+msgstr "Veure els detalls"
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:127
+msgid "View details for reporting a copyright violation"
+msgstr "Veure els detalls per a informar d'una infracció dels drets d'autor"
+
+#: src/view/com/posts/FeedSlice.tsx:99
msgid "View full thread"
msgstr "Veure el fil de debat complet"
-#: src/view/com/posts/FeedErrorMessage.tsx:172
+#: src/components/moderation/LabelsOnMe.tsx:51
+msgid "View information about these labels"
+msgstr "Mostra informació sobre aquestes etiquetes"
+
+#: src/components/ProfileHoverCard/index.web.tsx:264
+#: src/components/ProfileHoverCard/index.web.tsx:293
+#: src/view/com/posts/FeedErrorMessage.tsx:166
msgid "View profile"
msgstr "Veure el perfil"
@@ -4636,28 +5791,47 @@ msgstr "Veure el perfil"
msgid "View the avatar"
msgstr "Veure l'avatar"
-#: src/view/com/modals/LinkWarning.tsx:75
+#: src/components/LabelingServiceCard/index.tsx:140
+msgid "View the labeling service provided by @{0}"
+msgstr "Veure el servei d'etiquetatge proporcionat per @{0}"
+
+#: src/view/screens/ProfileFeed.tsx:597
+msgid "View users who like this feed"
+msgstr "Veure els usuaris a qui els agrada aquest canal"
+
+#: src/view/com/modals/LinkWarning.tsx:89
+#: src/view/com/modals/LinkWarning.tsx:95
msgid "Visit Site"
msgstr "Visita el lloc web"
-#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:42
-#: src/view/com/modals/ContentFilteringSettings.tsx:259
+#: src/components/moderation/LabelPreference.tsx:135
+#: src/lib/moderation/useLabelBehaviorDescription.ts:17
+#: src/lib/moderation/useLabelBehaviorDescription.ts:22
+#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:53
msgid "Warn"
msgstr "Adverteix"
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:134
-msgid "We also think you'll like \"For You\" by Skygaze:"
-msgstr "També creiem que t'agradarà el canal \"For You\" d'Skygaze:"
+#: src/lib/moderation/useLabelBehaviorDescription.ts:48
+msgid "Warn content"
+msgstr "Adverteix del contingut"
-#: src/screens/Hashtag.tsx:132
+#: src/lib/moderation/useLabelBehaviorDescription.ts:46
+msgid "Warn content and filter from feeds"
+msgstr "Adverteix del contingut i filtra-ho dels canals"
+
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:134
+#~ msgid "We also think you'll like \"For You\" by Skygaze:"
+#~ msgstr "També creiem que t'agradarà el canal \"For You\" d'Skygaze:"
+
+#: src/screens/Hashtag.tsx:133
msgid "We couldn't find any results for that hashtag."
-msgstr ""
+msgstr "No hem trobat cap resultat per a aquest hashtag."
#: src/screens/Deactivated.tsx:133
msgid "We estimate {estimatedTime} until your account is ready."
msgstr "Calculem {estimatedTime} fins que el teu compte estigui llest."
-#: src/screens/Onboarding/StepFinished.tsx:93
+#: src/screens/Onboarding/StepFinished.tsx:97
msgid "We hope you have a wonderful time. Remember, Bluesky is:"
msgstr "Esperem que t'ho passis pipa. Recorda que Bluesky és:"
@@ -4665,68 +5839,81 @@ msgstr "Esperem que t'ho passis pipa. Recorda que Bluesky és:"
msgid "We ran out of posts from your follows. Here's the latest from <0/>."
msgstr "Ja no hi ha més publicacions dels usuaris que segueixes. Aquí n'hi ha altres de <0/>."
-#: src/components/dialogs/MutedWords.tsx:204
+#: src/components/dialogs/MutedWords.tsx:203
msgid "We recommend avoiding common words that appear in many posts, since it can result in no posts being shown."
-msgstr ""
+msgstr "Recomanem evitar les paraules habituals que apareixen en moltes publicacions, ja que pot provocar que no es mostri cap publicació."
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:124
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:125
msgid "We recommend our \"Discover\" feed:"
-msgstr "Et reomanem el nostre canal \"Discover\":"
+msgstr "Et recomanem el nostre canal \"Discover\":"
-#: src/screens/Onboarding/StepInterests/index.tsx:133
+#: src/components/dialogs/BirthDateSettings.tsx:52
+msgid "We were unable to load your birth date preferences. Please try again."
+msgstr "No hem pogut carregar les teves preferències de data de naixement. Torna-ho a provar."
+
+#: src/screens/Moderation/index.tsx:385
+msgid "We were unable to load your configured labelers at this time."
+msgstr "En aquest moment no hem pogut carregar els teus etiquetadors configurats."
+
+#: src/screens/Onboarding/StepInterests/index.tsx:137
msgid "We weren't able to connect. Please try again to continue setting up your account. If it continues to fail, you can skip this flow."
-msgstr "No ens hem pogut connectar. Torna-ho a provar per continuar configurant el teu compte. Si continua fallant, pots ometre aquest flux."
+msgstr "No ens hem pogut connectar. Torna-ho a provar per a continuar configurant el teu compte. Si continua fallant, pots ometre aquest flux."
#: src/screens/Deactivated.tsx:137
msgid "We will let you know when your account is ready."
msgstr "T'informarem quan el teu compte estigui llest."
#: src/view/com/modals/AppealLabel.tsx:48
-msgid "We'll look into your appeal promptly."
-msgstr "Analitzarem la teva apel·lació ràpidament."
+#~ msgid "We'll look into your appeal promptly."
+#~ msgstr "Analitzarem la teva apel·lació ràpidament."
-#: src/screens/Onboarding/StepInterests/index.tsx:138
+#: src/screens/Onboarding/StepInterests/index.tsx:142
msgid "We'll use this to help customize your experience."
-msgstr "Ho farem servir per personalitzar la teva experiència."
+msgstr "Ho farem servir per a personalitzar la teva experiència."
-#: src/view/com/auth/create/CreateAccount.tsx:134
+#: src/screens/Signup/index.tsx:131
msgid "We're so excited to have you join us!"
msgstr "Ens fa molta il·lusió que t'uneixis a nosaltres!"
-#: src/view/screens/ProfileList.tsx:86
+#: src/view/screens/ProfileList.tsx:90
msgid "We're sorry, but we were unable to resolve this list. If this persists, please contact the list creator, @{handleOrDid}."
msgstr "Ho sentim, però no hem pogut resoldre aquesta llista. Si això continua, posa't en contacte amb el creador de la llista, @{handleOrDid}."
-#: src/components/dialogs/MutedWords.tsx:230
+#: src/components/dialogs/MutedWords.tsx:229
msgid "We're sorry, but we weren't able to load your muted words at this time. Please try again."
-msgstr ""
+msgstr "Ho sentim, però no hem pogut carregar les teves paraules silenciades en aquest moment. Torna-ho a provar."
-#: src/view/screens/Search/Search.tsx:254
+#: src/view/screens/Search/Search.tsx:322
msgid "We're sorry, but your search could not be completed. Please try again in a few minutes."
msgstr "Ens sap greu, però la teva cerca no s'ha pogut fer. Prova-ho d'aquí una estona."
-#: src/components/Lists.tsx:211
+#: src/components/Lists.tsx:188
#: src/view/screens/NotFound.tsx:48
msgid "We're sorry! We can't find the page you were looking for."
msgstr "Ens sap greu! No podem trobar la pàgina que estàs cercant."
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:46
-msgid "Welcome to <0>Bluesky0>"
-msgstr "Benvingut a <0>Bluesky0>"
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:327
+msgid "We're sorry! You can only subscribe to ten labelers, and you've reached your limit of ten."
+msgstr "Ho sentim! Només et pots subscriure a deu etiquetadors i has arribat al teu límit de deu."
-#: src/screens/Onboarding/StepInterests/index.tsx:130
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:48
+msgid "Welcome to <0>Bluesky0>"
+msgstr "Us donem la benvinguda a <0>Bluesky0>"
+
+#: src/screens/Onboarding/StepInterests/index.tsx:134
msgid "What are your interests?"
msgstr "Quins són els teus interesos?"
#: src/view/com/modals/report/Modal.tsx:169
-msgid "What is the issue with this {collectionName}?"
-msgstr "Quin problema hi ha amb {collectionName}?"
+#~ msgid "What is the issue with this {collectionName}?"
+#~ msgstr "Quin problema hi ha amb {collectionName}?"
#~ msgid "What's next?"
#~ msgstr "¿Qué sigue?"
-#: src/view/com/auth/SplashScreen.tsx:59
-#: src/view/com/composer/Composer.tsx:286
+#: src/view/com/auth/SplashScreen.tsx:40
+#: src/view/com/auth/SplashScreen.web.tsx:81
+#: src/view/com/composer/Composer.tsx:296
msgid "What's up?"
msgstr "Què hi ha de nou"
@@ -4743,16 +5930,36 @@ msgstr "Quins idiomes t'agradaria veure en els teus canals algorítmics?"
msgid "Who can reply"
msgstr "Qui hi pot respondre"
-#: src/view/com/modals/crop-image/CropImage.web.tsx:102
+#: src/components/ReportDialog/SelectReportOptionView.tsx:43
+msgid "Why should this content be reviewed?"
+msgstr "Per què s'hauria de revisar aquest contingut?"
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:56
+msgid "Why should this feed be reviewed?"
+msgstr "Per què s'hauria de revisar aquest canal?"
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:53
+msgid "Why should this list be reviewed?"
+msgstr "Per què s'hauria de revisar aquesta llista?"
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:50
+msgid "Why should this post be reviewed?"
+msgstr "Per què s'hauria de revisar aquesta publicació?"
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:47
+msgid "Why should this user be reviewed?"
+msgstr "Per què s'hauria de revisar aquest usuari?"
+
+#: src/view/com/modals/crop-image/CropImage.web.tsx:103
msgid "Wide"
msgstr "Amplada"
-#: src/view/com/composer/Composer.tsx:422
+#: src/view/com/composer/Composer.tsx:436
msgid "Write post"
msgstr "Escriu una publicació"
-#: src/view/com/composer/Composer.tsx:285
-#: src/view/com/composer/Prompt.tsx:33
+#: src/view/com/composer/Composer.tsx:295
+#: src/view/com/composer/Prompt.tsx:37
msgid "Write your reply"
msgstr "Escriu la teva resposta"
@@ -4778,105 +5985,152 @@ msgstr "Sí"
msgid "You are in line."
msgstr "Estàs a la cua."
+#: src/view/com/profile/ProfileFollows.tsx:86
+msgid "You are not following anyone."
+msgstr "No segueixes a ningú."
+
#: src/view/com/posts/FollowingEmptyState.tsx:67
#: src/view/com/posts/FollowingEndOfFeed.tsx:68
msgid "You can also discover new Custom Feeds to follow."
-msgstr "També pots descobrir nous canals personalitzats per seguir."
+msgstr "També pots descobrir nous canals personalitzats per a seguir."
#: src/view/com/auth/create/Step1.tsx:106
#~ msgid "You can change hosting providers at any time."
#~ msgstr "Pots canviar el teu proveïdor d'allotjament quan vulguis."
-#: src/screens/Onboarding/StepFollowingFeed.tsx:142
+#: src/screens/Onboarding/StepFollowingFeed.tsx:143
msgid "You can change these settings later."
msgstr "Pots canviar aquests paràmetres més endavant."
-#: src/view/com/auth/login/Login.tsx:158
-#: src/view/com/auth/login/PasswordUpdatedForm.tsx:31
+#: src/screens/Login/index.tsx:158
+#: src/screens/Login/PasswordUpdatedForm.tsx:33
msgid "You can now sign in with your new password."
msgstr "Ara pots iniciar sessió amb la nova contrasenya."
-#: src/view/com/modals/InviteCodes.tsx:66
+#: src/view/com/profile/ProfileFollowers.tsx:86
+msgid "You do not have any followers."
+msgstr "No tens cap seguidor."
+
+#: src/view/com/modals/InviteCodes.tsx:67
msgid "You don't have any invite codes yet! We'll send you some when you've been on Bluesky for a little longer."
msgstr "Encara no tens codis d'invitació! Te n'enviarem quan portis una mica més de temps a Bluesky."
-#: src/view/screens/SavedFeeds.tsx:102
+#: src/view/screens/SavedFeeds.tsx:103
msgid "You don't have any pinned feeds."
msgstr "No tens cap canal fixat."
-#: src/view/screens/Feeds.tsx:452
+#: src/view/screens/Feeds.tsx:477
msgid "You don't have any saved feeds!"
msgstr "No tens cap canal desat!"
-#: src/view/screens/SavedFeeds.tsx:135
+#: src/view/screens/SavedFeeds.tsx:136
msgid "You don't have any saved feeds."
msgstr "No tens cap canal desat."
-#: src/view/com/post-thread/PostThread.tsx:465
+#: src/view/com/post-thread/PostThread.tsx:159
msgid "You have blocked the author or you have been blocked by the author."
msgstr "Has bloquejat l'autor o has estat bloquejat per ell."
-#: src/view/com/modals/ModerationDetails.tsx:56
+#: src/components/moderation/ModerationDetailsDialog.tsx:66
+#: src/lib/moderation/useModerationCauseDescription.ts:50
+#: src/lib/moderation/useModerationCauseDescription.ts:58
msgid "You have blocked this user. You cannot view their content."
msgstr "Has bloquejat aquest usuari. No pots veure el seu contingut."
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:57
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:92
+#: src/screens/Login/SetNewPasswordForm.tsx:54
+#: src/screens/Login/SetNewPasswordForm.tsx:91
#: src/view/com/modals/ChangePassword.tsx:87
#: src/view/com/modals/ChangePassword.tsx:121
msgid "You have entered an invalid code. It should look like XXXXX-XXXXX."
msgstr "Has entrat un codi invàlid. Hauria de ser tipus XXXXX-XXXXX."
-#: src/view/com/modals/ModerationDetails.tsx:87
-msgid "You have muted this user."
-msgstr "Has silenciat aquest usuari."
+#: src/lib/moderation/useModerationCauseDescription.ts:109
+msgid "You have hidden this post"
+msgstr "Has amagat aquesta publicació"
-#: src/view/com/feeds/ProfileFeedgens.tsx:136
+#: src/components/moderation/ModerationDetailsDialog.tsx:101
+msgid "You have hidden this post."
+msgstr "Has amagat aquesta publicació."
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:94
+#: src/lib/moderation/useModerationCauseDescription.ts:92
+msgid "You have muted this account."
+msgstr "Has silenciat aquest compte."
+
+#: src/lib/moderation/useModerationCauseDescription.ts:86
+msgid "You have muted this user"
+msgstr "Has silenciat aquest usuari"
+
+#: src/view/com/modals/ModerationDetails.tsx:87
+#~ msgid "You have muted this user."
+#~ msgstr "Has silenciat aquest usuari."
+
+#: src/view/com/feeds/ProfileFeedgens.tsx:144
msgid "You have no feeds."
msgstr "No tens canals."
#: src/view/com/lists/MyLists.tsx:89
-#: src/view/com/lists/ProfileLists.tsx:140
+#: src/view/com/lists/ProfileLists.tsx:148
msgid "You have no lists."
msgstr "No tens llistes."
-#: src/view/screens/ModerationBlockedAccounts.tsx:132
-msgid "You have not blocked any accounts yet. To block an account, go to their profile and selected \"Block account\" from the menu on their account."
-msgstr "Encara no has bloquejat cap compte. Per fer-ho, vés al seu perfil i selecciona \"Bloqueja el compte\" en el menú del seu compte."
+#: src/view/screens/ModerationBlockedAccounts.tsx:138
+msgid "You have not blocked any accounts yet. To block an account, go to their profile and select \"Block account\" from the menu on their account."
+msgstr "Encara no has bloquejat cap compte. Per a bloquejar un compte, ves al seu perfil i selecciona \"Bloqueja el compte\" al menú del seu compte."
-#: src/view/screens/AppPasswords.tsx:87
+#: src/view/screens/ModerationBlockedAccounts.tsx:132
+#~ msgid "You have not blocked any accounts yet. To block an account, go to their profile and selected \"Block account\" from the menu on their account."
+#~ msgstr "Encara no has bloquejat cap compte. Per a fer-ho, ves al seu perfil i selecciona \"Bloqueja el compte\" en el menú del seu compte."
+
+#: src/view/screens/AppPasswords.tsx:89
msgid "You have not created any app passwords yet. You can create one by pressing the button below."
msgstr "Encara no has creat cap contrasenya d'aplicació. Pots fer-ho amb el botó d'aquí sota."
-#: src/view/screens/ModerationMutedAccounts.tsx:131
-msgid "You have not muted any accounts yet. To mute an account, go to their profile and selected \"Mute account\" from the menu on their account."
-msgstr "Encara no has silenciat cap compte. Per fer-ho, vés al seu perfil i selecciona \"Silencia compte\" en el menú del seu compte."
+#: src/view/screens/ModerationMutedAccounts.tsx:136
+msgid "You have not muted any accounts yet. To mute an account, go to their profile and select \"Mute account\" from the menu on their account."
+msgstr "Encara no has silenciat cap compte. per a silenciar un compte, ves al seu perfil i selecciona \"Silencia el compte\" al menú del seu compte."
-#: src/components/dialogs/MutedWords.tsx:250
+#: src/view/screens/ModerationMutedAccounts.tsx:131
+#~ msgid "You have not muted any accounts yet. To mute an account, go to their profile and selected \"Mute account\" from the menu on their account."
+#~ msgstr "Encara no has silenciat cap compte. Per a fer-ho, al seu perfil i selecciona \"Silencia compte\" en el menú del seu compte."
+
+#: src/components/dialogs/MutedWords.tsx:249
msgid "You haven't muted any words or tags yet"
-msgstr ""
+msgstr "Encara no has silenciat cap paraula ni etiqueta"
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:68
+msgid "You may appeal these labels if you feel they were placed in error."
+msgstr "Pots apel·lar aquestes etiquetes si creus que s'han col·locat per error."
+
+#: src/screens/Signup/StepInfo/Policies.tsx:79
+msgid "You must be 13 years of age or older to sign up."
+msgstr "Has de tenir 13 anys o més per registrar-te"
#: src/view/com/modals/ContentFilteringSettings.tsx:175
-msgid "You must be 18 or older to enable adult content."
-msgstr "Has de tenir 18 anys o més per habilitar el contingut per a adults."
+#~ msgid "You must be 18 or older to enable adult content."
+#~ msgstr "Has de tenir 18 anys o més per a habilitar el contingut per a adults."
-#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:103
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:110
msgid "You must be 18 years or older to enable adult content"
-msgstr "Has de tenir 18 anys o més per habilitar el contingut per a adults"
+msgstr "Has de tenir 18 anys o més per a habilitar el contingut per a adults"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:147
+#: src/components/ReportDialog/SubmitView.tsx:203
+msgid "You must select at least one labeler for a report"
+msgstr "Has d'escollir almenys un etiquetador per a un informe"
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:150
msgid "You will no longer receive notifications for this thread"
msgstr "Ja no rebràs més notificacions d'aquest debat"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:150
+#: src/view/com/util/forms/PostDropdownBtn.tsx:153
msgid "You will now receive notifications for this thread"
msgstr "Ara rebràs notificacions d'aquest debat"
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:107
+#: src/screens/Login/SetNewPasswordForm.tsx:104
msgid "You will receive an email with a \"reset code.\" Enter that code here, then enter your new password."
msgstr "Rebràs un correu amb un \"codi de restabliment\". Introdueix aquí el codi i després la teva contrasenya nova."
-#: src/screens/Onboarding/StepModeration/index.tsx:72
+#: src/screens/Onboarding/StepModeration/index.tsx:60
msgid "You're in control"
msgstr "Tu tens el control"
@@ -4886,19 +6140,24 @@ msgstr "Tu tens el control"
msgid "You're in line"
msgstr "Estàs a la cua"
-#: src/screens/Onboarding/StepFinished.tsx:90
+#: src/screens/Onboarding/StepFinished.tsx:94
msgid "You're ready to go!"
msgstr "Ja està tot llest!"
+#: src/components/moderation/ModerationDetailsDialog.tsx:98
+#: src/lib/moderation/useModerationCauseDescription.ts:101
+msgid "You've chosen to hide a word or tag within this post."
+msgstr "Has triat amagar una paraula o una etiqueta d'aquesta publicació."
+
#: src/view/com/posts/FollowingEndOfFeed.tsx:48
msgid "You've reached the end of your feed! Find some more accounts to follow."
-msgstr "Has arribat al final del vostre cabal! Cerca alguns comptes més per seguir."
+msgstr "Has arribat al final del vostre cabal! Cerca alguns comptes més per a seguir."
-#: src/view/com/auth/create/Step1.tsx:67
+#: src/screens/Signup/index.tsx:151
msgid "Your account"
msgstr "El teu compte"
-#: src/view/com/modals/DeleteAccount.tsx:67
+#: src/view/com/modals/DeleteAccount.tsx:68
msgid "Your account has been deleted"
msgstr "El teu compte s'ha eliminat"
@@ -4906,7 +6165,7 @@ msgstr "El teu compte s'ha eliminat"
msgid "Your account repository, containing all public data records, can be downloaded as a \"CAR\" file. This file does not include media embeds, such as images, or your private data, which must be fetched separately."
msgstr "El repositori del teu compte, que conté tots els registres de dades públiques, es pot baixar com a fitxer \"CAR\". Aquest fitxer no inclou incrustacions multimèdia, com ara imatges, ni les teves dades privades, que s'han d'obtenir per separat."
-#: src/view/com/auth/create/Step1.tsx:215
+#: src/screens/Signup/StepInfo/index.tsx:123
msgid "Your birth date"
msgstr "La teva data de naixement"
@@ -4914,12 +6173,12 @@ msgstr "La teva data de naixement"
msgid "Your choice will be saved, but can be changed later in settings."
msgstr "La teva elecció es desarà, però es pot canviar més endavant a la configuració."
-#: src/screens/Onboarding/StepFollowingFeed.tsx:61
+#: src/screens/Onboarding/StepFollowingFeed.tsx:62
msgid "Your default feed is \"Following\""
msgstr "El teu canal per defecte és \"Seguint\""
-#: src/view/com/auth/create/state.ts:110
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:70
+#: src/screens/Login/ForgotPasswordForm.tsx:57
+#: src/screens/Signup/state.ts:227
#: src/view/com/modals/ChangePassword.tsx:54
msgid "Your email appears to be invalid."
msgstr "El teu correu no sembla vàlid."
@@ -4938,13 +6197,13 @@ msgstr "El teu correu encara no s'ha verificat. Et recomanem fer-ho per segureta
#: src/view/com/posts/FollowingEmptyState.tsx:47
msgid "Your following feed is empty! Follow more users to see what's happening."
-msgstr "El teu canal de seguint està buit! Segueix a més usuaris per saber què està passant."
+msgstr "El teu canal de seguint està buit! Segueix a més usuaris per a saber què està passant."
-#: src/view/com/auth/create/Step2.tsx:83
+#: src/screens/Signup/StepHandle.tsx:73
msgid "Your full handle will be"
msgstr "El teu identificador complet serà"
-#: src/view/com/modals/ChangeHandle.tsx:270
+#: src/view/com/modals/ChangeHandle.tsx:271
msgid "Your full handle will be <0>@{0}0>"
msgstr "El teu identificador complet serà <0>@{0}0>"
@@ -4958,33 +6217,32 @@ msgstr "El teu identificador complet serà <0>@{0}0>"
#~ msgid "Your invite codes are hidden when logged in using an App Password"
#~ msgstr "Els teus codis d'invitació no es mostren quan has iniciat sessió amb una contrasenya d'aplicació"
-#: src/components/dialogs/MutedWords.tsx:221
+#: src/components/dialogs/MutedWords.tsx:220
msgid "Your muted words"
-msgstr ""
+msgstr "Les teves paraules silenciades"
-#: src/view/com/modals/ChangePassword.tsx:155
+#: src/view/com/modals/ChangePassword.tsx:157
msgid "Your password has been changed successfully!"
msgstr "S'ha canviat la teva contrasenya!"
-#: src/view/com/composer/Composer.tsx:274
+#: src/view/com/composer/Composer.tsx:284
msgid "Your post has been published"
msgstr "S'ha publicat"
-#: src/screens/Onboarding/StepFinished.tsx:105
+#: src/screens/Onboarding/StepFinished.tsx:109
#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:59
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:59
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:61
msgid "Your posts, likes, and blocks are public. Mutes are private."
msgstr "Les teves publicacions, m'agrades i bloquejos són públics. Els comptes silenciats són privats."
-#: src/view/com/modals/SwitchAccount.tsx:84
-#: src/view/screens/Settings/index.tsx:118
+#: src/view/screens/Settings/index.tsx:136
msgid "Your profile"
msgstr "El teu perfil"
-#: src/view/com/composer/Composer.tsx:273
+#: src/view/com/composer/Composer.tsx:283
msgid "Your reply has been published"
-msgstr "S'ha publicat a teva resposta"
+msgstr "S'ha publicat la teva resposta"
-#: src/view/com/auth/create/Step2.tsx:65
+#: src/screens/Signup/index.tsx:153
msgid "Your user handle"
msgstr "El teu identificador d'usuari"
diff --git a/src/locale/locales/de/messages.po b/src/locale/locales/de/messages.po
index 503d656eee..6316d69c31 100644
--- a/src/locale/locales/de/messages.po
+++ b/src/locale/locales/de/messages.po
@@ -17,11 +17,12 @@ msgstr ""
msgid "(no email)"
msgstr "(keine E-Mail)"
-#: src/view/com/profile/ProfileHeader.tsx:593
+#: src/components/ProfileHoverCard/index.web.tsx:323
+#: src/screens/Profile/Header/Metrics.tsx:44
msgid "{following} following"
msgstr "{following} folge ich"
-#: src/view/shell/Drawer.tsx:440
+#: src/view/shell/Drawer.tsx:449
msgid "{numUnreadNotifications} unread"
msgstr "{numUnreadNotifications} ungelesen"
@@ -29,15 +30,24 @@ msgstr "{numUnreadNotifications} ungelesen"
msgid "<0/> members"
msgstr "<0/> Mitglieder"
-#: src/view/com/profile/ProfileHeader.tsx:595
+#: src/view/shell/Drawer.tsx:97
+msgid "<0>{0}0> following"
+msgstr ""
+
+#: src/components/ProfileHoverCard/index.web.tsx:314
+msgid "<0>{followers} 0><1>{pluralizedFollowers}1>"
+msgstr ""
+
+#: src/components/ProfileHoverCard/index.web.tsx:326
+#: src/screens/Profile/Header/Metrics.tsx:45
msgid "<0>{following} 0><1>following1>"
msgstr "<0>{following} 0><1>folge ich1>"
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:30
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:31
msgid "<0>Choose your0><1>Recommended1><2>Feeds2>"
msgstr "<0>Wähle deine0><1>empfohlenen1><2>Feeds2>"
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:37
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:38
msgid "<0>Follow some0><1>Recommended1><2>Users2>"
msgstr "<0>Folge einigen0><1>empfohlenen1><2>Nutzern2>"
@@ -45,53 +55,62 @@ msgstr "<0>Folge einigen0><1>empfohlenen1><2>Nutzern2>"
msgid "<0>Welcome to0><1>Bluesky1>"
msgstr "<0>Willkommen bei0><1>Bluesky1>"
-#: src/view/com/profile/ProfileHeader.tsx:558
+#: src/screens/Profile/Header/Handle.tsx:43
msgid "⚠Invalid Handle"
msgstr "⚠Ungültiger Handle"
#: src/view/com/util/moderation/LabelInfo.tsx:45
-msgid "A content warning has been applied to this {0}."
-msgstr "Diese Seite wurde mit einer Inhaltswarnung versehen {0}."
+#~ msgid "A content warning has been applied to this {0}."
+#~ msgstr "Diese Seite wurde mit einer Inhaltswarnung versehen {0}."
#: src/lib/hooks/useOTAUpdate.ts:16
-msgid "A new version of the app is available. Please update to continue using the app."
-msgstr "Eine neue Version der App ist verfügbar. Bitte aktualisiere die App, um sie weiter nutzen zu können."
+#~ msgid "A new version of the app is available. Please update to continue using the app."
+#~ msgstr "Eine neue Version der App ist verfügbar. Bitte aktualisiere die App, um sie weiter nutzen zu können."
#: src/view/com/util/ViewHeader.tsx:89
-#: src/view/screens/Search/Search.tsx:647
+#: src/view/screens/Search/Search.tsx:796
msgid "Access navigation links and settings"
msgstr "Zugriff auf Navigationslinks und Einstellungen"
-#: src/view/com/home/HomeHeaderLayoutMobile.tsx:52
+#: src/view/com/home/HomeHeaderLayoutMobile.tsx:54
msgid "Access profile and other navigation links"
msgstr "Zugang zum Profil und anderen Navigationslinks"
-#: src/view/com/modals/EditImage.tsx:299
-#: src/view/screens/Settings/index.tsx:451
+#: src/view/com/modals/EditImage.tsx:300
+#: src/view/screens/Settings/index.tsx:421
msgid "Accessibility"
msgstr "Barrierefreiheit"
-#: src/view/com/auth/login/LoginForm.tsx:166
-#: src/view/screens/Settings/index.tsx:308
-#: src/view/screens/Settings/index.tsx:721
+#: src/components/moderation/LabelsOnMe.tsx:42
+msgid "account"
+msgstr ""
+
+#: src/screens/Login/LoginForm.tsx:144
+#: src/view/screens/Settings/index.tsx:330
+#: src/view/screens/Settings/index.tsx:707
msgid "Account"
msgstr "Konto"
-#: src/view/com/profile/ProfileHeader.tsx:246
+#: src/view/com/profile/ProfileMenu.tsx:139
msgid "Account blocked"
msgstr "Konto blockiert"
-#: src/view/com/profile/ProfileHeader.tsx:213
+#: src/view/com/profile/ProfileMenu.tsx:153
+msgid "Account followed"
+msgstr ""
+
+#: src/view/com/profile/ProfileMenu.tsx:113
msgid "Account muted"
msgstr "Konto stummgeschaltet"
-#: src/view/com/modals/ModerationDetails.tsx:86
+#: src/components/moderation/ModerationDetailsDialog.tsx:93
+#: src/lib/moderation/useModerationCauseDescription.ts:91
msgid "Account Muted"
-msgstr "Konto Stummgeschaltet"
+msgstr "Konto stummgeschaltet"
-#: src/view/com/modals/ModerationDetails.tsx:72
+#: src/components/moderation/ModerationDetailsDialog.tsx:82
msgid "Account Muted by List"
-msgstr "Konto stummgeschaltet nach Liste"
+msgstr "Konto stummgeschaltet gemäß Liste"
#: src/view/com/util/AccountDropdownBtn.tsx:41
msgid "Account options"
@@ -101,19 +120,24 @@ msgstr "Kontoeinstellungen"
msgid "Account removed from quick access"
msgstr "Konto aus dem Schnellzugriff entfernt"
-#: src/view/com/profile/ProfileHeader.tsx:268
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:137
+#: src/view/com/profile/ProfileMenu.tsx:128
msgid "Account unblocked"
msgstr "Konto entblockiert"
-#: src/view/com/profile/ProfileHeader.tsx:226
-msgid "Account unmuted"
-msgstr "Konto Stummschaltung aufgehoben"
+#: src/view/com/profile/ProfileMenu.tsx:166
+msgid "Account unfollowed"
+msgstr "Konto entfolgt"
-#: src/components/dialogs/MutedWords.tsx:165
+#: src/view/com/profile/ProfileMenu.tsx:102
+msgid "Account unmuted"
+msgstr "Stummschaltung für Konto aufgehoben"
+
+#: src/components/dialogs/MutedWords.tsx:164
#: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:150
-#: src/view/com/modals/ListAddRemoveUsers.tsx:264
+#: src/view/com/modals/ListAddRemoveUsers.tsx:268
#: src/view/com/modals/UserAddRemoveLists.tsx:219
-#: src/view/screens/ProfileList.tsx:813
+#: src/view/screens/ProfileList.tsx:829
msgid "Add"
msgstr "Hinzufügen"
@@ -121,62 +145,63 @@ msgstr "Hinzufügen"
msgid "Add a content warning"
msgstr "Eine Inhaltswarnung hinzufügen"
-#: src/view/screens/ProfileList.tsx:803
+#: src/view/screens/ProfileList.tsx:819
msgid "Add a user to this list"
msgstr "Einen Nutzer zu dieser Liste hinzufügen"
-#: src/view/screens/Settings/index.tsx:383
-#: src/view/screens/Settings/index.tsx:392
+#: src/components/dialogs/SwitchAccount.tsx:55
+#: src/view/screens/Settings/index.tsx:405
+#: src/view/screens/Settings/index.tsx:414
msgid "Add account"
msgstr "Konto hinzufügen"
#: src/view/com/composer/photos/Gallery.tsx:119
#: src/view/com/composer/photos/Gallery.tsx:180
-#: src/view/com/modals/AltImage.tsx:116
+#: src/view/com/modals/AltImage.tsx:117
msgid "Add alt text"
msgstr "Alt-Text hinzufügen"
-#: src/view/screens/AppPasswords.tsx:102
-#: src/view/screens/AppPasswords.tsx:143
-#: src/view/screens/AppPasswords.tsx:156
+#: src/view/screens/AppPasswords.tsx:104
+#: src/view/screens/AppPasswords.tsx:145
+#: src/view/screens/AppPasswords.tsx:158
msgid "Add App Password"
msgstr "App-Passwort hinzufügen"
#: src/view/com/modals/report/InputIssueDetails.tsx:41
#: src/view/com/modals/report/Modal.tsx:191
-msgid "Add details"
-msgstr "Details hinzufügen"
+#~ msgid "Add details"
+#~ msgstr "Details hinzufügen"
#: src/view/com/modals/report/Modal.tsx:194
-msgid "Add details to report"
-msgstr "Details zum Report hinzufügen"
+#~ msgid "Add details to report"
+#~ msgstr "Details zum Report hinzufügen"
-#: src/view/com/composer/Composer.tsx:453
+#: src/view/com/composer/Composer.tsx:467
msgid "Add link card"
msgstr "Link-Karte hinzufügen"
-#: src/view/com/composer/Composer.tsx:458
+#: src/view/com/composer/Composer.tsx:472
msgid "Add link card:"
msgstr "Link-Karte hinzufügen:"
-#: src/components/dialogs/MutedWords.tsx:158
+#: src/components/dialogs/MutedWords.tsx:157
msgid "Add mute word for configured settings"
msgstr "Stummgeschaltetes Wort für konfigurierte Einstellungen hinzufügen"
-#: src/components/dialogs/MutedWords.tsx:87
+#: src/components/dialogs/MutedWords.tsx:86
msgid "Add muted words and tags"
msgstr "Füge stummgeschaltete Wörter und Tags hinzu"
-#: src/view/com/modals/ChangeHandle.tsx:417
+#: src/view/com/modals/ChangeHandle.tsx:416
msgid "Add the following DNS record to your domain:"
msgstr "Füge den folgenden DNS-Eintrag zu deiner Domain hinzu:"
-#: src/view/com/profile/ProfileHeader.tsx:310
+#: src/view/com/profile/ProfileMenu.tsx:263
+#: src/view/com/profile/ProfileMenu.tsx:266
msgid "Add to Lists"
msgstr "Zu Listen hinzufügen"
-#: src/view/com/feeds/FeedSourceCard.tsx:245
-#: src/view/screens/ProfileFeed.tsx:273
+#: src/view/com/feeds/FeedSourceCard.tsx:234
msgid "Add to my feeds"
msgstr "Zu meinen Feeds hinzufügen"
@@ -189,7 +214,7 @@ msgstr "Hinzugefügt"
msgid "Added to list"
msgstr "Zur Liste hinzugefügt"
-#: src/view/com/feeds/FeedSourceCard.tsx:127
+#: src/view/com/feeds/FeedSourceCard.tsx:108
msgid "Added to my feeds"
msgstr "Zu meinen Feeds hinzugefügt"
@@ -197,28 +222,35 @@ msgstr "Zu meinen Feeds hinzugefügt"
msgid "Adjust the number of likes a reply must have to be shown in your feed."
msgstr "Passe die Anzahl der Likes an, die eine Antwort haben muss, um in deinem Feed angezeigt zu werden."
+#: src/lib/moderation/useGlobalLabelStrings.ts:34
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:117
#: src/view/com/modals/SelfLabel.tsx:75
msgid "Adult Content"
msgstr "Inhalt für Erwachsene"
#: src/view/com/modals/ContentFilteringSettings.tsx:141
-msgid "Adult content can only be enabled via the Web at <0/>."
-msgstr "Inhalte für Erwachsene können nur über das Web unter <0/> aktiviert werden."
+#~ msgid "Adult content can only be enabled via the Web at <0/>."
+#~ msgstr "Inhalte für Erwachsene können nur über das Web unter <0/> aktiviert werden."
-#: src/view/screens/Settings/index.tsx:664
+#: src/components/moderation/LabelPreference.tsx:242
+msgid "Adult content is disabled."
+msgstr ""
+
+#: src/screens/Moderation/index.tsx:375
+#: src/view/screens/Settings/index.tsx:635
msgid "Advanced"
msgstr "Erweitert"
-#: src/view/screens/Feeds.tsx:666
+#: src/view/screens/Feeds.tsx:691
msgid "All the feeds you've saved, right in one place."
msgstr "All deine gespeicherten Feeds an einem Ort."
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:221
-#: src/view/com/modals/ChangePassword.tsx:168
+#: src/screens/Login/ForgotPasswordForm.tsx:178
+#: src/view/com/modals/ChangePassword.tsx:170
msgid "Already have a code?"
msgstr "Hast du bereits einen Code?"
-#: src/view/com/auth/login/ChooseAccountForm.tsx:98
+#: src/screens/Login/ChooseAccountForm.tsx:39
msgid "Already signed in as @{0}"
msgstr "Bereits angemeldet als @{0}"
@@ -226,7 +258,7 @@ msgstr "Bereits angemeldet als @{0}"
msgid "ALT"
msgstr "ALT"
-#: src/view/com/modals/EditImage.tsx:315
+#: src/view/com/modals/EditImage.tsx:316
msgid "Alt text"
msgstr "Alt-Text"
@@ -242,12 +274,20 @@ msgstr "Eine E-Mail wurde an {0} gesendet. Sie enthält einen Bestätigungscode,
msgid "An email has been sent to your previous address, {0}. It includes a confirmation code which you can enter below."
msgstr "Eine E-Mail wurde an deine vorherige Adresse {0} gesendet. Sie enthält einen Bestätigungscode, den du unten eingeben kannst."
-#: src/view/com/profile/FollowButton.tsx:30
-#: src/view/com/profile/FollowButton.tsx:40
+#: src/lib/moderation/useReportOptions.ts:26
+msgid "An issue not included in these options"
+msgstr "Ein Problem, das hier nicht aufgelistet ist"
+
+#: src/components/hooks/useFollowMethods.ts:35
+#: src/components/hooks/useFollowMethods.ts:50
+#: src/view/com/profile/FollowButton.tsx:35
+#: src/view/com/profile/FollowButton.tsx:45
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:188
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:198
msgid "An issue occurred, please try again."
msgstr "Es ist ein Problem aufgetreten, bitte versuche es erneut."
-#: src/view/com/notifications/FeedItem.tsx:237
+#: src/view/com/notifications/FeedItem.tsx:242
#: src/view/com/threadgate/WhoCanReply.tsx:178
msgid "and"
msgstr "und"
@@ -256,69 +296,89 @@ msgstr "und"
msgid "Animals"
msgstr "Tiere"
+#: src/lib/moderation/useReportOptions.ts:31
+msgid "Anti-Social Behavior"
+msgstr "Asoziales Verhalten"
+
#: src/view/screens/LanguageSettings.tsx:95
msgid "App Language"
msgstr "App-Sprache"
-#: src/view/screens/AppPasswords.tsx:228
+#: src/view/screens/AppPasswords.tsx:223
msgid "App password deleted"
msgstr "App-Passwort gelöscht"
-#: src/view/com/modals/AddAppPasswords.tsx:134
+#: src/view/com/modals/AddAppPasswords.tsx:135
msgid "App Password names can only contain letters, numbers, spaces, dashes, and underscores."
msgstr "App-Passwortnamen dürfen nur Buchstaben, Zahlen, Leerzeichen, Bindestriche und Unterstriche enthalten."
-#: src/view/com/modals/AddAppPasswords.tsx:99
+#: src/view/com/modals/AddAppPasswords.tsx:100
msgid "App Password names must be at least 4 characters long."
msgstr "App-Passwortnamen müssen mindestens 4 Zeichen lang sein."
-#: src/view/screens/Settings/index.tsx:675
+#: src/view/screens/Settings/index.tsx:646
msgid "App password settings"
msgstr "App-Passwort-Einstellungen"
-#: src/Navigation.tsx:239
-#: src/view/screens/AppPasswords.tsx:187
-#: src/view/screens/Settings/index.tsx:684
+#: src/Navigation.tsx:251
+#: src/view/screens/AppPasswords.tsx:189
+#: src/view/screens/Settings/index.tsx:655
msgid "App Passwords"
msgstr "App-Passwörter"
+#: src/components/moderation/LabelsOnMeDialog.tsx:133
+#: src/components/moderation/LabelsOnMeDialog.tsx:136
+msgid "Appeal"
+msgstr ""
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:201
+msgid "Appeal \"{0}\" label"
+msgstr "Kennzeichnung \"{0}\" anfechten"
+
#: src/view/com/util/forms/PostDropdownBtn.tsx:337
#: src/view/com/util/forms/PostDropdownBtn.tsx:346
-msgid "Appeal content warning"
-msgstr "Inhaltswarnungseinspruch"
+#~ msgid "Appeal content warning"
+#~ msgstr "Inhaltswarnungseinspruch"
#: src/view/com/modals/AppealLabel.tsx:65
-msgid "Appeal Content Warning"
-msgstr "Inhaltswarnungseinspruch"
+#~ msgid "Appeal Content Warning"
+#~ msgstr "Inhaltswarnungseinspruch"
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:192
+msgid "Appeal submitted."
+msgstr "Anfechtung abgeschickt."
#: src/view/com/util/moderation/LabelInfo.tsx:52
-msgid "Appeal this decision"
-msgstr "Einspruch gegen diese Entscheidung"
+#~ msgid "Appeal this decision"
+#~ msgstr "Einspruch gegen diese Entscheidung"
#: src/view/com/util/moderation/LabelInfo.tsx:56
-msgid "Appeal this decision."
-msgstr "Einspruch gegen diese Entscheidung."
+#~ msgid "Appeal this decision."
+#~ msgstr "Einspruch gegen diese Entscheidung."
-#: src/view/screens/Settings/index.tsx:466
+#: src/view/screens/Settings/index.tsx:436
msgid "Appearance"
msgstr "Erscheinungsbild"
-#: src/view/screens/AppPasswords.tsx:224
+#: src/view/screens/AppPasswords.tsx:265
msgid "Are you sure you want to delete the app password \"{name}\"?"
msgstr "Bist du sicher, dass du das App-Passwort \"{name}\" löschen möchtest?"
-#: src/view/com/composer/Composer.tsx:150
+#: src/view/com/feeds/FeedSourceCard.tsx:280
+msgid "Are you sure you want to remove {0} from your feeds?"
+msgstr "Bist du sicher, dass du {0} von deinen Feeds entfernen möchtest?"
+
+#: src/view/com/composer/Composer.tsx:509
msgid "Are you sure you'd like to discard this draft?"
msgstr "Bist du sicher, dass du diesen Entwurf verwerfen möchtest?"
-#: src/components/dialogs/MutedWords.tsx:282
-#: src/view/screens/ProfileList.tsx:365
+#: src/components/dialogs/MutedWords.tsx:281
msgid "Are you sure?"
msgstr "Bist du sicher?"
#: src/view/com/util/forms/PostDropdownBtn.tsx:322
-msgid "Are you sure? This cannot be undone."
-msgstr "Bist du sicher? Dies kann nicht rückgängig gemacht werden."
+#~ msgid "Are you sure? This cannot be undone."
+#~ msgstr "Bist du sicher? Dies kann nicht rückgängig gemacht werden."
#: src/view/com/composer/select-language/SuggestedLanguage.tsx:60
msgid "Are you writing in <0>{0}0>?"
@@ -332,137 +392,165 @@ msgstr "Kunst"
msgid "Artistic or non-erotic nudity."
msgstr "Künstlerische oder nicht-erotische Nacktheit."
-#: src/view/com/auth/create/CreateAccount.tsx:158
-#: src/view/com/auth/login/ChooseAccountForm.tsx:151
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:174
-#: src/view/com/auth/login/LoginForm.tsx:259
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:179
-#: src/view/com/modals/report/InputIssueDetails.tsx:46
-#: src/view/com/post-thread/PostThread.tsx:472
-#: src/view/com/post-thread/PostThread.tsx:522
-#: src/view/com/post-thread/PostThread.tsx:530
-#: src/view/com/profile/ProfileHeader.tsx:649
+#: src/screens/Signup/StepHandle.tsx:119
+msgid "At least 3 characters"
+msgstr "Mindestens 3 Zeichen"
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:246
+#: src/components/moderation/LabelsOnMeDialog.tsx:247
+#: src/screens/Login/ChooseAccountForm.tsx:73
+#: src/screens/Login/ChooseAccountForm.tsx:78
+#: src/screens/Login/ForgotPasswordForm.tsx:129
+#: src/screens/Login/ForgotPasswordForm.tsx:135
+#: src/screens/Login/LoginForm.tsx:221
+#: src/screens/Login/LoginForm.tsx:227
+#: src/screens/Login/SetNewPasswordForm.tsx:160
+#: src/screens/Login/SetNewPasswordForm.tsx:166
+#: src/screens/Profile/Header/Shell.tsx:96
+#: src/screens/Signup/index.tsx:180
#: src/view/com/util/ViewHeader.tsx:87
msgid "Back"
msgstr "Zurück"
#: src/view/com/post-thread/PostThread.tsx:480
-msgctxt "action"
-msgid "Back"
-msgstr "Zurück"
+#~ msgctxt "action"
+#~ msgid "Back"
+#~ msgstr "Zurück"
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:136
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:144
msgid "Based on your interest in {interestsText}"
msgstr "Ausgehend von deinem Interesse an {interestsText}"
-#: src/view/screens/Settings/index.tsx:523
+#: src/view/screens/Settings/index.tsx:493
msgid "Basics"
msgstr "Grundlagen"
-#: src/view/com/auth/create/Step1.tsx:227
-#: src/view/com/modals/BirthDateSettings.tsx:73
+#: src/components/dialogs/BirthDateSettings.tsx:107
msgid "Birthday"
msgstr "Geburtstag"
-#: src/view/screens/Settings/index.tsx:340
+#: src/view/screens/Settings/index.tsx:362
msgid "Birthday:"
msgstr "Geburtstag:"
-#: src/view/com/profile/ProfileHeader.tsx:239
-#: src/view/com/profile/ProfileHeader.tsx:346
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:286
+#: src/view/com/profile/ProfileMenu.tsx:361
+msgid "Block"
+msgstr "Blockieren"
+
+#: src/view/com/profile/ProfileMenu.tsx:300
+#: src/view/com/profile/ProfileMenu.tsx:307
msgid "Block Account"
msgstr "Konto blockieren"
-#: src/view/screens/ProfileList.tsx:556
+#: src/view/com/profile/ProfileMenu.tsx:344
+msgid "Block Account?"
+msgstr "Konto blockieren?"
+
+#: src/view/screens/ProfileList.tsx:532
msgid "Block accounts"
msgstr "Konten blockieren"
-#: src/view/screens/ProfileList.tsx:506
+#: src/view/screens/ProfileList.tsx:480
+#: src/view/screens/ProfileList.tsx:636
msgid "Block list"
msgstr "Blockliste"
-#: src/view/screens/ProfileList.tsx:316
+#: src/view/screens/ProfileList.tsx:631
msgid "Block these accounts?"
msgstr "Diese Konten blockieren?"
#: src/view/screens/ProfileList.tsx:320
-msgid "Block this List"
-msgstr "Diese Liste blockieren"
+#~ msgid "Block this List"
+#~ msgstr "Diese Liste blockieren"
#: src/view/com/lists/ListCard.tsx:110
-#: src/view/com/util/post-embeds/QuoteEmbed.tsx:61
+#: src/view/com/util/post-embeds/QuoteEmbed.tsx:58
msgid "Blocked"
msgstr "Blockiert"
-#: src/view/screens/Moderation.tsx:142
+#: src/screens/Moderation/index.tsx:267
msgid "Blocked accounts"
msgstr "Blockierte Konten"
-#: src/Navigation.tsx:132
-#: src/view/screens/ModerationBlockedAccounts.tsx:107
+#: src/Navigation.tsx:134
+#: src/view/screens/ModerationBlockedAccounts.tsx:113
msgid "Blocked Accounts"
msgstr "Blockierte Konten"
-#: src/view/com/profile/ProfileHeader.tsx:241
+#: src/view/com/profile/ProfileMenu.tsx:356
msgid "Blocked accounts cannot reply in your threads, mention you, or otherwise interact with you."
msgstr "Blockierte Konten können nicht in deinen Threads antworten, dich erwähnen oder anderweitig mit dir interagieren."
-#: src/view/screens/ModerationBlockedAccounts.tsx:115
+#: src/view/screens/ModerationBlockedAccounts.tsx:121
msgid "Blocked accounts cannot reply in your threads, mention you, or otherwise interact with you. You will not see their content and they will be prevented from seeing yours."
msgstr "Blockierte Konten können nicht in deinen Threads antworten, dich erwähnen oder anderweitig mit dir interagieren. Du wirst ihre Inhalte nicht sehen und sie werden daran gehindert, deine zu sehen."
-#: src/view/com/post-thread/PostThread.tsx:324
+#: src/view/com/post-thread/PostThread.tsx:313
msgid "Blocked post."
-msgstr "Gesperrter Beitrag."
+msgstr "Blockierter Beitrag."
-#: src/view/screens/ProfileList.tsx:318
+#: src/screens/Profile/Sections/Labels.tsx:163
+msgid "Blocking does not prevent this labeler from placing labels on your account."
+msgstr "Blockieren hindert diesen Kennzeichnungsdienst nicht daran, Kennzeichnungen zu deinem Konto hinzuzufügen."
+
+#: src/view/screens/ProfileList.tsx:633
msgid "Blocking is public. Blocked accounts cannot reply in your threads, mention you, or otherwise interact with you."
-msgstr "Die Sperrung ist öffentlich. Gesperrte Konten können nicht in deinen Threads antworten, dich erwähnen oder anderweitig mit dir interagieren."
+msgstr "Die Blockierung ist öffentlich. Blockierte Konten können nicht in deinen Threads antworten, dich erwähnen oder anderweitig mit dir interagieren."
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:93
-#: src/view/com/auth/SplashScreen.web.tsx:133
+#: src/view/com/profile/ProfileMenu.tsx:353
+msgid "Blocking will not prevent labels from being applied on your account, but it will stop this account from replying in your threads or interacting with you."
+msgstr "Blockieren verhindert nicht, dass Kennzeichnungen zu deinem Konto hinzugefügt werden, verhindert aber, dass dieses Konto in deinen Threads antworten oder interagieren kann."
+
+#: src/view/com/auth/SplashScreen.web.tsx:149
msgid "Blog"
msgstr "Blog"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:31
#: src/view/com/auth/server-input/index.tsx:89
-#: src/view/com/auth/server-input/index.tsx:90
+#: src/view/com/auth/server-input/index.tsx:91
msgid "Bluesky"
msgstr "Bluesky"
-#: src/view/com/auth/server-input/index.tsx:150
+#: src/view/com/auth/server-input/index.tsx:154
msgid "Bluesky is an open network where you can choose your hosting provider. Custom hosting is now available in beta for developers."
msgstr "Bluesky ist ein offenes Netzwerk, in dem du deinen Hosting-Anbieter wählen kannst. Benutzerdefiniertes Hosting ist jetzt in der Beta-Phase für Entwickler verfügbar."
#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:80
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:80
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:82
msgid "Bluesky is flexible."
msgstr "Bluesky ist flexibel."
#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:69
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:69
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:71
msgid "Bluesky is open."
msgstr "Bluesky ist offen."
#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:56
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:56
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:58
msgid "Bluesky is public."
msgstr "Bluesky ist öffentlich."
-#: src/view/screens/Moderation.tsx:245
+#: src/screens/Moderation/index.tsx:533
msgid "Bluesky will not show your profile and posts to logged-out users. Other apps may not honor this request. This does not make your account private."
msgstr "Bluesky zeigt dein Profil und deine Beiträge nicht für abgemeldete Nutzer an. Andere Apps kommen dieser Aufforderung möglicherweise nicht nach."
+#: src/lib/moderation/useLabelBehaviorDescription.ts:53
+msgid "Blur images"
+msgstr "Bilder verwischen"
+
+#: src/lib/moderation/useLabelBehaviorDescription.ts:51
+msgid "Blur images and filter from feeds"
+msgstr "Bilder verwischen und aus Feeds herausfiltern"
+
#: src/screens/Onboarding/index.tsx:33
msgid "Books"
msgstr "Bücher"
-#: src/view/screens/Settings/index.tsx:859
-msgid "Build version {0} {1}"
-msgstr "Build-Version {0} {1}"
+#: src/view/screens/Settings/index.tsx:893
+#~ msgid "Build version {0} {1}"
+#~ msgstr "Build-Version {0} {1}"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:87
-#: src/view/com/auth/SplashScreen.web.tsx:128
+#: src/view/com/auth/SplashScreen.web.tsx:146
msgid "Business"
msgstr "Business"
@@ -474,90 +562,109 @@ msgstr "von —"
msgid "by {0}"
msgstr "von {0}"
+#: src/components/LabelingServiceCard/index.tsx:57
+msgid "By {0}"
+msgstr "Von {0}"
+
#: src/view/com/profile/ProfileSubpageHeader.tsx:161
msgid "by <0/>"
msgstr "von <0/>"
+#: src/screens/Signup/StepInfo/Policies.tsx:74
+msgid "By creating an account you agree to the {els}."
+msgstr "Mit dem Erstellen des Kontos akzeptierst du die {els}."
+
#: src/view/com/profile/ProfileSubpageHeader.tsx:159
msgid "by you"
msgstr "von dir"
-#: src/view/com/composer/photos/OpenCameraBtn.tsx:60
-#: src/view/com/util/UserAvatar.tsx:224
-#: src/view/com/util/UserBanner.tsx:40
+#: src/view/com/composer/photos/OpenCameraBtn.tsx:77
msgid "Camera"
msgstr "Kamera"
-#: src/view/com/modals/AddAppPasswords.tsx:216
+#: src/view/com/modals/AddAppPasswords.tsx:217
msgid "Can only contain letters, numbers, spaces, dashes, and underscores. Must be at least 4 characters long, but no more than 32 characters long."
msgstr "Darf nur Buchstaben, Zahlen, Leerzeichen, Bindestriche und Unterstriche enthalten. Muss mindestens 4 Zeichen lang sein, darf aber nicht länger als 32 Zeichen sein."
-#: src/components/Prompt.tsx:101
-#: src/view/com/composer/Composer.tsx:307
-#: src/view/com/composer/Composer.tsx:312
+#: src/components/Menu/index.tsx:213
+#: src/components/Prompt.tsx:113
+#: src/components/Prompt.tsx:115
+#: src/components/TagMenu/index.tsx:268
+#: src/view/com/composer/Composer.tsx:317
+#: src/view/com/composer/Composer.tsx:322
#: src/view/com/modals/ChangeEmail.tsx:218
#: src/view/com/modals/ChangeEmail.tsx:220
-#: src/view/com/modals/ChangePassword.tsx:265
-#: src/view/com/modals/ChangePassword.tsx:268
-#: src/view/com/modals/CreateOrEditList.tsx:355
-#: src/view/com/modals/EditImage.tsx:323
-#: src/view/com/modals/EditProfile.tsx:249
+#: src/view/com/modals/ChangeHandle.tsx:154
+#: src/view/com/modals/ChangePassword.tsx:267
+#: src/view/com/modals/ChangePassword.tsx:270
+#: src/view/com/modals/CreateOrEditList.tsx:356
+#: src/view/com/modals/crop-image/CropImage.web.tsx:138
+#: src/view/com/modals/EditImage.tsx:324
+#: src/view/com/modals/EditProfile.tsx:250
#: src/view/com/modals/InAppBrowserConsent.tsx:78
-#: src/view/com/modals/LinkWarning.tsx:87
-#: src/view/com/modals/Repost.tsx:87
+#: src/view/com/modals/InAppBrowserConsent.tsx:80
+#: src/view/com/modals/LinkWarning.tsx:105
+#: src/view/com/modals/LinkWarning.tsx:107
+#: src/view/com/modals/Repost.tsx:88
#: src/view/com/modals/VerifyEmail.tsx:247
#: src/view/com/modals/VerifyEmail.tsx:253
-#: src/view/screens/Search/Search.tsx:716
-#: src/view/shell/desktop/Search.tsx:238
+#: src/view/screens/Search/Search.tsx:865
+#: src/view/shell/desktop/Search.tsx:239
msgid "Cancel"
msgstr "Abbrechen"
-#: src/view/com/modals/Confirm.tsx:88
-#: src/view/com/modals/Confirm.tsx:91
-#: src/view/com/modals/CreateOrEditList.tsx:360
-#: src/view/com/modals/DeleteAccount.tsx:156
-#: src/view/com/modals/DeleteAccount.tsx:234
+#: src/view/com/modals/CreateOrEditList.tsx:361
+#: src/view/com/modals/DeleteAccount.tsx:155
+#: src/view/com/modals/DeleteAccount.tsx:233
msgctxt "action"
msgid "Cancel"
msgstr "Abbrechen"
-#: src/view/com/modals/DeleteAccount.tsx:152
-#: src/view/com/modals/DeleteAccount.tsx:230
+#: src/view/com/modals/DeleteAccount.tsx:151
+#: src/view/com/modals/DeleteAccount.tsx:229
msgid "Cancel account deletion"
msgstr "Konto-Löschung abbrechen"
-#: src/view/com/modals/ChangeHandle.tsx:149
+#: src/view/com/modals/ChangeHandle.tsx:150
msgid "Cancel change handle"
msgstr "Handle ändern abbrechen"
-#: src/view/com/modals/crop-image/CropImage.web.tsx:134
+#: src/view/com/modals/crop-image/CropImage.web.tsx:135
msgid "Cancel image crop"
msgstr "Bildbeschneidung abbrechen"
-#: src/view/com/modals/EditProfile.tsx:244
+#: src/view/com/modals/EditProfile.tsx:245
msgid "Cancel profile editing"
msgstr "Profilbearbeitung abbrechen"
-#: src/view/com/modals/Repost.tsx:78
+#: src/view/com/modals/Repost.tsx:79
msgid "Cancel quote post"
msgstr "Beitrag zitieren abbrechen"
#: src/view/com/modals/ListAddRemoveUsers.tsx:87
-#: src/view/shell/desktop/Search.tsx:234
+#: src/view/shell/desktop/Search.tsx:235
msgid "Cancel search"
msgstr "Suche abbrechen"
-#: src/view/screens/Settings/index.tsx:334
+#: src/view/com/modals/LinkWarning.tsx:106
+msgid "Cancels opening the linked website"
+msgstr ""
+
+#: src/view/com/modals/VerifyEmail.tsx:152
+msgid "Change"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:356
msgctxt "action"
msgid "Change"
msgstr "Ändern"
-#: src/view/screens/Settings/index.tsx:696
+#: src/view/screens/Settings/index.tsx:667
msgid "Change handle"
msgstr "Handle ändern"
-#: src/view/com/modals/ChangeHandle.tsx:161
-#: src/view/screens/Settings/index.tsx:705
+#: src/view/com/modals/ChangeHandle.tsx:162
+#: src/view/screens/Settings/index.tsx:678
msgid "Change Handle"
msgstr "Handle ändern"
@@ -565,11 +672,12 @@ msgstr "Handle ändern"
msgid "Change my email"
msgstr "Meine E-Mail ändern"
-#: src/view/screens/Settings/index.tsx:732
+#: src/view/screens/Settings/index.tsx:718
msgid "Change password"
msgstr "Passwort ändern"
-#: src/view/screens/Settings/index.tsx:741
+#: src/view/com/modals/ChangePassword.tsx:141
+#: src/view/screens/Settings/index.tsx:729
msgid "Change Password"
msgstr "Passwort Ändern"
@@ -578,8 +686,8 @@ msgid "Change post language to {0}"
msgstr "Beitragssprache in {0} ändern"
#: src/view/screens/Settings/index.tsx:733
-msgid "Change your Bluesky password"
-msgstr "Ändere dein Bluesky-Passwort"
+#~ msgid "Change your Bluesky password"
+#~ msgstr "Ändere dein Bluesky-Passwort"
#: src/view/com/modals/ChangeEmail.tsx:109
msgid "Change Your Email"
@@ -590,15 +698,15 @@ msgstr "Deine E-Mail ändern"
msgid "Check my status"
msgstr "Meinen Status prüfen"
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:121
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:122
msgid "Check out some recommended feeds. Tap + to add them to your list of pinned feeds."
msgstr "Schau dir einige empfohlene Feeds an. Tippe auf +, um sie zu deiner Liste der angehefteten Feeds hinzuzufügen."
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:185
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:186
msgid "Check out some recommended users. Follow them to see similar users."
msgstr "Schau dir einige empfohlene Nutzer an. Folge ihnen, um ähnliche Nutzer zu sehen."
-#: src/view/com/modals/DeleteAccount.tsx:169
+#: src/view/com/modals/DeleteAccount.tsx:168
msgid "Check your inbox for an email with the confirmation code to enter below:"
msgstr "Überprüfe deinen Posteingang auf eine E-Mail mit dem Bestätigungscode, den du unten eingeben musst:"
@@ -607,53 +715,59 @@ msgid "Choose \"Everybody\" or \"Nobody\""
msgstr "Wähle \"Alle\" oder \"Niemand\""
#: src/view/screens/Settings/index.tsx:697
-msgid "Choose a new Bluesky username or create"
-msgstr "Wähle oder erstelle einen neuen Bluesky-Benutzernamen"
+#~ msgid "Choose a new Bluesky username or create"
+#~ msgstr "Wähle oder erstelle einen neuen Bluesky-Benutzernamen"
#: src/view/com/auth/server-input/index.tsx:79
msgid "Choose Service"
msgstr "Service wählen"
-#: src/screens/Onboarding/StepFinished.tsx:135
+#: src/screens/Onboarding/StepFinished.tsx:139
msgid "Choose the algorithms that power your custom feeds."
msgstr "Wähle die Algorithmen aus, welche deine benutzerdefinierten Feeds generieren."
#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:83
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:83
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:85
msgid "Choose the algorithms that power your experience with custom feeds."
msgstr "Wähle die Algorithmen aus, welche dein Erlebnis mit benutzerdefinierten Feeds unterstützen."
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:103
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:104
msgid "Choose your main feeds"
msgstr "Wähle deine Haupt-Feeds"
-#: src/view/com/auth/create/Step1.tsx:196
+#: src/screens/Signup/StepInfo/index.tsx:114
msgid "Choose your password"
msgstr "Wähle dein Passwort"
-#: src/view/screens/Settings/index.tsx:834
-#: src/view/screens/Settings/index.tsx:835
+#: src/view/screens/Settings/index.tsx:832
msgid "Clear all legacy storage data"
msgstr "Alle alten Speicherdaten löschen"
-#: src/view/screens/Settings/index.tsx:837
+#: src/view/screens/Settings/index.tsx:835
msgid "Clear all legacy storage data (restart after this)"
msgstr "Alle alten Speicherdaten löschen (danach neu starten)"
-#: src/view/screens/Settings/index.tsx:846
-#: src/view/screens/Settings/index.tsx:847
+#: src/view/screens/Settings/index.tsx:844
msgid "Clear all storage data"
msgstr "Alle Speicherdaten löschen"
-#: src/view/screens/Settings/index.tsx:849
+#: src/view/screens/Settings/index.tsx:847
msgid "Clear all storage data (restart after this)"
msgstr "Alle Speicherdaten löschen (danach neu starten)"
#: src/view/com/util/forms/SearchInput.tsx:88
-#: src/view/screens/Search/Search.tsx:697
+#: src/view/screens/Search/Search.tsx:846
msgid "Clear search query"
msgstr "Suchanfrage löschen"
+#: src/view/screens/Settings/index.tsx:833
+msgid "Clears all legacy storage data"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:845
+msgid "Clears all storage data"
+msgstr ""
+
#: src/view/screens/Support.tsx:40
msgid "click here"
msgstr "hier klicken"
@@ -662,7 +776,7 @@ msgstr "hier klicken"
msgid "Click here to open tag menu for {tag}"
msgstr "Klicke hier, um das Tag-Menü für {tag} zu öffnen"
-#: src/components/RichText.tsx:191
+#: src/components/RichText.tsx:198
msgid "Click here to open tag menu for #{tag}"
msgstr "Klicke hier, um das Tag-Menü für #{tag} zu öffnen"
@@ -670,57 +784,58 @@ msgstr "Klicke hier, um das Tag-Menü für #{tag} zu öffnen"
msgid "Climate"
msgstr "Klima"
-#: src/view/com/modals/ChangePassword.tsx:265
-#: src/view/com/modals/ChangePassword.tsx:268
+#: src/view/com/modals/ChangePassword.tsx:267
+#: src/view/com/modals/ChangePassword.tsx:270
msgid "Close"
msgstr "Schließen"
-#: src/components/Dialog/index.web.tsx:84
-#: src/components/Dialog/index.web.tsx:198
+#: src/components/Dialog/index.web.tsx:106
+#: src/components/Dialog/index.web.tsx:218
msgid "Close active dialog"
msgstr "Aktiven Dialog schließen"
-#: src/view/com/auth/login/PasswordUpdatedForm.tsx:38
+#: src/screens/Login/PasswordUpdatedForm.tsx:38
msgid "Close alert"
msgstr "Meldung schließen"
-#: src/view/com/util/BottomSheetCustomBackdrop.tsx:33
+#: src/view/com/util/BottomSheetCustomBackdrop.tsx:36
msgid "Close bottom drawer"
msgstr "Untere Schublade schließen"
-#: src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx:26
+#: src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx:36
msgid "Close image"
msgstr "Bild schließen"
-#: src/view/com/lightbox/Lightbox.web.tsx:119
+#: src/view/com/lightbox/Lightbox.web.tsx:129
msgid "Close image viewer"
msgstr "Bildbetrachter schließen"
-#: src/view/shell/index.web.tsx:51
+#: src/view/shell/index.web.tsx:57
msgid "Close navigation footer"
msgstr "Fußzeile der Navigation schließen"
+#: src/components/Menu/index.tsx:207
#: src/components/TagMenu/index.tsx:262
msgid "Close this dialog"
msgstr "Diesen Dialog schließen"
-#: src/view/shell/index.web.tsx:52
+#: src/view/shell/index.web.tsx:58
msgid "Closes bottom navigation bar"
msgstr "Schließt die untere Navigationsleiste"
-#: src/view/com/auth/login/PasswordUpdatedForm.tsx:39
+#: src/screens/Login/PasswordUpdatedForm.tsx:39
msgid "Closes password update alert"
msgstr "Schließt die Kennwortaktualisierungsmeldung"
-#: src/view/com/composer/Composer.tsx:309
+#: src/view/com/composer/Composer.tsx:319
msgid "Closes post composer and discards post draft"
msgstr "Schließt den Beitragsverfasser und verwirft den Beitragsentwurf"
-#: src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx:27
+#: src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx:37
msgid "Closes viewer for header image"
msgstr "Schließt den Betrachter für das Banner"
-#: src/view/com/notifications/FeedItem.tsx:318
+#: src/view/com/notifications/FeedItem.tsx:323
msgid "Collapses list of users for a given notification"
msgstr "Klappt die Liste der Benutzer für eine bestimmte Meldung zusammen"
@@ -732,20 +847,20 @@ msgstr "Komödie"
msgid "Comics"
msgstr "Comics"
-#: src/Navigation.tsx:229
+#: src/Navigation.tsx:241
#: src/view/screens/CommunityGuidelines.tsx:32
msgid "Community Guidelines"
msgstr "Community-Richtlinien"
-#: src/screens/Onboarding/StepFinished.tsx:148
+#: src/screens/Onboarding/StepFinished.tsx:152
msgid "Complete onboarding and start using your account"
msgstr "Schließe das Onboarding ab und nutze dein Konto"
-#: src/view/com/auth/create/Step3.tsx:73
+#: src/screens/Signup/index.tsx:155
msgid "Complete the challenge"
msgstr "Beende die Herausforderung"
-#: src/view/com/composer/Composer.tsx:424
+#: src/view/com/composer/Composer.tsx:438
msgid "Compose posts up to {MAX_GRAPHEME_LENGTH} characters in length"
msgstr "Verfasse Beiträge mit einer Länge von bis zu {MAX_GRAPHEME_LENGTH} Zeichen"
@@ -753,12 +868,20 @@ msgstr "Verfasse Beiträge mit einer Länge von bis zu {MAX_GRAPHEME_LENGTH} Zei
msgid "Compose reply"
msgstr "Antwort verfassen"
-#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:67
+#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:81
msgid "Configure content filtering setting for category: {0}"
msgstr "Inhaltsfilterungseinstellung der Kategorie {0} konfigurieren"
-#: src/components/Prompt.tsx:124
-#: src/view/com/modals/AppealLabel.tsx:98
+#: src/components/moderation/LabelPreference.tsx:81
+msgid "Configure content filtering setting for category: {name}"
+msgstr "Konfiguriere die Inhaltsfilterung für die Kategorie: {name}"
+
+#: src/components/moderation/LabelPreference.tsx:244
+msgid "Configured in <0>moderation settings0>."
+msgstr "Konfiguriert in <0>Moderationseinstellungen0>"
+
+#: src/components/Prompt.tsx:153
+#: src/components/Prompt.tsx:156
#: src/view/com/modals/SelfLabel.tsx:154
#: src/view/com/modals/VerifyEmail.tsx:231
#: src/view/com/modals/VerifyEmail.tsx:233
@@ -769,48 +892,68 @@ msgstr "Bestätigen"
#: src/view/com/modals/Confirm.tsx:75
#: src/view/com/modals/Confirm.tsx:78
-msgctxt "action"
-msgid "Confirm"
-msgstr "Bestätigen"
+#~ msgctxt "action"
+#~ msgid "Confirm"
+#~ msgstr "Bestätigen"
#: src/view/com/modals/ChangeEmail.tsx:193
#: src/view/com/modals/ChangeEmail.tsx:195
msgid "Confirm Change"
msgstr "Änderung bestätigen"
-#: src/view/com/modals/lang-settings/ConfirmLanguagesButton.tsx:34
+#: src/view/com/modals/lang-settings/ConfirmLanguagesButton.tsx:35
msgid "Confirm content language settings"
msgstr "Bestätige die Spracheinstellungen für den Inhalt"
-#: src/view/com/modals/DeleteAccount.tsx:220
+#: src/view/com/modals/DeleteAccount.tsx:219
msgid "Confirm delete account"
msgstr "Bestätige das Löschen des Kontos"
#: src/view/com/modals/ContentFilteringSettings.tsx:156
-msgid "Confirm your age to enable adult content."
-msgstr "Bestätige dein Alter, um Inhalte für Erwachsene zu aktivieren."
+#~ msgid "Confirm your age to enable adult content."
+#~ msgstr "Bestätige dein Alter, um Inhalte für Erwachsene zu aktivieren."
+
+#: src/screens/Moderation/index.tsx:301
+msgid "Confirm your age:"
+msgstr "Bestätige dein Alter:"
+
+#: src/screens/Moderation/index.tsx:292
+msgid "Confirm your birthdate"
+msgstr "Bestätige dein Geburtsdatum"
#: src/view/com/modals/ChangeEmail.tsx:157
-#: src/view/com/modals/DeleteAccount.tsx:182
+#: src/view/com/modals/DeleteAccount.tsx:175
+#: src/view/com/modals/DeleteAccount.tsx:181
#: src/view/com/modals/VerifyEmail.tsx:165
msgid "Confirmation code"
msgstr "Bestätigungscode"
-#: src/view/com/auth/create/CreateAccount.tsx:193
-#: src/view/com/auth/login/LoginForm.tsx:278
+#: src/screens/Login/LoginForm.tsx:248
msgid "Connecting..."
msgstr "Verbinden..."
-#: src/view/com/auth/create/CreateAccount.tsx:213
+#: src/screens/Signup/index.tsx:225
msgid "Contact support"
msgstr "Support kontaktieren"
+#: src/components/moderation/LabelsOnMe.tsx:42
+msgid "content"
+msgstr ""
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:18
+msgid "Content Blocked"
+msgstr "Inhalt blockiert"
+
#: src/view/screens/Moderation.tsx:83
-msgid "Content filtering"
-msgstr "Inhaltsfilterung"
+#~ msgid "Content filtering"
+#~ msgstr "Inhaltsfilterung"
#: src/view/com/modals/ContentFilteringSettings.tsx:44
-msgid "Content Filtering"
+#~ msgid "Content Filtering"
+#~ msgstr "Inhaltsfilterung"
+
+#: src/screens/Moderation/index.tsx:285
+msgid "Content filters"
msgstr "Inhaltsfilterung"
#: src/view/com/modals/lang-settings/ContentLanguagesSettings.tsx:74
@@ -818,12 +961,15 @@ msgstr "Inhaltsfilterung"
msgid "Content Languages"
msgstr "Inhaltssprachen"
-#: src/view/com/modals/ModerationDetails.tsx:65
+#: src/components/moderation/ModerationDetailsDialog.tsx:75
+#: src/lib/moderation/useModerationCauseDescription.ts:75
msgid "Content Not Available"
msgstr "Inhalt nicht verfügbar"
-#: src/view/com/modals/ModerationDetails.tsx:33
-#: src/view/com/util/moderation/ScreenHider.tsx:78
+#: src/components/moderation/ModerationDetailsDialog.tsx:46
+#: src/components/moderation/ScreenHider.tsx:99
+#: src/lib/moderation/useGlobalLabelStrings.ts:22
+#: src/lib/moderation/useModerationCauseDescription.ts:38
msgid "Content Warning"
msgstr "Inhaltswarnung"
@@ -831,28 +977,38 @@ msgstr "Inhaltswarnung"
msgid "Content warnings"
msgstr "Inhaltswarnungen"
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:170
-#: src/screens/Onboarding/StepFollowingFeed.tsx:153
-#: src/screens/Onboarding/StepInterests/index.tsx:248
-#: src/screens/Onboarding/StepModeration/index.tsx:118
-#: src/screens/Onboarding/StepTopicalFeeds.tsx:114
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:148
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:209
+#: src/components/Menu/index.web.tsx:84
+msgid "Context menu backdrop, click to close the menu."
+msgstr "Hintergrund des Kontextmenüs, klicken, um das Menü zu schließen"
+
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:161
+#: src/screens/Onboarding/StepFollowingFeed.tsx:154
+#: src/screens/Onboarding/StepInterests/index.tsx:252
+#: src/screens/Onboarding/StepModeration/index.tsx:103
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:118
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:150
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:211
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:96
msgid "Continue"
msgstr "Fortfahren"
-#: src/screens/Onboarding/StepFollowingFeed.tsx:150
-#: src/screens/Onboarding/StepInterests/index.tsx:245
-#: src/screens/Onboarding/StepModeration/index.tsx:115
-#: src/screens/Onboarding/StepTopicalFeeds.tsx:111
+#: src/components/AccountList.tsx:108
+msgid "Continue as {0} (currently signed in)"
+msgstr "Fortfahren mit {0} (aktuell angemeldet)"
+
+#: src/screens/Onboarding/StepFollowingFeed.tsx:151
+#: src/screens/Onboarding/StepInterests/index.tsx:249
+#: src/screens/Onboarding/StepModeration/index.tsx:100
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:115
+#: src/screens/Signup/index.tsx:200
msgid "Continue to next step"
msgstr "Weiter zum nächsten Schritt"
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:167
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:158
msgid "Continue to the next step"
msgstr "Weiter zum nächsten Schritt"
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:191
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:199
msgid "Continue to the next step without following any accounts"
msgstr "Fahre mit dem nächsten Schritt fort, ohne Konten zu folgen"
@@ -860,96 +1016,118 @@ msgstr "Fahre mit dem nächsten Schritt fort, ohne Konten zu folgen"
msgid "Cooking"
msgstr "Kochen"
-#: src/view/com/modals/AddAppPasswords.tsx:195
-#: src/view/com/modals/InviteCodes.tsx:182
+#: src/view/com/modals/AddAppPasswords.tsx:196
+#: src/view/com/modals/InviteCodes.tsx:183
msgid "Copied"
msgstr "Kopiert"
-#: src/view/screens/Settings/index.tsx:241
+#: src/view/screens/Settings/index.tsx:254
msgid "Copied build version to clipboard"
msgstr "Die Build-Version wurde in die Zwischenablage kopiert"
-#: src/view/com/modals/AddAppPasswords.tsx:76
-#: src/view/com/modals/InviteCodes.tsx:152
-#: src/view/com/util/forms/PostDropdownBtn.tsx:161
+#: src/view/com/modals/AddAppPasswords.tsx:77
+#: src/view/com/modals/ChangeHandle.tsx:326
+#: src/view/com/modals/InviteCodes.tsx:153
+#: src/view/com/util/forms/PostDropdownBtn.tsx:164
msgid "Copied to clipboard"
msgstr "In die Zwischenablage kopiert"
-#: src/view/com/modals/AddAppPasswords.tsx:189
+#: src/components/dialogs/Embed.tsx:134
+msgid "Copied!"
+msgstr ""
+
+#: src/view/com/modals/AddAppPasswords.tsx:190
msgid "Copies app password"
msgstr "Kopiert das App-Passwort"
-#: src/view/com/modals/AddAppPasswords.tsx:188
+#: src/view/com/modals/AddAppPasswords.tsx:189
msgid "Copy"
msgstr "Kopieren"
-#: src/view/screens/ProfileList.tsx:418
+#: src/view/com/modals/ChangeHandle.tsx:480
+msgid "Copy {0}"
+msgstr "{} kopieren"
+
+#: src/components/dialogs/Embed.tsx:120
+#: src/components/dialogs/Embed.tsx:139
+msgid "Copy code"
+msgstr ""
+
+#: src/view/screens/ProfileList.tsx:390
msgid "Copy link to list"
msgstr "Link zur Liste kopieren"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:231
-#: src/view/com/util/forms/PostDropdownBtn.tsx:237
+#: src/view/com/util/forms/PostDropdownBtn.tsx:236
+#: src/view/com/util/forms/PostDropdownBtn.tsx:245
msgid "Copy link to post"
msgstr "Link zum Beitrag kopieren"
#: src/view/com/profile/ProfileHeader.tsx:295
-msgid "Copy link to profile"
-msgstr "Link zum Profil kopieren"
+#~ msgid "Copy link to profile"
+#~ msgstr "Link zum Profil kopieren"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:223
-#: src/view/com/util/forms/PostDropdownBtn.tsx:225
+#: src/view/com/util/forms/PostDropdownBtn.tsx:228
+#: src/view/com/util/forms/PostDropdownBtn.tsx:230
msgid "Copy post text"
msgstr "Beitragstext kopieren"
-#: src/Navigation.tsx:234
+#: src/Navigation.tsx:246
#: src/view/screens/CopyrightPolicy.tsx:29
msgid "Copyright Policy"
msgstr "Urheberrechtsbestimmungen"
-#: src/view/screens/ProfileFeed.tsx:97
+#: src/view/screens/ProfileFeed.tsx:103
msgid "Could not load feed"
msgstr "Feed konnte nicht geladen werden"
-#: src/view/screens/ProfileList.tsx:893
+#: src/view/screens/ProfileList.tsx:909
msgid "Could not load list"
msgstr "Liste konnte nicht geladen werden"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:62
-#: src/view/com/auth/SplashScreen.tsx:71
-#: src/view/com/auth/SplashScreen.web.tsx:81
+#: src/view/com/auth/SplashScreen.tsx:57
+#: src/view/com/auth/SplashScreen.web.tsx:101
msgid "Create a new account"
msgstr "Ein neues Konto erstellen"
-#: src/view/screens/Settings/index.tsx:384
+#: src/view/screens/Settings/index.tsx:406
msgid "Create a new Bluesky account"
msgstr "Erstelle ein neues Bluesky-Konto"
-#: src/view/com/auth/create/CreateAccount.tsx:133
+#: src/screens/Signup/index.tsx:130
msgid "Create Account"
msgstr "Konto erstellen"
-#: src/view/com/modals/AddAppPasswords.tsx:226
+#: src/components/dialogs/Signin.tsx:86
+#: src/components/dialogs/Signin.tsx:88
+msgid "Create an account"
+msgstr ""
+
+#: src/view/com/modals/AddAppPasswords.tsx:227
msgid "Create App Password"
msgstr "App-Passwort erstellen"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:54
-#: src/view/com/auth/SplashScreen.tsx:68
+#: src/view/com/auth/SplashScreen.tsx:48
+#: src/view/com/auth/SplashScreen.web.tsx:92
msgid "Create new account"
msgstr "Neues Konto erstellen"
-#: src/view/screens/AppPasswords.tsx:249
+#: src/components/ReportDialog/SelectReportOptionView.tsx:94
+msgid "Create report for {0}"
+msgstr "Meldung für {0} erstellen"
+
+#: src/view/screens/AppPasswords.tsx:246
msgid "Created {0}"
msgstr "Erstellt {0}"
#: src/view/screens/ProfileFeed.tsx:616
-msgid "Created by <0/>"
-msgstr "Erstellt von <0/>"
+#~ msgid "Created by <0/>"
+#~ msgstr "Erstellt von <0/>"
#: src/view/screens/ProfileFeed.tsx:614
-msgid "Created by you"
-msgstr "Erstellt von dir"
+#~ msgid "Created by you"
+#~ msgstr "Erstellt von dir"
-#: src/view/com/composer/Composer.tsx:455
+#: src/view/com/composer/Composer.tsx:469
msgid "Creates a card with a thumbnail. The card links to {url}"
msgstr "Erzeugt eine Karte mit Vorschaubild und verlinkt auf {url}"
@@ -957,17 +1135,17 @@ msgstr "Erzeugt eine Karte mit Vorschaubild und verlinkt auf {url}"
msgid "Culture"
msgstr "Kultur"
-#: src/view/com/auth/server-input/index.tsx:95
-#: src/view/com/auth/server-input/index.tsx:96
+#: src/view/com/auth/server-input/index.tsx:97
+#: src/view/com/auth/server-input/index.tsx:99
msgid "Custom"
msgstr "Benutzerdefiniert"
-#: src/view/com/modals/ChangeHandle.tsx:389
+#: src/view/com/modals/ChangeHandle.tsx:388
msgid "Custom domain"
msgstr "Benutzerdefinierte Domain"
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:106
-#: src/view/screens/Feeds.tsx:692
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:107
+#: src/view/screens/Feeds.tsx:717
msgid "Custom feeds built by the community bring you new experiences and help you find the content you love."
msgstr "Benutzerdefinierte Feeds, die von der Community erstellt wurden, bringen dir neue Erfahrungen und helfen dir, die Inhalte zu finden, die du liebst."
@@ -975,8 +1153,8 @@ msgstr "Benutzerdefinierte Feeds, die von der Community erstellt wurden, bringen
msgid "Customize media from external sites."
msgstr "Passe die Einstellungen für Medien von externen Websites an."
-#: src/view/screens/Settings/index.tsx:485
-#: src/view/screens/Settings/index.tsx:511
+#: src/view/screens/Settings/index.tsx:455
+#: src/view/screens/Settings/index.tsx:481
msgid "Dark"
msgstr "Dunkel"
@@ -984,61 +1162,81 @@ msgstr "Dunkel"
msgid "Dark mode"
msgstr "Dunkelmodus"
-#: src/view/screens/Settings/index.tsx:498
+#: src/view/screens/Settings/index.tsx:468
msgid "Dark Theme"
msgstr "Dunkles Thema"
+#: src/screens/Signup/StepInfo/index.tsx:134
+msgid "Date of birth"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:805
+msgid "Debug Moderation"
+msgstr ""
+
#: src/view/screens/Debug.tsx:83
msgid "Debug panel"
msgstr "Debug-Panel"
-#: src/view/screens/Settings/index.tsx:772
+#: src/view/com/util/forms/PostDropdownBtn.tsx:341
+#: src/view/screens/AppPasswords.tsx:268
+#: src/view/screens/ProfileList.tsx:615
+msgid "Delete"
+msgstr "Löschen"
+
+#: src/view/screens/Settings/index.tsx:760
msgid "Delete account"
msgstr "Konto löschen"
-#: src/view/com/modals/DeleteAccount.tsx:87
+#: src/view/com/modals/DeleteAccount.tsx:86
msgid "Delete Account"
msgstr "Konto löschen"
-#: src/view/screens/AppPasswords.tsx:222
-#: src/view/screens/AppPasswords.tsx:242
+#: src/view/screens/AppPasswords.tsx:239
msgid "Delete app password"
msgstr "App-Passwort löschen"
-#: src/view/screens/ProfileList.tsx:364
-#: src/view/screens/ProfileList.tsx:445
+#: src/view/screens/AppPasswords.tsx:263
+msgid "Delete app password?"
+msgstr "App-Passwort löschen?"
+
+#: src/view/screens/ProfileList.tsx:417
msgid "Delete List"
msgstr "Liste löschen"
-#: src/view/com/modals/DeleteAccount.tsx:223
+#: src/view/com/modals/DeleteAccount.tsx:222
msgid "Delete my account"
msgstr "Mein Konto löschen"
-#: src/view/screens/Settings/index.tsx:784
+#: src/view/screens/Settings/index.tsx:772
msgid "Delete My Account…"
msgstr "Mein Konto Löschen…"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:317
-#: src/view/com/util/forms/PostDropdownBtn.tsx:326
+#: src/view/com/util/forms/PostDropdownBtn.tsx:322
+#: src/view/com/util/forms/PostDropdownBtn.tsx:324
msgid "Delete post"
msgstr "Beitrag löschen"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:321
+#: src/view/screens/ProfileList.tsx:610
+msgid "Delete this list?"
+msgstr "Diese Liste löschen?"
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:336
msgid "Delete this post?"
msgstr "Diesen Beitrag löschen?"
-#: src/view/com/util/post-embeds/QuoteEmbed.tsx:70
+#: src/view/com/util/post-embeds/QuoteEmbed.tsx:67
msgid "Deleted"
msgstr "Gelöscht"
-#: src/view/com/post-thread/PostThread.tsx:316
+#: src/view/com/post-thread/PostThread.tsx:305
msgid "Deleted post."
msgstr "Gelöschter Beitrag."
-#: src/view/com/modals/CreateOrEditList.tsx:300
-#: src/view/com/modals/CreateOrEditList.tsx:321
-#: src/view/com/modals/EditProfile.tsx:198
-#: src/view/com/modals/EditProfile.tsx:210
+#: src/view/com/modals/CreateOrEditList.tsx:301
+#: src/view/com/modals/CreateOrEditList.tsx:322
+#: src/view/com/modals/EditProfile.tsx:199
+#: src/view/com/modals/EditProfile.tsx:211
msgid "Description"
msgstr "Beschreibung"
@@ -1046,19 +1244,39 @@ msgstr "Beschreibung"
msgid "Did you want to say anything?"
msgstr "Wolltest du etwas sagen?"
-#: src/view/screens/Settings/index.tsx:504
+#: src/view/screens/Settings/index.tsx:474
msgid "Dim"
msgstr "Dimmen"
-#: src/view/com/composer/Composer.tsx:151
+#: src/view/screens/Settings/index.tsx:697
+msgid "Disable haptics"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:697
+msgid "Disable vibrations"
+msgstr ""
+
+#: src/lib/moderation/useLabelBehaviorDescription.ts:32
+#: src/lib/moderation/useLabelBehaviorDescription.ts:42
+#: src/lib/moderation/useLabelBehaviorDescription.ts:68
+#: src/screens/Moderation/index.tsx:341
+msgid "Disabled"
+msgstr "Deaktiviert"
+
+#: src/view/com/composer/Composer.tsx:511
msgid "Discard"
msgstr "Verwerfen"
#: src/view/com/composer/Composer.tsx:145
-msgid "Discard draft"
-msgstr "Entwurf verwerfen"
+#~ msgid "Discard draft"
+#~ msgstr "Entwurf verwerfen"
-#: src/view/screens/Moderation.tsx:226
+#: src/view/com/composer/Composer.tsx:508
+msgid "Discard draft?"
+msgstr "Entwurf löschen?"
+
+#: src/screens/Moderation/index.tsx:518
+#: src/screens/Moderation/index.tsx:522
msgid "Discourage apps from showing my account to logged-out users"
msgstr "Apps daran hindern, abgemeldeten Nutzern mein Konto zu zeigen"
@@ -1067,24 +1285,58 @@ msgstr "Apps daran hindern, abgemeldeten Nutzern mein Konto zu zeigen"
msgid "Discover new custom feeds"
msgstr "Entdecke neue benutzerdefinierte Feeds"
-#: src/view/screens/Feeds.tsx:689
+#: src/view/screens/Feeds.tsx:714
msgid "Discover New Feeds"
msgstr "Entdecke neue Feeds"
-#: src/view/com/modals/EditProfile.tsx:192
+#: src/view/com/modals/EditProfile.tsx:193
msgid "Display name"
msgstr "Anzeigename"
-#: src/view/com/modals/EditProfile.tsx:180
+#: src/view/com/modals/EditProfile.tsx:181
msgid "Display Name"
msgstr "Anzeigename"
-#: src/view/com/modals/ChangeHandle.tsx:487
+#: src/view/com/modals/ChangeHandle.tsx:397
+msgid "DNS Panel"
+msgstr ""
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:39
+msgid "Does not include nudity."
+msgstr "Beinhaltet keine Nacktheit."
+
+#: src/screens/Signup/StepHandle.tsx:105
+msgid "Doesn't begin or end with a hyphen"
+msgstr "Beginnt oder endet nicht mit einem Bindestrich"
+
+#: src/view/com/modals/ChangeHandle.tsx:481
+msgid "Domain Value"
+msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:488
msgid "Domain verified!"
msgstr "Domain verifiziert!"
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:86
-#: src/view/com/modals/EditImage.tsx:333
+#: src/components/dialogs/BirthDateSettings.tsx:119
+#: src/components/dialogs/BirthDateSettings.tsx:125
+#: src/components/forms/DateField/index.tsx:74
+#: src/components/forms/DateField/index.tsx:80
+#: src/view/com/auth/server-input/index.tsx:169
+#: src/view/com/auth/server-input/index.tsx:170
+#: src/view/com/modals/AddAppPasswords.tsx:227
+#: src/view/com/modals/AltImage.tsx:140
+#: src/view/com/modals/crop-image/CropImage.web.tsx:153
+#: src/view/com/modals/InviteCodes.tsx:81
+#: src/view/com/modals/InviteCodes.tsx:124
+#: src/view/com/modals/ListAddRemoveUsers.tsx:142
+#: src/view/screens/PreferencesFollowingFeed.tsx:311
+#: src/view/screens/Settings/ExportCarDialog.tsx:94
+#: src/view/screens/Settings/ExportCarDialog.tsx:96
+msgid "Done"
+msgstr "Erledigt"
+
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:87
+#: src/view/com/modals/EditImage.tsx:334
#: src/view/com/modals/ListAddRemoveUsers.tsx:144
#: src/view/com/modals/SelfLabel.tsx:157
#: src/view/com/modals/Threadgate.tsx:129
@@ -1096,33 +1348,17 @@ msgctxt "action"
msgid "Done"
msgstr "Erledigt"
-#: src/view/com/auth/server-input/index.tsx:165
-#: src/view/com/auth/server-input/index.tsx:166
-#: src/view/com/modals/AddAppPasswords.tsx:226
-#: src/view/com/modals/AltImage.tsx:139
-#: src/view/com/modals/ContentFilteringSettings.tsx:88
-#: src/view/com/modals/ContentFilteringSettings.tsx:96
-#: src/view/com/modals/crop-image/CropImage.web.tsx:152
-#: src/view/com/modals/InviteCodes.tsx:80
-#: src/view/com/modals/InviteCodes.tsx:123
-#: src/view/com/modals/ListAddRemoveUsers.tsx:142
-#: src/view/screens/PreferencesFollowingFeed.tsx:311
-#: src/view/screens/Settings/ExportCarDialog.tsx:93
-#: src/view/screens/Settings/ExportCarDialog.tsx:94
-msgid "Done"
-msgstr "Erledigt"
-
-#: src/view/com/modals/lang-settings/ConfirmLanguagesButton.tsx:42
+#: src/view/com/modals/lang-settings/ConfirmLanguagesButton.tsx:43
msgid "Done{extraText}"
msgstr "Erledigt{extraText}"
-#: src/view/com/auth/login/ChooseAccountForm.tsx:45
-msgid "Double tap to sign in"
-msgstr "Doppeltippen zum Anmelden"
+#: src/view/com/auth/login/ChooseAccountForm.tsx:46
+#~ msgid "Double tap to sign in"
+#~ msgstr "Doppeltippen zum Anmelden"
#: src/view/screens/Settings/index.tsx:755
-msgid "Download Bluesky account data (repository)"
-msgstr "Öffnet ein Modal zum Herunterladen deiner Bluesky-Kontodaten (Kontodepot)"
+#~ msgid "Download Bluesky account data (repository)"
+#~ msgstr "Öffnet ein Modal zum Herunterladen deiner Bluesky-Kontodaten (Kontodepot)"
#: src/view/screens/Settings/ExportCarDialog.tsx:59
#: src/view/screens/Settings/ExportCarDialog.tsx:63
@@ -1133,35 +1369,47 @@ msgstr "CAR-Datei herunterladen"
msgid "Drop to add images"
msgstr "Ablegen zum Hinzufügen von Bildern"
-#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:111
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:120
msgid "Due to Apple policies, adult content can only be enabled on the web after completing sign up."
msgstr "Aufgrund der Apple-Richtlinien können Inhalte für Erwachsene erst nach Abschluss der Registrierung auf der Website aktiviert werden."
-#: src/view/com/modals/EditProfile.tsx:185
+#: src/view/com/modals/ChangeHandle.tsx:258
+msgid "e.g. alice"
+msgstr "z.B. alice"
+
+#: src/view/com/modals/EditProfile.tsx:186
msgid "e.g. Alice Roberts"
msgstr "z.B. Alice Roberts"
-#: src/view/com/modals/EditProfile.tsx:203
+#: src/view/com/modals/ChangeHandle.tsx:380
+msgid "e.g. alice.com"
+msgstr "z.B. alice.com"
+
+#: src/view/com/modals/EditProfile.tsx:204
msgid "e.g. Artist, dog-lover, and avid reader."
msgstr "z.B. Künstlerin, Hundeliebhaberin und begeisterte Leserin."
-#: src/view/com/modals/CreateOrEditList.tsx:283
-msgid "e.g. Great Posters"
-msgstr "z.B. Große Poster"
+#: src/lib/moderation/useGlobalLabelStrings.ts:43
+msgid "E.g. artistic nudes."
+msgstr "Z.B. künstlerische Nacktheit"
#: src/view/com/modals/CreateOrEditList.tsx:284
+msgid "e.g. Great Posters"
+msgstr "z.B. Großartige Poster"
+
+#: src/view/com/modals/CreateOrEditList.tsx:285
msgid "e.g. Spammers"
msgstr "z.B. Spammer"
-#: src/view/com/modals/CreateOrEditList.tsx:312
+#: src/view/com/modals/CreateOrEditList.tsx:313
msgid "e.g. The posters who never miss."
msgstr "z.B. Die Poster, die immer ins Schwarze treffen."
-#: src/view/com/modals/CreateOrEditList.tsx:313
+#: src/view/com/modals/CreateOrEditList.tsx:314
msgid "e.g. Users that repeatedly reply with ads."
msgstr "z.B. Nutzer, die wiederholt mit Werbung antworten."
-#: src/view/com/modals/InviteCodes.tsx:96
+#: src/view/com/modals/InviteCodes.tsx:97
msgid "Each code works once. You'll receive more invite codes periodically."
msgstr "Jeder Code funktioniert einmal. Du erhältst regelmäßig neue Einladungscodes."
@@ -1170,51 +1418,58 @@ msgctxt "action"
msgid "Edit"
msgstr "Bearbeiten"
+#: src/view/com/util/UserAvatar.tsx:301
+#: src/view/com/util/UserBanner.tsx:85
+msgid "Edit avatar"
+msgstr "Avatar bearbeiten"
+
#: src/view/com/composer/photos/Gallery.tsx:144
-#: src/view/com/modals/EditImage.tsx:207
+#: src/view/com/modals/EditImage.tsx:208
msgid "Edit image"
msgstr "Bild bearbeiten"
-#: src/view/screens/ProfileList.tsx:433
+#: src/view/screens/ProfileList.tsx:405
msgid "Edit list details"
msgstr "Details der Liste bearbeiten"
-#: src/view/com/modals/CreateOrEditList.tsx:250
+#: src/view/com/modals/CreateOrEditList.tsx:251
msgid "Edit Moderation List"
msgstr "Moderationsliste bearbeiten"
-#: src/Navigation.tsx:244
-#: src/view/screens/Feeds.tsx:434
-#: src/view/screens/SavedFeeds.tsx:84
+#: src/Navigation.tsx:256
+#: src/view/screens/Feeds.tsx:459
+#: src/view/screens/SavedFeeds.tsx:85
msgid "Edit My Feeds"
msgstr "Meine Feeds bearbeiten"
-#: src/view/com/modals/EditProfile.tsx:152
+#: src/view/com/modals/EditProfile.tsx:153
msgid "Edit my profile"
msgstr "Mein Profil bearbeiten"
-#: src/view/com/profile/ProfileHeader.tsx:418
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:178
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:168
msgid "Edit profile"
msgstr "Profil bearbeiten"
-#: src/view/com/profile/ProfileHeader.tsx:423
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:181
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:171
msgid "Edit Profile"
msgstr "Profil bearbeiten"
-#: src/view/com/home/HomeHeaderLayout.web.tsx:62
-#: src/view/screens/Feeds.tsx:355
+#: src/view/com/home/HomeHeaderLayout.web.tsx:66
+#: src/view/screens/Feeds.tsx:380
msgid "Edit Saved Feeds"
msgstr "Gespeicherte Feeds bearbeiten"
-#: src/view/com/modals/CreateOrEditList.tsx:245
+#: src/view/com/modals/CreateOrEditList.tsx:246
msgid "Edit User List"
msgstr "Benutzerliste bearbeiten"
-#: src/view/com/modals/EditProfile.tsx:193
+#: src/view/com/modals/EditProfile.tsx:194
msgid "Edit your display name"
msgstr "Bearbeite deinen Anzeigenamen"
-#: src/view/com/modals/EditProfile.tsx:211
+#: src/view/com/modals/EditProfile.tsx:212
msgid "Edit your profile description"
msgstr "Bearbeite deine Profilbeschreibung"
@@ -1222,14 +1477,12 @@ msgstr "Bearbeite deine Profilbeschreibung"
msgid "Education"
msgstr "Bildung"
-#: src/view/com/auth/create/Step1.tsx:176
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:156
+#: src/screens/Signup/StepInfo/index.tsx:80
#: src/view/com/modals/ChangeEmail.tsx:141
msgid "Email"
msgstr "E-Mail"
-#: src/view/com/auth/create/Step1.tsx:167
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:147
+#: src/screens/Login/ForgotPasswordForm.tsx:99
msgid "Email address"
msgstr "E-Mail-Adresse"
@@ -1246,27 +1499,50 @@ msgstr "E-Mail aktualisiert"
msgid "Email verified"
msgstr "E-Mail verifiziert"
-#: src/view/screens/Settings/index.tsx:312
+#: src/view/screens/Settings/index.tsx:334
msgid "Email:"
msgstr "E-Mail:"
-#: src/view/com/modals/EmbedConsent.tsx:113
+#: src/components/dialogs/Embed.tsx:112
+msgid "Embed HTML code"
+msgstr ""
+
+#: src/components/dialogs/Embed.tsx:97
+#: src/view/com/util/forms/PostDropdownBtn.tsx:253
+#: src/view/com/util/forms/PostDropdownBtn.tsx:255
+msgid "Embed post"
+msgstr ""
+
+#: src/components/dialogs/Embed.tsx:101
+msgid "Embed this post in your website. Simply copy the following snippet and paste it into the HTML code of your website."
+msgstr ""
+
+#: src/components/dialogs/EmbedConsent.tsx:101
msgid "Enable {0} only"
msgstr "Nur {0} aktivieren"
-#: src/view/com/modals/ContentFilteringSettings.tsx:167
+#: src/screens/Moderation/index.tsx:329
+msgid "Enable adult content"
+msgstr "Inhalte für Erwachsene aktivieren"
+
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:94
msgid "Enable Adult Content"
msgstr "Inhalte für Erwachsene aktivieren"
-#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:76
-#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:77
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:78
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:79
msgid "Enable adult content in your feeds"
msgstr "Aktiviere Inhalte für Erwachsene in deinen Feeds"
-#: src/view/com/modals/EmbedConsent.tsx:97
-msgid "Enable External Media"
+#: src/components/dialogs/EmbedConsent.tsx:82
+#: src/components/dialogs/EmbedConsent.tsx:89
+msgid "Enable external media"
msgstr "Externe Medien aktivieren"
+#: src/view/com/modals/EmbedConsent.tsx:97
+#~ msgid "Enable External Media"
+#~ msgstr "Externe Medien aktivieren"
+
#: src/view/screens/PreferencesExternalEmbeds.tsx:75
msgid "Enable media players for"
msgstr "Aktiviere Medienplayer für"
@@ -1275,16 +1551,28 @@ msgstr "Aktiviere Medienplayer für"
msgid "Enable this setting to only see replies between people you follow."
msgstr "Aktiviere diese Einstellung, um nur Antworten von Personen zu sehen, denen du folgst."
-#: src/view/screens/Profile.tsx:455
+#: src/components/dialogs/EmbedConsent.tsx:94
+msgid "Enable this source only"
+msgstr "Nur von dieser Seite erlauben"
+
+#: src/screens/Moderation/index.tsx:339
+msgid "Enabled"
+msgstr "Aktiviert"
+
+#: src/screens/Profile/Sections/Feed.tsx:100
msgid "End of feed"
msgstr "Ende des Feeds"
-#: src/view/com/modals/AddAppPasswords.tsx:166
+#: src/view/com/modals/AddAppPasswords.tsx:167
msgid "Enter a name for this App Password"
msgstr "Gebe einen Namen für dieses App-Passwort ein"
+#: src/screens/Login/SetNewPasswordForm.tsx:139
+msgid "Enter a password"
+msgstr "Gib ein Passwort ein"
+
+#: src/components/dialogs/MutedWords.tsx:99
#: src/components/dialogs/MutedWords.tsx:100
-#: src/components/dialogs/MutedWords.tsx:101
msgid "Enter a word or tag"
msgstr "Gib ein Wort oder einen Tag ein"
@@ -1292,24 +1580,24 @@ msgstr "Gib ein Wort oder einen Tag ein"
msgid "Enter Confirmation Code"
msgstr "Bestätigungscode eingeben"
-#: src/view/com/modals/ChangePassword.tsx:151
+#: src/view/com/modals/ChangePassword.tsx:153
msgid "Enter the code you received to change your password."
msgstr "Gib den Code ein, welchen du erhalten hast, um dein Passwort zu ändern."
-#: src/view/com/modals/ChangeHandle.tsx:371
+#: src/view/com/modals/ChangeHandle.tsx:370
msgid "Enter the domain you want to use"
msgstr "Gib die Domain ein, die du verwenden möchtest"
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:107
+#: src/screens/Login/ForgotPasswordForm.tsx:119
msgid "Enter the email you used to create your account. We'll send you a \"reset code\" so you can set a new password."
msgstr "Gib die E-Mail ein, die du zur Erstellung deines Kontos verwendet hast. Wir schicken dir einen \"Reset-Code\", damit du ein neues Passwort festlegen kannst."
-#: src/view/com/auth/create/Step1.tsx:228
-#: src/view/com/modals/BirthDateSettings.tsx:74
+#: src/components/dialogs/BirthDateSettings.tsx:108
msgid "Enter your birth date"
msgstr "Gib dein Geburtsdatum ein"
-#: src/view/com/auth/create/Step1.tsx:172
+#: src/screens/Login/ForgotPasswordForm.tsx:105
+#: src/screens/Signup/StepInfo/index.tsx:92
msgid "Enter your email address"
msgstr "Gib deine E-Mail-Adresse ein"
@@ -1321,15 +1609,15 @@ msgstr "Gib oben deine neue E-Mail-Adresse ein"
msgid "Enter your new email address below."
msgstr "Gib unten deine neue E-Mail-Adresse ein."
-#: src/view/com/auth/login/Login.tsx:99
+#: src/screens/Login/index.tsx:101
msgid "Enter your username and password"
msgstr "Gib deinen Benutzernamen und dein Passwort ein"
-#: src/view/com/auth/create/Step3.tsx:67
+#: src/screens/Signup/StepCaptcha/index.tsx:49
msgid "Error receiving captcha response."
msgstr "Fehler beim Empfang der Captcha-Antwort."
-#: src/view/screens/Search/Search.tsx:110
+#: src/view/screens/Search/Search.tsx:115
msgid "Error:"
msgstr "Fehler:"
@@ -1337,115 +1625,148 @@ msgstr "Fehler:"
msgid "Everybody"
msgstr "Alle"
-#: src/view/com/modals/ChangeHandle.tsx:150
-msgid "Exits handle change process"
-msgstr "Beendet den Prozess des Handle-Wechsels"
+#: src/lib/moderation/useReportOptions.ts:66
+msgid "Excessive mentions or replies"
+msgstr "Übermäßig viele Erwähnungen oder Antworten"
-#: src/view/com/lightbox/Lightbox.web.tsx:120
+#: src/view/com/modals/DeleteAccount.tsx:230
+msgid "Exits account deletion process"
+msgstr "Verlässt den Vorgang der Accountlöschung"
+
+#: src/view/com/modals/ChangeHandle.tsx:151
+msgid "Exits handle change process"
+msgstr "Verlässt den Vorgang des Handle-Wechsels"
+
+#: src/view/com/modals/crop-image/CropImage.web.tsx:136
+msgid "Exits image cropping process"
+msgstr "Verlässt den Vorgang des Bildzuschneidens"
+
+#: src/view/com/lightbox/Lightbox.web.tsx:130
msgid "Exits image view"
-msgstr "Beendet die Bildansicht"
+msgstr "Verlässt die Bildansicht"
#: src/view/com/modals/ListAddRemoveUsers.tsx:88
-#: src/view/shell/desktop/Search.tsx:235
+#: src/view/shell/desktop/Search.tsx:236
msgid "Exits inputting search query"
-msgstr "Beendet die Eingabe der Suchanfrage"
+msgstr "Verlässt die Eingabe der Suchanfrage"
-#: src/view/com/lightbox/Lightbox.web.tsx:163
+#: src/view/com/lightbox/Lightbox.web.tsx:183
msgid "Expand alt text"
msgstr "Alt-Text erweitern"
-#: src/view/com/composer/ComposerReplyTo.tsx:81
-#: src/view/com/composer/ComposerReplyTo.tsx:84
+#: src/view/com/composer/ComposerReplyTo.tsx:82
+#: src/view/com/composer/ComposerReplyTo.tsx:85
msgid "Expand or collapse the full post you are replying to"
msgstr "Erweitere oder reduziere den gesamten Beitrag, auf den du antwortest"
-#: src/view/screens/Settings/index.tsx:753
+#: src/lib/moderation/useGlobalLabelStrings.ts:47
+msgid "Explicit or potentially disturbing media."
+msgstr ""
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:35
+msgid "Explicit sexual images."
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:741
msgid "Export my data"
msgstr "Exportiere meine Daten"
#: src/view/screens/Settings/ExportCarDialog.tsx:44
-#: src/view/screens/Settings/index.tsx:764
+#: src/view/screens/Settings/index.tsx:752
msgid "Export My Data"
msgstr "Exportiere meine Daten"
-#: src/view/com/modals/EmbedConsent.tsx:64
+#: src/components/dialogs/EmbedConsent.tsx:55
+#: src/components/dialogs/EmbedConsent.tsx:59
msgid "External Media"
msgstr "Externe Medien"
-#: src/view/com/modals/EmbedConsent.tsx:75
+#: src/components/dialogs/EmbedConsent.tsx:71
#: src/view/screens/PreferencesExternalEmbeds.tsx:66
msgid "External media may allow websites to collect information about you and your device. No information is sent or requested until you press the \"play\" button."
msgstr "Externe Medien können es Websites ermöglichen, Informationen über dich und dein Gerät zu sammeln. Es werden keine Informationen gesendet oder angefordert, bis du die Schaltfläche \"Abspielen\" drückst."
-#: src/Navigation.tsx:263
+#: src/Navigation.tsx:275
#: src/view/screens/PreferencesExternalEmbeds.tsx:52
-#: src/view/screens/Settings/index.tsx:657
+#: src/view/screens/Settings/index.tsx:628
msgid "External Media Preferences"
msgstr "Externe Medienpräferenzen"
-#: src/view/screens/Settings/index.tsx:648
+#: src/view/screens/Settings/index.tsx:619
msgid "External media settings"
msgstr "Externe Medienpräferenzen"
-#: src/view/com/modals/AddAppPasswords.tsx:115
-#: src/view/com/modals/AddAppPasswords.tsx:119
+#: src/view/com/modals/AddAppPasswords.tsx:116
+#: src/view/com/modals/AddAppPasswords.tsx:120
msgid "Failed to create app password."
msgstr "Das App-Passwort konnte nicht erstellt werden."
-#: src/view/com/modals/CreateOrEditList.tsx:206
+#: src/view/com/modals/CreateOrEditList.tsx:207
msgid "Failed to create the list. Check your internet connection and try again."
msgstr "Die Liste konnte nicht erstellt werden. Überprüfe deine Internetverbindung und versuche es erneut."
-#: src/view/com/util/forms/PostDropdownBtn.tsx:128
+#: src/view/com/util/forms/PostDropdownBtn.tsx:131
msgid "Failed to delete post, please try again"
msgstr "Beitrag konnte nicht gelöscht werden, bitte versuche es erneut"
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:109
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:141
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:110
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:143
msgid "Failed to load recommended feeds"
msgstr "Empfohlene Feeds konnten nicht geladen werden"
-#: src/Navigation.tsx:194
+#: src/view/com/lightbox/Lightbox.tsx:83
+msgid "Failed to save image: {0}"
+msgstr "Das Speichern des Bildes ist fehlgeschlagen: {0}"
+
+#: src/Navigation.tsx:196
msgid "Feed"
msgstr "Feed"
-#: src/view/com/feeds/FeedSourceCard.tsx:231
+#: src/view/com/feeds/FeedSourceCard.tsx:218
msgid "Feed by {0}"
msgstr "Feed von {0}"
-#: src/view/screens/Feeds.tsx:605
+#: src/view/screens/Feeds.tsx:630
msgid "Feed offline"
msgstr "Feed offline"
#: src/view/shell/desktop/RightNav.tsx:61
-#: src/view/shell/Drawer.tsx:311
+#: src/view/shell/Drawer.tsx:320
msgid "Feedback"
msgstr "Feedback"
-#: src/Navigation.tsx:452
-#: src/view/screens/Feeds.tsx:419
-#: src/view/screens/Feeds.tsx:524
-#: src/view/screens/Profile.tsx:184
-#: src/view/shell/bottom-bar/BottomBar.tsx:181
-#: src/view/shell/desktop/LeftNav.tsx:342
-#: src/view/shell/Drawer.tsx:476
-#: src/view/shell/Drawer.tsx:477
+#: src/Navigation.tsx:456
+#: src/view/screens/Feeds.tsx:444
+#: src/view/screens/Feeds.tsx:549
+#: src/view/screens/Profile.tsx:199
+#: src/view/shell/bottom-bar/BottomBar.tsx:192
+#: src/view/shell/desktop/LeftNav.tsx:346
+#: src/view/shell/Drawer.tsx:485
+#: src/view/shell/Drawer.tsx:486
msgid "Feeds"
msgstr "Feeds"
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:57
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:58
msgid "Feeds are created by users to curate content. Choose some feeds that you find interesting."
msgstr "Feeds werden von Nutzern erstellt, um Inhalte zu kuratieren. Wähle einige Feeds aus, die du interessant findest."
-#: src/view/screens/SavedFeeds.tsx:156
+#: src/view/screens/SavedFeeds.tsx:157
msgid "Feeds are custom algorithms that users build with a little coding expertise. <0/> for more information."
msgstr "Feeds sind benutzerdefinierte Algorithmen, die Nutzer mit ein wenig Programmierkenntnisse erstellen. <0/> für mehr Informationen."
-#: src/screens/Onboarding/StepTopicalFeeds.tsx:76
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:80
msgid "Feeds can be topical as well!"
msgstr "Die Feeds können auch auf einem Thema basieren!"
-#: src/screens/Onboarding/StepFinished.tsx:151
+#: src/view/com/modals/ChangeHandle.tsx:481
+msgid "File Contents"
+msgstr "Dateiinhalt"
+
+#: src/lib/moderation/useLabelBehaviorDescription.ts:66
+msgid "Filter from feeds"
+msgstr "Aus Feeds filtern"
+
+#: src/screens/Onboarding/StepFinished.tsx:155
msgid "Finalizing"
msgstr "Abschließen"
@@ -1455,15 +1776,15 @@ msgstr "Abschließen"
msgid "Find accounts to follow"
msgstr "Konten zum Folgen finden"
-#: src/view/screens/Search/Search.tsx:440
+#: src/view/screens/Search/Search.tsx:589
msgid "Find users on Bluesky"
msgstr "Nutzer auf Bluesky finden"
-#: src/view/screens/Search/Search.tsx:438
+#: src/view/screens/Search/Search.tsx:587
msgid "Find users with the search tool on the right"
msgstr "Finde Nutzer mit der Suchfunktion auf der rechten Seite"
-#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:150
+#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:155
msgid "Finding similar accounts..."
msgstr "Suche nach ähnlichen Konten..."
@@ -1479,49 +1800,60 @@ msgstr "Passe die Diskussionsstränge an."
msgid "Fitness"
msgstr "Fitness"
-#: src/screens/Onboarding/StepFinished.tsx:131
+#: src/screens/Onboarding/StepFinished.tsx:135
msgid "Flexible"
msgstr "Flexibel"
-#: src/view/com/modals/EditImage.tsx:115
+#: src/view/com/modals/EditImage.tsx:116
msgid "Flip horizontal"
msgstr "Horizontal drehen"
-#: src/view/com/modals/EditImage.tsx:120
-#: src/view/com/modals/EditImage.tsx:287
+#: src/view/com/modals/EditImage.tsx:121
+#: src/view/com/modals/EditImage.tsx:288
msgid "Flip vertically"
msgstr "Vertikal drehen"
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:181
-#: src/view/com/post-thread/PostThreadFollowBtn.tsx:136
-#: src/view/com/profile/ProfileHeader.tsx:513
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:189
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:235
+#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:141
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:146
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:248
msgid "Follow"
msgstr "Folgen"
-#: src/view/com/profile/FollowButton.tsx:64
+#: src/view/com/profile/FollowButton.tsx:69
msgctxt "action"
msgid "Follow"
msgstr "Folgen"
#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:58
-#: src/view/com/post-thread/PostThreadFollowBtn.tsx:122
-#: src/view/com/profile/ProfileHeader.tsx:504
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:221
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:128
msgid "Follow {0}"
msgstr "{0} folgen"
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:179
+#: src/view/com/profile/ProfileMenu.tsx:242
+#: src/view/com/profile/ProfileMenu.tsx:253
+msgid "Follow Account"
+msgstr "Accounts folgen"
+
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:187
msgid "Follow All"
msgstr "Allen folgen"
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:174
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:144
+msgid "Follow Back"
+msgstr "Zurückfolgen"
+
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:182
msgid "Follow selected accounts and continue to the next step"
msgstr "Ausgewählten Konten folgen und mit dem nächsten Schritt fortfahren"
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:64
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:65
msgid "Follow some users to get started. We can recommend you more users based on who you find interesting."
msgstr "Folge einigen Nutzern, um loszulegen. Wir können dir weitere Nutzer empfehlen, je nachdem, wen du interessant findest."
-#: src/view/com/profile/ProfileCard.tsx:194
+#: src/view/com/profile/ProfileCard.tsx:219
msgid "Followed by {0}"
msgstr "Gefolgt von {0}"
@@ -1533,37 +1865,43 @@ msgstr "Benutzer, denen ich folge"
msgid "Followed users only"
msgstr "Nur Benutzer, denen ich folge"
-#: src/view/com/notifications/FeedItem.tsx:166
+#: src/view/com/notifications/FeedItem.tsx:172
msgid "followed you"
msgstr "folgte dir"
+#: src/view/com/profile/ProfileFollowers.tsx:104
#: src/view/screens/ProfileFollowers.tsx:25
msgid "Followers"
msgstr "Follower"
-#: src/view/com/post-thread/PostThreadFollowBtn.tsx:136
-#: src/view/com/profile/ProfileHeader.tsx:495
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:233
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:149
+#: src/view/com/profile/ProfileFollows.tsx:104
#: src/view/screens/ProfileFollows.tsx:25
msgid "Following"
msgstr "Folge ich"
-#: src/view/com/profile/ProfileHeader.tsx:149
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:93
msgid "Following {0}"
msgstr "ich folge {0}"
-#: src/Navigation.tsx:250
-#: src/view/com/home/HomeHeaderLayout.web.tsx:50
-#: src/view/com/home/HomeHeaderLayoutMobile.tsx:84
+#: src/view/screens/Settings/index.tsx:504
+msgid "Following feed preferences"
+msgstr ""
+
+#: src/Navigation.tsx:262
+#: src/view/com/home/HomeHeaderLayout.web.tsx:54
+#: src/view/com/home/HomeHeaderLayoutMobile.tsx:87
#: src/view/screens/PreferencesFollowingFeed.tsx:104
-#: src/view/screens/Settings/index.tsx:543
+#: src/view/screens/Settings/index.tsx:513
msgid "Following Feed Preferences"
msgstr "Following-Feed-Einstellungen"
-#: src/view/com/profile/ProfileHeader.tsx:546
+#: src/screens/Profile/Header/Handle.tsx:24
msgid "Follows you"
msgstr "Folgt dir"
-#: src/view/com/profile/ProfileCard.tsx:141
+#: src/view/com/profile/ProfileCard.tsx:144
msgid "Follows You"
msgstr "Folgt dir"
@@ -1571,33 +1909,45 @@ msgstr "Folgt dir"
msgid "Food"
msgstr "Essen"
-#: src/view/com/modals/DeleteAccount.tsx:111
+#: src/view/com/modals/DeleteAccount.tsx:110
msgid "For security reasons, we'll need to send a confirmation code to your email address."
msgstr "Aus Sicherheitsgründen müssen wir dir einen Bestätigungscode an deine E-Mail-Adresse schicken."
-#: src/view/com/modals/AddAppPasswords.tsx:209
+#: src/view/com/modals/AddAppPasswords.tsx:210
msgid "For security reasons, you won't be able to view this again. If you lose this password, you'll need to generate a new one."
msgstr "Aus Sicherheitsgründen kannst du dies nicht erneut ansehen. Wenn du dieses Passwort verlierst, musst du ein neues generieren."
+#: src/view/com/auth/login/LoginForm.tsx:244
+#~ msgid "Forgot"
+#~ msgstr "Vergessen"
+
#: src/view/com/auth/login/LoginForm.tsx:241
-msgid "Forgot"
-msgstr "Vergessen"
+#~ msgid "Forgot password"
+#~ msgstr "Passwort vergessen"
-#: src/view/com/auth/login/LoginForm.tsx:238
-msgid "Forgot password"
-msgstr "Passwort vergessen"
-
-#: src/view/com/auth/login/Login.tsx:127
-#: src/view/com/auth/login/Login.tsx:143
+#: src/screens/Login/index.tsx:129
+#: src/screens/Login/index.tsx:144
msgid "Forgot Password"
msgstr "Passwort vergessen"
-#: src/screens/Hashtag.tsx:108
-#: src/screens/Hashtag.tsx:148
+#: src/screens/Login/LoginForm.tsx:201
+msgid "Forgot password?"
+msgstr "Passwort vergessen?"
+
+#: src/screens/Login/LoginForm.tsx:212
+msgid "Forgot?"
+msgstr "Vergessen?"
+
+#: src/lib/moderation/useReportOptions.ts:52
+msgid "Frequently Posts Unwanted Content"
+msgstr "Postet oft unerwünschte Inhalte"
+
+#: src/screens/Hashtag.tsx:109
+#: src/screens/Hashtag.tsx:149
msgid "From @{sanitizedAuthor}"
msgstr "Von @{sanitizedAuthor}"
-#: src/view/com/posts/FeedItem.tsx:189
+#: src/view/com/posts/FeedItem.tsx:181
msgctxt "from-feed"
msgid "From <0/>"
msgstr "Aus <0/>"
@@ -1611,109 +1961,140 @@ msgstr "Galerie"
msgid "Get Started"
msgstr "Los geht's"
-#: src/view/com/auth/LoggedOut.tsx:81
+#: src/lib/moderation/useReportOptions.ts:37
+msgid "Glaring violations of law or terms of service"
+msgstr "Eklatante Verstöße gegen Gesetze oder Nutzungsbedingungen"
+
+#: src/components/moderation/ScreenHider.tsx:151
+#: src/components/moderation/ScreenHider.tsx:160
#: src/view/com/auth/LoggedOut.tsx:82
-#: src/view/com/util/moderation/ScreenHider.tsx:123
-#: src/view/shell/desktop/LeftNav.tsx:104
+#: src/view/com/auth/LoggedOut.tsx:83
+#: src/view/screens/NotFound.tsx:55
+#: src/view/screens/ProfileFeed.tsx:112
+#: src/view/screens/ProfileList.tsx:918
+#: src/view/shell/desktop/LeftNav.tsx:108
msgid "Go back"
msgstr "Gehe zurück"
-#: src/view/screens/ProfileFeed.tsx:106
-#: src/view/screens/ProfileFeed.tsx:111
-#: src/view/screens/ProfileList.tsx:902
-#: src/view/screens/ProfileList.tsx:907
+#: src/components/Error.tsx:91
+#: src/screens/Profile/ErrorState.tsx:62
+#: src/screens/Profile/ErrorState.tsx:66
+#: src/view/screens/NotFound.tsx:54
+#: src/view/screens/ProfileFeed.tsx:117
+#: src/view/screens/ProfileList.tsx:923
msgid "Go Back"
msgstr "Gehe zurück"
-#: src/screens/Onboarding/Layout.tsx:104
-#: src/screens/Onboarding/Layout.tsx:193
+#: src/components/ReportDialog/SelectReportOptionView.tsx:73
+#: src/components/ReportDialog/SubmitView.tsx:102
+#: src/screens/Onboarding/Layout.tsx:102
+#: src/screens/Onboarding/Layout.tsx:191
+#: src/screens/Signup/index.tsx:174
msgid "Go back to previous step"
msgstr "Zum vorherigen Schritt zurückkehren"
-#: src/view/screens/Search/Search.tsx:747
-#: src/view/shell/desktop/Search.tsx:262
+#: src/view/screens/NotFound.tsx:55
+msgid "Go home"
+msgstr ""
+
+#: src/view/screens/NotFound.tsx:54
+msgid "Go Home"
+msgstr ""
+
+#: src/view/screens/Search/Search.tsx:896
+#: src/view/shell/desktop/Search.tsx:263
msgid "Go to @{queryMaybeHandle}"
msgstr "Gehe zu @{queryMaybeHandle}"
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:189
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:218
-#: src/view/com/auth/login/LoginForm.tsx:288
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:195
-#: src/view/com/modals/ChangePassword.tsx:165
+#: src/screens/Login/ForgotPasswordForm.tsx:172
+#: src/view/com/modals/ChangePassword.tsx:167
msgid "Go to next"
msgstr "Gehe zum nächsten"
-#: src/view/com/modals/ChangeHandle.tsx:265
+#: src/lib/moderation/useGlobalLabelStrings.ts:46
+msgid "Graphic Media"
+msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:266
msgid "Handle"
msgstr "Handle"
-#: src/Navigation.tsx:270
+#: src/lib/moderation/useReportOptions.ts:32
+msgid "Harassment, trolling, or intolerance"
+msgstr ""
+
+#: src/Navigation.tsx:282
msgid "Hashtag"
msgstr "Hashtag"
-#: src/components/RichText.tsx:190
+#: src/components/RichText.tsx:197
msgid "Hashtag: #{tag}"
msgstr "Hashtag: #{tag}"
-#: src/view/com/auth/create/CreateAccount.tsx:208
+#: src/screens/Signup/index.tsx:221
msgid "Having trouble?"
msgstr "Hast du Probleme?"
#: src/view/shell/desktop/RightNav.tsx:90
-#: src/view/shell/Drawer.tsx:321
+#: src/view/shell/Drawer.tsx:330
msgid "Help"
msgstr "Hilfe"
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:132
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:140
msgid "Here are some accounts for you to follow"
msgstr "Hier sind einige Konten, denen du folgen könntest"
-#: src/screens/Onboarding/StepTopicalFeeds.tsx:85
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:89
msgid "Here are some popular topical feeds. You can choose to follow as many as you like."
msgstr "Hier sind einige beliebte thematische Feeds. Du kannst so vielen folgen, wie du möchtest."
-#: src/screens/Onboarding/StepTopicalFeeds.tsx:80
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:84
msgid "Here are some topical feeds based on your interests: {interestsText}. You can choose to follow as many as you like."
msgstr "Hier sind einige thematische Feeds, die auf deinen Interessen basieren: {interestsText}. Du kannst so vielen Feeds folgen, wie du möchtest."
-#: src/view/com/modals/AddAppPasswords.tsx:153
+#: src/view/com/modals/AddAppPasswords.tsx:154
msgid "Here is your app password."
msgstr "Hier ist dein App-Passwort."
-#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:41
-#: src/view/com/modals/ContentFilteringSettings.tsx:251
-#: src/view/com/util/moderation/ContentHider.tsx:105
-#: src/view/com/util/moderation/PostHider.tsx:108
+#: src/components/moderation/ContentHider.tsx:115
+#: src/components/moderation/LabelPreference.tsx:134
+#: src/components/moderation/PostHider.tsx:107
+#: src/lib/moderation/useLabelBehaviorDescription.ts:15
+#: src/lib/moderation/useLabelBehaviorDescription.ts:20
+#: src/lib/moderation/useLabelBehaviorDescription.ts:25
+#: src/lib/moderation/useLabelBehaviorDescription.ts:30
+#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:52
+#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:76
+#: src/view/com/util/forms/PostDropdownBtn.tsx:350
msgid "Hide"
msgstr "Ausblenden"
-#: src/view/com/modals/ContentFilteringSettings.tsx:224
-#: src/view/com/notifications/FeedItem.tsx:326
+#: src/view/com/notifications/FeedItem.tsx:331
msgctxt "action"
msgid "Hide"
msgstr "Ausblenden"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:276
-#: src/view/com/util/forms/PostDropdownBtn.tsx:287
+#: src/view/com/util/forms/PostDropdownBtn.tsx:294
+#: src/view/com/util/forms/PostDropdownBtn.tsx:296
msgid "Hide post"
msgstr "Beitrag ausblenden"
-#: src/view/com/util/moderation/ContentHider.tsx:67
-#: src/view/com/util/moderation/PostHider.tsx:61
+#: src/components/moderation/ContentHider.tsx:67
+#: src/components/moderation/PostHider.tsx:64
msgid "Hide the content"
msgstr "Den Inhalt ausblenden"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:280
+#: src/view/com/util/forms/PostDropdownBtn.tsx:347
msgid "Hide this post?"
msgstr "Diesen Beitrag ausblenden?"
-#: src/view/com/notifications/FeedItem.tsx:316
+#: src/view/com/notifications/FeedItem.tsx:321
msgid "Hide user list"
msgstr "Benutzerliste ausblenden"
#: src/view/com/profile/ProfileHeader.tsx:487
-msgid "Hides posts from {0} in your feed"
-msgstr "Blendet Beiträge von {0} in Deinem Feed aus"
+#~ msgid "Hides posts from {0} in your feed"
+#~ msgstr "Blendet Beiträge von {0} in Deinem Feed aus"
#: src/view/com/posts/FeedErrorMessage.tsx:111
msgid "Hmm, some kind of issue occurred when contacting the feed server. Please let the feed owner know about this issue."
@@ -1735,16 +2116,30 @@ msgstr "Hmm, der Feed-Server hat eine schlechte Antwort gegeben. Bitte informier
msgid "Hmm, we're having trouble finding this feed. It may have been deleted."
msgstr "Hmm, wir haben Probleme, diesen Feed zu finden. Möglicherweise wurde er gelöscht."
-#: src/Navigation.tsx:442
-#: src/view/shell/bottom-bar/BottomBar.tsx:137
-#: src/view/shell/desktop/LeftNav.tsx:306
-#: src/view/shell/Drawer.tsx:398
-#: src/view/shell/Drawer.tsx:399
+#: src/screens/Moderation/index.tsx:59
+msgid "Hmmmm, it seems we're having trouble loading this data. See below for more details. If this issue persists, please contact us."
+msgstr ""
+
+#: src/screens/Profile/ErrorState.tsx:31
+msgid "Hmmmm, we couldn't load that moderation service."
+msgstr ""
+
+#: src/Navigation.tsx:446
+#: src/view/shell/bottom-bar/BottomBar.tsx:148
+#: src/view/shell/desktop/LeftNav.tsx:310
+#: src/view/shell/Drawer.tsx:407
+#: src/view/shell/Drawer.tsx:408
msgid "Home"
msgstr "Home"
-#: src/view/com/auth/create/Step1.tsx:75
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:120
+#: src/view/com/modals/ChangeHandle.tsx:420
+msgid "Host:"
+msgstr ""
+
+#: src/screens/Login/ForgotPasswordForm.tsx:89
+#: src/screens/Login/LoginForm.tsx:134
+#: src/screens/Signup/StepInfo/index.tsx:40
+#: src/view/com/modals/ChangeHandle.tsx:281
msgid "Hosting provider"
msgstr "Hosting-Anbieter"
@@ -1760,11 +2155,11 @@ msgstr "Ich habe einen Code"
msgid "I have a confirmation code"
msgstr "Ich habe einen Bestätigungscode"
-#: src/view/com/modals/ChangeHandle.tsx:283
+#: src/view/com/modals/ChangeHandle.tsx:284
msgid "I have my own domain"
msgstr "Ich habe meine eigene Domain"
-#: src/view/com/lightbox/Lightbox.web.tsx:165
+#: src/view/com/lightbox/Lightbox.web.tsx:185
msgid "If alt text is long, toggles alt text expanded state"
msgstr "Schaltet den erweiterten Status des Alt-Textes um, wenn dieser lang ist"
@@ -1772,102 +2167,124 @@ msgstr "Schaltet den erweiterten Status des Alt-Textes um, wenn dieser lang ist"
msgid "If none are selected, suitable for all ages."
msgstr "Wenn keine ausgewählt werden, sind sie für alle Altersgruppen geeignet."
-#: src/view/com/modals/ChangePassword.tsx:146
+#: src/screens/Signup/StepInfo/Policies.tsx:83
+msgid "If you are not yet an adult according to the laws of your country, your parent or legal guardian must read these Terms on your behalf."
+msgstr ""
+
+#: src/view/screens/ProfileList.tsx:612
+msgid "If you delete this list, you won't be able to recover it."
+msgstr "Wenn du diese Liste löschst, kannst du sie nicht wiederherstellen."
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:338
+msgid "If you remove this post, you won't be able to recover it."
+msgstr "Wenn du diesen Post löschst, kannst du ihn nicht wiederherstellen."
+
+#: src/view/com/modals/ChangePassword.tsx:148
msgid "If you want to change your password, we will send you a code to verify that this is your account."
msgstr "Wenn du dein Passwort ändern möchtest, senden wir dir einen Code, um zu bestätigen, dass es sich um dein Konto handelt."
+#: src/lib/moderation/useReportOptions.ts:36
+msgid "Illegal and Urgent"
+msgstr "Illegal und dringend"
+
#: src/view/com/util/images/Gallery.tsx:38
msgid "Image"
msgstr "Bild"
-#: src/view/com/modals/AltImage.tsx:120
+#: src/view/com/modals/AltImage.tsx:121
msgid "Image alt text"
msgstr "Bild-Alt-Text"
#: src/view/com/util/UserAvatar.tsx:311
#: src/view/com/util/UserBanner.tsx:118
-msgid "Image options"
-msgstr "Bild-Optionen"
+#~ msgid "Image options"
+#~ msgstr "Bild-Optionen"
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:138
+#: src/lib/moderation/useReportOptions.ts:47
+msgid "Impersonation or false claims about identity or affiliation"
+msgstr ""
+
+#: src/screens/Login/SetNewPasswordForm.tsx:127
msgid "Input code sent to your email for password reset"
msgstr "Gib den Code ein, den du per E-Mail erhalten hast, um dein Passwort zurückzusetzen."
-#: src/view/com/modals/DeleteAccount.tsx:184
+#: src/view/com/modals/DeleteAccount.tsx:183
msgid "Input confirmation code for account deletion"
msgstr "Bestätigungscode für die Kontolöschung eingeben"
#: src/view/com/auth/create/Step1.tsx:177
-msgid "Input email for Bluesky account"
-msgstr "E-Mail für Bluesky-Konto eingeben"
+#~ msgid "Input email for Bluesky account"
+#~ msgstr "E-Mail für Bluesky-Konto eingeben"
#: src/view/com/auth/create/Step1.tsx:151
-msgid "Input invite code to proceed"
-msgstr "Einladungscode eingeben, um fortzufahren"
+#~ msgid "Input invite code to proceed"
+#~ msgstr "Einladungscode eingeben, um fortzufahren"
-#: src/view/com/modals/AddAppPasswords.tsx:180
+#: src/view/com/modals/AddAppPasswords.tsx:181
msgid "Input name for app password"
msgstr "Namen für das App-Passwort eingeben"
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:162
+#: src/screens/Login/SetNewPasswordForm.tsx:151
msgid "Input new password"
msgstr "Neues Passwort eingeben"
-#: src/view/com/modals/DeleteAccount.tsx:203
+#: src/view/com/modals/DeleteAccount.tsx:202
msgid "Input password for account deletion"
msgstr "Passwort für die Kontolöschung eingeben"
-#: src/view/com/auth/login/LoginForm.tsx:230
+#: src/screens/Login/LoginForm.tsx:195
msgid "Input the password tied to {identifier}"
msgstr "Passwort, das an {identifier} gebunden ist, eingeben"
-#: src/view/com/auth/login/LoginForm.tsx:197
+#: src/screens/Login/LoginForm.tsx:168
msgid "Input the username or email address you used at signup"
msgstr "Benutzernamen oder E-Mail-Adresse eingeben, die du bei der Anmeldung verwendet hast"
-#: src/view/com/auth/login/LoginForm.tsx:229
+#: src/screens/Login/LoginForm.tsx:194
msgid "Input your password"
msgstr "Gib dein Passwort ein"
-#: src/view/com/auth/create/Step2.tsx:80
+#: src/view/com/modals/ChangeHandle.tsx:389
+msgid "Input your preferred hosting provider"
+msgstr ""
+
+#: src/screens/Signup/StepHandle.tsx:63
msgid "Input your user handle"
msgstr "Gib deinen Handle ein"
-#: src/view/com/post-thread/PostThreadItem.tsx:226
+#: src/view/com/post-thread/PostThreadItem.tsx:221
msgid "Invalid or unsupported post record"
msgstr "Ungültiger oder nicht unterstützter Beitragrekord"
-#: src/view/com/auth/login/LoginForm.tsx:113
+#: src/screens/Login/LoginForm.tsx:114
msgid "Invalid username or password"
msgstr "Ungültiger Benutzername oder Passwort"
-#: src/view/com/modals/InviteCodes.tsx:93
+#: src/view/com/modals/InviteCodes.tsx:94
msgid "Invite a Friend"
msgstr "Einen Freund einladen"
-#: src/view/com/auth/create/Step1.tsx:141
-#: src/view/com/auth/create/Step1.tsx:150
+#: src/screens/Signup/StepInfo/index.tsx:58
msgid "Invite code"
msgstr "Einladungscode"
-#: src/view/com/auth/create/state.ts:158
+#: src/screens/Signup/state.ts:278
msgid "Invite code not accepted. Check that you input it correctly and try again."
msgstr "Einladungscode nicht akzeptiert. Überprüfe, ob du ihn richtig eingegeben hast und versuche es erneut."
-#: src/view/com/modals/InviteCodes.tsx:170
+#: src/view/com/modals/InviteCodes.tsx:171
msgid "Invite codes: {0} available"
msgstr "Einladungscodes: {0} verfügbar"
-#: src/view/com/modals/InviteCodes.tsx:169
+#: src/view/com/modals/InviteCodes.tsx:170
msgid "Invite codes: 1 available"
msgstr "Einladungscodes: 1 verfügbar"
-#: src/screens/Onboarding/StepFollowingFeed.tsx:64
+#: src/screens/Onboarding/StepFollowingFeed.tsx:65
msgid "It shows posts from the people you follow as they happen."
msgstr "Es zeigt die Beiträge der Personen an, denen du folgst, sobald sie erscheinen."
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:99
-#: src/view/com/auth/SplashScreen.web.tsx:138
+#: src/view/com/auth/SplashScreen.web.tsx:152
msgid "Jobs"
msgstr "Jobs"
@@ -1875,54 +2292,94 @@ msgstr "Jobs"
msgid "Journalism"
msgstr "Journalismus"
+#: src/components/moderation/LabelsOnMe.tsx:59
+msgid "label has been placed on this {labelTarget}"
+msgstr ""
+
+#: src/components/moderation/ContentHider.tsx:144
+msgid "Labeled by {0}."
+msgstr ""
+
+#: src/components/moderation/ContentHider.tsx:142
+msgid "Labeled by the author."
+msgstr ""
+
+#: src/view/screens/Profile.tsx:193
+msgid "Labels"
+msgstr ""
+
+#: src/screens/Profile/Sections/Labels.tsx:153
+msgid "Labels are annotations on users and content. They can be used to hide, warn, and categorize the network."
+msgstr ""
+
+#: src/components/moderation/LabelsOnMe.tsx:61
+msgid "labels have been placed on this {labelTarget}"
+msgstr ""
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:62
+msgid "Labels on your account"
+msgstr ""
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:64
+msgid "Labels on your content"
+msgstr ""
+
#: src/view/com/composer/select-language/SelectLangBtn.tsx:104
msgid "Language selection"
msgstr "Sprachauswahl"
-#: src/view/screens/Settings/index.tsx:594
+#: src/view/screens/Settings/index.tsx:565
msgid "Language settings"
msgstr "Spracheinstellungen"
-#: src/Navigation.tsx:142
+#: src/Navigation.tsx:144
#: src/view/screens/LanguageSettings.tsx:89
msgid "Language Settings"
msgstr "Spracheinstellungen"
-#: src/view/screens/Settings/index.tsx:603
+#: src/view/screens/Settings/index.tsx:574
msgid "Languages"
msgstr "Sprachen"
#: src/view/com/auth/create/StepHeader.tsx:20
-msgid "Last step!"
-msgstr "Letzter Schritt!"
+#~ msgid "Last step!"
+#~ msgstr "Letzter Schritt!"
+
+#: src/view/screens/Search/Search.tsx:437
+msgid "Latest"
+msgstr ""
#: src/view/com/util/moderation/ContentHider.tsx:103
-msgid "Learn more"
-msgstr "Mehr erfahren"
+#~ msgid "Learn more"
+#~ msgstr "Mehr erfahren"
-#: src/view/com/util/moderation/PostAlerts.tsx:47
-#: src/view/com/util/moderation/ProfileHeaderAlerts.tsx:65
-#: src/view/com/util/moderation/ScreenHider.tsx:104
+#: src/components/moderation/ScreenHider.tsx:136
msgid "Learn More"
msgstr "Mehr erfahren"
-#: src/view/com/util/moderation/ContentHider.tsx:85
-#: src/view/com/util/moderation/PostAlerts.tsx:40
-#: src/view/com/util/moderation/PostHider.tsx:78
-#: src/view/com/util/moderation/ProfileHeaderAlerts.tsx:49
-#: src/view/com/util/moderation/ScreenHider.tsx:101
+#: src/components/moderation/ContentHider.tsx:65
+#: src/components/moderation/ContentHider.tsx:128
+msgid "Learn more about the moderation applied to this content."
+msgstr ""
+
+#: src/components/moderation/PostHider.tsx:85
+#: src/components/moderation/ScreenHider.tsx:125
msgid "Learn more about this warning"
msgstr "Erfahre mehr über diese Warnung"
-#: src/view/screens/Moderation.tsx:262
+#: src/screens/Moderation/index.tsx:549
msgid "Learn more about what is public on Bluesky."
msgstr "Erfahre mehr darüber, was auf Bluesky öffentlich ist."
+#: src/components/moderation/ContentHider.tsx:152
+msgid "Learn more."
+msgstr ""
+
#: src/view/com/modals/lang-settings/ContentLanguagesSettings.tsx:82
msgid "Leave them all unchecked to see any language."
msgstr "Lass alle Kontrollkästchen deaktiviert, um alle Sprachen zu sehen."
-#: src/view/com/modals/LinkWarning.tsx:51
+#: src/view/com/modals/LinkWarning.tsx:65
msgid "Leaving Bluesky"
msgstr "Bluesky verlassen"
@@ -1930,134 +2387,145 @@ msgstr "Bluesky verlassen"
msgid "left to go."
msgstr "noch übrig."
-#: src/view/screens/Settings/index.tsx:278
+#: src/view/screens/Settings/index.tsx:299
msgid "Legacy storage cleared, you need to restart the app now."
msgstr "Der Legacy-Speicher wurde gelöscht, du musst die App jetzt neu starten."
-#: src/view/com/auth/login/Login.tsx:128
-#: src/view/com/auth/login/Login.tsx:144
+#: src/screens/Login/index.tsx:130
+#: src/screens/Login/index.tsx:145
msgid "Let's get your password reset!"
msgstr "Lass uns dein Passwort zurücksetzen!"
-#: src/screens/Onboarding/StepFinished.tsx:151
+#: src/screens/Onboarding/StepFinished.tsx:155
msgid "Let's go!"
msgstr "Los geht's!"
#: src/view/com/util/UserAvatar.tsx:248
#: src/view/com/util/UserBanner.tsx:62
-msgid "Library"
-msgstr "Bibliothek"
+#~ msgid "Library"
+#~ msgstr "Bibliothek"
-#: src/view/screens/Settings/index.tsx:479
+#: src/view/screens/Settings/index.tsx:449
msgid "Light"
msgstr "Licht"
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:182
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:197
msgid "Like"
msgstr "Liken"
-#: src/view/screens/ProfileFeed.tsx:591
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:264
+#: src/view/screens/ProfileFeed.tsx:585
msgid "Like this feed"
msgstr "Diesen Feed liken"
-#: src/Navigation.tsx:199
+#: src/components/LikesDialog.tsx:87
+#: src/Navigation.tsx:201
+#: src/Navigation.tsx:206
msgid "Liked by"
-msgstr "Gelikt von"
+msgstr "Geliked von"
+#: src/screens/Profile/ProfileLabelerLikedBy.tsx:29
#: src/view/screens/PostLikedBy.tsx:27
#: src/view/screens/ProfileFeedLikedBy.tsx:27
msgid "Liked By"
-msgstr "Gelikt von"
+msgstr "Geliked von"
-#: src/view/com/feeds/FeedSourceCard.tsx:279
+#: src/view/com/feeds/FeedSourceCard.tsx:268
msgid "Liked by {0} {1}"
-msgstr "Von {0} {1} gelikt"
+msgstr "Von {0} {1} geliked"
-#: src/view/screens/ProfileFeed.tsx:606
+#: src/components/LabelingServiceCard/index.tsx:72
+msgid "Liked by {count} {0}"
+msgstr "Geliked von {count} {0}"
+
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:284
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:298
+#: src/view/screens/ProfileFeed.tsx:600
msgid "Liked by {likeCount} {0}"
-msgstr "Von {likeCount} {0} gelikt"
+msgstr "Von {likeCount} {0} geliked"
-#: src/view/com/notifications/FeedItem.tsx:170
+#: src/view/com/notifications/FeedItem.tsx:176
msgid "liked your custom feed"
-msgstr "hat deinen benutzerdefinierten Feed gelikt"
+msgstr "hat deinen benutzerdefinierten Feed geliked"
-#: src/view/com/notifications/FeedItem.tsx:155
+#: src/view/com/notifications/FeedItem.tsx:161
msgid "liked your post"
-msgstr "hat deinen Beitrag gelikt"
+msgstr "hat deinen Beitrag geliked"
-#: src/view/screens/Profile.tsx:183
+#: src/view/screens/Profile.tsx:198
msgid "Likes"
msgstr "Likes"
-#: src/view/com/post-thread/PostThreadItem.tsx:183
+#: src/view/com/post-thread/PostThreadItem.tsx:182
msgid "Likes on this post"
msgstr "Likes für diesen Beitrag"
-#: src/Navigation.tsx:168
+#: src/Navigation.tsx:170
msgid "List"
msgstr "Liste"
-#: src/view/com/modals/CreateOrEditList.tsx:261
+#: src/view/com/modals/CreateOrEditList.tsx:262
msgid "List Avatar"
-msgstr "Avatar auflisten"
+msgstr "Listenbild"
-#: src/view/screens/ProfileList.tsx:324
+#: src/view/screens/ProfileList.tsx:313
msgid "List blocked"
msgstr "Liste blockiert"
-#: src/view/com/feeds/FeedSourceCard.tsx:233
+#: src/view/com/feeds/FeedSourceCard.tsx:220
msgid "List by {0}"
msgstr "Liste von {0}"
-#: src/view/screens/ProfileList.tsx:378
+#: src/view/screens/ProfileList.tsx:357
msgid "List deleted"
msgstr "Liste gelöscht"
-#: src/view/screens/ProfileList.tsx:283
+#: src/view/screens/ProfileList.tsx:285
msgid "List muted"
msgstr "Liste stummgeschaltet"
-#: src/view/com/modals/CreateOrEditList.tsx:275
+#: src/view/com/modals/CreateOrEditList.tsx:276
msgid "List Name"
msgstr "Name der Liste"
-#: src/view/screens/ProfileList.tsx:343
+#: src/view/screens/ProfileList.tsx:327
msgid "List unblocked"
msgstr "Liste entblockiert"
-#: src/view/screens/ProfileList.tsx:302
+#: src/view/screens/ProfileList.tsx:299
msgid "List unmuted"
msgstr "Listenstummschaltung aufgehoben"
-#: src/Navigation.tsx:112
-#: src/view/screens/Profile.tsx:185
-#: src/view/shell/desktop/LeftNav.tsx:379
-#: src/view/shell/Drawer.tsx:492
-#: src/view/shell/Drawer.tsx:493
+#: src/Navigation.tsx:114
+#: src/view/screens/Profile.tsx:194
+#: src/view/screens/Profile.tsx:200
+#: src/view/shell/desktop/LeftNav.tsx:383
+#: src/view/shell/Drawer.tsx:501
+#: src/view/shell/Drawer.tsx:502
msgid "Lists"
msgstr "Listen"
#: src/view/com/post-thread/PostThread.tsx:333
#: src/view/com/post-thread/PostThread.tsx:341
-msgid "Load more posts"
-msgstr "Mehr Beiträge laden"
+#~ msgid "Load more posts"
+#~ msgstr "Mehr Beiträge laden"
#: src/view/screens/Notifications.tsx:159
msgid "Load new notifications"
msgstr "Neue Mitteilungen laden"
-#: src/view/com/feeds/FeedPage.tsx:115
-#: src/view/screens/Profile.tsx:440
-#: src/view/screens/ProfileFeed.tsx:495
-#: src/view/screens/ProfileList.tsx:681
+#: src/screens/Profile/Sections/Feed.tsx:86
+#: src/view/com/feeds/FeedPage.tsx:138
+#: src/view/screens/ProfileFeed.tsx:507
+#: src/view/screens/ProfileList.tsx:697
msgid "Load new posts"
msgstr "Neue Beiträge laden"
-#: src/view/com/composer/text-input/mobile/Autocomplete.tsx:95
+#: src/view/com/composer/text-input/mobile/Autocomplete.tsx:99
msgid "Loading..."
msgstr "Wird geladen..."
-#: src/Navigation.tsx:209
+#: src/Navigation.tsx:221
msgid "Log"
msgstr "Systemprotokoll"
@@ -2068,31 +2536,35 @@ msgstr "Systemprotokoll"
msgid "Log out"
msgstr "Abmelden"
-#: src/view/screens/Moderation.tsx:155
+#: src/screens/Moderation/index.tsx:442
msgid "Logged-out visibility"
msgstr "Sichtbarkeit für abgemeldete Benutzer"
-#: src/view/com/auth/login/ChooseAccountForm.tsx:133
+#: src/components/AccountList.tsx:54
msgid "Login to account that is not listed"
msgstr "Anmeldung bei einem Konto, das nicht aufgelistet ist"
-#: src/view/com/modals/LinkWarning.tsx:65
+#: src/screens/Login/SetNewPasswordForm.tsx:116
+msgid "Looks like XXXXX-XXXXX"
+msgstr "Im Format XXXXX-XXXXX"
+
+#: src/view/com/modals/LinkWarning.tsx:79
msgid "Make sure this is where you intend to go!"
msgstr "Vergewissere dich, dass du auch wirklich dorthin gehen willst!"
-#: src/components/dialogs/MutedWords.tsx:83
+#: src/components/dialogs/MutedWords.tsx:82
msgid "Manage your muted words and tags"
msgstr "Verwalte deine stummgeschalteten Wörter und Tags"
#: src/view/com/auth/create/Step2.tsx:118
-msgid "May not be longer than 253 characters"
-msgstr "Darf nicht länger als 253 Zeichen sein"
+#~ msgid "May not be longer than 253 characters"
+#~ msgstr "Darf nicht länger als 253 Zeichen sein"
#: src/view/com/auth/create/Step2.tsx:109
-msgid "May only contain letters and numbers"
-msgstr "Darf nur Buchstaben und Zahlen enthalten"
+#~ msgid "May only contain letters and numbers"
+#~ msgstr "Darf nur Buchstaben und Zahlen enthalten"
-#: src/view/screens/Profile.tsx:182
+#: src/view/screens/Profile.tsx:197
msgid "Media"
msgstr "Medien"
@@ -2105,70 +2577,89 @@ msgid "Mentioned users"
msgstr "Erwähnte Benutzer"
#: src/view/com/util/ViewHeader.tsx:87
-#: src/view/screens/Search/Search.tsx:646
+#: src/view/screens/Search/Search.tsx:795
msgid "Menu"
msgstr "Menü"
-#: src/view/com/posts/FeedErrorMessage.tsx:197
+#: src/view/com/posts/FeedErrorMessage.tsx:192
msgid "Message from server: {0}"
msgstr "Nachricht vom Server: {0}"
-#: src/Navigation.tsx:117
-#: src/view/screens/Moderation.tsx:66
-#: src/view/screens/Settings/index.tsx:625
-#: src/view/shell/desktop/LeftNav.tsx:397
-#: src/view/shell/Drawer.tsx:511
-#: src/view/shell/Drawer.tsx:512
+#: src/lib/moderation/useReportOptions.ts:45
+msgid "Misleading Account"
+msgstr "Irreführender Account"
+
+#: src/Navigation.tsx:119
+#: src/screens/Moderation/index.tsx:104
+#: src/view/screens/Settings/index.tsx:596
+#: src/view/shell/desktop/LeftNav.tsx:401
+#: src/view/shell/Drawer.tsx:520
+#: src/view/shell/Drawer.tsx:521
msgid "Moderation"
msgstr "Moderation"
+#: src/components/moderation/ModerationDetailsDialog.tsx:112
+msgid "Moderation details"
+msgstr ""
+
#: src/view/com/lists/ListCard.tsx:93
#: src/view/com/modals/UserAddRemoveLists.tsx:206
msgid "Moderation list by {0}"
msgstr "Moderationsliste von {0}"
-#: src/view/screens/ProfileList.tsx:775
+#: src/view/screens/ProfileList.tsx:791
msgid "Moderation list by <0/>"
msgstr "Moderationsliste von <0/>"
#: src/view/com/lists/ListCard.tsx:91
#: src/view/com/modals/UserAddRemoveLists.tsx:204
-#: src/view/screens/ProfileList.tsx:773
+#: src/view/screens/ProfileList.tsx:789
msgid "Moderation list by you"
msgstr "Moderationsliste von dir"
-#: src/view/com/modals/CreateOrEditList.tsx:197
+#: src/view/com/modals/CreateOrEditList.tsx:198
msgid "Moderation list created"
msgstr "Moderationsliste erstellt"
-#: src/view/com/modals/CreateOrEditList.tsx:183
+#: src/view/com/modals/CreateOrEditList.tsx:184
msgid "Moderation list updated"
msgstr "Moderationsliste aktualisiert"
-#: src/view/screens/Moderation.tsx:114
+#: src/screens/Moderation/index.tsx:243
msgid "Moderation lists"
msgstr "Moderationslisten"
-#: src/Navigation.tsx:122
+#: src/Navigation.tsx:124
#: src/view/screens/ModerationModlists.tsx:58
msgid "Moderation Lists"
msgstr "Moderationslisten"
-#: src/view/screens/Settings/index.tsx:619
+#: src/view/screens/Settings/index.tsx:590
msgid "Moderation settings"
msgstr "Moderationseinstellungen"
-#: src/view/com/modals/ModerationDetails.tsx:35
+#: src/Navigation.tsx:216
+msgid "Moderation states"
+msgstr ""
+
+#: src/screens/Moderation/index.tsx:215
+msgid "Moderation tools"
+msgstr "Moderationswerkzeuge"
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:48
+#: src/lib/moderation/useModerationCauseDescription.ts:40
msgid "Moderator has chosen to set a general warning on the content."
msgstr "Der Moderator hat beschlossen, eine allgemeine Warnung vor dem Inhalt auszusprechen."
+#: src/view/com/post-thread/PostThreadItem.tsx:535
+msgid "More"
+msgstr "Mehr"
+
#: src/view/shell/desktop/Feeds.tsx:65
msgid "More feeds"
msgstr "Mehr Feeds"
-#: src/view/com/profile/ProfileHeader.tsx:523
-#: src/view/screens/ProfileFeed.tsx:363
-#: src/view/screens/ProfileList.tsx:617
+#: src/view/screens/ProfileList.tsx:601
msgid "More options"
msgstr "Mehr Optionen"
@@ -2177,8 +2668,8 @@ msgid "Most-liked replies first"
msgstr "Beliebteste Antworten zuerst"
#: src/view/com/auth/create/Step2.tsx:122
-msgid "Must be at least 3 characters"
-msgstr "Muss mindestens 3 Zeichen lang sein"
+#~ msgid "Must be at least 3 characters"
+#~ msgstr "Muss mindestens 3 Zeichen lang sein"
#: src/components/TagMenu/index.tsx:249
msgid "Mute"
@@ -2188,11 +2679,12 @@ msgstr "Stummschalten"
msgid "Mute {truncatedTag}"
msgstr "{truncatedTag} stummschalten"
-#: src/view/com/profile/ProfileHeader.tsx:327
+#: src/view/com/profile/ProfileMenu.tsx:279
+#: src/view/com/profile/ProfileMenu.tsx:286
msgid "Mute Account"
msgstr "Konto stummschalten"
-#: src/view/screens/ProfileList.tsx:544
+#: src/view/screens/ProfileList.tsx:520
msgid "Mute accounts"
msgstr "Konten stummschalten"
@@ -2200,41 +2692,42 @@ msgstr "Konten stummschalten"
msgid "Mute all {displayTag} posts"
msgstr "Alle {displayTag}-Beiträge stummschalten"
-#: src/components/dialogs/MutedWords.tsx:149
+#: src/components/dialogs/MutedWords.tsx:148
msgid "Mute in tags only"
msgstr "Nur in Tags stummschalten"
-#: src/components/dialogs/MutedWords.tsx:134
+#: src/components/dialogs/MutedWords.tsx:133
msgid "Mute in text & tags"
msgstr "In Text und Tags stummschalten"
-#: src/view/screens/ProfileList.tsx:491
+#: src/view/screens/ProfileList.tsx:463
+#: src/view/screens/ProfileList.tsx:626
msgid "Mute list"
msgstr "Liste stummschalten"
-#: src/view/screens/ProfileList.tsx:275
+#: src/view/screens/ProfileList.tsx:621
msgid "Mute these accounts?"
msgstr "Diese Konten stummschalten?"
#: src/view/screens/ProfileList.tsx:279
-msgid "Mute this List"
-msgstr "Diese Liste stummschalten"
+#~ msgid "Mute this List"
+#~ msgstr "Diese Liste stummschalten"
-#: src/components/dialogs/MutedWords.tsx:127
+#: src/components/dialogs/MutedWords.tsx:126
msgid "Mute this word in post text and tags"
msgstr "Dieses Wort in Beitragstexten und Tags stummschalten"
-#: src/components/dialogs/MutedWords.tsx:142
+#: src/components/dialogs/MutedWords.tsx:141
msgid "Mute this word in tags only"
msgstr "Dieses Wort nur in Tags stummschalten"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:251
-#: src/view/com/util/forms/PostDropdownBtn.tsx:257
+#: src/view/com/util/forms/PostDropdownBtn.tsx:269
+#: src/view/com/util/forms/PostDropdownBtn.tsx:275
msgid "Mute thread"
msgstr "Thread stummschalten"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:267
-#: src/view/com/util/forms/PostDropdownBtn.tsx:269
+#: src/view/com/util/forms/PostDropdownBtn.tsx:285
+#: src/view/com/util/forms/PostDropdownBtn.tsx:287
msgid "Mute words & tags"
msgstr "Wörter und Tags stummschalten"
@@ -2242,32 +2735,37 @@ msgstr "Wörter und Tags stummschalten"
msgid "Muted"
msgstr "Stummgeschaltet"
-#: src/view/screens/Moderation.tsx:128
+#: src/screens/Moderation/index.tsx:255
msgid "Muted accounts"
msgstr "Stummgeschaltete Konten"
-#: src/Navigation.tsx:127
-#: src/view/screens/ModerationMutedAccounts.tsx:107
+#: src/Navigation.tsx:129
+#: src/view/screens/ModerationMutedAccounts.tsx:112
msgid "Muted Accounts"
msgstr "Stummgeschaltete Konten"
-#: src/view/screens/ModerationMutedAccounts.tsx:115
+#: src/view/screens/ModerationMutedAccounts.tsx:120
msgid "Muted accounts have their posts removed from your feed and from your notifications. Mutes are completely private."
msgstr "Bei stummgeschalteten Konten werden dazugehörige Beiträge aus deinem Feed und deinen Mitteilungen entfernt. Stummschaltungen sind völlig privat."
-#: src/view/screens/Moderation.tsx:100
+#: src/lib/moderation/useModerationCauseDescription.ts:85
+msgid "Muted by \"{0}\""
+msgstr "Stummgeschaltet über \"{0}\""
+
+#: src/screens/Moderation/index.tsx:231
msgid "Muted words & tags"
msgstr "Stummgeschaltete Wörter und Tags"
-#: src/view/screens/ProfileList.tsx:277
+#: src/view/screens/ProfileList.tsx:623
msgid "Muting is private. Muted accounts can interact with you, but you will not see their posts or receive notifications from them."
msgstr "Stummschaltung ist privat. Stummgeschaltete Konten können mit dir interagieren, aber du siehst ihre Beiträge nicht und erhältst keine Mitteilungen von ihnen."
-#: src/view/com/modals/BirthDateSettings.tsx:56
+#: src/components/dialogs/BirthDateSettings.tsx:35
+#: src/components/dialogs/BirthDateSettings.tsx:38
msgid "My Birthday"
msgstr "Mein Geburtstag"
-#: src/view/screens/Feeds.tsx:663
+#: src/view/screens/Feeds.tsx:688
msgid "My Feeds"
msgstr "Meine Feeds"
@@ -2275,32 +2773,40 @@ msgstr "Meine Feeds"
msgid "My Profile"
msgstr "Mein Profil"
-#: src/view/screens/Settings/index.tsx:582
+#: src/view/screens/Settings/index.tsx:547
+msgid "My saved feeds"
+msgstr "Meine gespeicherten Feeds"
+
+#: src/view/screens/Settings/index.tsx:553
msgid "My Saved Feeds"
msgstr "Meine gespeicherten Feeds"
#: src/view/com/auth/server-input/index.tsx:118
-msgid "my-server.com"
-msgstr "mein-server.de"
+#~ msgid "my-server.com"
+#~ msgstr "mein-server.de"
-#: src/view/com/modals/AddAppPasswords.tsx:179
-#: src/view/com/modals/CreateOrEditList.tsx:290
+#: src/view/com/modals/AddAppPasswords.tsx:180
+#: src/view/com/modals/CreateOrEditList.tsx:291
msgid "Name"
msgstr "Name"
-#: src/view/com/modals/CreateOrEditList.tsx:145
+#: src/view/com/modals/CreateOrEditList.tsx:146
msgid "Name is required"
msgstr "Name ist erforderlich"
+#: src/lib/moderation/useReportOptions.ts:57
+#: src/lib/moderation/useReportOptions.ts:78
+#: src/lib/moderation/useReportOptions.ts:86
+msgid "Name or Description Violates Community Standards"
+msgstr ""
+
#: src/screens/Onboarding/index.tsx:25
msgid "Nature"
msgstr "Natur"
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:190
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:219
-#: src/view/com/auth/login/LoginForm.tsx:289
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:196
-#: src/view/com/modals/ChangePassword.tsx:166
+#: src/screens/Login/ForgotPasswordForm.tsx:173
+#: src/screens/Login/LoginForm.tsx:255
+#: src/view/com/modals/ChangePassword.tsx:168
msgid "Navigates to the next screen"
msgstr "Navigiert zum nächsten Bildschirm"
@@ -2308,23 +2814,31 @@ msgstr "Navigiert zum nächsten Bildschirm"
msgid "Navigates to your profile"
msgstr "Navigiert zu Deinem Profil"
+#: src/components/ReportDialog/SelectReportOptionView.tsx:123
+msgid "Need to report a copyright violation?"
+msgstr ""
+
#: src/view/com/modals/EmbedConsent.tsx:107
#: src/view/com/modals/EmbedConsent.tsx:123
-msgid "Never load embeds from {0}"
-msgstr "Lade niemals eingebettete Medien von {0}"
+#~ msgid "Never load embeds from {0}"
+#~ msgstr "Lade niemals eingebettete Medien von {0}"
#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:72
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:72
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:74
msgid "Never lose access to your followers and data."
msgstr "Verliere nie den Zugriff auf deine Follower und Daten."
-#: src/screens/Onboarding/StepFinished.tsx:119
+#: src/screens/Onboarding/StepFinished.tsx:123
msgid "Never lose access to your followers or data."
msgstr "Verliere nie den Zugriff auf deine Follower oder Daten."
#: src/components/dialogs/MutedWords.tsx:293
-msgid "Nevermind"
-msgstr "Egal"
+#~ msgid "Nevermind"
+#~ msgstr "Egal"
+
+#: src/view/com/modals/ChangeHandle.tsx:519
+msgid "Nevermind, create a handle for me"
+msgstr ""
#: src/view/screens/Lists.tsx:76
msgctxt "action"
@@ -2335,39 +2849,39 @@ msgstr "Neu"
msgid "New"
msgstr "Neu"
-#: src/view/com/modals/CreateOrEditList.tsx:252
+#: src/view/com/modals/CreateOrEditList.tsx:253
msgid "New Moderation List"
msgstr "Neue Moderationsliste"
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:150
+#: src/view/com/modals/ChangePassword.tsx:212
msgid "New password"
msgstr "Neues Passwort"
-#: src/view/com/modals/ChangePassword.tsx:215
+#: src/view/com/modals/ChangePassword.tsx:217
msgid "New Password"
msgstr "Neues Passwort"
-#: src/view/com/feeds/FeedPage.tsx:126
+#: src/view/com/feeds/FeedPage.tsx:149
msgctxt "action"
msgid "New post"
msgstr "Neuer Beitrag"
-#: src/view/screens/Feeds.tsx:555
+#: src/view/screens/Feeds.tsx:580
#: src/view/screens/Notifications.tsx:168
-#: src/view/screens/Profile.tsx:382
-#: src/view/screens/ProfileFeed.tsx:433
-#: src/view/screens/ProfileList.tsx:196
-#: src/view/screens/ProfileList.tsx:224
-#: src/view/shell/desktop/LeftNav.tsx:248
+#: src/view/screens/Profile.tsx:480
+#: src/view/screens/ProfileFeed.tsx:445
+#: src/view/screens/ProfileList.tsx:200
+#: src/view/screens/ProfileList.tsx:228
+#: src/view/shell/desktop/LeftNav.tsx:252
msgid "New post"
msgstr "Neuer Beitrag"
-#: src/view/shell/desktop/LeftNav.tsx:258
+#: src/view/shell/desktop/LeftNav.tsx:262
msgctxt "action"
msgid "New Post"
msgstr "Neuer Beitrag"
-#: src/view/com/modals/CreateOrEditList.tsx:247
+#: src/view/com/modals/CreateOrEditList.tsx:248
msgid "New User List"
msgstr "Neue Benutzerliste"
@@ -2379,15 +2893,16 @@ msgstr "Neueste Antworten zuerst"
msgid "News"
msgstr "Aktuelles"
-#: src/view/com/auth/create/CreateAccount.tsx:172
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:182
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:192
-#: src/view/com/auth/login/LoginForm.tsx:291
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:187
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:198
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:79
-#: src/view/com/modals/ChangePassword.tsx:251
+#: src/screens/Login/ForgotPasswordForm.tsx:143
+#: src/screens/Login/ForgotPasswordForm.tsx:150
+#: src/screens/Login/LoginForm.tsx:254
+#: src/screens/Login/LoginForm.tsx:261
+#: src/screens/Login/SetNewPasswordForm.tsx:174
+#: src/screens/Login/SetNewPasswordForm.tsx:180
+#: src/screens/Signup/index.tsx:207
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:80
#: src/view/com/modals/ChangePassword.tsx:253
+#: src/view/com/modals/ChangePassword.tsx:255
msgid "Next"
msgstr "Nächste"
@@ -2396,7 +2911,7 @@ msgctxt "action"
msgid "Next"
msgstr "Nächste"
-#: src/view/com/lightbox/Lightbox.web.tsx:149
+#: src/view/com/lightbox/Lightbox.web.tsx:169
msgid "Next image"
msgstr "Nächstes Bild"
@@ -2409,39 +2924,48 @@ msgstr "Nächstes Bild"
msgid "No"
msgstr "Nein"
-#: src/view/screens/ProfileFeed.tsx:584
-#: src/view/screens/ProfileList.tsx:755
+#: src/view/screens/ProfileFeed.tsx:574
+#: src/view/screens/ProfileList.tsx:771
msgid "No description"
msgstr "Keine Beschreibung"
-#: src/view/com/profile/ProfileHeader.tsx:170
+#: src/view/com/modals/ChangeHandle.tsx:405
+msgid "No DNS Panel"
+msgstr ""
+
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:118
msgid "No longer following {0}"
msgstr "{0} wird nicht mehr gefolgt"
+#: src/screens/Signup/StepHandle.tsx:115
+msgid "No longer than 253 characters"
+msgstr "Nicht länger als 253 Zeichen"
+
#: src/view/com/notifications/Feed.tsx:109
msgid "No notifications yet!"
msgstr "Noch keine Mitteilungen!"
-#: src/view/com/composer/text-input/mobile/Autocomplete.tsx:97
-#: src/view/com/composer/text-input/web/Autocomplete.tsx:191
+#: src/view/com/composer/text-input/mobile/Autocomplete.tsx:101
+#: src/view/com/composer/text-input/web/Autocomplete.tsx:195
msgid "No result"
msgstr "Kein Ergebnis"
-#: src/components/Lists.tsx:192
+#: src/components/Lists.tsx:183
msgid "No results found"
msgstr "Keine Ergebnisse gefunden"
-#: src/view/screens/Feeds.tsx:495
+#: src/view/screens/Feeds.tsx:520
msgid "No results found for \"{query}\""
msgstr "Keine Ergebnisse für \"{query}\" gefunden"
#: src/view/com/modals/ListAddRemoveUsers.tsx:127
-#: src/view/screens/Search/Search.tsx:281
-#: src/view/screens/Search/Search.tsx:309
+#: src/view/screens/Search/Search.tsx:349
+#: src/view/screens/Search/Search.tsx:387
msgid "No results found for {query}"
msgstr "Keine Ergebnisse für {query} gefunden"
-#: src/view/com/modals/EmbedConsent.tsx:129
+#: src/components/dialogs/EmbedConsent.tsx:105
+#: src/components/dialogs/EmbedConsent.tsx:112
msgid "No thanks"
msgstr "Nein danke"
@@ -2449,12 +2973,21 @@ msgstr "Nein danke"
msgid "Nobody"
msgstr "Niemand"
+#: src/components/LikedByList.tsx:79
+#: src/components/LikesDialog.tsx:99
+msgid "Nobody has liked this yet. Maybe you should be the first!"
+msgstr ""
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:42
+msgid "Non-sexual Nudity"
+msgstr "Nicht-sexuelle Nacktheit"
+
#: src/view/com/modals/SelfLabel.tsx:135
msgid "Not Applicable."
msgstr "Unzutreffend."
-#: src/Navigation.tsx:107
-#: src/view/screens/Profile.tsx:106
+#: src/Navigation.tsx:109
+#: src/view/screens/Profile.tsx:101
msgid "Not Found"
msgstr "Nicht gefunden"
@@ -2463,17 +2996,23 @@ msgstr "Nicht gefunden"
msgid "Not right now"
msgstr "Im Moment nicht"
-#: src/view/screens/Moderation.tsx:252
+#: src/view/com/profile/ProfileMenu.tsx:368
+#: src/view/com/util/forms/PostDropdownBtn.tsx:364
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:248
+msgid "Note about sharing"
+msgstr ""
+
+#: src/screens/Moderation/index.tsx:540
msgid "Note: Bluesky is an open and public network. This setting only limits the visibility of your content on the Bluesky app and website, and other apps may not respect this setting. Your content may still be shown to logged-out users by other apps and websites."
msgstr "Hinweis: Bluesky ist ein offenes und öffentliches Netzwerk. Diese Einstellung schränkt lediglich die Sichtbarkeit deiner Inhalte in der Bluesky-App und auf der Website ein. Andere Apps respektieren diese Einstellung möglicherweise nicht. Deine Inhalte werden abgemeldeten Nutzern möglicherweise weiterhin in anderen Apps und Websites angezeigt."
-#: src/Navigation.tsx:457
+#: src/Navigation.tsx:461
#: src/view/screens/Notifications.tsx:124
#: src/view/screens/Notifications.tsx:148
-#: src/view/shell/bottom-bar/BottomBar.tsx:205
-#: src/view/shell/desktop/LeftNav.tsx:361
-#: src/view/shell/Drawer.tsx:435
-#: src/view/shell/Drawer.tsx:436
+#: src/view/shell/bottom-bar/BottomBar.tsx:216
+#: src/view/shell/desktop/LeftNav.tsx:365
+#: src/view/shell/Drawer.tsx:444
+#: src/view/shell/Drawer.tsx:445
msgid "Notifications"
msgstr "Mitteilungen"
@@ -2481,15 +3020,36 @@ msgstr "Mitteilungen"
msgid "Nudity"
msgstr "Nacktheit"
-#: src/view/com/util/ErrorBoundary.tsx:35
+#: src/lib/moderation/useReportOptions.ts:71
+msgid "Nudity or adult content not labeled as such"
+msgstr ""
+
+#: src/lib/moderation/useReportOptions.ts:71
+#~ msgid "Nudity or pornography not labeled as such"
+#~ msgstr ""
+
+#: src/screens/Signup/index.tsx:143
+msgid "of"
+msgstr "von"
+
+#: src/lib/moderation/useLabelBehaviorDescription.ts:11
+msgid "Off"
+msgstr "Aus"
+
+#: src/view/com/util/ErrorBoundary.tsx:49
msgid "Oh no!"
msgstr "Oh nein!"
-#: src/screens/Onboarding/StepInterests/index.tsx:128
+#: src/screens/Onboarding/StepInterests/index.tsx:132
msgid "Oh no! Something went wrong."
msgstr "Oh nein, da ist etwas schief gelaufen."
-#: src/view/com/auth/login/PasswordUpdatedForm.tsx:41
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:126
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:333
+msgid "OK"
+msgstr "OK"
+
+#: src/screens/Login/PasswordUpdatedForm.tsx:44
msgid "Okay"
msgstr "Okay"
@@ -2497,11 +3057,11 @@ msgstr "Okay"
msgid "Oldest replies first"
msgstr "Älteste Antworten zuerst"
-#: src/view/screens/Settings/index.tsx:234
+#: src/view/screens/Settings/index.tsx:247
msgid "Onboarding reset"
msgstr "Onboarding zurücksetzen"
-#: src/view/com/composer/Composer.tsx:382
+#: src/view/com/composer/Composer.tsx:392
msgid "One or more images is missing alt text."
msgstr "Bei einem oder mehreren Bildern fehlt der Alt-Text."
@@ -2509,49 +3069,66 @@ msgstr "Bei einem oder mehreren Bildern fehlt der Alt-Text."
msgid "Only {0} can reply."
msgstr "Nur {0} kann antworten."
-#: src/components/Lists.tsx:82
+#: src/screens/Signup/StepHandle.tsx:98
+msgid "Only contains letters, numbers, and hyphens"
+msgstr "Enthält nur Buchstaben, Nummern und Bindestriche"
+
+#: src/components/Lists.tsx:75
msgid "Oops, something went wrong!"
msgstr "Ups, da ist etwas schief gelaufen!"
-#: src/components/Lists.tsx:188
-#: src/view/screens/AppPasswords.tsx:65
-#: src/view/screens/Profile.tsx:106
+#: src/components/Lists.tsx:170
+#: src/view/screens/AppPasswords.tsx:67
+#: src/view/screens/Profile.tsx:101
msgid "Oops!"
msgstr "Huch!"
-#: src/screens/Onboarding/StepFinished.tsx:115
+#: src/screens/Onboarding/StepFinished.tsx:119
msgid "Open"
msgstr "Öffnen"
#: src/view/screens/Moderation.tsx:75
-msgid "Open content filtering settings"
-msgstr "Inhaltsfiltereinstellungen öffnen"
+#~ msgid "Open content filtering settings"
+#~ msgstr "Inhaltsfiltereinstellungen öffnen"
-#: src/view/com/composer/Composer.tsx:477
-#: src/view/com/composer/Composer.tsx:478
+#: src/view/com/composer/Composer.tsx:491
+#: src/view/com/composer/Composer.tsx:492
msgid "Open emoji picker"
msgstr "Emoji-Picker öffnen"
-#: src/view/screens/Settings/index.tsx:712
+#: src/view/screens/ProfileFeed.tsx:311
+msgid "Open feed options menu"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:685
msgid "Open links with in-app browser"
msgstr "Links mit In-App-Browser öffnen"
-#: src/view/screens/Moderation.tsx:92
-msgid "Open muted words settings"
-msgstr "Einstellungen für stummgeschaltete Wörter öffnen"
+#: src/screens/Moderation/index.tsx:227
+msgid "Open muted words and tags settings"
+msgstr "Einstellungen für stummgeschaltete Wörter und Tags öffnen"
-#: src/view/com/home/HomeHeaderLayoutMobile.tsx:50
+#: src/view/screens/Moderation.tsx:92
+#~ msgid "Open muted words settings"
+#~ msgstr "Einstellungen für stummgeschaltete Wörter öffnen"
+
+#: src/view/com/home/HomeHeaderLayoutMobile.tsx:52
msgid "Open navigation"
msgstr "Navigation öffnen"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:175
+#: src/view/com/util/forms/PostDropdownBtn.tsx:191
msgid "Open post options menu"
msgstr "Beitragsoptionsmenü öffnen"
-#: src/view/screens/Settings/index.tsx:804
+#: src/view/screens/Settings/index.tsx:792
+#: src/view/screens/Settings/index.tsx:802
msgid "Open storybook page"
msgstr "Geschichtenbuch öffnen"
+#: src/view/screens/Settings/index.tsx:780
+msgid "Open system log"
+msgstr ""
+
#: src/view/com/util/forms/DropdownButton.tsx:154
msgid "Opens {numItems} options"
msgstr "Öffnet {numItems} Optionen"
@@ -2560,11 +3137,11 @@ msgstr "Öffnet {numItems} Optionen"
msgid "Opens additional details for a debug entry"
msgstr "Öffnet zusätzliche Details für einen Debug-Eintrag"
-#: src/view/com/notifications/FeedItem.tsx:349
+#: src/view/com/notifications/FeedItem.tsx:355
msgid "Opens an expanded list of users in this notification"
-msgstr "Öffnet eine erweiterte Liste der Benutzer in dieser Meldung"
+msgstr "Öffnet eine erweiterte Liste der Benutzer in dieser Mitteilung"
-#: src/view/com/composer/photos/OpenCameraBtn.tsx:61
+#: src/view/com/composer/photos/OpenCameraBtn.tsx:78
msgid "Opens camera on device"
msgstr "Öffnet die Kamera auf dem Gerät"
@@ -2572,7 +3149,7 @@ msgstr "Öffnet die Kamera auf dem Gerät"
msgid "Opens composer"
msgstr "Öffnet den Beitragsverfasser"
-#: src/view/screens/Settings/index.tsx:595
+#: src/view/screens/Settings/index.tsx:566
msgid "Opens configurable language settings"
msgstr "Öffnet die konfigurierbaren Spracheinstellungen"
@@ -2581,67 +3158,110 @@ msgid "Opens device photo gallery"
msgstr "Öffnet die Gerätefotogalerie"
#: src/view/com/profile/ProfileHeader.tsx:420
-msgid "Opens editor for profile display name, avatar, background image, and description"
-msgstr "Öffnet den Editor für Profilanzeige, Avatar, Hintergrundbild und Beschreibung"
+#~ msgid "Opens editor for profile display name, avatar, background image, and description"
+#~ msgstr "Öffnet den Editor für Profilanzeige, Avatar, Hintergrundbild und Beschreibung"
-#: src/view/screens/Settings/index.tsx:649
+#: src/view/screens/Settings/index.tsx:620
msgid "Opens external embeds settings"
msgstr "Öffnet die Einstellungen für externe eingebettete Medien"
+#: src/view/com/auth/SplashScreen.tsx:50
+#: src/view/com/auth/SplashScreen.web.tsx:94
+msgid "Opens flow to create a new Bluesky account"
+msgstr "Öffnet den Vorgang, einen neuen Bluesky account anzulegen"
+
+#: src/view/com/auth/SplashScreen.tsx:65
+#: src/view/com/auth/SplashScreen.web.tsx:109
+msgid "Opens flow to sign into your existing Bluesky account"
+msgstr "Öffnet den Vorgang, sich mit einen bestehenden Bluesky Account anzumelden"
+
#: src/view/com/profile/ProfileHeader.tsx:575
-msgid "Opens followers list"
-msgstr "Öffnet die Follower-Liste"
+#~ msgid "Opens followers list"
+#~ msgstr "Öffnet die Follower-Liste"
#: src/view/com/profile/ProfileHeader.tsx:594
-msgid "Opens following list"
-msgstr "Öffnet folgende Liste"
+#~ msgid "Opens following list"
+#~ msgstr "Öffnet folgende Liste"
-#: src/view/com/modals/InviteCodes.tsx:172
+#: src/view/com/modals/InviteCodes.tsx:173
msgid "Opens list of invite codes"
msgstr "Öffnet die Liste der Einladungscodes"
-#: src/view/screens/Settings/index.tsx:774
-msgid "Opens modal for account deletion confirmation. Requires email code."
-msgstr "Öffnet ein Modal, um die Löschung des Kontos zu bestätigen. Erfordert einen E-Mail-Code."
+#: src/view/screens/Settings/index.tsx:762
+msgid "Opens modal for account deletion confirmation. Requires email code"
+msgstr ""
-#: src/view/com/modals/ChangeHandle.tsx:281
+#: src/view/screens/Settings/index.tsx:774
+#~ msgid "Opens modal for account deletion confirmation. Requires email code."
+#~ msgstr "Öffnet ein Modal, um die Löschung des Kontos zu bestätigen. Erfordert einen E-Mail-Code."
+
+#: src/view/screens/Settings/index.tsx:720
+msgid "Opens modal for changing your Bluesky password"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:669
+msgid "Opens modal for choosing a new Bluesky handle"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:743
+msgid "Opens modal for downloading your Bluesky account data (repository)"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:932
+msgid "Opens modal for email verification"
+msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:282
msgid "Opens modal for using custom domain"
msgstr "Öffnet das Modal für die Verwendung einer benutzerdefinierten Domain"
-#: src/view/screens/Settings/index.tsx:620
+#: src/view/screens/Settings/index.tsx:591
msgid "Opens moderation settings"
msgstr "Öffnet die Moderationseinstellungen"
-#: src/view/com/auth/login/LoginForm.tsx:239
+#: src/screens/Login/LoginForm.tsx:202
msgid "Opens password reset form"
msgstr "Öffnet das Formular zum Zurücksetzen des Passworts"
-#: src/view/com/home/HomeHeaderLayout.web.tsx:63
-#: src/view/screens/Feeds.tsx:356
+#: src/view/com/home/HomeHeaderLayout.web.tsx:67
+#: src/view/screens/Feeds.tsx:381
msgid "Opens screen to edit Saved Feeds"
msgstr "Öffnet den Bildschirm zum Bearbeiten gespeicherten Feeds"
-#: src/view/screens/Settings/index.tsx:576
+#: src/view/screens/Settings/index.tsx:548
msgid "Opens screen with all saved feeds"
msgstr "Öffnet den Bildschirm mit allen gespeicherten Feeds"
+#: src/view/screens/Settings/index.tsx:647
+msgid "Opens the app password settings"
+msgstr ""
+
#: src/view/screens/Settings/index.tsx:676
-msgid "Opens the app password settings page"
-msgstr "Öffnet die Einstellungsseite für das App-Passwort"
+#~ msgid "Opens the app password settings page"
+#~ msgstr "Öffnet die Einstellungsseite für das App-Passwort"
+
+#: src/view/screens/Settings/index.tsx:505
+msgid "Opens the Following feed preferences"
+msgstr ""
#: src/view/screens/Settings/index.tsx:535
-msgid "Opens the home feed preferences"
-msgstr "Öffnet die Home-Feed-Einstellungen"
+#~ msgid "Opens the home feed preferences"
+#~ msgstr "Öffnet die Home-Feed-Einstellungen"
-#: src/view/screens/Settings/index.tsx:805
+#: src/view/com/modals/LinkWarning.tsx:93
+msgid "Opens the linked website"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:793
+#: src/view/screens/Settings/index.tsx:803
msgid "Opens the storybook page"
msgstr "Öffnet die Geschichtenbuch"
-#: src/view/screens/Settings/index.tsx:793
+#: src/view/screens/Settings/index.tsx:781
msgid "Opens the system log page"
msgstr "Öffnet die Systemprotokollseite"
-#: src/view/screens/Settings/index.tsx:556
+#: src/view/screens/Settings/index.tsx:526
msgid "Opens the threads preferences"
msgstr "Öffnet die Thread-Einstellungen"
@@ -2649,11 +3269,19 @@ msgstr "Öffnet die Thread-Einstellungen"
msgid "Option {0} of {numItems}"
msgstr "Option {0} von {numItems}"
+#: src/components/ReportDialog/SubmitView.tsx:160
+msgid "Optionally provide additional information below:"
+msgstr ""
+
#: src/view/com/modals/Threadgate.tsx:89
msgid "Or combine these options:"
msgstr "Oder kombiniere diese Optionen:"
-#: src/view/com/auth/login/ChooseAccountForm.tsx:138
+#: src/lib/moderation/useReportOptions.ts:25
+msgid "Other"
+msgstr ""
+
+#: src/components/AccountList.tsx:73
msgid "Other account"
msgstr "Anderes Konto"
@@ -2661,7 +3289,7 @@ msgstr "Anderes Konto"
msgid "Other..."
msgstr "Andere..."
-#: src/components/Lists.tsx:194
+#: src/components/Lists.tsx:184
#: src/view/screens/NotFound.tsx:45
msgid "Page not found"
msgstr "Seite nicht gefunden"
@@ -2670,27 +3298,35 @@ msgstr "Seite nicht gefunden"
msgid "Page Not Found"
msgstr "Seite nicht gefunden"
-#: src/view/com/auth/create/Step1.tsx:191
-#: src/view/com/auth/create/Step1.tsx:201
-#: src/view/com/auth/login/LoginForm.tsx:226
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:161
-#: src/view/com/modals/DeleteAccount.tsx:202
+#: src/screens/Login/LoginForm.tsx:178
+#: src/screens/Signup/StepInfo/index.tsx:102
+#: src/view/com/modals/DeleteAccount.tsx:194
+#: src/view/com/modals/DeleteAccount.tsx:201
msgid "Password"
msgstr "Passwort"
-#: src/view/com/auth/login/Login.tsx:157
+#: src/view/com/modals/ChangePassword.tsx:142
+msgid "Password Changed"
+msgstr ""
+
+#: src/screens/Login/index.tsx:157
msgid "Password updated"
msgstr "Passwort aktualisiert"
-#: src/view/com/auth/login/PasswordUpdatedForm.tsx:28
+#: src/screens/Login/PasswordUpdatedForm.tsx:30
msgid "Password updated!"
msgstr "Passwort aktualisiert!"
-#: src/Navigation.tsx:162
+#: src/view/screens/Search/Search.tsx:447
+#: src/view/screens/Search/Search.tsx:456
+msgid "People"
+msgstr ""
+
+#: src/Navigation.tsx:164
msgid "People followed by @{0}"
msgstr "Personen gefolgt von @{0}"
-#: src/Navigation.tsx:155
+#: src/Navigation.tsx:157
msgid "People following @{0}"
msgstr "Personen, die @{0} folgen"
@@ -2710,37 +3346,41 @@ msgstr "Haustiere"
msgid "Pictures meant for adults."
msgstr "Bilder, die für Erwachsene bestimmt sind."
-#: src/view/screens/ProfileFeed.tsx:354
-#: src/view/screens/ProfileList.tsx:581
+#: src/view/screens/ProfileFeed.tsx:303
+#: src/view/screens/ProfileList.tsx:565
msgid "Pin to home"
msgstr "An die Startseite anheften"
-#: src/view/screens/SavedFeeds.tsx:88
+#: src/view/screens/ProfileFeed.tsx:306
+msgid "Pin to Home"
+msgstr ""
+
+#: src/view/screens/SavedFeeds.tsx:89
msgid "Pinned Feeds"
msgstr "Angeheftete Feeds"
-#: src/view/com/util/post-embeds/ExternalGifEmbed.tsx:111
+#: src/view/com/util/post-embeds/ExternalGifEmbed.tsx:123
msgid "Play {0}"
msgstr "{0} abspielen"
-#: src/view/com/util/post-embeds/ExternalPlayerEmbed.tsx:54
-#: src/view/com/util/post-embeds/ExternalPlayerEmbed.tsx:55
+#: src/view/com/util/post-embeds/ExternalPlayerEmbed.tsx:57
+#: src/view/com/util/post-embeds/ExternalPlayerEmbed.tsx:58
msgid "Play Video"
msgstr "Video abspielen"
-#: src/view/com/util/post-embeds/ExternalGifEmbed.tsx:110
+#: src/view/com/util/post-embeds/ExternalGifEmbed.tsx:122
msgid "Plays the GIF"
msgstr "Spielt das GIF ab"
-#: src/view/com/auth/create/state.ts:124
+#: src/screens/Signup/state.ts:241
msgid "Please choose your handle."
msgstr "Bitte wähle deinen Handle."
-#: src/view/com/auth/create/state.ts:117
+#: src/screens/Signup/state.ts:234
msgid "Please choose your password."
msgstr "Bitte wähle dein Passwort."
-#: src/view/com/auth/create/state.ts:131
+#: src/screens/Signup/state.ts:251
msgid "Please complete the verification captcha."
msgstr "Bitte fülle das Verifizierungs-Captcha aus."
@@ -2748,30 +3388,34 @@ msgstr "Bitte fülle das Verifizierungs-Captcha aus."
msgid "Please confirm your email before changing it. This is a temporary requirement while email-updating tools are added, and it will soon be removed."
msgstr "Bitte bestätige deine E-Mail, bevor du sie änderst. Dies ist eine vorübergehende Anforderung, während E-Mail-Aktualisierungstools hinzugefügt werden, und wird bald wieder entfernt."
-#: src/view/com/modals/AddAppPasswords.tsx:90
+#: src/view/com/modals/AddAppPasswords.tsx:91
msgid "Please enter a name for your app password. All spaces is not allowed."
msgstr "Bitte gib einen Namen für dein App-Passwort ein. Nur Leerzeichen sind nicht erlaubt."
-#: src/view/com/modals/AddAppPasswords.tsx:145
+#: src/view/com/modals/AddAppPasswords.tsx:146
msgid "Please enter a unique name for this App Password or use our randomly generated one."
msgstr "Bitte gib einen eindeutigen Namen für dieses App-Passwort ein oder verwende unseren zufällig generierten Namen."
-#: src/components/dialogs/MutedWords.tsx:68
+#: src/components/dialogs/MutedWords.tsx:67
msgid "Please enter a valid word, tag, or phrase to mute"
msgstr "Bitte gib ein gültiges Wort, einen Tag oder eine Phrase zum Stummschalten ein"
-#: src/view/com/auth/create/state.ts:103
+#: src/screens/Signup/state.ts:220
msgid "Please enter your email."
msgstr "Bitte gib deine E-Mail ein."
-#: src/view/com/modals/DeleteAccount.tsx:191
+#: src/view/com/modals/DeleteAccount.tsx:190
msgid "Please enter your password as well:"
msgstr "Bitte gib auch dein Passwort ein:"
+#: src/components/moderation/LabelsOnMeDialog.tsx:221
+msgid "Please explain why you think this label was incorrectly applied by {0}"
+msgstr ""
+
#: src/view/com/modals/AppealLabel.tsx:72
#: src/view/com/modals/AppealLabel.tsx:75
-msgid "Please tell us why you think this content warning was incorrectly applied!"
-msgstr "Bitte teile uns mit, warum du denkst, dass diese Inhaltswarnung falsch angewendet wurde!"
+#~ msgid "Please tell us why you think this content warning was incorrectly applied!"
+#~ msgstr "Bitte teile uns mit, warum du denkst, dass diese Inhaltswarnung falsch angewendet wurde!"
#: src/view/com/modals/VerifyEmail.tsx:101
msgid "Please Verify Your Email"
@@ -2789,13 +3433,17 @@ msgstr "Politik"
msgid "Porn"
msgstr "Porno"
-#: src/view/com/composer/Composer.tsx:357
-#: src/view/com/composer/Composer.tsx:365
+#: src/lib/moderation/useGlobalLabelStrings.ts:34
+#~ msgid "Pornography"
+#~ msgstr ""
+
+#: src/view/com/composer/Composer.tsx:367
+#: src/view/com/composer/Composer.tsx:375
msgctxt "action"
msgid "Post"
msgstr "Beitrag"
-#: src/view/com/post-thread/PostThread.tsx:303
+#: src/view/com/post-thread/PostThread.tsx:292
msgctxt "description"
msgid "Post"
msgstr "Beitrag"
@@ -2804,20 +3452,30 @@ msgstr "Beitrag"
msgid "Post by {0}"
msgstr "Beitrag von {0}"
-#: src/Navigation.tsx:174
-#: src/Navigation.tsx:181
-#: src/Navigation.tsx:188
+#: src/Navigation.tsx:176
+#: src/Navigation.tsx:183
+#: src/Navigation.tsx:190
msgid "Post by @{0}"
msgstr "Beitrag von @{0}"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:108
+#: src/view/com/util/forms/PostDropdownBtn.tsx:111
msgid "Post deleted"
msgstr "Beitrag gelöscht"
-#: src/view/com/post-thread/PostThread.tsx:462
+#: src/view/com/post-thread/PostThread.tsx:157
msgid "Post hidden"
msgstr "Beitrag ausgeblendet"
+#: src/components/moderation/ModerationDetailsDialog.tsx:97
+#: src/lib/moderation/useModerationCauseDescription.ts:99
+msgid "Post Hidden by Muted Word"
+msgstr ""
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:100
+#: src/lib/moderation/useModerationCauseDescription.ts:108
+msgid "Post Hidden by You"
+msgstr ""
+
#: src/view/com/composer/select-language/SelectLangBtn.tsx:87
msgid "Post language"
msgstr "Beitragssprache"
@@ -2826,7 +3484,8 @@ msgstr "Beitragssprache"
msgid "Post Languages"
msgstr "Beitragssprachen"
-#: src/view/com/post-thread/PostThread.tsx:514
+#: src/view/com/post-thread/PostThread.tsx:152
+#: src/view/com/post-thread/PostThread.tsx:164
msgid "Post not found"
msgstr "Beitrag nicht gefunden"
@@ -2834,11 +3493,12 @@ msgstr "Beitrag nicht gefunden"
msgid "posts"
msgstr "Beiträge"
-#: src/view/screens/Profile.tsx:180
+#: src/view/screens/Profile.tsx:195
+#: src/view/screens/Search/Search.tsx:467
msgid "Posts"
msgstr "Beiträge"
-#: src/components/dialogs/MutedWords.tsx:90
+#: src/components/dialogs/MutedWords.tsx:89
msgid "Posts can be muted based on their text, their tags, or both."
msgstr "Beiträge können basierend auf ihrem Text, ihren Tags oder beidem stummgeschaltet werden."
@@ -2846,11 +3506,21 @@ msgstr "Beiträge können basierend auf ihrem Text, ihren Tags oder beidem stumm
msgid "Posts hidden"
msgstr "Ausgeblendete Beiträge"
-#: src/view/com/modals/LinkWarning.tsx:46
+#: src/view/com/modals/LinkWarning.tsx:60
msgid "Potentially Misleading Link"
msgstr "Potenziell irreführender Link"
-#: src/view/com/lightbox/Lightbox.web.tsx:135
+#: src/components/forms/HostingProvider.tsx:46
+msgid "Press to change hosting provider"
+msgstr ""
+
+#: src/components/Error.tsx:74
+#: src/components/Lists.tsx:80
+#: src/screens/Signup/index.tsx:187
+msgid "Press to retry"
+msgstr ""
+
+#: src/view/com/lightbox/Lightbox.web.tsx:150
msgid "Previous image"
msgstr "Vorheriges Bild"
@@ -2862,39 +3532,45 @@ msgstr "Primäre Sprache"
msgid "Prioritize Your Follows"
msgstr "Priorisiere deine Follower"
-#: src/view/screens/Settings/index.tsx:632
+#: src/view/screens/Settings/index.tsx:603
#: src/view/shell/desktop/RightNav.tsx:72
msgid "Privacy"
msgstr "Privatsphäre"
-#: src/Navigation.tsx:219
+#: src/Navigation.tsx:231
+#: src/screens/Signup/StepInfo/Policies.tsx:56
#: src/view/screens/PrivacyPolicy.tsx:29
-#: src/view/screens/Settings/index.tsx:891
-#: src/view/shell/Drawer.tsx:262
+#: src/view/screens/Settings/index.tsx:887
+#: src/view/shell/Drawer.tsx:271
msgid "Privacy Policy"
msgstr "Datenschutzerklärung"
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:198
+#: src/screens/Login/ForgotPasswordForm.tsx:156
msgid "Processing..."
msgstr "Wird bearbeitet..."
-#: src/view/shell/bottom-bar/BottomBar.tsx:247
-#: src/view/shell/desktop/LeftNav.tsx:415
+#: src/view/screens/DebugMod.tsx:888
+#: src/view/screens/Profile.tsx:361
+msgid "profile"
+msgstr ""
+
+#: src/view/shell/bottom-bar/BottomBar.tsx:261
+#: src/view/shell/desktop/LeftNav.tsx:419
#: src/view/shell/Drawer.tsx:70
-#: src/view/shell/Drawer.tsx:546
-#: src/view/shell/Drawer.tsx:547
+#: src/view/shell/Drawer.tsx:555
+#: src/view/shell/Drawer.tsx:556
msgid "Profile"
msgstr "Profil"
-#: src/view/com/modals/EditProfile.tsx:128
+#: src/view/com/modals/EditProfile.tsx:129
msgid "Profile updated"
msgstr "Profil aktualisiert"
-#: src/view/screens/Settings/index.tsx:949
+#: src/view/screens/Settings/index.tsx:945
msgid "Protect your account by verifying your email."
msgstr "Schütze dein Konto, indem du deine E-Mail bestätigst."
-#: src/screens/Onboarding/StepFinished.tsx:101
+#: src/screens/Onboarding/StepFinished.tsx:105
msgid "Public"
msgstr "Öffentlich"
@@ -2906,15 +3582,15 @@ msgstr "Öffentliche, gemeinsam nutzbare Listen von Nutzern, die du stummschalte
msgid "Public, shareable lists which can drive feeds."
msgstr "Öffentliche, gemeinsam nutzbare Listen, die Feeds steuern können."
-#: src/view/com/composer/Composer.tsx:342
+#: src/view/com/composer/Composer.tsx:352
msgid "Publish post"
msgstr "Beitrag veröffentlichen"
-#: src/view/com/composer/Composer.tsx:342
+#: src/view/com/composer/Composer.tsx:352
msgid "Publish reply"
msgstr "Antwort veröffentlichen"
-#: src/view/com/modals/Repost.tsx:65
+#: src/view/com/modals/Repost.tsx:66
msgctxt "action"
msgid "Quote post"
msgstr "Beitrag zitieren"
@@ -2923,7 +3599,7 @@ msgstr "Beitrag zitieren"
msgid "Quote post"
msgstr "Beitrag zitieren"
-#: src/view/com/modals/Repost.tsx:70
+#: src/view/com/modals/Repost.tsx:71
msgctxt "action"
msgid "Quote Post"
msgstr "Beitrag zitieren"
@@ -2932,48 +3608,66 @@ msgstr "Beitrag zitieren"
msgid "Random (aka \"Poster's Roulette\")"
msgstr "Zufällig (alias \"Poster's Roulette\")"
-#: src/view/com/modals/EditImage.tsx:236
+#: src/view/com/modals/EditImage.tsx:237
msgid "Ratios"
msgstr "Verhältnisse"
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:116
+#: src/view/screens/Search/Search.tsx:924
+msgid "Recent Searches"
+msgstr ""
+
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:117
msgid "Recommended Feeds"
msgstr "Empfohlene Feeds"
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:180
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:181
msgid "Recommended Users"
msgstr "Empfohlene Nutzer"
-#: src/components/dialogs/MutedWords.tsx:298
-#: src/view/com/modals/ListAddRemoveUsers.tsx:264
+#: src/components/dialogs/MutedWords.tsx:286
+#: src/view/com/feeds/FeedSourceCard.tsx:283
+#: src/view/com/modals/ListAddRemoveUsers.tsx:268
#: src/view/com/modals/SelfLabel.tsx:83
#: src/view/com/modals/UserAddRemoveLists.tsx:219
-#: src/view/com/util/UserAvatar.tsx:285
-#: src/view/com/util/UserBanner.tsx:91
+#: src/view/com/posts/FeedErrorMessage.tsx:204
msgid "Remove"
msgstr "Entfernen"
#: src/view/com/feeds/FeedSourceCard.tsx:108
-msgid "Remove {0} from my feeds?"
-msgstr "{0} aus meinen Feeds entfernen?"
+#~ msgid "Remove {0} from my feeds?"
+#~ msgstr "{0} aus meinen Feeds entfernen?"
#: src/view/com/util/AccountDropdownBtn.tsx:22
msgid "Remove account"
msgstr "Konto entfernen"
-#: src/view/com/posts/FeedErrorMessage.tsx:131
-#: src/view/com/posts/FeedErrorMessage.tsx:166
+#: src/view/com/util/UserAvatar.tsx:360
+msgid "Remove Avatar"
+msgstr ""
+
+#: src/view/com/util/UserBanner.tsx:148
+msgid "Remove Banner"
+msgstr ""
+
+#: src/view/com/posts/FeedErrorMessage.tsx:160
msgid "Remove feed"
msgstr "Feed entfernen"
-#: src/view/com/feeds/FeedSourceCard.tsx:107
-#: src/view/com/feeds/FeedSourceCard.tsx:169
-#: src/view/com/feeds/FeedSourceCard.tsx:174
-#: src/view/com/feeds/FeedSourceCard.tsx:245
-#: src/view/screens/ProfileFeed.tsx:273
+#: src/view/com/posts/FeedErrorMessage.tsx:201
+msgid "Remove feed?"
+msgstr ""
+
+#: src/view/com/feeds/FeedSourceCard.tsx:173
+#: src/view/com/feeds/FeedSourceCard.tsx:233
+#: src/view/screens/ProfileFeed.tsx:346
+#: src/view/screens/ProfileFeed.tsx:352
msgid "Remove from my feeds"
msgstr "Aus meinen Feeds entfernen"
+#: src/view/com/feeds/FeedSourceCard.tsx:278
+msgid "Remove from my feeds?"
+msgstr ""
+
#: src/view/com/composer/photos/Gallery.tsx:167
msgid "Remove image"
msgstr "Bild entfernen"
@@ -2982,37 +3676,44 @@ msgstr "Bild entfernen"
msgid "Remove image preview"
msgstr "Bildvorschau entfernen"
-#: src/components/dialogs/MutedWords.tsx:343
+#: src/components/dialogs/MutedWords.tsx:329
msgid "Remove mute word from your list"
msgstr "Stummgeschaltetes Wort aus deiner Liste entfernen"
-#: src/view/com/modals/Repost.tsx:47
+#: src/view/com/modals/Repost.tsx:48
msgid "Remove repost"
msgstr "Repost entfernen"
#: src/view/com/feeds/FeedSourceCard.tsx:175
-msgid "Remove this feed from my feeds?"
-msgstr "Diesen Feed aus meinen Feeds entfernen?"
+#~ msgid "Remove this feed from my feeds?"
+#~ msgstr "Diesen Feed aus meinen Feeds entfernen?"
+
+#: src/view/com/posts/FeedErrorMessage.tsx:202
+msgid "Remove this feed from your saved feeds"
+msgstr ""
#: src/view/com/posts/FeedErrorMessage.tsx:132
-msgid "Remove this feed from your saved feeds?"
-msgstr "Diesen Feed aus deinen gespeicherten Feeds entfernen?"
+#~ msgid "Remove this feed from your saved feeds?"
+#~ msgstr "Diesen Feed aus deinen gespeicherten Feeds entfernen?"
#: src/view/com/modals/ListAddRemoveUsers.tsx:199
#: src/view/com/modals/UserAddRemoveLists.tsx:152
msgid "Removed from list"
msgstr "Aus der Liste entfernt"
-#: src/view/com/feeds/FeedSourceCard.tsx:113
-#: src/view/com/feeds/FeedSourceCard.tsx:180
+#: src/view/com/feeds/FeedSourceCard.tsx:121
msgid "Removed from my feeds"
msgstr "Aus meinen Feeds entfernt"
+#: src/view/screens/ProfileFeed.tsx:210
+msgid "Removed from your feeds"
+msgstr ""
+
#: src/view/com/composer/ExternalEmbed.tsx:71
msgid "Removes default thumbnail from {0}"
msgstr "Entfernt Standard-Miniaturansicht von {0}"
-#: src/view/screens/Profile.tsx:181
+#: src/view/screens/Profile.tsx:196
msgid "Replies"
msgstr "Antworten"
@@ -3020,7 +3721,7 @@ msgstr "Antworten"
msgid "Replies to this thread are disabled"
msgstr "Antworten auf diesen Thread sind deaktiviert"
-#: src/view/com/composer/Composer.tsx:355
+#: src/view/com/composer/Composer.tsx:365
msgctxt "action"
msgid "Reply"
msgstr "Antworten"
@@ -3029,37 +3730,62 @@ msgstr "Antworten"
msgid "Reply Filters"
msgstr "Antwortfilter"
-#: src/view/com/post/Post.tsx:167
-#: src/view/com/posts/FeedItem.tsx:287
+#: src/view/com/post/Post.tsx:177
+#: src/view/com/posts/FeedItem.tsx:285
msgctxt "description"
msgid "Reply to <0/>"
msgstr "Antwort an <0/>"
#: src/view/com/modals/report/Modal.tsx:166
-msgid "Report {collectionName}"
-msgstr "{collectionName} melden"
+#~ msgid "Report {collectionName}"
+#~ msgstr "{collectionName} melden"
-#: src/view/com/profile/ProfileHeader.tsx:361
+#: src/view/com/profile/ProfileMenu.tsx:319
+#: src/view/com/profile/ProfileMenu.tsx:322
msgid "Report Account"
msgstr "Konto melden"
-#: src/view/screens/ProfileFeed.tsx:293
+#: src/components/ReportDialog/index.tsx:49
+msgid "Report dialog"
+msgstr ""
+
+#: src/view/screens/ProfileFeed.tsx:363
+#: src/view/screens/ProfileFeed.tsx:365
msgid "Report feed"
msgstr "Feed melden"
-#: src/view/screens/ProfileList.tsx:459
+#: src/view/screens/ProfileList.tsx:431
msgid "Report List"
msgstr "Liste melden"
-#: src/view/com/modals/report/SendReportButton.tsx:37
-#: src/view/com/util/forms/PostDropdownBtn.tsx:301
-#: src/view/com/util/forms/PostDropdownBtn.tsx:309
+#: src/view/com/util/forms/PostDropdownBtn.tsx:312
+#: src/view/com/util/forms/PostDropdownBtn.tsx:314
msgid "Report post"
msgstr "Beitrag melden"
-#: src/view/com/modals/Repost.tsx:43
-#: src/view/com/modals/Repost.tsx:48
-#: src/view/com/modals/Repost.tsx:53
+#: src/components/ReportDialog/SelectReportOptionView.tsx:42
+msgid "Report this content"
+msgstr ""
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:55
+msgid "Report this feed"
+msgstr ""
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:52
+msgid "Report this list"
+msgstr ""
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:49
+msgid "Report this post"
+msgstr ""
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:46
+msgid "Report this user"
+msgstr ""
+
+#: src/view/com/modals/Repost.tsx:44
+#: src/view/com/modals/Repost.tsx:49
+#: src/view/com/modals/Repost.tsx:54
#: src/view/com/util/post-ctrls/RepostButton.tsx:61
msgctxt "action"
msgid "Repost"
@@ -3078,19 +3804,23 @@ msgstr "Reposten oder Beitrag zitieren"
msgid "Reposted By"
msgstr "Repostet von"
-#: src/view/com/posts/FeedItem.tsx:207
+#: src/view/com/posts/FeedItem.tsx:199
msgid "Reposted by {0}"
msgstr "Repostet von {0}"
-#: src/view/com/posts/FeedItem.tsx:224
-msgid "Reposted by <0/>"
-msgstr "Repostet von <0/>"
+#: src/view/com/posts/FeedItem.tsx:214
+#~ msgid "Reposted by <0/>"
+#~ msgstr "Repostet von <0/>"
-#: src/view/com/notifications/FeedItem.tsx:162
+#: src/view/com/posts/FeedItem.tsx:216
+msgid "Reposted by <0><1/>0>"
+msgstr ""
+
+#: src/view/com/notifications/FeedItem.tsx:168
msgid "reposted your post"
msgstr "hat deinen Beitrag repostet"
-#: src/view/com/post-thread/PostThreadItem.tsx:188
+#: src/view/com/post-thread/PostThreadItem.tsx:187
msgid "Reposts of this post"
msgstr "Reposts von diesem Beitrag"
@@ -3099,57 +3829,58 @@ msgstr "Reposts von diesem Beitrag"
msgid "Request Change"
msgstr "Änderung anfordern"
-#: src/view/com/modals/ChangePassword.tsx:239
#: src/view/com/modals/ChangePassword.tsx:241
+#: src/view/com/modals/ChangePassword.tsx:243
msgid "Request Code"
msgstr "Einen Code anfordern"
-#: src/view/screens/Settings/index.tsx:456
+#: src/view/screens/Settings/index.tsx:426
msgid "Require alt text before posting"
msgstr "Alt-Text vor der Veröffentlichung erforderlich machen"
-#: src/view/com/auth/create/Step1.tsx:146
+#: src/screens/Signup/StepInfo/index.tsx:69
msgid "Required for this provider"
msgstr "Für diesen Anbieter erforderlich"
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:124
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:136
+#: src/view/com/modals/ChangePassword.tsx:185
msgid "Reset code"
msgstr "Code zurücksetzen"
-#: src/view/com/modals/ChangePassword.tsx:190
+#: src/view/com/modals/ChangePassword.tsx:192
msgid "Reset Code"
msgstr "Code zurücksetzen"
#: src/view/screens/Settings/index.tsx:824
-msgid "Reset onboarding"
-msgstr "Onboarding zurücksetzen"
+#~ msgid "Reset onboarding"
+#~ msgstr "Onboarding zurücksetzen"
-#: src/view/screens/Settings/index.tsx:827
+#: src/view/screens/Settings/index.tsx:822
+#: src/view/screens/Settings/index.tsx:825
msgid "Reset onboarding state"
msgstr "Onboarding-Status zurücksetzen"
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:104
+#: src/screens/Login/ForgotPasswordForm.tsx:86
msgid "Reset password"
msgstr "Passwort zurücksetzen"
#: src/view/screens/Settings/index.tsx:814
-msgid "Reset preferences"
-msgstr "Einstellungen zurücksetzen"
+#~ msgid "Reset preferences"
+#~ msgstr "Einstellungen zurücksetzen"
-#: src/view/screens/Settings/index.tsx:817
+#: src/view/screens/Settings/index.tsx:812
+#: src/view/screens/Settings/index.tsx:815
msgid "Reset preferences state"
msgstr "Einstellungen zurücksetzen"
-#: src/view/screens/Settings/index.tsx:825
+#: src/view/screens/Settings/index.tsx:823
msgid "Resets the onboarding state"
msgstr "Setzt den Onboarding-Status zurück"
-#: src/view/screens/Settings/index.tsx:815
+#: src/view/screens/Settings/index.tsx:813
msgid "Resets the preferences state"
msgstr "Einstellungen zurücksetzen"
-#: src/view/com/auth/login/LoginForm.tsx:269
+#: src/screens/Login/LoginForm.tsx:235
msgid "Retries login"
msgstr "Versucht die Anmeldung erneut"
@@ -3158,91 +3889,121 @@ msgstr "Versucht die Anmeldung erneut"
msgid "Retries the last action, which errored out"
msgstr "Wiederholung der letzten Aktion, bei der ein Fehler aufgetreten ist"
-#: src/screens/Onboarding/StepInterests/index.tsx:221
-#: src/screens/Onboarding/StepInterests/index.tsx:224
-#: src/view/com/auth/create/CreateAccount.tsx:181
-#: src/view/com/auth/create/CreateAccount.tsx:186
-#: src/view/com/auth/login/LoginForm.tsx:268
-#: src/view/com/auth/login/LoginForm.tsx:271
+#: src/components/Error.tsx:79
+#: src/components/Lists.tsx:91
+#: src/screens/Login/LoginForm.tsx:234
+#: src/screens/Login/LoginForm.tsx:241
+#: src/screens/Onboarding/StepInterests/index.tsx:225
+#: src/screens/Onboarding/StepInterests/index.tsx:228
+#: src/screens/Signup/index.tsx:194
#: src/view/com/util/error/ErrorMessage.tsx:55
#: src/view/com/util/error/ErrorScreen.tsx:72
msgid "Retry"
msgstr "Wiederholen"
-#: src/view/screens/ProfileList.tsx:903
+#: src/components/Error.tsx:86
+#: src/view/screens/ProfileList.tsx:919
msgid "Return to previous page"
msgstr "Zurück zur vorherigen Seite"
+#: src/view/screens/NotFound.tsx:59
+msgid "Returns to home page"
+msgstr ""
+
+#: src/view/screens/NotFound.tsx:58
+#: src/view/screens/ProfileFeed.tsx:113
+msgid "Returns to previous page"
+msgstr ""
+
+#: src/components/dialogs/BirthDateSettings.tsx:125
+#: src/view/com/modals/ChangeHandle.tsx:174
+#: src/view/com/modals/CreateOrEditList.tsx:338
+#: src/view/com/modals/EditProfile.tsx:225
+msgid "Save"
+msgstr "Speichern"
+
#: src/view/com/lightbox/Lightbox.tsx:132
-#: src/view/com/modals/CreateOrEditList.tsx:345
+#: src/view/com/modals/CreateOrEditList.tsx:346
msgctxt "action"
msgid "Save"
msgstr "Speichern"
-#: src/view/com/modals/BirthDateSettings.tsx:94
-#: src/view/com/modals/BirthDateSettings.tsx:97
-#: src/view/com/modals/ChangeHandle.tsx:173
-#: src/view/com/modals/CreateOrEditList.tsx:337
-#: src/view/com/modals/EditProfile.tsx:224
-#: src/view/screens/ProfileFeed.tsx:346
-msgid "Save"
-msgstr "Speichern"
-
-#: src/view/com/modals/AltImage.tsx:130
+#: src/view/com/modals/AltImage.tsx:131
msgid "Save alt text"
msgstr "Alt-Text speichern"
-#: src/view/com/modals/EditProfile.tsx:232
+#: src/components/dialogs/BirthDateSettings.tsx:119
+msgid "Save birthday"
+msgstr ""
+
+#: src/view/com/modals/EditProfile.tsx:233
msgid "Save Changes"
msgstr "Änderungen speichern"
-#: src/view/com/modals/ChangeHandle.tsx:170
+#: src/view/com/modals/ChangeHandle.tsx:171
msgid "Save handle change"
msgstr "Handle-Änderung speichern"
-#: src/view/com/modals/crop-image/CropImage.web.tsx:144
+#: src/view/com/modals/crop-image/CropImage.web.tsx:145
msgid "Save image crop"
msgstr "Bildausschnitt speichern"
-#: src/view/screens/SavedFeeds.tsx:122
+#: src/view/screens/ProfileFeed.tsx:347
+#: src/view/screens/ProfileFeed.tsx:353
+msgid "Save to my feeds"
+msgstr ""
+
+#: src/view/screens/SavedFeeds.tsx:123
msgid "Saved Feeds"
msgstr "Gespeicherte Feeds"
-#: src/view/com/modals/EditProfile.tsx:225
+#: src/view/com/lightbox/Lightbox.tsx:81
+msgid "Saved to your camera roll."
+msgstr ""
+
+#: src/view/screens/ProfileFeed.tsx:214
+msgid "Saved to your feeds"
+msgstr ""
+
+#: src/view/com/modals/EditProfile.tsx:226
msgid "Saves any changes to your profile"
msgstr "Speichert alle Änderungen an Deinem Profil"
-#: src/view/com/modals/ChangeHandle.tsx:171
+#: src/view/com/modals/ChangeHandle.tsx:172
msgid "Saves handle change to {handle}"
msgstr "Speichert Handle-Änderung in {handle}"
+#: src/view/com/modals/crop-image/CropImage.web.tsx:146
+msgid "Saves image crop settings"
+msgstr ""
+
#: src/screens/Onboarding/index.tsx:36
msgid "Science"
msgstr "Wissenschaft"
-#: src/view/screens/ProfileList.tsx:859
+#: src/view/screens/ProfileList.tsx:875
msgid "Scroll to top"
msgstr "Zum Anfang blättern"
-#: src/Navigation.tsx:447
-#: src/view/com/auth/LoggedOut.tsx:122
+#: src/Navigation.tsx:451
+#: src/view/com/auth/LoggedOut.tsx:123
#: src/view/com/modals/ListAddRemoveUsers.tsx:75
#: src/view/com/util/forms/SearchInput.tsx:67
#: src/view/com/util/forms/SearchInput.tsx:79
-#: src/view/screens/Search/Search.tsx:419
-#: src/view/screens/Search/Search.tsx:668
-#: src/view/screens/Search/Search.tsx:686
-#: src/view/shell/bottom-bar/BottomBar.tsx:159
-#: src/view/shell/desktop/LeftNav.tsx:324
-#: src/view/shell/desktop/Search.tsx:214
-#: src/view/shell/desktop/Search.tsx:223
-#: src/view/shell/Drawer.tsx:362
-#: src/view/shell/Drawer.tsx:363
+#: src/view/screens/Search/Search.tsx:568
+#: src/view/screens/Search/Search.tsx:817
+#: src/view/screens/Search/Search.tsx:835
+#: src/view/shell/bottom-bar/BottomBar.tsx:170
+#: src/view/shell/desktop/LeftNav.tsx:328
+#: src/view/shell/desktop/Search.tsx:215
+#: src/view/shell/desktop/Search.tsx:224
+#: src/view/shell/Drawer.tsx:371
+#: src/view/shell/Drawer.tsx:372
msgid "Search"
msgstr "Suche"
-#: src/view/screens/Search/Search.tsx:735
-#: src/view/shell/desktop/Search.tsx:255
+#: src/view/screens/Search/Search.tsx:884
+#: src/view/shell/desktop/Search.tsx:256
msgid "Search for \"{query}\""
msgstr "Suche nach \"{query}\""
@@ -3254,8 +4015,8 @@ msgstr "Nach allen Beiträgen von @{authorHandle} mit dem Tag {displayTag} suche
msgid "Search for all posts with tag {displayTag}"
msgstr "Nach allen Beiträgen mit dem Tag {displayTag} suchen"
-#: src/view/com/auth/LoggedOut.tsx:104
#: src/view/com/auth/LoggedOut.tsx:105
+#: src/view/com/auth/LoggedOut.tsx:106
#: src/view/com/modals/ListAddRemoveUsers.tsx:70
msgid "Search for users"
msgstr "Nach Nutzern suchen"
@@ -3280,44 +4041,65 @@ msgstr "Siehe <0>{displayTag}0>-Beiträge"
msgid "See <0>{displayTag}0> posts by this user"
msgstr "Siehe <0>{displayTag}0>-Beiträge von diesem Benutzer"
-#: src/view/screens/SavedFeeds.tsx:163
+#: src/view/com/notifications/FeedItem.tsx:419
+#: src/view/com/util/UserAvatar.tsx:381
+msgid "See profile"
+msgstr ""
+
+#: src/view/screens/SavedFeeds.tsx:164
msgid "See this guide"
msgstr "Siehe diesen Leitfaden"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:39
-msgid "See what's next"
-msgstr "Schau, was als nächstes kommt"
+#: src/view/com/auth/HomeLoggedOutCTA.tsx:40
+#~ msgid "See what's next"
+#~ msgstr "Schau, was als nächstes kommt"
#: src/view/com/util/Selector.tsx:106
msgid "Select {item}"
msgstr "Wähle {item}"
-#: src/view/com/auth/login/Login.tsx:117
+#: src/screens/Login/ChooseAccountForm.tsx:61
+msgid "Select account"
+msgstr ""
+
+#: src/screens/Login/index.tsx:120
msgid "Select from an existing account"
msgstr "Von einem bestehenden Konto auswählen"
+#: src/view/screens/LanguageSettings.tsx:299
+msgid "Select languages"
+msgstr ""
+
+#: src/components/ReportDialog/SelectLabelerView.tsx:30
+msgid "Select moderator"
+msgstr ""
+
#: src/view/com/util/Selector.tsx:107
msgid "Select option {i} of {numItems}"
msgstr "Wähle Option {i} von {numItems}"
#: src/view/com/auth/create/Step1.tsx:96
-#: src/view/com/auth/login/LoginForm.tsx:150
-msgid "Select service"
-msgstr "Service auswählen"
+#: src/view/com/auth/login/LoginForm.tsx:153
+#~ msgid "Select service"
+#~ msgstr "Service auswählen"
#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:52
msgid "Select some accounts below to follow"
msgstr "Wähle unten einige Konten aus, denen du folgen möchtest"
+#: src/components/ReportDialog/SubmitView.tsx:133
+msgid "Select the moderation service(s) to report to"
+msgstr ""
+
#: src/view/com/auth/server-input/index.tsx:82
msgid "Select the service that hosts your data."
msgstr "Wähle den Dienst aus, der deine Daten hostet."
-#: src/screens/Onboarding/StepTopicalFeeds.tsx:96
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:100
msgid "Select topical feeds to follow from the list below"
msgstr "Wähle aus der folgenden Liste die themenbezogenen Feeds aus, die du verfolgen möchtest"
-#: src/screens/Onboarding/StepModeration/index.tsx:75
+#: src/screens/Onboarding/StepModeration/index.tsx:63
msgid "Select what you want to see (or not see), and we’ll handle the rest."
msgstr "Wähle aus, was du sehen (oder nicht sehen) möchtest, und wir kümmern uns um den Rest."
@@ -3326,10 +4108,18 @@ msgid "Select which languages you want your subscribed feeds to include. If none
msgstr "Wähle aus, welche Sprachen deine abonnierten Feeds enthalten sollen. Wenn du keine Sprachen auswählst, werden alle Sprachen angezeigt."
#: src/view/screens/LanguageSettings.tsx:98
-msgid "Select your app language for the default text to display in the app"
-msgstr "Wählen deine App-Sprache für den Standardtext aus, der in der App angezeigt werden soll"
+#~ msgid "Select your app language for the default text to display in the app"
+#~ msgstr "Wählen deine App-Sprache für den Standardtext aus, der in der App angezeigt werden soll"
-#: src/screens/Onboarding/StepInterests/index.tsx:196
+#: src/view/screens/LanguageSettings.tsx:98
+msgid "Select your app language for the default text to display in the app."
+msgstr ""
+
+#: src/screens/Signup/StepInfo/index.tsx:135
+msgid "Select your date of birth"
+msgstr ""
+
+#: src/screens/Onboarding/StepInterests/index.tsx:200
msgid "Select your interests from the options below"
msgstr "Wähle aus den folgenden Optionen deine Interessen aus"
@@ -3337,11 +4127,11 @@ msgstr "Wähle aus den folgenden Optionen deine Interessen aus"
msgid "Select your preferred language for translations in your feed."
msgstr "Wähle deine bevorzugte Sprache für die Übersetzungen in deinem Feed aus."
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:116
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:117
msgid "Select your primary algorithmic feeds"
msgstr "Wähle deine primären algorithmischen Feeds"
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:142
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:133
msgid "Select your secondary algorithmic feeds"
msgstr "Wähle deine sekundären algorithmischen Feeds"
@@ -3350,69 +4140,82 @@ msgstr "Wähle deine sekundären algorithmischen Feeds"
msgid "Send Confirmation Email"
msgstr "Bestätigungs-E-Mail senden"
-#: src/view/com/modals/DeleteAccount.tsx:131
+#: src/view/com/modals/DeleteAccount.tsx:130
msgid "Send email"
msgstr "E-Mail senden"
-#: src/view/com/modals/DeleteAccount.tsx:144
+#: src/view/com/modals/DeleteAccount.tsx:143
msgctxt "action"
msgid "Send Email"
msgstr "E-Mail senden"
-#: src/view/shell/Drawer.tsx:295
-#: src/view/shell/Drawer.tsx:316
+#: src/view/shell/Drawer.tsx:304
+#: src/view/shell/Drawer.tsx:325
msgid "Send feedback"
msgstr "Feedback senden"
-#: src/view/com/modals/report/SendReportButton.tsx:45
-msgid "Send Report"
-msgstr "Bericht senden"
+#: src/components/ReportDialog/SubmitView.tsx:213
+#: src/components/ReportDialog/SubmitView.tsx:217
+msgid "Send report"
+msgstr ""
-#: src/view/com/modals/DeleteAccount.tsx:133
+#: src/view/com/modals/report/SendReportButton.tsx:45
+#~ msgid "Send Report"
+#~ msgstr "Bericht senden"
+
+#: src/components/ReportDialog/SelectLabelerView.tsx:44
+msgid "Send report to {0}"
+msgstr ""
+
+#: src/view/com/modals/DeleteAccount.tsx:132
msgid "Sends email with confirmation code for account deletion"
msgstr "Sendet eine E-Mail mit Bestätigungscode für die Kontolöschung"
-#: src/view/com/auth/server-input/index.tsx:110
+#: src/view/com/auth/server-input/index.tsx:114
msgid "Server address"
msgstr "Server-Adresse"
#: src/view/com/modals/ContentFilteringSettings.tsx:311
-msgid "Set {value} for {labelGroup} content moderation policy"
-msgstr "Legt {value} für die {labelGroup} Inhaltsmoderationsrichtlinie fest"
+#~ msgid "Set {value} for {labelGroup} content moderation policy"
+#~ msgstr "Legt {value} für die {labelGroup} Inhaltsmoderationsrichtlinie fest"
#: src/view/com/modals/ContentFilteringSettings.tsx:160
#: src/view/com/modals/ContentFilteringSettings.tsx:179
-msgctxt "action"
-msgid "Set Age"
-msgstr "Alter festlegen"
+#~ msgctxt "action"
+#~ msgid "Set Age"
+#~ msgstr "Alter festlegen"
+
+#: src/screens/Moderation/index.tsx:304
+msgid "Set birthdate"
+msgstr ""
#: src/view/screens/Settings/index.tsx:488
-msgid "Set color theme to dark"
-msgstr "Farbthema auf dunkel einstellen"
+#~ msgid "Set color theme to dark"
+#~ msgstr "Farbthema auf dunkel einstellen"
#: src/view/screens/Settings/index.tsx:481
-msgid "Set color theme to light"
-msgstr "Farbthema auf hell einstellen"
+#~ msgid "Set color theme to light"
+#~ msgstr "Farbthema auf hell einstellen"
#: src/view/screens/Settings/index.tsx:475
-msgid "Set color theme to system setting"
-msgstr "Farbthema auf Systemeinstellung setzen"
+#~ msgid "Set color theme to system setting"
+#~ msgstr "Farbthema auf Systemeinstellung setzen"
#: src/view/screens/Settings/index.tsx:514
-msgid "Set dark theme to the dark theme"
-msgstr "Dunkles Thema auf das dunkle Thema einstellen"
+#~ msgid "Set dark theme to the dark theme"
+#~ msgstr "Dunkles Thema auf das dunkle Thema einstellen"
#: src/view/screens/Settings/index.tsx:507
-msgid "Set dark theme to the dim theme"
-msgstr "Dunkles Thema auf das gedämpfte Thema einstellen"
+#~ msgid "Set dark theme to the dim theme"
+#~ msgstr "Dunkles Thema auf das gedämpfte Thema einstellen"
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:104
+#: src/screens/Login/SetNewPasswordForm.tsx:102
msgid "Set new password"
msgstr "Neues Passwort festlegen"
#: src/view/com/auth/create/Step1.tsx:202
-msgid "Set password"
-msgstr "Passwort festlegen"
+#~ msgid "Set password"
+#~ msgstr "Passwort festlegen"
#: src/view/screens/PreferencesFollowingFeed.tsx:225
msgid "Set this setting to \"No\" to hide all quote posts from your feed. Reposts will still be visible."
@@ -3434,32 +4237,64 @@ msgstr "Setze diese Einstellung auf \"Ja\", um Antworten in einer Thread-Ansicht
msgid "Set this setting to \"Yes\" to show samples of your saved feeds in your Following feed. This is an experimental feature."
msgstr "Setze diese Einstellung auf \"Ja\", um Beispiele für deine gespeicherten Feeds in deinem Following-Feed anzuzeigen. Dies ist eine experimentelle Funktion."
-#: src/screens/Onboarding/Layout.tsx:50
+#: src/screens/Onboarding/Layout.tsx:48
msgid "Set up your account"
msgstr "Dein Konto einrichten"
-#: src/view/com/modals/ChangeHandle.tsx:266
+#: src/view/com/modals/ChangeHandle.tsx:267
msgid "Sets Bluesky username"
msgstr "Legt deinen Bluesky-Benutzernamen fest"
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:157
+#: src/view/screens/Settings/index.tsx:458
+msgid "Sets color theme to dark"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:451
+msgid "Sets color theme to light"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:445
+msgid "Sets color theme to system setting"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:484
+msgid "Sets dark theme to the dark theme"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:477
+msgid "Sets dark theme to the dim theme"
+msgstr ""
+
+#: src/screens/Login/ForgotPasswordForm.tsx:113
msgid "Sets email for password reset"
msgstr "Legt die E-Mail für das Zurücksetzen des Passworts fest"
#: src/view/com/auth/login/ForgotPasswordForm.tsx:122
-msgid "Sets hosting provider for password reset"
-msgstr "Legt den Hosting-Anbieter für das Zurücksetzen des Passworts fest"
+#~ msgid "Sets hosting provider for password reset"
+#~ msgstr "Legt den Hosting-Anbieter für das Zurücksetzen des Passworts fest"
+
+#: src/view/com/modals/crop-image/CropImage.web.tsx:124
+msgid "Sets image aspect ratio to square"
+msgstr ""
+
+#: src/view/com/modals/crop-image/CropImage.web.tsx:114
+msgid "Sets image aspect ratio to tall"
+msgstr ""
+
+#: src/view/com/modals/crop-image/CropImage.web.tsx:104
+msgid "Sets image aspect ratio to wide"
+msgstr ""
#: src/view/com/auth/create/Step1.tsx:97
-#: src/view/com/auth/login/LoginForm.tsx:151
-msgid "Sets server for the Bluesky client"
-msgstr "Setzt den Server für den Bluesky-Client"
+#: src/view/com/auth/login/LoginForm.tsx:154
+#~ msgid "Sets server for the Bluesky client"
+#~ msgstr "Setzt den Server für den Bluesky-Client"
-#: src/Navigation.tsx:137
-#: src/view/screens/Settings/index.tsx:294
-#: src/view/shell/desktop/LeftNav.tsx:433
-#: src/view/shell/Drawer.tsx:567
-#: src/view/shell/Drawer.tsx:568
+#: src/Navigation.tsx:139
+#: src/view/screens/Settings/index.tsx:316
+#: src/view/shell/desktop/LeftNav.tsx:437
+#: src/view/shell/Drawer.tsx:576
+#: src/view/shell/Drawer.tsx:577
msgid "Settings"
msgstr "Einstellungen"
@@ -3467,28 +4302,49 @@ msgstr "Einstellungen"
msgid "Sexual activity or erotic nudity."
msgstr "Sexuelle Aktivitäten oder erotische Nacktheit."
+#: src/lib/moderation/useGlobalLabelStrings.ts:38
+msgid "Sexually Suggestive"
+msgstr ""
+
#: src/view/com/lightbox/Lightbox.tsx:141
msgctxt "action"
msgid "Share"
msgstr "Teilen"
-#: src/view/com/profile/ProfileHeader.tsx:295
-#: src/view/com/util/forms/PostDropdownBtn.tsx:231
-#: src/view/com/util/forms/PostDropdownBtn.tsx:237
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:215
-#: src/view/screens/ProfileList.tsx:418
+#: src/view/com/profile/ProfileMenu.tsx:215
+#: src/view/com/profile/ProfileMenu.tsx:224
+#: src/view/com/util/forms/PostDropdownBtn.tsx:236
+#: src/view/com/util/forms/PostDropdownBtn.tsx:245
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:237
+#: src/view/screens/ProfileList.tsx:390
msgid "Share"
msgstr "Teilen"
-#: src/view/screens/ProfileFeed.tsx:305
+#: src/view/com/profile/ProfileMenu.tsx:373
+#: src/view/com/util/forms/PostDropdownBtn.tsx:369
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:253
+msgid "Share anyway"
+msgstr ""
+
+#: src/view/screens/ProfileFeed.tsx:373
+#: src/view/screens/ProfileFeed.tsx:375
msgid "Share feed"
msgstr "Feed teilen"
-#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:43
-#: src/view/com/modals/ContentFilteringSettings.tsx:266
-#: src/view/com/util/moderation/ContentHider.tsx:107
-#: src/view/com/util/moderation/PostHider.tsx:108
-#: src/view/screens/Settings/index.tsx:344
+#: src/view/com/modals/LinkWarning.tsx:89
+#: src/view/com/modals/LinkWarning.tsx:95
+msgid "Share Link"
+msgstr ""
+
+#: src/view/com/modals/LinkWarning.tsx:92
+msgid "Shares the linked website"
+msgstr ""
+
+#: src/components/moderation/ContentHider.tsx:115
+#: src/components/moderation/LabelPreference.tsx:136
+#: src/components/moderation/PostHider.tsx:107
+#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:54
+#: src/view/screens/Settings/index.tsx:366
msgid "Show"
msgstr "Anzeigen"
@@ -3496,21 +4352,31 @@ msgstr "Anzeigen"
msgid "Show all replies"
msgstr "Alle Antworten anzeigen"
-#: src/view/com/util/moderation/ScreenHider.tsx:132
+#: src/components/moderation/ScreenHider.tsx:169
+#: src/components/moderation/ScreenHider.tsx:172
msgid "Show anyway"
msgstr "Trotzdem anzeigen"
-#: src/view/com/modals/EmbedConsent.tsx:87
-msgid "Show embeds from {0}"
-msgstr "Eingebettete Medien von {0} anzeigen"
+#: src/lib/moderation/useLabelBehaviorDescription.ts:27
+#: src/lib/moderation/useLabelBehaviorDescription.ts:63
+msgid "Show badge"
+msgstr ""
-#: src/view/com/profile/ProfileHeader.tsx:459
+#: src/lib/moderation/useLabelBehaviorDescription.ts:61
+msgid "Show badge and filter from feeds"
+msgstr ""
+
+#: src/view/com/modals/EmbedConsent.tsx:87
+#~ msgid "Show embeds from {0}"
+#~ msgstr "Eingebettete Medien von {0} anzeigen"
+
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:200
msgid "Show follows similar to {0}"
msgstr "Zeige ähnliche Konten wie {0}"
-#: src/view/com/post-thread/PostThreadItem.tsx:538
-#: src/view/com/post/Post.tsx:198
-#: src/view/com/posts/FeedItem.tsx:363
+#: src/view/com/post-thread/PostThreadItem.tsx:501
+#: src/view/com/post/Post.tsx:212
+#: src/view/com/posts/FeedItem.tsx:360
msgid "Show More"
msgstr "Mehr anzeigen"
@@ -3522,15 +4388,15 @@ msgstr "Beiträge aus meinen Feeds anzeigen"
msgid "Show Quote Posts"
msgstr "Zitierte Beiträge anzeigen"
-#: src/screens/Onboarding/StepFollowingFeed.tsx:118
+#: src/screens/Onboarding/StepFollowingFeed.tsx:119
msgid "Show quote-posts in Following feed"
msgstr "Zitierte Beiträge im Following Feed anzeigen"
-#: src/screens/Onboarding/StepFollowingFeed.tsx:134
+#: src/screens/Onboarding/StepFollowingFeed.tsx:135
msgid "Show quotes in Following"
msgstr "Zitierte Beiträge im Following Feed anzeigen"
-#: src/screens/Onboarding/StepFollowingFeed.tsx:94
+#: src/screens/Onboarding/StepFollowingFeed.tsx:95
msgid "Show re-posts in Following feed"
msgstr "Reposts im Following-Feed anzeigen"
@@ -3542,11 +4408,11 @@ msgstr "Antworten anzeigen"
msgid "Show replies by people you follow before all other replies."
msgstr "Zeige Antworten von Personen, denen du folgst, vor allen anderen Antworten an."
-#: src/screens/Onboarding/StepFollowingFeed.tsx:86
+#: src/screens/Onboarding/StepFollowingFeed.tsx:87
msgid "Show replies in Following"
msgstr "Antworten in folgendem Feed anzeigen"
-#: src/screens/Onboarding/StepFollowingFeed.tsx:70
+#: src/screens/Onboarding/StepFollowingFeed.tsx:71
msgid "Show replies in Following feed"
msgstr "Antworten in folgendem Feed anzeigen"
@@ -3558,107 +4424,127 @@ msgstr "Antworten mit mindestens {value} {0} anzeigen"
msgid "Show Reposts"
msgstr "Reposts anzeigen"
-#: src/screens/Onboarding/StepFollowingFeed.tsx:110
+#: src/screens/Onboarding/StepFollowingFeed.tsx:111
msgid "Show reposts in Following"
msgstr "Reposts im Following-Feed anzeigen"
-#: src/view/com/util/moderation/ContentHider.tsx:67
-#: src/view/com/util/moderation/PostHider.tsx:61
+#: src/components/moderation/ContentHider.tsx:68
+#: src/components/moderation/PostHider.tsx:64
msgid "Show the content"
msgstr "Den Inhalt anzeigen"
-#: src/view/com/notifications/FeedItem.tsx:347
+#: src/view/com/notifications/FeedItem.tsx:353
msgid "Show users"
msgstr "Nutzer anzeigen"
-#: src/view/com/profile/ProfileHeader.tsx:462
-msgid "Shows a list of users similar to this user."
-msgstr "Zeigt eine Liste von Benutzern, die diesem Benutzer ähnlich sind."
+#: src/lib/moderation/useLabelBehaviorDescription.ts:58
+msgid "Show warning"
+msgstr ""
-#: src/view/com/post-thread/PostThreadFollowBtn.tsx:124
-#: src/view/com/profile/ProfileHeader.tsx:506
+#: src/lib/moderation/useLabelBehaviorDescription.ts:56
+msgid "Show warning and filter from feeds"
+msgstr ""
+
+#: src/view/com/profile/ProfileHeader.tsx:462
+#~ msgid "Shows a list of users similar to this user."
+#~ msgstr "Zeigt eine Liste von Benutzern, die diesem Benutzer ähnlich sind."
+
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:130
msgid "Shows posts from {0} in your feed"
msgstr "Zeigt Beiträge von {0} in deinem Feed"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:70
-#: src/view/com/auth/login/Login.tsx:98
-#: src/view/com/auth/SplashScreen.tsx:79
-#: src/view/shell/bottom-bar/BottomBar.tsx:285
-#: src/view/shell/bottom-bar/BottomBar.tsx:286
-#: src/view/shell/bottom-bar/BottomBar.tsx:288
+#: src/components/dialogs/Signin.tsx:97
+#: src/components/dialogs/Signin.tsx:99
+#: src/screens/Login/index.tsx:100
+#: src/screens/Login/index.tsx:119
+#: src/screens/Login/LoginForm.tsx:131
+#: src/view/com/auth/SplashScreen.tsx:63
+#: src/view/com/auth/SplashScreen.tsx:72
+#: src/view/com/auth/SplashScreen.web.tsx:107
+#: src/view/com/auth/SplashScreen.web.tsx:116
+#: src/view/shell/bottom-bar/BottomBar.tsx:301
+#: src/view/shell/bottom-bar/BottomBar.tsx:302
+#: src/view/shell/bottom-bar/BottomBar.tsx:304
#: src/view/shell/bottom-bar/BottomBarWeb.tsx:178
#: src/view/shell/bottom-bar/BottomBarWeb.tsx:179
#: src/view/shell/bottom-bar/BottomBarWeb.tsx:181
-#: src/view/shell/NavSignupCard.tsx:58
-#: src/view/shell/NavSignupCard.tsx:59
+#: src/view/shell/NavSignupCard.tsx:63
+#: src/view/shell/NavSignupCard.tsx:64
+#: src/view/shell/NavSignupCard.tsx:66
msgid "Sign in"
msgstr "Anmelden"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:78
-#: src/view/com/auth/SplashScreen.tsx:82
+#: src/view/com/auth/HomeLoggedOutCTA.tsx:82
+#: src/view/com/auth/SplashScreen.tsx:86
#: src/view/com/auth/SplashScreen.web.tsx:91
-msgid "Sign In"
-msgstr "Anmelden"
+#~ msgid "Sign In"
+#~ msgstr "Anmelden"
-#: src/view/com/auth/login/ChooseAccountForm.tsx:44
+#: src/components/AccountList.tsx:109
msgid "Sign in as {0}"
msgstr "Anmelden als {0}"
-#: src/view/com/auth/login/ChooseAccountForm.tsx:118
-#: src/view/com/auth/login/Login.tsx:116
+#: src/screens/Login/ChooseAccountForm.tsx:64
msgid "Sign in as..."
msgstr "Anmelden als..."
-#: src/view/com/auth/login/LoginForm.tsx:137
-msgid "Sign into"
-msgstr "Anmelden bei"
+#: src/components/dialogs/Signin.tsx:75
+msgid "Sign in or create your account to join the conversation!"
+msgstr ""
-#: src/view/com/modals/SwitchAccount.tsx:64
-#: src/view/com/modals/SwitchAccount.tsx:69
-#: src/view/screens/Settings/index.tsx:100
-#: src/view/screens/Settings/index.tsx:103
+#: src/view/com/auth/login/LoginForm.tsx:140
+#~ msgid "Sign into"
+#~ msgstr "Anmelden bei"
+
+#: src/components/dialogs/Signin.tsx:46
+msgid "Sign into Bluesky or create a new account"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:118
+#: src/view/screens/Settings/index.tsx:121
msgid "Sign out"
msgstr "Abmelden"
-#: src/view/shell/bottom-bar/BottomBar.tsx:275
-#: src/view/shell/bottom-bar/BottomBar.tsx:276
-#: src/view/shell/bottom-bar/BottomBar.tsx:278
+#: src/view/shell/bottom-bar/BottomBar.tsx:291
+#: src/view/shell/bottom-bar/BottomBar.tsx:292
+#: src/view/shell/bottom-bar/BottomBar.tsx:294
#: src/view/shell/bottom-bar/BottomBarWeb.tsx:168
#: src/view/shell/bottom-bar/BottomBarWeb.tsx:169
#: src/view/shell/bottom-bar/BottomBarWeb.tsx:171
-#: src/view/shell/NavSignupCard.tsx:49
-#: src/view/shell/NavSignupCard.tsx:50
-#: src/view/shell/NavSignupCard.tsx:52
+#: src/view/shell/NavSignupCard.tsx:54
+#: src/view/shell/NavSignupCard.tsx:55
+#: src/view/shell/NavSignupCard.tsx:57
msgid "Sign up"
msgstr "Registrieren"
-#: src/view/shell/NavSignupCard.tsx:42
+#: src/view/shell/NavSignupCard.tsx:47
msgid "Sign up or sign in to join the conversation"
msgstr "Registriere dich oder melden dich an, um an der Diskussion teilzunehmen"
-#: src/view/com/util/moderation/ScreenHider.tsx:76
+#: src/components/moderation/ScreenHider.tsx:97
+#: src/lib/moderation/useGlobalLabelStrings.ts:28
msgid "Sign-in Required"
msgstr "Anmelden erforderlich"
-#: src/view/screens/Settings/index.tsx:355
+#: src/view/screens/Settings/index.tsx:377
msgid "Signed in as"
msgstr "Angemeldet als"
-#: src/view/com/auth/login/ChooseAccountForm.tsx:103
+#: src/screens/Login/ChooseAccountForm.tsx:48
msgid "Signed in as @{0}"
msgstr "Angemeldet als @{0}"
-#: src/view/com/modals/SwitchAccount.tsx:66
-msgid "Signs {0} out of Bluesky"
-msgstr "Meldet {0} von Bluesky ab"
+#: src/view/com/modals/SwitchAccount.tsx:70
+#~ msgid "Signs {0} out of Bluesky"
+#~ msgstr "Meldet {0} von Bluesky ab"
-#: src/screens/Onboarding/StepInterests/index.tsx:235
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:195
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:33
+#: src/screens/Onboarding/StepInterests/index.tsx:239
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:203
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:35
msgid "Skip"
msgstr "Überspringen"
-#: src/screens/Onboarding/StepInterests/index.tsx:232
+#: src/screens/Onboarding/StepInterests/index.tsx:236
msgid "Skip this flow"
msgstr "Diesen Schritt überspringen"
@@ -3666,11 +4552,17 @@ msgstr "Diesen Schritt überspringen"
msgid "Software Dev"
msgstr "Software-Entwicklung"
-#: src/components/Lists.tsx:203
-msgid "Something went wrong!"
-msgstr "Es ist ein Fehler aufgetreten."
+#: src/components/ReportDialog/index.tsx:59
+#: src/screens/Moderation/index.tsx:114
+#: src/screens/Profile/Sections/Labels.tsx:87
+msgid "Something went wrong, please try again."
+msgstr ""
-#: src/App.native.tsx:66
+#: src/components/Lists.tsx:203
+#~ msgid "Something went wrong!"
+#~ msgstr "Es ist ein Fehler aufgetreten."
+
+#: src/App.native.tsx:64
msgid "Sorry! Your session expired. Please log in again."
msgstr "Entschuldigung! Deine Sitzung ist abgelaufen. Bitte logge dich erneut ein."
@@ -3682,53 +4574,82 @@ msgstr "Antworten sortieren"
msgid "Sort replies to the same post by:"
msgstr "Antworten auf denselben Beitrag sortieren nach:"
+#: src/components/moderation/LabelsOnMeDialog.tsx:146
+msgid "Source:"
+msgstr ""
+
+#: src/lib/moderation/useReportOptions.ts:65
+msgid "Spam"
+msgstr ""
+
+#: src/lib/moderation/useReportOptions.ts:53
+msgid "Spam; excessive mentions or replies"
+msgstr ""
+
#: src/screens/Onboarding/index.tsx:30
msgid "Sports"
msgstr "Sport"
-#: src/view/com/modals/crop-image/CropImage.web.tsx:122
+#: src/view/com/modals/crop-image/CropImage.web.tsx:123
msgid "Square"
msgstr "Quadratische"
-#: src/view/screens/Settings/index.tsx:871
+#: src/view/screens/Settings/index.tsx:867
msgid "Status page"
msgstr "Status-Seite"
-#: src/view/com/auth/create/StepHeader.tsx:22
-msgid "Step {0} of {numSteps}"
-msgstr "Schritt {0} von {numSteps}"
+#: src/screens/Signup/index.tsx:143
+msgid "Step"
+msgstr ""
-#: src/view/screens/Settings/index.tsx:274
+#: src/view/com/auth/create/StepHeader.tsx:22
+#~ msgid "Step {0} of {numSteps}"
+#~ msgstr "Schritt {0} von {numSteps}"
+
+#: src/view/screens/Settings/index.tsx:295
msgid "Storage cleared, you need to restart the app now."
msgstr "Der Speicher wurde gelöscht, du musst die App jetzt neu starten."
-#: src/Navigation.tsx:204
-#: src/view/screens/Settings/index.tsx:807
+#: src/Navigation.tsx:211
+#: src/view/screens/Settings/index.tsx:795
msgid "Storybook"
msgstr "Geschichtenbuch"
-#: src/view/com/modals/AppealLabel.tsx:101
+#: src/components/moderation/LabelsOnMeDialog.tsx:255
+#: src/components/moderation/LabelsOnMeDialog.tsx:256
msgid "Submit"
msgstr "Einreichen"
-#: src/view/screens/ProfileList.tsx:608
+#: src/view/screens/ProfileList.tsx:592
msgid "Subscribe"
msgstr "Abonnieren"
-#: src/screens/Onboarding/StepAlgoFeeds/FeedCard.tsx:173
-#: src/screens/Onboarding/StepAlgoFeeds/FeedCard.tsx:308
+#: src/screens/Profile/Sections/Labels.tsx:191
+msgid "Subscribe to @{0} to use these labels:"
+msgstr ""
+
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:227
+msgid "Subscribe to Labeler"
+msgstr ""
+
+#: src/screens/Onboarding/StepAlgoFeeds/FeedCard.tsx:172
+#: src/screens/Onboarding/StepAlgoFeeds/FeedCard.tsx:307
msgid "Subscribe to the {0} feed"
msgstr "Abonniere den {0} Feed"
-#: src/view/screens/ProfileList.tsx:604
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:191
+msgid "Subscribe to this labeler"
+msgstr ""
+
+#: src/view/screens/ProfileList.tsx:588
msgid "Subscribe to this list"
msgstr "Abonniere diese Liste"
-#: src/view/screens/Search/Search.tsx:374
+#: src/view/screens/Search/Search.tsx:523
msgid "Suggested Follows"
msgstr "Vorgeschlagene Follower"
-#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:64
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:65
msgid "Suggested for you"
msgstr "Vorgeschlagen für dich"
@@ -3736,35 +4657,34 @@ msgstr "Vorgeschlagen für dich"
msgid "Suggestive"
msgstr "Suggestiv"
-#: src/Navigation.tsx:214
+#: src/Navigation.tsx:226
#: src/view/screens/Support.tsx:30
#: src/view/screens/Support.tsx:33
msgid "Support"
msgstr "Support"
-#: src/view/com/modals/SwitchAccount.tsx:117
+#: src/components/dialogs/SwitchAccount.tsx:46
+#: src/components/dialogs/SwitchAccount.tsx:49
msgid "Switch Account"
msgstr "Konto wechseln"
-#: src/view/com/modals/SwitchAccount.tsx:97
-#: src/view/screens/Settings/index.tsx:130
+#: src/view/screens/Settings/index.tsx:150
msgid "Switch to {0}"
msgstr "Wechseln zu {0}"
-#: src/view/com/modals/SwitchAccount.tsx:98
-#: src/view/screens/Settings/index.tsx:131
+#: src/view/screens/Settings/index.tsx:151
msgid "Switches the account you are logged in to"
msgstr "Wechselt das Konto, in das du eingeloggt bist"
-#: src/view/screens/Settings/index.tsx:472
+#: src/view/screens/Settings/index.tsx:442
msgid "System"
msgstr "System"
-#: src/view/screens/Settings/index.tsx:795
+#: src/view/screens/Settings/index.tsx:783
msgid "System log"
msgstr "Systemprotokoll"
-#: src/components/dialogs/MutedWords.tsx:337
+#: src/components/dialogs/MutedWords.tsx:323
msgid "tag"
msgstr "Tag"
@@ -3772,7 +4692,7 @@ msgstr "Tag"
msgid "Tag menu: {displayTag}"
msgstr "Tag-Menü: {displayTag}"
-#: src/view/com/modals/crop-image/CropImage.web.tsx:112
+#: src/view/com/modals/crop-image/CropImage.web.tsx:113
msgid "Tall"
msgstr "Groß"
@@ -3788,30 +4708,49 @@ msgstr "Technik"
msgid "Terms"
msgstr "Bedingungen"
-#: src/Navigation.tsx:224
-#: src/view/screens/Settings/index.tsx:885
+#: src/Navigation.tsx:236
+#: src/screens/Signup/StepInfo/Policies.tsx:49
+#: src/view/screens/Settings/index.tsx:881
#: src/view/screens/TermsOfService.tsx:29
-#: src/view/shell/Drawer.tsx:256
+#: src/view/shell/Drawer.tsx:265
msgid "Terms of Service"
msgstr "Nutzungsbedingungen"
-#: src/components/dialogs/MutedWords.tsx:337
+#: src/lib/moderation/useReportOptions.ts:58
+#: src/lib/moderation/useReportOptions.ts:79
+#: src/lib/moderation/useReportOptions.ts:87
+msgid "Terms used violate community standards"
+msgstr ""
+
+#: src/components/dialogs/MutedWords.tsx:323
msgid "text"
msgstr "Text"
-#: src/view/com/modals/AppealLabel.tsx:70
-#: src/view/com/modals/report/InputIssueDetails.tsx:51
+#: src/components/moderation/LabelsOnMeDialog.tsx:219
msgid "Text input field"
msgstr "Text-Eingabefeld"
-#: src/view/com/auth/create/CreateAccount.tsx:94
+#: src/components/ReportDialog/SubmitView.tsx:76
+msgid "Thank you. Your report has been sent."
+msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:465
+msgid "That contains the following:"
+msgstr ""
+
+#: src/screens/Signup/index.tsx:85
msgid "That handle is already taken."
msgstr "Dieser Handle ist bereits besetzt."
-#: src/view/com/profile/ProfileHeader.tsx:263
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:282
+#: src/view/com/profile/ProfileMenu.tsx:349
msgid "The account will be able to interact with you after unblocking."
msgstr "Das Konto kann nach der Entblockiert mit dir interagieren."
+#: src/components/moderation/ModerationDetailsDialog.tsx:127
+msgid "the author"
+msgstr ""
+
#: src/view/screens/CommunityGuidelines.tsx:36
msgid "The Community Guidelines have been moved to <0/>"
msgstr "Die Community-Richtlinien wurden nach <0/> verschoben"
@@ -3820,11 +4759,20 @@ msgstr "Die Community-Richtlinien wurden nach <0/> verschoben"
msgid "The Copyright Policy has been moved to <0/>"
msgstr "Die Copyright-Richtlinie wurde nach <0/> verschoben"
-#: src/screens/Onboarding/Layout.tsx:60
+#: src/components/moderation/LabelsOnMeDialog.tsx:48
+msgid "The following labels were applied to your account."
+msgstr ""
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:49
+msgid "The following labels were applied to your content."
+msgstr ""
+
+#: src/screens/Onboarding/Layout.tsx:58
msgid "The following steps will help customize your Bluesky experience."
msgstr "Die folgenden Schritte helfen dir, dein Bluesky-Erlebnis anzupassen."
-#: src/view/com/post-thread/PostThread.tsx:517
+#: src/view/com/post-thread/PostThread.tsx:153
+#: src/view/com/post-thread/PostThread.tsx:165
msgid "The post may have been deleted."
msgstr "Möglicherweise wurde der Post gelöscht."
@@ -3840,35 +4788,35 @@ msgstr "Das Support-Formular wurde verschoben. Wenn du Hilfe benötigst, wende d
msgid "The Terms of Service have been moved to"
msgstr "Die Allgemeinen Geschäftsbedingungen wurden verschoben nach"
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:150
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:141
msgid "There are many feeds to try:"
msgstr "Es gibt viele Feeds zum Ausprobieren:"
-#: src/view/screens/ProfileFeed.tsx:550
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:114
+#: src/view/screens/ProfileFeed.tsx:556
msgid "There was an an issue contacting the server, please check your internet connection and try again."
msgstr "Es gab ein Problem bei der Kontaktaufnahme mit dem Server. Bitte überprüfe deine Internetverbindung und versuche es erneut."
-#: src/view/com/posts/FeedErrorMessage.tsx:139
+#: src/view/com/posts/FeedErrorMessage.tsx:138
msgid "There was an an issue removing this feed. Please check your internet connection and try again."
msgstr "Es gab ein Problem beim Entfernen dieses Feeds. Bitte überprüfe deine Internetverbindung und versuche es erneut."
-#: src/view/screens/ProfileFeed.tsx:210
+#: src/view/screens/ProfileFeed.tsx:219
msgid "There was an an issue updating your feeds, please check your internet connection and try again."
msgstr "Es gab ein Problem bei der Aktualisierung deines Feeds. Bitte überprüfe deine Internetverbindung und versuche es erneut."
-#: src/view/screens/ProfileFeed.tsx:237
-#: src/view/screens/ProfileList.tsx:267
-#: src/view/screens/SavedFeeds.tsx:209
-#: src/view/screens/SavedFeeds.tsx:231
-#: src/view/screens/SavedFeeds.tsx:252
+#: src/view/screens/ProfileFeed.tsx:247
+#: src/view/screens/ProfileList.tsx:277
+#: src/view/screens/SavedFeeds.tsx:211
+#: src/view/screens/SavedFeeds.tsx:241
+#: src/view/screens/SavedFeeds.tsx:262
msgid "There was an issue contacting the server"
msgstr "Es gab ein Problem bei der Kontaktaufnahme mit dem Server"
#: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:57
#: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:66
-#: src/view/com/feeds/FeedSourceCard.tsx:115
-#: src/view/com/feeds/FeedSourceCard.tsx:129
-#: src/view/com/feeds/FeedSourceCard.tsx:183
+#: src/view/com/feeds/FeedSourceCard.tsx:110
+#: src/view/com/feeds/FeedSourceCard.tsx:123
msgid "There was an issue contacting your server"
msgstr "Es gab ein Problem bei der Kontaktaufnahme mit deinem Server"
@@ -3876,7 +4824,7 @@ msgstr "Es gab ein Problem bei der Kontaktaufnahme mit deinem Server"
msgid "There was an issue fetching notifications. Tap here to try again."
msgstr "Es gab ein Problem beim Abrufen von Mitteilungen. Tippe hier, um es erneut zu versuchen."
-#: src/view/com/posts/Feed.tsx:265
+#: src/view/com/posts/Feed.tsx:287
msgid "There was an issue fetching posts. Tap here to try again."
msgstr "Es gab ein Problem beim Abrufen der Beiträge. Tippe hier, um es erneut zu versuchen."
@@ -3884,39 +4832,45 @@ msgstr "Es gab ein Problem beim Abrufen der Beiträge. Tippe hier, um es erneut
msgid "There was an issue fetching the list. Tap here to try again."
msgstr "Es gab ein Problem beim Abrufen der Liste. Tippe hier, um es erneut zu versuchen."
-#: src/view/com/feeds/ProfileFeedgens.tsx:148
-#: src/view/com/lists/ProfileLists.tsx:155
+#: src/view/com/feeds/ProfileFeedgens.tsx:156
+#: src/view/com/lists/ProfileLists.tsx:163
msgid "There was an issue fetching your lists. Tap here to try again."
msgstr "Es gab ein Problem beim Abrufen deiner Listen. Tippe hier, um es erneut zu versuchen."
-#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:63
-#: src/view/com/modals/ContentFilteringSettings.tsx:126
+#: src/components/ReportDialog/SubmitView.tsx:81
+msgid "There was an issue sending your report. Please check your internet connection."
+msgstr ""
+
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:65
msgid "There was an issue syncing your preferences with the server"
msgstr "Es gab ein Problem bei der Synchronisierung deiner Einstellungen mit dem Server"
-#: src/view/screens/AppPasswords.tsx:66
+#: src/view/screens/AppPasswords.tsx:68
msgid "There was an issue with fetching your app passwords"
msgstr "Es gab ein Problem beim Abrufen deiner App-Passwörter"
-#: src/view/com/post-thread/PostThreadFollowBtn.tsx:93
-#: src/view/com/post-thread/PostThreadFollowBtn.tsx:105
-#: src/view/com/profile/ProfileHeader.tsx:157
-#: src/view/com/profile/ProfileHeader.tsx:178
-#: src/view/com/profile/ProfileHeader.tsx:217
-#: src/view/com/profile/ProfileHeader.tsx:230
-#: src/view/com/profile/ProfileHeader.tsx:250
-#: src/view/com/profile/ProfileHeader.tsx:272
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:105
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:127
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:141
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:99
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:111
+#: src/view/com/profile/ProfileMenu.tsx:106
+#: src/view/com/profile/ProfileMenu.tsx:117
+#: src/view/com/profile/ProfileMenu.tsx:132
+#: src/view/com/profile/ProfileMenu.tsx:143
+#: src/view/com/profile/ProfileMenu.tsx:157
+#: src/view/com/profile/ProfileMenu.tsx:170
msgid "There was an issue! {0}"
msgstr "Es gab ein Problem! {0}"
-#: src/view/screens/ProfileList.tsx:288
-#: src/view/screens/ProfileList.tsx:307
-#: src/view/screens/ProfileList.tsx:329
-#: src/view/screens/ProfileList.tsx:348
+#: src/view/screens/ProfileList.tsx:290
+#: src/view/screens/ProfileList.tsx:304
+#: src/view/screens/ProfileList.tsx:318
+#: src/view/screens/ProfileList.tsx:332
msgid "There was an issue. Please check your internet connection and try again."
msgstr "Es ist ein Problem aufgetreten. Bitte überprüfe deine Internetverbindung und versuche es erneut."
-#: src/view/com/util/ErrorBoundary.tsx:36
+#: src/view/com/util/ErrorBoundary.tsx:51
msgid "There was an unexpected issue in the application. Please let us know if this happened to you!"
msgstr "Es gab ein unerwartetes Problem in der Anwendung. Bitte teile uns mit, wenn dies bei dir der Fall ist!"
@@ -3924,23 +4878,36 @@ msgstr "Es gab ein unerwartetes Problem in der Anwendung. Bitte teile uns mit, w
msgid "There's been a rush of new users to Bluesky! We'll activate your account as soon as we can."
msgstr "Es gab einen Ansturm neuer Nutzer auf Bluesky! Wir werden dein Konto so schnell wie möglich aktivieren."
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:138
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:146
msgid "These are popular accounts you might like:"
msgstr "Dies sind beliebte Konten, die dir gefallen könnten:"
-#: src/view/com/util/moderation/ScreenHider.tsx:88
+#: src/components/moderation/ScreenHider.tsx:116
msgid "This {screenDescription} has been flagged:"
msgstr "Diese {screenDescription} wurde gekennzeichnet:"
-#: src/view/com/util/moderation/ScreenHider.tsx:83
+#: src/components/moderation/ScreenHider.tsx:111
msgid "This account has requested that users sign in to view their profile."
msgstr "Dieses Konto hat die Benutzer aufgefordert, sich anzumelden, um dein Profil zu sehen."
-#: src/view/com/modals/EmbedConsent.tsx:68
+#: src/components/moderation/LabelsOnMeDialog.tsx:204
+msgid "This appeal will be sent to <0>{0}0>."
+msgstr ""
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:19
+msgid "This content has been hidden by the moderators."
+msgstr ""
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:24
+msgid "This content has received a general warning from moderators."
+msgstr ""
+
+#: src/components/dialogs/EmbedConsent.tsx:64
msgid "This content is hosted by {0}. Do you want to enable external media?"
msgstr "Dieser Inhalt wird von {0} gehostet. Möchtest du externe Medien aktivieren?"
-#: src/view/com/modals/ModerationDetails.tsx:67
+#: src/components/moderation/ModerationDetailsDialog.tsx:77
+#: src/lib/moderation/useModerationCauseDescription.ts:77
msgid "This content is not available because one of the users involved has blocked the other."
msgstr "Dieser Inhalt ist nicht verfügbar, weil einer der beteiligten Nutzer den anderen blockiert hat."
@@ -3949,16 +4916,20 @@ msgid "This content is not viewable without a Bluesky account."
msgstr "Dieser Inhalt ist ohne ein Bluesky-Konto nicht sichtbar."
#: src/view/screens/Settings/ExportCarDialog.tsx:75
-msgid "This feature is in beta. You can read more about repository exports in <0>this blogpost.0>"
-msgstr "Diese Funktion befindet sich in der Beta-Phase. Du kannst mehr über Kontodepot-Exporte in <0>diesem Blogpost lesen.0>"
+#~ msgid "This feature is in beta. You can read more about repository exports in <0>this blogpost.0>"
+#~ msgstr "Diese Funktion befindet sich in der Beta-Phase. Du kannst mehr über Kontodepot-Exporte in <0>diesem Blogpost lesen.0>"
+
+#: src/view/screens/Settings/ExportCarDialog.tsx:75
+msgid "This feature is in beta. You can read more about repository exports in <0>this blogpost0>."
+msgstr ""
#: src/view/com/posts/FeedErrorMessage.tsx:114
msgid "This feed is currently receiving high traffic and is temporarily unavailable. Please try again later."
msgstr "Dieser Feed wird derzeit stark frequentiert und ist vorübergehend nicht verfügbar. Bitte versuche es später erneut."
-#: src/view/screens/Profile.tsx:420
-#: src/view/screens/ProfileFeed.tsx:476
-#: src/view/screens/ProfileList.tsx:661
+#: src/screens/Profile/Sections/Feed.tsx:59
+#: src/view/screens/ProfileFeed.tsx:488
+#: src/view/screens/ProfileList.tsx:677
msgid "This feed is empty!"
msgstr "Dieser Feed ist leer!"
@@ -3966,7 +4937,7 @@ msgstr "Dieser Feed ist leer!"
msgid "This feed is empty! You may need to follow more users or tune your language settings."
msgstr "Dieser Feed ist leer! Möglicherweise musst du mehr Benutzern folgen oder deine Spracheinstellungen anpassen."
-#: src/view/com/modals/BirthDateSettings.tsx:61
+#: src/components/dialogs/BirthDateSettings.tsx:41
msgid "This information is not shared with other users."
msgstr "Diese Informationen werden nicht an andere Nutzer weitergegeben."
@@ -3974,15 +4945,27 @@ msgstr "Diese Informationen werden nicht an andere Nutzer weitergegeben."
msgid "This is important in case you ever need to change your email or reset your password."
msgstr "Das ist wichtig für den Fall, dass du mal deine E-Mail ändern oder dein Passwort zurücksetzen musst."
-#: src/view/com/modals/LinkWarning.tsx:58
+#: src/components/moderation/ModerationDetailsDialog.tsx:124
+msgid "This label was applied by {0}."
+msgstr ""
+
+#: src/screens/Profile/Sections/Labels.tsx:178
+msgid "This labeler hasn't declared what labels it publishes, and may not be active."
+msgstr ""
+
+#: src/view/com/modals/LinkWarning.tsx:72
msgid "This link is taking you to the following website:"
msgstr "Dieser Link führt dich auf die folgende Website:"
-#: src/view/screens/ProfileList.tsx:839
+#: src/view/screens/ProfileList.tsx:855
msgid "This list is empty!"
msgstr "Diese Liste ist leer!"
-#: src/view/com/modals/AddAppPasswords.tsx:106
+#: src/screens/Profile/ErrorState.tsx:40
+msgid "This moderation service is unavailable. See below for more details. If this issue persists, contact us."
+msgstr ""
+
+#: src/view/com/modals/AddAppPasswords.tsx:107
msgid "This name is already in use"
msgstr "Dieser Name ist bereits in Gebrauch"
@@ -3990,32 +4973,78 @@ msgstr "Dieser Name ist bereits in Gebrauch"
msgid "This post has been deleted."
msgstr "Dieser Beitrag wurde gelöscht."
-#: src/view/com/modals/ModerationDetails.tsx:62
+#: src/view/com/util/forms/PostDropdownBtn.tsx:366
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:250
+msgid "This post is only visible to logged-in users. It won't be visible to people who aren't logged in."
+msgstr ""
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:348
+msgid "This post will be hidden from feeds."
+msgstr ""
+
+#: src/view/com/profile/ProfileMenu.tsx:370
+msgid "This profile is only visible to logged-in users. It won't be visible to people who aren't logged in."
+msgstr ""
+
+#: src/screens/Signup/StepInfo/Policies.tsx:37
+msgid "This service has not provided terms of service or a privacy policy."
+msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:445
+msgid "This should create a domain record at:"
+msgstr ""
+
+#: src/view/com/profile/ProfileFollowers.tsx:87
+msgid "This user doesn't have any followers."
+msgstr ""
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:72
+#: src/lib/moderation/useModerationCauseDescription.ts:68
msgid "This user has blocked you. You cannot view their content."
msgstr "Dieser Benutzer hat dich blockiert. Du kannst deren Inhalte nicht sehen."
+#: src/lib/moderation/useGlobalLabelStrings.ts:30
+msgid "This user has requested that their content only be shown to signed-in users."
+msgstr ""
+
#: src/view/com/modals/ModerationDetails.tsx:42
-msgid "This user is included in the <0/> list which you have blocked."
-msgstr "Dieser Benutzer ist in der Liste <0/> enthalten, die du blockiert hast."
+#~ msgid "This user is included in the <0/> list which you have blocked."
+#~ msgstr "Dieser Benutzer ist in der Liste <0/> enthalten, die du blockiert hast."
#: src/view/com/modals/ModerationDetails.tsx:74
-msgid "This user is included in the <0/> list which you have muted."
-msgstr "Dieser Benutzer ist in der Liste <0/> enthalten, die du stummgeschaltet haben."
+#~ msgid "This user is included in the <0/> list which you have muted."
+#~ msgstr "Dieser Benutzer ist in der Liste <0/> enthalten, die du stummgeschaltet haben."
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:55
+msgid "This user is included in the <0>{0}0> list which you have blocked."
+msgstr ""
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:84
+msgid "This user is included in the <0>{0}0> list which you have muted."
+msgstr ""
+
+#: src/view/com/profile/ProfileFollows.tsx:87
+msgid "This user isn't following anyone."
+msgstr ""
#: src/view/com/modals/SelfLabel.tsx:137
msgid "This warning is only available for posts with media attached."
msgstr "Diese Warnung ist nur für Beiträge mit angehängten Medien verfügbar."
-#: src/components/dialogs/MutedWords.tsx:285
+#: src/components/dialogs/MutedWords.tsx:283
msgid "This will delete {0} from your muted words. You can always add it back later."
msgstr "Dies wird {0} aus deinen stummgeschalteten Wörtern löschen. Du kannst es später jederzeit wieder hinzufügen."
#: src/view/com/util/forms/PostDropdownBtn.tsx:282
-msgid "This will hide this post from your feeds."
-msgstr "Dadurch wird dieser Beitrag aus deinen Feeds ausgeblendet."
+#~ msgid "This will hide this post from your feeds."
+#~ msgstr "Dadurch wird dieser Beitrag aus deinen Feeds ausgeblendet."
+
+#: src/view/screens/Settings/index.tsx:525
+msgid "Thread preferences"
+msgstr ""
#: src/view/screens/PreferencesThreads.tsx:53
-#: src/view/screens/Settings/index.tsx:565
+#: src/view/screens/Settings/index.tsx:535
msgid "Thread Preferences"
msgstr "Thread-Einstellungen"
@@ -4023,11 +5052,15 @@ msgstr "Thread-Einstellungen"
msgid "Threaded Mode"
msgstr "Gewindemodus"
-#: src/Navigation.tsx:257
+#: src/Navigation.tsx:269
msgid "Threads Preferences"
msgstr "Thread-Einstellungen"
-#: src/components/dialogs/MutedWords.tsx:113
+#: src/components/ReportDialog/SelectLabelerView.tsx:33
+msgid "To whom would you like to send this report?"
+msgstr ""
+
+#: src/components/dialogs/MutedWords.tsx:112
msgid "Toggle between muted word options."
msgstr "Zwischen den Optionen für stummgeschaltete Wörter wechseln."
@@ -4035,14 +5068,22 @@ msgstr "Zwischen den Optionen für stummgeschaltete Wörter wechseln."
msgid "Toggle dropdown"
msgstr "Dieses Dropdown umschalten"
-#: src/view/com/modals/EditImage.tsx:271
+#: src/screens/Moderation/index.tsx:332
+msgid "Toggle to enable or disable adult content"
+msgstr ""
+
+#: src/view/screens/Search/Search.tsx:427
+msgid "Top"
+msgstr ""
+
+#: src/view/com/modals/EditImage.tsx:272
msgid "Transformations"
msgstr "Verwandlungen"
-#: src/view/com/post-thread/PostThreadItem.tsx:685
-#: src/view/com/post-thread/PostThreadItem.tsx:687
-#: src/view/com/util/forms/PostDropdownBtn.tsx:215
-#: src/view/com/util/forms/PostDropdownBtn.tsx:217
+#: src/view/com/post-thread/PostThreadItem.tsx:638
+#: src/view/com/post-thread/PostThreadItem.tsx:640
+#: src/view/com/util/forms/PostDropdownBtn.tsx:220
+#: src/view/com/util/forms/PostDropdownBtn.tsx:222
msgid "Translate"
msgstr "Übersetzen"
@@ -4051,63 +5092,89 @@ msgctxt "action"
msgid "Try again"
msgstr "Erneut versuchen"
-#: src/view/screens/ProfileList.tsx:506
+#: src/view/com/modals/ChangeHandle.tsx:428
+msgid "Type:"
+msgstr ""
+
+#: src/view/screens/ProfileList.tsx:480
msgid "Un-block list"
msgstr "Liste entblocken"
-#: src/view/screens/ProfileList.tsx:491
+#: src/view/screens/ProfileList.tsx:463
msgid "Un-mute list"
msgstr "Stummschaltung von Liste aufheben"
-#: src/view/com/auth/create/CreateAccount.tsx:58
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:87
-#: src/view/com/auth/login/Login.tsx:76
-#: src/view/com/auth/login/LoginForm.tsx:118
+#: src/screens/Login/ForgotPasswordForm.tsx:74
+#: src/screens/Login/index.tsx:78
+#: src/screens/Login/LoginForm.tsx:119
+#: src/screens/Login/SetNewPasswordForm.tsx:77
+#: src/screens/Signup/index.tsx:64
#: src/view/com/modals/ChangePassword.tsx:70
msgid "Unable to contact your service. Please check your Internet connection."
msgstr "Es ist uns nicht gelungen, deinen Dienst zu kontaktieren. Bitte überprüfe deine Internetverbindung."
-#: src/view/com/profile/ProfileHeader.tsx:433
-#: src/view/screens/ProfileList.tsx:590
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:181
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:286
+#: src/view/com/profile/ProfileMenu.tsx:361
+#: src/view/screens/ProfileList.tsx:574
msgid "Unblock"
msgstr "Entblocken"
-#: src/view/com/profile/ProfileHeader.tsx:436
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:186
msgctxt "action"
msgid "Unblock"
msgstr "Entblocken"
-#: src/view/com/profile/ProfileHeader.tsx:261
-#: src/view/com/profile/ProfileHeader.tsx:345
+#: src/view/com/profile/ProfileMenu.tsx:299
+#: src/view/com/profile/ProfileMenu.tsx:305
msgid "Unblock Account"
msgstr "Konto entblocken"
-#: src/view/com/modals/Repost.tsx:42
-#: src/view/com/modals/Repost.tsx:55
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:280
+#: src/view/com/profile/ProfileMenu.tsx:343
+msgid "Unblock Account?"
+msgstr ""
+
+#: src/view/com/modals/Repost.tsx:43
+#: src/view/com/modals/Repost.tsx:56
#: src/view/com/util/post-ctrls/RepostButton.tsx:60
#: src/view/com/util/post-ctrls/RepostButton.web.tsx:48
msgid "Undo repost"
msgstr "Repost rückgängig machen"
-#: src/view/com/profile/FollowButton.tsx:55
+#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:141
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:248
+msgid "Unfollow"
+msgstr ""
+
+#: src/view/com/profile/FollowButton.tsx:60
msgctxt "action"
msgid "Unfollow"
msgstr "Nicht mehr folgen"
-#: src/view/com/profile/ProfileHeader.tsx:485
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:220
msgid "Unfollow {0}"
msgstr "{0} nicht mehr folgen"
-#: src/view/com/auth/create/state.ts:262
-msgid "Unfortunately, you do not meet the requirements to create an account."
-msgstr "Leider erfüllst du nicht die Voraussetzungen, um einen Account zu erstellen."
+#: src/view/com/profile/ProfileMenu.tsx:241
+#: src/view/com/profile/ProfileMenu.tsx:251
+msgid "Unfollow Account"
+msgstr ""
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:182
+#: src/view/com/auth/create/state.ts:262
+#~ msgid "Unfortunately, you do not meet the requirements to create an account."
+#~ msgstr "Leider erfüllst du nicht die Voraussetzungen, um einen Account zu erstellen."
+
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:197
msgid "Unlike"
msgstr "Like aufheben"
+#: src/view/screens/ProfileFeed.tsx:585
+msgid "Unlike this feed"
+msgstr ""
+
#: src/components/TagMenu/index.tsx:249
-#: src/view/screens/ProfileList.tsx:597
+#: src/view/screens/ProfileList.tsx:581
msgid "Unmute"
msgstr "Stummschaltung aufheben"
@@ -4115,7 +5182,8 @@ msgstr "Stummschaltung aufheben"
msgid "Unmute {truncatedTag}"
msgstr "Stummschaltung von {truncatedTag} aufheben"
-#: src/view/com/profile/ProfileHeader.tsx:326
+#: src/view/com/profile/ProfileMenu.tsx:278
+#: src/view/com/profile/ProfileMenu.tsx:284
msgid "Unmute Account"
msgstr "Stummschaltung von Konto aufheben"
@@ -4123,45 +5191,92 @@ msgstr "Stummschaltung von Konto aufheben"
msgid "Unmute all {displayTag} posts"
msgstr "Stummschaltung aller {displayTag}-Beiträge aufheben"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:251
-#: src/view/com/util/forms/PostDropdownBtn.tsx:256
+#: src/view/com/util/forms/PostDropdownBtn.tsx:269
+#: src/view/com/util/forms/PostDropdownBtn.tsx:274
msgid "Unmute thread"
msgstr "Stummschaltung von Thread aufheben"
-#: src/view/screens/ProfileFeed.tsx:354
-#: src/view/screens/ProfileList.tsx:581
+#: src/view/screens/ProfileFeed.tsx:306
+#: src/view/screens/ProfileList.tsx:565
msgid "Unpin"
msgstr "Anheften aufheben"
-#: src/view/screens/ProfileList.tsx:474
+#: src/view/screens/ProfileFeed.tsx:303
+msgid "Unpin from home"
+msgstr ""
+
+#: src/view/screens/ProfileList.tsx:446
msgid "Unpin moderation list"
msgstr "Anheften der Moderationsliste aufheben"
#: src/view/screens/ProfileFeed.tsx:346
-msgid "Unsave"
-msgstr "Speicherung aufheben"
+#~ msgid "Unsave"
+#~ msgstr "Speicherung aufheben"
+
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:225
+msgid "Unsubscribe"
+msgstr ""
+
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:190
+msgid "Unsubscribe from this labeler"
+msgstr ""
+
+#: src/lib/moderation/useReportOptions.ts:70
+msgid "Unwanted Sexual Content"
+msgstr ""
#: src/view/com/modals/UserAddRemoveLists.tsx:70
msgid "Update {displayName} in Lists"
msgstr "{displayName} in Listen aktualisieren"
#: src/lib/hooks/useOTAUpdate.ts:15
-msgid "Update Available"
-msgstr "Update verfügbar"
+#~ msgid "Update Available"
+#~ msgstr "Update verfügbar"
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:204
+#: src/view/com/modals/ChangeHandle.tsx:508
+msgid "Update to {handle}"
+msgstr ""
+
+#: src/screens/Login/SetNewPasswordForm.tsx:186
msgid "Updating..."
msgstr "Aktualisieren..."
-#: src/view/com/modals/ChangeHandle.tsx:455
+#: src/view/com/modals/ChangeHandle.tsx:454
msgid "Upload a text file to:"
msgstr "Hochladen einer Textdatei auf:"
-#: src/view/screens/AppPasswords.tsx:195
+#: src/view/com/util/UserAvatar.tsx:328
+#: src/view/com/util/UserAvatar.tsx:331
+#: src/view/com/util/UserBanner.tsx:116
+#: src/view/com/util/UserBanner.tsx:119
+msgid "Upload from Camera"
+msgstr ""
+
+#: src/view/com/util/UserAvatar.tsx:345
+#: src/view/com/util/UserBanner.tsx:133
+msgid "Upload from Files"
+msgstr ""
+
+#: src/view/com/util/UserAvatar.tsx:339
+#: src/view/com/util/UserAvatar.tsx:343
+#: src/view/com/util/UserBanner.tsx:127
+#: src/view/com/util/UserBanner.tsx:131
+msgid "Upload from Library"
+msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:408
+msgid "Use a file on your server"
+msgstr ""
+
+#: src/view/screens/AppPasswords.tsx:197
msgid "Use app passwords to login to other Bluesky clients without giving full access to your account or password."
msgstr "Verwende App-Passwörter, um dich bei anderen Bluesky-Clients anzumelden, ohne dass du vollen Zugriff auf deinen Account oder Passwort hast."
-#: src/view/com/modals/ChangeHandle.tsx:515
+#: src/view/com/modals/ChangeHandle.tsx:517
+msgid "Use bsky.social as hosting provider"
+msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:516
msgid "Use default provider"
msgstr "Standardanbieter verwenden"
@@ -4175,50 +5290,63 @@ msgstr "In-App-Browser verwenden"
msgid "Use my default browser"
msgstr "Meinen Standardbrowser verwenden"
-#: src/view/com/modals/AddAppPasswords.tsx:155
+#: src/view/com/modals/ChangeHandle.tsx:400
+msgid "Use the DNS panel"
+msgstr ""
+
+#: src/view/com/modals/AddAppPasswords.tsx:156
msgid "Use this to sign into the other app along with your handle."
msgstr "Verwenden dies, um dich mit deinem Handle bei der anderen App einzuloggen."
-#: src/view/com/modals/InviteCodes.tsx:200
+#: src/view/com/modals/InviteCodes.tsx:201
msgid "Used by:"
msgstr "Verwendet von:"
-#: src/view/com/modals/ModerationDetails.tsx:54
+#: src/components/moderation/ModerationDetailsDialog.tsx:64
+#: src/lib/moderation/useModerationCauseDescription.ts:56
msgid "User Blocked"
msgstr "Benutzer blockiert"
-#: src/view/com/modals/ModerationDetails.tsx:40
+#: src/lib/moderation/useModerationCauseDescription.ts:48
+msgid "User Blocked by \"{0}\""
+msgstr ""
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:53
msgid "User Blocked by List"
msgstr "Benutzer durch der Liste blockiert"
-#: src/view/com/modals/ModerationDetails.tsx:60
+#: src/lib/moderation/useModerationCauseDescription.ts:66
+msgid "User Blocking You"
+msgstr ""
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:70
msgid "User Blocks You"
msgstr "Benutzer blockiert dich"
#: src/view/com/auth/create/Step2.tsx:79
-msgid "User handle"
-msgstr "Benutzerhandle"
+#~ msgid "User handle"
+#~ msgstr "Benutzerhandle"
#: src/view/com/lists/ListCard.tsx:85
#: src/view/com/modals/UserAddRemoveLists.tsx:198
msgid "User list by {0}"
msgstr "Benutzerliste von {0}"
-#: src/view/screens/ProfileList.tsx:763
+#: src/view/screens/ProfileList.tsx:779
msgid "User list by <0/>"
msgstr "Benutzerliste von <0/>"
#: src/view/com/lists/ListCard.tsx:83
#: src/view/com/modals/UserAddRemoveLists.tsx:196
-#: src/view/screens/ProfileList.tsx:761
+#: src/view/screens/ProfileList.tsx:777
msgid "User list by you"
msgstr "Benutzerliste von dir"
-#: src/view/com/modals/CreateOrEditList.tsx:196
+#: src/view/com/modals/CreateOrEditList.tsx:197
msgid "User list created"
msgstr "Benutzerliste erstellt"
-#: src/view/com/modals/CreateOrEditList.tsx:182
+#: src/view/com/modals/CreateOrEditList.tsx:183
msgid "User list updated"
msgstr "Benutzerliste aktualisiert"
@@ -4226,12 +5354,13 @@ msgstr "Benutzerliste aktualisiert"
msgid "User Lists"
msgstr "Benutzerlisten"
-#: src/view/com/auth/login/LoginForm.tsx:177
-#: src/view/com/auth/login/LoginForm.tsx:195
+#: src/screens/Login/LoginForm.tsx:151
msgid "Username or email address"
msgstr "Benutzername oder E-Mail-Adresse"
-#: src/view/screens/ProfileList.tsx:797
+#: src/view/screens/ProfileList.tsx:813
+#: src/view/screens/Search/Search.tsx:473
+#: src/view/screens/Search/Search.tsx:482
msgid "Users"
msgstr "Benutzer"
@@ -4243,15 +5372,27 @@ msgstr "Nutzer gefolgt von <0/>"
msgid "Users in \"{0}\""
msgstr "Benutzer in \"{0}\""
-#: src/view/screens/Settings/index.tsx:910
+#: src/components/LikesDialog.tsx:85
+msgid "Users that have liked this content or profile"
+msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:436
+msgid "Value:"
+msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:509
+msgid "Verify {0}"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:906
msgid "Verify email"
msgstr "E-Mail bestätigen"
-#: src/view/screens/Settings/index.tsx:935
+#: src/view/screens/Settings/index.tsx:931
msgid "Verify my email"
msgstr "Meine E-Mail bestätigen"
-#: src/view/screens/Settings/index.tsx:944
+#: src/view/screens/Settings/index.tsx:940
msgid "Verify My Email"
msgstr "Meine E-Mail bestätigen"
@@ -4264,23 +5405,41 @@ msgstr "Neue E-Mail bestätigen"
msgid "Verify Your Email"
msgstr "Überprüfe deine E-Mail"
+#: src/view/screens/Settings/index.tsx:857
+msgid "Version {0}"
+msgstr ""
+
#: src/screens/Onboarding/index.tsx:42
msgid "Video Games"
msgstr "Videospiele"
-#: src/view/com/profile/ProfileHeader.tsx:662
+#: src/screens/Profile/Header/Shell.tsx:107
msgid "View {0}'s avatar"
-msgstr "Avatar {0} ansehen"
+msgstr "Avatar von {0} ansehen"
#: src/view/screens/Log.tsx:52
msgid "View debug entry"
msgstr "Debug-Eintrag anzeigen"
-#: src/view/com/posts/FeedSlice.tsx:103
+#: src/components/ReportDialog/SelectReportOptionView.tsx:132
+msgid "View details"
+msgstr ""
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:127
+msgid "View details for reporting a copyright violation"
+msgstr ""
+
+#: src/view/com/posts/FeedSlice.tsx:99
msgid "View full thread"
msgstr "Vollständigen Thread ansehen"
-#: src/view/com/posts/FeedErrorMessage.tsx:172
+#: src/components/moderation/LabelsOnMe.tsx:51
+msgid "View information about these labels"
+msgstr ""
+
+#: src/components/ProfileHoverCard/index.web.tsx:264
+#: src/components/ProfileHoverCard/index.web.tsx:293
+#: src/view/com/posts/FeedErrorMessage.tsx:166
msgid "View profile"
msgstr "Profil ansehen"
@@ -4288,20 +5447,39 @@ msgstr "Profil ansehen"
msgid "View the avatar"
msgstr "Avatar ansehen"
-#: src/view/com/modals/LinkWarning.tsx:75
+#: src/components/LabelingServiceCard/index.tsx:140
+msgid "View the labeling service provided by @{0}"
+msgstr ""
+
+#: src/view/screens/ProfileFeed.tsx:597
+msgid "View users who like this feed"
+msgstr ""
+
+#: src/view/com/modals/LinkWarning.tsx:89
+#: src/view/com/modals/LinkWarning.tsx:95
msgid "Visit Site"
msgstr "Seite ansehen"
-#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:42
-#: src/view/com/modals/ContentFilteringSettings.tsx:259
+#: src/components/moderation/LabelPreference.tsx:135
+#: src/lib/moderation/useLabelBehaviorDescription.ts:17
+#: src/lib/moderation/useLabelBehaviorDescription.ts:22
+#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:53
msgid "Warn"
msgstr "Warnen"
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:134
-msgid "We also think you'll like \"For You\" by Skygaze:"
-msgstr "Wir glauben auch, dass dir \"For You\" von Skygaze gefallen wird:"
+#: src/lib/moderation/useLabelBehaviorDescription.ts:48
+msgid "Warn content"
+msgstr ""
-#: src/screens/Hashtag.tsx:132
+#: src/lib/moderation/useLabelBehaviorDescription.ts:46
+msgid "Warn content and filter from feeds"
+msgstr ""
+
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:134
+#~ msgid "We also think you'll like \"For You\" by Skygaze:"
+#~ msgstr "Wir glauben auch, dass dir \"For You\" von Skygaze gefallen wird:"
+
+#: src/screens/Hashtag.tsx:133
msgid "We couldn't find any results for that hashtag."
msgstr "Wir konnten keine Ergebnisse für diesen Hashtag finden."
@@ -4309,7 +5487,7 @@ msgstr "Wir konnten keine Ergebnisse für diesen Hashtag finden."
msgid "We estimate {estimatedTime} until your account is ready."
msgstr "Wir schätzen {estimatedTime} bis dein Konto bereit ist."
-#: src/screens/Onboarding/StepFinished.tsx:93
+#: src/screens/Onboarding/StepFinished.tsx:97
msgid "We hope you have a wonderful time. Remember, Bluesky is:"
msgstr "Wir hoffen, dass du eine schöne Zeit hast. Denke daran, Bluesky ist:"
@@ -4317,15 +5495,23 @@ msgstr "Wir hoffen, dass du eine schöne Zeit hast. Denke daran, Bluesky ist:"
msgid "We ran out of posts from your follows. Here's the latest from <0/>."
msgstr "Wir haben keine Beiträge mehr von den Konten, denen du folgst. Hier ist das Neueste von <0/>."
-#: src/components/dialogs/MutedWords.tsx:204
+#: src/components/dialogs/MutedWords.tsx:203
msgid "We recommend avoiding common words that appear in many posts, since it can result in no posts being shown."
msgstr "Wir empfehlen, gebräuchliche Wörter zu vermeiden, die in vielen Beiträgen vorkommen, da dies dazu führen kann, dass keine Beiträge angezeigt werden."
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:124
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:125
msgid "We recommend our \"Discover\" feed:"
msgstr "Wir empfehlen unser \"Discover\" Feed:"
-#: src/screens/Onboarding/StepInterests/index.tsx:133
+#: src/components/dialogs/BirthDateSettings.tsx:52
+msgid "We were unable to load your birth date preferences. Please try again."
+msgstr ""
+
+#: src/screens/Moderation/index.tsx:385
+msgid "We were unable to load your configured labelers at this time."
+msgstr ""
+
+#: src/screens/Onboarding/StepInterests/index.tsx:137
msgid "We weren't able to connect. Please try again to continue setting up your account. If it continues to fail, you can skip this flow."
msgstr "Die Verbindung konnte nicht hergestellt werden. Bitte versuche es erneut, um mit der Einrichtung deines Kontos fortzufahren. Wenn der Versuch weiterhin fehlschlägt, kannst du diesen Schritt überspringen."
@@ -4334,48 +5520,53 @@ msgid "We will let you know when your account is ready."
msgstr "Wir werden dich benachrichtigen, wenn dein Konto bereit ist."
#: src/view/com/modals/AppealLabel.tsx:48
-msgid "We'll look into your appeal promptly."
-msgstr "Wir werden deinen Widerspruch unverzüglich prüfen."
+#~ msgid "We'll look into your appeal promptly."
+#~ msgstr "Wir werden deinen Widerspruch unverzüglich prüfen."
-#: src/screens/Onboarding/StepInterests/index.tsx:138
+#: src/screens/Onboarding/StepInterests/index.tsx:142
msgid "We'll use this to help customize your experience."
msgstr "Wir verwenden diese Informationen, um dein Erlebnis individuell zu gestalten."
-#: src/view/com/auth/create/CreateAccount.tsx:134
+#: src/screens/Signup/index.tsx:131
msgid "We're so excited to have you join us!"
msgstr "Wir freuen uns sehr, dass du dabei bist!"
-#: src/view/screens/ProfileList.tsx:86
+#: src/view/screens/ProfileList.tsx:90
msgid "We're sorry, but we were unable to resolve this list. If this persists, please contact the list creator, @{handleOrDid}."
msgstr "Es tut uns leid, aber wir waren nicht in der Lage, diese Liste aufzulösen. Wenn das Problem weiterhin besteht, kontaktiere bitte den Ersteller der Liste, @{handleOrDid}."
-#: src/components/dialogs/MutedWords.tsx:230
+#: src/components/dialogs/MutedWords.tsx:229
msgid "We're sorry, but we weren't able to load your muted words at this time. Please try again."
msgstr "Es tut uns leid, aber wir konnten deine stummgeschalteten Wörter nicht laden. Bitte versuche es erneut."
-#: src/view/screens/Search/Search.tsx:254
+#: src/view/screens/Search/Search.tsx:322
msgid "We're sorry, but your search could not be completed. Please try again in a few minutes."
msgstr "Es tut uns leid, aber deine Suche konnte nicht abgeschlossen werden. Bitte versuche es in ein paar Minuten erneut."
-#: src/components/Lists.tsx:211
+#: src/components/Lists.tsx:188
#: src/view/screens/NotFound.tsx:48
msgid "We're sorry! We can't find the page you were looking for."
msgstr "Es tut uns leid! Wir können die Seite, nach der du gesucht hast, nicht finden."
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:46
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:327
+msgid "We're sorry! You can only subscribe to ten labelers, and you've reached your limit of ten."
+msgstr ""
+
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:48
msgid "Welcome to <0>Bluesky0>"
msgstr "Willkommen bei <0>Bluesky0>"
-#: src/screens/Onboarding/StepInterests/index.tsx:130
+#: src/screens/Onboarding/StepInterests/index.tsx:134
msgid "What are your interests?"
msgstr "Was sind deine Interessen?"
#: src/view/com/modals/report/Modal.tsx:169
-msgid "What is the issue with this {collectionName}?"
-msgstr "Was ist das Problem mit diesem {collectionName}?"
+#~ msgid "What is the issue with this {collectionName}?"
+#~ msgstr "Was ist das Problem mit diesem {collectionName}?"
-#: src/view/com/auth/SplashScreen.tsx:59
-#: src/view/com/composer/Composer.tsx:286
+#: src/view/com/auth/SplashScreen.tsx:40
+#: src/view/com/auth/SplashScreen.web.tsx:81
+#: src/view/com/composer/Composer.tsx:296
msgid "What's up?"
msgstr "Was gibt's?"
@@ -4392,16 +5583,36 @@ msgstr "Welche Sprachen würdest du gerne in deinen algorithmischen Feeds sehen?
msgid "Who can reply"
msgstr "Wer antworten kann"
-#: src/view/com/modals/crop-image/CropImage.web.tsx:102
+#: src/components/ReportDialog/SelectReportOptionView.tsx:43
+msgid "Why should this content be reviewed?"
+msgstr ""
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:56
+msgid "Why should this feed be reviewed?"
+msgstr ""
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:53
+msgid "Why should this list be reviewed?"
+msgstr ""
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:50
+msgid "Why should this post be reviewed?"
+msgstr ""
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:47
+msgid "Why should this user be reviewed?"
+msgstr ""
+
+#: src/view/com/modals/crop-image/CropImage.web.tsx:103
msgid "Wide"
msgstr "Breit"
-#: src/view/com/composer/Composer.tsx:422
+#: src/view/com/composer/Composer.tsx:436
msgid "Write post"
msgstr "Beitrag verfassen"
-#: src/view/com/composer/Composer.tsx:285
-#: src/view/com/composer/Prompt.tsx:33
+#: src/view/com/composer/Composer.tsx:295
+#: src/view/com/composer/Prompt.tsx:37
msgid "Write your reply"
msgstr "Schreibe deine Antwort"
@@ -4423,101 +5634,148 @@ msgstr "Ja"
msgid "You are in line."
msgstr "Du befindest dich in der Warteschlange."
+#: src/view/com/profile/ProfileFollows.tsx:86
+msgid "You are not following anyone."
+msgstr ""
+
#: src/view/com/posts/FollowingEmptyState.tsx:67
#: src/view/com/posts/FollowingEndOfFeed.tsx:68
msgid "You can also discover new Custom Feeds to follow."
msgstr "Du kannst auch neue benutzerdefinierte Feeds entdecken und ihnen folgen."
-#: src/screens/Onboarding/StepFollowingFeed.tsx:142
+#: src/screens/Onboarding/StepFollowingFeed.tsx:143
msgid "You can change these settings later."
msgstr "Du kannst diese Einstellungen später ändern."
-#: src/view/com/auth/login/Login.tsx:158
-#: src/view/com/auth/login/PasswordUpdatedForm.tsx:31
+#: src/screens/Login/index.tsx:158
+#: src/screens/Login/PasswordUpdatedForm.tsx:33
msgid "You can now sign in with your new password."
msgstr "Du kannst dich jetzt mit deinem neuen Passwort anmelden."
-#: src/view/com/modals/InviteCodes.tsx:66
+#: src/view/com/profile/ProfileFollowers.tsx:86
+msgid "You do not have any followers."
+msgstr ""
+
+#: src/view/com/modals/InviteCodes.tsx:67
msgid "You don't have any invite codes yet! We'll send you some when you've been on Bluesky for a little longer."
msgstr "Du hast noch keine Einladungscodes! Wir schicken dir welche, wenn du schon etwas länger bei Bluesky bist."
-#: src/view/screens/SavedFeeds.tsx:102
+#: src/view/screens/SavedFeeds.tsx:103
msgid "You don't have any pinned feeds."
msgstr "Du hast keine angehefteten Feeds."
-#: src/view/screens/Feeds.tsx:452
+#: src/view/screens/Feeds.tsx:477
msgid "You don't have any saved feeds!"
msgstr "Du hast keine gespeicherten Feeds!"
-#: src/view/screens/SavedFeeds.tsx:135
+#: src/view/screens/SavedFeeds.tsx:136
msgid "You don't have any saved feeds."
msgstr "Du hast keine gespeicherten Feeds."
-#: src/view/com/post-thread/PostThread.tsx:465
+#: src/view/com/post-thread/PostThread.tsx:159
msgid "You have blocked the author or you have been blocked by the author."
msgstr "Du hast den Verfasser blockiert oder du wurdest vom Verfasser blockiert."
-#: src/view/com/modals/ModerationDetails.tsx:56
+#: src/components/moderation/ModerationDetailsDialog.tsx:66
+#: src/lib/moderation/useModerationCauseDescription.ts:50
+#: src/lib/moderation/useModerationCauseDescription.ts:58
msgid "You have blocked this user. You cannot view their content."
msgstr "Du hast diesen Benutzer blockiert und kannst seine Inhalte nicht sehen."
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:57
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:92
+#: src/screens/Login/SetNewPasswordForm.tsx:54
+#: src/screens/Login/SetNewPasswordForm.tsx:91
#: src/view/com/modals/ChangePassword.tsx:87
#: src/view/com/modals/ChangePassword.tsx:121
msgid "You have entered an invalid code. It should look like XXXXX-XXXXX."
msgstr "Du hast einen ungültigen Code eingegeben. Er sollte wie XXXXX-XXXXX aussehen."
-#: src/view/com/modals/ModerationDetails.tsx:87
-msgid "You have muted this user."
-msgstr "Du hast diesen Benutzer stummgeschaltet."
+#: src/lib/moderation/useModerationCauseDescription.ts:109
+msgid "You have hidden this post"
+msgstr ""
-#: src/view/com/feeds/ProfileFeedgens.tsx:136
+#: src/components/moderation/ModerationDetailsDialog.tsx:101
+msgid "You have hidden this post."
+msgstr ""
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:94
+#: src/lib/moderation/useModerationCauseDescription.ts:92
+msgid "You have muted this account."
+msgstr ""
+
+#: src/lib/moderation/useModerationCauseDescription.ts:86
+msgid "You have muted this user"
+msgstr ""
+
+#: src/view/com/modals/ModerationDetails.tsx:87
+#~ msgid "You have muted this user."
+#~ msgstr "Du hast diesen Benutzer stummgeschaltet."
+
+#: src/view/com/feeds/ProfileFeedgens.tsx:144
msgid "You have no feeds."
msgstr "Du hast keine Feeds."
#: src/view/com/lists/MyLists.tsx:89
-#: src/view/com/lists/ProfileLists.tsx:140
+#: src/view/com/lists/ProfileLists.tsx:148
msgid "You have no lists."
msgstr "Du hast keine Listen."
-#: src/view/screens/ModerationBlockedAccounts.tsx:132
-msgid "You have not blocked any accounts yet. To block an account, go to their profile and selected \"Block account\" from the menu on their account."
-msgstr "Du hast noch keine Konten blockiert. Um ein Konto zu blockieren, gehe auf dessen Profil und wähle \"Konto blockieren\" aus dem Menü des Kontos aus."
+#: src/view/screens/ModerationBlockedAccounts.tsx:138
+msgid "You have not blocked any accounts yet. To block an account, go to their profile and select \"Block account\" from the menu on their account."
+msgstr ""
-#: src/view/screens/AppPasswords.tsx:87
+#: src/view/screens/ModerationBlockedAccounts.tsx:132
+#~ msgid "You have not blocked any accounts yet. To block an account, go to their profile and selected \"Block account\" from the menu on their account."
+#~ msgstr "Du hast noch keine Konten blockiert. Um ein Konto zu blockieren, gehe auf dessen Profil und wähle \"Konto blockieren\" aus dem Menü des Kontos aus."
+
+#: src/view/screens/AppPasswords.tsx:89
msgid "You have not created any app passwords yet. You can create one by pressing the button below."
msgstr "Du hast noch keine App-Passwörter erstellt. Du kannst eines erstellen, indem du auf die Schaltfläche unten klickst."
-#: src/view/screens/ModerationMutedAccounts.tsx:131
-msgid "You have not muted any accounts yet. To mute an account, go to their profile and selected \"Mute account\" from the menu on their account."
-msgstr "Du hast noch keine Konten stummgeschaltet. Um ein Konto stumm zu schalten, gehe auf dessen Profil und wähle \"Konto stummschalten\" aus dem Menü des Kontos aus."
+#: src/view/screens/ModerationMutedAccounts.tsx:136
+msgid "You have not muted any accounts yet. To mute an account, go to their profile and select \"Mute account\" from the menu on their account."
+msgstr ""
-#: src/components/dialogs/MutedWords.tsx:250
+#: src/view/screens/ModerationMutedAccounts.tsx:131
+#~ msgid "You have not muted any accounts yet. To mute an account, go to their profile and selected \"Mute account\" from the menu on their account."
+#~ msgstr "Du hast noch keine Konten stummgeschaltet. Um ein Konto stumm zu schalten, gehe auf dessen Profil und wähle \"Konto stummschalten\" aus dem Menü des Kontos aus."
+
+#: src/components/dialogs/MutedWords.tsx:249
msgid "You haven't muted any words or tags yet"
msgstr "Du hast noch keine Wörter oder Tags stummgeschaltet"
-#: src/view/com/modals/ContentFilteringSettings.tsx:175
-msgid "You must be 18 or older to enable adult content."
-msgstr "Du musst 18 Jahre oder älter sein, um Inhalte für Erwachsene zu aktivieren."
+#: src/components/moderation/LabelsOnMeDialog.tsx:68
+msgid "You may appeal these labels if you feel they were placed in error."
+msgstr ""
-#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:103
+#: src/screens/Signup/StepInfo/Policies.tsx:79
+msgid "You must be 13 years of age or older to sign up."
+msgstr ""
+
+#: src/view/com/modals/ContentFilteringSettings.tsx:175
+#~ msgid "You must be 18 or older to enable adult content."
+#~ msgstr "Du musst 18 Jahre oder älter sein, um Inhalte für Erwachsene zu aktivieren."
+
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:110
msgid "You must be 18 years or older to enable adult content"
msgstr "Du musst 18 Jahre oder älter sein, um Inhalte für Erwachsene zu aktivieren."
-#: src/view/com/util/forms/PostDropdownBtn.tsx:147
+#: src/components/ReportDialog/SubmitView.tsx:203
+msgid "You must select at least one labeler for a report"
+msgstr ""
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:150
msgid "You will no longer receive notifications for this thread"
msgstr "Du wirst keine Mitteilungen mehr für diesen Thread erhalten"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:150
+#: src/view/com/util/forms/PostDropdownBtn.tsx:153
msgid "You will now receive notifications for this thread"
msgstr "Du erhälst nun Mitteilungen für dieses Thread"
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:107
+#: src/screens/Login/SetNewPasswordForm.tsx:104
msgid "You will receive an email with a \"reset code.\" Enter that code here, then enter your new password."
msgstr "Du erhältst eine E-Mail mit einem \"Reset-Code\". Gib diesen Code hier ein und gib dann dein neues Passwort ein."
-#: src/screens/Onboarding/StepModeration/index.tsx:72
+#: src/screens/Onboarding/StepModeration/index.tsx:60
msgid "You're in control"
msgstr "Du hast die Kontrolle"
@@ -4527,19 +5785,24 @@ msgstr "Du hast die Kontrolle"
msgid "You're in line"
msgstr "Du bist in der Warteschlange"
-#: src/screens/Onboarding/StepFinished.tsx:90
+#: src/screens/Onboarding/StepFinished.tsx:94
msgid "You're ready to go!"
msgstr "Du kannst loslegen!"
+#: src/components/moderation/ModerationDetailsDialog.tsx:98
+#: src/lib/moderation/useModerationCauseDescription.ts:101
+msgid "You've chosen to hide a word or tag within this post."
+msgstr ""
+
#: src/view/com/posts/FollowingEndOfFeed.tsx:48
msgid "You've reached the end of your feed! Find some more accounts to follow."
msgstr "Du hast das Ende deines Feeds erreicht! Finde weitere Konten, denen du folgen kannst."
-#: src/view/com/auth/create/Step1.tsx:67
+#: src/screens/Signup/index.tsx:151
msgid "Your account"
msgstr "Dein Konto"
-#: src/view/com/modals/DeleteAccount.tsx:67
+#: src/view/com/modals/DeleteAccount.tsx:68
msgid "Your account has been deleted"
msgstr "Dein Konto wurde gelöscht"
@@ -4547,7 +5810,7 @@ msgstr "Dein Konto wurde gelöscht"
msgid "Your account repository, containing all public data records, can be downloaded as a \"CAR\" file. This file does not include media embeds, such as images, or your private data, which must be fetched separately."
msgstr "Dein Kontodepot, das alle öffentlichen Datensätze enthält, kann als \"CAR\"-Datei heruntergeladen werden. Diese Datei enthält keine Medieneinbettungen, wie z. B. Bilder, oder deine privaten Daten, welche separat abgerufen werden müssen."
-#: src/view/com/auth/create/Step1.tsx:215
+#: src/screens/Signup/StepInfo/index.tsx:123
msgid "Your birth date"
msgstr "Dein Geburtsdatum"
@@ -4555,12 +5818,12 @@ msgstr "Dein Geburtsdatum"
msgid "Your choice will be saved, but can be changed later in settings."
msgstr "Deine Wahl wird gespeichert, kann aber später in den Einstellungen geändert werden."
-#: src/screens/Onboarding/StepFollowingFeed.tsx:61
+#: src/screens/Onboarding/StepFollowingFeed.tsx:62
msgid "Your default feed is \"Following\""
msgstr "Dein Standard-Feed ist \"Following\""
-#: src/view/com/auth/create/state.ts:110
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:70
+#: src/screens/Login/ForgotPasswordForm.tsx:57
+#: src/screens/Signup/state.ts:227
#: src/view/com/modals/ChangePassword.tsx:54
msgid "Your email appears to be invalid."
msgstr "Deine E-Mail scheint ungültig zu sein."
@@ -4577,41 +5840,40 @@ msgstr "Deine E-Mail wurde noch nicht bestätigt. Dies ist ein wichtiger Sicherh
msgid "Your following feed is empty! Follow more users to see what's happening."
msgstr "Dein Following-Feed ist leer! Folge mehr Benutzern, um auf dem Laufenden zu bleiben."
-#: src/view/com/auth/create/Step2.tsx:83
+#: src/screens/Signup/StepHandle.tsx:73
msgid "Your full handle will be"
msgstr "Dein vollständiger Handle lautet"
-#: src/view/com/modals/ChangeHandle.tsx:270
+#: src/view/com/modals/ChangeHandle.tsx:271
msgid "Your full handle will be <0>@{0}0>"
msgstr "Dein vollständiger Handle lautet <0>@{0}0>"
-#: src/components/dialogs/MutedWords.tsx:221
+#: src/components/dialogs/MutedWords.tsx:220
msgid "Your muted words"
msgstr "Deine stummgeschalteten Wörter"
-#: src/view/com/modals/ChangePassword.tsx:155
+#: src/view/com/modals/ChangePassword.tsx:157
msgid "Your password has been changed successfully!"
msgstr "Dein Passwort wurde erfolgreich geändert!"
-#: src/view/com/composer/Composer.tsx:274
+#: src/view/com/composer/Composer.tsx:284
msgid "Your post has been published"
msgstr "Dein Beitrag wurde veröffentlicht"
-#: src/screens/Onboarding/StepFinished.tsx:105
+#: src/screens/Onboarding/StepFinished.tsx:109
#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:59
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:59
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:61
msgid "Your posts, likes, and blocks are public. Mutes are private."
msgstr "Deine Beiträge, Likes und Blockierungen sind öffentlich. Stummschaltungen sind privat."
-#: src/view/com/modals/SwitchAccount.tsx:84
-#: src/view/screens/Settings/index.tsx:118
+#: src/view/screens/Settings/index.tsx:136
msgid "Your profile"
msgstr "Dein Profil"
-#: src/view/com/composer/Composer.tsx:273
+#: src/view/com/composer/Composer.tsx:283
msgid "Your reply has been published"
msgstr "Deine Antwort wurde veröffentlicht"
-#: src/view/com/auth/create/Step2.tsx:65
+#: src/screens/Signup/index.tsx:153
msgid "Your user handle"
msgstr "Dein Benutzerhandle"
diff --git a/src/locale/locales/en/messages.po b/src/locale/locales/en/messages.po
index b62c47ffcd..ac8bb2515e 100644
--- a/src/locale/locales/en/messages.po
+++ b/src/locale/locales/en/messages.po
@@ -17,29 +17,12 @@ msgstr ""
msgid "(no email)"
msgstr ""
-#: src/view/shell/desktop/RightNav.tsx:168
-#~ msgid "{0, plural, one {# invite code available} other {# invite codes available}}"
-#~ msgstr ""
-
-#: src/view/com/profile/ProfileHeader.tsx:593
+#: src/components/ProfileHoverCard/index.web.tsx:323
+#: src/screens/Profile/Header/Metrics.tsx:44
msgid "{following} following"
msgstr ""
-#: src/view/shell/desktop/RightNav.tsx:151
-#~ msgid "{invitesAvailable, plural, one {Invite codes: # available} other {Invite codes: # available}}"
-#~ msgstr ""
-
-#: src/view/screens/Settings.tsx:435
-#: src/view/shell/Drawer.tsx:664
-#~ msgid "{invitesAvailable} invite code available"
-#~ msgstr ""
-
-#: src/view/screens/Settings.tsx:437
-#: src/view/shell/Drawer.tsx:666
-#~ msgid "{invitesAvailable} invite codes available"
-#~ msgstr ""
-
-#: src/view/shell/Drawer.tsx:440
+#: src/view/shell/Drawer.tsx:449
msgid "{numUnreadNotifications} unread"
msgstr ""
@@ -47,15 +30,24 @@ msgstr ""
msgid "<0/> members"
msgstr ""
-#: src/view/com/profile/ProfileHeader.tsx:595
+#: src/view/shell/Drawer.tsx:97
+msgid "<0>{0}0> following"
+msgstr ""
+
+#: src/components/ProfileHoverCard/index.web.tsx:314
+msgid "<0>{followers} 0><1>{pluralizedFollowers}1>"
+msgstr ""
+
+#: src/components/ProfileHoverCard/index.web.tsx:326
+#: src/screens/Profile/Header/Metrics.tsx:45
msgid "<0>{following} 0><1>following1>"
msgstr ""
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:30
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:31
msgid "<0>Choose your0><1>Recommended1><2>Feeds2>"
msgstr ""
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:37
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:38
msgid "<0>Follow some0><1>Recommended1><2>Users2>"
msgstr ""
@@ -63,51 +55,52 @@ msgstr ""
msgid "<0>Welcome to0><1>Bluesky1>"
msgstr ""
-#: src/view/com/profile/ProfileHeader.tsx:558
+#: src/screens/Profile/Header/Handle.tsx:43
msgid "⚠Invalid Handle"
msgstr ""
-#: src/view/com/util/moderation/LabelInfo.tsx:45
-msgid "A content warning has been applied to this {0}."
-msgstr ""
-
-#: src/lib/hooks/useOTAUpdate.ts:16
-msgid "A new version of the app is available. Please update to continue using the app."
-msgstr ""
-
#: src/view/com/util/ViewHeader.tsx:89
-#: src/view/screens/Search/Search.tsx:647
+#: src/view/screens/Search/Search.tsx:796
msgid "Access navigation links and settings"
msgstr ""
-#: src/view/com/home/HomeHeaderLayoutMobile.tsx:52
+#: src/view/com/home/HomeHeaderLayoutMobile.tsx:54
msgid "Access profile and other navigation links"
msgstr ""
-#: src/view/com/modals/EditImage.tsx:299
-#: src/view/screens/Settings/index.tsx:451
+#: src/view/com/modals/EditImage.tsx:300
+#: src/view/screens/Settings/index.tsx:421
msgid "Accessibility"
msgstr ""
-#: src/view/com/auth/login/LoginForm.tsx:166
-#: src/view/screens/Settings/index.tsx:308
-#: src/view/screens/Settings/index.tsx:721
+#: src/components/moderation/LabelsOnMe.tsx:42
+msgid "account"
+msgstr ""
+
+#: src/screens/Login/LoginForm.tsx:144
+#: src/view/screens/Settings/index.tsx:330
+#: src/view/screens/Settings/index.tsx:707
msgid "Account"
msgstr ""
-#: src/view/com/profile/ProfileHeader.tsx:246
+#: src/view/com/profile/ProfileMenu.tsx:139
msgid "Account blocked"
msgstr ""
-#: src/view/com/profile/ProfileHeader.tsx:213
+#: src/view/com/profile/ProfileMenu.tsx:153
+msgid "Account followed"
+msgstr ""
+
+#: src/view/com/profile/ProfileMenu.tsx:113
msgid "Account muted"
msgstr ""
-#: src/view/com/modals/ModerationDetails.tsx:86
+#: src/components/moderation/ModerationDetailsDialog.tsx:93
+#: src/lib/moderation/useModerationCauseDescription.ts:91
msgid "Account Muted"
msgstr ""
-#: src/view/com/modals/ModerationDetails.tsx:72
+#: src/components/moderation/ModerationDetailsDialog.tsx:82
msgid "Account Muted by List"
msgstr ""
@@ -119,19 +112,24 @@ msgstr ""
msgid "Account removed from quick access"
msgstr ""
-#: src/view/com/profile/ProfileHeader.tsx:268
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:137
+#: src/view/com/profile/ProfileMenu.tsx:128
msgid "Account unblocked"
msgstr ""
-#: src/view/com/profile/ProfileHeader.tsx:226
+#: src/view/com/profile/ProfileMenu.tsx:166
+msgid "Account unfollowed"
+msgstr ""
+
+#: src/view/com/profile/ProfileMenu.tsx:102
msgid "Account unmuted"
msgstr ""
-#: src/components/dialogs/MutedWords.tsx:165
+#: src/components/dialogs/MutedWords.tsx:164
#: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:150
-#: src/view/com/modals/ListAddRemoveUsers.tsx:264
+#: src/view/com/modals/ListAddRemoveUsers.tsx:268
#: src/view/com/modals/UserAddRemoveLists.tsx:219
-#: src/view/screens/ProfileList.tsx:813
+#: src/view/screens/ProfileList.tsx:829
msgid "Add"
msgstr ""
@@ -139,62 +137,54 @@ msgstr ""
msgid "Add a content warning"
msgstr ""
-#: src/view/screens/ProfileList.tsx:803
+#: src/view/screens/ProfileList.tsx:819
msgid "Add a user to this list"
msgstr ""
-#: src/view/screens/Settings/index.tsx:383
-#: src/view/screens/Settings/index.tsx:392
+#: src/components/dialogs/SwitchAccount.tsx:55
+#: src/view/screens/Settings/index.tsx:405
+#: src/view/screens/Settings/index.tsx:414
msgid "Add account"
msgstr ""
#: src/view/com/composer/photos/Gallery.tsx:119
#: src/view/com/composer/photos/Gallery.tsx:180
-#: src/view/com/modals/AltImage.tsx:116
+#: src/view/com/modals/AltImage.tsx:117
msgid "Add alt text"
msgstr ""
-#: src/view/screens/AppPasswords.tsx:102
-#: src/view/screens/AppPasswords.tsx:143
-#: src/view/screens/AppPasswords.tsx:156
+#: src/view/screens/AppPasswords.tsx:104
+#: src/view/screens/AppPasswords.tsx:145
+#: src/view/screens/AppPasswords.tsx:158
msgid "Add App Password"
msgstr ""
-#: src/view/com/modals/report/InputIssueDetails.tsx:41
-#: src/view/com/modals/report/Modal.tsx:191
-msgid "Add details"
-msgstr ""
-
-#: src/view/com/modals/report/Modal.tsx:194
-msgid "Add details to report"
-msgstr ""
-
-#: src/view/com/composer/Composer.tsx:453
+#: src/view/com/composer/Composer.tsx:467
msgid "Add link card"
msgstr ""
-#: src/view/com/composer/Composer.tsx:458
+#: src/view/com/composer/Composer.tsx:472
msgid "Add link card:"
msgstr ""
-#: src/components/dialogs/MutedWords.tsx:158
+#: src/components/dialogs/MutedWords.tsx:157
msgid "Add mute word for configured settings"
msgstr ""
-#: src/components/dialogs/MutedWords.tsx:87
+#: src/components/dialogs/MutedWords.tsx:86
msgid "Add muted words and tags"
msgstr ""
-#: src/view/com/modals/ChangeHandle.tsx:417
+#: src/view/com/modals/ChangeHandle.tsx:416
msgid "Add the following DNS record to your domain:"
msgstr ""
-#: src/view/com/profile/ProfileHeader.tsx:310
+#: src/view/com/profile/ProfileMenu.tsx:263
+#: src/view/com/profile/ProfileMenu.tsx:266
msgid "Add to Lists"
msgstr ""
-#: src/view/com/feeds/FeedSourceCard.tsx:245
-#: src/view/screens/ProfileFeed.tsx:273
+#: src/view/com/feeds/FeedSourceCard.tsx:234
msgid "Add to my feeds"
msgstr ""
@@ -207,7 +197,7 @@ msgstr ""
msgid "Added to list"
msgstr ""
-#: src/view/com/feeds/FeedSourceCard.tsx:127
+#: src/view/com/feeds/FeedSourceCard.tsx:108
msgid "Added to my feeds"
msgstr ""
@@ -215,32 +205,31 @@ msgstr ""
msgid "Adjust the number of likes a reply must have to be shown in your feed."
msgstr ""
+#: src/lib/moderation/useGlobalLabelStrings.ts:34
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:117
#: src/view/com/modals/SelfLabel.tsx:75
msgid "Adult Content"
msgstr ""
-#: src/view/com/modals/ContentFilteringSettings.tsx:141
-msgid "Adult content can only be enabled via the Web at <0/>."
+#: src/components/moderation/LabelPreference.tsx:242
+msgid "Adult content is disabled."
msgstr ""
-#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:78
-#~ msgid "Adult content can only be enabled via the Web at <0>bsky.app0>."
-#~ msgstr ""
-
-#: src/view/screens/Settings/index.tsx:664
+#: src/screens/Moderation/index.tsx:375
+#: src/view/screens/Settings/index.tsx:635
msgid "Advanced"
msgstr ""
-#: src/view/screens/Feeds.tsx:666
+#: src/view/screens/Feeds.tsx:691
msgid "All the feeds you've saved, right in one place."
msgstr ""
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:221
-#: src/view/com/modals/ChangePassword.tsx:168
+#: src/screens/Login/ForgotPasswordForm.tsx:178
+#: src/view/com/modals/ChangePassword.tsx:170
msgid "Already have a code?"
msgstr ""
-#: src/view/com/auth/login/ChooseAccountForm.tsx:98
+#: src/screens/Login/ChooseAccountForm.tsx:39
msgid "Already signed in as @{0}"
msgstr ""
@@ -248,7 +237,7 @@ msgstr ""
msgid "ALT"
msgstr ""
-#: src/view/com/modals/EditImage.tsx:315
+#: src/view/com/modals/EditImage.tsx:316
msgid "Alt text"
msgstr ""
@@ -264,12 +253,20 @@ msgstr ""
msgid "An email has been sent to your previous address, {0}. It includes a confirmation code which you can enter below."
msgstr ""
-#: src/view/com/profile/FollowButton.tsx:30
-#: src/view/com/profile/FollowButton.tsx:40
+#: src/lib/moderation/useReportOptions.ts:26
+msgid "An issue not included in these options"
+msgstr ""
+
+#: src/components/hooks/useFollowMethods.ts:35
+#: src/components/hooks/useFollowMethods.ts:50
+#: src/view/com/profile/FollowButton.tsx:35
+#: src/view/com/profile/FollowButton.tsx:45
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:188
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:198
msgid "An issue occurred, please try again."
msgstr ""
-#: src/view/com/notifications/FeedItem.tsx:237
+#: src/view/com/notifications/FeedItem.tsx:242
#: src/view/com/threadgate/WhoCanReply.tsx:178
msgid "and"
msgstr ""
@@ -278,74 +275,69 @@ msgstr ""
msgid "Animals"
msgstr ""
+#: src/lib/moderation/useReportOptions.ts:31
+msgid "Anti-Social Behavior"
+msgstr ""
+
#: src/view/screens/LanguageSettings.tsx:95
msgid "App Language"
msgstr ""
-#: src/view/screens/AppPasswords.tsx:228
+#: src/view/screens/AppPasswords.tsx:223
msgid "App password deleted"
msgstr ""
-#: src/view/com/modals/AddAppPasswords.tsx:134
+#: src/view/com/modals/AddAppPasswords.tsx:135
msgid "App Password names can only contain letters, numbers, spaces, dashes, and underscores."
msgstr ""
-#: src/view/com/modals/AddAppPasswords.tsx:99
+#: src/view/com/modals/AddAppPasswords.tsx:100
msgid "App Password names must be at least 4 characters long."
msgstr ""
-#: src/view/screens/Settings/index.tsx:675
+#: src/view/screens/Settings/index.tsx:646
msgid "App password settings"
msgstr ""
-#: src/view/screens/Settings.tsx:650
-#~ msgid "App passwords"
-#~ msgstr ""
-
-#: src/Navigation.tsx:239
-#: src/view/screens/AppPasswords.tsx:187
-#: src/view/screens/Settings/index.tsx:684
+#: src/Navigation.tsx:251
+#: src/view/screens/AppPasswords.tsx:189
+#: src/view/screens/Settings/index.tsx:655
msgid "App Passwords"
msgstr ""
-#: src/view/com/util/forms/PostDropdownBtn.tsx:337
-#: src/view/com/util/forms/PostDropdownBtn.tsx:346
-msgid "Appeal content warning"
+#: src/components/moderation/LabelsOnMeDialog.tsx:133
+#: src/components/moderation/LabelsOnMeDialog.tsx:136
+msgid "Appeal"
msgstr ""
-#: src/view/com/modals/AppealLabel.tsx:65
-msgid "Appeal Content Warning"
+#: src/components/moderation/LabelsOnMeDialog.tsx:201
+msgid "Appeal \"{0}\" label"
msgstr ""
-#: src/view/com/util/moderation/LabelInfo.tsx:52
-msgid "Appeal this decision"
+#: src/components/moderation/LabelsOnMeDialog.tsx:192
+msgid "Appeal submitted."
msgstr ""
-#: src/view/com/util/moderation/LabelInfo.tsx:56
-msgid "Appeal this decision."
-msgstr ""
-
-#: src/view/screens/Settings/index.tsx:466
+#: src/view/screens/Settings/index.tsx:436
msgid "Appearance"
msgstr ""
-#: src/view/screens/AppPasswords.tsx:224
+#: src/view/screens/AppPasswords.tsx:265
msgid "Are you sure you want to delete the app password \"{name}\"?"
msgstr ""
-#: src/view/com/composer/Composer.tsx:150
+#: src/view/com/feeds/FeedSourceCard.tsx:280
+msgid "Are you sure you want to remove {0} from your feeds?"
+msgstr ""
+
+#: src/view/com/composer/Composer.tsx:509
msgid "Are you sure you'd like to discard this draft?"
msgstr ""
-#: src/components/dialogs/MutedWords.tsx:282
-#: src/view/screens/ProfileList.tsx:365
+#: src/components/dialogs/MutedWords.tsx:281
msgid "Are you sure?"
msgstr ""
-#: src/view/com/util/forms/PostDropdownBtn.tsx:322
-msgid "Are you sure? This cannot be undone."
-msgstr ""
-
#: src/view/com/composer/select-language/SuggestedLanguage.tsx:60
msgid "Are you writing in <0>{0}0>?"
msgstr ""
@@ -358,152 +350,155 @@ msgstr ""
msgid "Artistic or non-erotic nudity."
msgstr ""
-#: src/view/com/auth/create/CreateAccount.tsx:158
-#: src/view/com/auth/login/ChooseAccountForm.tsx:151
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:174
-#: src/view/com/auth/login/LoginForm.tsx:259
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:179
-#: src/view/com/modals/report/InputIssueDetails.tsx:46
-#: src/view/com/post-thread/PostThread.tsx:472
-#: src/view/com/post-thread/PostThread.tsx:522
-#: src/view/com/post-thread/PostThread.tsx:530
-#: src/view/com/profile/ProfileHeader.tsx:649
+#: src/screens/Signup/StepHandle.tsx:119
+msgid "At least 3 characters"
+msgstr ""
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:246
+#: src/components/moderation/LabelsOnMeDialog.tsx:247
+#: src/screens/Login/ChooseAccountForm.tsx:73
+#: src/screens/Login/ChooseAccountForm.tsx:78
+#: src/screens/Login/ForgotPasswordForm.tsx:129
+#: src/screens/Login/ForgotPasswordForm.tsx:135
+#: src/screens/Login/LoginForm.tsx:221
+#: src/screens/Login/LoginForm.tsx:227
+#: src/screens/Login/SetNewPasswordForm.tsx:160
+#: src/screens/Login/SetNewPasswordForm.tsx:166
+#: src/screens/Profile/Header/Shell.tsx:96
+#: src/screens/Signup/index.tsx:180
#: src/view/com/util/ViewHeader.tsx:87
msgid "Back"
msgstr ""
-#: src/view/com/post-thread/PostThread.tsx:480
-msgctxt "action"
-msgid "Back"
-msgstr ""
-
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:136
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:144
msgid "Based on your interest in {interestsText}"
msgstr ""
-#: src/view/screens/Settings/index.tsx:523
+#: src/view/screens/Settings/index.tsx:493
msgid "Basics"
msgstr ""
-#: src/view/com/auth/create/Step1.tsx:227
-#: src/view/com/modals/BirthDateSettings.tsx:73
+#: src/components/dialogs/BirthDateSettings.tsx:107
msgid "Birthday"
msgstr ""
-#: src/view/screens/Settings/index.tsx:340
+#: src/view/screens/Settings/index.tsx:362
msgid "Birthday:"
msgstr ""
-#: src/view/com/profile/ProfileHeader.tsx:239
-#: src/view/com/profile/ProfileHeader.tsx:346
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:286
+#: src/view/com/profile/ProfileMenu.tsx:361
+msgid "Block"
+msgstr ""
+
+#: src/view/com/profile/ProfileMenu.tsx:300
+#: src/view/com/profile/ProfileMenu.tsx:307
msgid "Block Account"
msgstr ""
-#: src/view/screens/ProfileList.tsx:556
+#: src/view/com/profile/ProfileMenu.tsx:344
+msgid "Block Account?"
+msgstr ""
+
+#: src/view/screens/ProfileList.tsx:532
msgid "Block accounts"
msgstr ""
-#: src/view/screens/ProfileList.tsx:506
+#: src/view/screens/ProfileList.tsx:480
+#: src/view/screens/ProfileList.tsx:636
msgid "Block list"
msgstr ""
-#: src/view/screens/ProfileList.tsx:316
+#: src/view/screens/ProfileList.tsx:631
msgid "Block these accounts?"
msgstr ""
-#: src/view/screens/ProfileList.tsx:320
-msgid "Block this List"
-msgstr ""
-
#: src/view/com/lists/ListCard.tsx:110
-#: src/view/com/util/post-embeds/QuoteEmbed.tsx:61
+#: src/view/com/util/post-embeds/QuoteEmbed.tsx:58
msgid "Blocked"
msgstr ""
-#: src/view/screens/Moderation.tsx:142
+#: src/screens/Moderation/index.tsx:267
msgid "Blocked accounts"
msgstr ""
-#: src/Navigation.tsx:132
-#: src/view/screens/ModerationBlockedAccounts.tsx:107
+#: src/Navigation.tsx:134
+#: src/view/screens/ModerationBlockedAccounts.tsx:113
msgid "Blocked Accounts"
msgstr ""
-#: src/view/com/profile/ProfileHeader.tsx:241
+#: src/view/com/profile/ProfileMenu.tsx:356
msgid "Blocked accounts cannot reply in your threads, mention you, or otherwise interact with you."
msgstr ""
-#: src/view/screens/ModerationBlockedAccounts.tsx:115
+#: src/view/screens/ModerationBlockedAccounts.tsx:121
msgid "Blocked accounts cannot reply in your threads, mention you, or otherwise interact with you. You will not see their content and they will be prevented from seeing yours."
msgstr ""
-#: src/view/com/post-thread/PostThread.tsx:324
+#: src/view/com/post-thread/PostThread.tsx:313
msgid "Blocked post."
msgstr ""
-#: src/view/screens/ProfileList.tsx:318
+#: src/screens/Profile/Sections/Labels.tsx:163
+msgid "Blocking does not prevent this labeler from placing labels on your account."
+msgstr ""
+
+#: src/view/screens/ProfileList.tsx:633
msgid "Blocking is public. Blocked accounts cannot reply in your threads, mention you, or otherwise interact with you."
msgstr ""
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:93
-#: src/view/com/auth/SplashScreen.web.tsx:133
+#: src/view/com/profile/ProfileMenu.tsx:353
+msgid "Blocking will not prevent labels from being applied on your account, but it will stop this account from replying in your threads or interacting with you."
+msgstr ""
+
+#: src/view/com/auth/SplashScreen.web.tsx:149
msgid "Blog"
msgstr ""
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:31
#: src/view/com/auth/server-input/index.tsx:89
-#: src/view/com/auth/server-input/index.tsx:90
+#: src/view/com/auth/server-input/index.tsx:91
msgid "Bluesky"
msgstr ""
-#: src/view/com/auth/server-input/index.tsx:150
+#: src/view/com/auth/server-input/index.tsx:154
msgid "Bluesky is an open network where you can choose your hosting provider. Custom hosting is now available in beta for developers."
msgstr ""
#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:80
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:80
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:82
msgid "Bluesky is flexible."
msgstr ""
#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:69
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:69
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:71
msgid "Bluesky is open."
msgstr ""
#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:56
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:56
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:58
msgid "Bluesky is public."
msgstr ""
-#: src/view/com/modals/Waitlist.tsx:70
-#~ msgid "Bluesky uses invites to build a healthier community. If you don't know anybody with an invite, you can sign up for the waitlist and we'll send one soon."
-#~ msgstr ""
-
-#: src/view/screens/Moderation.tsx:245
+#: src/screens/Moderation/index.tsx:533
msgid "Bluesky will not show your profile and posts to logged-out users. Other apps may not honor this request. This does not make your account private."
msgstr ""
-#: src/view/com/modals/ServerInput.tsx:78
-#~ msgid "Bluesky.Social"
-#~ msgstr ""
+#: src/lib/moderation/useLabelBehaviorDescription.ts:53
+msgid "Blur images"
+msgstr ""
+
+#: src/lib/moderation/useLabelBehaviorDescription.ts:51
+msgid "Blur images and filter from feeds"
+msgstr ""
#: src/screens/Onboarding/index.tsx:33
msgid "Books"
msgstr ""
-#: src/view/screens/Settings/index.tsx:859
-msgid "Build version {0} {1}"
-msgstr ""
-
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:87
-#: src/view/com/auth/SplashScreen.web.tsx:128
+#: src/view/com/auth/SplashScreen.web.tsx:146
msgid "Business"
msgstr ""
-#: src/view/com/modals/ServerInput.tsx:115
-#~ msgid "Button disabled. Input custom domain to proceed."
-#~ msgstr ""
-
#: src/view/com/profile/ProfileSubpageHeader.tsx:157
msgid "by —"
msgstr ""
@@ -512,94 +507,109 @@ msgstr ""
msgid "by {0}"
msgstr ""
+#: src/components/LabelingServiceCard/index.tsx:57
+msgid "By {0}"
+msgstr ""
+
#: src/view/com/profile/ProfileSubpageHeader.tsx:161
msgid "by <0/>"
msgstr ""
+#: src/screens/Signup/StepInfo/Policies.tsx:74
+msgid "By creating an account you agree to the {els}."
+msgstr ""
+
#: src/view/com/profile/ProfileSubpageHeader.tsx:159
msgid "by you"
msgstr ""
-#: src/view/com/composer/photos/OpenCameraBtn.tsx:60
-#: src/view/com/util/UserAvatar.tsx:224
-#: src/view/com/util/UserBanner.tsx:40
+#: src/view/com/composer/photos/OpenCameraBtn.tsx:77
msgid "Camera"
msgstr ""
-#: src/view/com/modals/AddAppPasswords.tsx:216
+#: src/view/com/modals/AddAppPasswords.tsx:217
msgid "Can only contain letters, numbers, spaces, dashes, and underscores. Must be at least 4 characters long, but no more than 32 characters long."
msgstr ""
-#: src/components/Prompt.tsx:101
-#: src/view/com/composer/Composer.tsx:307
-#: src/view/com/composer/Composer.tsx:312
+#: src/components/Menu/index.tsx:213
+#: src/components/Prompt.tsx:113
+#: src/components/Prompt.tsx:115
+#: src/components/TagMenu/index.tsx:268
+#: src/view/com/composer/Composer.tsx:317
+#: src/view/com/composer/Composer.tsx:322
#: src/view/com/modals/ChangeEmail.tsx:218
#: src/view/com/modals/ChangeEmail.tsx:220
-#: src/view/com/modals/ChangePassword.tsx:265
-#: src/view/com/modals/ChangePassword.tsx:268
-#: src/view/com/modals/CreateOrEditList.tsx:355
-#: src/view/com/modals/EditImage.tsx:323
-#: src/view/com/modals/EditProfile.tsx:249
+#: src/view/com/modals/ChangeHandle.tsx:154
+#: src/view/com/modals/ChangePassword.tsx:267
+#: src/view/com/modals/ChangePassword.tsx:270
+#: src/view/com/modals/CreateOrEditList.tsx:356
+#: src/view/com/modals/crop-image/CropImage.web.tsx:138
+#: src/view/com/modals/EditImage.tsx:324
+#: src/view/com/modals/EditProfile.tsx:250
#: src/view/com/modals/InAppBrowserConsent.tsx:78
-#: src/view/com/modals/LinkWarning.tsx:87
-#: src/view/com/modals/Repost.tsx:87
+#: src/view/com/modals/InAppBrowserConsent.tsx:80
+#: src/view/com/modals/LinkWarning.tsx:105
+#: src/view/com/modals/LinkWarning.tsx:107
+#: src/view/com/modals/Repost.tsx:88
#: src/view/com/modals/VerifyEmail.tsx:247
#: src/view/com/modals/VerifyEmail.tsx:253
-#: src/view/screens/Search/Search.tsx:716
-#: src/view/shell/desktop/Search.tsx:238
+#: src/view/screens/Search/Search.tsx:865
+#: src/view/shell/desktop/Search.tsx:239
msgid "Cancel"
msgstr ""
-#: src/view/com/modals/Confirm.tsx:88
-#: src/view/com/modals/Confirm.tsx:91
-#: src/view/com/modals/CreateOrEditList.tsx:360
-#: src/view/com/modals/DeleteAccount.tsx:156
-#: src/view/com/modals/DeleteAccount.tsx:234
+#: src/view/com/modals/CreateOrEditList.tsx:361
+#: src/view/com/modals/DeleteAccount.tsx:155
+#: src/view/com/modals/DeleteAccount.tsx:233
msgctxt "action"
msgid "Cancel"
msgstr ""
-#: src/view/com/modals/DeleteAccount.tsx:152
-#: src/view/com/modals/DeleteAccount.tsx:230
+#: src/view/com/modals/DeleteAccount.tsx:151
+#: src/view/com/modals/DeleteAccount.tsx:229
msgid "Cancel account deletion"
msgstr ""
-#: src/view/com/modals/ChangeHandle.tsx:149
+#: src/view/com/modals/ChangeHandle.tsx:150
msgid "Cancel change handle"
msgstr ""
-#: src/view/com/modals/crop-image/CropImage.web.tsx:134
+#: src/view/com/modals/crop-image/CropImage.web.tsx:135
msgid "Cancel image crop"
msgstr ""
-#: src/view/com/modals/EditProfile.tsx:244
+#: src/view/com/modals/EditProfile.tsx:245
msgid "Cancel profile editing"
msgstr ""
-#: src/view/com/modals/Repost.tsx:78
+#: src/view/com/modals/Repost.tsx:79
msgid "Cancel quote post"
msgstr ""
#: src/view/com/modals/ListAddRemoveUsers.tsx:87
-#: src/view/shell/desktop/Search.tsx:234
+#: src/view/shell/desktop/Search.tsx:235
msgid "Cancel search"
msgstr ""
-#: src/view/com/modals/Waitlist.tsx:136
-#~ msgid "Cancel waitlist signup"
-#~ msgstr ""
+#: src/view/com/modals/LinkWarning.tsx:106
+msgid "Cancels opening the linked website"
+msgstr ""
-#: src/view/screens/Settings/index.tsx:334
+#: src/view/com/modals/VerifyEmail.tsx:152
+msgid "Change"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:356
msgctxt "action"
msgid "Change"
msgstr ""
-#: src/view/screens/Settings/index.tsx:696
+#: src/view/screens/Settings/index.tsx:667
msgid "Change handle"
msgstr ""
-#: src/view/com/modals/ChangeHandle.tsx:161
-#: src/view/screens/Settings/index.tsx:705
+#: src/view/com/modals/ChangeHandle.tsx:162
+#: src/view/screens/Settings/index.tsx:678
msgid "Change Handle"
msgstr ""
@@ -607,11 +617,12 @@ msgstr ""
msgid "Change my email"
msgstr ""
-#: src/view/screens/Settings/index.tsx:732
+#: src/view/screens/Settings/index.tsx:718
msgid "Change password"
msgstr ""
-#: src/view/screens/Settings/index.tsx:741
+#: src/view/com/modals/ChangePassword.tsx:141
+#: src/view/screens/Settings/index.tsx:729
msgid "Change Password"
msgstr ""
@@ -619,10 +630,6 @@ msgstr ""
msgid "Change post language to {0}"
msgstr ""
-#: src/view/screens/Settings/index.tsx:733
-msgid "Change your Bluesky password"
-msgstr ""
-
#: src/view/com/modals/ChangeEmail.tsx:109
msgid "Change Your Email"
msgstr ""
@@ -632,15 +639,15 @@ msgstr ""
msgid "Check my status"
msgstr ""
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:121
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:122
msgid "Check out some recommended feeds. Tap + to add them to your list of pinned feeds."
msgstr ""
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:185
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:186
msgid "Check out some recommended users. Follow them to see similar users."
msgstr ""
-#: src/view/com/modals/DeleteAccount.tsx:169
+#: src/view/com/modals/DeleteAccount.tsx:168
msgid "Check your inbox for an email with the confirmation code to enter below:"
msgstr ""
@@ -648,58 +655,56 @@ msgstr ""
msgid "Choose \"Everybody\" or \"Nobody\""
msgstr ""
-#: src/view/screens/Settings/index.tsx:697
-msgid "Choose a new Bluesky username or create"
-msgstr ""
-
#: src/view/com/auth/server-input/index.tsx:79
msgid "Choose Service"
msgstr ""
-#: src/screens/Onboarding/StepFinished.tsx:135
+#: src/screens/Onboarding/StepFinished.tsx:139
msgid "Choose the algorithms that power your custom feeds."
msgstr ""
#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:83
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:83
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:85
msgid "Choose the algorithms that power your experience with custom feeds."
msgstr ""
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:103
-#~ msgid "Choose your algorithmic feeds"
-#~ msgstr ""
-
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:103
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:104
msgid "Choose your main feeds"
msgstr ""
-#: src/view/com/auth/create/Step1.tsx:196
+#: src/screens/Signup/StepInfo/index.tsx:114
msgid "Choose your password"
msgstr ""
-#: src/view/screens/Settings/index.tsx:834
-#: src/view/screens/Settings/index.tsx:835
+#: src/view/screens/Settings/index.tsx:832
msgid "Clear all legacy storage data"
msgstr ""
-#: src/view/screens/Settings/index.tsx:837
+#: src/view/screens/Settings/index.tsx:835
msgid "Clear all legacy storage data (restart after this)"
msgstr ""
-#: src/view/screens/Settings/index.tsx:846
-#: src/view/screens/Settings/index.tsx:847
+#: src/view/screens/Settings/index.tsx:844
msgid "Clear all storage data"
msgstr ""
-#: src/view/screens/Settings/index.tsx:849
+#: src/view/screens/Settings/index.tsx:847
msgid "Clear all storage data (restart after this)"
msgstr ""
#: src/view/com/util/forms/SearchInput.tsx:88
-#: src/view/screens/Search/Search.tsx:697
+#: src/view/screens/Search/Search.tsx:846
msgid "Clear search query"
msgstr ""
+#: src/view/screens/Settings/index.tsx:833
+msgid "Clears all legacy storage data"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:845
+msgid "Clears all storage data"
+msgstr ""
+
#: src/view/screens/Support.tsx:40
msgid "click here"
msgstr ""
@@ -708,7 +713,7 @@ msgstr ""
msgid "Click here to open tag menu for {tag}"
msgstr ""
-#: src/components/RichText.tsx:191
+#: src/components/RichText.tsx:198
msgid "Click here to open tag menu for #{tag}"
msgstr ""
@@ -716,57 +721,58 @@ msgstr ""
msgid "Climate"
msgstr ""
-#: src/view/com/modals/ChangePassword.tsx:265
-#: src/view/com/modals/ChangePassword.tsx:268
+#: src/view/com/modals/ChangePassword.tsx:267
+#: src/view/com/modals/ChangePassword.tsx:270
msgid "Close"
msgstr ""
-#: src/components/Dialog/index.web.tsx:84
-#: src/components/Dialog/index.web.tsx:198
+#: src/components/Dialog/index.web.tsx:106
+#: src/components/Dialog/index.web.tsx:218
msgid "Close active dialog"
msgstr ""
-#: src/view/com/auth/login/PasswordUpdatedForm.tsx:38
+#: src/screens/Login/PasswordUpdatedForm.tsx:38
msgid "Close alert"
msgstr ""
-#: src/view/com/util/BottomSheetCustomBackdrop.tsx:33
+#: src/view/com/util/BottomSheetCustomBackdrop.tsx:36
msgid "Close bottom drawer"
msgstr ""
-#: src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx:26
+#: src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx:36
msgid "Close image"
msgstr ""
-#: src/view/com/lightbox/Lightbox.web.tsx:119
+#: src/view/com/lightbox/Lightbox.web.tsx:129
msgid "Close image viewer"
msgstr ""
-#: src/view/shell/index.web.tsx:51
+#: src/view/shell/index.web.tsx:57
msgid "Close navigation footer"
msgstr ""
+#: src/components/Menu/index.tsx:207
#: src/components/TagMenu/index.tsx:262
msgid "Close this dialog"
msgstr ""
-#: src/view/shell/index.web.tsx:52
+#: src/view/shell/index.web.tsx:58
msgid "Closes bottom navigation bar"
msgstr ""
-#: src/view/com/auth/login/PasswordUpdatedForm.tsx:39
+#: src/screens/Login/PasswordUpdatedForm.tsx:39
msgid "Closes password update alert"
msgstr ""
-#: src/view/com/composer/Composer.tsx:309
+#: src/view/com/composer/Composer.tsx:319
msgid "Closes post composer and discards post draft"
msgstr ""
-#: src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx:27
+#: src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx:37
msgid "Closes viewer for header image"
msgstr ""
-#: src/view/com/notifications/FeedItem.tsx:318
+#: src/view/com/notifications/FeedItem.tsx:323
msgid "Collapses list of users for a given notification"
msgstr ""
@@ -778,20 +784,20 @@ msgstr ""
msgid "Comics"
msgstr ""
-#: src/Navigation.tsx:229
+#: src/Navigation.tsx:241
#: src/view/screens/CommunityGuidelines.tsx:32
msgid "Community Guidelines"
msgstr ""
-#: src/screens/Onboarding/StepFinished.tsx:148
+#: src/screens/Onboarding/StepFinished.tsx:152
msgid "Complete onboarding and start using your account"
msgstr ""
-#: src/view/com/auth/create/Step3.tsx:73
+#: src/screens/Signup/index.tsx:155
msgid "Complete the challenge"
msgstr ""
-#: src/view/com/composer/Composer.tsx:424
+#: src/view/com/composer/Composer.tsx:438
msgid "Compose posts up to {MAX_GRAPHEME_LENGTH} characters in length"
msgstr ""
@@ -799,12 +805,20 @@ msgstr ""
msgid "Compose reply"
msgstr ""
-#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:67
+#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:81
msgid "Configure content filtering setting for category: {0}"
msgstr ""
-#: src/components/Prompt.tsx:124
-#: src/view/com/modals/AppealLabel.tsx:98
+#: src/components/moderation/LabelPreference.tsx:81
+msgid "Configure content filtering setting for category: {name}"
+msgstr ""
+
+#: src/components/moderation/LabelPreference.tsx:244
+msgid "Configured in <0>moderation settings0>."
+msgstr ""
+
+#: src/components/Prompt.tsx:153
+#: src/components/Prompt.tsx:156
#: src/view/com/modals/SelfLabel.tsx:154
#: src/view/com/modals/VerifyEmail.tsx:231
#: src/view/com/modals/VerifyEmail.tsx:233
@@ -813,54 +827,52 @@ msgstr ""
msgid "Confirm"
msgstr ""
-#: src/view/com/modals/Confirm.tsx:75
-#: src/view/com/modals/Confirm.tsx:78
-msgctxt "action"
-msgid "Confirm"
-msgstr ""
-
#: src/view/com/modals/ChangeEmail.tsx:193
#: src/view/com/modals/ChangeEmail.tsx:195
msgid "Confirm Change"
msgstr ""
-#: src/view/com/modals/lang-settings/ConfirmLanguagesButton.tsx:34
+#: src/view/com/modals/lang-settings/ConfirmLanguagesButton.tsx:35
msgid "Confirm content language settings"
msgstr ""
-#: src/view/com/modals/DeleteAccount.tsx:220
+#: src/view/com/modals/DeleteAccount.tsx:219
msgid "Confirm delete account"
msgstr ""
-#: src/view/com/modals/ContentFilteringSettings.tsx:156
-msgid "Confirm your age to enable adult content."
+#: src/screens/Moderation/index.tsx:301
+msgid "Confirm your age:"
+msgstr ""
+
+#: src/screens/Moderation/index.tsx:292
+msgid "Confirm your birthdate"
msgstr ""
#: src/view/com/modals/ChangeEmail.tsx:157
-#: src/view/com/modals/DeleteAccount.tsx:182
+#: src/view/com/modals/DeleteAccount.tsx:175
+#: src/view/com/modals/DeleteAccount.tsx:181
#: src/view/com/modals/VerifyEmail.tsx:165
msgid "Confirmation code"
msgstr ""
-#: src/view/com/modals/Waitlist.tsx:120
-#~ msgid "Confirms signing up {email} to the waitlist"
-#~ msgstr ""
-
-#: src/view/com/auth/create/CreateAccount.tsx:193
-#: src/view/com/auth/login/LoginForm.tsx:278
+#: src/screens/Login/LoginForm.tsx:248
msgid "Connecting..."
msgstr ""
-#: src/view/com/auth/create/CreateAccount.tsx:213
+#: src/screens/Signup/index.tsx:225
msgid "Contact support"
msgstr ""
-#: src/view/screens/Moderation.tsx:83
-msgid "Content filtering"
+#: src/components/moderation/LabelsOnMe.tsx:42
+msgid "content"
msgstr ""
-#: src/view/com/modals/ContentFilteringSettings.tsx:44
-msgid "Content Filtering"
+#: src/lib/moderation/useGlobalLabelStrings.ts:18
+msgid "Content Blocked"
+msgstr ""
+
+#: src/screens/Moderation/index.tsx:285
+msgid "Content filters"
msgstr ""
#: src/view/com/modals/lang-settings/ContentLanguagesSettings.tsx:74
@@ -868,12 +880,15 @@ msgstr ""
msgid "Content Languages"
msgstr ""
-#: src/view/com/modals/ModerationDetails.tsx:65
+#: src/components/moderation/ModerationDetailsDialog.tsx:75
+#: src/lib/moderation/useModerationCauseDescription.ts:75
msgid "Content Not Available"
msgstr ""
-#: src/view/com/modals/ModerationDetails.tsx:33
-#: src/view/com/util/moderation/ScreenHider.tsx:78
+#: src/components/moderation/ModerationDetailsDialog.tsx:46
+#: src/components/moderation/ScreenHider.tsx:99
+#: src/lib/moderation/useGlobalLabelStrings.ts:22
+#: src/lib/moderation/useModerationCauseDescription.ts:38
msgid "Content Warning"
msgstr ""
@@ -881,28 +896,38 @@ msgstr ""
msgid "Content warnings"
msgstr ""
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:170
-#: src/screens/Onboarding/StepFollowingFeed.tsx:153
-#: src/screens/Onboarding/StepInterests/index.tsx:248
-#: src/screens/Onboarding/StepModeration/index.tsx:118
-#: src/screens/Onboarding/StepTopicalFeeds.tsx:114
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:148
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:209
+#: src/components/Menu/index.web.tsx:84
+msgid "Context menu backdrop, click to close the menu."
+msgstr ""
+
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:161
+#: src/screens/Onboarding/StepFollowingFeed.tsx:154
+#: src/screens/Onboarding/StepInterests/index.tsx:252
+#: src/screens/Onboarding/StepModeration/index.tsx:103
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:118
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:150
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:211
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:96
msgid "Continue"
msgstr ""
-#: src/screens/Onboarding/StepFollowingFeed.tsx:150
-#: src/screens/Onboarding/StepInterests/index.tsx:245
-#: src/screens/Onboarding/StepModeration/index.tsx:115
-#: src/screens/Onboarding/StepTopicalFeeds.tsx:111
+#: src/components/AccountList.tsx:108
+msgid "Continue as {0} (currently signed in)"
+msgstr ""
+
+#: src/screens/Onboarding/StepFollowingFeed.tsx:151
+#: src/screens/Onboarding/StepInterests/index.tsx:249
+#: src/screens/Onboarding/StepModeration/index.tsx:100
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:115
+#: src/screens/Signup/index.tsx:200
msgid "Continue to next step"
msgstr ""
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:167
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:158
msgid "Continue to the next step"
msgstr ""
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:191
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:199
msgid "Continue to the next step without following any accounts"
msgstr ""
@@ -910,100 +935,106 @@ msgstr ""
msgid "Cooking"
msgstr ""
-#: src/view/com/modals/AddAppPasswords.tsx:195
-#: src/view/com/modals/InviteCodes.tsx:182
+#: src/view/com/modals/AddAppPasswords.tsx:196
+#: src/view/com/modals/InviteCodes.tsx:183
msgid "Copied"
msgstr ""
-#: src/view/screens/Settings/index.tsx:241
+#: src/view/screens/Settings/index.tsx:254
msgid "Copied build version to clipboard"
msgstr ""
-#: src/view/com/modals/AddAppPasswords.tsx:76
-#: src/view/com/modals/InviteCodes.tsx:152
-#: src/view/com/util/forms/PostDropdownBtn.tsx:161
+#: src/view/com/modals/AddAppPasswords.tsx:77
+#: src/view/com/modals/ChangeHandle.tsx:326
+#: src/view/com/modals/InviteCodes.tsx:153
+#: src/view/com/util/forms/PostDropdownBtn.tsx:164
msgid "Copied to clipboard"
msgstr ""
-#: src/view/com/modals/AddAppPasswords.tsx:189
+#: src/components/dialogs/Embed.tsx:134
+msgid "Copied!"
+msgstr ""
+
+#: src/view/com/modals/AddAppPasswords.tsx:190
msgid "Copies app password"
msgstr ""
-#: src/view/com/modals/AddAppPasswords.tsx:188
+#: src/view/com/modals/AddAppPasswords.tsx:189
msgid "Copy"
msgstr ""
-#: src/view/screens/ProfileList.tsx:418
+#: src/view/com/modals/ChangeHandle.tsx:480
+msgid "Copy {0}"
+msgstr ""
+
+#: src/components/dialogs/Embed.tsx:120
+#: src/components/dialogs/Embed.tsx:139
+msgid "Copy code"
+msgstr ""
+
+#: src/view/screens/ProfileList.tsx:390
msgid "Copy link to list"
msgstr ""
-#: src/view/com/util/forms/PostDropdownBtn.tsx:231
-#: src/view/com/util/forms/PostDropdownBtn.tsx:237
+#: src/view/com/util/forms/PostDropdownBtn.tsx:236
+#: src/view/com/util/forms/PostDropdownBtn.tsx:245
msgid "Copy link to post"
msgstr ""
-#: src/view/com/profile/ProfileHeader.tsx:295
-msgid "Copy link to profile"
-msgstr ""
-
-#: src/view/com/util/forms/PostDropdownBtn.tsx:223
-#: src/view/com/util/forms/PostDropdownBtn.tsx:225
+#: src/view/com/util/forms/PostDropdownBtn.tsx:228
+#: src/view/com/util/forms/PostDropdownBtn.tsx:230
msgid "Copy post text"
msgstr ""
-#: src/Navigation.tsx:234
+#: src/Navigation.tsx:246
#: src/view/screens/CopyrightPolicy.tsx:29
msgid "Copyright Policy"
msgstr ""
-#: src/view/screens/ProfileFeed.tsx:97
+#: src/view/screens/ProfileFeed.tsx:103
msgid "Could not load feed"
msgstr ""
-#: src/view/screens/ProfileList.tsx:893
+#: src/view/screens/ProfileList.tsx:909
msgid "Could not load list"
msgstr ""
-#: src/view/com/auth/create/Step2.tsx:91
-#~ msgid "Country"
-#~ msgstr ""
-
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:62
-#: src/view/com/auth/SplashScreen.tsx:71
-#: src/view/com/auth/SplashScreen.web.tsx:81
+#: src/view/com/auth/SplashScreen.tsx:57
+#: src/view/com/auth/SplashScreen.web.tsx:101
msgid "Create a new account"
msgstr ""
-#: src/view/screens/Settings/index.tsx:384
+#: src/view/screens/Settings/index.tsx:406
msgid "Create a new Bluesky account"
msgstr ""
-#: src/view/com/auth/create/CreateAccount.tsx:133
+#: src/screens/Signup/index.tsx:130
msgid "Create Account"
msgstr ""
-#: src/view/com/modals/AddAppPasswords.tsx:226
+#: src/components/dialogs/Signin.tsx:86
+#: src/components/dialogs/Signin.tsx:88
+msgid "Create an account"
+msgstr ""
+
+#: src/view/com/modals/AddAppPasswords.tsx:227
msgid "Create App Password"
msgstr ""
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:54
-#: src/view/com/auth/SplashScreen.tsx:68
+#: src/view/com/auth/SplashScreen.tsx:48
+#: src/view/com/auth/SplashScreen.web.tsx:92
msgid "Create new account"
msgstr ""
-#: src/view/screens/AppPasswords.tsx:249
+#: src/components/ReportDialog/SelectReportOptionView.tsx:94
+msgid "Create report for {0}"
+msgstr ""
+
+#: src/view/screens/AppPasswords.tsx:246
msgid "Created {0}"
msgstr ""
-#: src/view/screens/ProfileFeed.tsx:616
-msgid "Created by <0/>"
-msgstr ""
-
-#: src/view/screens/ProfileFeed.tsx:614
-msgid "Created by you"
-msgstr ""
-
-#: src/view/com/composer/Composer.tsx:455
+#: src/view/com/composer/Composer.tsx:469
msgid "Creates a card with a thumbnail. The card links to {url}"
msgstr ""
@@ -1011,17 +1042,17 @@ msgstr ""
msgid "Culture"
msgstr ""
-#: src/view/com/auth/server-input/index.tsx:95
-#: src/view/com/auth/server-input/index.tsx:96
+#: src/view/com/auth/server-input/index.tsx:97
+#: src/view/com/auth/server-input/index.tsx:99
msgid "Custom"
msgstr ""
-#: src/view/com/modals/ChangeHandle.tsx:389
+#: src/view/com/modals/ChangeHandle.tsx:388
msgid "Custom domain"
msgstr ""
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:106
-#: src/view/screens/Feeds.tsx:692
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:107
+#: src/view/screens/Feeds.tsx:717
msgid "Custom feeds built by the community bring you new experiences and help you find the content you love."
msgstr ""
@@ -1029,12 +1060,8 @@ msgstr ""
msgid "Customize media from external sites."
msgstr ""
-#: src/view/screens/Settings.tsx:687
-#~ msgid "Danger Zone"
-#~ msgstr ""
-
-#: src/view/screens/Settings/index.tsx:485
-#: src/view/screens/Settings/index.tsx:511
+#: src/view/screens/Settings/index.tsx:455
+#: src/view/screens/Settings/index.tsx:481
msgid "Dark"
msgstr ""
@@ -1042,89 +1069,117 @@ msgstr ""
msgid "Dark mode"
msgstr ""
-#: src/view/screens/Settings/index.tsx:498
+#: src/view/screens/Settings/index.tsx:468
msgid "Dark Theme"
msgstr ""
+#: src/screens/Signup/StepInfo/index.tsx:134
+msgid "Date of birth"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:805
+msgid "Debug Moderation"
+msgstr ""
+
#: src/view/screens/Debug.tsx:83
msgid "Debug panel"
msgstr ""
-#: src/view/screens/Settings/index.tsx:772
+#: src/view/com/util/forms/PostDropdownBtn.tsx:341
+#: src/view/screens/AppPasswords.tsx:268
+#: src/view/screens/ProfileList.tsx:615
+msgid "Delete"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:760
msgid "Delete account"
msgstr ""
-#: src/view/com/modals/DeleteAccount.tsx:87
+#: src/view/com/modals/DeleteAccount.tsx:86
msgid "Delete Account"
msgstr ""
-#: src/view/screens/AppPasswords.tsx:222
-#: src/view/screens/AppPasswords.tsx:242
+#: src/view/screens/AppPasswords.tsx:239
msgid "Delete app password"
msgstr ""
-#: src/view/screens/ProfileList.tsx:364
-#: src/view/screens/ProfileList.tsx:445
+#: src/view/screens/AppPasswords.tsx:263
+msgid "Delete app password?"
+msgstr ""
+
+#: src/view/screens/ProfileList.tsx:417
msgid "Delete List"
msgstr ""
-#: src/view/com/modals/DeleteAccount.tsx:223
+#: src/view/com/modals/DeleteAccount.tsx:222
msgid "Delete my account"
msgstr ""
-#: src/view/screens/Settings.tsx:706
-#~ msgid "Delete my account…"
-#~ msgstr ""
-
-#: src/view/screens/Settings/index.tsx:784
+#: src/view/screens/Settings/index.tsx:772
msgid "Delete My Account…"
msgstr ""
-#: src/view/com/util/forms/PostDropdownBtn.tsx:317
-#: src/view/com/util/forms/PostDropdownBtn.tsx:326
+#: src/view/com/util/forms/PostDropdownBtn.tsx:322
+#: src/view/com/util/forms/PostDropdownBtn.tsx:324
msgid "Delete post"
msgstr ""
-#: src/view/com/util/forms/PostDropdownBtn.tsx:321
+#: src/view/screens/ProfileList.tsx:610
+msgid "Delete this list?"
+msgstr ""
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:336
msgid "Delete this post?"
msgstr ""
-#: src/view/com/util/post-embeds/QuoteEmbed.tsx:70
+#: src/view/com/util/post-embeds/QuoteEmbed.tsx:67
msgid "Deleted"
msgstr ""
-#: src/view/com/post-thread/PostThread.tsx:316
+#: src/view/com/post-thread/PostThread.tsx:305
msgid "Deleted post."
msgstr ""
-#: src/view/com/modals/CreateOrEditList.tsx:300
-#: src/view/com/modals/CreateOrEditList.tsx:321
-#: src/view/com/modals/EditProfile.tsx:198
-#: src/view/com/modals/EditProfile.tsx:210
+#: src/view/com/modals/CreateOrEditList.tsx:301
+#: src/view/com/modals/CreateOrEditList.tsx:322
+#: src/view/com/modals/EditProfile.tsx:199
+#: src/view/com/modals/EditProfile.tsx:211
msgid "Description"
msgstr ""
-#: src/view/screens/Settings.tsx:760
-#~ msgid "Developer Tools"
-#~ msgstr ""
-
#: src/view/com/composer/Composer.tsx:218
msgid "Did you want to say anything?"
msgstr ""
-#: src/view/screens/Settings/index.tsx:504
+#: src/view/screens/Settings/index.tsx:474
msgid "Dim"
msgstr ""
-#: src/view/com/composer/Composer.tsx:151
+#: src/view/screens/Settings/index.tsx:697
+msgid "Disable haptics"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:697
+msgid "Disable vibrations"
+msgstr ""
+
+#: src/lib/moderation/useLabelBehaviorDescription.ts:32
+#: src/lib/moderation/useLabelBehaviorDescription.ts:42
+#: src/lib/moderation/useLabelBehaviorDescription.ts:68
+#: src/screens/Moderation/index.tsx:341
+msgid "Disabled"
+msgstr ""
+
+#: src/view/com/composer/Composer.tsx:511
msgid "Discard"
msgstr ""
-#: src/view/com/composer/Composer.tsx:145
-msgid "Discard draft"
+#: src/view/com/composer/Composer.tsx:508
+msgid "Discard draft?"
msgstr ""
-#: src/view/screens/Moderation.tsx:226
+#: src/screens/Moderation/index.tsx:518
+#: src/screens/Moderation/index.tsx:522
msgid "Discourage apps from showing my account to logged-out users"
msgstr ""
@@ -1133,32 +1188,58 @@ msgstr ""
msgid "Discover new custom feeds"
msgstr ""
-#: src/view/screens/Feeds.tsx:473
-#~ msgid "Discover new feeds"
-#~ msgstr ""
-
-#: src/view/screens/Feeds.tsx:689
+#: src/view/screens/Feeds.tsx:714
msgid "Discover New Feeds"
msgstr ""
-#: src/view/com/modals/EditProfile.tsx:192
+#: src/view/com/modals/EditProfile.tsx:193
msgid "Display name"
msgstr ""
-#: src/view/com/modals/EditProfile.tsx:180
+#: src/view/com/modals/EditProfile.tsx:181
msgid "Display Name"
msgstr ""
-#: src/view/com/modals/ChangeHandle.tsx:487
+#: src/view/com/modals/ChangeHandle.tsx:397
+msgid "DNS Panel"
+msgstr ""
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:39
+msgid "Does not include nudity."
+msgstr ""
+
+#: src/screens/Signup/StepHandle.tsx:105
+msgid "Doesn't begin or end with a hyphen"
+msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:481
+msgid "Domain Value"
+msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:488
msgid "Domain verified!"
msgstr ""
-#: src/view/com/auth/create/Step1.tsx:170
-#~ msgid "Don't have an invite code?"
-#~ msgstr ""
+#: src/components/dialogs/BirthDateSettings.tsx:119
+#: src/components/dialogs/BirthDateSettings.tsx:125
+#: src/components/forms/DateField/index.tsx:74
+#: src/components/forms/DateField/index.tsx:80
+#: src/view/com/auth/server-input/index.tsx:169
+#: src/view/com/auth/server-input/index.tsx:170
+#: src/view/com/modals/AddAppPasswords.tsx:227
+#: src/view/com/modals/AltImage.tsx:140
+#: src/view/com/modals/crop-image/CropImage.web.tsx:153
+#: src/view/com/modals/InviteCodes.tsx:81
+#: src/view/com/modals/InviteCodes.tsx:124
+#: src/view/com/modals/ListAddRemoveUsers.tsx:142
+#: src/view/screens/PreferencesFollowingFeed.tsx:311
+#: src/view/screens/Settings/ExportCarDialog.tsx:94
+#: src/view/screens/Settings/ExportCarDialog.tsx:96
+msgid "Done"
+msgstr ""
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:86
-#: src/view/com/modals/EditImage.tsx:333
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:87
+#: src/view/com/modals/EditImage.tsx:334
#: src/view/com/modals/ListAddRemoveUsers.tsx:144
#: src/view/com/modals/SelfLabel.tsx:157
#: src/view/com/modals/Threadgate.tsx:129
@@ -1170,34 +1251,10 @@ msgctxt "action"
msgid "Done"
msgstr ""
-#: src/view/com/auth/server-input/index.tsx:165
-#: src/view/com/auth/server-input/index.tsx:166
-#: src/view/com/modals/AddAppPasswords.tsx:226
-#: src/view/com/modals/AltImage.tsx:139
-#: src/view/com/modals/ContentFilteringSettings.tsx:88
-#: src/view/com/modals/ContentFilteringSettings.tsx:96
-#: src/view/com/modals/crop-image/CropImage.web.tsx:152
-#: src/view/com/modals/InviteCodes.tsx:80
-#: src/view/com/modals/InviteCodes.tsx:123
-#: src/view/com/modals/ListAddRemoveUsers.tsx:142
-#: src/view/screens/PreferencesFollowingFeed.tsx:311
-#: src/view/screens/Settings/ExportCarDialog.tsx:93
-#: src/view/screens/Settings/ExportCarDialog.tsx:94
-msgid "Done"
-msgstr ""
-
-#: src/view/com/modals/lang-settings/ConfirmLanguagesButton.tsx:42
+#: src/view/com/modals/lang-settings/ConfirmLanguagesButton.tsx:43
msgid "Done{extraText}"
msgstr ""
-#: src/view/com/auth/login/ChooseAccountForm.tsx:45
-msgid "Double tap to sign in"
-msgstr ""
-
-#: src/view/screens/Settings/index.tsx:755
-msgid "Download Bluesky account data (repository)"
-msgstr ""
-
#: src/view/screens/Settings/ExportCarDialog.tsx:59
#: src/view/screens/Settings/ExportCarDialog.tsx:63
msgid "Download CAR file"
@@ -1207,35 +1264,47 @@ msgstr ""
msgid "Drop to add images"
msgstr ""
-#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:111
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:120
msgid "Due to Apple policies, adult content can only be enabled on the web after completing sign up."
msgstr ""
-#: src/view/com/modals/EditProfile.tsx:185
+#: src/view/com/modals/ChangeHandle.tsx:258
+msgid "e.g. alice"
+msgstr ""
+
+#: src/view/com/modals/EditProfile.tsx:186
msgid "e.g. Alice Roberts"
msgstr ""
-#: src/view/com/modals/EditProfile.tsx:203
+#: src/view/com/modals/ChangeHandle.tsx:380
+msgid "e.g. alice.com"
+msgstr ""
+
+#: src/view/com/modals/EditProfile.tsx:204
msgid "e.g. Artist, dog-lover, and avid reader."
msgstr ""
-#: src/view/com/modals/CreateOrEditList.tsx:283
-msgid "e.g. Great Posters"
+#: src/lib/moderation/useGlobalLabelStrings.ts:43
+msgid "E.g. artistic nudes."
msgstr ""
#: src/view/com/modals/CreateOrEditList.tsx:284
+msgid "e.g. Great Posters"
+msgstr ""
+
+#: src/view/com/modals/CreateOrEditList.tsx:285
msgid "e.g. Spammers"
msgstr ""
-#: src/view/com/modals/CreateOrEditList.tsx:312
+#: src/view/com/modals/CreateOrEditList.tsx:313
msgid "e.g. The posters who never miss."
msgstr ""
-#: src/view/com/modals/CreateOrEditList.tsx:313
+#: src/view/com/modals/CreateOrEditList.tsx:314
msgid "e.g. Users that repeatedly reply with ads."
msgstr ""
-#: src/view/com/modals/InviteCodes.tsx:96
+#: src/view/com/modals/InviteCodes.tsx:97
msgid "Each code works once. You'll receive more invite codes periodically."
msgstr ""
@@ -1244,51 +1313,58 @@ msgctxt "action"
msgid "Edit"
msgstr ""
+#: src/view/com/util/UserAvatar.tsx:301
+#: src/view/com/util/UserBanner.tsx:85
+msgid "Edit avatar"
+msgstr ""
+
#: src/view/com/composer/photos/Gallery.tsx:144
-#: src/view/com/modals/EditImage.tsx:207
+#: src/view/com/modals/EditImage.tsx:208
msgid "Edit image"
msgstr ""
-#: src/view/screens/ProfileList.tsx:433
+#: src/view/screens/ProfileList.tsx:405
msgid "Edit list details"
msgstr ""
-#: src/view/com/modals/CreateOrEditList.tsx:250
+#: src/view/com/modals/CreateOrEditList.tsx:251
msgid "Edit Moderation List"
msgstr ""
-#: src/Navigation.tsx:244
-#: src/view/screens/Feeds.tsx:434
-#: src/view/screens/SavedFeeds.tsx:84
+#: src/Navigation.tsx:256
+#: src/view/screens/Feeds.tsx:459
+#: src/view/screens/SavedFeeds.tsx:85
msgid "Edit My Feeds"
msgstr ""
-#: src/view/com/modals/EditProfile.tsx:152
+#: src/view/com/modals/EditProfile.tsx:153
msgid "Edit my profile"
msgstr ""
-#: src/view/com/profile/ProfileHeader.tsx:418
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:178
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:168
msgid "Edit profile"
msgstr ""
-#: src/view/com/profile/ProfileHeader.tsx:423
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:181
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:171
msgid "Edit Profile"
msgstr ""
-#: src/view/com/home/HomeHeaderLayout.web.tsx:62
-#: src/view/screens/Feeds.tsx:355
+#: src/view/com/home/HomeHeaderLayout.web.tsx:66
+#: src/view/screens/Feeds.tsx:380
msgid "Edit Saved Feeds"
msgstr ""
-#: src/view/com/modals/CreateOrEditList.tsx:245
+#: src/view/com/modals/CreateOrEditList.tsx:246
msgid "Edit User List"
msgstr ""
-#: src/view/com/modals/EditProfile.tsx:193
+#: src/view/com/modals/EditProfile.tsx:194
msgid "Edit your display name"
msgstr ""
-#: src/view/com/modals/EditProfile.tsx:211
+#: src/view/com/modals/EditProfile.tsx:212
msgid "Edit your profile description"
msgstr ""
@@ -1296,14 +1372,12 @@ msgstr ""
msgid "Education"
msgstr ""
-#: src/view/com/auth/create/Step1.tsx:176
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:156
+#: src/screens/Signup/StepInfo/index.tsx:80
#: src/view/com/modals/ChangeEmail.tsx:141
msgid "Email"
msgstr ""
-#: src/view/com/auth/create/Step1.tsx:167
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:147
+#: src/screens/Login/ForgotPasswordForm.tsx:99
msgid "Email address"
msgstr ""
@@ -1320,25 +1394,44 @@ msgstr ""
msgid "Email verified"
msgstr ""
-#: src/view/screens/Settings/index.tsx:312
+#: src/view/screens/Settings/index.tsx:334
msgid "Email:"
msgstr ""
-#: src/view/com/modals/EmbedConsent.tsx:113
+#: src/components/dialogs/Embed.tsx:112
+msgid "Embed HTML code"
+msgstr ""
+
+#: src/components/dialogs/Embed.tsx:97
+#: src/view/com/util/forms/PostDropdownBtn.tsx:253
+#: src/view/com/util/forms/PostDropdownBtn.tsx:255
+msgid "Embed post"
+msgstr ""
+
+#: src/components/dialogs/Embed.tsx:101
+msgid "Embed this post in your website. Simply copy the following snippet and paste it into the HTML code of your website."
+msgstr ""
+
+#: src/components/dialogs/EmbedConsent.tsx:101
msgid "Enable {0} only"
msgstr ""
-#: src/view/com/modals/ContentFilteringSettings.tsx:167
+#: src/screens/Moderation/index.tsx:329
+msgid "Enable adult content"
+msgstr ""
+
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:94
msgid "Enable Adult Content"
msgstr ""
-#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:76
-#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:77
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:78
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:79
msgid "Enable adult content in your feeds"
msgstr ""
-#: src/view/com/modals/EmbedConsent.tsx:97
-msgid "Enable External Media"
+#: src/components/dialogs/EmbedConsent.tsx:82
+#: src/components/dialogs/EmbedConsent.tsx:89
+msgid "Enable external media"
msgstr ""
#: src/view/screens/PreferencesExternalEmbeds.tsx:75
@@ -1349,16 +1442,28 @@ msgstr ""
msgid "Enable this setting to only see replies between people you follow."
msgstr ""
-#: src/view/screens/Profile.tsx:455
+#: src/components/dialogs/EmbedConsent.tsx:94
+msgid "Enable this source only"
+msgstr ""
+
+#: src/screens/Moderation/index.tsx:339
+msgid "Enabled"
+msgstr ""
+
+#: src/screens/Profile/Sections/Feed.tsx:100
msgid "End of feed"
msgstr ""
-#: src/view/com/modals/AddAppPasswords.tsx:166
+#: src/view/com/modals/AddAppPasswords.tsx:167
msgid "Enter a name for this App Password"
msgstr ""
+#: src/screens/Login/SetNewPasswordForm.tsx:139
+msgid "Enter a password"
+msgstr ""
+
+#: src/components/dialogs/MutedWords.tsx:99
#: src/components/dialogs/MutedWords.tsx:100
-#: src/components/dialogs/MutedWords.tsx:101
msgid "Enter a word or tag"
msgstr ""
@@ -1366,28 +1471,24 @@ msgstr ""
msgid "Enter Confirmation Code"
msgstr ""
-#: src/view/com/modals/ChangePassword.tsx:151
+#: src/view/com/modals/ChangePassword.tsx:153
msgid "Enter the code you received to change your password."
msgstr ""
-#: src/view/com/modals/ChangeHandle.tsx:371
+#: src/view/com/modals/ChangeHandle.tsx:370
msgid "Enter the domain you want to use"
msgstr ""
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:107
+#: src/screens/Login/ForgotPasswordForm.tsx:119
msgid "Enter the email you used to create your account. We'll send you a \"reset code\" so you can set a new password."
msgstr ""
-#: src/view/com/auth/create/Step1.tsx:228
-#: src/view/com/modals/BirthDateSettings.tsx:74
+#: src/components/dialogs/BirthDateSettings.tsx:108
msgid "Enter your birth date"
msgstr ""
-#: src/view/com/modals/Waitlist.tsx:78
-#~ msgid "Enter your email"
-#~ msgstr ""
-
-#: src/view/com/auth/create/Step1.tsx:172
+#: src/screens/Login/ForgotPasswordForm.tsx:105
+#: src/screens/Signup/StepInfo/index.tsx:92
msgid "Enter your email address"
msgstr ""
@@ -1399,19 +1500,15 @@ msgstr ""
msgid "Enter your new email address below."
msgstr ""
-#: src/view/com/auth/create/Step2.tsx:188
-#~ msgid "Enter your phone number"
-#~ msgstr ""
-
-#: src/view/com/auth/login/Login.tsx:99
+#: src/screens/Login/index.tsx:101
msgid "Enter your username and password"
msgstr ""
-#: src/view/com/auth/create/Step3.tsx:67
+#: src/screens/Signup/StepCaptcha/index.tsx:49
msgid "Error receiving captcha response."
msgstr ""
-#: src/view/screens/Search/Search.tsx:110
+#: src/view/screens/Search/Search.tsx:115
msgid "Error:"
msgstr ""
@@ -1419,131 +1516,148 @@ msgstr ""
msgid "Everybody"
msgstr ""
-#: src/view/com/modals/ChangeHandle.tsx:150
+#: src/lib/moderation/useReportOptions.ts:66
+msgid "Excessive mentions or replies"
+msgstr ""
+
+#: src/view/com/modals/DeleteAccount.tsx:230
+msgid "Exits account deletion process"
+msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:151
msgid "Exits handle change process"
msgstr ""
-#: src/view/com/lightbox/Lightbox.web.tsx:120
+#: src/view/com/modals/crop-image/CropImage.web.tsx:136
+msgid "Exits image cropping process"
+msgstr ""
+
+#: src/view/com/lightbox/Lightbox.web.tsx:130
msgid "Exits image view"
msgstr ""
#: src/view/com/modals/ListAddRemoveUsers.tsx:88
-#: src/view/shell/desktop/Search.tsx:235
+#: src/view/shell/desktop/Search.tsx:236
msgid "Exits inputting search query"
msgstr ""
-#: src/view/com/modals/Waitlist.tsx:138
-#~ msgid "Exits signing up for waitlist with {email}"
-#~ msgstr ""
-
-#: src/view/com/lightbox/Lightbox.web.tsx:163
+#: src/view/com/lightbox/Lightbox.web.tsx:183
msgid "Expand alt text"
msgstr ""
-#: src/view/com/composer/ComposerReplyTo.tsx:81
-#: src/view/com/composer/ComposerReplyTo.tsx:84
+#: src/view/com/composer/ComposerReplyTo.tsx:82
+#: src/view/com/composer/ComposerReplyTo.tsx:85
msgid "Expand or collapse the full post you are replying to"
msgstr ""
-#: src/view/screens/Settings/index.tsx:753
+#: src/lib/moderation/useGlobalLabelStrings.ts:47
+msgid "Explicit or potentially disturbing media."
+msgstr ""
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:35
+msgid "Explicit sexual images."
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:741
msgid "Export my data"
msgstr ""
#: src/view/screens/Settings/ExportCarDialog.tsx:44
-#: src/view/screens/Settings/index.tsx:764
+#: src/view/screens/Settings/index.tsx:752
msgid "Export My Data"
msgstr ""
-#: src/view/com/modals/EmbedConsent.tsx:64
+#: src/components/dialogs/EmbedConsent.tsx:55
+#: src/components/dialogs/EmbedConsent.tsx:59
msgid "External Media"
msgstr ""
-#: src/view/com/modals/EmbedConsent.tsx:75
+#: src/components/dialogs/EmbedConsent.tsx:71
#: src/view/screens/PreferencesExternalEmbeds.tsx:66
msgid "External media may allow websites to collect information about you and your device. No information is sent or requested until you press the \"play\" button."
msgstr ""
-#: src/Navigation.tsx:263
+#: src/Navigation.tsx:275
#: src/view/screens/PreferencesExternalEmbeds.tsx:52
-#: src/view/screens/Settings/index.tsx:657
+#: src/view/screens/Settings/index.tsx:628
msgid "External Media Preferences"
msgstr ""
-#: src/view/screens/Settings/index.tsx:648
+#: src/view/screens/Settings/index.tsx:619
msgid "External media settings"
msgstr ""
-#: src/view/com/modals/AddAppPasswords.tsx:115
-#: src/view/com/modals/AddAppPasswords.tsx:119
+#: src/view/com/modals/AddAppPasswords.tsx:116
+#: src/view/com/modals/AddAppPasswords.tsx:120
msgid "Failed to create app password."
msgstr ""
-#: src/view/com/modals/CreateOrEditList.tsx:206
+#: src/view/com/modals/CreateOrEditList.tsx:207
msgid "Failed to create the list. Check your internet connection and try again."
msgstr ""
-#: src/view/com/util/forms/PostDropdownBtn.tsx:128
+#: src/view/com/util/forms/PostDropdownBtn.tsx:131
msgid "Failed to delete post, please try again"
msgstr ""
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:109
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:141
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:110
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:143
msgid "Failed to load recommended feeds"
msgstr ""
-#: src/Navigation.tsx:194
+#: src/view/com/lightbox/Lightbox.tsx:83
+msgid "Failed to save image: {0}"
+msgstr ""
+
+#: src/Navigation.tsx:196
msgid "Feed"
msgstr ""
-#: src/view/com/feeds/FeedSourceCard.tsx:231
+#: src/view/com/feeds/FeedSourceCard.tsx:218
msgid "Feed by {0}"
msgstr ""
-#: src/view/screens/Feeds.tsx:605
+#: src/view/screens/Feeds.tsx:630
msgid "Feed offline"
msgstr ""
-#: src/view/com/feeds/FeedPage.tsx:143
-#~ msgid "Feed Preferences"
-#~ msgstr ""
-
#: src/view/shell/desktop/RightNav.tsx:61
-#: src/view/shell/Drawer.tsx:311
+#: src/view/shell/Drawer.tsx:320
msgid "Feedback"
msgstr ""
-#: src/Navigation.tsx:452
-#: src/view/screens/Feeds.tsx:419
-#: src/view/screens/Feeds.tsx:524
-#: src/view/screens/Profile.tsx:184
-#: src/view/shell/bottom-bar/BottomBar.tsx:181
-#: src/view/shell/desktop/LeftNav.tsx:342
-#: src/view/shell/Drawer.tsx:476
-#: src/view/shell/Drawer.tsx:477
+#: src/Navigation.tsx:456
+#: src/view/screens/Feeds.tsx:444
+#: src/view/screens/Feeds.tsx:549
+#: src/view/screens/Profile.tsx:199
+#: src/view/shell/bottom-bar/BottomBar.tsx:192
+#: src/view/shell/desktop/LeftNav.tsx:346
+#: src/view/shell/Drawer.tsx:485
+#: src/view/shell/Drawer.tsx:486
msgid "Feeds"
msgstr ""
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:106
-#~ msgid "Feeds are created by users and can give you entirely new experiences."
-#~ msgstr ""
-
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:106
-#~ msgid "Feeds are created by users and organizations. They offer you varied experiences and suggest content you may like using algorithms."
-#~ msgstr ""
-
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:57
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:58
msgid "Feeds are created by users to curate content. Choose some feeds that you find interesting."
msgstr ""
-#: src/view/screens/SavedFeeds.tsx:156
+#: src/view/screens/SavedFeeds.tsx:157
msgid "Feeds are custom algorithms that users build with a little coding expertise. <0/> for more information."
msgstr ""
-#: src/screens/Onboarding/StepTopicalFeeds.tsx:76
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:80
msgid "Feeds can be topical as well!"
msgstr ""
-#: src/screens/Onboarding/StepFinished.tsx:151
+#: src/view/com/modals/ChangeHandle.tsx:481
+msgid "File Contents"
+msgstr ""
+
+#: src/lib/moderation/useLabelBehaviorDescription.ts:66
+msgid "Filter from feeds"
+msgstr ""
+
+#: src/screens/Onboarding/StepFinished.tsx:155
msgid "Finalizing"
msgstr ""
@@ -1553,15 +1667,15 @@ msgstr ""
msgid "Find accounts to follow"
msgstr ""
-#: src/view/screens/Search/Search.tsx:440
+#: src/view/screens/Search/Search.tsx:589
msgid "Find users on Bluesky"
msgstr ""
-#: src/view/screens/Search/Search.tsx:438
+#: src/view/screens/Search/Search.tsx:587
msgid "Find users with the search tool on the right"
msgstr ""
-#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:150
+#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:155
msgid "Finding similar accounts..."
msgstr ""
@@ -1569,10 +1683,6 @@ msgstr ""
msgid "Fine-tune the content you see on your Following feed."
msgstr ""
-#: src/view/screens/PreferencesHomeFeed.tsx:111
-#~ msgid "Fine-tune the content you see on your home screen."
-#~ msgstr ""
-
#: src/view/screens/PreferencesThreads.tsx:60
msgid "Fine-tune the discussion threads."
msgstr ""
@@ -1581,49 +1691,60 @@ msgstr ""
msgid "Fitness"
msgstr ""
-#: src/screens/Onboarding/StepFinished.tsx:131
+#: src/screens/Onboarding/StepFinished.tsx:135
msgid "Flexible"
msgstr ""
-#: src/view/com/modals/EditImage.tsx:115
+#: src/view/com/modals/EditImage.tsx:116
msgid "Flip horizontal"
msgstr ""
-#: src/view/com/modals/EditImage.tsx:120
-#: src/view/com/modals/EditImage.tsx:287
+#: src/view/com/modals/EditImage.tsx:121
+#: src/view/com/modals/EditImage.tsx:288
msgid "Flip vertically"
msgstr ""
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:181
-#: src/view/com/post-thread/PostThreadFollowBtn.tsx:136
-#: src/view/com/profile/ProfileHeader.tsx:513
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:189
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:235
+#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:141
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:146
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:248
msgid "Follow"
msgstr ""
-#: src/view/com/profile/FollowButton.tsx:64
+#: src/view/com/profile/FollowButton.tsx:69
msgctxt "action"
msgid "Follow"
msgstr ""
#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:58
-#: src/view/com/post-thread/PostThreadFollowBtn.tsx:122
-#: src/view/com/profile/ProfileHeader.tsx:504
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:221
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:128
msgid "Follow {0}"
msgstr ""
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:179
+#: src/view/com/profile/ProfileMenu.tsx:242
+#: src/view/com/profile/ProfileMenu.tsx:253
+msgid "Follow Account"
+msgstr ""
+
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:187
msgid "Follow All"
msgstr ""
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:174
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:144
+msgid "Follow Back"
+msgstr ""
+
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:182
msgid "Follow selected accounts and continue to the next step"
msgstr ""
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:64
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:65
msgid "Follow some users to get started. We can recommend you more users based on who you find interesting."
msgstr ""
-#: src/view/com/profile/ProfileCard.tsx:194
+#: src/view/com/profile/ProfileCard.tsx:219
msgid "Followed by {0}"
msgstr ""
@@ -1635,37 +1756,43 @@ msgstr ""
msgid "Followed users only"
msgstr ""
-#: src/view/com/notifications/FeedItem.tsx:166
+#: src/view/com/notifications/FeedItem.tsx:172
msgid "followed you"
msgstr ""
+#: src/view/com/profile/ProfileFollowers.tsx:104
#: src/view/screens/ProfileFollowers.tsx:25
msgid "Followers"
msgstr ""
-#: src/view/com/post-thread/PostThreadFollowBtn.tsx:136
-#: src/view/com/profile/ProfileHeader.tsx:495
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:233
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:149
+#: src/view/com/profile/ProfileFollows.tsx:104
#: src/view/screens/ProfileFollows.tsx:25
msgid "Following"
msgstr ""
-#: src/view/com/profile/ProfileHeader.tsx:149
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:93
msgid "Following {0}"
msgstr ""
-#: src/Navigation.tsx:250
-#: src/view/com/home/HomeHeaderLayout.web.tsx:50
-#: src/view/com/home/HomeHeaderLayoutMobile.tsx:84
+#: src/view/screens/Settings/index.tsx:504
+msgid "Following feed preferences"
+msgstr ""
+
+#: src/Navigation.tsx:262
+#: src/view/com/home/HomeHeaderLayout.web.tsx:54
+#: src/view/com/home/HomeHeaderLayoutMobile.tsx:87
#: src/view/screens/PreferencesFollowingFeed.tsx:104
-#: src/view/screens/Settings/index.tsx:543
+#: src/view/screens/Settings/index.tsx:513
msgid "Following Feed Preferences"
msgstr ""
-#: src/view/com/profile/ProfileHeader.tsx:546
+#: src/screens/Profile/Header/Handle.tsx:24
msgid "Follows you"
msgstr ""
-#: src/view/com/profile/ProfileCard.tsx:141
+#: src/view/com/profile/ProfileCard.tsx:144
msgid "Follows You"
msgstr ""
@@ -1673,33 +1800,37 @@ msgstr ""
msgid "Food"
msgstr ""
-#: src/view/com/modals/DeleteAccount.tsx:111
+#: src/view/com/modals/DeleteAccount.tsx:110
msgid "For security reasons, we'll need to send a confirmation code to your email address."
msgstr ""
-#: src/view/com/modals/AddAppPasswords.tsx:209
+#: src/view/com/modals/AddAppPasswords.tsx:210
msgid "For security reasons, you won't be able to view this again. If you lose this password, you'll need to generate a new one."
msgstr ""
-#: src/view/com/auth/login/LoginForm.tsx:241
-msgid "Forgot"
-msgstr ""
-
-#: src/view/com/auth/login/LoginForm.tsx:238
-msgid "Forgot password"
-msgstr ""
-
-#: src/view/com/auth/login/Login.tsx:127
-#: src/view/com/auth/login/Login.tsx:143
+#: src/screens/Login/index.tsx:129
+#: src/screens/Login/index.tsx:144
msgid "Forgot Password"
msgstr ""
-#: src/screens/Hashtag.tsx:108
-#: src/screens/Hashtag.tsx:148
+#: src/screens/Login/LoginForm.tsx:201
+msgid "Forgot password?"
+msgstr ""
+
+#: src/screens/Login/LoginForm.tsx:212
+msgid "Forgot?"
+msgstr ""
+
+#: src/lib/moderation/useReportOptions.ts:52
+msgid "Frequently Posts Unwanted Content"
+msgstr ""
+
+#: src/screens/Hashtag.tsx:109
+#: src/screens/Hashtag.tsx:149
msgid "From @{sanitizedAuthor}"
msgstr ""
-#: src/view/com/posts/FeedItem.tsx:189
+#: src/view/com/posts/FeedItem.tsx:181
msgctxt "from-feed"
msgid "From <0/>"
msgstr ""
@@ -1713,114 +1844,137 @@ msgstr ""
msgid "Get Started"
msgstr ""
-#: src/view/com/auth/LoggedOut.tsx:81
+#: src/lib/moderation/useReportOptions.ts:37
+msgid "Glaring violations of law or terms of service"
+msgstr ""
+
+#: src/components/moderation/ScreenHider.tsx:151
+#: src/components/moderation/ScreenHider.tsx:160
#: src/view/com/auth/LoggedOut.tsx:82
-#: src/view/com/util/moderation/ScreenHider.tsx:123
-#: src/view/shell/desktop/LeftNav.tsx:104
+#: src/view/com/auth/LoggedOut.tsx:83
+#: src/view/screens/NotFound.tsx:55
+#: src/view/screens/ProfileFeed.tsx:112
+#: src/view/screens/ProfileList.tsx:918
+#: src/view/shell/desktop/LeftNav.tsx:108
msgid "Go back"
msgstr ""
-#: src/view/screens/ProfileFeed.tsx:106
-#: src/view/screens/ProfileFeed.tsx:111
-#: src/view/screens/ProfileList.tsx:902
-#: src/view/screens/ProfileList.tsx:907
+#: src/components/Error.tsx:91
+#: src/screens/Profile/ErrorState.tsx:62
+#: src/screens/Profile/ErrorState.tsx:66
+#: src/view/screens/NotFound.tsx:54
+#: src/view/screens/ProfileFeed.tsx:117
+#: src/view/screens/ProfileList.tsx:923
msgid "Go Back"
msgstr ""
-#: src/screens/Onboarding/Layout.tsx:104
-#: src/screens/Onboarding/Layout.tsx:193
+#: src/components/ReportDialog/SelectReportOptionView.tsx:73
+#: src/components/ReportDialog/SubmitView.tsx:102
+#: src/screens/Onboarding/Layout.tsx:102
+#: src/screens/Onboarding/Layout.tsx:191
+#: src/screens/Signup/index.tsx:174
msgid "Go back to previous step"
msgstr ""
-#: src/view/screens/Search/Search.tsx:747
-#: src/view/shell/desktop/Search.tsx:262
+#: src/view/screens/NotFound.tsx:55
+msgid "Go home"
+msgstr ""
+
+#: src/view/screens/NotFound.tsx:54
+msgid "Go Home"
+msgstr ""
+
+#: src/view/screens/Search/Search.tsx:896
+#: src/view/shell/desktop/Search.tsx:263
msgid "Go to @{queryMaybeHandle}"
msgstr ""
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:189
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:218
-#: src/view/com/auth/login/LoginForm.tsx:288
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:195
-#: src/view/com/modals/ChangePassword.tsx:165
+#: src/screens/Login/ForgotPasswordForm.tsx:172
+#: src/view/com/modals/ChangePassword.tsx:167
msgid "Go to next"
msgstr ""
-#: src/view/com/modals/ChangeHandle.tsx:265
+#: src/lib/moderation/useGlobalLabelStrings.ts:46
+msgid "Graphic Media"
+msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:266
msgid "Handle"
msgstr ""
-#: src/Navigation.tsx:270
+#: src/lib/moderation/useReportOptions.ts:32
+msgid "Harassment, trolling, or intolerance"
+msgstr ""
+
+#: src/Navigation.tsx:282
msgid "Hashtag"
msgstr ""
-#: src/components/RichText.tsx:188
-#~ msgid "Hashtag: {tag}"
-#~ msgstr ""
-
-#: src/components/RichText.tsx:190
+#: src/components/RichText.tsx:197
msgid "Hashtag: #{tag}"
msgstr ""
-#: src/view/com/auth/create/CreateAccount.tsx:208
+#: src/screens/Signup/index.tsx:221
msgid "Having trouble?"
msgstr ""
#: src/view/shell/desktop/RightNav.tsx:90
-#: src/view/shell/Drawer.tsx:321
+#: src/view/shell/Drawer.tsx:330
msgid "Help"
msgstr ""
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:132
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:140
msgid "Here are some accounts for you to follow"
msgstr ""
-#: src/screens/Onboarding/StepTopicalFeeds.tsx:85
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:89
msgid "Here are some popular topical feeds. You can choose to follow as many as you like."
msgstr ""
-#: src/screens/Onboarding/StepTopicalFeeds.tsx:80
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:84
msgid "Here are some topical feeds based on your interests: {interestsText}. You can choose to follow as many as you like."
msgstr ""
-#: src/view/com/modals/AddAppPasswords.tsx:153
+#: src/view/com/modals/AddAppPasswords.tsx:154
msgid "Here is your app password."
msgstr ""
-#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:41
-#: src/view/com/modals/ContentFilteringSettings.tsx:251
-#: src/view/com/util/moderation/ContentHider.tsx:105
-#: src/view/com/util/moderation/PostHider.tsx:108
+#: src/components/moderation/ContentHider.tsx:115
+#: src/components/moderation/LabelPreference.tsx:134
+#: src/components/moderation/PostHider.tsx:107
+#: src/lib/moderation/useLabelBehaviorDescription.ts:15
+#: src/lib/moderation/useLabelBehaviorDescription.ts:20
+#: src/lib/moderation/useLabelBehaviorDescription.ts:25
+#: src/lib/moderation/useLabelBehaviorDescription.ts:30
+#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:52
+#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:76
+#: src/view/com/util/forms/PostDropdownBtn.tsx:350
msgid "Hide"
msgstr ""
-#: src/view/com/modals/ContentFilteringSettings.tsx:224
-#: src/view/com/notifications/FeedItem.tsx:326
+#: src/view/com/notifications/FeedItem.tsx:331
msgctxt "action"
msgid "Hide"
msgstr ""
-#: src/view/com/util/forms/PostDropdownBtn.tsx:276
-#: src/view/com/util/forms/PostDropdownBtn.tsx:287
+#: src/view/com/util/forms/PostDropdownBtn.tsx:294
+#: src/view/com/util/forms/PostDropdownBtn.tsx:296
msgid "Hide post"
msgstr ""
-#: src/view/com/util/moderation/ContentHider.tsx:67
-#: src/view/com/util/moderation/PostHider.tsx:61
+#: src/components/moderation/ContentHider.tsx:67
+#: src/components/moderation/PostHider.tsx:64
msgid "Hide the content"
msgstr ""
-#: src/view/com/util/forms/PostDropdownBtn.tsx:280
+#: src/view/com/util/forms/PostDropdownBtn.tsx:347
msgid "Hide this post?"
msgstr ""
-#: src/view/com/notifications/FeedItem.tsx:316
+#: src/view/com/notifications/FeedItem.tsx:321
msgid "Hide user list"
msgstr ""
-#: src/view/com/profile/ProfileHeader.tsx:487
-msgid "Hides posts from {0} in your feed"
-msgstr ""
-
#: src/view/com/posts/FeedErrorMessage.tsx:111
msgid "Hmm, some kind of issue occurred when contacting the feed server. Please let the feed owner know about this issue."
msgstr ""
@@ -1841,23 +1995,30 @@ msgstr ""
msgid "Hmm, we're having trouble finding this feed. It may have been deleted."
msgstr ""
-#: src/Navigation.tsx:442
-#: src/view/shell/bottom-bar/BottomBar.tsx:137
-#: src/view/shell/desktop/LeftNav.tsx:306
-#: src/view/shell/Drawer.tsx:398
-#: src/view/shell/Drawer.tsx:399
+#: src/screens/Moderation/index.tsx:59
+msgid "Hmmmm, it seems we're having trouble loading this data. See below for more details. If this issue persists, please contact us."
+msgstr ""
+
+#: src/screens/Profile/ErrorState.tsx:31
+msgid "Hmmmm, we couldn't load that moderation service."
+msgstr ""
+
+#: src/Navigation.tsx:446
+#: src/view/shell/bottom-bar/BottomBar.tsx:148
+#: src/view/shell/desktop/LeftNav.tsx:310
+#: src/view/shell/Drawer.tsx:407
+#: src/view/shell/Drawer.tsx:408
msgid "Home"
msgstr ""
-#: src/Navigation.tsx:247
-#: src/view/com/pager/FeedsTabBarMobile.tsx:123
-#: src/view/screens/PreferencesHomeFeed.tsx:104
-#: src/view/screens/Settings/index.tsx:543
-#~ msgid "Home Feed Preferences"
-#~ msgstr ""
+#: src/view/com/modals/ChangeHandle.tsx:420
+msgid "Host:"
+msgstr ""
-#: src/view/com/auth/create/Step1.tsx:75
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:120
+#: src/screens/Login/ForgotPasswordForm.tsx:89
+#: src/screens/Login/LoginForm.tsx:134
+#: src/screens/Signup/StepInfo/index.tsx:40
+#: src/view/com/modals/ChangeHandle.tsx:281
msgid "Hosting provider"
msgstr ""
@@ -1873,11 +2034,11 @@ msgstr ""
msgid "I have a confirmation code"
msgstr ""
-#: src/view/com/modals/ChangeHandle.tsx:283
+#: src/view/com/modals/ChangeHandle.tsx:284
msgid "I have my own domain"
msgstr ""
-#: src/view/com/lightbox/Lightbox.web.tsx:165
+#: src/view/com/lightbox/Lightbox.web.tsx:185
msgid "If alt text is long, toggles alt text expanded state"
msgstr ""
@@ -1885,190 +2046,198 @@ msgstr ""
msgid "If none are selected, suitable for all ages."
msgstr ""
-#: src/view/com/modals/ChangePassword.tsx:146
+#: src/screens/Signup/StepInfo/Policies.tsx:83
+msgid "If you are not yet an adult according to the laws of your country, your parent or legal guardian must read these Terms on your behalf."
+msgstr ""
+
+#: src/view/screens/ProfileList.tsx:612
+msgid "If you delete this list, you won't be able to recover it."
+msgstr ""
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:338
+msgid "If you remove this post, you won't be able to recover it."
+msgstr ""
+
+#: src/view/com/modals/ChangePassword.tsx:148
msgid "If you want to change your password, we will send you a code to verify that this is your account."
msgstr ""
+#: src/lib/moderation/useReportOptions.ts:36
+msgid "Illegal and Urgent"
+msgstr ""
+
#: src/view/com/util/images/Gallery.tsx:38
msgid "Image"
msgstr ""
-#: src/view/com/modals/AltImage.tsx:120
+#: src/view/com/modals/AltImage.tsx:121
msgid "Image alt text"
msgstr ""
-#: src/view/com/util/UserAvatar.tsx:311
-#: src/view/com/util/UserBanner.tsx:118
-msgid "Image options"
+#: src/lib/moderation/useReportOptions.ts:47
+msgid "Impersonation or false claims about identity or affiliation"
msgstr ""
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:138
+#: src/screens/Login/SetNewPasswordForm.tsx:127
msgid "Input code sent to your email for password reset"
msgstr ""
-#: src/view/com/modals/DeleteAccount.tsx:184
+#: src/view/com/modals/DeleteAccount.tsx:183
msgid "Input confirmation code for account deletion"
msgstr ""
-#: src/view/com/auth/create/Step1.tsx:177
-msgid "Input email for Bluesky account"
-msgstr ""
-
-#: src/view/com/auth/create/Step1.tsx:151
-msgid "Input invite code to proceed"
-msgstr ""
-
-#: src/view/com/modals/AddAppPasswords.tsx:180
+#: src/view/com/modals/AddAppPasswords.tsx:181
msgid "Input name for app password"
msgstr ""
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:162
+#: src/screens/Login/SetNewPasswordForm.tsx:151
msgid "Input new password"
msgstr ""
-#: src/view/com/modals/DeleteAccount.tsx:203
+#: src/view/com/modals/DeleteAccount.tsx:202
msgid "Input password for account deletion"
msgstr ""
-#: src/view/com/auth/create/Step2.tsx:196
-#~ msgid "Input phone number for SMS verification"
-#~ msgstr ""
-
-#: src/view/com/auth/login/LoginForm.tsx:230
+#: src/screens/Login/LoginForm.tsx:195
msgid "Input the password tied to {identifier}"
msgstr ""
-#: src/view/com/auth/login/LoginForm.tsx:197
+#: src/screens/Login/LoginForm.tsx:168
msgid "Input the username or email address you used at signup"
msgstr ""
-#: src/view/com/auth/create/Step2.tsx:271
-#~ msgid "Input the verification code we have texted to you"
-#~ msgstr ""
-
-#: src/view/com/modals/Waitlist.tsx:90
-#~ msgid "Input your email to get on the Bluesky waitlist"
-#~ msgstr ""
-
-#: src/view/com/auth/login/LoginForm.tsx:229
+#: src/screens/Login/LoginForm.tsx:194
msgid "Input your password"
msgstr ""
-#: src/view/com/auth/create/Step2.tsx:80
+#: src/view/com/modals/ChangeHandle.tsx:389
+msgid "Input your preferred hosting provider"
+msgstr ""
+
+#: src/screens/Signup/StepHandle.tsx:63
msgid "Input your user handle"
msgstr ""
-#: src/view/com/post-thread/PostThreadItem.tsx:226
+#: src/view/com/post-thread/PostThreadItem.tsx:221
msgid "Invalid or unsupported post record"
msgstr ""
-#: src/view/com/auth/login/LoginForm.tsx:113
+#: src/screens/Login/LoginForm.tsx:114
msgid "Invalid username or password"
msgstr ""
-#: src/view/screens/Settings.tsx:411
-#~ msgid "Invite"
-#~ msgstr ""
-
-#: src/view/com/modals/InviteCodes.tsx:93
+#: src/view/com/modals/InviteCodes.tsx:94
msgid "Invite a Friend"
msgstr ""
-#: src/view/com/auth/create/Step1.tsx:141
-#: src/view/com/auth/create/Step1.tsx:150
+#: src/screens/Signup/StepInfo/index.tsx:58
msgid "Invite code"
msgstr ""
-#: src/view/com/auth/create/state.ts:158
+#: src/screens/Signup/state.ts:278
msgid "Invite code not accepted. Check that you input it correctly and try again."
msgstr ""
-#: src/view/com/modals/InviteCodes.tsx:170
+#: src/view/com/modals/InviteCodes.tsx:171
msgid "Invite codes: {0} available"
msgstr ""
-#: src/view/shell/Drawer.tsx:645
-#~ msgid "Invite codes: {invitesAvailable} available"
-#~ msgstr ""
-
-#: src/view/com/modals/InviteCodes.tsx:169
+#: src/view/com/modals/InviteCodes.tsx:170
msgid "Invite codes: 1 available"
msgstr ""
-#: src/screens/Onboarding/StepFollowingFeed.tsx:64
+#: src/screens/Onboarding/StepFollowingFeed.tsx:65
msgid "It shows posts from the people you follow as they happen."
msgstr ""
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:99
-#: src/view/com/auth/SplashScreen.web.tsx:138
+#: src/view/com/auth/SplashScreen.web.tsx:152
msgid "Jobs"
msgstr ""
-#: src/view/com/modals/Waitlist.tsx:67
-#~ msgid "Join the waitlist"
-#~ msgstr ""
-
-#: src/view/com/auth/create/Step1.tsx:174
-#: src/view/com/auth/create/Step1.tsx:178
-#~ msgid "Join the waitlist."
-#~ msgstr ""
-
-#: src/view/com/modals/Waitlist.tsx:128
-#~ msgid "Join Waitlist"
-#~ msgstr ""
-
#: src/screens/Onboarding/index.tsx:24
msgid "Journalism"
msgstr ""
+#: src/components/moderation/LabelsOnMe.tsx:59
+msgid "label has been placed on this {labelTarget}"
+msgstr ""
+
+#: src/components/moderation/ContentHider.tsx:144
+msgid "Labeled by {0}."
+msgstr ""
+
+#: src/components/moderation/ContentHider.tsx:142
+msgid "Labeled by the author."
+msgstr ""
+
+#: src/view/screens/Profile.tsx:193
+msgid "Labels"
+msgstr ""
+
+#: src/screens/Profile/Sections/Labels.tsx:153
+msgid "Labels are annotations on users and content. They can be used to hide, warn, and categorize the network."
+msgstr ""
+
+#: src/components/moderation/LabelsOnMe.tsx:61
+msgid "labels have been placed on this {labelTarget}"
+msgstr ""
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:62
+msgid "Labels on your account"
+msgstr ""
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:64
+msgid "Labels on your content"
+msgstr ""
+
#: src/view/com/composer/select-language/SelectLangBtn.tsx:104
msgid "Language selection"
msgstr ""
-#: src/view/screens/Settings/index.tsx:594
+#: src/view/screens/Settings/index.tsx:565
msgid "Language settings"
msgstr ""
-#: src/Navigation.tsx:142
+#: src/Navigation.tsx:144
#: src/view/screens/LanguageSettings.tsx:89
msgid "Language Settings"
msgstr ""
-#: src/view/screens/Settings/index.tsx:603
+#: src/view/screens/Settings/index.tsx:574
msgid "Languages"
msgstr ""
-#: src/view/com/auth/create/StepHeader.tsx:20
-msgid "Last step!"
+#: src/view/screens/Search/Search.tsx:437
+msgid "Latest"
msgstr ""
-#: src/view/com/util/moderation/ContentHider.tsx:103
-msgid "Learn more"
-msgstr ""
-
-#: src/view/com/util/moderation/PostAlerts.tsx:47
-#: src/view/com/util/moderation/ProfileHeaderAlerts.tsx:65
-#: src/view/com/util/moderation/ScreenHider.tsx:104
+#: src/components/moderation/ScreenHider.tsx:136
msgid "Learn More"
msgstr ""
-#: src/view/com/util/moderation/ContentHider.tsx:85
-#: src/view/com/util/moderation/PostAlerts.tsx:40
-#: src/view/com/util/moderation/PostHider.tsx:78
-#: src/view/com/util/moderation/ProfileHeaderAlerts.tsx:49
-#: src/view/com/util/moderation/ScreenHider.tsx:101
+#: src/components/moderation/ContentHider.tsx:65
+#: src/components/moderation/ContentHider.tsx:128
+msgid "Learn more about the moderation applied to this content."
+msgstr ""
+
+#: src/components/moderation/PostHider.tsx:85
+#: src/components/moderation/ScreenHider.tsx:125
msgid "Learn more about this warning"
msgstr ""
-#: src/view/screens/Moderation.tsx:262
+#: src/screens/Moderation/index.tsx:549
msgid "Learn more about what is public on Bluesky."
msgstr ""
+#: src/components/moderation/ContentHider.tsx:152
+msgid "Learn more."
+msgstr ""
+
#: src/view/com/modals/lang-settings/ContentLanguagesSettings.tsx:82
msgid "Leave them all unchecked to see any language."
msgstr ""
-#: src/view/com/modals/LinkWarning.tsx:51
+#: src/view/com/modals/LinkWarning.tsx:65
msgid "Leaving Bluesky"
msgstr ""
@@ -2076,138 +2245,135 @@ msgstr ""
msgid "left to go."
msgstr ""
-#: src/view/screens/Settings/index.tsx:278
+#: src/view/screens/Settings/index.tsx:299
msgid "Legacy storage cleared, you need to restart the app now."
msgstr ""
-#: src/view/com/auth/login/Login.tsx:128
-#: src/view/com/auth/login/Login.tsx:144
+#: src/screens/Login/index.tsx:130
+#: src/screens/Login/index.tsx:145
msgid "Let's get your password reset!"
msgstr ""
-#: src/screens/Onboarding/StepFinished.tsx:151
+#: src/screens/Onboarding/StepFinished.tsx:155
msgid "Let's go!"
msgstr ""
-#: src/view/com/util/UserAvatar.tsx:248
-#: src/view/com/util/UserBanner.tsx:62
-msgid "Library"
-msgstr ""
-
-#: src/view/screens/Settings/index.tsx:479
+#: src/view/screens/Settings/index.tsx:449
msgid "Light"
msgstr ""
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:182
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:197
msgid "Like"
msgstr ""
-#: src/view/screens/ProfileFeed.tsx:591
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:264
+#: src/view/screens/ProfileFeed.tsx:585
msgid "Like this feed"
msgstr ""
-#: src/Navigation.tsx:199
+#: src/components/LikesDialog.tsx:87
+#: src/Navigation.tsx:201
+#: src/Navigation.tsx:206
msgid "Liked by"
msgstr ""
+#: src/screens/Profile/ProfileLabelerLikedBy.tsx:29
#: src/view/screens/PostLikedBy.tsx:27
#: src/view/screens/ProfileFeedLikedBy.tsx:27
msgid "Liked By"
msgstr ""
-#: src/view/com/feeds/FeedSourceCard.tsx:279
+#: src/view/com/feeds/FeedSourceCard.tsx:268
msgid "Liked by {0} {1}"
msgstr ""
-#: src/view/screens/ProfileFeed.tsx:606
+#: src/components/LabelingServiceCard/index.tsx:72
+msgid "Liked by {count} {0}"
+msgstr ""
+
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:284
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:298
+#: src/view/screens/ProfileFeed.tsx:600
msgid "Liked by {likeCount} {0}"
msgstr ""
-#: src/view/com/notifications/FeedItem.tsx:170
+#: src/view/com/notifications/FeedItem.tsx:176
msgid "liked your custom feed"
msgstr ""
-#: src/view/com/notifications/FeedItem.tsx:155
+#: src/view/com/notifications/FeedItem.tsx:161
msgid "liked your post"
msgstr ""
-#: src/view/screens/Profile.tsx:183
+#: src/view/screens/Profile.tsx:198
msgid "Likes"
msgstr ""
-#: src/view/com/post-thread/PostThreadItem.tsx:183
+#: src/view/com/post-thread/PostThreadItem.tsx:182
msgid "Likes on this post"
msgstr ""
-#: src/Navigation.tsx:168
+#: src/Navigation.tsx:170
msgid "List"
msgstr ""
-#: src/view/com/modals/CreateOrEditList.tsx:261
+#: src/view/com/modals/CreateOrEditList.tsx:262
msgid "List Avatar"
msgstr ""
-#: src/view/screens/ProfileList.tsx:324
+#: src/view/screens/ProfileList.tsx:313
msgid "List blocked"
msgstr ""
-#: src/view/com/feeds/FeedSourceCard.tsx:233
+#: src/view/com/feeds/FeedSourceCard.tsx:220
msgid "List by {0}"
msgstr ""
-#: src/view/screens/ProfileList.tsx:378
+#: src/view/screens/ProfileList.tsx:357
msgid "List deleted"
msgstr ""
-#: src/view/screens/ProfileList.tsx:283
+#: src/view/screens/ProfileList.tsx:285
msgid "List muted"
msgstr ""
-#: src/view/com/modals/CreateOrEditList.tsx:275
+#: src/view/com/modals/CreateOrEditList.tsx:276
msgid "List Name"
msgstr ""
-#: src/view/screens/ProfileList.tsx:343
+#: src/view/screens/ProfileList.tsx:327
msgid "List unblocked"
msgstr ""
-#: src/view/screens/ProfileList.tsx:302
+#: src/view/screens/ProfileList.tsx:299
msgid "List unmuted"
msgstr ""
-#: src/Navigation.tsx:112
-#: src/view/screens/Profile.tsx:185
-#: src/view/shell/desktop/LeftNav.tsx:379
-#: src/view/shell/Drawer.tsx:492
-#: src/view/shell/Drawer.tsx:493
+#: src/Navigation.tsx:114
+#: src/view/screens/Profile.tsx:194
+#: src/view/screens/Profile.tsx:200
+#: src/view/shell/desktop/LeftNav.tsx:383
+#: src/view/shell/Drawer.tsx:501
+#: src/view/shell/Drawer.tsx:502
msgid "Lists"
msgstr ""
-#: src/view/com/post-thread/PostThread.tsx:333
-#: src/view/com/post-thread/PostThread.tsx:341
-msgid "Load more posts"
-msgstr ""
-
#: src/view/screens/Notifications.tsx:159
msgid "Load new notifications"
msgstr ""
-#: src/view/com/feeds/FeedPage.tsx:115
-#: src/view/screens/Profile.tsx:440
-#: src/view/screens/ProfileFeed.tsx:495
-#: src/view/screens/ProfileList.tsx:681
+#: src/screens/Profile/Sections/Feed.tsx:86
+#: src/view/com/feeds/FeedPage.tsx:138
+#: src/view/screens/ProfileFeed.tsx:507
+#: src/view/screens/ProfileList.tsx:697
msgid "Load new posts"
msgstr ""
-#: src/view/com/composer/text-input/mobile/Autocomplete.tsx:95
+#: src/view/com/composer/text-input/mobile/Autocomplete.tsx:99
msgid "Loading..."
msgstr ""
-#: src/view/com/modals/ServerInput.tsx:50
-#~ msgid "Local dev server"
-#~ msgstr ""
-
-#: src/Navigation.tsx:209
+#: src/Navigation.tsx:221
msgid "Log"
msgstr ""
@@ -2218,31 +2384,27 @@ msgstr ""
msgid "Log out"
msgstr ""
-#: src/view/screens/Moderation.tsx:155
+#: src/screens/Moderation/index.tsx:442
msgid "Logged-out visibility"
msgstr ""
-#: src/view/com/auth/login/ChooseAccountForm.tsx:133
+#: src/components/AccountList.tsx:54
msgid "Login to account that is not listed"
msgstr ""
-#: src/view/com/modals/LinkWarning.tsx:65
+#: src/screens/Login/SetNewPasswordForm.tsx:116
+msgid "Looks like XXXXX-XXXXX"
+msgstr ""
+
+#: src/view/com/modals/LinkWarning.tsx:79
msgid "Make sure this is where you intend to go!"
msgstr ""
-#: src/components/dialogs/MutedWords.tsx:83
+#: src/components/dialogs/MutedWords.tsx:82
msgid "Manage your muted words and tags"
msgstr ""
-#: src/view/com/auth/create/Step2.tsx:118
-msgid "May not be longer than 253 characters"
-msgstr ""
-
-#: src/view/com/auth/create/Step2.tsx:109
-msgid "May only contain letters and numbers"
-msgstr ""
-
-#: src/view/screens/Profile.tsx:182
+#: src/view/screens/Profile.tsx:197
msgid "Media"
msgstr ""
@@ -2255,85 +2417,96 @@ msgid "Mentioned users"
msgstr ""
#: src/view/com/util/ViewHeader.tsx:87
-#: src/view/screens/Search/Search.tsx:646
+#: src/view/screens/Search/Search.tsx:795
msgid "Menu"
msgstr ""
-#: src/view/com/posts/FeedErrorMessage.tsx:197
+#: src/view/com/posts/FeedErrorMessage.tsx:192
msgid "Message from server: {0}"
msgstr ""
-#: src/Navigation.tsx:117
-#: src/view/screens/Moderation.tsx:66
-#: src/view/screens/Settings/index.tsx:625
-#: src/view/shell/desktop/LeftNav.tsx:397
-#: src/view/shell/Drawer.tsx:511
-#: src/view/shell/Drawer.tsx:512
+#: src/lib/moderation/useReportOptions.ts:45
+msgid "Misleading Account"
+msgstr ""
+
+#: src/Navigation.tsx:119
+#: src/screens/Moderation/index.tsx:104
+#: src/view/screens/Settings/index.tsx:596
+#: src/view/shell/desktop/LeftNav.tsx:401
+#: src/view/shell/Drawer.tsx:520
+#: src/view/shell/Drawer.tsx:521
msgid "Moderation"
msgstr ""
+#: src/components/moderation/ModerationDetailsDialog.tsx:112
+msgid "Moderation details"
+msgstr ""
+
#: src/view/com/lists/ListCard.tsx:93
#: src/view/com/modals/UserAddRemoveLists.tsx:206
msgid "Moderation list by {0}"
msgstr ""
-#: src/view/screens/ProfileList.tsx:775
+#: src/view/screens/ProfileList.tsx:791
msgid "Moderation list by <0/>"
msgstr ""
#: src/view/com/lists/ListCard.tsx:91
#: src/view/com/modals/UserAddRemoveLists.tsx:204
-#: src/view/screens/ProfileList.tsx:773
+#: src/view/screens/ProfileList.tsx:789
msgid "Moderation list by you"
msgstr ""
-#: src/view/com/modals/CreateOrEditList.tsx:197
+#: src/view/com/modals/CreateOrEditList.tsx:198
msgid "Moderation list created"
msgstr ""
-#: src/view/com/modals/CreateOrEditList.tsx:183
+#: src/view/com/modals/CreateOrEditList.tsx:184
msgid "Moderation list updated"
msgstr ""
-#: src/view/screens/Moderation.tsx:114
+#: src/screens/Moderation/index.tsx:243
msgid "Moderation lists"
msgstr ""
-#: src/Navigation.tsx:122
+#: src/Navigation.tsx:124
#: src/view/screens/ModerationModlists.tsx:58
msgid "Moderation Lists"
msgstr ""
-#: src/view/screens/Settings/index.tsx:619
+#: src/view/screens/Settings/index.tsx:590
msgid "Moderation settings"
msgstr ""
-#: src/view/com/modals/ModerationDetails.tsx:35
+#: src/Navigation.tsx:216
+msgid "Moderation states"
+msgstr ""
+
+#: src/screens/Moderation/index.tsx:215
+msgid "Moderation tools"
+msgstr ""
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:48
+#: src/lib/moderation/useModerationCauseDescription.ts:40
msgid "Moderator has chosen to set a general warning on the content."
msgstr ""
+#: src/view/com/post-thread/PostThreadItem.tsx:535
+msgid "More"
+msgstr ""
+
#: src/view/shell/desktop/Feeds.tsx:65
msgid "More feeds"
msgstr ""
-#: src/view/com/profile/ProfileHeader.tsx:523
-#: src/view/screens/ProfileFeed.tsx:363
-#: src/view/screens/ProfileList.tsx:617
+#: src/view/screens/ProfileList.tsx:601
msgid "More options"
msgstr ""
-#: src/view/com/util/forms/PostDropdownBtn.tsx:315
-#~ msgid "More post options"
-#~ msgstr ""
-
#: src/view/screens/PreferencesThreads.tsx:82
msgid "Most-liked replies first"
msgstr ""
-#: src/view/com/auth/create/Step2.tsx:122
-msgid "Must be at least 3 characters"
-msgstr ""
-
#: src/components/TagMenu/index.tsx:249
msgid "Mute"
msgstr ""
@@ -2342,11 +2515,12 @@ msgstr ""
msgid "Mute {truncatedTag}"
msgstr ""
-#: src/view/com/profile/ProfileHeader.tsx:327
+#: src/view/com/profile/ProfileMenu.tsx:279
+#: src/view/com/profile/ProfileMenu.tsx:286
msgid "Mute Account"
msgstr ""
-#: src/view/screens/ProfileList.tsx:544
+#: src/view/screens/ProfileList.tsx:520
msgid "Mute accounts"
msgstr ""
@@ -2354,45 +2528,38 @@ msgstr ""
msgid "Mute all {displayTag} posts"
msgstr ""
-#: src/components/TagMenu/index.tsx:211
-#~ msgid "Mute all {tag} posts"
-#~ msgstr ""
-
-#: src/components/dialogs/MutedWords.tsx:149
+#: src/components/dialogs/MutedWords.tsx:148
msgid "Mute in tags only"
msgstr ""
-#: src/components/dialogs/MutedWords.tsx:134
+#: src/components/dialogs/MutedWords.tsx:133
msgid "Mute in text & tags"
msgstr ""
-#: src/view/screens/ProfileList.tsx:491
+#: src/view/screens/ProfileList.tsx:463
+#: src/view/screens/ProfileList.tsx:626
msgid "Mute list"
msgstr ""
-#: src/view/screens/ProfileList.tsx:275
+#: src/view/screens/ProfileList.tsx:621
msgid "Mute these accounts?"
msgstr ""
-#: src/view/screens/ProfileList.tsx:279
-msgid "Mute this List"
-msgstr ""
-
-#: src/components/dialogs/MutedWords.tsx:127
+#: src/components/dialogs/MutedWords.tsx:126
msgid "Mute this word in post text and tags"
msgstr ""
-#: src/components/dialogs/MutedWords.tsx:142
+#: src/components/dialogs/MutedWords.tsx:141
msgid "Mute this word in tags only"
msgstr ""
-#: src/view/com/util/forms/PostDropdownBtn.tsx:251
-#: src/view/com/util/forms/PostDropdownBtn.tsx:257
+#: src/view/com/util/forms/PostDropdownBtn.tsx:269
+#: src/view/com/util/forms/PostDropdownBtn.tsx:275
msgid "Mute thread"
msgstr ""
-#: src/view/com/util/forms/PostDropdownBtn.tsx:267
-#: src/view/com/util/forms/PostDropdownBtn.tsx:269
+#: src/view/com/util/forms/PostDropdownBtn.tsx:285
+#: src/view/com/util/forms/PostDropdownBtn.tsx:287
msgid "Mute words & tags"
msgstr ""
@@ -2400,32 +2567,37 @@ msgstr ""
msgid "Muted"
msgstr ""
-#: src/view/screens/Moderation.tsx:128
+#: src/screens/Moderation/index.tsx:255
msgid "Muted accounts"
msgstr ""
-#: src/Navigation.tsx:127
-#: src/view/screens/ModerationMutedAccounts.tsx:107
+#: src/Navigation.tsx:129
+#: src/view/screens/ModerationMutedAccounts.tsx:112
msgid "Muted Accounts"
msgstr ""
-#: src/view/screens/ModerationMutedAccounts.tsx:115
+#: src/view/screens/ModerationMutedAccounts.tsx:120
msgid "Muted accounts have their posts removed from your feed and from your notifications. Mutes are completely private."
msgstr ""
-#: src/view/screens/Moderation.tsx:100
+#: src/lib/moderation/useModerationCauseDescription.ts:85
+msgid "Muted by \"{0}\""
+msgstr ""
+
+#: src/screens/Moderation/index.tsx:231
msgid "Muted words & tags"
msgstr ""
-#: src/view/screens/ProfileList.tsx:277
+#: src/view/screens/ProfileList.tsx:623
msgid "Muting is private. Muted accounts can interact with you, but you will not see their posts or receive notifications from them."
msgstr ""
-#: src/view/com/modals/BirthDateSettings.tsx:56
+#: src/components/dialogs/BirthDateSettings.tsx:35
+#: src/components/dialogs/BirthDateSettings.tsx:38
msgid "My Birthday"
msgstr ""
-#: src/view/screens/Feeds.tsx:663
+#: src/view/screens/Feeds.tsx:688
msgid "My Feeds"
msgstr ""
@@ -2433,32 +2605,36 @@ msgstr ""
msgid "My Profile"
msgstr ""
-#: src/view/screens/Settings/index.tsx:582
+#: src/view/screens/Settings/index.tsx:547
+msgid "My saved feeds"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:553
msgid "My Saved Feeds"
msgstr ""
-#: src/view/com/auth/server-input/index.tsx:118
-msgid "my-server.com"
-msgstr ""
-
-#: src/view/com/modals/AddAppPasswords.tsx:179
-#: src/view/com/modals/CreateOrEditList.tsx:290
+#: src/view/com/modals/AddAppPasswords.tsx:180
+#: src/view/com/modals/CreateOrEditList.tsx:291
msgid "Name"
msgstr ""
-#: src/view/com/modals/CreateOrEditList.tsx:145
+#: src/view/com/modals/CreateOrEditList.tsx:146
msgid "Name is required"
msgstr ""
+#: src/lib/moderation/useReportOptions.ts:57
+#: src/lib/moderation/useReportOptions.ts:78
+#: src/lib/moderation/useReportOptions.ts:86
+msgid "Name or Description Violates Community Standards"
+msgstr ""
+
#: src/screens/Onboarding/index.tsx:25
msgid "Nature"
msgstr ""
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:190
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:219
-#: src/view/com/auth/login/LoginForm.tsx:289
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:196
-#: src/view/com/modals/ChangePassword.tsx:166
+#: src/screens/Login/ForgotPasswordForm.tsx:173
+#: src/screens/Login/LoginForm.tsx:255
+#: src/view/com/modals/ChangePassword.tsx:168
msgid "Navigates to the next screen"
msgstr ""
@@ -2466,22 +2642,21 @@ msgstr ""
msgid "Navigates to your profile"
msgstr ""
-#: src/view/com/modals/EmbedConsent.tsx:107
-#: src/view/com/modals/EmbedConsent.tsx:123
-msgid "Never load embeds from {0}"
+#: src/components/ReportDialog/SelectReportOptionView.tsx:123
+msgid "Need to report a copyright violation?"
msgstr ""
#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:72
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:72
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:74
msgid "Never lose access to your followers and data."
msgstr ""
-#: src/screens/Onboarding/StepFinished.tsx:119
+#: src/screens/Onboarding/StepFinished.tsx:123
msgid "Never lose access to your followers or data."
msgstr ""
-#: src/components/dialogs/MutedWords.tsx:293
-msgid "Nevermind"
+#: src/view/com/modals/ChangeHandle.tsx:519
+msgid "Nevermind, create a handle for me"
msgstr ""
#: src/view/screens/Lists.tsx:76
@@ -2493,39 +2668,39 @@ msgstr ""
msgid "New"
msgstr ""
-#: src/view/com/modals/CreateOrEditList.tsx:252
+#: src/view/com/modals/CreateOrEditList.tsx:253
msgid "New Moderation List"
msgstr ""
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:150
+#: src/view/com/modals/ChangePassword.tsx:212
msgid "New password"
msgstr ""
-#: src/view/com/modals/ChangePassword.tsx:215
+#: src/view/com/modals/ChangePassword.tsx:217
msgid "New Password"
msgstr ""
-#: src/view/com/feeds/FeedPage.tsx:126
+#: src/view/com/feeds/FeedPage.tsx:149
msgctxt "action"
msgid "New post"
msgstr ""
-#: src/view/screens/Feeds.tsx:555
+#: src/view/screens/Feeds.tsx:580
#: src/view/screens/Notifications.tsx:168
-#: src/view/screens/Profile.tsx:382
-#: src/view/screens/ProfileFeed.tsx:433
-#: src/view/screens/ProfileList.tsx:196
-#: src/view/screens/ProfileList.tsx:224
-#: src/view/shell/desktop/LeftNav.tsx:248
+#: src/view/screens/Profile.tsx:480
+#: src/view/screens/ProfileFeed.tsx:445
+#: src/view/screens/ProfileList.tsx:200
+#: src/view/screens/ProfileList.tsx:228
+#: src/view/shell/desktop/LeftNav.tsx:252
msgid "New post"
msgstr ""
-#: src/view/shell/desktop/LeftNav.tsx:258
+#: src/view/shell/desktop/LeftNav.tsx:262
msgctxt "action"
msgid "New Post"
msgstr ""
-#: src/view/com/modals/CreateOrEditList.tsx:247
+#: src/view/com/modals/CreateOrEditList.tsx:248
msgid "New User List"
msgstr ""
@@ -2537,15 +2712,16 @@ msgstr ""
msgid "News"
msgstr ""
-#: src/view/com/auth/create/CreateAccount.tsx:172
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:182
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:192
-#: src/view/com/auth/login/LoginForm.tsx:291
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:187
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:198
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:79
-#: src/view/com/modals/ChangePassword.tsx:251
+#: src/screens/Login/ForgotPasswordForm.tsx:143
+#: src/screens/Login/ForgotPasswordForm.tsx:150
+#: src/screens/Login/LoginForm.tsx:254
+#: src/screens/Login/LoginForm.tsx:261
+#: src/screens/Login/SetNewPasswordForm.tsx:174
+#: src/screens/Login/SetNewPasswordForm.tsx:180
+#: src/screens/Signup/index.tsx:207
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:80
#: src/view/com/modals/ChangePassword.tsx:253
+#: src/view/com/modals/ChangePassword.tsx:255
msgid "Next"
msgstr ""
@@ -2554,7 +2730,7 @@ msgctxt "action"
msgid "Next"
msgstr ""
-#: src/view/com/lightbox/Lightbox.web.tsx:149
+#: src/view/com/lightbox/Lightbox.web.tsx:169
msgid "Next image"
msgstr ""
@@ -2567,39 +2743,48 @@ msgstr ""
msgid "No"
msgstr ""
-#: src/view/screens/ProfileFeed.tsx:584
-#: src/view/screens/ProfileList.tsx:755
+#: src/view/screens/ProfileFeed.tsx:574
+#: src/view/screens/ProfileList.tsx:771
msgid "No description"
msgstr ""
-#: src/view/com/profile/ProfileHeader.tsx:170
+#: src/view/com/modals/ChangeHandle.tsx:405
+msgid "No DNS Panel"
+msgstr ""
+
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:118
msgid "No longer following {0}"
msgstr ""
+#: src/screens/Signup/StepHandle.tsx:115
+msgid "No longer than 253 characters"
+msgstr ""
+
#: src/view/com/notifications/Feed.tsx:109
msgid "No notifications yet!"
msgstr ""
-#: src/view/com/composer/text-input/mobile/Autocomplete.tsx:97
-#: src/view/com/composer/text-input/web/Autocomplete.tsx:191
+#: src/view/com/composer/text-input/mobile/Autocomplete.tsx:101
+#: src/view/com/composer/text-input/web/Autocomplete.tsx:195
msgid "No result"
msgstr ""
-#: src/components/Lists.tsx:192
+#: src/components/Lists.tsx:183
msgid "No results found"
msgstr ""
-#: src/view/screens/Feeds.tsx:495
+#: src/view/screens/Feeds.tsx:520
msgid "No results found for \"{query}\""
msgstr ""
#: src/view/com/modals/ListAddRemoveUsers.tsx:127
-#: src/view/screens/Search/Search.tsx:281
-#: src/view/screens/Search/Search.tsx:309
+#: src/view/screens/Search/Search.tsx:349
+#: src/view/screens/Search/Search.tsx:387
msgid "No results found for {query}"
msgstr ""
-#: src/view/com/modals/EmbedConsent.tsx:129
+#: src/components/dialogs/EmbedConsent.tsx:105
+#: src/components/dialogs/EmbedConsent.tsx:112
msgid "No thanks"
msgstr ""
@@ -2607,12 +2792,21 @@ msgstr ""
msgid "Nobody"
msgstr ""
+#: src/components/LikedByList.tsx:79
+#: src/components/LikesDialog.tsx:99
+msgid "Nobody has liked this yet. Maybe you should be the first!"
+msgstr ""
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:42
+msgid "Non-sexual Nudity"
+msgstr ""
+
#: src/view/com/modals/SelfLabel.tsx:135
msgid "Not Applicable."
msgstr ""
-#: src/Navigation.tsx:107
-#: src/view/screens/Profile.tsx:106
+#: src/Navigation.tsx:109
+#: src/view/screens/Profile.tsx:101
msgid "Not Found"
msgstr ""
@@ -2621,17 +2815,23 @@ msgstr ""
msgid "Not right now"
msgstr ""
-#: src/view/screens/Moderation.tsx:252
+#: src/view/com/profile/ProfileMenu.tsx:368
+#: src/view/com/util/forms/PostDropdownBtn.tsx:364
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:248
+msgid "Note about sharing"
+msgstr ""
+
+#: src/screens/Moderation/index.tsx:540
msgid "Note: Bluesky is an open and public network. This setting only limits the visibility of your content on the Bluesky app and website, and other apps may not respect this setting. Your content may still be shown to logged-out users by other apps and websites."
msgstr ""
-#: src/Navigation.tsx:457
+#: src/Navigation.tsx:461
#: src/view/screens/Notifications.tsx:124
#: src/view/screens/Notifications.tsx:148
-#: src/view/shell/bottom-bar/BottomBar.tsx:205
-#: src/view/shell/desktop/LeftNav.tsx:361
-#: src/view/shell/Drawer.tsx:435
-#: src/view/shell/Drawer.tsx:436
+#: src/view/shell/bottom-bar/BottomBar.tsx:216
+#: src/view/shell/desktop/LeftNav.tsx:365
+#: src/view/shell/Drawer.tsx:444
+#: src/view/shell/Drawer.tsx:445
msgid "Notifications"
msgstr ""
@@ -2639,15 +2839,32 @@ msgstr ""
msgid "Nudity"
msgstr ""
-#: src/view/com/util/ErrorBoundary.tsx:35
+#: src/lib/moderation/useReportOptions.ts:71
+msgid "Nudity or adult content not labeled as such"
+msgstr ""
+
+#: src/screens/Signup/index.tsx:143
+msgid "of"
+msgstr ""
+
+#: src/lib/moderation/useLabelBehaviorDescription.ts:11
+msgid "Off"
+msgstr ""
+
+#: src/view/com/util/ErrorBoundary.tsx:49
msgid "Oh no!"
msgstr ""
-#: src/screens/Onboarding/StepInterests/index.tsx:128
+#: src/screens/Onboarding/StepInterests/index.tsx:132
msgid "Oh no! Something went wrong."
msgstr ""
-#: src/view/com/auth/login/PasswordUpdatedForm.tsx:41
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:126
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:333
+msgid "OK"
+msgstr ""
+
+#: src/screens/Login/PasswordUpdatedForm.tsx:44
msgid "Okay"
msgstr ""
@@ -2655,11 +2872,11 @@ msgstr ""
msgid "Oldest replies first"
msgstr ""
-#: src/view/screens/Settings/index.tsx:234
+#: src/view/screens/Settings/index.tsx:247
msgid "Onboarding reset"
msgstr ""
-#: src/view/com/composer/Composer.tsx:382
+#: src/view/com/composer/Composer.tsx:392
msgid "One or more images is missing alt text."
msgstr ""
@@ -2667,49 +2884,58 @@ msgstr ""
msgid "Only {0} can reply."
msgstr ""
-#: src/components/Lists.tsx:82
+#: src/screens/Signup/StepHandle.tsx:98
+msgid "Only contains letters, numbers, and hyphens"
+msgstr ""
+
+#: src/components/Lists.tsx:75
msgid "Oops, something went wrong!"
msgstr ""
-#: src/components/Lists.tsx:188
-#: src/view/screens/AppPasswords.tsx:65
-#: src/view/screens/Profile.tsx:106
+#: src/components/Lists.tsx:170
+#: src/view/screens/AppPasswords.tsx:67
+#: src/view/screens/Profile.tsx:101
msgid "Oops!"
msgstr ""
-#: src/screens/Onboarding/StepFinished.tsx:115
+#: src/screens/Onboarding/StepFinished.tsx:119
msgid "Open"
msgstr ""
-#: src/view/screens/Moderation.tsx:75
-msgid "Open content filtering settings"
-msgstr ""
-
-#: src/view/com/composer/Composer.tsx:477
-#: src/view/com/composer/Composer.tsx:478
+#: src/view/com/composer/Composer.tsx:491
+#: src/view/com/composer/Composer.tsx:492
msgid "Open emoji picker"
msgstr ""
-#: src/view/screens/Settings/index.tsx:712
+#: src/view/screens/ProfileFeed.tsx:311
+msgid "Open feed options menu"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:685
msgid "Open links with in-app browser"
msgstr ""
-#: src/view/screens/Moderation.tsx:92
-msgid "Open muted words settings"
+#: src/screens/Moderation/index.tsx:227
+msgid "Open muted words and tags settings"
msgstr ""
-#: src/view/com/home/HomeHeaderLayoutMobile.tsx:50
+#: src/view/com/home/HomeHeaderLayoutMobile.tsx:52
msgid "Open navigation"
msgstr ""
-#: src/view/com/util/forms/PostDropdownBtn.tsx:175
+#: src/view/com/util/forms/PostDropdownBtn.tsx:191
msgid "Open post options menu"
msgstr ""
-#: src/view/screens/Settings/index.tsx:804
+#: src/view/screens/Settings/index.tsx:792
+#: src/view/screens/Settings/index.tsx:802
msgid "Open storybook page"
msgstr ""
+#: src/view/screens/Settings/index.tsx:780
+msgid "Open system log"
+msgstr ""
+
#: src/view/com/util/forms/DropdownButton.tsx:154
msgid "Opens {numItems} options"
msgstr ""
@@ -2718,11 +2944,11 @@ msgstr ""
msgid "Opens additional details for a debug entry"
msgstr ""
-#: src/view/com/notifications/FeedItem.tsx:349
+#: src/view/com/notifications/FeedItem.tsx:355
msgid "Opens an expanded list of users in this notification"
msgstr ""
-#: src/view/com/composer/photos/OpenCameraBtn.tsx:61
+#: src/view/com/composer/photos/OpenCameraBtn.tsx:78
msgid "Opens camera on device"
msgstr ""
@@ -2730,7 +2956,7 @@ msgstr ""
msgid "Opens composer"
msgstr ""
-#: src/view/screens/Settings/index.tsx:595
+#: src/view/screens/Settings/index.tsx:566
msgid "Opens configurable language settings"
msgstr ""
@@ -2738,72 +2964,87 @@ msgstr ""
msgid "Opens device photo gallery"
msgstr ""
-#: src/view/com/profile/ProfileHeader.tsx:420
-msgid "Opens editor for profile display name, avatar, background image, and description"
-msgstr ""
-
-#: src/view/screens/Settings/index.tsx:649
+#: src/view/screens/Settings/index.tsx:620
msgid "Opens external embeds settings"
msgstr ""
-#: src/view/com/profile/ProfileHeader.tsx:575
-msgid "Opens followers list"
+#: src/view/com/auth/SplashScreen.tsx:50
+#: src/view/com/auth/SplashScreen.web.tsx:94
+msgid "Opens flow to create a new Bluesky account"
msgstr ""
-#: src/view/com/profile/ProfileHeader.tsx:594
-msgid "Opens following list"
+#: src/view/com/auth/SplashScreen.tsx:65
+#: src/view/com/auth/SplashScreen.web.tsx:109
+msgid "Opens flow to sign into your existing Bluesky account"
msgstr ""
-#: src/view/screens/Settings.tsx:412
-#~ msgid "Opens invite code list"
-#~ msgstr ""
-
-#: src/view/com/modals/InviteCodes.tsx:172
+#: src/view/com/modals/InviteCodes.tsx:173
msgid "Opens list of invite codes"
msgstr ""
-#: src/view/screens/Settings/index.tsx:774
-msgid "Opens modal for account deletion confirmation. Requires email code."
+#: src/view/screens/Settings/index.tsx:762
+msgid "Opens modal for account deletion confirmation. Requires email code"
msgstr ""
-#: src/view/com/modals/ChangeHandle.tsx:281
+#: src/view/screens/Settings/index.tsx:720
+msgid "Opens modal for changing your Bluesky password"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:669
+msgid "Opens modal for choosing a new Bluesky handle"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:743
+msgid "Opens modal for downloading your Bluesky account data (repository)"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:932
+msgid "Opens modal for email verification"
+msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:282
msgid "Opens modal for using custom domain"
msgstr ""
-#: src/view/screens/Settings/index.tsx:620
+#: src/view/screens/Settings/index.tsx:591
msgid "Opens moderation settings"
msgstr ""
-#: src/view/com/auth/login/LoginForm.tsx:239
+#: src/screens/Login/LoginForm.tsx:202
msgid "Opens password reset form"
msgstr ""
-#: src/view/com/home/HomeHeaderLayout.web.tsx:63
-#: src/view/screens/Feeds.tsx:356
+#: src/view/com/home/HomeHeaderLayout.web.tsx:67
+#: src/view/screens/Feeds.tsx:381
msgid "Opens screen to edit Saved Feeds"
msgstr ""
-#: src/view/screens/Settings/index.tsx:576
+#: src/view/screens/Settings/index.tsx:548
msgid "Opens screen with all saved feeds"
msgstr ""
-#: src/view/screens/Settings/index.tsx:676
-msgid "Opens the app password settings page"
+#: src/view/screens/Settings/index.tsx:647
+msgid "Opens the app password settings"
msgstr ""
-#: src/view/screens/Settings/index.tsx:535
-msgid "Opens the home feed preferences"
+#: src/view/screens/Settings/index.tsx:505
+msgid "Opens the Following feed preferences"
msgstr ""
-#: src/view/screens/Settings/index.tsx:805
-msgid "Opens the storybook page"
+#: src/view/com/modals/LinkWarning.tsx:93
+msgid "Opens the linked website"
msgstr ""
#: src/view/screens/Settings/index.tsx:793
+#: src/view/screens/Settings/index.tsx:803
+msgid "Opens the storybook page"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:781
msgid "Opens the system log page"
msgstr ""
-#: src/view/screens/Settings/index.tsx:556
+#: src/view/screens/Settings/index.tsx:526
msgid "Opens the threads preferences"
msgstr ""
@@ -2811,23 +3052,27 @@ msgstr ""
msgid "Option {0} of {numItems}"
msgstr ""
+#: src/components/ReportDialog/SubmitView.tsx:160
+msgid "Optionally provide additional information below:"
+msgstr ""
+
#: src/view/com/modals/Threadgate.tsx:89
msgid "Or combine these options:"
msgstr ""
-#: src/view/com/auth/login/ChooseAccountForm.tsx:138
-msgid "Other account"
+#: src/lib/moderation/useReportOptions.ts:25
+msgid "Other"
msgstr ""
-#: src/view/com/modals/ServerInput.tsx:88
-#~ msgid "Other service"
-#~ msgstr ""
+#: src/components/AccountList.tsx:73
+msgid "Other account"
+msgstr ""
#: src/view/com/composer/select-language/SelectLangBtn.tsx:91
msgid "Other..."
msgstr ""
-#: src/components/Lists.tsx:194
+#: src/components/Lists.tsx:184
#: src/view/screens/NotFound.tsx:45
msgid "Page not found"
msgstr ""
@@ -2836,27 +3081,35 @@ msgstr ""
msgid "Page Not Found"
msgstr ""
-#: src/view/com/auth/create/Step1.tsx:191
-#: src/view/com/auth/create/Step1.tsx:201
-#: src/view/com/auth/login/LoginForm.tsx:226
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:161
-#: src/view/com/modals/DeleteAccount.tsx:202
+#: src/screens/Login/LoginForm.tsx:178
+#: src/screens/Signup/StepInfo/index.tsx:102
+#: src/view/com/modals/DeleteAccount.tsx:194
+#: src/view/com/modals/DeleteAccount.tsx:201
msgid "Password"
msgstr ""
-#: src/view/com/auth/login/Login.tsx:157
+#: src/view/com/modals/ChangePassword.tsx:142
+msgid "Password Changed"
+msgstr ""
+
+#: src/screens/Login/index.tsx:157
msgid "Password updated"
msgstr ""
-#: src/view/com/auth/login/PasswordUpdatedForm.tsx:28
+#: src/screens/Login/PasswordUpdatedForm.tsx:30
msgid "Password updated!"
msgstr ""
-#: src/Navigation.tsx:162
+#: src/view/screens/Search/Search.tsx:447
+#: src/view/screens/Search/Search.tsx:456
+msgid "People"
+msgstr ""
+
+#: src/Navigation.tsx:164
msgid "People followed by @{0}"
msgstr ""
-#: src/Navigation.tsx:155
+#: src/Navigation.tsx:157
msgid "People following @{0}"
msgstr ""
@@ -2872,45 +3125,45 @@ msgstr ""
msgid "Pets"
msgstr ""
-#: src/view/com/auth/create/Step2.tsx:183
-#~ msgid "Phone number"
-#~ msgstr ""
-
#: src/view/com/modals/SelfLabel.tsx:121
msgid "Pictures meant for adults."
msgstr ""
-#: src/view/screens/ProfileFeed.tsx:354
-#: src/view/screens/ProfileList.tsx:581
+#: src/view/screens/ProfileFeed.tsx:303
+#: src/view/screens/ProfileList.tsx:565
msgid "Pin to home"
msgstr ""
-#: src/view/screens/SavedFeeds.tsx:88
+#: src/view/screens/ProfileFeed.tsx:306
+msgid "Pin to Home"
+msgstr ""
+
+#: src/view/screens/SavedFeeds.tsx:89
msgid "Pinned Feeds"
msgstr ""
-#: src/view/com/util/post-embeds/ExternalGifEmbed.tsx:111
+#: src/view/com/util/post-embeds/ExternalGifEmbed.tsx:123
msgid "Play {0}"
msgstr ""
-#: src/view/com/util/post-embeds/ExternalPlayerEmbed.tsx:54
-#: src/view/com/util/post-embeds/ExternalPlayerEmbed.tsx:55
+#: src/view/com/util/post-embeds/ExternalPlayerEmbed.tsx:57
+#: src/view/com/util/post-embeds/ExternalPlayerEmbed.tsx:58
msgid "Play Video"
msgstr ""
-#: src/view/com/util/post-embeds/ExternalGifEmbed.tsx:110
+#: src/view/com/util/post-embeds/ExternalGifEmbed.tsx:122
msgid "Plays the GIF"
msgstr ""
-#: src/view/com/auth/create/state.ts:124
+#: src/screens/Signup/state.ts:241
msgid "Please choose your handle."
msgstr ""
-#: src/view/com/auth/create/state.ts:117
+#: src/screens/Signup/state.ts:234
msgid "Please choose your password."
msgstr ""
-#: src/view/com/auth/create/state.ts:131
+#: src/screens/Signup/state.ts:251
msgid "Please complete the verification captcha."
msgstr ""
@@ -2918,48 +3171,30 @@ msgstr ""
msgid "Please confirm your email before changing it. This is a temporary requirement while email-updating tools are added, and it will soon be removed."
msgstr ""
-#: src/view/com/modals/AddAppPasswords.tsx:90
+#: src/view/com/modals/AddAppPasswords.tsx:91
msgid "Please enter a name for your app password. All spaces is not allowed."
msgstr ""
-#: src/view/com/auth/create/Step2.tsx:206
-#~ msgid "Please enter a phone number that can receive SMS text messages."
-#~ msgstr ""
-
-#: src/view/com/modals/AddAppPasswords.tsx:145
+#: src/view/com/modals/AddAppPasswords.tsx:146
msgid "Please enter a unique name for this App Password or use our randomly generated one."
msgstr ""
-#: src/components/dialogs/MutedWords.tsx:68
+#: src/components/dialogs/MutedWords.tsx:67
msgid "Please enter a valid word, tag, or phrase to mute"
msgstr ""
-#: src/view/com/auth/create/state.ts:170
-#~ msgid "Please enter the code you received by SMS."
-#~ msgstr ""
-
-#: src/view/com/auth/create/Step2.tsx:282
-#~ msgid "Please enter the verification code sent to {phoneNumberFormatted}."
-#~ msgstr ""
-
-#: src/view/com/auth/create/state.ts:103
+#: src/screens/Signup/state.ts:220
msgid "Please enter your email."
msgstr ""
-#: src/view/com/modals/DeleteAccount.tsx:191
+#: src/view/com/modals/DeleteAccount.tsx:190
msgid "Please enter your password as well:"
msgstr ""
-#: src/view/com/modals/AppealLabel.tsx:72
-#: src/view/com/modals/AppealLabel.tsx:75
-msgid "Please tell us why you think this content warning was incorrectly applied!"
+#: src/components/moderation/LabelsOnMeDialog.tsx:221
+msgid "Please explain why you think this label was incorrectly applied by {0}"
msgstr ""
-#: src/view/com/modals/AppealLabel.tsx:72
-#: src/view/com/modals/AppealLabel.tsx:75
-#~ msgid "Please tell us why you think this decision was incorrect."
-#~ msgstr ""
-
#: src/view/com/modals/VerifyEmail.tsx:101
msgid "Please Verify Your Email"
msgstr ""
@@ -2976,13 +3211,13 @@ msgstr ""
msgid "Porn"
msgstr ""
-#: src/view/com/composer/Composer.tsx:357
-#: src/view/com/composer/Composer.tsx:365
+#: src/view/com/composer/Composer.tsx:367
+#: src/view/com/composer/Composer.tsx:375
msgctxt "action"
msgid "Post"
msgstr ""
-#: src/view/com/post-thread/PostThread.tsx:303
+#: src/view/com/post-thread/PostThread.tsx:292
msgctxt "description"
msgid "Post"
msgstr ""
@@ -2991,20 +3226,30 @@ msgstr ""
msgid "Post by {0}"
msgstr ""
-#: src/Navigation.tsx:174
-#: src/Navigation.tsx:181
-#: src/Navigation.tsx:188
+#: src/Navigation.tsx:176
+#: src/Navigation.tsx:183
+#: src/Navigation.tsx:190
msgid "Post by @{0}"
msgstr ""
-#: src/view/com/util/forms/PostDropdownBtn.tsx:108
+#: src/view/com/util/forms/PostDropdownBtn.tsx:111
msgid "Post deleted"
msgstr ""
-#: src/view/com/post-thread/PostThread.tsx:462
+#: src/view/com/post-thread/PostThread.tsx:157
msgid "Post hidden"
msgstr ""
+#: src/components/moderation/ModerationDetailsDialog.tsx:97
+#: src/lib/moderation/useModerationCauseDescription.ts:99
+msgid "Post Hidden by Muted Word"
+msgstr ""
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:100
+#: src/lib/moderation/useModerationCauseDescription.ts:108
+msgid "Post Hidden by You"
+msgstr ""
+
#: src/view/com/composer/select-language/SelectLangBtn.tsx:87
msgid "Post language"
msgstr ""
@@ -3013,7 +3258,8 @@ msgstr ""
msgid "Post Languages"
msgstr ""
-#: src/view/com/post-thread/PostThread.tsx:514
+#: src/view/com/post-thread/PostThread.tsx:152
+#: src/view/com/post-thread/PostThread.tsx:164
msgid "Post not found"
msgstr ""
@@ -3021,11 +3267,12 @@ msgstr ""
msgid "posts"
msgstr ""
-#: src/view/screens/Profile.tsx:180
+#: src/view/screens/Profile.tsx:195
+#: src/view/screens/Search/Search.tsx:467
msgid "Posts"
msgstr ""
-#: src/components/dialogs/MutedWords.tsx:90
+#: src/components/dialogs/MutedWords.tsx:89
msgid "Posts can be muted based on their text, their tags, or both."
msgstr ""
@@ -3033,11 +3280,21 @@ msgstr ""
msgid "Posts hidden"
msgstr ""
-#: src/view/com/modals/LinkWarning.tsx:46
+#: src/view/com/modals/LinkWarning.tsx:60
msgid "Potentially Misleading Link"
msgstr ""
-#: src/view/com/lightbox/Lightbox.web.tsx:135
+#: src/components/forms/HostingProvider.tsx:46
+msgid "Press to change hosting provider"
+msgstr ""
+
+#: src/components/Error.tsx:74
+#: src/components/Lists.tsx:80
+#: src/screens/Signup/index.tsx:187
+msgid "Press to retry"
+msgstr ""
+
+#: src/view/com/lightbox/Lightbox.web.tsx:150
msgid "Previous image"
msgstr ""
@@ -3049,39 +3306,45 @@ msgstr ""
msgid "Prioritize Your Follows"
msgstr ""
-#: src/view/screens/Settings/index.tsx:632
+#: src/view/screens/Settings/index.tsx:603
#: src/view/shell/desktop/RightNav.tsx:72
msgid "Privacy"
msgstr ""
-#: src/Navigation.tsx:219
+#: src/Navigation.tsx:231
+#: src/screens/Signup/StepInfo/Policies.tsx:56
#: src/view/screens/PrivacyPolicy.tsx:29
-#: src/view/screens/Settings/index.tsx:891
-#: src/view/shell/Drawer.tsx:262
+#: src/view/screens/Settings/index.tsx:887
+#: src/view/shell/Drawer.tsx:271
msgid "Privacy Policy"
msgstr ""
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:198
+#: src/screens/Login/ForgotPasswordForm.tsx:156
msgid "Processing..."
msgstr ""
-#: src/view/shell/bottom-bar/BottomBar.tsx:247
-#: src/view/shell/desktop/LeftNav.tsx:415
+#: src/view/screens/DebugMod.tsx:888
+#: src/view/screens/Profile.tsx:361
+msgid "profile"
+msgstr ""
+
+#: src/view/shell/bottom-bar/BottomBar.tsx:261
+#: src/view/shell/desktop/LeftNav.tsx:419
#: src/view/shell/Drawer.tsx:70
-#: src/view/shell/Drawer.tsx:546
-#: src/view/shell/Drawer.tsx:547
+#: src/view/shell/Drawer.tsx:555
+#: src/view/shell/Drawer.tsx:556
msgid "Profile"
msgstr ""
-#: src/view/com/modals/EditProfile.tsx:128
+#: src/view/com/modals/EditProfile.tsx:129
msgid "Profile updated"
msgstr ""
-#: src/view/screens/Settings/index.tsx:949
+#: src/view/screens/Settings/index.tsx:945
msgid "Protect your account by verifying your email."
msgstr ""
-#: src/screens/Onboarding/StepFinished.tsx:101
+#: src/screens/Onboarding/StepFinished.tsx:105
msgid "Public"
msgstr ""
@@ -3093,15 +3356,15 @@ msgstr ""
msgid "Public, shareable lists which can drive feeds."
msgstr ""
-#: src/view/com/composer/Composer.tsx:342
+#: src/view/com/composer/Composer.tsx:352
msgid "Publish post"
msgstr ""
-#: src/view/com/composer/Composer.tsx:342
+#: src/view/com/composer/Composer.tsx:352
msgid "Publish reply"
msgstr ""
-#: src/view/com/modals/Repost.tsx:65
+#: src/view/com/modals/Repost.tsx:66
msgctxt "action"
msgid "Quote post"
msgstr ""
@@ -3110,7 +3373,7 @@ msgstr ""
msgid "Quote post"
msgstr ""
-#: src/view/com/modals/Repost.tsx:70
+#: src/view/com/modals/Repost.tsx:71
msgctxt "action"
msgid "Quote Post"
msgstr ""
@@ -3119,48 +3382,62 @@ msgstr ""
msgid "Random (aka \"Poster's Roulette\")"
msgstr ""
-#: src/view/com/modals/EditImage.tsx:236
+#: src/view/com/modals/EditImage.tsx:237
msgid "Ratios"
msgstr ""
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:116
+#: src/view/screens/Search/Search.tsx:924
+msgid "Recent Searches"
+msgstr ""
+
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:117
msgid "Recommended Feeds"
msgstr ""
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:180
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:181
msgid "Recommended Users"
msgstr ""
-#: src/components/dialogs/MutedWords.tsx:298
-#: src/view/com/modals/ListAddRemoveUsers.tsx:264
+#: src/components/dialogs/MutedWords.tsx:286
+#: src/view/com/feeds/FeedSourceCard.tsx:283
+#: src/view/com/modals/ListAddRemoveUsers.tsx:268
#: src/view/com/modals/SelfLabel.tsx:83
#: src/view/com/modals/UserAddRemoveLists.tsx:219
-#: src/view/com/util/UserAvatar.tsx:285
-#: src/view/com/util/UserBanner.tsx:91
+#: src/view/com/posts/FeedErrorMessage.tsx:204
msgid "Remove"
msgstr ""
-#: src/view/com/feeds/FeedSourceCard.tsx:108
-msgid "Remove {0} from my feeds?"
-msgstr ""
-
#: src/view/com/util/AccountDropdownBtn.tsx:22
msgid "Remove account"
msgstr ""
-#: src/view/com/posts/FeedErrorMessage.tsx:131
-#: src/view/com/posts/FeedErrorMessage.tsx:166
+#: src/view/com/util/UserAvatar.tsx:360
+msgid "Remove Avatar"
+msgstr ""
+
+#: src/view/com/util/UserBanner.tsx:148
+msgid "Remove Banner"
+msgstr ""
+
+#: src/view/com/posts/FeedErrorMessage.tsx:160
msgid "Remove feed"
msgstr ""
-#: src/view/com/feeds/FeedSourceCard.tsx:107
-#: src/view/com/feeds/FeedSourceCard.tsx:169
-#: src/view/com/feeds/FeedSourceCard.tsx:174
-#: src/view/com/feeds/FeedSourceCard.tsx:245
-#: src/view/screens/ProfileFeed.tsx:273
+#: src/view/com/posts/FeedErrorMessage.tsx:201
+msgid "Remove feed?"
+msgstr ""
+
+#: src/view/com/feeds/FeedSourceCard.tsx:173
+#: src/view/com/feeds/FeedSourceCard.tsx:233
+#: src/view/screens/ProfileFeed.tsx:346
+#: src/view/screens/ProfileFeed.tsx:352
msgid "Remove from my feeds"
msgstr ""
+#: src/view/com/feeds/FeedSourceCard.tsx:278
+msgid "Remove from my feeds?"
+msgstr ""
+
#: src/view/com/composer/photos/Gallery.tsx:167
msgid "Remove image"
msgstr ""
@@ -3169,20 +3446,16 @@ msgstr ""
msgid "Remove image preview"
msgstr ""
-#: src/components/dialogs/MutedWords.tsx:343
+#: src/components/dialogs/MutedWords.tsx:329
msgid "Remove mute word from your list"
msgstr ""
-#: src/view/com/modals/Repost.tsx:47
+#: src/view/com/modals/Repost.tsx:48
msgid "Remove repost"
msgstr ""
-#: src/view/com/feeds/FeedSourceCard.tsx:175
-msgid "Remove this feed from my feeds?"
-msgstr ""
-
-#: src/view/com/posts/FeedErrorMessage.tsx:132
-msgid "Remove this feed from your saved feeds?"
+#: src/view/com/posts/FeedErrorMessage.tsx:202
+msgid "Remove this feed from your saved feeds"
msgstr ""
#: src/view/com/modals/ListAddRemoveUsers.tsx:199
@@ -3190,16 +3463,19 @@ msgstr ""
msgid "Removed from list"
msgstr ""
-#: src/view/com/feeds/FeedSourceCard.tsx:113
-#: src/view/com/feeds/FeedSourceCard.tsx:180
+#: src/view/com/feeds/FeedSourceCard.tsx:121
msgid "Removed from my feeds"
msgstr ""
+#: src/view/screens/ProfileFeed.tsx:210
+msgid "Removed from your feeds"
+msgstr ""
+
#: src/view/com/composer/ExternalEmbed.tsx:71
msgid "Removes default thumbnail from {0}"
msgstr ""
-#: src/view/screens/Profile.tsx:181
+#: src/view/screens/Profile.tsx:196
msgid "Replies"
msgstr ""
@@ -3207,7 +3483,7 @@ msgstr ""
msgid "Replies to this thread are disabled"
msgstr ""
-#: src/view/com/composer/Composer.tsx:355
+#: src/view/com/composer/Composer.tsx:365
msgctxt "action"
msgid "Reply"
msgstr ""
@@ -3216,37 +3492,58 @@ msgstr ""
msgid "Reply Filters"
msgstr ""
-#: src/view/com/post/Post.tsx:167
-#: src/view/com/posts/FeedItem.tsx:287
+#: src/view/com/post/Post.tsx:177
+#: src/view/com/posts/FeedItem.tsx:285
msgctxt "description"
msgid "Reply to <0/>"
msgstr ""
-#: src/view/com/modals/report/Modal.tsx:166
-msgid "Report {collectionName}"
-msgstr ""
-
-#: src/view/com/profile/ProfileHeader.tsx:361
+#: src/view/com/profile/ProfileMenu.tsx:319
+#: src/view/com/profile/ProfileMenu.tsx:322
msgid "Report Account"
msgstr ""
-#: src/view/screens/ProfileFeed.tsx:293
+#: src/components/ReportDialog/index.tsx:49
+msgid "Report dialog"
+msgstr ""
+
+#: src/view/screens/ProfileFeed.tsx:363
+#: src/view/screens/ProfileFeed.tsx:365
msgid "Report feed"
msgstr ""
-#: src/view/screens/ProfileList.tsx:459
+#: src/view/screens/ProfileList.tsx:431
msgid "Report List"
msgstr ""
-#: src/view/com/modals/report/SendReportButton.tsx:37
-#: src/view/com/util/forms/PostDropdownBtn.tsx:301
-#: src/view/com/util/forms/PostDropdownBtn.tsx:309
+#: src/view/com/util/forms/PostDropdownBtn.tsx:312
+#: src/view/com/util/forms/PostDropdownBtn.tsx:314
msgid "Report post"
msgstr ""
-#: src/view/com/modals/Repost.tsx:43
-#: src/view/com/modals/Repost.tsx:48
-#: src/view/com/modals/Repost.tsx:53
+#: src/components/ReportDialog/SelectReportOptionView.tsx:42
+msgid "Report this content"
+msgstr ""
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:55
+msgid "Report this feed"
+msgstr ""
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:52
+msgid "Report this list"
+msgstr ""
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:49
+msgid "Report this post"
+msgstr ""
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:46
+msgid "Report this user"
+msgstr ""
+
+#: src/view/com/modals/Repost.tsx:44
+#: src/view/com/modals/Repost.tsx:49
+#: src/view/com/modals/Repost.tsx:54
#: src/view/com/util/post-ctrls/RepostButton.tsx:61
msgctxt "action"
msgid "Repost"
@@ -3265,19 +3562,23 @@ msgstr ""
msgid "Reposted By"
msgstr ""
-#: src/view/com/posts/FeedItem.tsx:207
+#: src/view/com/posts/FeedItem.tsx:199
msgid "Reposted by {0}"
msgstr ""
-#: src/view/com/posts/FeedItem.tsx:224
-msgid "Reposted by <0/>"
+#: src/view/com/posts/FeedItem.tsx:214
+#~ msgid "Reposted by <0/>"
+#~ msgstr ""
+
+#: src/view/com/posts/FeedItem.tsx:216
+msgid "Reposted by <0><1/>0>"
msgstr ""
-#: src/view/com/notifications/FeedItem.tsx:162
+#: src/view/com/notifications/FeedItem.tsx:168
msgid "reposted your post"
msgstr ""
-#: src/view/com/post-thread/PostThreadItem.tsx:188
+#: src/view/com/post-thread/PostThreadItem.tsx:187
msgid "Reposts of this post"
msgstr ""
@@ -3286,61 +3587,50 @@ msgstr ""
msgid "Request Change"
msgstr ""
-#: src/view/com/auth/create/Step2.tsx:219
-#~ msgid "Request code"
-#~ msgstr ""
-
-#: src/view/com/modals/ChangePassword.tsx:239
#: src/view/com/modals/ChangePassword.tsx:241
+#: src/view/com/modals/ChangePassword.tsx:243
msgid "Request Code"
msgstr ""
-#: src/view/screens/Settings/index.tsx:456
+#: src/view/screens/Settings/index.tsx:426
msgid "Require alt text before posting"
msgstr ""
-#: src/view/com/auth/create/Step1.tsx:146
+#: src/screens/Signup/StepInfo/index.tsx:69
msgid "Required for this provider"
msgstr ""
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:124
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:136
+#: src/view/com/modals/ChangePassword.tsx:185
msgid "Reset code"
msgstr ""
-#: src/view/com/modals/ChangePassword.tsx:190
+#: src/view/com/modals/ChangePassword.tsx:192
msgid "Reset Code"
msgstr ""
-#: src/view/screens/Settings/index.tsx:824
-msgid "Reset onboarding"
-msgstr ""
-
-#: src/view/screens/Settings/index.tsx:827
+#: src/view/screens/Settings/index.tsx:822
+#: src/view/screens/Settings/index.tsx:825
msgid "Reset onboarding state"
msgstr ""
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:104
+#: src/screens/Login/ForgotPasswordForm.tsx:86
msgid "Reset password"
msgstr ""
-#: src/view/screens/Settings/index.tsx:814
-msgid "Reset preferences"
-msgstr ""
-
-#: src/view/screens/Settings/index.tsx:817
+#: src/view/screens/Settings/index.tsx:812
+#: src/view/screens/Settings/index.tsx:815
msgid "Reset preferences state"
msgstr ""
-#: src/view/screens/Settings/index.tsx:825
+#: src/view/screens/Settings/index.tsx:823
msgid "Resets the onboarding state"
msgstr ""
-#: src/view/screens/Settings/index.tsx:815
+#: src/view/screens/Settings/index.tsx:813
msgid "Resets the preferences state"
msgstr ""
-#: src/view/com/auth/login/LoginForm.tsx:269
+#: src/screens/Login/LoginForm.tsx:235
msgid "Retries login"
msgstr ""
@@ -3349,99 +3639,121 @@ msgstr ""
msgid "Retries the last action, which errored out"
msgstr ""
-#: src/screens/Onboarding/StepInterests/index.tsx:221
-#: src/screens/Onboarding/StepInterests/index.tsx:224
-#: src/view/com/auth/create/CreateAccount.tsx:181
-#: src/view/com/auth/create/CreateAccount.tsx:186
-#: src/view/com/auth/login/LoginForm.tsx:268
-#: src/view/com/auth/login/LoginForm.tsx:271
+#: src/components/Error.tsx:79
+#: src/components/Lists.tsx:91
+#: src/screens/Login/LoginForm.tsx:234
+#: src/screens/Login/LoginForm.tsx:241
+#: src/screens/Onboarding/StepInterests/index.tsx:225
+#: src/screens/Onboarding/StepInterests/index.tsx:228
+#: src/screens/Signup/index.tsx:194
#: src/view/com/util/error/ErrorMessage.tsx:55
#: src/view/com/util/error/ErrorScreen.tsx:72
msgid "Retry"
msgstr ""
-#: src/view/com/auth/create/Step2.tsx:247
-#~ msgid "Retry."
-#~ msgstr ""
-
-#: src/view/screens/ProfileList.tsx:903
+#: src/components/Error.tsx:86
+#: src/view/screens/ProfileList.tsx:919
msgid "Return to previous page"
msgstr ""
-#: src/view/shell/desktop/RightNav.tsx:55
-#~ msgid "SANDBOX. Posts and accounts are not permanent."
-#~ msgstr ""
+#: src/view/screens/NotFound.tsx:59
+msgid "Returns to home page"
+msgstr ""
+
+#: src/view/screens/NotFound.tsx:58
+#: src/view/screens/ProfileFeed.tsx:113
+msgid "Returns to previous page"
+msgstr ""
+
+#: src/components/dialogs/BirthDateSettings.tsx:125
+#: src/view/com/modals/ChangeHandle.tsx:174
+#: src/view/com/modals/CreateOrEditList.tsx:338
+#: src/view/com/modals/EditProfile.tsx:225
+msgid "Save"
+msgstr ""
#: src/view/com/lightbox/Lightbox.tsx:132
-#: src/view/com/modals/CreateOrEditList.tsx:345
+#: src/view/com/modals/CreateOrEditList.tsx:346
msgctxt "action"
msgid "Save"
msgstr ""
-#: src/view/com/modals/BirthDateSettings.tsx:94
-#: src/view/com/modals/BirthDateSettings.tsx:97
-#: src/view/com/modals/ChangeHandle.tsx:173
-#: src/view/com/modals/CreateOrEditList.tsx:337
-#: src/view/com/modals/EditProfile.tsx:224
-#: src/view/screens/ProfileFeed.tsx:346
-msgid "Save"
-msgstr ""
-
-#: src/view/com/modals/AltImage.tsx:130
+#: src/view/com/modals/AltImage.tsx:131
msgid "Save alt text"
msgstr ""
-#: src/view/com/modals/EditProfile.tsx:232
+#: src/components/dialogs/BirthDateSettings.tsx:119
+msgid "Save birthday"
+msgstr ""
+
+#: src/view/com/modals/EditProfile.tsx:233
msgid "Save Changes"
msgstr ""
-#: src/view/com/modals/ChangeHandle.tsx:170
+#: src/view/com/modals/ChangeHandle.tsx:171
msgid "Save handle change"
msgstr ""
-#: src/view/com/modals/crop-image/CropImage.web.tsx:144
+#: src/view/com/modals/crop-image/CropImage.web.tsx:145
msgid "Save image crop"
msgstr ""
-#: src/view/screens/SavedFeeds.tsx:122
+#: src/view/screens/ProfileFeed.tsx:347
+#: src/view/screens/ProfileFeed.tsx:353
+msgid "Save to my feeds"
+msgstr ""
+
+#: src/view/screens/SavedFeeds.tsx:123
msgid "Saved Feeds"
msgstr ""
-#: src/view/com/modals/EditProfile.tsx:225
+#: src/view/com/lightbox/Lightbox.tsx:81
+msgid "Saved to your camera roll."
+msgstr ""
+
+#: src/view/screens/ProfileFeed.tsx:214
+msgid "Saved to your feeds"
+msgstr ""
+
+#: src/view/com/modals/EditProfile.tsx:226
msgid "Saves any changes to your profile"
msgstr ""
-#: src/view/com/modals/ChangeHandle.tsx:171
+#: src/view/com/modals/ChangeHandle.tsx:172
msgid "Saves handle change to {handle}"
msgstr ""
+#: src/view/com/modals/crop-image/CropImage.web.tsx:146
+msgid "Saves image crop settings"
+msgstr ""
+
#: src/screens/Onboarding/index.tsx:36
msgid "Science"
msgstr ""
-#: src/view/screens/ProfileList.tsx:859
+#: src/view/screens/ProfileList.tsx:875
msgid "Scroll to top"
msgstr ""
-#: src/Navigation.tsx:447
-#: src/view/com/auth/LoggedOut.tsx:122
+#: src/Navigation.tsx:451
+#: src/view/com/auth/LoggedOut.tsx:123
#: src/view/com/modals/ListAddRemoveUsers.tsx:75
#: src/view/com/util/forms/SearchInput.tsx:67
#: src/view/com/util/forms/SearchInput.tsx:79
-#: src/view/screens/Search/Search.tsx:419
-#: src/view/screens/Search/Search.tsx:668
-#: src/view/screens/Search/Search.tsx:686
-#: src/view/shell/bottom-bar/BottomBar.tsx:159
-#: src/view/shell/desktop/LeftNav.tsx:324
-#: src/view/shell/desktop/Search.tsx:214
-#: src/view/shell/desktop/Search.tsx:223
-#: src/view/shell/Drawer.tsx:362
-#: src/view/shell/Drawer.tsx:363
+#: src/view/screens/Search/Search.tsx:568
+#: src/view/screens/Search/Search.tsx:817
+#: src/view/screens/Search/Search.tsx:835
+#: src/view/shell/bottom-bar/BottomBar.tsx:170
+#: src/view/shell/desktop/LeftNav.tsx:328
+#: src/view/shell/desktop/Search.tsx:215
+#: src/view/shell/desktop/Search.tsx:224
+#: src/view/shell/Drawer.tsx:371
+#: src/view/shell/Drawer.tsx:372
msgid "Search"
msgstr ""
-#: src/view/screens/Search/Search.tsx:735
-#: src/view/shell/desktop/Search.tsx:255
+#: src/view/screens/Search/Search.tsx:884
+#: src/view/shell/desktop/Search.tsx:256
msgid "Search for \"{query}\""
msgstr ""
@@ -3449,20 +3761,12 @@ msgstr ""
msgid "Search for all posts by @{authorHandle} with tag {displayTag}"
msgstr ""
-#: src/components/TagMenu/index.tsx:145
-#~ msgid "Search for all posts by @{authorHandle} with tag {tag}"
-#~ msgstr ""
-
#: src/components/TagMenu/index.tsx:94
msgid "Search for all posts with tag {displayTag}"
msgstr ""
-#: src/components/TagMenu/index.tsx:90
-#~ msgid "Search for all posts with tag {tag}"
-#~ msgstr ""
-
-#: src/view/com/auth/LoggedOut.tsx:104
#: src/view/com/auth/LoggedOut.tsx:105
+#: src/view/com/auth/LoggedOut.tsx:106
#: src/view/com/modals/ListAddRemoveUsers.tsx:70
msgid "Search for users"
msgstr ""
@@ -3487,60 +3791,60 @@ msgstr ""
msgid "See <0>{displayTag}0> posts by this user"
msgstr ""
-#: src/components/TagMenu/index.tsx:128
-#~ msgid "See <0>{tag}0> posts"
-#~ msgstr ""
+#: src/view/com/notifications/FeedItem.tsx:419
+#: src/view/com/util/UserAvatar.tsx:381
+msgid "See profile"
+msgstr ""
-#: src/components/TagMenu/index.tsx:189
-#~ msgid "See <0>{tag}0> posts by this user"
-#~ msgstr ""
-
-#: src/view/screens/SavedFeeds.tsx:163
+#: src/view/screens/SavedFeeds.tsx:164
msgid "See this guide"
msgstr ""
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:39
-msgid "See what's next"
-msgstr ""
+#: src/view/com/auth/HomeLoggedOutCTA.tsx:40
+#~ msgid "See what's next"
+#~ msgstr ""
#: src/view/com/util/Selector.tsx:106
msgid "Select {item}"
msgstr ""
-#: src/view/com/modals/ServerInput.tsx:75
-#~ msgid "Select Bluesky Social"
-#~ msgstr ""
+#: src/screens/Login/ChooseAccountForm.tsx:61
+msgid "Select account"
+msgstr ""
-#: src/view/com/auth/login/Login.tsx:117
+#: src/screens/Login/index.tsx:120
msgid "Select from an existing account"
msgstr ""
+#: src/view/screens/LanguageSettings.tsx:299
+msgid "Select languages"
+msgstr ""
+
+#: src/components/ReportDialog/SelectLabelerView.tsx:30
+msgid "Select moderator"
+msgstr ""
+
#: src/view/com/util/Selector.tsx:107
msgid "Select option {i} of {numItems}"
msgstr ""
-#: src/view/com/auth/create/Step1.tsx:96
-#: src/view/com/auth/login/LoginForm.tsx:150
-msgid "Select service"
-msgstr ""
-
#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:52
msgid "Select some accounts below to follow"
msgstr ""
+#: src/components/ReportDialog/SubmitView.tsx:133
+msgid "Select the moderation service(s) to report to"
+msgstr ""
+
#: src/view/com/auth/server-input/index.tsx:82
msgid "Select the service that hosts your data."
msgstr ""
-#: src/screens/Onboarding/StepModeration/index.tsx:49
-#~ msgid "Select the types of content that you want to see (or not see), and we'll handle the rest."
-#~ msgstr ""
-
-#: src/screens/Onboarding/StepTopicalFeeds.tsx:96
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:100
msgid "Select topical feeds to follow from the list below"
msgstr ""
-#: src/screens/Onboarding/StepModeration/index.tsx:75
+#: src/screens/Onboarding/StepModeration/index.tsx:63
msgid "Select what you want to see (or not see), and we’ll handle the rest."
msgstr ""
@@ -3549,26 +3853,26 @@ msgid "Select which languages you want your subscribed feeds to include. If none
msgstr ""
#: src/view/screens/LanguageSettings.tsx:98
-msgid "Select your app language for the default text to display in the app"
+msgid "Select your app language for the default text to display in the app."
msgstr ""
-#: src/screens/Onboarding/StepInterests/index.tsx:196
+#: src/screens/Signup/StepInfo/index.tsx:135
+msgid "Select your date of birth"
+msgstr ""
+
+#: src/screens/Onboarding/StepInterests/index.tsx:200
msgid "Select your interests from the options below"
msgstr ""
-#: src/view/com/auth/create/Step2.tsx:155
-#~ msgid "Select your phone's country"
-#~ msgstr ""
-
#: src/view/screens/LanguageSettings.tsx:190
msgid "Select your preferred language for translations in your feed."
msgstr ""
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:116
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:117
msgid "Select your primary algorithmic feeds"
msgstr ""
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:142
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:133
msgid "Select your secondary algorithmic feeds"
msgstr ""
@@ -3577,70 +3881,45 @@ msgstr ""
msgid "Send Confirmation Email"
msgstr ""
-#: src/view/com/modals/DeleteAccount.tsx:131
+#: src/view/com/modals/DeleteAccount.tsx:130
msgid "Send email"
msgstr ""
-#: src/view/com/modals/DeleteAccount.tsx:144
+#: src/view/com/modals/DeleteAccount.tsx:143
msgctxt "action"
msgid "Send Email"
msgstr ""
-#: src/view/shell/Drawer.tsx:295
-#: src/view/shell/Drawer.tsx:316
+#: src/view/shell/Drawer.tsx:304
+#: src/view/shell/Drawer.tsx:325
msgid "Send feedback"
msgstr ""
-#: src/view/com/modals/report/SendReportButton.tsx:45
-msgid "Send Report"
+#: src/components/ReportDialog/SubmitView.tsx:213
+#: src/components/ReportDialog/SubmitView.tsx:217
+msgid "Send report"
msgstr ""
-#: src/view/com/modals/DeleteAccount.tsx:133
+#: src/components/ReportDialog/SelectLabelerView.tsx:44
+msgid "Send report to {0}"
+msgstr ""
+
+#: src/view/com/modals/DeleteAccount.tsx:132
msgid "Sends email with confirmation code for account deletion"
msgstr ""
-#: src/view/com/auth/server-input/index.tsx:110
+#: src/view/com/auth/server-input/index.tsx:114
msgid "Server address"
msgstr ""
-#: src/view/com/modals/ContentFilteringSettings.tsx:311
-msgid "Set {value} for {labelGroup} content moderation policy"
+#: src/screens/Moderation/index.tsx:304
+msgid "Set birthdate"
msgstr ""
-#: src/view/com/modals/ContentFilteringSettings.tsx:160
-#: src/view/com/modals/ContentFilteringSettings.tsx:179
-msgctxt "action"
-msgid "Set Age"
-msgstr ""
-
-#: src/view/screens/Settings/index.tsx:488
-msgid "Set color theme to dark"
-msgstr ""
-
-#: src/view/screens/Settings/index.tsx:481
-msgid "Set color theme to light"
-msgstr ""
-
-#: src/view/screens/Settings/index.tsx:475
-msgid "Set color theme to system setting"
-msgstr ""
-
-#: src/view/screens/Settings/index.tsx:514
-msgid "Set dark theme to the dark theme"
-msgstr ""
-
-#: src/view/screens/Settings/index.tsx:507
-msgid "Set dark theme to the dim theme"
-msgstr ""
-
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:104
+#: src/screens/Login/SetNewPasswordForm.tsx:102
msgid "Set new password"
msgstr ""
-#: src/view/com/auth/create/Step1.tsx:202
-msgid "Set password"
-msgstr ""
-
#: src/view/screens/PreferencesFollowingFeed.tsx:225
msgid "Set this setting to \"No\" to hide all quote posts from your feed. Reposts will still be visible."
msgstr ""
@@ -3657,40 +3936,59 @@ msgstr ""
msgid "Set this setting to \"Yes\" to show replies in a threaded view. This is an experimental feature."
msgstr ""
-#: src/view/screens/PreferencesHomeFeed.tsx:261
-#~ msgid "Set this setting to \"Yes\" to show samples of your saved feeds in your following feed. This is an experimental feature."
-#~ msgstr ""
-
#: src/view/screens/PreferencesFollowingFeed.tsx:261
msgid "Set this setting to \"Yes\" to show samples of your saved feeds in your Following feed. This is an experimental feature."
msgstr ""
-#: src/screens/Onboarding/Layout.tsx:50
+#: src/screens/Onboarding/Layout.tsx:48
msgid "Set up your account"
msgstr ""
-#: src/view/com/modals/ChangeHandle.tsx:266
+#: src/view/com/modals/ChangeHandle.tsx:267
msgid "Sets Bluesky username"
msgstr ""
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:157
+#: src/view/screens/Settings/index.tsx:458
+msgid "Sets color theme to dark"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:451
+msgid "Sets color theme to light"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:445
+msgid "Sets color theme to system setting"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:484
+msgid "Sets dark theme to the dark theme"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:477
+msgid "Sets dark theme to the dim theme"
+msgstr ""
+
+#: src/screens/Login/ForgotPasswordForm.tsx:113
msgid "Sets email for password reset"
msgstr ""
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:122
-msgid "Sets hosting provider for password reset"
+#: src/view/com/modals/crop-image/CropImage.web.tsx:124
+msgid "Sets image aspect ratio to square"
msgstr ""
-#: src/view/com/auth/create/Step1.tsx:97
-#: src/view/com/auth/login/LoginForm.tsx:151
-msgid "Sets server for the Bluesky client"
+#: src/view/com/modals/crop-image/CropImage.web.tsx:114
+msgid "Sets image aspect ratio to tall"
msgstr ""
-#: src/Navigation.tsx:137
-#: src/view/screens/Settings/index.tsx:294
-#: src/view/shell/desktop/LeftNav.tsx:433
-#: src/view/shell/Drawer.tsx:567
-#: src/view/shell/Drawer.tsx:568
+#: src/view/com/modals/crop-image/CropImage.web.tsx:104
+msgid "Sets image aspect ratio to wide"
+msgstr ""
+
+#: src/Navigation.tsx:139
+#: src/view/screens/Settings/index.tsx:316
+#: src/view/shell/desktop/LeftNav.tsx:437
+#: src/view/shell/Drawer.tsx:576
+#: src/view/shell/Drawer.tsx:577
msgid "Settings"
msgstr ""
@@ -3698,28 +3996,49 @@ msgstr ""
msgid "Sexual activity or erotic nudity."
msgstr ""
+#: src/lib/moderation/useGlobalLabelStrings.ts:38
+msgid "Sexually Suggestive"
+msgstr ""
+
#: src/view/com/lightbox/Lightbox.tsx:141
msgctxt "action"
msgid "Share"
msgstr ""
-#: src/view/com/profile/ProfileHeader.tsx:295
-#: src/view/com/util/forms/PostDropdownBtn.tsx:231
-#: src/view/com/util/forms/PostDropdownBtn.tsx:237
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:215
-#: src/view/screens/ProfileList.tsx:418
+#: src/view/com/profile/ProfileMenu.tsx:215
+#: src/view/com/profile/ProfileMenu.tsx:224
+#: src/view/com/util/forms/PostDropdownBtn.tsx:236
+#: src/view/com/util/forms/PostDropdownBtn.tsx:245
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:237
+#: src/view/screens/ProfileList.tsx:390
msgid "Share"
msgstr ""
-#: src/view/screens/ProfileFeed.tsx:305
+#: src/view/com/profile/ProfileMenu.tsx:373
+#: src/view/com/util/forms/PostDropdownBtn.tsx:369
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:253
+msgid "Share anyway"
+msgstr ""
+
+#: src/view/screens/ProfileFeed.tsx:373
+#: src/view/screens/ProfileFeed.tsx:375
msgid "Share feed"
msgstr ""
-#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:43
-#: src/view/com/modals/ContentFilteringSettings.tsx:266
-#: src/view/com/util/moderation/ContentHider.tsx:107
-#: src/view/com/util/moderation/PostHider.tsx:108
-#: src/view/screens/Settings/index.tsx:344
+#: src/view/com/modals/LinkWarning.tsx:89
+#: src/view/com/modals/LinkWarning.tsx:95
+msgid "Share Link"
+msgstr ""
+
+#: src/view/com/modals/LinkWarning.tsx:92
+msgid "Shares the linked website"
+msgstr ""
+
+#: src/components/moderation/ContentHider.tsx:115
+#: src/components/moderation/LabelPreference.tsx:136
+#: src/components/moderation/PostHider.tsx:107
+#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:54
+#: src/view/screens/Settings/index.tsx:366
msgid "Show"
msgstr ""
@@ -3727,21 +4046,27 @@ msgstr ""
msgid "Show all replies"
msgstr ""
-#: src/view/com/util/moderation/ScreenHider.tsx:132
+#: src/components/moderation/ScreenHider.tsx:169
+#: src/components/moderation/ScreenHider.tsx:172
msgid "Show anyway"
msgstr ""
-#: src/view/com/modals/EmbedConsent.tsx:87
-msgid "Show embeds from {0}"
+#: src/lib/moderation/useLabelBehaviorDescription.ts:27
+#: src/lib/moderation/useLabelBehaviorDescription.ts:63
+msgid "Show badge"
msgstr ""
-#: src/view/com/profile/ProfileHeader.tsx:459
+#: src/lib/moderation/useLabelBehaviorDescription.ts:61
+msgid "Show badge and filter from feeds"
+msgstr ""
+
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:200
msgid "Show follows similar to {0}"
msgstr ""
-#: src/view/com/post-thread/PostThreadItem.tsx:538
-#: src/view/com/post/Post.tsx:198
-#: src/view/com/posts/FeedItem.tsx:363
+#: src/view/com/post-thread/PostThreadItem.tsx:501
+#: src/view/com/post/Post.tsx:212
+#: src/view/com/posts/FeedItem.tsx:360
msgid "Show More"
msgstr ""
@@ -3753,15 +4078,15 @@ msgstr ""
msgid "Show Quote Posts"
msgstr ""
-#: src/screens/Onboarding/StepFollowingFeed.tsx:118
+#: src/screens/Onboarding/StepFollowingFeed.tsx:119
msgid "Show quote-posts in Following feed"
msgstr ""
-#: src/screens/Onboarding/StepFollowingFeed.tsx:134
+#: src/screens/Onboarding/StepFollowingFeed.tsx:135
msgid "Show quotes in Following"
msgstr ""
-#: src/screens/Onboarding/StepFollowingFeed.tsx:94
+#: src/screens/Onboarding/StepFollowingFeed.tsx:95
msgid "Show re-posts in Following feed"
msgstr ""
@@ -3773,11 +4098,11 @@ msgstr ""
msgid "Show replies by people you follow before all other replies."
msgstr ""
-#: src/screens/Onboarding/StepFollowingFeed.tsx:86
+#: src/screens/Onboarding/StepFollowingFeed.tsx:87
msgid "Show replies in Following"
msgstr ""
-#: src/screens/Onboarding/StepFollowingFeed.tsx:70
+#: src/screens/Onboarding/StepFollowingFeed.tsx:71
msgid "Show replies in Following feed"
msgstr ""
@@ -3789,131 +4114,123 @@ msgstr ""
msgid "Show Reposts"
msgstr ""
-#: src/screens/Onboarding/StepFollowingFeed.tsx:110
+#: src/screens/Onboarding/StepFollowingFeed.tsx:111
msgid "Show reposts in Following"
msgstr ""
-#: src/view/com/util/moderation/ContentHider.tsx:67
-#: src/view/com/util/moderation/PostHider.tsx:61
+#: src/components/moderation/ContentHider.tsx:68
+#: src/components/moderation/PostHider.tsx:64
msgid "Show the content"
msgstr ""
-#: src/view/com/notifications/FeedItem.tsx:347
+#: src/view/com/notifications/FeedItem.tsx:353
msgid "Show users"
msgstr ""
-#: src/view/com/profile/ProfileHeader.tsx:462
-msgid "Shows a list of users similar to this user."
+#: src/lib/moderation/useLabelBehaviorDescription.ts:58
+msgid "Show warning"
msgstr ""
-#: src/view/com/post-thread/PostThreadFollowBtn.tsx:124
-#: src/view/com/profile/ProfileHeader.tsx:506
+#: src/lib/moderation/useLabelBehaviorDescription.ts:56
+msgid "Show warning and filter from feeds"
+msgstr ""
+
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:130
msgid "Shows posts from {0} in your feed"
msgstr ""
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:70
-#: src/view/com/auth/login/Login.tsx:98
-#: src/view/com/auth/SplashScreen.tsx:79
-#: src/view/shell/bottom-bar/BottomBar.tsx:285
-#: src/view/shell/bottom-bar/BottomBar.tsx:286
-#: src/view/shell/bottom-bar/BottomBar.tsx:288
+#: src/components/dialogs/Signin.tsx:97
+#: src/components/dialogs/Signin.tsx:99
+#: src/screens/Login/index.tsx:100
+#: src/screens/Login/index.tsx:119
+#: src/screens/Login/LoginForm.tsx:131
+#: src/view/com/auth/SplashScreen.tsx:63
+#: src/view/com/auth/SplashScreen.tsx:72
+#: src/view/com/auth/SplashScreen.web.tsx:107
+#: src/view/com/auth/SplashScreen.web.tsx:116
+#: src/view/shell/bottom-bar/BottomBar.tsx:301
+#: src/view/shell/bottom-bar/BottomBar.tsx:302
+#: src/view/shell/bottom-bar/BottomBar.tsx:304
#: src/view/shell/bottom-bar/BottomBarWeb.tsx:178
#: src/view/shell/bottom-bar/BottomBarWeb.tsx:179
#: src/view/shell/bottom-bar/BottomBarWeb.tsx:181
-#: src/view/shell/NavSignupCard.tsx:58
-#: src/view/shell/NavSignupCard.tsx:59
+#: src/view/shell/NavSignupCard.tsx:63
+#: src/view/shell/NavSignupCard.tsx:64
+#: src/view/shell/NavSignupCard.tsx:66
msgid "Sign in"
msgstr ""
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:78
-#: src/view/com/auth/SplashScreen.tsx:82
-#: src/view/com/auth/SplashScreen.web.tsx:91
-msgid "Sign In"
-msgstr ""
-
-#: src/view/com/auth/login/ChooseAccountForm.tsx:44
+#: src/components/AccountList.tsx:109
msgid "Sign in as {0}"
msgstr ""
-#: src/view/com/auth/login/ChooseAccountForm.tsx:118
-#: src/view/com/auth/login/Login.tsx:116
+#: src/screens/Login/ChooseAccountForm.tsx:64
msgid "Sign in as..."
msgstr ""
-#: src/view/com/auth/login/LoginForm.tsx:137
-msgid "Sign into"
+#: src/components/dialogs/Signin.tsx:75
+msgid "Sign in or create your account to join the conversation!"
msgstr ""
-#: src/view/com/modals/SwitchAccount.tsx:64
-#: src/view/com/modals/SwitchAccount.tsx:69
-#: src/view/screens/Settings/index.tsx:100
-#: src/view/screens/Settings/index.tsx:103
+#: src/components/dialogs/Signin.tsx:46
+msgid "Sign into Bluesky or create a new account"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:118
+#: src/view/screens/Settings/index.tsx:121
msgid "Sign out"
msgstr ""
-#: src/view/shell/bottom-bar/BottomBar.tsx:275
-#: src/view/shell/bottom-bar/BottomBar.tsx:276
-#: src/view/shell/bottom-bar/BottomBar.tsx:278
+#: src/view/shell/bottom-bar/BottomBar.tsx:291
+#: src/view/shell/bottom-bar/BottomBar.tsx:292
+#: src/view/shell/bottom-bar/BottomBar.tsx:294
#: src/view/shell/bottom-bar/BottomBarWeb.tsx:168
#: src/view/shell/bottom-bar/BottomBarWeb.tsx:169
#: src/view/shell/bottom-bar/BottomBarWeb.tsx:171
-#: src/view/shell/NavSignupCard.tsx:49
-#: src/view/shell/NavSignupCard.tsx:50
-#: src/view/shell/NavSignupCard.tsx:52
+#: src/view/shell/NavSignupCard.tsx:54
+#: src/view/shell/NavSignupCard.tsx:55
+#: src/view/shell/NavSignupCard.tsx:57
msgid "Sign up"
msgstr ""
-#: src/view/shell/NavSignupCard.tsx:42
+#: src/view/shell/NavSignupCard.tsx:47
msgid "Sign up or sign in to join the conversation"
msgstr ""
-#: src/view/com/util/moderation/ScreenHider.tsx:76
+#: src/components/moderation/ScreenHider.tsx:97
+#: src/lib/moderation/useGlobalLabelStrings.ts:28
msgid "Sign-in Required"
msgstr ""
-#: src/view/screens/Settings/index.tsx:355
+#: src/view/screens/Settings/index.tsx:377
msgid "Signed in as"
msgstr ""
-#: src/view/com/auth/login/ChooseAccountForm.tsx:103
+#: src/screens/Login/ChooseAccountForm.tsx:48
msgid "Signed in as @{0}"
msgstr ""
-#: src/view/com/modals/SwitchAccount.tsx:66
-msgid "Signs {0} out of Bluesky"
-msgstr ""
-
-#: src/screens/Onboarding/StepInterests/index.tsx:235
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:195
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:33
+#: src/screens/Onboarding/StepInterests/index.tsx:239
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:203
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:35
msgid "Skip"
msgstr ""
-#: src/screens/Onboarding/StepInterests/index.tsx:232
+#: src/screens/Onboarding/StepInterests/index.tsx:236
msgid "Skip this flow"
msgstr ""
-#: src/view/com/auth/create/Step2.tsx:82
-#~ msgid "SMS verification"
-#~ msgstr ""
-
#: src/screens/Onboarding/index.tsx:40
msgid "Software Dev"
msgstr ""
-#: src/view/com/modals/ProfilePreview.tsx:62
-#~ msgid "Something went wrong and we're not sure what."
-#~ msgstr ""
-
-#: src/components/Lists.tsx:203
-msgid "Something went wrong!"
+#: src/components/ReportDialog/index.tsx:59
+#: src/screens/Moderation/index.tsx:114
+#: src/screens/Profile/Sections/Labels.tsx:87
+msgid "Something went wrong, please try again."
msgstr ""
-#: src/view/com/modals/Waitlist.tsx:51
-#~ msgid "Something went wrong. Check your email and try again."
-#~ msgstr ""
-
-#: src/App.native.tsx:66
+#: src/App.native.tsx:64
msgid "Sorry! Your session expired. Please log in again."
msgstr ""
@@ -3925,57 +4242,78 @@ msgstr ""
msgid "Sort replies to the same post by:"
msgstr ""
+#: src/components/moderation/LabelsOnMeDialog.tsx:146
+msgid "Source:"
+msgstr ""
+
+#: src/lib/moderation/useReportOptions.ts:65
+msgid "Spam"
+msgstr ""
+
+#: src/lib/moderation/useReportOptions.ts:53
+msgid "Spam; excessive mentions or replies"
+msgstr ""
+
#: src/screens/Onboarding/index.tsx:30
msgid "Sports"
msgstr ""
-#: src/view/com/modals/crop-image/CropImage.web.tsx:122
+#: src/view/com/modals/crop-image/CropImage.web.tsx:123
msgid "Square"
msgstr ""
-#: src/view/com/modals/ServerInput.tsx:62
-#~ msgid "Staging"
-#~ msgstr ""
-
-#: src/view/screens/Settings/index.tsx:871
+#: src/view/screens/Settings/index.tsx:867
msgid "Status page"
msgstr ""
-#: src/view/com/auth/create/StepHeader.tsx:22
-msgid "Step {0} of {numSteps}"
+#: src/screens/Signup/index.tsx:143
+msgid "Step"
msgstr ""
-#: src/view/screens/Settings/index.tsx:274
+#: src/view/screens/Settings/index.tsx:295
msgid "Storage cleared, you need to restart the app now."
msgstr ""
-#: src/Navigation.tsx:204
-#: src/view/screens/Settings/index.tsx:807
+#: src/Navigation.tsx:211
+#: src/view/screens/Settings/index.tsx:795
msgid "Storybook"
msgstr ""
-#: src/view/com/modals/AppealLabel.tsx:101
+#: src/components/moderation/LabelsOnMeDialog.tsx:255
+#: src/components/moderation/LabelsOnMeDialog.tsx:256
msgid "Submit"
msgstr "Submit"
-#: src/view/screens/ProfileList.tsx:608
+#: src/view/screens/ProfileList.tsx:592
msgid "Subscribe"
msgstr ""
-#: src/screens/Onboarding/StepAlgoFeeds/FeedCard.tsx:173
-#: src/screens/Onboarding/StepAlgoFeeds/FeedCard.tsx:308
+#: src/screens/Profile/Sections/Labels.tsx:191
+msgid "Subscribe to @{0} to use these labels:"
+msgstr ""
+
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:227
+msgid "Subscribe to Labeler"
+msgstr ""
+
+#: src/screens/Onboarding/StepAlgoFeeds/FeedCard.tsx:172
+#: src/screens/Onboarding/StepAlgoFeeds/FeedCard.tsx:307
msgid "Subscribe to the {0} feed"
msgstr ""
-#: src/view/screens/ProfileList.tsx:604
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:191
+msgid "Subscribe to this labeler"
+msgstr ""
+
+#: src/view/screens/ProfileList.tsx:588
msgid "Subscribe to this list"
msgstr ""
-#: src/view/screens/Search/Search.tsx:374
+#: src/view/screens/Search/Search.tsx:523
msgid "Suggested Follows"
msgstr ""
-#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:64
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:65
msgid "Suggested for you"
msgstr ""
@@ -3983,39 +4321,34 @@ msgstr ""
msgid "Suggestive"
msgstr ""
-#: src/Navigation.tsx:214
+#: src/Navigation.tsx:226
#: src/view/screens/Support.tsx:30
#: src/view/screens/Support.tsx:33
msgid "Support"
msgstr ""
-#: src/view/com/modals/ProfilePreview.tsx:110
-#~ msgid "Swipe up to see more"
-#~ msgstr ""
-
-#: src/view/com/modals/SwitchAccount.tsx:117
+#: src/components/dialogs/SwitchAccount.tsx:46
+#: src/components/dialogs/SwitchAccount.tsx:49
msgid "Switch Account"
msgstr ""
-#: src/view/com/modals/SwitchAccount.tsx:97
-#: src/view/screens/Settings/index.tsx:130
+#: src/view/screens/Settings/index.tsx:150
msgid "Switch to {0}"
msgstr ""
-#: src/view/com/modals/SwitchAccount.tsx:98
-#: src/view/screens/Settings/index.tsx:131
+#: src/view/screens/Settings/index.tsx:151
msgid "Switches the account you are logged in to"
msgstr ""
-#: src/view/screens/Settings/index.tsx:472
+#: src/view/screens/Settings/index.tsx:442
msgid "System"
msgstr ""
-#: src/view/screens/Settings/index.tsx:795
+#: src/view/screens/Settings/index.tsx:783
msgid "System log"
msgstr ""
-#: src/components/dialogs/MutedWords.tsx:337
+#: src/components/dialogs/MutedWords.tsx:323
msgid "tag"
msgstr ""
@@ -4023,11 +4356,7 @@ msgstr ""
msgid "Tag menu: {displayTag}"
msgstr ""
-#: src/components/TagMenu/index.tsx:74
-#~ msgid "Tag menu: {tag}"
-#~ msgstr ""
-
-#: src/view/com/modals/crop-image/CropImage.web.tsx:112
+#: src/view/com/modals/crop-image/CropImage.web.tsx:113
msgid "Tall"
msgstr ""
@@ -4043,30 +4372,49 @@ msgstr ""
msgid "Terms"
msgstr ""
-#: src/Navigation.tsx:224
-#: src/view/screens/Settings/index.tsx:885
+#: src/Navigation.tsx:236
+#: src/screens/Signup/StepInfo/Policies.tsx:49
+#: src/view/screens/Settings/index.tsx:881
#: src/view/screens/TermsOfService.tsx:29
-#: src/view/shell/Drawer.tsx:256
+#: src/view/shell/Drawer.tsx:265
msgid "Terms of Service"
msgstr ""
-#: src/components/dialogs/MutedWords.tsx:337
+#: src/lib/moderation/useReportOptions.ts:58
+#: src/lib/moderation/useReportOptions.ts:79
+#: src/lib/moderation/useReportOptions.ts:87
+msgid "Terms used violate community standards"
+msgstr ""
+
+#: src/components/dialogs/MutedWords.tsx:323
msgid "text"
msgstr ""
-#: src/view/com/modals/AppealLabel.tsx:70
-#: src/view/com/modals/report/InputIssueDetails.tsx:51
+#: src/components/moderation/LabelsOnMeDialog.tsx:219
msgid "Text input field"
msgstr ""
-#: src/view/com/auth/create/CreateAccount.tsx:94
+#: src/components/ReportDialog/SubmitView.tsx:76
+msgid "Thank you. Your report has been sent."
+msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:465
+msgid "That contains the following:"
+msgstr ""
+
+#: src/screens/Signup/index.tsx:85
msgid "That handle is already taken."
msgstr ""
-#: src/view/com/profile/ProfileHeader.tsx:263
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:282
+#: src/view/com/profile/ProfileMenu.tsx:349
msgid "The account will be able to interact with you after unblocking."
msgstr ""
+#: src/components/moderation/ModerationDetailsDialog.tsx:127
+msgid "the author"
+msgstr ""
+
#: src/view/screens/CommunityGuidelines.tsx:36
msgid "The Community Guidelines have been moved to <0/>"
msgstr ""
@@ -4075,11 +4423,20 @@ msgstr ""
msgid "The Copyright Policy has been moved to <0/>"
msgstr ""
-#: src/screens/Onboarding/Layout.tsx:60
+#: src/components/moderation/LabelsOnMeDialog.tsx:48
+msgid "The following labels were applied to your account."
+msgstr ""
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:49
+msgid "The following labels were applied to your content."
+msgstr ""
+
+#: src/screens/Onboarding/Layout.tsx:58
msgid "The following steps will help customize your Bluesky experience."
msgstr ""
-#: src/view/com/post-thread/PostThread.tsx:517
+#: src/view/com/post-thread/PostThread.tsx:153
+#: src/view/com/post-thread/PostThread.tsx:165
msgid "The post may have been deleted."
msgstr ""
@@ -4095,35 +4452,35 @@ msgstr ""
msgid "The Terms of Service have been moved to"
msgstr ""
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:150
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:141
msgid "There are many feeds to try:"
msgstr ""
-#: src/view/screens/ProfileFeed.tsx:550
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:114
+#: src/view/screens/ProfileFeed.tsx:556
msgid "There was an an issue contacting the server, please check your internet connection and try again."
msgstr ""
-#: src/view/com/posts/FeedErrorMessage.tsx:139
+#: src/view/com/posts/FeedErrorMessage.tsx:138
msgid "There was an an issue removing this feed. Please check your internet connection and try again."
msgstr ""
-#: src/view/screens/ProfileFeed.tsx:210
+#: src/view/screens/ProfileFeed.tsx:219
msgid "There was an an issue updating your feeds, please check your internet connection and try again."
msgstr ""
-#: src/view/screens/ProfileFeed.tsx:237
-#: src/view/screens/ProfileList.tsx:267
-#: src/view/screens/SavedFeeds.tsx:209
-#: src/view/screens/SavedFeeds.tsx:231
-#: src/view/screens/SavedFeeds.tsx:252
+#: src/view/screens/ProfileFeed.tsx:247
+#: src/view/screens/ProfileList.tsx:277
+#: src/view/screens/SavedFeeds.tsx:211
+#: src/view/screens/SavedFeeds.tsx:241
+#: src/view/screens/SavedFeeds.tsx:262
msgid "There was an issue contacting the server"
msgstr ""
#: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:57
#: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:66
-#: src/view/com/feeds/FeedSourceCard.tsx:115
-#: src/view/com/feeds/FeedSourceCard.tsx:129
-#: src/view/com/feeds/FeedSourceCard.tsx:183
+#: src/view/com/feeds/FeedSourceCard.tsx:110
+#: src/view/com/feeds/FeedSourceCard.tsx:123
msgid "There was an issue contacting your server"
msgstr ""
@@ -4131,7 +4488,7 @@ msgstr ""
msgid "There was an issue fetching notifications. Tap here to try again."
msgstr ""
-#: src/view/com/posts/Feed.tsx:265
+#: src/view/com/posts/Feed.tsx:287
msgid "There was an issue fetching posts. Tap here to try again."
msgstr ""
@@ -4139,39 +4496,45 @@ msgstr ""
msgid "There was an issue fetching the list. Tap here to try again."
msgstr ""
-#: src/view/com/feeds/ProfileFeedgens.tsx:148
-#: src/view/com/lists/ProfileLists.tsx:155
+#: src/view/com/feeds/ProfileFeedgens.tsx:156
+#: src/view/com/lists/ProfileLists.tsx:163
msgid "There was an issue fetching your lists. Tap here to try again."
msgstr ""
-#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:63
-#: src/view/com/modals/ContentFilteringSettings.tsx:126
+#: src/components/ReportDialog/SubmitView.tsx:81
+msgid "There was an issue sending your report. Please check your internet connection."
+msgstr ""
+
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:65
msgid "There was an issue syncing your preferences with the server"
msgstr ""
-#: src/view/screens/AppPasswords.tsx:66
+#: src/view/screens/AppPasswords.tsx:68
msgid "There was an issue with fetching your app passwords"
msgstr ""
-#: src/view/com/post-thread/PostThreadFollowBtn.tsx:93
-#: src/view/com/post-thread/PostThreadFollowBtn.tsx:105
-#: src/view/com/profile/ProfileHeader.tsx:157
-#: src/view/com/profile/ProfileHeader.tsx:178
-#: src/view/com/profile/ProfileHeader.tsx:217
-#: src/view/com/profile/ProfileHeader.tsx:230
-#: src/view/com/profile/ProfileHeader.tsx:250
-#: src/view/com/profile/ProfileHeader.tsx:272
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:105
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:127
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:141
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:99
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:111
+#: src/view/com/profile/ProfileMenu.tsx:106
+#: src/view/com/profile/ProfileMenu.tsx:117
+#: src/view/com/profile/ProfileMenu.tsx:132
+#: src/view/com/profile/ProfileMenu.tsx:143
+#: src/view/com/profile/ProfileMenu.tsx:157
+#: src/view/com/profile/ProfileMenu.tsx:170
msgid "There was an issue! {0}"
msgstr ""
-#: src/view/screens/ProfileList.tsx:288
-#: src/view/screens/ProfileList.tsx:307
-#: src/view/screens/ProfileList.tsx:329
-#: src/view/screens/ProfileList.tsx:348
+#: src/view/screens/ProfileList.tsx:290
+#: src/view/screens/ProfileList.tsx:304
+#: src/view/screens/ProfileList.tsx:318
+#: src/view/screens/ProfileList.tsx:332
msgid "There was an issue. Please check your internet connection and try again."
msgstr ""
-#: src/view/com/util/ErrorBoundary.tsx:36
+#: src/view/com/util/ErrorBoundary.tsx:51
msgid "There was an unexpected issue in the application. Please let us know if this happened to you!"
msgstr ""
@@ -4179,27 +4542,36 @@ msgstr ""
msgid "There's been a rush of new users to Bluesky! We'll activate your account as soon as we can."
msgstr ""
-#: src/view/com/auth/create/Step2.tsx:55
-#~ msgid "There's something wrong with this number. Please choose your country and enter your full phone number!"
-#~ msgstr ""
-
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:138
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:146
msgid "These are popular accounts you might like:"
msgstr ""
-#: src/view/com/util/moderation/ScreenHider.tsx:88
+#: src/components/moderation/ScreenHider.tsx:116
msgid "This {screenDescription} has been flagged:"
msgstr ""
-#: src/view/com/util/moderation/ScreenHider.tsx:83
+#: src/components/moderation/ScreenHider.tsx:111
msgid "This account has requested that users sign in to view their profile."
msgstr ""
-#: src/view/com/modals/EmbedConsent.tsx:68
+#: src/components/moderation/LabelsOnMeDialog.tsx:204
+msgid "This appeal will be sent to <0>{0}0>."
+msgstr ""
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:19
+msgid "This content has been hidden by the moderators."
+msgstr ""
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:24
+msgid "This content has received a general warning from moderators."
+msgstr ""
+
+#: src/components/dialogs/EmbedConsent.tsx:64
msgid "This content is hosted by {0}. Do you want to enable external media?"
msgstr ""
-#: src/view/com/modals/ModerationDetails.tsx:67
+#: src/components/moderation/ModerationDetailsDialog.tsx:77
+#: src/lib/moderation/useModerationCauseDescription.ts:77
msgid "This content is not available because one of the users involved has blocked the other."
msgstr ""
@@ -4208,16 +4580,16 @@ msgid "This content is not viewable without a Bluesky account."
msgstr ""
#: src/view/screens/Settings/ExportCarDialog.tsx:75
-msgid "This feature is in beta. You can read more about repository exports in <0>this blogpost.0>"
+msgid "This feature is in beta. You can read more about repository exports in <0>this blogpost0>."
msgstr ""
#: src/view/com/posts/FeedErrorMessage.tsx:114
msgid "This feed is currently receiving high traffic and is temporarily unavailable. Please try again later."
msgstr ""
-#: src/view/screens/Profile.tsx:420
-#: src/view/screens/ProfileFeed.tsx:476
-#: src/view/screens/ProfileList.tsx:661
+#: src/screens/Profile/Sections/Feed.tsx:59
+#: src/view/screens/ProfileFeed.tsx:488
+#: src/view/screens/ProfileList.tsx:677
msgid "This feed is empty!"
msgstr ""
@@ -4225,7 +4597,7 @@ msgstr ""
msgid "This feed is empty! You may need to follow more users or tune your language settings."
msgstr ""
-#: src/view/com/modals/BirthDateSettings.tsx:61
+#: src/components/dialogs/BirthDateSettings.tsx:41
msgid "This information is not shared with other users."
msgstr ""
@@ -4233,15 +4605,27 @@ msgstr ""
msgid "This is important in case you ever need to change your email or reset your password."
msgstr ""
-#: src/view/com/modals/LinkWarning.tsx:58
+#: src/components/moderation/ModerationDetailsDialog.tsx:124
+msgid "This label was applied by {0}."
+msgstr ""
+
+#: src/screens/Profile/Sections/Labels.tsx:178
+msgid "This labeler hasn't declared what labels it publishes, and may not be active."
+msgstr ""
+
+#: src/view/com/modals/LinkWarning.tsx:72
msgid "This link is taking you to the following website:"
msgstr ""
-#: src/view/screens/ProfileList.tsx:839
+#: src/view/screens/ProfileList.tsx:855
msgid "This list is empty!"
msgstr ""
-#: src/view/com/modals/AddAppPasswords.tsx:106
+#: src/screens/Profile/ErrorState.tsx:40
+msgid "This moderation service is unavailable. See below for more details. If this issue persists, contact us."
+msgstr ""
+
+#: src/view/com/modals/AddAppPasswords.tsx:107
msgid "This name is already in use"
msgstr ""
@@ -4249,36 +4633,66 @@ msgstr ""
msgid "This post has been deleted."
msgstr ""
-#: src/view/com/modals/ModerationDetails.tsx:62
+#: src/view/com/util/forms/PostDropdownBtn.tsx:366
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:250
+msgid "This post is only visible to logged-in users. It won't be visible to people who aren't logged in."
+msgstr ""
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:348
+msgid "This post will be hidden from feeds."
+msgstr ""
+
+#: src/view/com/profile/ProfileMenu.tsx:370
+msgid "This profile is only visible to logged-in users. It won't be visible to people who aren't logged in."
+msgstr ""
+
+#: src/screens/Signup/StepInfo/Policies.tsx:37
+msgid "This service has not provided terms of service or a privacy policy."
+msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:445
+msgid "This should create a domain record at:"
+msgstr ""
+
+#: src/view/com/profile/ProfileFollowers.tsx:87
+msgid "This user doesn't have any followers."
+msgstr ""
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:72
+#: src/lib/moderation/useModerationCauseDescription.ts:68
msgid "This user has blocked you. You cannot view their content."
msgstr ""
-#: src/view/com/modals/ModerationDetails.tsx:42
-msgid "This user is included in the <0/> list which you have blocked."
+#: src/lib/moderation/useGlobalLabelStrings.ts:30
+msgid "This user has requested that their content only be shown to signed-in users."
msgstr ""
-#: src/view/com/modals/ModerationDetails.tsx:74
-msgid "This user is included in the <0/> list which you have muted."
+#: src/components/moderation/ModerationDetailsDialog.tsx:55
+msgid "This user is included in the <0>{0}0> list which you have blocked."
msgstr ""
-#: src/view/com/modals/ModerationDetails.tsx:74
-#~ msgid "This user is included the <0/> list which you have muted."
-#~ msgstr ""
+#: src/components/moderation/ModerationDetailsDialog.tsx:84
+msgid "This user is included in the <0>{0}0> list which you have muted."
+msgstr ""
+
+#: src/view/com/profile/ProfileFollows.tsx:87
+msgid "This user isn't following anyone."
+msgstr ""
#: src/view/com/modals/SelfLabel.tsx:137
msgid "This warning is only available for posts with media attached."
msgstr ""
-#: src/components/dialogs/MutedWords.tsx:285
+#: src/components/dialogs/MutedWords.tsx:283
msgid "This will delete {0} from your muted words. You can always add it back later."
msgstr ""
-#: src/view/com/util/forms/PostDropdownBtn.tsx:282
-msgid "This will hide this post from your feeds."
+#: src/view/screens/Settings/index.tsx:525
+msgid "Thread preferences"
msgstr ""
#: src/view/screens/PreferencesThreads.tsx:53
-#: src/view/screens/Settings/index.tsx:565
+#: src/view/screens/Settings/index.tsx:535
msgid "Thread Preferences"
msgstr ""
@@ -4286,11 +4700,15 @@ msgstr ""
msgid "Threaded Mode"
msgstr ""
-#: src/Navigation.tsx:257
+#: src/Navigation.tsx:269
msgid "Threads Preferences"
msgstr ""
-#: src/components/dialogs/MutedWords.tsx:113
+#: src/components/ReportDialog/SelectLabelerView.tsx:33
+msgid "To whom would you like to send this report?"
+msgstr ""
+
+#: src/components/dialogs/MutedWords.tsx:112
msgid "Toggle between muted word options."
msgstr ""
@@ -4298,14 +4716,22 @@ msgstr ""
msgid "Toggle dropdown"
msgstr ""
-#: src/view/com/modals/EditImage.tsx:271
+#: src/screens/Moderation/index.tsx:332
+msgid "Toggle to enable or disable adult content"
+msgstr ""
+
+#: src/view/screens/Search/Search.tsx:427
+msgid "Top"
+msgstr ""
+
+#: src/view/com/modals/EditImage.tsx:272
msgid "Transformations"
msgstr ""
-#: src/view/com/post-thread/PostThreadItem.tsx:685
-#: src/view/com/post-thread/PostThreadItem.tsx:687
-#: src/view/com/util/forms/PostDropdownBtn.tsx:215
-#: src/view/com/util/forms/PostDropdownBtn.tsx:217
+#: src/view/com/post-thread/PostThreadItem.tsx:638
+#: src/view/com/post-thread/PostThreadItem.tsx:640
+#: src/view/com/util/forms/PostDropdownBtn.tsx:220
+#: src/view/com/util/forms/PostDropdownBtn.tsx:222
msgid "Translate"
msgstr ""
@@ -4314,63 +4740,85 @@ msgctxt "action"
msgid "Try again"
msgstr ""
-#: src/view/screens/ProfileList.tsx:506
+#: src/view/com/modals/ChangeHandle.tsx:428
+msgid "Type:"
+msgstr ""
+
+#: src/view/screens/ProfileList.tsx:480
msgid "Un-block list"
msgstr ""
-#: src/view/screens/ProfileList.tsx:491
+#: src/view/screens/ProfileList.tsx:463
msgid "Un-mute list"
msgstr ""
-#: src/view/com/auth/create/CreateAccount.tsx:58
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:87
-#: src/view/com/auth/login/Login.tsx:76
-#: src/view/com/auth/login/LoginForm.tsx:118
+#: src/screens/Login/ForgotPasswordForm.tsx:74
+#: src/screens/Login/index.tsx:78
+#: src/screens/Login/LoginForm.tsx:119
+#: src/screens/Login/SetNewPasswordForm.tsx:77
+#: src/screens/Signup/index.tsx:64
#: src/view/com/modals/ChangePassword.tsx:70
msgid "Unable to contact your service. Please check your Internet connection."
msgstr ""
-#: src/view/com/profile/ProfileHeader.tsx:433
-#: src/view/screens/ProfileList.tsx:590
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:181
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:286
+#: src/view/com/profile/ProfileMenu.tsx:361
+#: src/view/screens/ProfileList.tsx:574
msgid "Unblock"
msgstr ""
-#: src/view/com/profile/ProfileHeader.tsx:436
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:186
msgctxt "action"
msgid "Unblock"
msgstr ""
-#: src/view/com/profile/ProfileHeader.tsx:261
-#: src/view/com/profile/ProfileHeader.tsx:345
+#: src/view/com/profile/ProfileMenu.tsx:299
+#: src/view/com/profile/ProfileMenu.tsx:305
msgid "Unblock Account"
msgstr ""
-#: src/view/com/modals/Repost.tsx:42
-#: src/view/com/modals/Repost.tsx:55
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:280
+#: src/view/com/profile/ProfileMenu.tsx:343
+msgid "Unblock Account?"
+msgstr ""
+
+#: src/view/com/modals/Repost.tsx:43
+#: src/view/com/modals/Repost.tsx:56
#: src/view/com/util/post-ctrls/RepostButton.tsx:60
#: src/view/com/util/post-ctrls/RepostButton.web.tsx:48
msgid "Undo repost"
msgstr ""
-#: src/view/com/profile/FollowButton.tsx:55
+#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:141
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:248
+msgid "Unfollow"
+msgstr ""
+
+#: src/view/com/profile/FollowButton.tsx:60
msgctxt "action"
msgid "Unfollow"
msgstr ""
-#: src/view/com/profile/ProfileHeader.tsx:485
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:220
msgid "Unfollow {0}"
msgstr ""
-#: src/view/com/auth/create/state.ts:262
-msgid "Unfortunately, you do not meet the requirements to create an account."
+#: src/view/com/profile/ProfileMenu.tsx:241
+#: src/view/com/profile/ProfileMenu.tsx:251
+msgid "Unfollow Account"
msgstr ""
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:182
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:197
msgid "Unlike"
msgstr ""
+#: src/view/screens/ProfileFeed.tsx:585
+msgid "Unlike this feed"
+msgstr ""
+
#: src/components/TagMenu/index.tsx:249
-#: src/view/screens/ProfileList.tsx:597
+#: src/view/screens/ProfileList.tsx:581
msgid "Unmute"
msgstr ""
@@ -4378,7 +4826,8 @@ msgstr ""
msgid "Unmute {truncatedTag}"
msgstr ""
-#: src/view/com/profile/ProfileHeader.tsx:326
+#: src/view/com/profile/ProfileMenu.tsx:278
+#: src/view/com/profile/ProfileMenu.tsx:284
msgid "Unmute Account"
msgstr ""
@@ -4386,49 +4835,84 @@ msgstr ""
msgid "Unmute all {displayTag} posts"
msgstr ""
-#: src/components/TagMenu/index.tsx:210
-#~ msgid "Unmute all {tag} posts"
-#~ msgstr ""
-
-#: src/view/com/util/forms/PostDropdownBtn.tsx:251
-#: src/view/com/util/forms/PostDropdownBtn.tsx:256
+#: src/view/com/util/forms/PostDropdownBtn.tsx:269
+#: src/view/com/util/forms/PostDropdownBtn.tsx:274
msgid "Unmute thread"
msgstr ""
-#: src/view/screens/ProfileFeed.tsx:353
-#: src/view/screens/ProfileList.tsx:580
+#: src/view/screens/ProfileFeed.tsx:306
+#: src/view/screens/ProfileList.tsx:565
msgid "Unpin"
msgstr ""
-#: src/view/screens/ProfileList.tsx:474
+#: src/view/screens/ProfileFeed.tsx:303
+msgid "Unpin from home"
+msgstr ""
+
+#: src/view/screens/ProfileList.tsx:446
msgid "Unpin moderation list"
msgstr ""
-#: src/view/screens/ProfileFeed.tsx:346
-msgid "Unsave"
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:225
+msgid "Unsubscribe"
+msgstr ""
+
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:190
+msgid "Unsubscribe from this labeler"
+msgstr ""
+
+#: src/lib/moderation/useReportOptions.ts:70
+msgid "Unwanted Sexual Content"
msgstr ""
#: src/view/com/modals/UserAddRemoveLists.tsx:70
msgid "Update {displayName} in Lists"
msgstr ""
-#: src/lib/hooks/useOTAUpdate.ts:15
-msgid "Update Available"
+#: src/view/com/modals/ChangeHandle.tsx:508
+msgid "Update to {handle}"
msgstr ""
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:204
+#: src/screens/Login/SetNewPasswordForm.tsx:186
msgid "Updating..."
msgstr ""
-#: src/view/com/modals/ChangeHandle.tsx:455
+#: src/view/com/modals/ChangeHandle.tsx:454
msgid "Upload a text file to:"
msgstr ""
-#: src/view/screens/AppPasswords.tsx:195
+#: src/view/com/util/UserAvatar.tsx:328
+#: src/view/com/util/UserAvatar.tsx:331
+#: src/view/com/util/UserBanner.tsx:116
+#: src/view/com/util/UserBanner.tsx:119
+msgid "Upload from Camera"
+msgstr ""
+
+#: src/view/com/util/UserAvatar.tsx:345
+#: src/view/com/util/UserBanner.tsx:133
+msgid "Upload from Files"
+msgstr ""
+
+#: src/view/com/util/UserAvatar.tsx:339
+#: src/view/com/util/UserAvatar.tsx:343
+#: src/view/com/util/UserBanner.tsx:127
+#: src/view/com/util/UserBanner.tsx:131
+msgid "Upload from Library"
+msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:408
+msgid "Use a file on your server"
+msgstr ""
+
+#: src/view/screens/AppPasswords.tsx:197
msgid "Use app passwords to login to other Bluesky clients without giving full access to your account or password."
msgstr ""
-#: src/view/com/modals/ChangeHandle.tsx:515
+#: src/view/com/modals/ChangeHandle.tsx:517
+msgid "Use bsky.social as hosting provider"
+msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:516
msgid "Use default provider"
msgstr ""
@@ -4442,32 +4926,37 @@ msgstr ""
msgid "Use my default browser"
msgstr ""
-#: src/view/com/modals/AddAppPasswords.tsx:155
+#: src/view/com/modals/ChangeHandle.tsx:400
+msgid "Use the DNS panel"
+msgstr ""
+
+#: src/view/com/modals/AddAppPasswords.tsx:156
msgid "Use this to sign into the other app along with your handle."
msgstr ""
-#: src/view/com/modals/ServerInput.tsx:105
-#~ msgid "Use your domain as your Bluesky client service provider"
-#~ msgstr ""
-
-#: src/view/com/modals/InviteCodes.tsx:200
+#: src/view/com/modals/InviteCodes.tsx:201
msgid "Used by:"
msgstr ""
-#: src/view/com/modals/ModerationDetails.tsx:54
+#: src/components/moderation/ModerationDetailsDialog.tsx:64
+#: src/lib/moderation/useModerationCauseDescription.ts:56
msgid "User Blocked"
msgstr ""
-#: src/view/com/modals/ModerationDetails.tsx:40
+#: src/lib/moderation/useModerationCauseDescription.ts:48
+msgid "User Blocked by \"{0}\""
+msgstr ""
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:53
msgid "User Blocked by List"
msgstr ""
-#: src/view/com/modals/ModerationDetails.tsx:60
-msgid "User Blocks You"
+#: src/lib/moderation/useModerationCauseDescription.ts:66
+msgid "User Blocking You"
msgstr ""
-#: src/view/com/auth/create/Step2.tsx:79
-msgid "User handle"
+#: src/components/moderation/ModerationDetailsDialog.tsx:70
+msgid "User Blocks You"
msgstr ""
#: src/view/com/lists/ListCard.tsx:85
@@ -4475,21 +4964,21 @@ msgstr ""
msgid "User list by {0}"
msgstr ""
-#: src/view/screens/ProfileList.tsx:763
+#: src/view/screens/ProfileList.tsx:779
msgid "User list by <0/>"
msgstr ""
#: src/view/com/lists/ListCard.tsx:83
#: src/view/com/modals/UserAddRemoveLists.tsx:196
-#: src/view/screens/ProfileList.tsx:761
+#: src/view/screens/ProfileList.tsx:777
msgid "User list by you"
msgstr ""
-#: src/view/com/modals/CreateOrEditList.tsx:196
+#: src/view/com/modals/CreateOrEditList.tsx:197
msgid "User list created"
msgstr ""
-#: src/view/com/modals/CreateOrEditList.tsx:182
+#: src/view/com/modals/CreateOrEditList.tsx:183
msgid "User list updated"
msgstr ""
@@ -4497,12 +4986,13 @@ msgstr ""
msgid "User Lists"
msgstr ""
-#: src/view/com/auth/login/LoginForm.tsx:177
-#: src/view/com/auth/login/LoginForm.tsx:195
+#: src/screens/Login/LoginForm.tsx:151
msgid "Username or email address"
msgstr ""
-#: src/view/screens/ProfileList.tsx:797
+#: src/view/screens/ProfileList.tsx:813
+#: src/view/screens/Search/Search.tsx:473
+#: src/view/screens/Search/Search.tsx:482
msgid "Users"
msgstr ""
@@ -4514,19 +5004,27 @@ msgstr ""
msgid "Users in \"{0}\""
msgstr ""
-#: src/view/com/auth/create/Step2.tsx:243
-#~ msgid "Verification code"
-#~ msgstr ""
+#: src/components/LikesDialog.tsx:85
+msgid "Users that have liked this content or profile"
+msgstr ""
-#: src/view/screens/Settings/index.tsx:910
+#: src/view/com/modals/ChangeHandle.tsx:436
+msgid "Value:"
+msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:509
+msgid "Verify {0}"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:906
msgid "Verify email"
msgstr ""
-#: src/view/screens/Settings/index.tsx:935
+#: src/view/screens/Settings/index.tsx:931
msgid "Verify my email"
msgstr ""
-#: src/view/screens/Settings/index.tsx:944
+#: src/view/screens/Settings/index.tsx:940
msgid "Verify My Email"
msgstr ""
@@ -4539,11 +5037,15 @@ msgstr ""
msgid "Verify Your Email"
msgstr ""
+#: src/view/screens/Settings/index.tsx:857
+msgid "Version {0}"
+msgstr ""
+
#: src/screens/Onboarding/index.tsx:42
msgid "Video Games"
msgstr ""
-#: src/view/com/profile/ProfileHeader.tsx:662
+#: src/screens/Profile/Header/Shell.tsx:107
msgid "View {0}'s avatar"
msgstr ""
@@ -4551,11 +5053,25 @@ msgstr ""
msgid "View debug entry"
msgstr ""
-#: src/view/com/posts/FeedSlice.tsx:103
+#: src/components/ReportDialog/SelectReportOptionView.tsx:132
+msgid "View details"
+msgstr ""
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:127
+msgid "View details for reporting a copyright violation"
+msgstr ""
+
+#: src/view/com/posts/FeedSlice.tsx:99
msgid "View full thread"
msgstr ""
-#: src/view/com/posts/FeedErrorMessage.tsx:172
+#: src/components/moderation/LabelsOnMe.tsx:51
+msgid "View information about these labels"
+msgstr ""
+
+#: src/components/ProfileHoverCard/index.web.tsx:264
+#: src/components/ProfileHoverCard/index.web.tsx:293
+#: src/view/com/posts/FeedErrorMessage.tsx:166
msgid "View profile"
msgstr ""
@@ -4563,20 +5079,35 @@ msgstr ""
msgid "View the avatar"
msgstr ""
-#: src/view/com/modals/LinkWarning.tsx:75
+#: src/components/LabelingServiceCard/index.tsx:140
+msgid "View the labeling service provided by @{0}"
+msgstr ""
+
+#: src/view/screens/ProfileFeed.tsx:597
+msgid "View users who like this feed"
+msgstr ""
+
+#: src/view/com/modals/LinkWarning.tsx:89
+#: src/view/com/modals/LinkWarning.tsx:95
msgid "Visit Site"
msgstr ""
-#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:42
-#: src/view/com/modals/ContentFilteringSettings.tsx:259
+#: src/components/moderation/LabelPreference.tsx:135
+#: src/lib/moderation/useLabelBehaviorDescription.ts:17
+#: src/lib/moderation/useLabelBehaviorDescription.ts:22
+#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:53
msgid "Warn"
msgstr ""
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:134
-msgid "We also think you'll like \"For You\" by Skygaze:"
+#: src/lib/moderation/useLabelBehaviorDescription.ts:48
+msgid "Warn content"
msgstr ""
-#: src/screens/Hashtag.tsx:132
+#: src/lib/moderation/useLabelBehaviorDescription.ts:46
+msgid "Warn content and filter from feeds"
+msgstr ""
+
+#: src/screens/Hashtag.tsx:133
msgid "We couldn't find any results for that hashtag."
msgstr ""
@@ -4584,7 +5115,7 @@ msgstr ""
msgid "We estimate {estimatedTime} until your account is ready."
msgstr ""
-#: src/screens/Onboarding/StepFinished.tsx:93
+#: src/screens/Onboarding/StepFinished.tsx:97
msgid "We hope you have a wonderful time. Remember, Bluesky is:"
msgstr ""
@@ -4592,19 +5123,23 @@ msgstr ""
msgid "We ran out of posts from your follows. Here's the latest from <0/>."
msgstr ""
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:118
-#~ msgid "We recommend \"For You\" by Skygaze:"
-#~ msgstr ""
-
-#: src/components/dialogs/MutedWords.tsx:204
+#: src/components/dialogs/MutedWords.tsx:203
msgid "We recommend avoiding common words that appear in many posts, since it can result in no posts being shown."
msgstr ""
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:124
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:125
msgid "We recommend our \"Discover\" feed:"
msgstr ""
-#: src/screens/Onboarding/StepInterests/index.tsx:133
+#: src/components/dialogs/BirthDateSettings.tsx:52
+msgid "We were unable to load your birth date preferences. Please try again."
+msgstr ""
+
+#: src/screens/Moderation/index.tsx:385
+msgid "We were unable to load your configured labelers at this time."
+msgstr ""
+
+#: src/screens/Onboarding/StepInterests/index.tsx:137
msgid "We weren't able to connect. Please try again to continue setting up your account. If it continues to fail, you can skip this flow."
msgstr ""
@@ -4612,49 +5147,46 @@ msgstr ""
msgid "We will let you know when your account is ready."
msgstr ""
-#: src/view/com/modals/AppealLabel.tsx:48
-msgid "We'll look into your appeal promptly."
-msgstr ""
-
-#: src/screens/Onboarding/StepInterests/index.tsx:138
+#: src/screens/Onboarding/StepInterests/index.tsx:142
msgid "We'll use this to help customize your experience."
msgstr ""
-#: src/view/com/auth/create/CreateAccount.tsx:134
+#: src/screens/Signup/index.tsx:131
msgid "We're so excited to have you join us!"
msgstr ""
-#: src/view/screens/ProfileList.tsx:86
+#: src/view/screens/ProfileList.tsx:90
msgid "We're sorry, but we were unable to resolve this list. If this persists, please contact the list creator, @{handleOrDid}."
msgstr ""
-#: src/components/dialogs/MutedWords.tsx:230
+#: src/components/dialogs/MutedWords.tsx:229
msgid "We're sorry, but we weren't able to load your muted words at this time. Please try again."
msgstr ""
-#: src/view/screens/Search/Search.tsx:254
+#: src/view/screens/Search/Search.tsx:322
msgid "We're sorry, but your search could not be completed. Please try again in a few minutes."
msgstr ""
-#: src/components/Lists.tsx:211
+#: src/components/Lists.tsx:188
#: src/view/screens/NotFound.tsx:48
msgid "We're sorry! We can't find the page you were looking for."
msgstr ""
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:46
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:327
+msgid "We're sorry! You can only subscribe to ten labelers, and you've reached your limit of ten."
+msgstr ""
+
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:48
msgid "Welcome to <0>Bluesky0>"
msgstr ""
-#: src/screens/Onboarding/StepInterests/index.tsx:130
+#: src/screens/Onboarding/StepInterests/index.tsx:134
msgid "What are your interests?"
msgstr ""
-#: src/view/com/modals/report/Modal.tsx:169
-msgid "What is the issue with this {collectionName}?"
-msgstr ""
-
-#: src/view/com/auth/SplashScreen.tsx:59
-#: src/view/com/composer/Composer.tsx:286
+#: src/view/com/auth/SplashScreen.tsx:40
+#: src/view/com/auth/SplashScreen.web.tsx:81
+#: src/view/com/composer/Composer.tsx:296
msgid "What's up?"
msgstr ""
@@ -4671,16 +5203,36 @@ msgstr ""
msgid "Who can reply"
msgstr ""
-#: src/view/com/modals/crop-image/CropImage.web.tsx:102
+#: src/components/ReportDialog/SelectReportOptionView.tsx:43
+msgid "Why should this content be reviewed?"
+msgstr ""
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:56
+msgid "Why should this feed be reviewed?"
+msgstr ""
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:53
+msgid "Why should this list be reviewed?"
+msgstr ""
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:50
+msgid "Why should this post be reviewed?"
+msgstr ""
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:47
+msgid "Why should this user be reviewed?"
+msgstr ""
+
+#: src/view/com/modals/crop-image/CropImage.web.tsx:103
msgid "Wide"
msgstr ""
-#: src/view/com/composer/Composer.tsx:422
+#: src/view/com/composer/Composer.tsx:436
msgid "Write post"
msgstr ""
-#: src/view/com/composer/Composer.tsx:285
-#: src/view/com/composer/Prompt.tsx:33
+#: src/view/com/composer/Composer.tsx:295
+#: src/view/com/composer/Prompt.tsx:37
msgid "Write your reply"
msgstr ""
@@ -4688,10 +5240,6 @@ msgstr ""
msgid "Writers"
msgstr ""
-#: src/view/com/auth/create/Step2.tsx:263
-#~ msgid "XXXXXX"
-#~ msgstr ""
-
#: src/view/com/composer/select-language/SuggestedLanguage.tsx:77
#: src/view/screens/PreferencesFollowingFeed.tsx:129
#: src/view/screens/PreferencesFollowingFeed.tsx:201
@@ -4702,113 +5250,136 @@ msgstr ""
msgid "Yes"
msgstr ""
-#: src/screens/Onboarding/StepModeration/index.tsx:46
-#~ msgid "You are in control"
-#~ msgstr ""
-
#: src/screens/Deactivated.tsx:130
msgid "You are in line."
msgstr ""
+#: src/view/com/profile/ProfileFollows.tsx:86
+msgid "You are not following anyone."
+msgstr ""
+
#: src/view/com/posts/FollowingEmptyState.tsx:67
#: src/view/com/posts/FollowingEndOfFeed.tsx:68
msgid "You can also discover new Custom Feeds to follow."
msgstr ""
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:123
-#~ msgid "You can also try our \"Discover\" algorithm:"
-#~ msgstr ""
-
-#: src/screens/Onboarding/StepFollowingFeed.tsx:142
+#: src/screens/Onboarding/StepFollowingFeed.tsx:143
msgid "You can change these settings later."
msgstr ""
-#: src/view/com/auth/login/Login.tsx:158
-#: src/view/com/auth/login/PasswordUpdatedForm.tsx:31
+#: src/screens/Login/index.tsx:158
+#: src/screens/Login/PasswordUpdatedForm.tsx:33
msgid "You can now sign in with your new password."
msgstr ""
-#: src/view/com/modals/InviteCodes.tsx:66
+#: src/view/com/profile/ProfileFollowers.tsx:86
+msgid "You do not have any followers."
+msgstr ""
+
+#: src/view/com/modals/InviteCodes.tsx:67
msgid "You don't have any invite codes yet! We'll send you some when you've been on Bluesky for a little longer."
msgstr ""
-#: src/view/screens/SavedFeeds.tsx:102
+#: src/view/screens/SavedFeeds.tsx:103
msgid "You don't have any pinned feeds."
msgstr ""
-#: src/view/screens/Feeds.tsx:452
+#: src/view/screens/Feeds.tsx:477
msgid "You don't have any saved feeds!"
msgstr ""
-#: src/view/screens/SavedFeeds.tsx:135
+#: src/view/screens/SavedFeeds.tsx:136
msgid "You don't have any saved feeds."
msgstr ""
-#: src/view/com/post-thread/PostThread.tsx:465
+#: src/view/com/post-thread/PostThread.tsx:159
msgid "You have blocked the author or you have been blocked by the author."
msgstr ""
-#: src/view/com/modals/ModerationDetails.tsx:56
+#: src/components/moderation/ModerationDetailsDialog.tsx:66
+#: src/lib/moderation/useModerationCauseDescription.ts:50
+#: src/lib/moderation/useModerationCauseDescription.ts:58
msgid "You have blocked this user. You cannot view their content."
msgstr ""
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:57
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:92
+#: src/screens/Login/SetNewPasswordForm.tsx:54
+#: src/screens/Login/SetNewPasswordForm.tsx:91
#: src/view/com/modals/ChangePassword.tsx:87
#: src/view/com/modals/ChangePassword.tsx:121
msgid "You have entered an invalid code. It should look like XXXXX-XXXXX."
msgstr ""
-#: src/view/com/modals/ModerationDetails.tsx:87
-msgid "You have muted this user."
+#: src/lib/moderation/useModerationCauseDescription.ts:109
+msgid "You have hidden this post"
msgstr ""
-#: src/view/com/feeds/ProfileFeedgens.tsx:136
+#: src/components/moderation/ModerationDetailsDialog.tsx:101
+msgid "You have hidden this post."
+msgstr ""
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:94
+#: src/lib/moderation/useModerationCauseDescription.ts:92
+msgid "You have muted this account."
+msgstr ""
+
+#: src/lib/moderation/useModerationCauseDescription.ts:86
+msgid "You have muted this user"
+msgstr ""
+
+#: src/view/com/feeds/ProfileFeedgens.tsx:144
msgid "You have no feeds."
msgstr ""
#: src/view/com/lists/MyLists.tsx:89
-#: src/view/com/lists/ProfileLists.tsx:140
+#: src/view/com/lists/ProfileLists.tsx:148
msgid "You have no lists."
msgstr ""
-#: src/view/screens/ModerationBlockedAccounts.tsx:132
-msgid "You have not blocked any accounts yet. To block an account, go to their profile and selected \"Block account\" from the menu on their account."
+#: src/view/screens/ModerationBlockedAccounts.tsx:138
+msgid "You have not blocked any accounts yet. To block an account, go to their profile and select \"Block account\" from the menu on their account."
msgstr ""
-#: src/view/screens/AppPasswords.tsx:87
+#: src/view/screens/AppPasswords.tsx:89
msgid "You have not created any app passwords yet. You can create one by pressing the button below."
msgstr ""
-#: src/view/screens/ModerationMutedAccounts.tsx:131
-msgid "You have not muted any accounts yet. To mute an account, go to their profile and selected \"Mute account\" from the menu on their account."
+#: src/view/screens/ModerationMutedAccounts.tsx:136
+msgid "You have not muted any accounts yet. To mute an account, go to their profile and select \"Mute account\" from the menu on their account."
msgstr ""
-#: src/components/dialogs/MutedWords.tsx:250
+#: src/components/dialogs/MutedWords.tsx:249
msgid "You haven't muted any words or tags yet"
msgstr ""
-#: src/view/com/modals/ContentFilteringSettings.tsx:175
-msgid "You must be 18 or older to enable adult content."
+#: src/components/moderation/LabelsOnMeDialog.tsx:68
+msgid "You may appeal these labels if you feel they were placed in error."
msgstr ""
-#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:103
+#: src/screens/Signup/StepInfo/Policies.tsx:79
+msgid "You must be 13 years of age or older to sign up."
+msgstr ""
+
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:110
msgid "You must be 18 years or older to enable adult content"
msgstr ""
-#: src/view/com/util/forms/PostDropdownBtn.tsx:147
-msgid "You will no longer receive notifications for this thread"
+#: src/components/ReportDialog/SubmitView.tsx:203
+msgid "You must select at least one labeler for a report"
msgstr ""
#: src/view/com/util/forms/PostDropdownBtn.tsx:150
+msgid "You will no longer receive notifications for this thread"
+msgstr ""
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:153
msgid "You will now receive notifications for this thread"
msgstr ""
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:107
+#: src/screens/Login/SetNewPasswordForm.tsx:104
msgid "You will receive an email with a \"reset code.\" Enter that code here, then enter your new password."
msgstr ""
-#: src/screens/Onboarding/StepModeration/index.tsx:72
+#: src/screens/Onboarding/StepModeration/index.tsx:60
msgid "You're in control"
msgstr ""
@@ -4818,19 +5389,24 @@ msgstr ""
msgid "You're in line"
msgstr ""
-#: src/screens/Onboarding/StepFinished.tsx:90
+#: src/screens/Onboarding/StepFinished.tsx:94
msgid "You're ready to go!"
msgstr ""
+#: src/components/moderation/ModerationDetailsDialog.tsx:98
+#: src/lib/moderation/useModerationCauseDescription.ts:101
+msgid "You've chosen to hide a word or tag within this post."
+msgstr ""
+
#: src/view/com/posts/FollowingEndOfFeed.tsx:48
msgid "You've reached the end of your feed! Find some more accounts to follow."
msgstr ""
-#: src/view/com/auth/create/Step1.tsx:67
+#: src/screens/Signup/index.tsx:151
msgid "Your account"
msgstr ""
-#: src/view/com/modals/DeleteAccount.tsx:67
+#: src/view/com/modals/DeleteAccount.tsx:68
msgid "Your account has been deleted"
msgstr ""
@@ -4838,7 +5414,7 @@ msgstr ""
msgid "Your account repository, containing all public data records, can be downloaded as a \"CAR\" file. This file does not include media embeds, such as images, or your private data, which must be fetched separately."
msgstr ""
-#: src/view/com/auth/create/Step1.tsx:215
+#: src/screens/Signup/StepInfo/index.tsx:123
msgid "Your birth date"
msgstr ""
@@ -4846,20 +5422,16 @@ msgstr ""
msgid "Your choice will be saved, but can be changed later in settings."
msgstr ""
-#: src/screens/Onboarding/StepFollowingFeed.tsx:61
+#: src/screens/Onboarding/StepFollowingFeed.tsx:62
msgid "Your default feed is \"Following\""
msgstr ""
-#: src/view/com/auth/create/state.ts:110
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:70
+#: src/screens/Login/ForgotPasswordForm.tsx:57
+#: src/screens/Signup/state.ts:227
#: src/view/com/modals/ChangePassword.tsx:54
msgid "Your email appears to be invalid."
msgstr ""
-#: src/view/com/modals/Waitlist.tsx:109
-#~ msgid "Your email has been saved! We'll be in touch soon."
-#~ msgstr ""
-
#: src/view/com/modals/ChangeEmail.tsx:125
msgid "Your email has been updated but not verified. As a next step, please verify your new email."
msgstr ""
@@ -4872,47 +5444,40 @@ msgstr ""
msgid "Your following feed is empty! Follow more users to see what's happening."
msgstr ""
-#: src/view/com/auth/create/Step2.tsx:83
+#: src/screens/Signup/StepHandle.tsx:73
msgid "Your full handle will be"
msgstr ""
-#: src/view/com/modals/ChangeHandle.tsx:270
+#: src/view/com/modals/ChangeHandle.tsx:271
msgid "Your full handle will be <0>@{0}0>"
msgstr ""
-#: src/view/screens/Settings.tsx:430
-#: src/view/shell/desktop/RightNav.tsx:137
-#: src/view/shell/Drawer.tsx:660
-#~ msgid "Your invite codes are hidden when logged in using an App Password"
-#~ msgstr ""
-
-#: src/components/dialogs/MutedWords.tsx:221
+#: src/components/dialogs/MutedWords.tsx:220
msgid "Your muted words"
msgstr ""
-#: src/view/com/modals/ChangePassword.tsx:155
+#: src/view/com/modals/ChangePassword.tsx:157
msgid "Your password has been changed successfully!"
msgstr ""
-#: src/view/com/composer/Composer.tsx:274
+#: src/view/com/composer/Composer.tsx:284
msgid "Your post has been published"
msgstr ""
-#: src/screens/Onboarding/StepFinished.tsx:105
+#: src/screens/Onboarding/StepFinished.tsx:109
#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:59
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:59
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:61
msgid "Your posts, likes, and blocks are public. Mutes are private."
msgstr ""
-#: src/view/com/modals/SwitchAccount.tsx:84
-#: src/view/screens/Settings/index.tsx:118
+#: src/view/screens/Settings/index.tsx:136
msgid "Your profile"
msgstr ""
-#: src/view/com/composer/Composer.tsx:273
+#: src/view/com/composer/Composer.tsx:283
msgid "Your reply has been published"
msgstr ""
-#: src/view/com/auth/create/Step2.tsx:65
+#: src/screens/Signup/index.tsx:153
msgid "Your user handle"
-msgstr ""
\ No newline at end of file
+msgstr ""
diff --git a/src/locale/locales/es/messages.po b/src/locale/locales/es/messages.po
index 1c73448099..58d50bc410 100644
--- a/src/locale/locales/es/messages.po
+++ b/src/locale/locales/es/messages.po
@@ -21,7 +21,8 @@ msgstr ""
#~ msgid "{0, plural, one {# invite code available} other {# invite codes available}}"
#~ msgstr "{0, plural, one {# invite code available} other {# invite codes available}}"
-#: src/view/com/profile/ProfileHeader.tsx:593
+#: src/components/ProfileHoverCard/index.web.tsx:323
+#: src/screens/Profile/Header/Metrics.tsx:44
msgid "{following} following"
msgstr ""
@@ -39,7 +40,7 @@ msgstr ""
#~ msgid "{invitesAvailable} invite codes available"
#~ msgstr "{invitesAvailable} códigos de invitación disponibles"
-#: src/view/shell/Drawer.tsx:440
+#: src/view/shell/Drawer.tsx:449
msgid "{numUnreadNotifications} unread"
msgstr ""
@@ -47,15 +48,24 @@ msgstr ""
msgid "<0/> members"
msgstr "<0/> miembros"
-#: src/view/com/profile/ProfileHeader.tsx:595
+#: src/view/shell/Drawer.tsx:97
+msgid "<0>{0}0> following"
+msgstr ""
+
+#: src/components/ProfileHoverCard/index.web.tsx:314
+msgid "<0>{followers} 0><1>{pluralizedFollowers}1>"
+msgstr ""
+
+#: src/components/ProfileHoverCard/index.web.tsx:326
+#: src/screens/Profile/Header/Metrics.tsx:45
msgid "<0>{following} 0><1>following1>"
msgstr ""
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:30
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:31
msgid "<0>Choose your0><1>Recommended1><2>Feeds2>"
msgstr "<0>Elige tus0><1>publicaciones1><2>recomendadas2>"
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:37
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:38
msgid "<0>Follow some0><1>Recommended1><2>Users2>"
msgstr "<0>Sigue a algunos0><1>usuarios1><2>recomendados2>"
@@ -63,51 +73,60 @@ msgstr "<0>Sigue a algunos0><1>usuarios1><2>recomendados2>"
msgid "<0>Welcome to0><1>Bluesky1>"
msgstr ""
-#: src/view/com/profile/ProfileHeader.tsx:558
+#: src/screens/Profile/Header/Handle.tsx:43
msgid "⚠Invalid Handle"
msgstr ""
#: src/view/com/util/moderation/LabelInfo.tsx:45
-msgid "A content warning has been applied to this {0}."
-msgstr "Se ha aplicado una advertencia de contenido a este {0}."
+#~ msgid "A content warning has been applied to this {0}."
+#~ msgstr "Se ha aplicado una advertencia de contenido a este {0}."
#: src/lib/hooks/useOTAUpdate.ts:16
-msgid "A new version of the app is available. Please update to continue using the app."
-msgstr "Ya está disponible una nueva versión de la aplicación. Actualízala para seguir utilizándola."
+#~ msgid "A new version of the app is available. Please update to continue using the app."
+#~ msgstr "Ya está disponible una nueva versión de la aplicación. Actualízala para seguir utilizándola."
#: src/view/com/util/ViewHeader.tsx:89
-#: src/view/screens/Search/Search.tsx:647
+#: src/view/screens/Search/Search.tsx:796
msgid "Access navigation links and settings"
msgstr ""
-#: src/view/com/home/HomeHeaderLayoutMobile.tsx:52
+#: src/view/com/home/HomeHeaderLayoutMobile.tsx:54
msgid "Access profile and other navigation links"
msgstr ""
-#: src/view/com/modals/EditImage.tsx:299
-#: src/view/screens/Settings/index.tsx:451
+#: src/view/com/modals/EditImage.tsx:300
+#: src/view/screens/Settings/index.tsx:421
msgid "Accessibility"
msgstr "Accesibilidad"
-#: src/view/com/auth/login/LoginForm.tsx:166
-#: src/view/screens/Settings/index.tsx:308
-#: src/view/screens/Settings/index.tsx:721
+#: src/components/moderation/LabelsOnMe.tsx:42
+msgid "account"
+msgstr ""
+
+#: src/screens/Login/LoginForm.tsx:144
+#: src/view/screens/Settings/index.tsx:330
+#: src/view/screens/Settings/index.tsx:707
msgid "Account"
msgstr "Cuenta"
-#: src/view/com/profile/ProfileHeader.tsx:246
+#: src/view/com/profile/ProfileMenu.tsx:139
msgid "Account blocked"
msgstr ""
-#: src/view/com/profile/ProfileHeader.tsx:213
+#: src/view/com/profile/ProfileMenu.tsx:153
+msgid "Account followed"
+msgstr ""
+
+#: src/view/com/profile/ProfileMenu.tsx:113
msgid "Account muted"
msgstr ""
-#: src/view/com/modals/ModerationDetails.tsx:86
+#: src/components/moderation/ModerationDetailsDialog.tsx:93
+#: src/lib/moderation/useModerationCauseDescription.ts:91
msgid "Account Muted"
msgstr ""
-#: src/view/com/modals/ModerationDetails.tsx:72
+#: src/components/moderation/ModerationDetailsDialog.tsx:82
msgid "Account Muted by List"
msgstr ""
@@ -119,19 +138,24 @@ msgstr "Opciones de la cuenta"
msgid "Account removed from quick access"
msgstr ""
-#: src/view/com/profile/ProfileHeader.tsx:268
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:137
+#: src/view/com/profile/ProfileMenu.tsx:128
msgid "Account unblocked"
msgstr ""
-#: src/view/com/profile/ProfileHeader.tsx:226
+#: src/view/com/profile/ProfileMenu.tsx:166
+msgid "Account unfollowed"
+msgstr ""
+
+#: src/view/com/profile/ProfileMenu.tsx:102
msgid "Account unmuted"
msgstr ""
-#: src/components/dialogs/MutedWords.tsx:165
+#: src/components/dialogs/MutedWords.tsx:164
#: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:150
-#: src/view/com/modals/ListAddRemoveUsers.tsx:264
+#: src/view/com/modals/ListAddRemoveUsers.tsx:268
#: src/view/com/modals/UserAddRemoveLists.tsx:219
-#: src/view/screens/ProfileList.tsx:813
+#: src/view/screens/ProfileList.tsx:829
msgid "Add"
msgstr "Agregar"
@@ -139,62 +163,63 @@ msgstr "Agregar"
msgid "Add a content warning"
msgstr "Agregar una advertencia de cuenta"
-#: src/view/screens/ProfileList.tsx:803
+#: src/view/screens/ProfileList.tsx:819
msgid "Add a user to this list"
msgstr "Agregar un usuario a esta lista"
-#: src/view/screens/Settings/index.tsx:383
-#: src/view/screens/Settings/index.tsx:392
+#: src/components/dialogs/SwitchAccount.tsx:55
+#: src/view/screens/Settings/index.tsx:405
+#: src/view/screens/Settings/index.tsx:414
msgid "Add account"
msgstr "Agregar una cuenta"
#: src/view/com/composer/photos/Gallery.tsx:119
#: src/view/com/composer/photos/Gallery.tsx:180
-#: src/view/com/modals/AltImage.tsx:116
+#: src/view/com/modals/AltImage.tsx:117
msgid "Add alt text"
msgstr "Agregar texto alt"
-#: src/view/screens/AppPasswords.tsx:102
-#: src/view/screens/AppPasswords.tsx:143
-#: src/view/screens/AppPasswords.tsx:156
+#: src/view/screens/AppPasswords.tsx:104
+#: src/view/screens/AppPasswords.tsx:145
+#: src/view/screens/AppPasswords.tsx:158
msgid "Add App Password"
msgstr ""
#: src/view/com/modals/report/InputIssueDetails.tsx:41
#: src/view/com/modals/report/Modal.tsx:191
-msgid "Add details"
-msgstr "Agregar detalles"
+#~ msgid "Add details"
+#~ msgstr "Agregar detalles"
#: src/view/com/modals/report/Modal.tsx:194
-msgid "Add details to report"
-msgstr "Agregar detalles al informe"
+#~ msgid "Add details to report"
+#~ msgstr "Agregar detalles al informe"
-#: src/view/com/composer/Composer.tsx:453
+#: src/view/com/composer/Composer.tsx:467
msgid "Add link card"
msgstr "Agregar una tarjeta de enlace"
-#: src/view/com/composer/Composer.tsx:458
+#: src/view/com/composer/Composer.tsx:472
msgid "Add link card:"
msgstr "Agregar una tarjeta de enlace:"
-#: src/components/dialogs/MutedWords.tsx:158
+#: src/components/dialogs/MutedWords.tsx:157
msgid "Add mute word for configured settings"
msgstr ""
-#: src/components/dialogs/MutedWords.tsx:87
+#: src/components/dialogs/MutedWords.tsx:86
msgid "Add muted words and tags"
msgstr ""
-#: src/view/com/modals/ChangeHandle.tsx:417
+#: src/view/com/modals/ChangeHandle.tsx:416
msgid "Add the following DNS record to your domain:"
msgstr "Añade el siguiente registro DNS a tu dominio:"
-#: src/view/com/profile/ProfileHeader.tsx:310
+#: src/view/com/profile/ProfileMenu.tsx:263
+#: src/view/com/profile/ProfileMenu.tsx:266
msgid "Add to Lists"
msgstr "Agregar a listas"
-#: src/view/com/feeds/FeedSourceCard.tsx:245
-#: src/view/screens/ProfileFeed.tsx:273
+#: src/view/com/feeds/FeedSourceCard.tsx:234
msgid "Add to my feeds"
msgstr "Agregar a mis noticias"
@@ -207,7 +232,7 @@ msgstr ""
msgid "Added to list"
msgstr "Agregar a una lista"
-#: src/view/com/feeds/FeedSourceCard.tsx:127
+#: src/view/com/feeds/FeedSourceCard.tsx:108
msgid "Added to my feeds"
msgstr ""
@@ -215,32 +240,39 @@ msgstr ""
msgid "Adjust the number of likes a reply must have to be shown in your feed."
msgstr "Ajusta el número de Me gusta que debe tener una respuesta para que se muestre en tus noticias."
+#: src/lib/moderation/useGlobalLabelStrings.ts:34
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:117
#: src/view/com/modals/SelfLabel.tsx:75
msgid "Adult Content"
msgstr "Contenido para adultos"
#: src/view/com/modals/ContentFilteringSettings.tsx:141
-msgid "Adult content can only be enabled via the Web at <0/>."
-msgstr ""
+#~ msgid "Adult content can only be enabled via the Web at <0/>."
+#~ msgstr ""
#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:78
#~ msgid "Adult content can only be enabled via the Web at <0>bsky.app0>."
#~ msgstr ""
-#: src/view/screens/Settings/index.tsx:664
+#: src/components/moderation/LabelPreference.tsx:242
+msgid "Adult content is disabled."
+msgstr ""
+
+#: src/screens/Moderation/index.tsx:375
+#: src/view/screens/Settings/index.tsx:635
msgid "Advanced"
msgstr "Avanzado"
-#: src/view/screens/Feeds.tsx:666
+#: src/view/screens/Feeds.tsx:691
msgid "All the feeds you've saved, right in one place."
msgstr ""
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:221
-#: src/view/com/modals/ChangePassword.tsx:168
+#: src/screens/Login/ForgotPasswordForm.tsx:178
+#: src/view/com/modals/ChangePassword.tsx:170
msgid "Already have a code?"
msgstr ""
-#: src/view/com/auth/login/ChooseAccountForm.tsx:98
+#: src/screens/Login/ChooseAccountForm.tsx:39
msgid "Already signed in as @{0}"
msgstr ""
@@ -248,7 +280,7 @@ msgstr ""
msgid "ALT"
msgstr "ALT"
-#: src/view/com/modals/EditImage.tsx:315
+#: src/view/com/modals/EditImage.tsx:316
msgid "Alt text"
msgstr "Texto alt"
@@ -264,12 +296,20 @@ msgstr "Se ha enviado un correo electrónico a {0}. Incluye un código de confir
msgid "An email has been sent to your previous address, {0}. It includes a confirmation code which you can enter below."
msgstr "Se ha enviado un correo electrónico a tu dirección previa, {0}. Incluye un código de confirmación que puedes introducir a continuación."
-#: src/view/com/profile/FollowButton.tsx:30
-#: src/view/com/profile/FollowButton.tsx:40
+#: src/lib/moderation/useReportOptions.ts:26
+msgid "An issue not included in these options"
+msgstr ""
+
+#: src/components/hooks/useFollowMethods.ts:35
+#: src/components/hooks/useFollowMethods.ts:50
+#: src/view/com/profile/FollowButton.tsx:35
+#: src/view/com/profile/FollowButton.tsx:45
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:188
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:198
msgid "An issue occurred, please try again."
msgstr ""
-#: src/view/com/notifications/FeedItem.tsx:237
+#: src/view/com/notifications/FeedItem.tsx:242
#: src/view/com/threadgate/WhoCanReply.tsx:178
msgid "and"
msgstr "y"
@@ -278,23 +318,27 @@ msgstr "y"
msgid "Animals"
msgstr ""
+#: src/lib/moderation/useReportOptions.ts:31
+msgid "Anti-Social Behavior"
+msgstr ""
+
#: src/view/screens/LanguageSettings.tsx:95
msgid "App Language"
msgstr "Lenguaje de app"
-#: src/view/screens/AppPasswords.tsx:228
+#: src/view/screens/AppPasswords.tsx:223
msgid "App password deleted"
msgstr ""
-#: src/view/com/modals/AddAppPasswords.tsx:134
+#: src/view/com/modals/AddAppPasswords.tsx:135
msgid "App Password names can only contain letters, numbers, spaces, dashes, and underscores."
msgstr ""
-#: src/view/com/modals/AddAppPasswords.tsx:99
+#: src/view/com/modals/AddAppPasswords.tsx:100
msgid "App Password names must be at least 4 characters long."
msgstr ""
-#: src/view/screens/Settings/index.tsx:675
+#: src/view/screens/Settings/index.tsx:646
msgid "App password settings"
msgstr ""
@@ -302,49 +346,65 @@ msgstr ""
#~ msgid "App passwords"
#~ msgstr "Contraseñas de la app"
-#: src/Navigation.tsx:239
-#: src/view/screens/AppPasswords.tsx:187
-#: src/view/screens/Settings/index.tsx:684
+#: src/Navigation.tsx:251
+#: src/view/screens/AppPasswords.tsx:189
+#: src/view/screens/Settings/index.tsx:655
msgid "App Passwords"
msgstr "Contraseñas de la app"
+#: src/components/moderation/LabelsOnMeDialog.tsx:133
+#: src/components/moderation/LabelsOnMeDialog.tsx:136
+msgid "Appeal"
+msgstr ""
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:201
+msgid "Appeal \"{0}\" label"
+msgstr ""
+
#: src/view/com/util/forms/PostDropdownBtn.tsx:337
#: src/view/com/util/forms/PostDropdownBtn.tsx:346
-msgid "Appeal content warning"
-msgstr "Aviso sobre el contenido del recurso"
+#~ msgid "Appeal content warning"
+#~ msgstr "Aviso sobre el contenido del recurso"
#: src/view/com/modals/AppealLabel.tsx:65
-msgid "Appeal Content Warning"
-msgstr "Aviso sobre el Contenido del Recurso"
+#~ msgid "Appeal Content Warning"
+#~ msgstr "Aviso sobre el Contenido del Recurso"
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:192
+msgid "Appeal submitted."
+msgstr ""
#: src/view/com/util/moderation/LabelInfo.tsx:52
-msgid "Appeal this decision"
-msgstr "Apelar esta decisión"
+#~ msgid "Appeal this decision"
+#~ msgstr "Apelar esta decisión"
#: src/view/com/util/moderation/LabelInfo.tsx:56
-msgid "Appeal this decision."
-msgstr "Apelar esta decisión."
+#~ msgid "Appeal this decision."
+#~ msgstr "Apelar esta decisión."
-#: src/view/screens/Settings/index.tsx:466
+#: src/view/screens/Settings/index.tsx:436
msgid "Appearance"
msgstr "Aspecto exterior"
-#: src/view/screens/AppPasswords.tsx:224
+#: src/view/screens/AppPasswords.tsx:265
msgid "Are you sure you want to delete the app password \"{name}\"?"
msgstr "¿Estás seguro de que quieres eliminar la contraseña de la app \"{name}\"?"
-#: src/view/com/composer/Composer.tsx:150
+#: src/view/com/feeds/FeedSourceCard.tsx:280
+msgid "Are you sure you want to remove {0} from your feeds?"
+msgstr ""
+
+#: src/view/com/composer/Composer.tsx:509
msgid "Are you sure you'd like to discard this draft?"
msgstr "¿Estás seguro de que quieres descartar este borrador?"
-#: src/components/dialogs/MutedWords.tsx:282
-#: src/view/screens/ProfileList.tsx:365
+#: src/components/dialogs/MutedWords.tsx:281
msgid "Are you sure?"
msgstr "¿Estás seguro?"
#: src/view/com/util/forms/PostDropdownBtn.tsx:322
-msgid "Are you sure? This cannot be undone."
-msgstr "¿Estás seguro? Esto no puede deshacerse."
+#~ msgid "Are you sure? This cannot be undone."
+#~ msgstr "¿Estás seguro? Esto no puede deshacerse."
#: src/view/com/composer/select-language/SuggestedLanguage.tsx:60
msgid "Are you writing in <0>{0}0>?"
@@ -358,120 +418,141 @@ msgstr ""
msgid "Artistic or non-erotic nudity."
msgstr "Desnudez artística o no erótica."
-#: src/view/com/auth/create/CreateAccount.tsx:158
-#: src/view/com/auth/login/ChooseAccountForm.tsx:151
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:174
-#: src/view/com/auth/login/LoginForm.tsx:259
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:179
-#: src/view/com/modals/report/InputIssueDetails.tsx:46
-#: src/view/com/post-thread/PostThread.tsx:472
-#: src/view/com/post-thread/PostThread.tsx:522
-#: src/view/com/post-thread/PostThread.tsx:530
-#: src/view/com/profile/ProfileHeader.tsx:649
+#: src/screens/Signup/StepHandle.tsx:119
+msgid "At least 3 characters"
+msgstr ""
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:246
+#: src/components/moderation/LabelsOnMeDialog.tsx:247
+#: src/screens/Login/ChooseAccountForm.tsx:73
+#: src/screens/Login/ChooseAccountForm.tsx:78
+#: src/screens/Login/ForgotPasswordForm.tsx:129
+#: src/screens/Login/ForgotPasswordForm.tsx:135
+#: src/screens/Login/LoginForm.tsx:221
+#: src/screens/Login/LoginForm.tsx:227
+#: src/screens/Login/SetNewPasswordForm.tsx:160
+#: src/screens/Login/SetNewPasswordForm.tsx:166
+#: src/screens/Profile/Header/Shell.tsx:96
+#: src/screens/Signup/index.tsx:180
#: src/view/com/util/ViewHeader.tsx:87
msgid "Back"
msgstr "Regresar"
#: src/view/com/post-thread/PostThread.tsx:480
-msgctxt "action"
-msgid "Back"
-msgstr ""
+#~ msgctxt "action"
+#~ msgid "Back"
+#~ msgstr ""
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:136
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:144
msgid "Based on your interest in {interestsText}"
msgstr ""
-#: src/view/screens/Settings/index.tsx:523
+#: src/view/screens/Settings/index.tsx:493
msgid "Basics"
msgstr "Conceptos básicos"
-#: src/view/com/auth/create/Step1.tsx:227
-#: src/view/com/modals/BirthDateSettings.tsx:73
+#: src/components/dialogs/BirthDateSettings.tsx:107
msgid "Birthday"
msgstr "Cumpleaños"
-#: src/view/screens/Settings/index.tsx:340
+#: src/view/screens/Settings/index.tsx:362
msgid "Birthday:"
msgstr "Cumpleaños:"
-#: src/view/com/profile/ProfileHeader.tsx:239
-#: src/view/com/profile/ProfileHeader.tsx:346
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:286
+#: src/view/com/profile/ProfileMenu.tsx:361
+msgid "Block"
+msgstr ""
+
+#: src/view/com/profile/ProfileMenu.tsx:300
+#: src/view/com/profile/ProfileMenu.tsx:307
msgid "Block Account"
msgstr "Bloquear una cuenta"
-#: src/view/screens/ProfileList.tsx:556
+#: src/view/com/profile/ProfileMenu.tsx:344
+msgid "Block Account?"
+msgstr ""
+
+#: src/view/screens/ProfileList.tsx:532
msgid "Block accounts"
msgstr "Bloquear cuentas"
-#: src/view/screens/ProfileList.tsx:506
+#: src/view/screens/ProfileList.tsx:480
+#: src/view/screens/ProfileList.tsx:636
msgid "Block list"
msgstr "Bloquear una lista"
-#: src/view/screens/ProfileList.tsx:316
+#: src/view/screens/ProfileList.tsx:631
msgid "Block these accounts?"
msgstr "¿Bloquear estas cuentas?"
#: src/view/screens/ProfileList.tsx:320
-msgid "Block this List"
-msgstr ""
+#~ msgid "Block this List"
+#~ msgstr ""
#: src/view/com/lists/ListCard.tsx:110
-#: src/view/com/util/post-embeds/QuoteEmbed.tsx:61
+#: src/view/com/util/post-embeds/QuoteEmbed.tsx:58
msgid "Blocked"
msgstr ""
-#: src/view/screens/Moderation.tsx:142
+#: src/screens/Moderation/index.tsx:267
msgid "Blocked accounts"
msgstr "Cuentas bloqueadas"
-#: src/Navigation.tsx:132
-#: src/view/screens/ModerationBlockedAccounts.tsx:107
+#: src/Navigation.tsx:134
+#: src/view/screens/ModerationBlockedAccounts.tsx:113
msgid "Blocked Accounts"
msgstr "Cuentas bloqueadas"
-#: src/view/com/profile/ProfileHeader.tsx:241
+#: src/view/com/profile/ProfileMenu.tsx:356
msgid "Blocked accounts cannot reply in your threads, mention you, or otherwise interact with you."
msgstr "Las cuentas bloqueadas no pueden responder en tus hilos, mencionarte ni interactuar contigo de ninguna otra forma."
-#: src/view/screens/ModerationBlockedAccounts.tsx:115
+#: src/view/screens/ModerationBlockedAccounts.tsx:121
msgid "Blocked accounts cannot reply in your threads, mention you, or otherwise interact with you. You will not see their content and they will be prevented from seeing yours."
msgstr "Las cuentas bloqueadas no pueden responder en tus hilos, mencionarte ni interactuar contigo de ninguna otra forma. Tú no verás su contenido y ellos no podrán ver el tuyo."
-#: src/view/com/post-thread/PostThread.tsx:324
+#: src/view/com/post-thread/PostThread.tsx:313
msgid "Blocked post."
msgstr "Publicación bloqueada."
-#: src/view/screens/ProfileList.tsx:318
+#: src/screens/Profile/Sections/Labels.tsx:163
+msgid "Blocking does not prevent this labeler from placing labels on your account."
+msgstr ""
+
+#: src/view/screens/ProfileList.tsx:633
msgid "Blocking is public. Blocked accounts cannot reply in your threads, mention you, or otherwise interact with you."
msgstr "El bloque es público. Las cuentas bloqueadas no pueden responder en tus hilos, mencionarte ni interactuar contigo de ninguna otra forma."
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:93
-#: src/view/com/auth/SplashScreen.web.tsx:133
+#: src/view/com/profile/ProfileMenu.tsx:353
+msgid "Blocking will not prevent labels from being applied on your account, but it will stop this account from replying in your threads or interacting with you."
+msgstr ""
+
+#: src/view/com/auth/SplashScreen.web.tsx:149
msgid "Blog"
msgstr "Blog"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:31
#: src/view/com/auth/server-input/index.tsx:89
-#: src/view/com/auth/server-input/index.tsx:90
+#: src/view/com/auth/server-input/index.tsx:91
msgid "Bluesky"
msgstr "Bluesky"
-#: src/view/com/auth/server-input/index.tsx:150
+#: src/view/com/auth/server-input/index.tsx:154
msgid "Bluesky is an open network where you can choose your hosting provider. Custom hosting is now available in beta for developers."
msgstr ""
#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:80
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:80
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:82
msgid "Bluesky is flexible."
msgstr "Bluesky es flexible."
#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:69
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:69
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:71
msgid "Bluesky is open."
msgstr "Bluesky es abierto."
#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:56
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:56
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:58
msgid "Bluesky is public."
msgstr "Bluesky es público."
@@ -479,7 +560,7 @@ msgstr "Bluesky es público."
#~ msgid "Bluesky uses invites to build a healthier community. If you don't know anybody with an invite, you can sign up for the waitlist and we'll send one soon."
#~ msgstr "Bluesky utiliza las invitaciones para construir una comunidad más saludable. Si no conoces a nadie con una invitación, puedes apuntarte a la lista de espera y te enviaremos una en breve."
-#: src/view/screens/Moderation.tsx:245
+#: src/screens/Moderation/index.tsx:533
msgid "Bluesky will not show your profile and posts to logged-out users. Other apps may not honor this request. This does not make your account private."
msgstr "Bluesky no mostrará tu perfil ni tus publicaciones a los usuarios que hayan cerrado sesión. Es posible que otras aplicaciones no acepten esta solicitud. Esto no hace que tu cuenta sea privada."
@@ -487,16 +568,23 @@ msgstr "Bluesky no mostrará tu perfil ni tus publicaciones a los usuarios que h
#~ msgid "Bluesky.Social"
#~ msgstr "Bluesky.Social"
+#: src/lib/moderation/useLabelBehaviorDescription.ts:53
+msgid "Blur images"
+msgstr ""
+
+#: src/lib/moderation/useLabelBehaviorDescription.ts:51
+msgid "Blur images and filter from feeds"
+msgstr ""
+
#: src/screens/Onboarding/index.tsx:33
msgid "Books"
msgstr ""
-#: src/view/screens/Settings/index.tsx:859
-msgid "Build version {0} {1}"
-msgstr "Versión {0} {1}"
+#: src/view/screens/Settings/index.tsx:893
+#~ msgid "Build version {0} {1}"
+#~ msgstr "Versión {0} {1}"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:87
-#: src/view/com/auth/SplashScreen.web.tsx:128
+#: src/view/com/auth/SplashScreen.web.tsx:146
msgid "Business"
msgstr "Negocios"
@@ -512,76 +600,87 @@ msgstr ""
msgid "by {0}"
msgstr ""
+#: src/components/LabelingServiceCard/index.tsx:57
+msgid "By {0}"
+msgstr ""
+
#: src/view/com/profile/ProfileSubpageHeader.tsx:161
msgid "by <0/>"
msgstr ""
+#: src/screens/Signup/StepInfo/Policies.tsx:74
+msgid "By creating an account you agree to the {els}."
+msgstr ""
+
#: src/view/com/profile/ProfileSubpageHeader.tsx:159
msgid "by you"
msgstr ""
-#: src/view/com/composer/photos/OpenCameraBtn.tsx:60
-#: src/view/com/util/UserAvatar.tsx:224
-#: src/view/com/util/UserBanner.tsx:40
+#: src/view/com/composer/photos/OpenCameraBtn.tsx:77
msgid "Camera"
msgstr "Cámara"
-#: src/view/com/modals/AddAppPasswords.tsx:216
+#: src/view/com/modals/AddAppPasswords.tsx:217
msgid "Can only contain letters, numbers, spaces, dashes, and underscores. Must be at least 4 characters long, but no more than 32 characters long."
msgstr "Sólo puede contener letras, números, espacios, guiones y guiones bajos. Debe tener al menos 4 caracteres, pero no más de 32."
-#: src/components/Prompt.tsx:101
-#: src/view/com/composer/Composer.tsx:307
-#: src/view/com/composer/Composer.tsx:312
+#: src/components/Menu/index.tsx:213
+#: src/components/Prompt.tsx:113
+#: src/components/Prompt.tsx:115
+#: src/components/TagMenu/index.tsx:268
+#: src/view/com/composer/Composer.tsx:317
+#: src/view/com/composer/Composer.tsx:322
#: src/view/com/modals/ChangeEmail.tsx:218
#: src/view/com/modals/ChangeEmail.tsx:220
-#: src/view/com/modals/ChangePassword.tsx:265
-#: src/view/com/modals/ChangePassword.tsx:268
-#: src/view/com/modals/CreateOrEditList.tsx:355
-#: src/view/com/modals/EditImage.tsx:323
-#: src/view/com/modals/EditProfile.tsx:249
+#: src/view/com/modals/ChangeHandle.tsx:154
+#: src/view/com/modals/ChangePassword.tsx:267
+#: src/view/com/modals/ChangePassword.tsx:270
+#: src/view/com/modals/CreateOrEditList.tsx:356
+#: src/view/com/modals/crop-image/CropImage.web.tsx:138
+#: src/view/com/modals/EditImage.tsx:324
+#: src/view/com/modals/EditProfile.tsx:250
#: src/view/com/modals/InAppBrowserConsent.tsx:78
-#: src/view/com/modals/LinkWarning.tsx:87
-#: src/view/com/modals/Repost.tsx:87
+#: src/view/com/modals/InAppBrowserConsent.tsx:80
+#: src/view/com/modals/LinkWarning.tsx:105
+#: src/view/com/modals/LinkWarning.tsx:107
+#: src/view/com/modals/Repost.tsx:88
#: src/view/com/modals/VerifyEmail.tsx:247
#: src/view/com/modals/VerifyEmail.tsx:253
-#: src/view/screens/Search/Search.tsx:716
-#: src/view/shell/desktop/Search.tsx:238
+#: src/view/screens/Search/Search.tsx:865
+#: src/view/shell/desktop/Search.tsx:239
msgid "Cancel"
msgstr "Cancelar"
-#: src/view/com/modals/Confirm.tsx:88
-#: src/view/com/modals/Confirm.tsx:91
-#: src/view/com/modals/CreateOrEditList.tsx:360
-#: src/view/com/modals/DeleteAccount.tsx:156
-#: src/view/com/modals/DeleteAccount.tsx:234
+#: src/view/com/modals/CreateOrEditList.tsx:361
+#: src/view/com/modals/DeleteAccount.tsx:155
+#: src/view/com/modals/DeleteAccount.tsx:233
msgctxt "action"
msgid "Cancel"
msgstr ""
-#: src/view/com/modals/DeleteAccount.tsx:152
-#: src/view/com/modals/DeleteAccount.tsx:230
+#: src/view/com/modals/DeleteAccount.tsx:151
+#: src/view/com/modals/DeleteAccount.tsx:229
msgid "Cancel account deletion"
msgstr "Cancelar la eliminación de la cuenta"
-#: src/view/com/modals/ChangeHandle.tsx:149
+#: src/view/com/modals/ChangeHandle.tsx:150
msgid "Cancel change handle"
msgstr "Cancelar identificador de cambio"
-#: src/view/com/modals/crop-image/CropImage.web.tsx:134
+#: src/view/com/modals/crop-image/CropImage.web.tsx:135
msgid "Cancel image crop"
msgstr "Cancelar recorte de imagen"
-#: src/view/com/modals/EditProfile.tsx:244
+#: src/view/com/modals/EditProfile.tsx:245
msgid "Cancel profile editing"
msgstr "Cancelar la edición de perfil"
-#: src/view/com/modals/Repost.tsx:78
+#: src/view/com/modals/Repost.tsx:79
msgid "Cancel quote post"
msgstr "Cancelar la publicación de un presupuesto"
#: src/view/com/modals/ListAddRemoveUsers.tsx:87
-#: src/view/shell/desktop/Search.tsx:234
+#: src/view/shell/desktop/Search.tsx:235
msgid "Cancel search"
msgstr "Cancelar búsqueda"
@@ -589,17 +688,25 @@ msgstr "Cancelar búsqueda"
#~ msgid "Cancel waitlist signup"
#~ msgstr "Cancelar la inscripción en la lista de espera"
-#: src/view/screens/Settings/index.tsx:334
+#: src/view/com/modals/LinkWarning.tsx:106
+msgid "Cancels opening the linked website"
+msgstr ""
+
+#: src/view/com/modals/VerifyEmail.tsx:152
+msgid "Change"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:356
msgctxt "action"
msgid "Change"
msgstr "Cambiar"
-#: src/view/screens/Settings/index.tsx:696
+#: src/view/screens/Settings/index.tsx:667
msgid "Change handle"
msgstr "Cambiar el identificador"
-#: src/view/com/modals/ChangeHandle.tsx:161
-#: src/view/screens/Settings/index.tsx:705
+#: src/view/com/modals/ChangeHandle.tsx:162
+#: src/view/screens/Settings/index.tsx:678
msgid "Change Handle"
msgstr "Cambiar el identificador"
@@ -607,11 +714,12 @@ msgstr "Cambiar el identificador"
msgid "Change my email"
msgstr "Cambiar mi correo electrónico"
-#: src/view/screens/Settings/index.tsx:732
+#: src/view/screens/Settings/index.tsx:718
msgid "Change password"
msgstr ""
-#: src/view/screens/Settings/index.tsx:741
+#: src/view/com/modals/ChangePassword.tsx:141
+#: src/view/screens/Settings/index.tsx:729
msgid "Change Password"
msgstr ""
@@ -620,8 +728,8 @@ msgid "Change post language to {0}"
msgstr ""
#: src/view/screens/Settings/index.tsx:733
-msgid "Change your Bluesky password"
-msgstr ""
+#~ msgid "Change your Bluesky password"
+#~ msgstr ""
#: src/view/com/modals/ChangeEmail.tsx:109
msgid "Change Your Email"
@@ -632,15 +740,15 @@ msgstr "Cambiar tu correo electrónico"
msgid "Check my status"
msgstr ""
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:121
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:122
msgid "Check out some recommended feeds. Tap + to add them to your list of pinned feeds."
msgstr "Echa un vistazo a algunas publicaciones recomendadas. Pulsa + para añadirlos a tu lista de publicaciones ancladas."
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:185
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:186
msgid "Check out some recommended users. Follow them to see similar users."
msgstr "Echa un vistazo a algunos usuarios recomendados. Síguelos para ver usuarios similares."
-#: src/view/com/modals/DeleteAccount.tsx:169
+#: src/view/com/modals/DeleteAccount.tsx:168
msgid "Check your inbox for an email with the confirmation code to enter below:"
msgstr "Consulta tu bandeja de entrada para recibir un correo electrónico con el código de confirmación que debes introducir a continuación:"
@@ -649,19 +757,19 @@ msgid "Choose \"Everybody\" or \"Nobody\""
msgstr ""
#: src/view/screens/Settings/index.tsx:697
-msgid "Choose a new Bluesky username or create"
-msgstr ""
+#~ msgid "Choose a new Bluesky username or create"
+#~ msgstr ""
#: src/view/com/auth/server-input/index.tsx:79
msgid "Choose Service"
msgstr "Elige un Servicio"
-#: src/screens/Onboarding/StepFinished.tsx:135
+#: src/screens/Onboarding/StepFinished.tsx:139
msgid "Choose the algorithms that power your custom feeds."
msgstr ""
#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:83
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:83
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:85
msgid "Choose the algorithms that power your experience with custom feeds."
msgstr "Elige los algoritmos que potencian tu experiencia con publicaciones personalizadas."
@@ -669,37 +777,43 @@ msgstr "Elige los algoritmos que potencian tu experiencia con publicaciones pers
#~ msgid "Choose your algorithmic feeds"
#~ msgstr ""
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:103
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:104
msgid "Choose your main feeds"
msgstr ""
-#: src/view/com/auth/create/Step1.tsx:196
+#: src/screens/Signup/StepInfo/index.tsx:114
msgid "Choose your password"
msgstr "Elige tu contraseña"
-#: src/view/screens/Settings/index.tsx:834
-#: src/view/screens/Settings/index.tsx:835
+#: src/view/screens/Settings/index.tsx:832
msgid "Clear all legacy storage data"
msgstr "Borrar todos los datos de almacenamiento heredados"
-#: src/view/screens/Settings/index.tsx:837
+#: src/view/screens/Settings/index.tsx:835
msgid "Clear all legacy storage data (restart after this)"
msgstr "Borrar todos los datos de almacenamiento heredados (reiniciar después de esto)"
-#: src/view/screens/Settings/index.tsx:846
-#: src/view/screens/Settings/index.tsx:847
+#: src/view/screens/Settings/index.tsx:844
msgid "Clear all storage data"
msgstr "Borrar todos los datos de almacenamiento"
-#: src/view/screens/Settings/index.tsx:849
+#: src/view/screens/Settings/index.tsx:847
msgid "Clear all storage data (restart after this)"
msgstr "Borrar todos los datos de almacenamiento (reiniciar después de esto)"
#: src/view/com/util/forms/SearchInput.tsx:88
-#: src/view/screens/Search/Search.tsx:697
+#: src/view/screens/Search/Search.tsx:846
msgid "Clear search query"
msgstr "Borrar consulta de búsqueda"
+#: src/view/screens/Settings/index.tsx:833
+msgid "Clears all legacy storage data"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:845
+msgid "Clears all storage data"
+msgstr ""
+
#: src/view/screens/Support.tsx:40
msgid "click here"
msgstr ""
@@ -708,7 +822,7 @@ msgstr ""
msgid "Click here to open tag menu for {tag}"
msgstr ""
-#: src/components/RichText.tsx:191
+#: src/components/RichText.tsx:198
msgid "Click here to open tag menu for #{tag}"
msgstr ""
@@ -716,57 +830,58 @@ msgstr ""
msgid "Climate"
msgstr ""
-#: src/view/com/modals/ChangePassword.tsx:265
-#: src/view/com/modals/ChangePassword.tsx:268
+#: src/view/com/modals/ChangePassword.tsx:267
+#: src/view/com/modals/ChangePassword.tsx:270
msgid "Close"
msgstr ""
-#: src/components/Dialog/index.web.tsx:84
-#: src/components/Dialog/index.web.tsx:198
+#: src/components/Dialog/index.web.tsx:106
+#: src/components/Dialog/index.web.tsx:218
msgid "Close active dialog"
msgstr ""
-#: src/view/com/auth/login/PasswordUpdatedForm.tsx:38
+#: src/screens/Login/PasswordUpdatedForm.tsx:38
msgid "Close alert"
msgstr "Cerrar la alerta"
-#: src/view/com/util/BottomSheetCustomBackdrop.tsx:33
+#: src/view/com/util/BottomSheetCustomBackdrop.tsx:36
msgid "Close bottom drawer"
msgstr "Cierra el cajón inferior"
-#: src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx:26
+#: src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx:36
msgid "Close image"
msgstr "Cerrar la imagen"
-#: src/view/com/lightbox/Lightbox.web.tsx:119
+#: src/view/com/lightbox/Lightbox.web.tsx:129
msgid "Close image viewer"
msgstr "Cerrar el visor de imagen"
-#: src/view/shell/index.web.tsx:51
+#: src/view/shell/index.web.tsx:57
msgid "Close navigation footer"
msgstr "Cerrar el pie de página de navegación"
+#: src/components/Menu/index.tsx:207
#: src/components/TagMenu/index.tsx:262
msgid "Close this dialog"
msgstr ""
-#: src/view/shell/index.web.tsx:52
+#: src/view/shell/index.web.tsx:58
msgid "Closes bottom navigation bar"
msgstr ""
-#: src/view/com/auth/login/PasswordUpdatedForm.tsx:39
+#: src/screens/Login/PasswordUpdatedForm.tsx:39
msgid "Closes password update alert"
msgstr ""
-#: src/view/com/composer/Composer.tsx:309
+#: src/view/com/composer/Composer.tsx:319
msgid "Closes post composer and discards post draft"
msgstr ""
-#: src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx:27
+#: src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx:37
msgid "Closes viewer for header image"
msgstr ""
-#: src/view/com/notifications/FeedItem.tsx:318
+#: src/view/com/notifications/FeedItem.tsx:323
msgid "Collapses list of users for a given notification"
msgstr ""
@@ -778,20 +893,20 @@ msgstr ""
msgid "Comics"
msgstr ""
-#: src/Navigation.tsx:229
+#: src/Navigation.tsx:241
#: src/view/screens/CommunityGuidelines.tsx:32
msgid "Community Guidelines"
msgstr "Directrices de la comunidad"
-#: src/screens/Onboarding/StepFinished.tsx:148
+#: src/screens/Onboarding/StepFinished.tsx:152
msgid "Complete onboarding and start using your account"
msgstr ""
-#: src/view/com/auth/create/Step3.tsx:73
+#: src/screens/Signup/index.tsx:155
msgid "Complete the challenge"
msgstr ""
-#: src/view/com/composer/Composer.tsx:424
+#: src/view/com/composer/Composer.tsx:438
msgid "Compose posts up to {MAX_GRAPHEME_LENGTH} characters in length"
msgstr ""
@@ -799,12 +914,20 @@ msgstr ""
msgid "Compose reply"
msgstr "Redactar la respuesta"
-#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:67
+#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:81
msgid "Configure content filtering setting for category: {0}"
msgstr ""
-#: src/components/Prompt.tsx:124
-#: src/view/com/modals/AppealLabel.tsx:98
+#: src/components/moderation/LabelPreference.tsx:81
+msgid "Configure content filtering setting for category: {name}"
+msgstr ""
+
+#: src/components/moderation/LabelPreference.tsx:244
+msgid "Configured in <0>moderation settings0>."
+msgstr ""
+
+#: src/components/Prompt.tsx:153
+#: src/components/Prompt.tsx:156
#: src/view/com/modals/SelfLabel.tsx:154
#: src/view/com/modals/VerifyEmail.tsx:231
#: src/view/com/modals/VerifyEmail.tsx:233
@@ -815,29 +938,38 @@ msgstr "Confirmar"
#: src/view/com/modals/Confirm.tsx:75
#: src/view/com/modals/Confirm.tsx:78
-msgctxt "action"
-msgid "Confirm"
-msgstr ""
+#~ msgctxt "action"
+#~ msgid "Confirm"
+#~ msgstr ""
#: src/view/com/modals/ChangeEmail.tsx:193
#: src/view/com/modals/ChangeEmail.tsx:195
msgid "Confirm Change"
msgstr "Confirmar el cambio"
-#: src/view/com/modals/lang-settings/ConfirmLanguagesButton.tsx:34
+#: src/view/com/modals/lang-settings/ConfirmLanguagesButton.tsx:35
msgid "Confirm content language settings"
msgstr "Confirmar la configuración del idioma del contenido"
-#: src/view/com/modals/DeleteAccount.tsx:220
+#: src/view/com/modals/DeleteAccount.tsx:219
msgid "Confirm delete account"
msgstr "Confirmar eliminación de cuenta"
#: src/view/com/modals/ContentFilteringSettings.tsx:156
-msgid "Confirm your age to enable adult content."
+#~ msgid "Confirm your age to enable adult content."
+#~ msgstr ""
+
+#: src/screens/Moderation/index.tsx:301
+msgid "Confirm your age:"
+msgstr ""
+
+#: src/screens/Moderation/index.tsx:292
+msgid "Confirm your birthdate"
msgstr ""
#: src/view/com/modals/ChangeEmail.tsx:157
-#: src/view/com/modals/DeleteAccount.tsx:182
+#: src/view/com/modals/DeleteAccount.tsx:175
+#: src/view/com/modals/DeleteAccount.tsx:181
#: src/view/com/modals/VerifyEmail.tsx:165
msgid "Confirmation code"
msgstr "Código de confirmación"
@@ -846,34 +978,48 @@ msgstr "Código de confirmación"
#~ msgid "Confirms signing up {email} to the waitlist"
#~ msgstr ""
-#: src/view/com/auth/create/CreateAccount.tsx:193
-#: src/view/com/auth/login/LoginForm.tsx:278
+#: src/screens/Login/LoginForm.tsx:248
msgid "Connecting..."
msgstr "Conectando..."
-#: src/view/com/auth/create/CreateAccount.tsx:213
+#: src/screens/Signup/index.tsx:225
msgid "Contact support"
msgstr ""
+#: src/components/moderation/LabelsOnMe.tsx:42
+msgid "content"
+msgstr ""
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:18
+msgid "Content Blocked"
+msgstr ""
+
#: src/view/screens/Moderation.tsx:83
-msgid "Content filtering"
-msgstr "Filtro de contenido"
+#~ msgid "Content filtering"
+#~ msgstr "Filtro de contenido"
#: src/view/com/modals/ContentFilteringSettings.tsx:44
-msgid "Content Filtering"
-msgstr "Filtro de contenido"
+#~ msgid "Content Filtering"
+#~ msgstr "Filtro de contenido"
+
+#: src/screens/Moderation/index.tsx:285
+msgid "Content filters"
+msgstr ""
#: src/view/com/modals/lang-settings/ContentLanguagesSettings.tsx:74
#: src/view/screens/LanguageSettings.tsx:278
msgid "Content Languages"
msgstr "Lenguajes de contenido"
-#: src/view/com/modals/ModerationDetails.tsx:65
+#: src/components/moderation/ModerationDetailsDialog.tsx:75
+#: src/lib/moderation/useModerationCauseDescription.ts:75
msgid "Content Not Available"
msgstr ""
-#: src/view/com/modals/ModerationDetails.tsx:33
-#: src/view/com/util/moderation/ScreenHider.tsx:78
+#: src/components/moderation/ModerationDetailsDialog.tsx:46
+#: src/components/moderation/ScreenHider.tsx:99
+#: src/lib/moderation/useGlobalLabelStrings.ts:22
+#: src/lib/moderation/useModerationCauseDescription.ts:38
msgid "Content Warning"
msgstr "Advertencia de contenido"
@@ -881,28 +1027,38 @@ msgstr "Advertencia de contenido"
msgid "Content warnings"
msgstr "Advertencias de contenido"
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:170
-#: src/screens/Onboarding/StepFollowingFeed.tsx:153
-#: src/screens/Onboarding/StepInterests/index.tsx:248
-#: src/screens/Onboarding/StepModeration/index.tsx:118
-#: src/screens/Onboarding/StepTopicalFeeds.tsx:114
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:148
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:209
+#: src/components/Menu/index.web.tsx:84
+msgid "Context menu backdrop, click to close the menu."
+msgstr ""
+
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:161
+#: src/screens/Onboarding/StepFollowingFeed.tsx:154
+#: src/screens/Onboarding/StepInterests/index.tsx:252
+#: src/screens/Onboarding/StepModeration/index.tsx:103
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:118
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:150
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:211
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:96
msgid "Continue"
msgstr "Continuar"
-#: src/screens/Onboarding/StepFollowingFeed.tsx:150
-#: src/screens/Onboarding/StepInterests/index.tsx:245
-#: src/screens/Onboarding/StepModeration/index.tsx:115
-#: src/screens/Onboarding/StepTopicalFeeds.tsx:111
+#: src/components/AccountList.tsx:108
+msgid "Continue as {0} (currently signed in)"
+msgstr ""
+
+#: src/screens/Onboarding/StepFollowingFeed.tsx:151
+#: src/screens/Onboarding/StepInterests/index.tsx:249
+#: src/screens/Onboarding/StepModeration/index.tsx:100
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:115
+#: src/screens/Signup/index.tsx:200
msgid "Continue to next step"
msgstr ""
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:167
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:158
msgid "Continue to the next step"
msgstr ""
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:191
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:199
msgid "Continue to the next step without following any accounts"
msgstr ""
@@ -910,57 +1066,71 @@ msgstr ""
msgid "Cooking"
msgstr ""
-#: src/view/com/modals/AddAppPasswords.tsx:195
-#: src/view/com/modals/InviteCodes.tsx:182
+#: src/view/com/modals/AddAppPasswords.tsx:196
+#: src/view/com/modals/InviteCodes.tsx:183
msgid "Copied"
msgstr "Copiado"
-#: src/view/screens/Settings/index.tsx:241
+#: src/view/screens/Settings/index.tsx:254
msgid "Copied build version to clipboard"
msgstr ""
-#: src/view/com/modals/AddAppPasswords.tsx:76
-#: src/view/com/modals/InviteCodes.tsx:152
-#: src/view/com/util/forms/PostDropdownBtn.tsx:161
+#: src/view/com/modals/AddAppPasswords.tsx:77
+#: src/view/com/modals/ChangeHandle.tsx:326
+#: src/view/com/modals/InviteCodes.tsx:153
+#: src/view/com/util/forms/PostDropdownBtn.tsx:164
msgid "Copied to clipboard"
msgstr ""
-#: src/view/com/modals/AddAppPasswords.tsx:189
+#: src/components/dialogs/Embed.tsx:134
+msgid "Copied!"
+msgstr ""
+
+#: src/view/com/modals/AddAppPasswords.tsx:190
msgid "Copies app password"
msgstr ""
-#: src/view/com/modals/AddAppPasswords.tsx:188
+#: src/view/com/modals/AddAppPasswords.tsx:189
msgid "Copy"
msgstr "Copiar"
-#: src/view/screens/ProfileList.tsx:418
+#: src/view/com/modals/ChangeHandle.tsx:480
+msgid "Copy {0}"
+msgstr ""
+
+#: src/components/dialogs/Embed.tsx:120
+#: src/components/dialogs/Embed.tsx:139
+msgid "Copy code"
+msgstr ""
+
+#: src/view/screens/ProfileList.tsx:390
msgid "Copy link to list"
msgstr "Copia el enlace a la lista"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:231
-#: src/view/com/util/forms/PostDropdownBtn.tsx:237
+#: src/view/com/util/forms/PostDropdownBtn.tsx:236
+#: src/view/com/util/forms/PostDropdownBtn.tsx:245
msgid "Copy link to post"
msgstr "Copia el enlace a la publicación"
#: src/view/com/profile/ProfileHeader.tsx:295
-msgid "Copy link to profile"
-msgstr "Copia el enlace al perfil"
+#~ msgid "Copy link to profile"
+#~ msgstr "Copia el enlace al perfil"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:223
-#: src/view/com/util/forms/PostDropdownBtn.tsx:225
+#: src/view/com/util/forms/PostDropdownBtn.tsx:228
+#: src/view/com/util/forms/PostDropdownBtn.tsx:230
msgid "Copy post text"
msgstr "Copiar el texto de la publicación"
-#: src/Navigation.tsx:234
+#: src/Navigation.tsx:246
#: src/view/screens/CopyrightPolicy.tsx:29
msgid "Copyright Policy"
msgstr "Política de derechos de autor"
-#: src/view/screens/ProfileFeed.tsx:97
+#: src/view/screens/ProfileFeed.tsx:103
msgid "Could not load feed"
msgstr "No se ha podido cargar las publicaciones"
-#: src/view/screens/ProfileList.tsx:893
+#: src/view/screens/ProfileList.tsx:909
msgid "Could not load list"
msgstr "No se ha podido cargar la lista"
@@ -968,42 +1138,50 @@ msgstr "No se ha podido cargar la lista"
#~ msgid "Country"
#~ msgstr ""
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:62
-#: src/view/com/auth/SplashScreen.tsx:71
-#: src/view/com/auth/SplashScreen.web.tsx:81
+#: src/view/com/auth/SplashScreen.tsx:57
+#: src/view/com/auth/SplashScreen.web.tsx:101
msgid "Create a new account"
msgstr "Crear una cuenta nueva"
-#: src/view/screens/Settings/index.tsx:384
+#: src/view/screens/Settings/index.tsx:406
msgid "Create a new Bluesky account"
msgstr ""
-#: src/view/com/auth/create/CreateAccount.tsx:133
+#: src/screens/Signup/index.tsx:130
msgid "Create Account"
msgstr "Crear una cuenta"
-#: src/view/com/modals/AddAppPasswords.tsx:226
+#: src/components/dialogs/Signin.tsx:86
+#: src/components/dialogs/Signin.tsx:88
+msgid "Create an account"
+msgstr ""
+
+#: src/view/com/modals/AddAppPasswords.tsx:227
msgid "Create App Password"
msgstr ""
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:54
-#: src/view/com/auth/SplashScreen.tsx:68
+#: src/view/com/auth/SplashScreen.tsx:48
+#: src/view/com/auth/SplashScreen.web.tsx:92
msgid "Create new account"
msgstr "Crear una cuenta nueva"
-#: src/view/screens/AppPasswords.tsx:249
+#: src/components/ReportDialog/SelectReportOptionView.tsx:94
+msgid "Create report for {0}"
+msgstr ""
+
+#: src/view/screens/AppPasswords.tsx:246
msgid "Created {0}"
msgstr "Creado {0}"
#: src/view/screens/ProfileFeed.tsx:616
-msgid "Created by <0/>"
-msgstr ""
+#~ msgid "Created by <0/>"
+#~ msgstr ""
#: src/view/screens/ProfileFeed.tsx:614
-msgid "Created by you"
-msgstr ""
+#~ msgid "Created by you"
+#~ msgstr ""
-#: src/view/com/composer/Composer.tsx:455
+#: src/view/com/composer/Composer.tsx:469
msgid "Creates a card with a thumbnail. The card links to {url}"
msgstr ""
@@ -1011,17 +1189,17 @@ msgstr ""
msgid "Culture"
msgstr ""
-#: src/view/com/auth/server-input/index.tsx:95
-#: src/view/com/auth/server-input/index.tsx:96
+#: src/view/com/auth/server-input/index.tsx:97
+#: src/view/com/auth/server-input/index.tsx:99
msgid "Custom"
msgstr ""
-#: src/view/com/modals/ChangeHandle.tsx:389
+#: src/view/com/modals/ChangeHandle.tsx:388
msgid "Custom domain"
msgstr "Dominio personalizado"
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:106
-#: src/view/screens/Feeds.tsx:692
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:107
+#: src/view/screens/Feeds.tsx:717
msgid "Custom feeds built by the community bring you new experiences and help you find the content you love."
msgstr ""
@@ -1033,8 +1211,8 @@ msgstr ""
#~ msgid "Danger Zone"
#~ msgstr "Zona de peligro"
-#: src/view/screens/Settings/index.tsx:485
-#: src/view/screens/Settings/index.tsx:511
+#: src/view/screens/Settings/index.tsx:455
+#: src/view/screens/Settings/index.tsx:481
msgid "Dark"
msgstr ""
@@ -1042,33 +1220,49 @@ msgstr ""
msgid "Dark mode"
msgstr ""
-#: src/view/screens/Settings/index.tsx:498
+#: src/view/screens/Settings/index.tsx:468
msgid "Dark Theme"
msgstr ""
+#: src/screens/Signup/StepInfo/index.tsx:134
+msgid "Date of birth"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:805
+msgid "Debug Moderation"
+msgstr ""
+
#: src/view/screens/Debug.tsx:83
msgid "Debug panel"
msgstr ""
-#: src/view/screens/Settings/index.tsx:772
+#: src/view/com/util/forms/PostDropdownBtn.tsx:341
+#: src/view/screens/AppPasswords.tsx:268
+#: src/view/screens/ProfileList.tsx:615
+msgid "Delete"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:760
msgid "Delete account"
msgstr "Borrar la cuenta"
-#: src/view/com/modals/DeleteAccount.tsx:87
+#: src/view/com/modals/DeleteAccount.tsx:86
msgid "Delete Account"
msgstr "Borrar la cuenta"
-#: src/view/screens/AppPasswords.tsx:222
-#: src/view/screens/AppPasswords.tsx:242
+#: src/view/screens/AppPasswords.tsx:239
msgid "Delete app password"
msgstr "Borrar la contraseña de la app"
-#: src/view/screens/ProfileList.tsx:364
-#: src/view/screens/ProfileList.tsx:445
+#: src/view/screens/AppPasswords.tsx:263
+msgid "Delete app password?"
+msgstr ""
+
+#: src/view/screens/ProfileList.tsx:417
msgid "Delete List"
msgstr "Borrar la lista"
-#: src/view/com/modals/DeleteAccount.tsx:223
+#: src/view/com/modals/DeleteAccount.tsx:222
msgid "Delete my account"
msgstr "Borrar mi cuenta"
@@ -1076,31 +1270,35 @@ msgstr "Borrar mi cuenta"
#~ msgid "Delete my account…"
#~ msgstr "Borrar mi cuenta..."
-#: src/view/screens/Settings/index.tsx:784
+#: src/view/screens/Settings/index.tsx:772
msgid "Delete My Account…"
msgstr ""
-#: src/view/com/util/forms/PostDropdownBtn.tsx:317
-#: src/view/com/util/forms/PostDropdownBtn.tsx:326
+#: src/view/com/util/forms/PostDropdownBtn.tsx:322
+#: src/view/com/util/forms/PostDropdownBtn.tsx:324
msgid "Delete post"
msgstr "Borrar una publicación"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:321
+#: src/view/screens/ProfileList.tsx:610
+msgid "Delete this list?"
+msgstr ""
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:336
msgid "Delete this post?"
msgstr "¿Borrar esta publicación?"
-#: src/view/com/util/post-embeds/QuoteEmbed.tsx:70
+#: src/view/com/util/post-embeds/QuoteEmbed.tsx:67
msgid "Deleted"
msgstr ""
-#: src/view/com/post-thread/PostThread.tsx:316
+#: src/view/com/post-thread/PostThread.tsx:305
msgid "Deleted post."
msgstr "Se borró la publicación."
-#: src/view/com/modals/CreateOrEditList.tsx:300
-#: src/view/com/modals/CreateOrEditList.tsx:321
-#: src/view/com/modals/EditProfile.tsx:198
-#: src/view/com/modals/EditProfile.tsx:210
+#: src/view/com/modals/CreateOrEditList.tsx:301
+#: src/view/com/modals/CreateOrEditList.tsx:322
+#: src/view/com/modals/EditProfile.tsx:199
+#: src/view/com/modals/EditProfile.tsx:211
msgid "Description"
msgstr "Descripción"
@@ -1112,19 +1310,39 @@ msgstr "Descripción"
msgid "Did you want to say anything?"
msgstr "¿Quieres decir algo?"
-#: src/view/screens/Settings/index.tsx:504
+#: src/view/screens/Settings/index.tsx:474
msgid "Dim"
msgstr ""
-#: src/view/com/composer/Composer.tsx:151
+#: src/view/screens/Settings/index.tsx:697
+msgid "Disable haptics"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:697
+msgid "Disable vibrations"
+msgstr ""
+
+#: src/lib/moderation/useLabelBehaviorDescription.ts:32
+#: src/lib/moderation/useLabelBehaviorDescription.ts:42
+#: src/lib/moderation/useLabelBehaviorDescription.ts:68
+#: src/screens/Moderation/index.tsx:341
+msgid "Disabled"
+msgstr ""
+
+#: src/view/com/composer/Composer.tsx:511
msgid "Discard"
msgstr "Descartar"
#: src/view/com/composer/Composer.tsx:145
-msgid "Discard draft"
-msgstr "Descartar el borrador"
+#~ msgid "Discard draft"
+#~ msgstr "Descartar el borrador"
-#: src/view/screens/Moderation.tsx:226
+#: src/view/com/composer/Composer.tsx:508
+msgid "Discard draft?"
+msgstr ""
+
+#: src/screens/Moderation/index.tsx:518
+#: src/screens/Moderation/index.tsx:522
msgid "Discourage apps from showing my account to logged-out users"
msgstr "Evitar que las aplicaciones muestren mi cuenta a los usuarios desconectados"
@@ -1137,19 +1355,35 @@ msgstr ""
#~ msgid "Discover new feeds"
#~ msgstr "Descubrir nuevas publicaciones"
-#: src/view/screens/Feeds.tsx:689
+#: src/view/screens/Feeds.tsx:714
msgid "Discover New Feeds"
msgstr ""
-#: src/view/com/modals/EditProfile.tsx:192
+#: src/view/com/modals/EditProfile.tsx:193
msgid "Display name"
msgstr "Mostrar el nombre"
-#: src/view/com/modals/EditProfile.tsx:180
+#: src/view/com/modals/EditProfile.tsx:181
msgid "Display Name"
msgstr "Mostrar el nombre"
-#: src/view/com/modals/ChangeHandle.tsx:487
+#: src/view/com/modals/ChangeHandle.tsx:397
+msgid "DNS Panel"
+msgstr ""
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:39
+msgid "Does not include nudity."
+msgstr ""
+
+#: src/screens/Signup/StepHandle.tsx:105
+msgid "Doesn't begin or end with a hyphen"
+msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:481
+msgid "Domain Value"
+msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:488
msgid "Domain verified!"
msgstr "¡Dominio verificado!"
@@ -1157,8 +1391,26 @@ msgstr "¡Dominio verificado!"
#~ msgid "Don't have an invite code?"
#~ msgstr ""
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:86
-#: src/view/com/modals/EditImage.tsx:333
+#: src/components/dialogs/BirthDateSettings.tsx:119
+#: src/components/dialogs/BirthDateSettings.tsx:125
+#: src/components/forms/DateField/index.tsx:74
+#: src/components/forms/DateField/index.tsx:80
+#: src/view/com/auth/server-input/index.tsx:169
+#: src/view/com/auth/server-input/index.tsx:170
+#: src/view/com/modals/AddAppPasswords.tsx:227
+#: src/view/com/modals/AltImage.tsx:140
+#: src/view/com/modals/crop-image/CropImage.web.tsx:153
+#: src/view/com/modals/InviteCodes.tsx:81
+#: src/view/com/modals/InviteCodes.tsx:124
+#: src/view/com/modals/ListAddRemoveUsers.tsx:142
+#: src/view/screens/PreferencesFollowingFeed.tsx:311
+#: src/view/screens/Settings/ExportCarDialog.tsx:94
+#: src/view/screens/Settings/ExportCarDialog.tsx:96
+msgid "Done"
+msgstr "Listo"
+
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:87
+#: src/view/com/modals/EditImage.tsx:334
#: src/view/com/modals/ListAddRemoveUsers.tsx:144
#: src/view/com/modals/SelfLabel.tsx:157
#: src/view/com/modals/Threadgate.tsx:129
@@ -1170,33 +1422,17 @@ msgctxt "action"
msgid "Done"
msgstr ""
-#: src/view/com/auth/server-input/index.tsx:165
-#: src/view/com/auth/server-input/index.tsx:166
-#: src/view/com/modals/AddAppPasswords.tsx:226
-#: src/view/com/modals/AltImage.tsx:139
-#: src/view/com/modals/ContentFilteringSettings.tsx:88
-#: src/view/com/modals/ContentFilteringSettings.tsx:96
-#: src/view/com/modals/crop-image/CropImage.web.tsx:152
-#: src/view/com/modals/InviteCodes.tsx:80
-#: src/view/com/modals/InviteCodes.tsx:123
-#: src/view/com/modals/ListAddRemoveUsers.tsx:142
-#: src/view/screens/PreferencesFollowingFeed.tsx:311
-#: src/view/screens/Settings/ExportCarDialog.tsx:93
-#: src/view/screens/Settings/ExportCarDialog.tsx:94
-msgid "Done"
-msgstr "Listo"
-
-#: src/view/com/modals/lang-settings/ConfirmLanguagesButton.tsx:42
+#: src/view/com/modals/lang-settings/ConfirmLanguagesButton.tsx:43
msgid "Done{extraText}"
msgstr "Listo{extraText}"
-#: src/view/com/auth/login/ChooseAccountForm.tsx:45
-msgid "Double tap to sign in"
-msgstr ""
+#: src/view/com/auth/login/ChooseAccountForm.tsx:46
+#~ msgid "Double tap to sign in"
+#~ msgstr ""
#: src/view/screens/Settings/index.tsx:755
-msgid "Download Bluesky account data (repository)"
-msgstr ""
+#~ msgid "Download Bluesky account data (repository)"
+#~ msgstr ""
#: src/view/screens/Settings/ExportCarDialog.tsx:59
#: src/view/screens/Settings/ExportCarDialog.tsx:63
@@ -1207,35 +1443,47 @@ msgstr ""
msgid "Drop to add images"
msgstr ""
-#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:111
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:120
msgid "Due to Apple policies, adult content can only be enabled on the web after completing sign up."
msgstr ""
-#: src/view/com/modals/EditProfile.tsx:185
+#: src/view/com/modals/ChangeHandle.tsx:258
+msgid "e.g. alice"
+msgstr ""
+
+#: src/view/com/modals/EditProfile.tsx:186
msgid "e.g. Alice Roberts"
msgstr ""
-#: src/view/com/modals/EditProfile.tsx:203
+#: src/view/com/modals/ChangeHandle.tsx:380
+msgid "e.g. alice.com"
+msgstr ""
+
+#: src/view/com/modals/EditProfile.tsx:204
msgid "e.g. Artist, dog-lover, and avid reader."
msgstr ""
-#: src/view/com/modals/CreateOrEditList.tsx:283
-msgid "e.g. Great Posters"
+#: src/lib/moderation/useGlobalLabelStrings.ts:43
+msgid "E.g. artistic nudes."
msgstr ""
#: src/view/com/modals/CreateOrEditList.tsx:284
+msgid "e.g. Great Posters"
+msgstr ""
+
+#: src/view/com/modals/CreateOrEditList.tsx:285
msgid "e.g. Spammers"
msgstr ""
-#: src/view/com/modals/CreateOrEditList.tsx:312
+#: src/view/com/modals/CreateOrEditList.tsx:313
msgid "e.g. The posters who never miss."
msgstr ""
-#: src/view/com/modals/CreateOrEditList.tsx:313
+#: src/view/com/modals/CreateOrEditList.tsx:314
msgid "e.g. Users that repeatedly reply with ads."
msgstr ""
-#: src/view/com/modals/InviteCodes.tsx:96
+#: src/view/com/modals/InviteCodes.tsx:97
msgid "Each code works once. You'll receive more invite codes periodically."
msgstr "Cada código funciona una vez. Recibirás más códigos de invitación periódicamente."
@@ -1244,51 +1492,58 @@ msgctxt "action"
msgid "Edit"
msgstr ""
+#: src/view/com/util/UserAvatar.tsx:301
+#: src/view/com/util/UserBanner.tsx:85
+msgid "Edit avatar"
+msgstr ""
+
#: src/view/com/composer/photos/Gallery.tsx:144
-#: src/view/com/modals/EditImage.tsx:207
+#: src/view/com/modals/EditImage.tsx:208
msgid "Edit image"
msgstr "Editar la imagen"
-#: src/view/screens/ProfileList.tsx:433
+#: src/view/screens/ProfileList.tsx:405
msgid "Edit list details"
msgstr "Editar los detalles de la lista"
-#: src/view/com/modals/CreateOrEditList.tsx:250
+#: src/view/com/modals/CreateOrEditList.tsx:251
msgid "Edit Moderation List"
msgstr ""
-#: src/Navigation.tsx:244
-#: src/view/screens/Feeds.tsx:434
-#: src/view/screens/SavedFeeds.tsx:84
+#: src/Navigation.tsx:256
+#: src/view/screens/Feeds.tsx:459
+#: src/view/screens/SavedFeeds.tsx:85
msgid "Edit My Feeds"
msgstr "Editar mis noticias"
-#: src/view/com/modals/EditProfile.tsx:152
+#: src/view/com/modals/EditProfile.tsx:153
msgid "Edit my profile"
msgstr "Editar mi perfil"
-#: src/view/com/profile/ProfileHeader.tsx:418
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:178
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:168
msgid "Edit profile"
msgstr "Editar el perfil"
-#: src/view/com/profile/ProfileHeader.tsx:423
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:181
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:171
msgid "Edit Profile"
msgstr "Editar el perfil"
-#: src/view/com/home/HomeHeaderLayout.web.tsx:62
-#: src/view/screens/Feeds.tsx:355
+#: src/view/com/home/HomeHeaderLayout.web.tsx:66
+#: src/view/screens/Feeds.tsx:380
msgid "Edit Saved Feeds"
msgstr "Editar mis noticias guardadas"
-#: src/view/com/modals/CreateOrEditList.tsx:245
+#: src/view/com/modals/CreateOrEditList.tsx:246
msgid "Edit User List"
msgstr ""
-#: src/view/com/modals/EditProfile.tsx:193
+#: src/view/com/modals/EditProfile.tsx:194
msgid "Edit your display name"
msgstr ""
-#: src/view/com/modals/EditProfile.tsx:211
+#: src/view/com/modals/EditProfile.tsx:212
msgid "Edit your profile description"
msgstr ""
@@ -1296,14 +1551,12 @@ msgstr ""
msgid "Education"
msgstr ""
-#: src/view/com/auth/create/Step1.tsx:176
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:156
+#: src/screens/Signup/StepInfo/index.tsx:80
#: src/view/com/modals/ChangeEmail.tsx:141
msgid "Email"
msgstr "Correo electrónico"
-#: src/view/com/auth/create/Step1.tsx:167
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:147
+#: src/screens/Login/ForgotPasswordForm.tsx:99
msgid "Email address"
msgstr "Dirección de correo electrónico"
@@ -1320,27 +1573,50 @@ msgstr "Correo electrónico actualizado"
msgid "Email verified"
msgstr ""
-#: src/view/screens/Settings/index.tsx:312
+#: src/view/screens/Settings/index.tsx:334
msgid "Email:"
msgstr "Correo electrónico:"
-#: src/view/com/modals/EmbedConsent.tsx:113
+#: src/components/dialogs/Embed.tsx:112
+msgid "Embed HTML code"
+msgstr ""
+
+#: src/components/dialogs/Embed.tsx:97
+#: src/view/com/util/forms/PostDropdownBtn.tsx:253
+#: src/view/com/util/forms/PostDropdownBtn.tsx:255
+msgid "Embed post"
+msgstr ""
+
+#: src/components/dialogs/Embed.tsx:101
+msgid "Embed this post in your website. Simply copy the following snippet and paste it into the HTML code of your website."
+msgstr ""
+
+#: src/components/dialogs/EmbedConsent.tsx:101
msgid "Enable {0} only"
msgstr ""
-#: src/view/com/modals/ContentFilteringSettings.tsx:167
+#: src/screens/Moderation/index.tsx:329
+msgid "Enable adult content"
+msgstr ""
+
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:94
msgid "Enable Adult Content"
msgstr ""
-#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:76
-#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:77
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:78
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:79
msgid "Enable adult content in your feeds"
msgstr ""
-#: src/view/com/modals/EmbedConsent.tsx:97
-msgid "Enable External Media"
+#: src/components/dialogs/EmbedConsent.tsx:82
+#: src/components/dialogs/EmbedConsent.tsx:89
+msgid "Enable external media"
msgstr ""
+#: src/view/com/modals/EmbedConsent.tsx:97
+#~ msgid "Enable External Media"
+#~ msgstr ""
+
#: src/view/screens/PreferencesExternalEmbeds.tsx:75
msgid "Enable media players for"
msgstr ""
@@ -1349,16 +1625,28 @@ msgstr ""
msgid "Enable this setting to only see replies between people you follow."
msgstr "Activa esta opción para ver sólo las respuestas de las personas a las que sigues."
-#: src/view/screens/Profile.tsx:455
+#: src/components/dialogs/EmbedConsent.tsx:94
+msgid "Enable this source only"
+msgstr ""
+
+#: src/screens/Moderation/index.tsx:339
+msgid "Enabled"
+msgstr ""
+
+#: src/screens/Profile/Sections/Feed.tsx:100
msgid "End of feed"
msgstr "Fin de noticias"
-#: src/view/com/modals/AddAppPasswords.tsx:166
+#: src/view/com/modals/AddAppPasswords.tsx:167
msgid "Enter a name for this App Password"
msgstr ""
+#: src/screens/Login/SetNewPasswordForm.tsx:139
+msgid "Enter a password"
+msgstr ""
+
+#: src/components/dialogs/MutedWords.tsx:99
#: src/components/dialogs/MutedWords.tsx:100
-#: src/components/dialogs/MutedWords.tsx:101
msgid "Enter a word or tag"
msgstr ""
@@ -1366,20 +1654,19 @@ msgstr ""
msgid "Enter Confirmation Code"
msgstr ""
-#: src/view/com/modals/ChangePassword.tsx:151
+#: src/view/com/modals/ChangePassword.tsx:153
msgid "Enter the code you received to change your password."
msgstr ""
-#: src/view/com/modals/ChangeHandle.tsx:371
+#: src/view/com/modals/ChangeHandle.tsx:370
msgid "Enter the domain you want to use"
msgstr "Introduce el dominio que quieres utilizar"
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:107
+#: src/screens/Login/ForgotPasswordForm.tsx:119
msgid "Enter the email you used to create your account. We'll send you a \"reset code\" so you can set a new password."
msgstr "Introduce el correo electrónico que utilizaste para crear tu cuenta. Te enviaremos un \"código de restablecimiento\" para que puedas establecer una nueva contraseña."
-#: src/view/com/auth/create/Step1.tsx:228
-#: src/view/com/modals/BirthDateSettings.tsx:74
+#: src/components/dialogs/BirthDateSettings.tsx:108
msgid "Enter your birth date"
msgstr ""
@@ -1387,7 +1674,8 @@ msgstr ""
#~ msgid "Enter your email"
#~ msgstr ""
-#: src/view/com/auth/create/Step1.tsx:172
+#: src/screens/Login/ForgotPasswordForm.tsx:105
+#: src/screens/Signup/StepInfo/index.tsx:92
msgid "Enter your email address"
msgstr "Introduce la dirección de correo electrónico"
@@ -1403,15 +1691,15 @@ msgstr "Introduce tu nueva dirección de correo electrónico a continuación."
#~ msgid "Enter your phone number"
#~ msgstr ""
-#: src/view/com/auth/login/Login.tsx:99
+#: src/screens/Login/index.tsx:101
msgid "Enter your username and password"
msgstr "Introduce tu nombre de usuario y contraseña"
-#: src/view/com/auth/create/Step3.tsx:67
+#: src/screens/Signup/StepCaptcha/index.tsx:49
msgid "Error receiving captcha response."
msgstr ""
-#: src/view/screens/Search/Search.tsx:110
+#: src/view/screens/Search/Search.tsx:115
msgid "Error:"
msgstr "Error:"
@@ -1419,16 +1707,28 @@ msgstr "Error:"
msgid "Everybody"
msgstr "Todos"
-#: src/view/com/modals/ChangeHandle.tsx:150
+#: src/lib/moderation/useReportOptions.ts:66
+msgid "Excessive mentions or replies"
+msgstr ""
+
+#: src/view/com/modals/DeleteAccount.tsx:230
+msgid "Exits account deletion process"
+msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:151
msgid "Exits handle change process"
msgstr ""
-#: src/view/com/lightbox/Lightbox.web.tsx:120
+#: src/view/com/modals/crop-image/CropImage.web.tsx:136
+msgid "Exits image cropping process"
+msgstr ""
+
+#: src/view/com/lightbox/Lightbox.web.tsx:130
msgid "Exits image view"
msgstr ""
#: src/view/com/modals/ListAddRemoveUsers.tsx:88
-#: src/view/shell/desktop/Search.tsx:235
+#: src/view/shell/desktop/Search.tsx:236
msgid "Exits inputting search query"
msgstr ""
@@ -1436,70 +1736,83 @@ msgstr ""
#~ msgid "Exits signing up for waitlist with {email}"
#~ msgstr ""
-#: src/view/com/lightbox/Lightbox.web.tsx:163
+#: src/view/com/lightbox/Lightbox.web.tsx:183
msgid "Expand alt text"
msgstr "Expandir el texto alt"
-#: src/view/com/composer/ComposerReplyTo.tsx:81
-#: src/view/com/composer/ComposerReplyTo.tsx:84
+#: src/view/com/composer/ComposerReplyTo.tsx:82
+#: src/view/com/composer/ComposerReplyTo.tsx:85
msgid "Expand or collapse the full post you are replying to"
msgstr ""
-#: src/view/screens/Settings/index.tsx:753
+#: src/lib/moderation/useGlobalLabelStrings.ts:47
+msgid "Explicit or potentially disturbing media."
+msgstr ""
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:35
+msgid "Explicit sexual images."
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:741
msgid "Export my data"
msgstr ""
#: src/view/screens/Settings/ExportCarDialog.tsx:44
-#: src/view/screens/Settings/index.tsx:764
+#: src/view/screens/Settings/index.tsx:752
msgid "Export My Data"
msgstr ""
-#: src/view/com/modals/EmbedConsent.tsx:64
+#: src/components/dialogs/EmbedConsent.tsx:55
+#: src/components/dialogs/EmbedConsent.tsx:59
msgid "External Media"
msgstr ""
-#: src/view/com/modals/EmbedConsent.tsx:75
+#: src/components/dialogs/EmbedConsent.tsx:71
#: src/view/screens/PreferencesExternalEmbeds.tsx:66
msgid "External media may allow websites to collect information about you and your device. No information is sent or requested until you press the \"play\" button."
msgstr ""
-#: src/Navigation.tsx:263
+#: src/Navigation.tsx:275
#: src/view/screens/PreferencesExternalEmbeds.tsx:52
-#: src/view/screens/Settings/index.tsx:657
+#: src/view/screens/Settings/index.tsx:628
msgid "External Media Preferences"
msgstr ""
-#: src/view/screens/Settings/index.tsx:648
+#: src/view/screens/Settings/index.tsx:619
msgid "External media settings"
msgstr ""
-#: src/view/com/modals/AddAppPasswords.tsx:115
-#: src/view/com/modals/AddAppPasswords.tsx:119
+#: src/view/com/modals/AddAppPasswords.tsx:116
+#: src/view/com/modals/AddAppPasswords.tsx:120
msgid "Failed to create app password."
msgstr ""
-#: src/view/com/modals/CreateOrEditList.tsx:206
+#: src/view/com/modals/CreateOrEditList.tsx:207
msgid "Failed to create the list. Check your internet connection and try again."
msgstr ""
-#: src/view/com/util/forms/PostDropdownBtn.tsx:128
+#: src/view/com/util/forms/PostDropdownBtn.tsx:131
msgid "Failed to delete post, please try again"
msgstr ""
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:109
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:141
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:110
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:143
msgid "Failed to load recommended feeds"
msgstr "Error al cargar las noticias recomendadas"
-#: src/Navigation.tsx:194
+#: src/view/com/lightbox/Lightbox.tsx:83
+msgid "Failed to save image: {0}"
+msgstr ""
+
+#: src/Navigation.tsx:196
msgid "Feed"
msgstr ""
-#: src/view/com/feeds/FeedSourceCard.tsx:231
+#: src/view/com/feeds/FeedSourceCard.tsx:218
msgid "Feed by {0}"
msgstr ""
-#: src/view/screens/Feeds.tsx:605
+#: src/view/screens/Feeds.tsx:630
msgid "Feed offline"
msgstr "Noticias fuera de línea"
@@ -1508,18 +1821,18 @@ msgstr "Noticias fuera de línea"
#~ msgstr "Preferencias de noticias"
#: src/view/shell/desktop/RightNav.tsx:61
-#: src/view/shell/Drawer.tsx:311
+#: src/view/shell/Drawer.tsx:320
msgid "Feedback"
msgstr "Comentarios"
-#: src/Navigation.tsx:452
-#: src/view/screens/Feeds.tsx:419
-#: src/view/screens/Feeds.tsx:524
-#: src/view/screens/Profile.tsx:184
-#: src/view/shell/bottom-bar/BottomBar.tsx:181
-#: src/view/shell/desktop/LeftNav.tsx:342
-#: src/view/shell/Drawer.tsx:476
-#: src/view/shell/Drawer.tsx:477
+#: src/Navigation.tsx:456
+#: src/view/screens/Feeds.tsx:444
+#: src/view/screens/Feeds.tsx:549
+#: src/view/screens/Profile.tsx:199
+#: src/view/shell/bottom-bar/BottomBar.tsx:192
+#: src/view/shell/desktop/LeftNav.tsx:346
+#: src/view/shell/Drawer.tsx:485
+#: src/view/shell/Drawer.tsx:486
msgid "Feeds"
msgstr "Noticias"
@@ -1531,19 +1844,27 @@ msgstr "Noticias"
#~ msgid "Feeds are created by users and organizations. They offer you varied experiences and suggest content you may like using algorithms."
#~ msgstr ""
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:57
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:58
msgid "Feeds are created by users to curate content. Choose some feeds that you find interesting."
msgstr "Se crean las noticias por los usuarios para crear colecciones de contenidos. Elige algunas noticias que te parezcan interesantes."
-#: src/view/screens/SavedFeeds.tsx:156
+#: src/view/screens/SavedFeeds.tsx:157
msgid "Feeds are custom algorithms that users build with a little coding expertise. <0/> for more information."
msgstr "Las noticias son algoritmos personalizados que los usuarios construyen con un poco de experiencia en codificación. <0/> para más información."
-#: src/screens/Onboarding/StepTopicalFeeds.tsx:76
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:80
msgid "Feeds can be topical as well!"
msgstr ""
-#: src/screens/Onboarding/StepFinished.tsx:151
+#: src/view/com/modals/ChangeHandle.tsx:481
+msgid "File Contents"
+msgstr ""
+
+#: src/lib/moderation/useLabelBehaviorDescription.ts:66
+msgid "Filter from feeds"
+msgstr ""
+
+#: src/screens/Onboarding/StepFinished.tsx:155
msgid "Finalizing"
msgstr ""
@@ -1553,15 +1874,15 @@ msgstr ""
msgid "Find accounts to follow"
msgstr ""
-#: src/view/screens/Search/Search.tsx:440
+#: src/view/screens/Search/Search.tsx:589
msgid "Find users on Bluesky"
msgstr "Encontrar usuarios en Bluesky"
-#: src/view/screens/Search/Search.tsx:438
+#: src/view/screens/Search/Search.tsx:587
msgid "Find users with the search tool on the right"
msgstr "Encuentra usuarios con la herramienta de búsqueda de la derecha"
-#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:150
+#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:155
msgid "Finding similar accounts..."
msgstr "Encontrar cuentas similares..."
@@ -1581,49 +1902,60 @@ msgstr "Ajusta los hilos de discusión."
msgid "Fitness"
msgstr ""
-#: src/screens/Onboarding/StepFinished.tsx:131
+#: src/screens/Onboarding/StepFinished.tsx:135
msgid "Flexible"
msgstr ""
-#: src/view/com/modals/EditImage.tsx:115
+#: src/view/com/modals/EditImage.tsx:116
msgid "Flip horizontal"
msgstr ""
-#: src/view/com/modals/EditImage.tsx:120
-#: src/view/com/modals/EditImage.tsx:287
+#: src/view/com/modals/EditImage.tsx:121
+#: src/view/com/modals/EditImage.tsx:288
msgid "Flip vertically"
msgstr ""
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:181
-#: src/view/com/post-thread/PostThreadFollowBtn.tsx:136
-#: src/view/com/profile/ProfileHeader.tsx:513
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:189
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:235
+#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:141
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:146
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:248
msgid "Follow"
msgstr "Seguir"
-#: src/view/com/profile/FollowButton.tsx:64
+#: src/view/com/profile/FollowButton.tsx:69
msgctxt "action"
msgid "Follow"
msgstr ""
#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:58
-#: src/view/com/post-thread/PostThreadFollowBtn.tsx:122
-#: src/view/com/profile/ProfileHeader.tsx:504
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:221
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:128
msgid "Follow {0}"
msgstr ""
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:179
+#: src/view/com/profile/ProfileMenu.tsx:242
+#: src/view/com/profile/ProfileMenu.tsx:253
+msgid "Follow Account"
+msgstr ""
+
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:187
msgid "Follow All"
msgstr ""
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:174
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:144
+msgid "Follow Back"
+msgstr ""
+
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:182
msgid "Follow selected accounts and continue to the next step"
msgstr ""
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:64
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:65
msgid "Follow some users to get started. We can recommend you more users based on who you find interesting."
msgstr "Sigue a algunos usuarios para empezar. Podemos recomendarte más usuarios en función de los que te parezcan interesantes."
-#: src/view/com/profile/ProfileCard.tsx:194
+#: src/view/com/profile/ProfileCard.tsx:219
msgid "Followed by {0}"
msgstr ""
@@ -1635,37 +1967,43 @@ msgstr "Usuarios seguidos"
msgid "Followed users only"
msgstr "Solo usuarios seguidos"
-#: src/view/com/notifications/FeedItem.tsx:166
+#: src/view/com/notifications/FeedItem.tsx:172
msgid "followed you"
msgstr ""
+#: src/view/com/profile/ProfileFollowers.tsx:104
#: src/view/screens/ProfileFollowers.tsx:25
msgid "Followers"
msgstr "Seguidores"
-#: src/view/com/post-thread/PostThreadFollowBtn.tsx:136
-#: src/view/com/profile/ProfileHeader.tsx:495
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:233
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:149
+#: src/view/com/profile/ProfileFollows.tsx:104
#: src/view/screens/ProfileFollows.tsx:25
msgid "Following"
msgstr "Siguiendo"
-#: src/view/com/profile/ProfileHeader.tsx:149
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:93
msgid "Following {0}"
msgstr ""
-#: src/Navigation.tsx:250
-#: src/view/com/home/HomeHeaderLayout.web.tsx:50
-#: src/view/com/home/HomeHeaderLayoutMobile.tsx:84
+#: src/view/screens/Settings/index.tsx:504
+msgid "Following feed preferences"
+msgstr ""
+
+#: src/Navigation.tsx:262
+#: src/view/com/home/HomeHeaderLayout.web.tsx:54
+#: src/view/com/home/HomeHeaderLayoutMobile.tsx:87
#: src/view/screens/PreferencesFollowingFeed.tsx:104
-#: src/view/screens/Settings/index.tsx:543
+#: src/view/screens/Settings/index.tsx:513
msgid "Following Feed Preferences"
msgstr ""
-#: src/view/com/profile/ProfileHeader.tsx:546
+#: src/screens/Profile/Header/Handle.tsx:24
msgid "Follows you"
msgstr "Te siguen"
-#: src/view/com/profile/ProfileCard.tsx:141
+#: src/view/com/profile/ProfileCard.tsx:144
msgid "Follows You"
msgstr ""
@@ -1673,33 +2011,45 @@ msgstr ""
msgid "Food"
msgstr ""
-#: src/view/com/modals/DeleteAccount.tsx:111
+#: src/view/com/modals/DeleteAccount.tsx:110
msgid "For security reasons, we'll need to send a confirmation code to your email address."
msgstr "Por razones de seguridad, tendremos que enviarte un código de confirmación a tu dirección de correo electrónico."
-#: src/view/com/modals/AddAppPasswords.tsx:209
+#: src/view/com/modals/AddAppPasswords.tsx:210
msgid "For security reasons, you won't be able to view this again. If you lose this password, you'll need to generate a new one."
msgstr "Por razones de seguridad, no podrás volver a verla. Si pierdes esta contraseña, tendrás que generar una nueva."
+#: src/view/com/auth/login/LoginForm.tsx:244
+#~ msgid "Forgot"
+#~ msgstr "Lo olvidé"
+
#: src/view/com/auth/login/LoginForm.tsx:241
-msgid "Forgot"
-msgstr "Lo olvidé"
+#~ msgid "Forgot password"
+#~ msgstr "Olvidé mi contraseña"
-#: src/view/com/auth/login/LoginForm.tsx:238
-msgid "Forgot password"
-msgstr "Olvidé mi contraseña"
-
-#: src/view/com/auth/login/Login.tsx:127
-#: src/view/com/auth/login/Login.tsx:143
+#: src/screens/Login/index.tsx:129
+#: src/screens/Login/index.tsx:144
msgid "Forgot Password"
msgstr "Olvidé mi contraseña"
-#: src/screens/Hashtag.tsx:108
-#: src/screens/Hashtag.tsx:148
+#: src/screens/Login/LoginForm.tsx:201
+msgid "Forgot password?"
+msgstr ""
+
+#: src/screens/Login/LoginForm.tsx:212
+msgid "Forgot?"
+msgstr ""
+
+#: src/lib/moderation/useReportOptions.ts:52
+msgid "Frequently Posts Unwanted Content"
+msgstr ""
+
+#: src/screens/Hashtag.tsx:109
+#: src/screens/Hashtag.tsx:149
msgid "From @{sanitizedAuthor}"
msgstr ""
-#: src/view/com/posts/FeedItem.tsx:189
+#: src/view/com/posts/FeedItem.tsx:181
msgctxt "from-feed"
msgid "From <0/>"
msgstr ""
@@ -1713,43 +2063,69 @@ msgstr "Galería"
msgid "Get Started"
msgstr "Comenzar"
-#: src/view/com/auth/LoggedOut.tsx:81
+#: src/lib/moderation/useReportOptions.ts:37
+msgid "Glaring violations of law or terms of service"
+msgstr ""
+
+#: src/components/moderation/ScreenHider.tsx:151
+#: src/components/moderation/ScreenHider.tsx:160
#: src/view/com/auth/LoggedOut.tsx:82
-#: src/view/com/util/moderation/ScreenHider.tsx:123
-#: src/view/shell/desktop/LeftNav.tsx:104
+#: src/view/com/auth/LoggedOut.tsx:83
+#: src/view/screens/NotFound.tsx:55
+#: src/view/screens/ProfileFeed.tsx:112
+#: src/view/screens/ProfileList.tsx:918
+#: src/view/shell/desktop/LeftNav.tsx:108
msgid "Go back"
msgstr "Regresar"
-#: src/view/screens/ProfileFeed.tsx:106
-#: src/view/screens/ProfileFeed.tsx:111
-#: src/view/screens/ProfileList.tsx:902
-#: src/view/screens/ProfileList.tsx:907
+#: src/components/Error.tsx:91
+#: src/screens/Profile/ErrorState.tsx:62
+#: src/screens/Profile/ErrorState.tsx:66
+#: src/view/screens/NotFound.tsx:54
+#: src/view/screens/ProfileFeed.tsx:117
+#: src/view/screens/ProfileList.tsx:923
msgid "Go Back"
msgstr "Regresar"
-#: src/screens/Onboarding/Layout.tsx:104
-#: src/screens/Onboarding/Layout.tsx:193
+#: src/components/ReportDialog/SelectReportOptionView.tsx:73
+#: src/components/ReportDialog/SubmitView.tsx:102
+#: src/screens/Onboarding/Layout.tsx:102
+#: src/screens/Onboarding/Layout.tsx:191
+#: src/screens/Signup/index.tsx:174
msgid "Go back to previous step"
msgstr ""
-#: src/view/screens/Search/Search.tsx:747
-#: src/view/shell/desktop/Search.tsx:262
+#: src/view/screens/NotFound.tsx:55
+msgid "Go home"
+msgstr ""
+
+#: src/view/screens/NotFound.tsx:54
+msgid "Go Home"
+msgstr ""
+
+#: src/view/screens/Search/Search.tsx:896
+#: src/view/shell/desktop/Search.tsx:263
msgid "Go to @{queryMaybeHandle}"
msgstr ""
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:189
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:218
-#: src/view/com/auth/login/LoginForm.tsx:288
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:195
-#: src/view/com/modals/ChangePassword.tsx:165
+#: src/screens/Login/ForgotPasswordForm.tsx:172
+#: src/view/com/modals/ChangePassword.tsx:167
msgid "Go to next"
msgstr "Ir al siguiente"
-#: src/view/com/modals/ChangeHandle.tsx:265
+#: src/lib/moderation/useGlobalLabelStrings.ts:46
+msgid "Graphic Media"
+msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:266
msgid "Handle"
msgstr "Identificador"
-#: src/Navigation.tsx:270
+#: src/lib/moderation/useReportOptions.ts:32
+msgid "Harassment, trolling, or intolerance"
+msgstr ""
+
+#: src/Navigation.tsx:282
msgid "Hashtag"
msgstr ""
@@ -1757,69 +2133,74 @@ msgstr ""
#~ msgid "Hashtag: {tag}"
#~ msgstr ""
-#: src/components/RichText.tsx:190
+#: src/components/RichText.tsx:197
msgid "Hashtag: #{tag}"
msgstr ""
-#: src/view/com/auth/create/CreateAccount.tsx:208
+#: src/screens/Signup/index.tsx:221
msgid "Having trouble?"
msgstr ""
#: src/view/shell/desktop/RightNav.tsx:90
-#: src/view/shell/Drawer.tsx:321
+#: src/view/shell/Drawer.tsx:330
msgid "Help"
msgstr "Ayuda"
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:132
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:140
msgid "Here are some accounts for you to follow"
msgstr ""
-#: src/screens/Onboarding/StepTopicalFeeds.tsx:85
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:89
msgid "Here are some popular topical feeds. You can choose to follow as many as you like."
msgstr ""
-#: src/screens/Onboarding/StepTopicalFeeds.tsx:80
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:84
msgid "Here are some topical feeds based on your interests: {interestsText}. You can choose to follow as many as you like."
msgstr ""
-#: src/view/com/modals/AddAppPasswords.tsx:153
+#: src/view/com/modals/AddAppPasswords.tsx:154
msgid "Here is your app password."
msgstr "Aquí tienes tu contraseña de la app."
-#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:41
-#: src/view/com/modals/ContentFilteringSettings.tsx:251
-#: src/view/com/util/moderation/ContentHider.tsx:105
-#: src/view/com/util/moderation/PostHider.tsx:108
+#: src/components/moderation/ContentHider.tsx:115
+#: src/components/moderation/LabelPreference.tsx:134
+#: src/components/moderation/PostHider.tsx:107
+#: src/lib/moderation/useLabelBehaviorDescription.ts:15
+#: src/lib/moderation/useLabelBehaviorDescription.ts:20
+#: src/lib/moderation/useLabelBehaviorDescription.ts:25
+#: src/lib/moderation/useLabelBehaviorDescription.ts:30
+#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:52
+#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:76
+#: src/view/com/util/forms/PostDropdownBtn.tsx:350
msgid "Hide"
msgstr "Ocultar"
-#: src/view/com/modals/ContentFilteringSettings.tsx:224
-#: src/view/com/notifications/FeedItem.tsx:326
+#: src/view/com/notifications/FeedItem.tsx:331
msgctxt "action"
msgid "Hide"
msgstr ""
-#: src/view/com/util/forms/PostDropdownBtn.tsx:276
-#: src/view/com/util/forms/PostDropdownBtn.tsx:287
+#: src/view/com/util/forms/PostDropdownBtn.tsx:294
+#: src/view/com/util/forms/PostDropdownBtn.tsx:296
msgid "Hide post"
msgstr "Ocultar publicación"
-#: src/view/com/util/moderation/ContentHider.tsx:67
-#: src/view/com/util/moderation/PostHider.tsx:61
+#: src/components/moderation/ContentHider.tsx:67
+#: src/components/moderation/PostHider.tsx:64
msgid "Hide the content"
msgstr ""
-#: src/view/com/util/forms/PostDropdownBtn.tsx:280
+#: src/view/com/util/forms/PostDropdownBtn.tsx:347
msgid "Hide this post?"
msgstr "¿Ocultar esta publicación?"
-#: src/view/com/notifications/FeedItem.tsx:316
+#: src/view/com/notifications/FeedItem.tsx:321
msgid "Hide user list"
msgstr "Ocultar la lista de usuarios"
#: src/view/com/profile/ProfileHeader.tsx:487
-msgid "Hides posts from {0} in your feed"
-msgstr ""
+#~ msgid "Hides posts from {0} in your feed"
+#~ msgstr ""
#: src/view/com/posts/FeedErrorMessage.tsx:111
msgid "Hmm, some kind of issue occurred when contacting the feed server. Please let the feed owner know about this issue."
@@ -1841,11 +2222,19 @@ msgstr "El servidor de noticias ha respondido de forma incorrecta. Por favor, in
msgid "Hmm, we're having trouble finding this feed. It may have been deleted."
msgstr "Tenemos problemas para encontrar esta noticia. Puede que la hayan borrado."
-#: src/Navigation.tsx:442
-#: src/view/shell/bottom-bar/BottomBar.tsx:137
-#: src/view/shell/desktop/LeftNav.tsx:306
-#: src/view/shell/Drawer.tsx:398
-#: src/view/shell/Drawer.tsx:399
+#: src/screens/Moderation/index.tsx:59
+msgid "Hmmmm, it seems we're having trouble loading this data. See below for more details. If this issue persists, please contact us."
+msgstr ""
+
+#: src/screens/Profile/ErrorState.tsx:31
+msgid "Hmmmm, we couldn't load that moderation service."
+msgstr ""
+
+#: src/Navigation.tsx:446
+#: src/view/shell/bottom-bar/BottomBar.tsx:148
+#: src/view/shell/desktop/LeftNav.tsx:310
+#: src/view/shell/Drawer.tsx:407
+#: src/view/shell/Drawer.tsx:408
msgid "Home"
msgstr "Página inicial"
@@ -1856,8 +2245,14 @@ msgstr "Página inicial"
#~ msgid "Home Feed Preferences"
#~ msgstr "Preferencias de noticias de la página inicial"
-#: src/view/com/auth/create/Step1.tsx:75
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:120
+#: src/view/com/modals/ChangeHandle.tsx:420
+msgid "Host:"
+msgstr ""
+
+#: src/screens/Login/ForgotPasswordForm.tsx:89
+#: src/screens/Login/LoginForm.tsx:134
+#: src/screens/Signup/StepInfo/index.tsx:40
+#: src/view/com/modals/ChangeHandle.tsx:281
msgid "Hosting provider"
msgstr "Proveedor de alojamiento"
@@ -1873,11 +2268,11 @@ msgstr "Tengo un código"
msgid "I have a confirmation code"
msgstr ""
-#: src/view/com/modals/ChangeHandle.tsx:283
+#: src/view/com/modals/ChangeHandle.tsx:284
msgid "I have my own domain"
msgstr "Tengo mi propio dominio"
-#: src/view/com/lightbox/Lightbox.web.tsx:165
+#: src/view/com/lightbox/Lightbox.web.tsx:185
msgid "If alt text is long, toggles alt text expanded state"
msgstr ""
@@ -1885,48 +2280,68 @@ msgstr ""
msgid "If none are selected, suitable for all ages."
msgstr "Si no se selecciona ninguno, es apto para todas las edades."
-#: src/view/com/modals/ChangePassword.tsx:146
+#: src/screens/Signup/StepInfo/Policies.tsx:83
+msgid "If you are not yet an adult according to the laws of your country, your parent or legal guardian must read these Terms on your behalf."
+msgstr ""
+
+#: src/view/screens/ProfileList.tsx:612
+msgid "If you delete this list, you won't be able to recover it."
+msgstr ""
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:338
+msgid "If you remove this post, you won't be able to recover it."
+msgstr ""
+
+#: src/view/com/modals/ChangePassword.tsx:148
msgid "If you want to change your password, we will send you a code to verify that this is your account."
msgstr ""
+#: src/lib/moderation/useReportOptions.ts:36
+msgid "Illegal and Urgent"
+msgstr ""
+
#: src/view/com/util/images/Gallery.tsx:38
msgid "Image"
msgstr ""
-#: src/view/com/modals/AltImage.tsx:120
+#: src/view/com/modals/AltImage.tsx:121
msgid "Image alt text"
msgstr "Texto alt de la imagen"
#: src/view/com/util/UserAvatar.tsx:311
#: src/view/com/util/UserBanner.tsx:118
-msgid "Image options"
-msgstr "Opciones de la imagen"
+#~ msgid "Image options"
+#~ msgstr "Opciones de la imagen"
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:138
+#: src/lib/moderation/useReportOptions.ts:47
+msgid "Impersonation or false claims about identity or affiliation"
+msgstr ""
+
+#: src/screens/Login/SetNewPasswordForm.tsx:127
msgid "Input code sent to your email for password reset"
msgstr ""
-#: src/view/com/modals/DeleteAccount.tsx:184
+#: src/view/com/modals/DeleteAccount.tsx:183
msgid "Input confirmation code for account deletion"
msgstr ""
#: src/view/com/auth/create/Step1.tsx:177
-msgid "Input email for Bluesky account"
-msgstr ""
+#~ msgid "Input email for Bluesky account"
+#~ msgstr ""
#: src/view/com/auth/create/Step1.tsx:151
-msgid "Input invite code to proceed"
-msgstr ""
+#~ msgid "Input invite code to proceed"
+#~ msgstr ""
-#: src/view/com/modals/AddAppPasswords.tsx:180
+#: src/view/com/modals/AddAppPasswords.tsx:181
msgid "Input name for app password"
msgstr ""
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:162
+#: src/screens/Login/SetNewPasswordForm.tsx:151
msgid "Input new password"
msgstr ""
-#: src/view/com/modals/DeleteAccount.tsx:203
+#: src/view/com/modals/DeleteAccount.tsx:202
msgid "Input password for account deletion"
msgstr ""
@@ -1934,11 +2349,11 @@ msgstr ""
#~ msgid "Input phone number for SMS verification"
#~ msgstr ""
-#: src/view/com/auth/login/LoginForm.tsx:230
+#: src/screens/Login/LoginForm.tsx:195
msgid "Input the password tied to {identifier}"
msgstr ""
-#: src/view/com/auth/login/LoginForm.tsx:197
+#: src/screens/Login/LoginForm.tsx:168
msgid "Input the username or email address you used at signup"
msgstr ""
@@ -1950,19 +2365,23 @@ msgstr ""
#~ msgid "Input your email to get on the Bluesky waitlist"
#~ msgstr ""
-#: src/view/com/auth/login/LoginForm.tsx:229
+#: src/screens/Login/LoginForm.tsx:194
msgid "Input your password"
msgstr ""
-#: src/view/com/auth/create/Step2.tsx:80
+#: src/view/com/modals/ChangeHandle.tsx:389
+msgid "Input your preferred hosting provider"
+msgstr ""
+
+#: src/screens/Signup/StepHandle.tsx:63
msgid "Input your user handle"
msgstr ""
-#: src/view/com/post-thread/PostThreadItem.tsx:226
+#: src/view/com/post-thread/PostThreadItem.tsx:221
msgid "Invalid or unsupported post record"
msgstr ""
-#: src/view/com/auth/login/LoginForm.tsx:113
+#: src/screens/Login/LoginForm.tsx:114
msgid "Invalid username or password"
msgstr "Nombre de usuario o contraseña no válidos"
@@ -1970,20 +2389,19 @@ msgstr "Nombre de usuario o contraseña no válidos"
#~ msgid "Invite"
#~ msgstr "Invitar"
-#: src/view/com/modals/InviteCodes.tsx:93
+#: src/view/com/modals/InviteCodes.tsx:94
msgid "Invite a Friend"
msgstr "Invitar a un amigo"
-#: src/view/com/auth/create/Step1.tsx:141
-#: src/view/com/auth/create/Step1.tsx:150
+#: src/screens/Signup/StepInfo/index.tsx:58
msgid "Invite code"
msgstr "Código de invitación"
-#: src/view/com/auth/create/state.ts:158
+#: src/screens/Signup/state.ts:278
msgid "Invite code not accepted. Check that you input it correctly and try again."
msgstr "No se acepta el código de invitación. Comprueba que lo has introducido correctamente e inténtalo de nuevo."
-#: src/view/com/modals/InviteCodes.tsx:170
+#: src/view/com/modals/InviteCodes.tsx:171
msgid "Invite codes: {0} available"
msgstr ""
@@ -1991,16 +2409,15 @@ msgstr ""
#~ msgid "Invite codes: {invitesAvailable} available"
#~ msgstr "Códigos de invitación: {invitesAvailable} disponibles"
-#: src/view/com/modals/InviteCodes.tsx:169
+#: src/view/com/modals/InviteCodes.tsx:170
msgid "Invite codes: 1 available"
msgstr ""
-#: src/screens/Onboarding/StepFollowingFeed.tsx:64
+#: src/screens/Onboarding/StepFollowingFeed.tsx:65
msgid "It shows posts from the people you follow as they happen."
msgstr ""
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:99
-#: src/view/com/auth/SplashScreen.web.tsx:138
+#: src/view/com/auth/SplashScreen.web.tsx:152
msgid "Jobs"
msgstr "Tareas"
@@ -2021,54 +2438,94 @@ msgstr "Tareas"
msgid "Journalism"
msgstr ""
+#: src/components/moderation/LabelsOnMe.tsx:59
+msgid "label has been placed on this {labelTarget}"
+msgstr ""
+
+#: src/components/moderation/ContentHider.tsx:144
+msgid "Labeled by {0}."
+msgstr ""
+
+#: src/components/moderation/ContentHider.tsx:142
+msgid "Labeled by the author."
+msgstr ""
+
+#: src/view/screens/Profile.tsx:193
+msgid "Labels"
+msgstr ""
+
+#: src/screens/Profile/Sections/Labels.tsx:153
+msgid "Labels are annotations on users and content. They can be used to hide, warn, and categorize the network."
+msgstr ""
+
+#: src/components/moderation/LabelsOnMe.tsx:61
+msgid "labels have been placed on this {labelTarget}"
+msgstr ""
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:62
+msgid "Labels on your account"
+msgstr ""
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:64
+msgid "Labels on your content"
+msgstr ""
+
#: src/view/com/composer/select-language/SelectLangBtn.tsx:104
msgid "Language selection"
msgstr "Escoger el idioma"
-#: src/view/screens/Settings/index.tsx:594
+#: src/view/screens/Settings/index.tsx:565
msgid "Language settings"
msgstr ""
-#: src/Navigation.tsx:142
+#: src/Navigation.tsx:144
#: src/view/screens/LanguageSettings.tsx:89
msgid "Language Settings"
msgstr "Configuración del idioma"
-#: src/view/screens/Settings/index.tsx:603
+#: src/view/screens/Settings/index.tsx:574
msgid "Languages"
msgstr "Idiomas"
#: src/view/com/auth/create/StepHeader.tsx:20
-msgid "Last step!"
+#~ msgid "Last step!"
+#~ msgstr ""
+
+#: src/view/screens/Search/Search.tsx:437
+msgid "Latest"
msgstr ""
#: src/view/com/util/moderation/ContentHider.tsx:103
-msgid "Learn more"
-msgstr "Aprender más"
+#~ msgid "Learn more"
+#~ msgstr "Aprender más"
-#: src/view/com/util/moderation/PostAlerts.tsx:47
-#: src/view/com/util/moderation/ProfileHeaderAlerts.tsx:65
-#: src/view/com/util/moderation/ScreenHider.tsx:104
+#: src/components/moderation/ScreenHider.tsx:136
msgid "Learn More"
msgstr "Aprender más"
-#: src/view/com/util/moderation/ContentHider.tsx:85
-#: src/view/com/util/moderation/PostAlerts.tsx:40
-#: src/view/com/util/moderation/PostHider.tsx:78
-#: src/view/com/util/moderation/ProfileHeaderAlerts.tsx:49
-#: src/view/com/util/moderation/ScreenHider.tsx:101
+#: src/components/moderation/ContentHider.tsx:65
+#: src/components/moderation/ContentHider.tsx:128
+msgid "Learn more about the moderation applied to this content."
+msgstr ""
+
+#: src/components/moderation/PostHider.tsx:85
+#: src/components/moderation/ScreenHider.tsx:125
msgid "Learn more about this warning"
msgstr "Aprender más acerca de esta advertencia"
-#: src/view/screens/Moderation.tsx:262
+#: src/screens/Moderation/index.tsx:549
msgid "Learn more about what is public on Bluesky."
msgstr "Más información sobre lo que es público en Bluesky."
+#: src/components/moderation/ContentHider.tsx:152
+msgid "Learn more."
+msgstr ""
+
#: src/view/com/modals/lang-settings/ContentLanguagesSettings.tsx:82
msgid "Leave them all unchecked to see any language."
msgstr "Déjalos todos sin marcar para ver cualquier idioma."
-#: src/view/com/modals/LinkWarning.tsx:51
+#: src/view/com/modals/LinkWarning.tsx:65
msgid "Leaving Bluesky"
msgstr "Salir de Bluesky"
@@ -2076,130 +2533,141 @@ msgstr "Salir de Bluesky"
msgid "left to go."
msgstr ""
-#: src/view/screens/Settings/index.tsx:278
+#: src/view/screens/Settings/index.tsx:299
msgid "Legacy storage cleared, you need to restart the app now."
msgstr ""
-#: src/view/com/auth/login/Login.tsx:128
-#: src/view/com/auth/login/Login.tsx:144
+#: src/screens/Login/index.tsx:130
+#: src/screens/Login/index.tsx:145
msgid "Let's get your password reset!"
msgstr "¡Vamos a restablecer tu contraseña!"
-#: src/screens/Onboarding/StepFinished.tsx:151
+#: src/screens/Onboarding/StepFinished.tsx:155
msgid "Let's go!"
msgstr ""
#: src/view/com/util/UserAvatar.tsx:248
#: src/view/com/util/UserBanner.tsx:62
-msgid "Library"
-msgstr "Librería"
+#~ msgid "Library"
+#~ msgstr "Librería"
-#: src/view/screens/Settings/index.tsx:479
+#: src/view/screens/Settings/index.tsx:449
msgid "Light"
msgstr ""
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:182
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:197
msgid "Like"
msgstr ""
-#: src/view/screens/ProfileFeed.tsx:591
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:264
+#: src/view/screens/ProfileFeed.tsx:585
msgid "Like this feed"
msgstr "Dar «me gusta» a esta noticia"
-#: src/Navigation.tsx:199
+#: src/components/LikesDialog.tsx:87
+#: src/Navigation.tsx:201
+#: src/Navigation.tsx:206
msgid "Liked by"
msgstr "Le ha gustado a"
+#: src/screens/Profile/ProfileLabelerLikedBy.tsx:29
#: src/view/screens/PostLikedBy.tsx:27
#: src/view/screens/ProfileFeedLikedBy.tsx:27
msgid "Liked By"
msgstr ""
-#: src/view/com/feeds/FeedSourceCard.tsx:279
+#: src/view/com/feeds/FeedSourceCard.tsx:268
msgid "Liked by {0} {1}"
msgstr ""
-#: src/view/screens/ProfileFeed.tsx:606
+#: src/components/LabelingServiceCard/index.tsx:72
+msgid "Liked by {count} {0}"
+msgstr ""
+
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:284
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:298
+#: src/view/screens/ProfileFeed.tsx:600
msgid "Liked by {likeCount} {0}"
msgstr ""
-#: src/view/com/notifications/FeedItem.tsx:170
+#: src/view/com/notifications/FeedItem.tsx:176
msgid "liked your custom feed"
msgstr ""
-#: src/view/com/notifications/FeedItem.tsx:155
+#: src/view/com/notifications/FeedItem.tsx:161
msgid "liked your post"
msgstr ""
-#: src/view/screens/Profile.tsx:183
+#: src/view/screens/Profile.tsx:198
msgid "Likes"
msgstr "Cantidad de «Me gusta»"
-#: src/view/com/post-thread/PostThreadItem.tsx:183
+#: src/view/com/post-thread/PostThreadItem.tsx:182
msgid "Likes on this post"
msgstr ""
-#: src/Navigation.tsx:168
+#: src/Navigation.tsx:170
msgid "List"
msgstr ""
-#: src/view/com/modals/CreateOrEditList.tsx:261
+#: src/view/com/modals/CreateOrEditList.tsx:262
msgid "List Avatar"
msgstr "Avatar de la lista"
-#: src/view/screens/ProfileList.tsx:324
+#: src/view/screens/ProfileList.tsx:313
msgid "List blocked"
msgstr ""
-#: src/view/com/feeds/FeedSourceCard.tsx:233
+#: src/view/com/feeds/FeedSourceCard.tsx:220
msgid "List by {0}"
msgstr ""
-#: src/view/screens/ProfileList.tsx:378
+#: src/view/screens/ProfileList.tsx:357
msgid "List deleted"
msgstr ""
-#: src/view/screens/ProfileList.tsx:283
+#: src/view/screens/ProfileList.tsx:285
msgid "List muted"
msgstr ""
-#: src/view/com/modals/CreateOrEditList.tsx:275
+#: src/view/com/modals/CreateOrEditList.tsx:276
msgid "List Name"
msgstr "Nombre de la lista"
-#: src/view/screens/ProfileList.tsx:343
+#: src/view/screens/ProfileList.tsx:327
msgid "List unblocked"
msgstr ""
-#: src/view/screens/ProfileList.tsx:302
+#: src/view/screens/ProfileList.tsx:299
msgid "List unmuted"
msgstr ""
-#: src/Navigation.tsx:112
-#: src/view/screens/Profile.tsx:185
-#: src/view/shell/desktop/LeftNav.tsx:379
-#: src/view/shell/Drawer.tsx:492
-#: src/view/shell/Drawer.tsx:493
+#: src/Navigation.tsx:114
+#: src/view/screens/Profile.tsx:194
+#: src/view/screens/Profile.tsx:200
+#: src/view/shell/desktop/LeftNav.tsx:383
+#: src/view/shell/Drawer.tsx:501
+#: src/view/shell/Drawer.tsx:502
msgid "Lists"
msgstr "Listas"
#: src/view/com/post-thread/PostThread.tsx:333
#: src/view/com/post-thread/PostThread.tsx:341
-msgid "Load more posts"
-msgstr "Cargar más publicaciones"
+#~ msgid "Load more posts"
+#~ msgstr "Cargar más publicaciones"
#: src/view/screens/Notifications.tsx:159
msgid "Load new notifications"
msgstr "Cargar notificaciones nuevas"
-#: src/view/com/feeds/FeedPage.tsx:115
-#: src/view/screens/Profile.tsx:440
-#: src/view/screens/ProfileFeed.tsx:495
-#: src/view/screens/ProfileList.tsx:681
+#: src/screens/Profile/Sections/Feed.tsx:86
+#: src/view/com/feeds/FeedPage.tsx:138
+#: src/view/screens/ProfileFeed.tsx:507
+#: src/view/screens/ProfileList.tsx:697
msgid "Load new posts"
msgstr "Cargar publicaciones nuevas"
-#: src/view/com/composer/text-input/mobile/Autocomplete.tsx:95
+#: src/view/com/composer/text-input/mobile/Autocomplete.tsx:99
msgid "Loading..."
msgstr "Cargando..."
@@ -2207,7 +2675,7 @@ msgstr "Cargando..."
#~ msgid "Local dev server"
#~ msgstr "Servidor de desarrollo local"
-#: src/Navigation.tsx:209
+#: src/Navigation.tsx:221
msgid "Log"
msgstr ""
@@ -2218,31 +2686,35 @@ msgstr ""
msgid "Log out"
msgstr ""
-#: src/view/screens/Moderation.tsx:155
+#: src/screens/Moderation/index.tsx:442
msgid "Logged-out visibility"
msgstr "Visibilidad de desconexión"
-#: src/view/com/auth/login/ChooseAccountForm.tsx:133
+#: src/components/AccountList.tsx:54
msgid "Login to account that is not listed"
msgstr "Acceder a una cuenta que no está en la lista"
-#: src/view/com/modals/LinkWarning.tsx:65
+#: src/screens/Login/SetNewPasswordForm.tsx:116
+msgid "Looks like XXXXX-XXXXX"
+msgstr ""
+
+#: src/view/com/modals/LinkWarning.tsx:79
msgid "Make sure this is where you intend to go!"
msgstr "¡Asegúrate de que es aquí a donde pretendes ir!"
-#: src/components/dialogs/MutedWords.tsx:83
+#: src/components/dialogs/MutedWords.tsx:82
msgid "Manage your muted words and tags"
msgstr ""
#: src/view/com/auth/create/Step2.tsx:118
-msgid "May not be longer than 253 characters"
-msgstr ""
+#~ msgid "May not be longer than 253 characters"
+#~ msgstr ""
#: src/view/com/auth/create/Step2.tsx:109
-msgid "May only contain letters and numbers"
-msgstr ""
+#~ msgid "May only contain letters and numbers"
+#~ msgstr ""
-#: src/view/screens/Profile.tsx:182
+#: src/view/screens/Profile.tsx:197
msgid "Media"
msgstr "Medios"
@@ -2255,70 +2727,89 @@ msgid "Mentioned users"
msgstr "Usuarios mencionados"
#: src/view/com/util/ViewHeader.tsx:87
-#: src/view/screens/Search/Search.tsx:646
+#: src/view/screens/Search/Search.tsx:795
msgid "Menu"
msgstr "Menú"
-#: src/view/com/posts/FeedErrorMessage.tsx:197
+#: src/view/com/posts/FeedErrorMessage.tsx:192
msgid "Message from server: {0}"
msgstr "Mensaje del servidor: {0}"
-#: src/Navigation.tsx:117
-#: src/view/screens/Moderation.tsx:66
-#: src/view/screens/Settings/index.tsx:625
-#: src/view/shell/desktop/LeftNav.tsx:397
-#: src/view/shell/Drawer.tsx:511
-#: src/view/shell/Drawer.tsx:512
+#: src/lib/moderation/useReportOptions.ts:45
+msgid "Misleading Account"
+msgstr ""
+
+#: src/Navigation.tsx:119
+#: src/screens/Moderation/index.tsx:104
+#: src/view/screens/Settings/index.tsx:596
+#: src/view/shell/desktop/LeftNav.tsx:401
+#: src/view/shell/Drawer.tsx:520
+#: src/view/shell/Drawer.tsx:521
msgid "Moderation"
msgstr "Moderación"
+#: src/components/moderation/ModerationDetailsDialog.tsx:112
+msgid "Moderation details"
+msgstr ""
+
#: src/view/com/lists/ListCard.tsx:93
#: src/view/com/modals/UserAddRemoveLists.tsx:206
msgid "Moderation list by {0}"
msgstr ""
-#: src/view/screens/ProfileList.tsx:775
+#: src/view/screens/ProfileList.tsx:791
msgid "Moderation list by <0/>"
msgstr ""
#: src/view/com/lists/ListCard.tsx:91
#: src/view/com/modals/UserAddRemoveLists.tsx:204
-#: src/view/screens/ProfileList.tsx:773
+#: src/view/screens/ProfileList.tsx:789
msgid "Moderation list by you"
msgstr ""
-#: src/view/com/modals/CreateOrEditList.tsx:197
+#: src/view/com/modals/CreateOrEditList.tsx:198
msgid "Moderation list created"
msgstr ""
-#: src/view/com/modals/CreateOrEditList.tsx:183
+#: src/view/com/modals/CreateOrEditList.tsx:184
msgid "Moderation list updated"
msgstr ""
-#: src/view/screens/Moderation.tsx:114
+#: src/screens/Moderation/index.tsx:243
msgid "Moderation lists"
msgstr "Listas de moderación"
-#: src/Navigation.tsx:122
+#: src/Navigation.tsx:124
#: src/view/screens/ModerationModlists.tsx:58
msgid "Moderation Lists"
msgstr "Listas de moderación"
-#: src/view/screens/Settings/index.tsx:619
+#: src/view/screens/Settings/index.tsx:590
msgid "Moderation settings"
msgstr ""
-#: src/view/com/modals/ModerationDetails.tsx:35
+#: src/Navigation.tsx:216
+msgid "Moderation states"
+msgstr ""
+
+#: src/screens/Moderation/index.tsx:215
+msgid "Moderation tools"
+msgstr ""
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:48
+#: src/lib/moderation/useModerationCauseDescription.ts:40
msgid "Moderator has chosen to set a general warning on the content."
msgstr ""
+#: src/view/com/post-thread/PostThreadItem.tsx:535
+msgid "More"
+msgstr ""
+
#: src/view/shell/desktop/Feeds.tsx:65
msgid "More feeds"
msgstr "Más canales de noticias"
-#: src/view/com/profile/ProfileHeader.tsx:523
-#: src/view/screens/ProfileFeed.tsx:363
-#: src/view/screens/ProfileList.tsx:617
+#: src/view/screens/ProfileList.tsx:601
msgid "More options"
msgstr "Más opciones"
@@ -2331,8 +2822,8 @@ msgid "Most-liked replies first"
msgstr ""
#: src/view/com/auth/create/Step2.tsx:122
-msgid "Must be at least 3 characters"
-msgstr ""
+#~ msgid "Must be at least 3 characters"
+#~ msgstr ""
#: src/components/TagMenu/index.tsx:249
msgid "Mute"
@@ -2342,11 +2833,12 @@ msgstr ""
msgid "Mute {truncatedTag}"
msgstr ""
-#: src/view/com/profile/ProfileHeader.tsx:327
+#: src/view/com/profile/ProfileMenu.tsx:279
+#: src/view/com/profile/ProfileMenu.tsx:286
msgid "Mute Account"
msgstr "Silenciar la cuenta"
-#: src/view/screens/ProfileList.tsx:544
+#: src/view/screens/ProfileList.tsx:520
msgid "Mute accounts"
msgstr "Silenciar las cuentas"
@@ -2358,41 +2850,42 @@ msgstr ""
#~ msgid "Mute all {tag} posts"
#~ msgstr ""
-#: src/components/dialogs/MutedWords.tsx:149
+#: src/components/dialogs/MutedWords.tsx:148
msgid "Mute in tags only"
msgstr ""
-#: src/components/dialogs/MutedWords.tsx:134
+#: src/components/dialogs/MutedWords.tsx:133
msgid "Mute in text & tags"
msgstr ""
-#: src/view/screens/ProfileList.tsx:491
+#: src/view/screens/ProfileList.tsx:463
+#: src/view/screens/ProfileList.tsx:626
msgid "Mute list"
msgstr "Silenciar la lista"
-#: src/view/screens/ProfileList.tsx:275
+#: src/view/screens/ProfileList.tsx:621
msgid "Mute these accounts?"
msgstr "¿Silenciar estas cuentas?"
#: src/view/screens/ProfileList.tsx:279
-msgid "Mute this List"
-msgstr ""
+#~ msgid "Mute this List"
+#~ msgstr ""
-#: src/components/dialogs/MutedWords.tsx:127
+#: src/components/dialogs/MutedWords.tsx:126
msgid "Mute this word in post text and tags"
msgstr ""
-#: src/components/dialogs/MutedWords.tsx:142
+#: src/components/dialogs/MutedWords.tsx:141
msgid "Mute this word in tags only"
msgstr ""
-#: src/view/com/util/forms/PostDropdownBtn.tsx:251
-#: src/view/com/util/forms/PostDropdownBtn.tsx:257
+#: src/view/com/util/forms/PostDropdownBtn.tsx:269
+#: src/view/com/util/forms/PostDropdownBtn.tsx:275
msgid "Mute thread"
msgstr "Silenciar el hilo"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:267
-#: src/view/com/util/forms/PostDropdownBtn.tsx:269
+#: src/view/com/util/forms/PostDropdownBtn.tsx:285
+#: src/view/com/util/forms/PostDropdownBtn.tsx:287
msgid "Mute words & tags"
msgstr ""
@@ -2400,32 +2893,37 @@ msgstr ""
msgid "Muted"
msgstr ""
-#: src/view/screens/Moderation.tsx:128
+#: src/screens/Moderation/index.tsx:255
msgid "Muted accounts"
msgstr "Cuentas silenciadas"
-#: src/Navigation.tsx:127
-#: src/view/screens/ModerationMutedAccounts.tsx:107
+#: src/Navigation.tsx:129
+#: src/view/screens/ModerationMutedAccounts.tsx:112
msgid "Muted Accounts"
msgstr "Cuentas silenciadas"
-#: src/view/screens/ModerationMutedAccounts.tsx:115
+#: src/view/screens/ModerationMutedAccounts.tsx:120
msgid "Muted accounts have their posts removed from your feed and from your notifications. Mutes are completely private."
msgstr "Las cuentas silenciadas eliminan sus publicaciones de tu canal de noticias y de tus notificaciones. Las cuentas silenciadas son completamente privadas."
-#: src/view/screens/Moderation.tsx:100
+#: src/lib/moderation/useModerationCauseDescription.ts:85
+msgid "Muted by \"{0}\""
+msgstr ""
+
+#: src/screens/Moderation/index.tsx:231
msgid "Muted words & tags"
msgstr ""
-#: src/view/screens/ProfileList.tsx:277
+#: src/view/screens/ProfileList.tsx:623
msgid "Muting is private. Muted accounts can interact with you, but you will not see their posts or receive notifications from them."
msgstr "Silenciar es privado. Las cuentas silenciadas pueden interactuar contigo, pero no verás sus publicaciones ni recibirás notificaciones suyas."
-#: src/view/com/modals/BirthDateSettings.tsx:56
+#: src/components/dialogs/BirthDateSettings.tsx:35
+#: src/components/dialogs/BirthDateSettings.tsx:38
msgid "My Birthday"
msgstr "Mi cumpleaños"
-#: src/view/screens/Feeds.tsx:663
+#: src/view/screens/Feeds.tsx:688
msgid "My Feeds"
msgstr "Mis canales de noticias"
@@ -2433,32 +2931,40 @@ msgstr "Mis canales de noticias"
msgid "My Profile"
msgstr "Mi perfil"
-#: src/view/screens/Settings/index.tsx:582
+#: src/view/screens/Settings/index.tsx:547
+msgid "My saved feeds"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:553
msgid "My Saved Feeds"
msgstr "Mis canales de noticias guardados"
#: src/view/com/auth/server-input/index.tsx:118
-msgid "my-server.com"
-msgstr ""
+#~ msgid "my-server.com"
+#~ msgstr ""
-#: src/view/com/modals/AddAppPasswords.tsx:179
-#: src/view/com/modals/CreateOrEditList.tsx:290
+#: src/view/com/modals/AddAppPasswords.tsx:180
+#: src/view/com/modals/CreateOrEditList.tsx:291
msgid "Name"
msgstr "Nombre"
-#: src/view/com/modals/CreateOrEditList.tsx:145
+#: src/view/com/modals/CreateOrEditList.tsx:146
msgid "Name is required"
msgstr ""
+#: src/lib/moderation/useReportOptions.ts:57
+#: src/lib/moderation/useReportOptions.ts:78
+#: src/lib/moderation/useReportOptions.ts:86
+msgid "Name or Description Violates Community Standards"
+msgstr ""
+
#: src/screens/Onboarding/index.tsx:25
msgid "Nature"
msgstr ""
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:190
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:219
-#: src/view/com/auth/login/LoginForm.tsx:289
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:196
-#: src/view/com/modals/ChangePassword.tsx:166
+#: src/screens/Login/ForgotPasswordForm.tsx:173
+#: src/screens/Login/LoginForm.tsx:255
+#: src/view/com/modals/ChangePassword.tsx:168
msgid "Navigates to the next screen"
msgstr ""
@@ -2466,22 +2972,30 @@ msgstr ""
msgid "Navigates to your profile"
msgstr ""
-#: src/view/com/modals/EmbedConsent.tsx:107
-#: src/view/com/modals/EmbedConsent.tsx:123
-msgid "Never load embeds from {0}"
+#: src/components/ReportDialog/SelectReportOptionView.tsx:123
+msgid "Need to report a copyright violation?"
msgstr ""
+#: src/view/com/modals/EmbedConsent.tsx:107
+#: src/view/com/modals/EmbedConsent.tsx:123
+#~ msgid "Never load embeds from {0}"
+#~ msgstr ""
+
#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:72
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:72
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:74
msgid "Never lose access to your followers and data."
msgstr "No pierdas nunca el acceso a tus seguidores y datos."
-#: src/screens/Onboarding/StepFinished.tsx:119
+#: src/screens/Onboarding/StepFinished.tsx:123
msgid "Never lose access to your followers or data."
msgstr ""
#: src/components/dialogs/MutedWords.tsx:293
-msgid "Nevermind"
+#~ msgid "Nevermind"
+#~ msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:519
+msgid "Nevermind, create a handle for me"
msgstr ""
#: src/view/screens/Lists.tsx:76
@@ -2493,39 +3007,39 @@ msgstr ""
msgid "New"
msgstr "Nuevo"
-#: src/view/com/modals/CreateOrEditList.tsx:252
+#: src/view/com/modals/CreateOrEditList.tsx:253
msgid "New Moderation List"
msgstr ""
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:150
+#: src/view/com/modals/ChangePassword.tsx:212
msgid "New password"
msgstr ""
-#: src/view/com/modals/ChangePassword.tsx:215
+#: src/view/com/modals/ChangePassword.tsx:217
msgid "New Password"
msgstr ""
-#: src/view/com/feeds/FeedPage.tsx:126
+#: src/view/com/feeds/FeedPage.tsx:149
msgctxt "action"
msgid "New post"
msgstr ""
-#: src/view/screens/Feeds.tsx:555
+#: src/view/screens/Feeds.tsx:580
#: src/view/screens/Notifications.tsx:168
-#: src/view/screens/Profile.tsx:382
-#: src/view/screens/ProfileFeed.tsx:433
-#: src/view/screens/ProfileList.tsx:196
-#: src/view/screens/ProfileList.tsx:224
-#: src/view/shell/desktop/LeftNav.tsx:248
+#: src/view/screens/Profile.tsx:480
+#: src/view/screens/ProfileFeed.tsx:445
+#: src/view/screens/ProfileList.tsx:200
+#: src/view/screens/ProfileList.tsx:228
+#: src/view/shell/desktop/LeftNav.tsx:252
msgid "New post"
msgstr "Publicación nueva"
-#: src/view/shell/desktop/LeftNav.tsx:258
+#: src/view/shell/desktop/LeftNav.tsx:262
msgctxt "action"
msgid "New Post"
msgstr "Publicación nueva"
-#: src/view/com/modals/CreateOrEditList.tsx:247
+#: src/view/com/modals/CreateOrEditList.tsx:248
msgid "New User List"
msgstr ""
@@ -2537,15 +3051,16 @@ msgstr ""
msgid "News"
msgstr ""
-#: src/view/com/auth/create/CreateAccount.tsx:172
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:182
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:192
-#: src/view/com/auth/login/LoginForm.tsx:291
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:187
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:198
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:79
-#: src/view/com/modals/ChangePassword.tsx:251
+#: src/screens/Login/ForgotPasswordForm.tsx:143
+#: src/screens/Login/ForgotPasswordForm.tsx:150
+#: src/screens/Login/LoginForm.tsx:254
+#: src/screens/Login/LoginForm.tsx:261
+#: src/screens/Login/SetNewPasswordForm.tsx:174
+#: src/screens/Login/SetNewPasswordForm.tsx:180
+#: src/screens/Signup/index.tsx:207
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:80
#: src/view/com/modals/ChangePassword.tsx:253
+#: src/view/com/modals/ChangePassword.tsx:255
msgid "Next"
msgstr "Siguiente"
@@ -2554,7 +3069,7 @@ msgctxt "action"
msgid "Next"
msgstr ""
-#: src/view/com/lightbox/Lightbox.web.tsx:149
+#: src/view/com/lightbox/Lightbox.web.tsx:169
msgid "Next image"
msgstr "Imagen nueva"
@@ -2567,39 +3082,48 @@ msgstr "Imagen nueva"
msgid "No"
msgstr "No"
-#: src/view/screens/ProfileFeed.tsx:584
-#: src/view/screens/ProfileList.tsx:755
+#: src/view/screens/ProfileFeed.tsx:574
+#: src/view/screens/ProfileList.tsx:771
msgid "No description"
msgstr "Sin descripción"
-#: src/view/com/profile/ProfileHeader.tsx:170
+#: src/view/com/modals/ChangeHandle.tsx:405
+msgid "No DNS Panel"
+msgstr ""
+
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:118
msgid "No longer following {0}"
msgstr ""
+#: src/screens/Signup/StepHandle.tsx:115
+msgid "No longer than 253 characters"
+msgstr ""
+
#: src/view/com/notifications/Feed.tsx:109
msgid "No notifications yet!"
msgstr ""
-#: src/view/com/composer/text-input/mobile/Autocomplete.tsx:97
-#: src/view/com/composer/text-input/web/Autocomplete.tsx:191
+#: src/view/com/composer/text-input/mobile/Autocomplete.tsx:101
+#: src/view/com/composer/text-input/web/Autocomplete.tsx:195
msgid "No result"
msgstr "Sin resultados"
-#: src/components/Lists.tsx:192
+#: src/components/Lists.tsx:183
msgid "No results found"
msgstr ""
-#: src/view/screens/Feeds.tsx:495
+#: src/view/screens/Feeds.tsx:520
msgid "No results found for \"{query}\""
msgstr "No se han encontrado resultados para \"{query}\""
#: src/view/com/modals/ListAddRemoveUsers.tsx:127
-#: src/view/screens/Search/Search.tsx:281
-#: src/view/screens/Search/Search.tsx:309
+#: src/view/screens/Search/Search.tsx:349
+#: src/view/screens/Search/Search.tsx:387
msgid "No results found for {query}"
msgstr "No se han encontrado resultados para {query}"
-#: src/view/com/modals/EmbedConsent.tsx:129
+#: src/components/dialogs/EmbedConsent.tsx:105
+#: src/components/dialogs/EmbedConsent.tsx:112
msgid "No thanks"
msgstr ""
@@ -2607,12 +3131,21 @@ msgstr ""
msgid "Nobody"
msgstr "Nadie"
+#: src/components/LikedByList.tsx:79
+#: src/components/LikesDialog.tsx:99
+msgid "Nobody has liked this yet. Maybe you should be the first!"
+msgstr ""
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:42
+msgid "Non-sexual Nudity"
+msgstr ""
+
#: src/view/com/modals/SelfLabel.tsx:135
msgid "Not Applicable."
msgstr "No aplicable."
-#: src/Navigation.tsx:107
-#: src/view/screens/Profile.tsx:106
+#: src/Navigation.tsx:109
+#: src/view/screens/Profile.tsx:101
msgid "Not Found"
msgstr ""
@@ -2621,17 +3154,23 @@ msgstr ""
msgid "Not right now"
msgstr ""
-#: src/view/screens/Moderation.tsx:252
+#: src/view/com/profile/ProfileMenu.tsx:368
+#: src/view/com/util/forms/PostDropdownBtn.tsx:364
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:248
+msgid "Note about sharing"
+msgstr ""
+
+#: src/screens/Moderation/index.tsx:540
msgid "Note: Bluesky is an open and public network. This setting only limits the visibility of your content on the Bluesky app and website, and other apps may not respect this setting. Your content may still be shown to logged-out users by other apps and websites."
msgstr "Nota: Bluesky es una red abierta y pública. Esta configuración sólo limita la visibilidad de tu contenido en la aplicación y el sitio web de Bluesky, y es posible que otras aplicaciones no respeten esta configuración. Otras aplicaciones y sitios web pueden seguir mostrando tu contenido a los usuarios que hayan cerrado sesión."
-#: src/Navigation.tsx:457
+#: src/Navigation.tsx:461
#: src/view/screens/Notifications.tsx:124
#: src/view/screens/Notifications.tsx:148
-#: src/view/shell/bottom-bar/BottomBar.tsx:205
-#: src/view/shell/desktop/LeftNav.tsx:361
-#: src/view/shell/Drawer.tsx:435
-#: src/view/shell/Drawer.tsx:436
+#: src/view/shell/bottom-bar/BottomBar.tsx:216
+#: src/view/shell/desktop/LeftNav.tsx:365
+#: src/view/shell/Drawer.tsx:444
+#: src/view/shell/Drawer.tsx:445
msgid "Notifications"
msgstr "Notificaciones"
@@ -2639,15 +3178,36 @@ msgstr "Notificaciones"
msgid "Nudity"
msgstr ""
-#: src/view/com/util/ErrorBoundary.tsx:35
+#: src/lib/moderation/useReportOptions.ts:71
+msgid "Nudity or adult content not labeled as such"
+msgstr ""
+
+#: src/lib/moderation/useReportOptions.ts:71
+#~ msgid "Nudity or pornography not labeled as such"
+#~ msgstr ""
+
+#: src/screens/Signup/index.tsx:143
+msgid "of"
+msgstr ""
+
+#: src/lib/moderation/useLabelBehaviorDescription.ts:11
+msgid "Off"
+msgstr ""
+
+#: src/view/com/util/ErrorBoundary.tsx:49
msgid "Oh no!"
msgstr "¡Qué problema!"
-#: src/screens/Onboarding/StepInterests/index.tsx:128
+#: src/screens/Onboarding/StepInterests/index.tsx:132
msgid "Oh no! Something went wrong."
msgstr ""
-#: src/view/com/auth/login/PasswordUpdatedForm.tsx:41
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:126
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:333
+msgid "OK"
+msgstr ""
+
+#: src/screens/Login/PasswordUpdatedForm.tsx:44
msgid "Okay"
msgstr "Está bien"
@@ -2655,11 +3215,11 @@ msgstr "Está bien"
msgid "Oldest replies first"
msgstr ""
-#: src/view/screens/Settings/index.tsx:234
+#: src/view/screens/Settings/index.tsx:247
msgid "Onboarding reset"
msgstr ""
-#: src/view/com/composer/Composer.tsx:382
+#: src/view/com/composer/Composer.tsx:392
msgid "One or more images is missing alt text."
msgstr "Falta el texto alternativo en una o varias imágenes."
@@ -2667,49 +3227,66 @@ msgstr "Falta el texto alternativo en una o varias imágenes."
msgid "Only {0} can reply."
msgstr "Solo {0} puede responder."
-#: src/components/Lists.tsx:82
+#: src/screens/Signup/StepHandle.tsx:98
+msgid "Only contains letters, numbers, and hyphens"
+msgstr ""
+
+#: src/components/Lists.tsx:75
msgid "Oops, something went wrong!"
msgstr ""
-#: src/components/Lists.tsx:188
-#: src/view/screens/AppPasswords.tsx:65
-#: src/view/screens/Profile.tsx:106
+#: src/components/Lists.tsx:170
+#: src/view/screens/AppPasswords.tsx:67
+#: src/view/screens/Profile.tsx:101
msgid "Oops!"
msgstr ""
-#: src/screens/Onboarding/StepFinished.tsx:115
+#: src/screens/Onboarding/StepFinished.tsx:119
msgid "Open"
msgstr ""
#: src/view/screens/Moderation.tsx:75
-msgid "Open content filtering settings"
-msgstr ""
+#~ msgid "Open content filtering settings"
+#~ msgstr ""
-#: src/view/com/composer/Composer.tsx:477
-#: src/view/com/composer/Composer.tsx:478
+#: src/view/com/composer/Composer.tsx:491
+#: src/view/com/composer/Composer.tsx:492
msgid "Open emoji picker"
msgstr ""
-#: src/view/screens/Settings/index.tsx:712
+#: src/view/screens/ProfileFeed.tsx:311
+msgid "Open feed options menu"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:685
msgid "Open links with in-app browser"
msgstr ""
-#: src/view/screens/Moderation.tsx:92
-msgid "Open muted words settings"
+#: src/screens/Moderation/index.tsx:227
+msgid "Open muted words and tags settings"
msgstr ""
-#: src/view/com/home/HomeHeaderLayoutMobile.tsx:50
+#: src/view/screens/Moderation.tsx:92
+#~ msgid "Open muted words settings"
+#~ msgstr ""
+
+#: src/view/com/home/HomeHeaderLayoutMobile.tsx:52
msgid "Open navigation"
msgstr "Abrir navegación"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:175
+#: src/view/com/util/forms/PostDropdownBtn.tsx:191
msgid "Open post options menu"
msgstr ""
-#: src/view/screens/Settings/index.tsx:804
+#: src/view/screens/Settings/index.tsx:792
+#: src/view/screens/Settings/index.tsx:802
msgid "Open storybook page"
msgstr ""
+#: src/view/screens/Settings/index.tsx:780
+msgid "Open system log"
+msgstr ""
+
#: src/view/com/util/forms/DropdownButton.tsx:154
msgid "Opens {numItems} options"
msgstr ""
@@ -2718,11 +3295,11 @@ msgstr ""
msgid "Opens additional details for a debug entry"
msgstr ""
-#: src/view/com/notifications/FeedItem.tsx:349
+#: src/view/com/notifications/FeedItem.tsx:355
msgid "Opens an expanded list of users in this notification"
msgstr ""
-#: src/view/com/composer/photos/OpenCameraBtn.tsx:61
+#: src/view/com/composer/photos/OpenCameraBtn.tsx:78
msgid "Opens camera on device"
msgstr ""
@@ -2730,7 +3307,7 @@ msgstr ""
msgid "Opens composer"
msgstr ""
-#: src/view/screens/Settings/index.tsx:595
+#: src/view/screens/Settings/index.tsx:566
msgid "Opens configurable language settings"
msgstr "Abrir la configuración del idioma que se puede ajustar"
@@ -2739,71 +3316,114 @@ msgid "Opens device photo gallery"
msgstr ""
#: src/view/com/profile/ProfileHeader.tsx:420
-msgid "Opens editor for profile display name, avatar, background image, and description"
-msgstr ""
+#~ msgid "Opens editor for profile display name, avatar, background image, and description"
+#~ msgstr ""
-#: src/view/screens/Settings/index.tsx:649
+#: src/view/screens/Settings/index.tsx:620
msgid "Opens external embeds settings"
msgstr ""
-#: src/view/com/profile/ProfileHeader.tsx:575
-msgid "Opens followers list"
+#: src/view/com/auth/SplashScreen.tsx:50
+#: src/view/com/auth/SplashScreen.web.tsx:94
+msgid "Opens flow to create a new Bluesky account"
msgstr ""
-#: src/view/com/profile/ProfileHeader.tsx:594
-msgid "Opens following list"
+#: src/view/com/auth/SplashScreen.tsx:65
+#: src/view/com/auth/SplashScreen.web.tsx:109
+msgid "Opens flow to sign into your existing Bluesky account"
msgstr ""
+#: src/view/com/profile/ProfileHeader.tsx:575
+#~ msgid "Opens followers list"
+#~ msgstr ""
+
+#: src/view/com/profile/ProfileHeader.tsx:594
+#~ msgid "Opens following list"
+#~ msgstr ""
+
#: src/view/screens/Settings.tsx:412
#~ msgid "Opens invite code list"
#~ msgstr ""
-#: src/view/com/modals/InviteCodes.tsx:172
+#: src/view/com/modals/InviteCodes.tsx:173
msgid "Opens list of invite codes"
msgstr "Abre la lista de códigos de invitación"
-#: src/view/screens/Settings/index.tsx:774
-msgid "Opens modal for account deletion confirmation. Requires email code."
+#: src/view/screens/Settings/index.tsx:762
+msgid "Opens modal for account deletion confirmation. Requires email code"
msgstr ""
-#: src/view/com/modals/ChangeHandle.tsx:281
+#: src/view/screens/Settings/index.tsx:774
+#~ msgid "Opens modal for account deletion confirmation. Requires email code."
+#~ msgstr ""
+
+#: src/view/screens/Settings/index.tsx:720
+msgid "Opens modal for changing your Bluesky password"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:669
+msgid "Opens modal for choosing a new Bluesky handle"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:743
+msgid "Opens modal for downloading your Bluesky account data (repository)"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:932
+msgid "Opens modal for email verification"
+msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:282
msgid "Opens modal for using custom domain"
msgstr "Abre el modal para usar el dominio personalizado"
-#: src/view/screens/Settings/index.tsx:620
+#: src/view/screens/Settings/index.tsx:591
msgid "Opens moderation settings"
msgstr "Abre la configuración de moderación"
-#: src/view/com/auth/login/LoginForm.tsx:239
+#: src/screens/Login/LoginForm.tsx:202
msgid "Opens password reset form"
msgstr ""
-#: src/view/com/home/HomeHeaderLayout.web.tsx:63
-#: src/view/screens/Feeds.tsx:356
+#: src/view/com/home/HomeHeaderLayout.web.tsx:67
+#: src/view/screens/Feeds.tsx:381
msgid "Opens screen to edit Saved Feeds"
msgstr ""
-#: src/view/screens/Settings/index.tsx:576
+#: src/view/screens/Settings/index.tsx:548
msgid "Opens screen with all saved feeds"
msgstr "Abre la pantalla con todas las noticias guardadas"
+#: src/view/screens/Settings/index.tsx:647
+msgid "Opens the app password settings"
+msgstr ""
+
#: src/view/screens/Settings/index.tsx:676
-msgid "Opens the app password settings page"
-msgstr "Abre la página de configuración de la contraseña de la app"
+#~ msgid "Opens the app password settings page"
+#~ msgstr "Abre la página de configuración de la contraseña de la app"
+
+#: src/view/screens/Settings/index.tsx:505
+msgid "Opens the Following feed preferences"
+msgstr ""
#: src/view/screens/Settings/index.tsx:535
-msgid "Opens the home feed preferences"
-msgstr "Abre las preferencias de noticias de la página inicial"
+#~ msgid "Opens the home feed preferences"
+#~ msgstr "Abre las preferencias de noticias de la página inicial"
-#: src/view/screens/Settings/index.tsx:805
+#: src/view/com/modals/LinkWarning.tsx:93
+msgid "Opens the linked website"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:793
+#: src/view/screens/Settings/index.tsx:803
msgid "Opens the storybook page"
msgstr "Abre la página del libro de cuentos"
-#: src/view/screens/Settings/index.tsx:793
+#: src/view/screens/Settings/index.tsx:781
msgid "Opens the system log page"
msgstr "Abre la página de la bitácora del sistema"
-#: src/view/screens/Settings/index.tsx:556
+#: src/view/screens/Settings/index.tsx:526
msgid "Opens the threads preferences"
msgstr "Abre las preferencias de hilos"
@@ -2811,11 +3431,19 @@ msgstr "Abre las preferencias de hilos"
msgid "Option {0} of {numItems}"
msgstr ""
+#: src/components/ReportDialog/SubmitView.tsx:160
+msgid "Optionally provide additional information below:"
+msgstr ""
+
#: src/view/com/modals/Threadgate.tsx:89
msgid "Or combine these options:"
msgstr ""
-#: src/view/com/auth/login/ChooseAccountForm.tsx:138
+#: src/lib/moderation/useReportOptions.ts:25
+msgid "Other"
+msgstr ""
+
+#: src/components/AccountList.tsx:73
msgid "Other account"
msgstr "Otra cuenta"
@@ -2827,7 +3455,7 @@ msgstr "Otra cuenta"
msgid "Other..."
msgstr "Otro..."
-#: src/components/Lists.tsx:194
+#: src/components/Lists.tsx:184
#: src/view/screens/NotFound.tsx:45
msgid "Page not found"
msgstr "Página no encontrada"
@@ -2836,27 +3464,35 @@ msgstr "Página no encontrada"
msgid "Page Not Found"
msgstr ""
-#: src/view/com/auth/create/Step1.tsx:191
-#: src/view/com/auth/create/Step1.tsx:201
-#: src/view/com/auth/login/LoginForm.tsx:226
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:161
-#: src/view/com/modals/DeleteAccount.tsx:202
+#: src/screens/Login/LoginForm.tsx:178
+#: src/screens/Signup/StepInfo/index.tsx:102
+#: src/view/com/modals/DeleteAccount.tsx:194
+#: src/view/com/modals/DeleteAccount.tsx:201
msgid "Password"
msgstr "Contraseña"
-#: src/view/com/auth/login/Login.tsx:157
+#: src/view/com/modals/ChangePassword.tsx:142
+msgid "Password Changed"
+msgstr ""
+
+#: src/screens/Login/index.tsx:157
msgid "Password updated"
msgstr "Contraseña actualizada"
-#: src/view/com/auth/login/PasswordUpdatedForm.tsx:28
+#: src/screens/Login/PasswordUpdatedForm.tsx:30
msgid "Password updated!"
msgstr "¡Contraseña actualizada!"
-#: src/Navigation.tsx:162
+#: src/view/screens/Search/Search.tsx:447
+#: src/view/screens/Search/Search.tsx:456
+msgid "People"
+msgstr ""
+
+#: src/Navigation.tsx:164
msgid "People followed by @{0}"
msgstr ""
-#: src/Navigation.tsx:155
+#: src/Navigation.tsx:157
msgid "People following @{0}"
msgstr ""
@@ -2880,37 +3516,41 @@ msgstr ""
msgid "Pictures meant for adults."
msgstr "Imágenes destinadas a adultos."
-#: src/view/screens/ProfileFeed.tsx:354
-#: src/view/screens/ProfileList.tsx:581
+#: src/view/screens/ProfileFeed.tsx:303
+#: src/view/screens/ProfileList.tsx:565
msgid "Pin to home"
msgstr ""
-#: src/view/screens/SavedFeeds.tsx:88
+#: src/view/screens/ProfileFeed.tsx:306
+msgid "Pin to Home"
+msgstr ""
+
+#: src/view/screens/SavedFeeds.tsx:89
msgid "Pinned Feeds"
msgstr "Canales de noticias anclados"
-#: src/view/com/util/post-embeds/ExternalGifEmbed.tsx:111
+#: src/view/com/util/post-embeds/ExternalGifEmbed.tsx:123
msgid "Play {0}"
msgstr ""
-#: src/view/com/util/post-embeds/ExternalPlayerEmbed.tsx:54
-#: src/view/com/util/post-embeds/ExternalPlayerEmbed.tsx:55
+#: src/view/com/util/post-embeds/ExternalPlayerEmbed.tsx:57
+#: src/view/com/util/post-embeds/ExternalPlayerEmbed.tsx:58
msgid "Play Video"
msgstr ""
-#: src/view/com/util/post-embeds/ExternalGifEmbed.tsx:110
+#: src/view/com/util/post-embeds/ExternalGifEmbed.tsx:122
msgid "Plays the GIF"
msgstr ""
-#: src/view/com/auth/create/state.ts:124
+#: src/screens/Signup/state.ts:241
msgid "Please choose your handle."
msgstr "Por favor, elige tu identificador."
-#: src/view/com/auth/create/state.ts:117
+#: src/screens/Signup/state.ts:234
msgid "Please choose your password."
msgstr "Por favor, elige tu contraseña."
-#: src/view/com/auth/create/state.ts:131
+#: src/screens/Signup/state.ts:251
msgid "Please complete the verification captcha."
msgstr ""
@@ -2918,7 +3558,7 @@ msgstr ""
msgid "Please confirm your email before changing it. This is a temporary requirement while email-updating tools are added, and it will soon be removed."
msgstr "Por favor, confirma tu correo electrónico antes de cambiarlo. Se trata de un requisito temporal mientras se añaden herramientas de actualización de correo electrónico, y pronto se eliminará."
-#: src/view/com/modals/AddAppPasswords.tsx:90
+#: src/view/com/modals/AddAppPasswords.tsx:91
msgid "Please enter a name for your app password. All spaces is not allowed."
msgstr ""
@@ -2926,11 +3566,11 @@ msgstr ""
#~ msgid "Please enter a phone number that can receive SMS text messages."
#~ msgstr ""
-#: src/view/com/modals/AddAppPasswords.tsx:145
+#: src/view/com/modals/AddAppPasswords.tsx:146
msgid "Please enter a unique name for this App Password or use our randomly generated one."
msgstr "Introduce un nombre único para la contraseña de esta app o utiliza una generada aleatoriamente."
-#: src/components/dialogs/MutedWords.tsx:68
+#: src/components/dialogs/MutedWords.tsx:67
msgid "Please enter a valid word, tag, or phrase to mute"
msgstr ""
@@ -2942,18 +3582,22 @@ msgstr ""
#~ msgid "Please enter the verification code sent to {phoneNumberFormatted}."
#~ msgstr ""
-#: src/view/com/auth/create/state.ts:103
+#: src/screens/Signup/state.ts:220
msgid "Please enter your email."
msgstr "Introduce tu correo electrónico."
-#: src/view/com/modals/DeleteAccount.tsx:191
+#: src/view/com/modals/DeleteAccount.tsx:190
msgid "Please enter your password as well:"
msgstr "Introduce tu contraseña, también:"
+#: src/components/moderation/LabelsOnMeDialog.tsx:221
+msgid "Please explain why you think this label was incorrectly applied by {0}"
+msgstr ""
+
#: src/view/com/modals/AppealLabel.tsx:72
#: src/view/com/modals/AppealLabel.tsx:75
-msgid "Please tell us why you think this content warning was incorrectly applied!"
-msgstr "Por favor, dinos por qué crees que esta advertencia de contenido se ha aplicado incorrectamente!"
+#~ msgid "Please tell us why you think this content warning was incorrectly applied!"
+#~ msgstr "Por favor, dinos por qué crees que esta advertencia de contenido se ha aplicado incorrectamente!"
#: src/view/com/modals/VerifyEmail.tsx:101
msgid "Please Verify Your Email"
@@ -2971,13 +3615,17 @@ msgstr ""
msgid "Porn"
msgstr ""
-#: src/view/com/composer/Composer.tsx:357
-#: src/view/com/composer/Composer.tsx:365
+#: src/lib/moderation/useGlobalLabelStrings.ts:34
+#~ msgid "Pornography"
+#~ msgstr ""
+
+#: src/view/com/composer/Composer.tsx:367
+#: src/view/com/composer/Composer.tsx:375
msgctxt "action"
msgid "Post"
msgstr ""
-#: src/view/com/post-thread/PostThread.tsx:303
+#: src/view/com/post-thread/PostThread.tsx:292
msgctxt "description"
msgid "Post"
msgstr "Publicación"
@@ -2986,20 +3634,30 @@ msgstr "Publicación"
msgid "Post by {0}"
msgstr ""
-#: src/Navigation.tsx:174
-#: src/Navigation.tsx:181
-#: src/Navigation.tsx:188
+#: src/Navigation.tsx:176
+#: src/Navigation.tsx:183
+#: src/Navigation.tsx:190
msgid "Post by @{0}"
msgstr ""
-#: src/view/com/util/forms/PostDropdownBtn.tsx:108
+#: src/view/com/util/forms/PostDropdownBtn.tsx:111
msgid "Post deleted"
msgstr ""
-#: src/view/com/post-thread/PostThread.tsx:462
+#: src/view/com/post-thread/PostThread.tsx:157
msgid "Post hidden"
msgstr "Publicación oculta"
+#: src/components/moderation/ModerationDetailsDialog.tsx:97
+#: src/lib/moderation/useModerationCauseDescription.ts:99
+msgid "Post Hidden by Muted Word"
+msgstr ""
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:100
+#: src/lib/moderation/useModerationCauseDescription.ts:108
+msgid "Post Hidden by You"
+msgstr ""
+
#: src/view/com/composer/select-language/SelectLangBtn.tsx:87
msgid "Post language"
msgstr "Lenguaje de la publicación"
@@ -3008,7 +3666,8 @@ msgstr "Lenguaje de la publicación"
msgid "Post Languages"
msgstr "Lenguajes de la publicación"
-#: src/view/com/post-thread/PostThread.tsx:514
+#: src/view/com/post-thread/PostThread.tsx:152
+#: src/view/com/post-thread/PostThread.tsx:164
msgid "Post not found"
msgstr "Publicación no encontrada"
@@ -3016,11 +3675,12 @@ msgstr "Publicación no encontrada"
msgid "posts"
msgstr ""
-#: src/view/screens/Profile.tsx:180
+#: src/view/screens/Profile.tsx:195
+#: src/view/screens/Search/Search.tsx:467
msgid "Posts"
msgstr "Publicaciones"
-#: src/components/dialogs/MutedWords.tsx:90
+#: src/components/dialogs/MutedWords.tsx:89
msgid "Posts can be muted based on their text, their tags, or both."
msgstr ""
@@ -3028,11 +3688,21 @@ msgstr ""
msgid "Posts hidden"
msgstr ""
-#: src/view/com/modals/LinkWarning.tsx:46
+#: src/view/com/modals/LinkWarning.tsx:60
msgid "Potentially Misleading Link"
msgstr "Enlace potencialmente engañoso"
-#: src/view/com/lightbox/Lightbox.web.tsx:135
+#: src/components/forms/HostingProvider.tsx:46
+msgid "Press to change hosting provider"
+msgstr ""
+
+#: src/components/Error.tsx:74
+#: src/components/Lists.tsx:80
+#: src/screens/Signup/index.tsx:187
+msgid "Press to retry"
+msgstr ""
+
+#: src/view/com/lightbox/Lightbox.web.tsx:150
msgid "Previous image"
msgstr "Imagen previa"
@@ -3044,39 +3714,45 @@ msgstr "Lenguajes primarios"
msgid "Prioritize Your Follows"
msgstr "Priorizar los usuarios a los que sigue"
-#: src/view/screens/Settings/index.tsx:632
+#: src/view/screens/Settings/index.tsx:603
#: src/view/shell/desktop/RightNav.tsx:72
msgid "Privacy"
msgstr "Privacidad"
-#: src/Navigation.tsx:219
+#: src/Navigation.tsx:231
+#: src/screens/Signup/StepInfo/Policies.tsx:56
#: src/view/screens/PrivacyPolicy.tsx:29
-#: src/view/screens/Settings/index.tsx:891
-#: src/view/shell/Drawer.tsx:262
+#: src/view/screens/Settings/index.tsx:887
+#: src/view/shell/Drawer.tsx:271
msgid "Privacy Policy"
msgstr "Política de privacidad"
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:198
+#: src/screens/Login/ForgotPasswordForm.tsx:156
msgid "Processing..."
msgstr "Procesando..."
-#: src/view/shell/bottom-bar/BottomBar.tsx:247
-#: src/view/shell/desktop/LeftNav.tsx:415
+#: src/view/screens/DebugMod.tsx:888
+#: src/view/screens/Profile.tsx:361
+msgid "profile"
+msgstr ""
+
+#: src/view/shell/bottom-bar/BottomBar.tsx:261
+#: src/view/shell/desktop/LeftNav.tsx:419
#: src/view/shell/Drawer.tsx:70
-#: src/view/shell/Drawer.tsx:546
-#: src/view/shell/Drawer.tsx:547
+#: src/view/shell/Drawer.tsx:555
+#: src/view/shell/Drawer.tsx:556
msgid "Profile"
msgstr "Perfil"
-#: src/view/com/modals/EditProfile.tsx:128
+#: src/view/com/modals/EditProfile.tsx:129
msgid "Profile updated"
msgstr ""
-#: src/view/screens/Settings/index.tsx:949
+#: src/view/screens/Settings/index.tsx:945
msgid "Protect your account by verifying your email."
msgstr "Protege tu cuenta verificando tu correo electrónico."
-#: src/screens/Onboarding/StepFinished.tsx:101
+#: src/screens/Onboarding/StepFinished.tsx:105
msgid "Public"
msgstr ""
@@ -3088,15 +3764,15 @@ msgstr "Listas públicas y compartibles de usuarios para silenciar o bloquear en
msgid "Public, shareable lists which can drive feeds."
msgstr "Listas públicas y compartibles que pueden impulsar las noticias."
-#: src/view/com/composer/Composer.tsx:342
+#: src/view/com/composer/Composer.tsx:352
msgid "Publish post"
msgstr ""
-#: src/view/com/composer/Composer.tsx:342
+#: src/view/com/composer/Composer.tsx:352
msgid "Publish reply"
msgstr ""
-#: src/view/com/modals/Repost.tsx:65
+#: src/view/com/modals/Repost.tsx:66
msgctxt "action"
msgid "Quote post"
msgstr "Citar una publicación"
@@ -3105,7 +3781,7 @@ msgstr "Citar una publicación"
msgid "Quote post"
msgstr "Citar una publicación"
-#: src/view/com/modals/Repost.tsx:70
+#: src/view/com/modals/Repost.tsx:71
msgctxt "action"
msgid "Quote Post"
msgstr "Citar una publicación"
@@ -3114,48 +3790,66 @@ msgstr "Citar una publicación"
msgid "Random (aka \"Poster's Roulette\")"
msgstr ""
-#: src/view/com/modals/EditImage.tsx:236
+#: src/view/com/modals/EditImage.tsx:237
msgid "Ratios"
msgstr "Proporciones"
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:116
+#: src/view/screens/Search/Search.tsx:924
+msgid "Recent Searches"
+msgstr ""
+
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:117
msgid "Recommended Feeds"
msgstr "Canales de noticias recomendados"
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:180
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:181
msgid "Recommended Users"
msgstr "Usuarios recomendados"
-#: src/components/dialogs/MutedWords.tsx:298
-#: src/view/com/modals/ListAddRemoveUsers.tsx:264
+#: src/components/dialogs/MutedWords.tsx:286
+#: src/view/com/feeds/FeedSourceCard.tsx:283
+#: src/view/com/modals/ListAddRemoveUsers.tsx:268
#: src/view/com/modals/SelfLabel.tsx:83
#: src/view/com/modals/UserAddRemoveLists.tsx:219
-#: src/view/com/util/UserAvatar.tsx:285
-#: src/view/com/util/UserBanner.tsx:91
+#: src/view/com/posts/FeedErrorMessage.tsx:204
msgid "Remove"
msgstr "Eliminar"
#: src/view/com/feeds/FeedSourceCard.tsx:108
-msgid "Remove {0} from my feeds?"
-msgstr "¿Eliminar {0} de mis canales de noticias?"
+#~ msgid "Remove {0} from my feeds?"
+#~ msgstr "¿Eliminar {0} de mis canales de noticias?"
#: src/view/com/util/AccountDropdownBtn.tsx:22
msgid "Remove account"
msgstr "Eliminar la cuenta"
-#: src/view/com/posts/FeedErrorMessage.tsx:131
-#: src/view/com/posts/FeedErrorMessage.tsx:166
+#: src/view/com/util/UserAvatar.tsx:360
+msgid "Remove Avatar"
+msgstr ""
+
+#: src/view/com/util/UserBanner.tsx:148
+msgid "Remove Banner"
+msgstr ""
+
+#: src/view/com/posts/FeedErrorMessage.tsx:160
msgid "Remove feed"
msgstr "Eliminar el canal de noticias"
-#: src/view/com/feeds/FeedSourceCard.tsx:107
-#: src/view/com/feeds/FeedSourceCard.tsx:169
-#: src/view/com/feeds/FeedSourceCard.tsx:174
-#: src/view/com/feeds/FeedSourceCard.tsx:245
-#: src/view/screens/ProfileFeed.tsx:273
+#: src/view/com/posts/FeedErrorMessage.tsx:201
+msgid "Remove feed?"
+msgstr ""
+
+#: src/view/com/feeds/FeedSourceCard.tsx:173
+#: src/view/com/feeds/FeedSourceCard.tsx:233
+#: src/view/screens/ProfileFeed.tsx:346
+#: src/view/screens/ProfileFeed.tsx:352
msgid "Remove from my feeds"
msgstr "Eliminar de mis canales de noticias"
+#: src/view/com/feeds/FeedSourceCard.tsx:278
+msgid "Remove from my feeds?"
+msgstr ""
+
#: src/view/com/composer/photos/Gallery.tsx:167
msgid "Remove image"
msgstr "Eliminar la imagen"
@@ -3164,37 +3858,44 @@ msgstr "Eliminar la imagen"
msgid "Remove image preview"
msgstr "Eliminar la vista previa de la imagen"
-#: src/components/dialogs/MutedWords.tsx:343
+#: src/components/dialogs/MutedWords.tsx:329
msgid "Remove mute word from your list"
msgstr ""
-#: src/view/com/modals/Repost.tsx:47
+#: src/view/com/modals/Repost.tsx:48
msgid "Remove repost"
msgstr ""
#: src/view/com/feeds/FeedSourceCard.tsx:175
-msgid "Remove this feed from my feeds?"
-msgstr "¿Eliminar este canal de mis canales de noticias?"
+#~ msgid "Remove this feed from my feeds?"
+#~ msgstr "¿Eliminar este canal de mis canales de noticias?"
+
+#: src/view/com/posts/FeedErrorMessage.tsx:202
+msgid "Remove this feed from your saved feeds"
+msgstr ""
#: src/view/com/posts/FeedErrorMessage.tsx:132
-msgid "Remove this feed from your saved feeds?"
-msgstr "¿Eliminar este canal de mis canales de noticias guardados?"
+#~ msgid "Remove this feed from your saved feeds?"
+#~ msgstr "¿Eliminar este canal de mis canales de noticias guardados?"
#: src/view/com/modals/ListAddRemoveUsers.tsx:199
#: src/view/com/modals/UserAddRemoveLists.tsx:152
msgid "Removed from list"
msgstr "Eliminar de la lista"
-#: src/view/com/feeds/FeedSourceCard.tsx:113
-#: src/view/com/feeds/FeedSourceCard.tsx:180
+#: src/view/com/feeds/FeedSourceCard.tsx:121
msgid "Removed from my feeds"
msgstr ""
+#: src/view/screens/ProfileFeed.tsx:210
+msgid "Removed from your feeds"
+msgstr ""
+
#: src/view/com/composer/ExternalEmbed.tsx:71
msgid "Removes default thumbnail from {0}"
msgstr ""
-#: src/view/screens/Profile.tsx:181
+#: src/view/screens/Profile.tsx:196
msgid "Replies"
msgstr "Respuestas"
@@ -3202,7 +3903,7 @@ msgstr "Respuestas"
msgid "Replies to this thread are disabled"
msgstr "Las respuestas a este hilo están desactivadas"
-#: src/view/com/composer/Composer.tsx:355
+#: src/view/com/composer/Composer.tsx:365
msgctxt "action"
msgid "Reply"
msgstr ""
@@ -3211,37 +3912,62 @@ msgstr ""
msgid "Reply Filters"
msgstr "Filtros de respuestas"
-#: src/view/com/post/Post.tsx:167
-#: src/view/com/posts/FeedItem.tsx:287
+#: src/view/com/post/Post.tsx:177
+#: src/view/com/posts/FeedItem.tsx:285
msgctxt "description"
msgid "Reply to <0/>"
msgstr ""
#: src/view/com/modals/report/Modal.tsx:166
-msgid "Report {collectionName}"
-msgstr "Informe de {collectionName}"
+#~ msgid "Report {collectionName}"
+#~ msgstr "Informe de {collectionName}"
-#: src/view/com/profile/ProfileHeader.tsx:361
+#: src/view/com/profile/ProfileMenu.tsx:319
+#: src/view/com/profile/ProfileMenu.tsx:322
msgid "Report Account"
msgstr "Informe de la cuenta"
-#: src/view/screens/ProfileFeed.tsx:293
+#: src/components/ReportDialog/index.tsx:49
+msgid "Report dialog"
+msgstr ""
+
+#: src/view/screens/ProfileFeed.tsx:363
+#: src/view/screens/ProfileFeed.tsx:365
msgid "Report feed"
msgstr "Informe del canal de noticias"
-#: src/view/screens/ProfileList.tsx:459
+#: src/view/screens/ProfileList.tsx:431
msgid "Report List"
msgstr "Informe de la lista"
-#: src/view/com/modals/report/SendReportButton.tsx:37
-#: src/view/com/util/forms/PostDropdownBtn.tsx:301
-#: src/view/com/util/forms/PostDropdownBtn.tsx:309
+#: src/view/com/util/forms/PostDropdownBtn.tsx:312
+#: src/view/com/util/forms/PostDropdownBtn.tsx:314
msgid "Report post"
msgstr "Informe de la publicación"
-#: src/view/com/modals/Repost.tsx:43
-#: src/view/com/modals/Repost.tsx:48
-#: src/view/com/modals/Repost.tsx:53
+#: src/components/ReportDialog/SelectReportOptionView.tsx:42
+msgid "Report this content"
+msgstr ""
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:55
+msgid "Report this feed"
+msgstr ""
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:52
+msgid "Report this list"
+msgstr ""
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:49
+msgid "Report this post"
+msgstr ""
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:46
+msgid "Report this user"
+msgstr ""
+
+#: src/view/com/modals/Repost.tsx:44
+#: src/view/com/modals/Repost.tsx:49
+#: src/view/com/modals/Repost.tsx:54
#: src/view/com/util/post-ctrls/RepostButton.tsx:61
msgctxt "action"
msgid "Repost"
@@ -3260,19 +3986,23 @@ msgstr "Volver a publicar o citar publicación"
msgid "Reposted By"
msgstr "Vuelto a publicar por"
-#: src/view/com/posts/FeedItem.tsx:207
+#: src/view/com/posts/FeedItem.tsx:199
msgid "Reposted by {0}"
msgstr "Vuelto a publicar por {0}"
-#: src/view/com/posts/FeedItem.tsx:224
-msgid "Reposted by <0/>"
-msgstr "Vuelto a publicar por <0/>"
+#: src/view/com/posts/FeedItem.tsx:214
+#~ msgid "Reposted by <0/>"
+#~ msgstr "Vuelto a publicar por <0/>"
-#: src/view/com/notifications/FeedItem.tsx:162
+#: src/view/com/posts/FeedItem.tsx:216
+msgid "Reposted by <0><1/>0>"
+msgstr ""
+
+#: src/view/com/notifications/FeedItem.tsx:168
msgid "reposted your post"
msgstr ""
-#: src/view/com/post-thread/PostThreadItem.tsx:188
+#: src/view/com/post-thread/PostThreadItem.tsx:187
msgid "Reposts of this post"
msgstr ""
@@ -3285,57 +4015,58 @@ msgstr "Solicitar un cambio"
#~ msgid "Request code"
#~ msgstr ""
-#: src/view/com/modals/ChangePassword.tsx:239
#: src/view/com/modals/ChangePassword.tsx:241
+#: src/view/com/modals/ChangePassword.tsx:243
msgid "Request Code"
msgstr ""
-#: src/view/screens/Settings/index.tsx:456
+#: src/view/screens/Settings/index.tsx:426
msgid "Require alt text before posting"
msgstr ""
-#: src/view/com/auth/create/Step1.tsx:146
+#: src/screens/Signup/StepInfo/index.tsx:69
msgid "Required for this provider"
msgstr "Requerido para este proveedor"
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:124
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:136
+#: src/view/com/modals/ChangePassword.tsx:185
msgid "Reset code"
msgstr "Restablecer el código"
-#: src/view/com/modals/ChangePassword.tsx:190
+#: src/view/com/modals/ChangePassword.tsx:192
msgid "Reset Code"
msgstr ""
#: src/view/screens/Settings/index.tsx:824
-msgid "Reset onboarding"
-msgstr ""
+#~ msgid "Reset onboarding"
+#~ msgstr ""
-#: src/view/screens/Settings/index.tsx:827
+#: src/view/screens/Settings/index.tsx:822
+#: src/view/screens/Settings/index.tsx:825
msgid "Reset onboarding state"
msgstr "Restablecer el estado de incorporación"
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:104
+#: src/screens/Login/ForgotPasswordForm.tsx:86
msgid "Reset password"
msgstr "Restablecer la contraseña"
#: src/view/screens/Settings/index.tsx:814
-msgid "Reset preferences"
-msgstr ""
+#~ msgid "Reset preferences"
+#~ msgstr ""
-#: src/view/screens/Settings/index.tsx:817
+#: src/view/screens/Settings/index.tsx:812
+#: src/view/screens/Settings/index.tsx:815
msgid "Reset preferences state"
msgstr "Restablecer el estado de preferencias"
-#: src/view/screens/Settings/index.tsx:825
+#: src/view/screens/Settings/index.tsx:823
msgid "Resets the onboarding state"
msgstr "Restablece el estado de incorporación"
-#: src/view/screens/Settings/index.tsx:815
+#: src/view/screens/Settings/index.tsx:813
msgid "Resets the preferences state"
msgstr "Restablecer el estado de preferencias"
-#: src/view/com/auth/login/LoginForm.tsx:269
+#: src/screens/Login/LoginForm.tsx:235
msgid "Retries login"
msgstr ""
@@ -3344,12 +4075,13 @@ msgstr ""
msgid "Retries the last action, which errored out"
msgstr ""
-#: src/screens/Onboarding/StepInterests/index.tsx:221
-#: src/screens/Onboarding/StepInterests/index.tsx:224
-#: src/view/com/auth/create/CreateAccount.tsx:181
-#: src/view/com/auth/create/CreateAccount.tsx:186
-#: src/view/com/auth/login/LoginForm.tsx:268
-#: src/view/com/auth/login/LoginForm.tsx:271
+#: src/components/Error.tsx:79
+#: src/components/Lists.tsx:91
+#: src/screens/Login/LoginForm.tsx:234
+#: src/screens/Login/LoginForm.tsx:241
+#: src/screens/Onboarding/StepInterests/index.tsx:225
+#: src/screens/Onboarding/StepInterests/index.tsx:228
+#: src/screens/Signup/index.tsx:194
#: src/view/com/util/error/ErrorMessage.tsx:55
#: src/view/com/util/error/ErrorScreen.tsx:72
msgid "Retry"
@@ -3359,84 +4091,113 @@ msgstr "Volver a intentar"
#~ msgid "Retry."
#~ msgstr ""
-#: src/view/screens/ProfileList.tsx:903
+#: src/components/Error.tsx:86
+#: src/view/screens/ProfileList.tsx:919
msgid "Return to previous page"
msgstr ""
+#: src/view/screens/NotFound.tsx:59
+msgid "Returns to home page"
+msgstr ""
+
+#: src/view/screens/NotFound.tsx:58
+#: src/view/screens/ProfileFeed.tsx:113
+msgid "Returns to previous page"
+msgstr ""
+
#: src/view/shell/desktop/RightNav.tsx:55
#~ msgid "SANDBOX. Posts and accounts are not permanent."
#~ msgstr ""
+#: src/components/dialogs/BirthDateSettings.tsx:125
+#: src/view/com/modals/ChangeHandle.tsx:174
+#: src/view/com/modals/CreateOrEditList.tsx:338
+#: src/view/com/modals/EditProfile.tsx:225
+msgid "Save"
+msgstr "Guardar"
+
#: src/view/com/lightbox/Lightbox.tsx:132
-#: src/view/com/modals/CreateOrEditList.tsx:345
+#: src/view/com/modals/CreateOrEditList.tsx:346
msgctxt "action"
msgid "Save"
msgstr ""
-#: src/view/com/modals/BirthDateSettings.tsx:94
-#: src/view/com/modals/BirthDateSettings.tsx:97
-#: src/view/com/modals/ChangeHandle.tsx:173
-#: src/view/com/modals/CreateOrEditList.tsx:337
-#: src/view/com/modals/EditProfile.tsx:224
-#: src/view/screens/ProfileFeed.tsx:346
-msgid "Save"
-msgstr "Guardar"
-
-#: src/view/com/modals/AltImage.tsx:130
+#: src/view/com/modals/AltImage.tsx:131
msgid "Save alt text"
msgstr "Guardar el texto alt"
-#: src/view/com/modals/EditProfile.tsx:232
+#: src/components/dialogs/BirthDateSettings.tsx:119
+msgid "Save birthday"
+msgstr ""
+
+#: src/view/com/modals/EditProfile.tsx:233
msgid "Save Changes"
msgstr "Guardar cambios"
-#: src/view/com/modals/ChangeHandle.tsx:170
+#: src/view/com/modals/ChangeHandle.tsx:171
msgid "Save handle change"
msgstr "Guardar el cambio de identificador"
-#: src/view/com/modals/crop-image/CropImage.web.tsx:144
+#: src/view/com/modals/crop-image/CropImage.web.tsx:145
msgid "Save image crop"
msgstr "Guardar el recorte de imagen"
-#: src/view/screens/SavedFeeds.tsx:122
+#: src/view/screens/ProfileFeed.tsx:347
+#: src/view/screens/ProfileFeed.tsx:353
+msgid "Save to my feeds"
+msgstr ""
+
+#: src/view/screens/SavedFeeds.tsx:123
msgid "Saved Feeds"
msgstr "Guardar canales de noticias"
-#: src/view/com/modals/EditProfile.tsx:225
+#: src/view/com/lightbox/Lightbox.tsx:81
+msgid "Saved to your camera roll."
+msgstr ""
+
+#: src/view/screens/ProfileFeed.tsx:214
+msgid "Saved to your feeds"
+msgstr ""
+
+#: src/view/com/modals/EditProfile.tsx:226
msgid "Saves any changes to your profile"
msgstr ""
-#: src/view/com/modals/ChangeHandle.tsx:171
+#: src/view/com/modals/ChangeHandle.tsx:172
msgid "Saves handle change to {handle}"
msgstr ""
+#: src/view/com/modals/crop-image/CropImage.web.tsx:146
+msgid "Saves image crop settings"
+msgstr ""
+
#: src/screens/Onboarding/index.tsx:36
msgid "Science"
msgstr ""
-#: src/view/screens/ProfileList.tsx:859
+#: src/view/screens/ProfileList.tsx:875
msgid "Scroll to top"
msgstr ""
-#: src/Navigation.tsx:447
-#: src/view/com/auth/LoggedOut.tsx:122
+#: src/Navigation.tsx:451
+#: src/view/com/auth/LoggedOut.tsx:123
#: src/view/com/modals/ListAddRemoveUsers.tsx:75
#: src/view/com/util/forms/SearchInput.tsx:67
#: src/view/com/util/forms/SearchInput.tsx:79
-#: src/view/screens/Search/Search.tsx:419
-#: src/view/screens/Search/Search.tsx:668
-#: src/view/screens/Search/Search.tsx:686
-#: src/view/shell/bottom-bar/BottomBar.tsx:159
-#: src/view/shell/desktop/LeftNav.tsx:324
-#: src/view/shell/desktop/Search.tsx:214
-#: src/view/shell/desktop/Search.tsx:223
-#: src/view/shell/Drawer.tsx:362
-#: src/view/shell/Drawer.tsx:363
+#: src/view/screens/Search/Search.tsx:568
+#: src/view/screens/Search/Search.tsx:817
+#: src/view/screens/Search/Search.tsx:835
+#: src/view/shell/bottom-bar/BottomBar.tsx:170
+#: src/view/shell/desktop/LeftNav.tsx:328
+#: src/view/shell/desktop/Search.tsx:215
+#: src/view/shell/desktop/Search.tsx:224
+#: src/view/shell/Drawer.tsx:371
+#: src/view/shell/Drawer.tsx:372
msgid "Search"
msgstr "Buscar"
-#: src/view/screens/Search/Search.tsx:735
-#: src/view/shell/desktop/Search.tsx:255
+#: src/view/screens/Search/Search.tsx:884
+#: src/view/shell/desktop/Search.tsx:256
msgid "Search for \"{query}\""
msgstr ""
@@ -3456,8 +4217,8 @@ msgstr ""
#~ msgid "Search for all posts with tag {tag}"
#~ msgstr ""
-#: src/view/com/auth/LoggedOut.tsx:104
#: src/view/com/auth/LoggedOut.tsx:105
+#: src/view/com/auth/LoggedOut.tsx:106
#: src/view/com/modals/ListAddRemoveUsers.tsx:70
msgid "Search for users"
msgstr "Buscar usuarios"
@@ -3490,39 +4251,60 @@ msgstr ""
#~ msgid "See <0>{tag}0> posts by this user"
#~ msgstr ""
-#: src/view/screens/SavedFeeds.tsx:163
+#: src/view/com/notifications/FeedItem.tsx:419
+#: src/view/com/util/UserAvatar.tsx:381
+msgid "See profile"
+msgstr ""
+
+#: src/view/screens/SavedFeeds.tsx:164
msgid "See this guide"
msgstr ""
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:39
-msgid "See what's next"
-msgstr "Ver lo que sigue"
+#: src/view/com/auth/HomeLoggedOutCTA.tsx:40
+#~ msgid "See what's next"
+#~ msgstr "Ver lo que sigue"
#: src/view/com/util/Selector.tsx:106
msgid "Select {item}"
msgstr ""
+#: src/screens/Login/ChooseAccountForm.tsx:61
+msgid "Select account"
+msgstr ""
+
#: src/view/com/modals/ServerInput.tsx:75
#~ msgid "Select Bluesky Social"
#~ msgstr "Seleccionar Bluesky Social"
-#: src/view/com/auth/login/Login.tsx:117
+#: src/screens/Login/index.tsx:120
msgid "Select from an existing account"
msgstr "Selecciona de una cuenta existente"
+#: src/view/screens/LanguageSettings.tsx:299
+msgid "Select languages"
+msgstr ""
+
+#: src/components/ReportDialog/SelectLabelerView.tsx:30
+msgid "Select moderator"
+msgstr ""
+
#: src/view/com/util/Selector.tsx:107
msgid "Select option {i} of {numItems}"
msgstr ""
#: src/view/com/auth/create/Step1.tsx:96
-#: src/view/com/auth/login/LoginForm.tsx:150
-msgid "Select service"
-msgstr "Selecciona el servicio"
+#: src/view/com/auth/login/LoginForm.tsx:153
+#~ msgid "Select service"
+#~ msgstr "Selecciona el servicio"
#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:52
msgid "Select some accounts below to follow"
msgstr ""
+#: src/components/ReportDialog/SubmitView.tsx:133
+msgid "Select the moderation service(s) to report to"
+msgstr ""
+
#: src/view/com/auth/server-input/index.tsx:82
msgid "Select the service that hosts your data."
msgstr ""
@@ -3531,11 +4313,11 @@ msgstr ""
#~ msgid "Select the types of content that you want to see (or not see), and we'll handle the rest."
#~ msgstr ""
-#: src/screens/Onboarding/StepTopicalFeeds.tsx:96
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:100
msgid "Select topical feeds to follow from the list below"
msgstr ""
-#: src/screens/Onboarding/StepModeration/index.tsx:75
+#: src/screens/Onboarding/StepModeration/index.tsx:63
msgid "Select what you want to see (or not see), and we’ll handle the rest."
msgstr ""
@@ -3544,10 +4326,18 @@ msgid "Select which languages you want your subscribed feeds to include. If none
msgstr "Selecciona qué idiomas quieres que incluyan tus canales de noticias suscritos. Si no seleccionas ninguno, se mostrarán todos los idiomas."
#: src/view/screens/LanguageSettings.tsx:98
-msgid "Select your app language for the default text to display in the app"
-msgstr "Selecciona el idioma de tu app para el texto que se mostrará por defecto en la app"
+#~ msgid "Select your app language for the default text to display in the app"
+#~ msgstr "Selecciona el idioma de tu app para el texto que se mostrará por defecto en la app"
-#: src/screens/Onboarding/StepInterests/index.tsx:196
+#: src/view/screens/LanguageSettings.tsx:98
+msgid "Select your app language for the default text to display in the app."
+msgstr ""
+
+#: src/screens/Signup/StepInfo/index.tsx:135
+msgid "Select your date of birth"
+msgstr ""
+
+#: src/screens/Onboarding/StepInterests/index.tsx:200
msgid "Select your interests from the options below"
msgstr ""
@@ -3559,11 +4349,11 @@ msgstr ""
msgid "Select your preferred language for translations in your feed."
msgstr "Selecciona el idioma que prefieras para las traducciones de tus noticias."
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:116
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:117
msgid "Select your primary algorithmic feeds"
msgstr ""
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:142
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:133
msgid "Select your secondary algorithmic feeds"
msgstr ""
@@ -3572,69 +4362,82 @@ msgstr ""
msgid "Send Confirmation Email"
msgstr "Enviar el mensaje de confirmación"
-#: src/view/com/modals/DeleteAccount.tsx:131
+#: src/view/com/modals/DeleteAccount.tsx:130
msgid "Send email"
msgstr "Enviar el mensaje"
-#: src/view/com/modals/DeleteAccount.tsx:144
+#: src/view/com/modals/DeleteAccount.tsx:143
msgctxt "action"
msgid "Send Email"
msgstr "Enviar el mensaje"
-#: src/view/shell/Drawer.tsx:295
-#: src/view/shell/Drawer.tsx:316
+#: src/view/shell/Drawer.tsx:304
+#: src/view/shell/Drawer.tsx:325
msgid "Send feedback"
msgstr "Enviar comentarios"
-#: src/view/com/modals/report/SendReportButton.tsx:45
-msgid "Send Report"
-msgstr "Enviar el informe"
+#: src/components/ReportDialog/SubmitView.tsx:213
+#: src/components/ReportDialog/SubmitView.tsx:217
+msgid "Send report"
+msgstr ""
-#: src/view/com/modals/DeleteAccount.tsx:133
+#: src/view/com/modals/report/SendReportButton.tsx:45
+#~ msgid "Send Report"
+#~ msgstr "Enviar el informe"
+
+#: src/components/ReportDialog/SelectLabelerView.tsx:44
+msgid "Send report to {0}"
+msgstr ""
+
+#: src/view/com/modals/DeleteAccount.tsx:132
msgid "Sends email with confirmation code for account deletion"
msgstr ""
-#: src/view/com/auth/server-input/index.tsx:110
+#: src/view/com/auth/server-input/index.tsx:114
msgid "Server address"
msgstr ""
#: src/view/com/modals/ContentFilteringSettings.tsx:311
-msgid "Set {value} for {labelGroup} content moderation policy"
-msgstr ""
+#~ msgid "Set {value} for {labelGroup} content moderation policy"
+#~ msgstr ""
#: src/view/com/modals/ContentFilteringSettings.tsx:160
#: src/view/com/modals/ContentFilteringSettings.tsx:179
-msgctxt "action"
-msgid "Set Age"
+#~ msgctxt "action"
+#~ msgid "Set Age"
+#~ msgstr ""
+
+#: src/screens/Moderation/index.tsx:304
+msgid "Set birthdate"
msgstr ""
#: src/view/screens/Settings/index.tsx:488
-msgid "Set color theme to dark"
-msgstr ""
+#~ msgid "Set color theme to dark"
+#~ msgstr ""
#: src/view/screens/Settings/index.tsx:481
-msgid "Set color theme to light"
-msgstr ""
+#~ msgid "Set color theme to light"
+#~ msgstr ""
#: src/view/screens/Settings/index.tsx:475
-msgid "Set color theme to system setting"
-msgstr ""
+#~ msgid "Set color theme to system setting"
+#~ msgstr ""
#: src/view/screens/Settings/index.tsx:514
-msgid "Set dark theme to the dark theme"
-msgstr ""
+#~ msgid "Set dark theme to the dark theme"
+#~ msgstr ""
#: src/view/screens/Settings/index.tsx:507
-msgid "Set dark theme to the dim theme"
-msgstr ""
+#~ msgid "Set dark theme to the dim theme"
+#~ msgstr ""
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:104
+#: src/screens/Login/SetNewPasswordForm.tsx:102
msgid "Set new password"
msgstr "Establecer la contraseña nueva"
#: src/view/com/auth/create/Step1.tsx:202
-msgid "Set password"
-msgstr ""
+#~ msgid "Set password"
+#~ msgstr ""
#: src/view/screens/PreferencesFollowingFeed.tsx:225
msgid "Set this setting to \"No\" to hide all quote posts from your feed. Reposts will still be visible."
@@ -3660,32 +4463,64 @@ msgstr "Establece este ajuste en \"Sí\" para mostrar las respuestas en una vist
msgid "Set this setting to \"Yes\" to show samples of your saved feeds in your Following feed. This is an experimental feature."
msgstr ""
-#: src/screens/Onboarding/Layout.tsx:50
+#: src/screens/Onboarding/Layout.tsx:48
msgid "Set up your account"
msgstr ""
-#: src/view/com/modals/ChangeHandle.tsx:266
+#: src/view/com/modals/ChangeHandle.tsx:267
msgid "Sets Bluesky username"
msgstr ""
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:157
+#: src/view/screens/Settings/index.tsx:458
+msgid "Sets color theme to dark"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:451
+msgid "Sets color theme to light"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:445
+msgid "Sets color theme to system setting"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:484
+msgid "Sets dark theme to the dark theme"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:477
+msgid "Sets dark theme to the dim theme"
+msgstr ""
+
+#: src/screens/Login/ForgotPasswordForm.tsx:113
msgid "Sets email for password reset"
msgstr ""
#: src/view/com/auth/login/ForgotPasswordForm.tsx:122
-msgid "Sets hosting provider for password reset"
+#~ msgid "Sets hosting provider for password reset"
+#~ msgstr ""
+
+#: src/view/com/modals/crop-image/CropImage.web.tsx:124
+msgid "Sets image aspect ratio to square"
+msgstr ""
+
+#: src/view/com/modals/crop-image/CropImage.web.tsx:114
+msgid "Sets image aspect ratio to tall"
+msgstr ""
+
+#: src/view/com/modals/crop-image/CropImage.web.tsx:104
+msgid "Sets image aspect ratio to wide"
msgstr ""
#: src/view/com/auth/create/Step1.tsx:97
-#: src/view/com/auth/login/LoginForm.tsx:151
-msgid "Sets server for the Bluesky client"
-msgstr ""
+#: src/view/com/auth/login/LoginForm.tsx:154
+#~ msgid "Sets server for the Bluesky client"
+#~ msgstr ""
-#: src/Navigation.tsx:137
-#: src/view/screens/Settings/index.tsx:294
-#: src/view/shell/desktop/LeftNav.tsx:433
-#: src/view/shell/Drawer.tsx:567
-#: src/view/shell/Drawer.tsx:568
+#: src/Navigation.tsx:139
+#: src/view/screens/Settings/index.tsx:316
+#: src/view/shell/desktop/LeftNav.tsx:437
+#: src/view/shell/Drawer.tsx:576
+#: src/view/shell/Drawer.tsx:577
msgid "Settings"
msgstr "Configuraciones"
@@ -3693,28 +4528,49 @@ msgstr "Configuraciones"
msgid "Sexual activity or erotic nudity."
msgstr "Actividad sexual o desnudez erótica."
+#: src/lib/moderation/useGlobalLabelStrings.ts:38
+msgid "Sexually Suggestive"
+msgstr ""
+
#: src/view/com/lightbox/Lightbox.tsx:141
msgctxt "action"
msgid "Share"
msgstr ""
-#: src/view/com/profile/ProfileHeader.tsx:295
-#: src/view/com/util/forms/PostDropdownBtn.tsx:231
-#: src/view/com/util/forms/PostDropdownBtn.tsx:237
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:215
-#: src/view/screens/ProfileList.tsx:418
+#: src/view/com/profile/ProfileMenu.tsx:215
+#: src/view/com/profile/ProfileMenu.tsx:224
+#: src/view/com/util/forms/PostDropdownBtn.tsx:236
+#: src/view/com/util/forms/PostDropdownBtn.tsx:245
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:237
+#: src/view/screens/ProfileList.tsx:390
msgid "Share"
msgstr "Compartir"
-#: src/view/screens/ProfileFeed.tsx:305
+#: src/view/com/profile/ProfileMenu.tsx:373
+#: src/view/com/util/forms/PostDropdownBtn.tsx:369
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:253
+msgid "Share anyway"
+msgstr ""
+
+#: src/view/screens/ProfileFeed.tsx:373
+#: src/view/screens/ProfileFeed.tsx:375
msgid "Share feed"
msgstr "Compartir las noticias"
-#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:43
-#: src/view/com/modals/ContentFilteringSettings.tsx:266
-#: src/view/com/util/moderation/ContentHider.tsx:107
-#: src/view/com/util/moderation/PostHider.tsx:108
-#: src/view/screens/Settings/index.tsx:344
+#: src/view/com/modals/LinkWarning.tsx:89
+#: src/view/com/modals/LinkWarning.tsx:95
+msgid "Share Link"
+msgstr ""
+
+#: src/view/com/modals/LinkWarning.tsx:92
+msgid "Shares the linked website"
+msgstr ""
+
+#: src/components/moderation/ContentHider.tsx:115
+#: src/components/moderation/LabelPreference.tsx:136
+#: src/components/moderation/PostHider.tsx:107
+#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:54
+#: src/view/screens/Settings/index.tsx:366
msgid "Show"
msgstr "Mostrar"
@@ -3722,21 +4578,31 @@ msgstr "Mostrar"
msgid "Show all replies"
msgstr ""
-#: src/view/com/util/moderation/ScreenHider.tsx:132
+#: src/components/moderation/ScreenHider.tsx:169
+#: src/components/moderation/ScreenHider.tsx:172
msgid "Show anyway"
msgstr "Mostrar de todas maneras"
-#: src/view/com/modals/EmbedConsent.tsx:87
-msgid "Show embeds from {0}"
+#: src/lib/moderation/useLabelBehaviorDescription.ts:27
+#: src/lib/moderation/useLabelBehaviorDescription.ts:63
+msgid "Show badge"
msgstr ""
-#: src/view/com/profile/ProfileHeader.tsx:459
+#: src/lib/moderation/useLabelBehaviorDescription.ts:61
+msgid "Show badge and filter from feeds"
+msgstr ""
+
+#: src/view/com/modals/EmbedConsent.tsx:87
+#~ msgid "Show embeds from {0}"
+#~ msgstr ""
+
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:200
msgid "Show follows similar to {0}"
msgstr ""
-#: src/view/com/post-thread/PostThreadItem.tsx:538
-#: src/view/com/post/Post.tsx:198
-#: src/view/com/posts/FeedItem.tsx:363
+#: src/view/com/post-thread/PostThreadItem.tsx:501
+#: src/view/com/post/Post.tsx:212
+#: src/view/com/posts/FeedItem.tsx:360
msgid "Show More"
msgstr ""
@@ -3748,15 +4614,15 @@ msgstr "Mostrar publicaciones de mis noticias"
msgid "Show Quote Posts"
msgstr "Mostrar publicaciones de citas"
-#: src/screens/Onboarding/StepFollowingFeed.tsx:118
+#: src/screens/Onboarding/StepFollowingFeed.tsx:119
msgid "Show quote-posts in Following feed"
msgstr ""
-#: src/screens/Onboarding/StepFollowingFeed.tsx:134
+#: src/screens/Onboarding/StepFollowingFeed.tsx:135
msgid "Show quotes in Following"
msgstr ""
-#: src/screens/Onboarding/StepFollowingFeed.tsx:94
+#: src/screens/Onboarding/StepFollowingFeed.tsx:95
msgid "Show re-posts in Following feed"
msgstr ""
@@ -3768,11 +4634,11 @@ msgstr "Mostrar respuestas"
msgid "Show replies by people you follow before all other replies."
msgstr "Mostrar las respuestas de las personas a quienes sigues antes que el resto de respuestas."
-#: src/screens/Onboarding/StepFollowingFeed.tsx:86
+#: src/screens/Onboarding/StepFollowingFeed.tsx:87
msgid "Show replies in Following"
msgstr ""
-#: src/screens/Onboarding/StepFollowingFeed.tsx:70
+#: src/screens/Onboarding/StepFollowingFeed.tsx:71
msgid "Show replies in Following feed"
msgstr ""
@@ -3784,107 +4650,127 @@ msgstr ""
msgid "Show Reposts"
msgstr "Mostrar publicaciones que se han publicado nuevamente"
-#: src/screens/Onboarding/StepFollowingFeed.tsx:110
+#: src/screens/Onboarding/StepFollowingFeed.tsx:111
msgid "Show reposts in Following"
msgstr ""
-#: src/view/com/util/moderation/ContentHider.tsx:67
-#: src/view/com/util/moderation/PostHider.tsx:61
+#: src/components/moderation/ContentHider.tsx:68
+#: src/components/moderation/PostHider.tsx:64
msgid "Show the content"
msgstr ""
-#: src/view/com/notifications/FeedItem.tsx:347
+#: src/view/com/notifications/FeedItem.tsx:353
msgid "Show users"
msgstr "Mostrar usuarios"
-#: src/view/com/profile/ProfileHeader.tsx:462
-msgid "Shows a list of users similar to this user."
+#: src/lib/moderation/useLabelBehaviorDescription.ts:58
+msgid "Show warning"
msgstr ""
-#: src/view/com/post-thread/PostThreadFollowBtn.tsx:124
-#: src/view/com/profile/ProfileHeader.tsx:506
+#: src/lib/moderation/useLabelBehaviorDescription.ts:56
+msgid "Show warning and filter from feeds"
+msgstr ""
+
+#: src/view/com/profile/ProfileHeader.tsx:462
+#~ msgid "Shows a list of users similar to this user."
+#~ msgstr ""
+
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:130
msgid "Shows posts from {0} in your feed"
msgstr ""
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:70
-#: src/view/com/auth/login/Login.tsx:98
-#: src/view/com/auth/SplashScreen.tsx:79
-#: src/view/shell/bottom-bar/BottomBar.tsx:285
-#: src/view/shell/bottom-bar/BottomBar.tsx:286
-#: src/view/shell/bottom-bar/BottomBar.tsx:288
+#: src/components/dialogs/Signin.tsx:97
+#: src/components/dialogs/Signin.tsx:99
+#: src/screens/Login/index.tsx:100
+#: src/screens/Login/index.tsx:119
+#: src/screens/Login/LoginForm.tsx:131
+#: src/view/com/auth/SplashScreen.tsx:63
+#: src/view/com/auth/SplashScreen.tsx:72
+#: src/view/com/auth/SplashScreen.web.tsx:107
+#: src/view/com/auth/SplashScreen.web.tsx:116
+#: src/view/shell/bottom-bar/BottomBar.tsx:301
+#: src/view/shell/bottom-bar/BottomBar.tsx:302
+#: src/view/shell/bottom-bar/BottomBar.tsx:304
#: src/view/shell/bottom-bar/BottomBarWeb.tsx:178
#: src/view/shell/bottom-bar/BottomBarWeb.tsx:179
#: src/view/shell/bottom-bar/BottomBarWeb.tsx:181
-#: src/view/shell/NavSignupCard.tsx:58
-#: src/view/shell/NavSignupCard.tsx:59
+#: src/view/shell/NavSignupCard.tsx:63
+#: src/view/shell/NavSignupCard.tsx:64
+#: src/view/shell/NavSignupCard.tsx:66
msgid "Sign in"
msgstr "Iniciar sesión"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:78
-#: src/view/com/auth/SplashScreen.tsx:82
+#: src/view/com/auth/HomeLoggedOutCTA.tsx:82
+#: src/view/com/auth/SplashScreen.tsx:86
#: src/view/com/auth/SplashScreen.web.tsx:91
-msgid "Sign In"
-msgstr "Iniciar sesión"
+#~ msgid "Sign In"
+#~ msgstr "Iniciar sesión"
-#: src/view/com/auth/login/ChooseAccountForm.tsx:44
+#: src/components/AccountList.tsx:109
msgid "Sign in as {0}"
msgstr "Iniciar sesión como {0}"
-#: src/view/com/auth/login/ChooseAccountForm.tsx:118
-#: src/view/com/auth/login/Login.tsx:116
+#: src/screens/Login/ChooseAccountForm.tsx:64
msgid "Sign in as..."
msgstr "Iniciar sesión como ..."
-#: src/view/com/auth/login/LoginForm.tsx:137
-msgid "Sign into"
-msgstr "Iniciar sesión en"
+#: src/components/dialogs/Signin.tsx:75
+msgid "Sign in or create your account to join the conversation!"
+msgstr ""
-#: src/view/com/modals/SwitchAccount.tsx:64
-#: src/view/com/modals/SwitchAccount.tsx:69
-#: src/view/screens/Settings/index.tsx:100
-#: src/view/screens/Settings/index.tsx:103
+#: src/view/com/auth/login/LoginForm.tsx:140
+#~ msgid "Sign into"
+#~ msgstr "Iniciar sesión en"
+
+#: src/components/dialogs/Signin.tsx:46
+msgid "Sign into Bluesky or create a new account"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:118
+#: src/view/screens/Settings/index.tsx:121
msgid "Sign out"
msgstr "Cerrar sesión"
-#: src/view/shell/bottom-bar/BottomBar.tsx:275
-#: src/view/shell/bottom-bar/BottomBar.tsx:276
-#: src/view/shell/bottom-bar/BottomBar.tsx:278
+#: src/view/shell/bottom-bar/BottomBar.tsx:291
+#: src/view/shell/bottom-bar/BottomBar.tsx:292
+#: src/view/shell/bottom-bar/BottomBar.tsx:294
#: src/view/shell/bottom-bar/BottomBarWeb.tsx:168
#: src/view/shell/bottom-bar/BottomBarWeb.tsx:169
#: src/view/shell/bottom-bar/BottomBarWeb.tsx:171
-#: src/view/shell/NavSignupCard.tsx:49
-#: src/view/shell/NavSignupCard.tsx:50
-#: src/view/shell/NavSignupCard.tsx:52
+#: src/view/shell/NavSignupCard.tsx:54
+#: src/view/shell/NavSignupCard.tsx:55
+#: src/view/shell/NavSignupCard.tsx:57
msgid "Sign up"
msgstr "Inscribirse"
-#: src/view/shell/NavSignupCard.tsx:42
+#: src/view/shell/NavSignupCard.tsx:47
msgid "Sign up or sign in to join the conversation"
msgstr "Regístrate o inicia sesión para unirte a la conversación"
-#: src/view/com/util/moderation/ScreenHider.tsx:76
+#: src/components/moderation/ScreenHider.tsx:97
+#: src/lib/moderation/useGlobalLabelStrings.ts:28
msgid "Sign-in Required"
msgstr "Se requiere iniciar sesión"
-#: src/view/screens/Settings/index.tsx:355
+#: src/view/screens/Settings/index.tsx:377
msgid "Signed in as"
msgstr "Se inició sesión como"
-#: src/view/com/auth/login/ChooseAccountForm.tsx:103
+#: src/screens/Login/ChooseAccountForm.tsx:48
msgid "Signed in as @{0}"
msgstr ""
-#: src/view/com/modals/SwitchAccount.tsx:66
-msgid "Signs {0} out of Bluesky"
-msgstr ""
+#: src/view/com/modals/SwitchAccount.tsx:70
+#~ msgid "Signs {0} out of Bluesky"
+#~ msgstr ""
-#: src/screens/Onboarding/StepInterests/index.tsx:235
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:195
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:33
+#: src/screens/Onboarding/StepInterests/index.tsx:239
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:203
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:35
msgid "Skip"
msgstr "Saltarse este paso"
-#: src/screens/Onboarding/StepInterests/index.tsx:232
+#: src/screens/Onboarding/StepInterests/index.tsx:236
msgid "Skip this flow"
msgstr ""
@@ -3900,15 +4786,21 @@ msgstr ""
#~ msgid "Something went wrong and we're not sure what."
#~ msgstr ""
-#: src/components/Lists.tsx:203
-msgid "Something went wrong!"
+#: src/components/ReportDialog/index.tsx:59
+#: src/screens/Moderation/index.tsx:114
+#: src/screens/Profile/Sections/Labels.tsx:87
+msgid "Something went wrong, please try again."
msgstr ""
+#: src/components/Lists.tsx:203
+#~ msgid "Something went wrong!"
+#~ msgstr ""
+
#: src/view/com/modals/Waitlist.tsx:51
#~ msgid "Something went wrong. Check your email and try again."
#~ msgstr ""
-#: src/App.native.tsx:66
+#: src/App.native.tsx:64
msgid "Sorry! Your session expired. Please log in again."
msgstr ""
@@ -3920,11 +4812,23 @@ msgstr "Clasificar respuestas"
msgid "Sort replies to the same post by:"
msgstr "Ordenar las respuestas a un mismo mensaje por:"
+#: src/components/moderation/LabelsOnMeDialog.tsx:146
+msgid "Source:"
+msgstr ""
+
+#: src/lib/moderation/useReportOptions.ts:65
+msgid "Spam"
+msgstr ""
+
+#: src/lib/moderation/useReportOptions.ts:53
+msgid "Spam; excessive mentions or replies"
+msgstr ""
+
#: src/screens/Onboarding/index.tsx:30
msgid "Sports"
msgstr ""
-#: src/view/com/modals/crop-image/CropImage.web.tsx:122
+#: src/view/com/modals/crop-image/CropImage.web.tsx:123
msgid "Square"
msgstr "Cuadrado"
@@ -3932,45 +4836,62 @@ msgstr "Cuadrado"
#~ msgid "Staging"
#~ msgstr "Puesta en escena"
-#: src/view/screens/Settings/index.tsx:871
+#: src/view/screens/Settings/index.tsx:867
msgid "Status page"
msgstr "Página de estado"
-#: src/view/com/auth/create/StepHeader.tsx:22
-msgid "Step {0} of {numSteps}"
+#: src/screens/Signup/index.tsx:143
+msgid "Step"
msgstr ""
-#: src/view/screens/Settings/index.tsx:274
+#: src/view/com/auth/create/StepHeader.tsx:22
+#~ msgid "Step {0} of {numSteps}"
+#~ msgstr ""
+
+#: src/view/screens/Settings/index.tsx:295
msgid "Storage cleared, you need to restart the app now."
msgstr ""
-#: src/Navigation.tsx:204
-#: src/view/screens/Settings/index.tsx:807
+#: src/Navigation.tsx:211
+#: src/view/screens/Settings/index.tsx:795
msgid "Storybook"
msgstr "Libro de cuentos"
-#: src/view/com/modals/AppealLabel.tsx:101
+#: src/components/moderation/LabelsOnMeDialog.tsx:255
+#: src/components/moderation/LabelsOnMeDialog.tsx:256
msgid "Submit"
msgstr "Enviar"
-#: src/view/screens/ProfileList.tsx:608
+#: src/view/screens/ProfileList.tsx:592
msgid "Subscribe"
msgstr "Suscribirse"
-#: src/screens/Onboarding/StepAlgoFeeds/FeedCard.tsx:173
-#: src/screens/Onboarding/StepAlgoFeeds/FeedCard.tsx:308
+#: src/screens/Profile/Sections/Labels.tsx:191
+msgid "Subscribe to @{0} to use these labels:"
+msgstr ""
+
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:227
+msgid "Subscribe to Labeler"
+msgstr ""
+
+#: src/screens/Onboarding/StepAlgoFeeds/FeedCard.tsx:172
+#: src/screens/Onboarding/StepAlgoFeeds/FeedCard.tsx:307
msgid "Subscribe to the {0} feed"
msgstr ""
-#: src/view/screens/ProfileList.tsx:604
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:191
+msgid "Subscribe to this labeler"
+msgstr ""
+
+#: src/view/screens/ProfileList.tsx:588
msgid "Subscribe to this list"
msgstr "Suscribirse a esta lista"
-#: src/view/screens/Search/Search.tsx:374
+#: src/view/screens/Search/Search.tsx:523
msgid "Suggested Follows"
msgstr "Usuarios sugeridos a seguir"
-#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:64
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:65
msgid "Suggested for you"
msgstr ""
@@ -3978,7 +4899,7 @@ msgstr ""
msgid "Suggestive"
msgstr ""
-#: src/Navigation.tsx:214
+#: src/Navigation.tsx:226
#: src/view/screens/Support.tsx:30
#: src/view/screens/Support.tsx:33
msgid "Support"
@@ -3988,29 +4909,28 @@ msgstr "Soporte"
#~ msgid "Swipe up to see more"
#~ msgstr ""
-#: src/view/com/modals/SwitchAccount.tsx:117
+#: src/components/dialogs/SwitchAccount.tsx:46
+#: src/components/dialogs/SwitchAccount.tsx:49
msgid "Switch Account"
msgstr "Cambiar a otra cuenta"
-#: src/view/com/modals/SwitchAccount.tsx:97
-#: src/view/screens/Settings/index.tsx:130
+#: src/view/screens/Settings/index.tsx:150
msgid "Switch to {0}"
msgstr ""
-#: src/view/com/modals/SwitchAccount.tsx:98
-#: src/view/screens/Settings/index.tsx:131
+#: src/view/screens/Settings/index.tsx:151
msgid "Switches the account you are logged in to"
msgstr ""
-#: src/view/screens/Settings/index.tsx:472
+#: src/view/screens/Settings/index.tsx:442
msgid "System"
msgstr ""
-#: src/view/screens/Settings/index.tsx:795
+#: src/view/screens/Settings/index.tsx:783
msgid "System log"
msgstr "Bitácora del sistema"
-#: src/components/dialogs/MutedWords.tsx:337
+#: src/components/dialogs/MutedWords.tsx:323
msgid "tag"
msgstr ""
@@ -4022,7 +4942,7 @@ msgstr ""
#~ msgid "Tag menu: {tag}"
#~ msgstr ""
-#: src/view/com/modals/crop-image/CropImage.web.tsx:112
+#: src/view/com/modals/crop-image/CropImage.web.tsx:113
msgid "Tall"
msgstr "Alto"
@@ -4038,30 +4958,49 @@ msgstr ""
msgid "Terms"
msgstr "Condiciones"
-#: src/Navigation.tsx:224
-#: src/view/screens/Settings/index.tsx:885
+#: src/Navigation.tsx:236
+#: src/screens/Signup/StepInfo/Policies.tsx:49
+#: src/view/screens/Settings/index.tsx:881
#: src/view/screens/TermsOfService.tsx:29
-#: src/view/shell/Drawer.tsx:256
+#: src/view/shell/Drawer.tsx:265
msgid "Terms of Service"
msgstr "Condiciones de servicio"
-#: src/components/dialogs/MutedWords.tsx:337
+#: src/lib/moderation/useReportOptions.ts:58
+#: src/lib/moderation/useReportOptions.ts:79
+#: src/lib/moderation/useReportOptions.ts:87
+msgid "Terms used violate community standards"
+msgstr ""
+
+#: src/components/dialogs/MutedWords.tsx:323
msgid "text"
msgstr ""
-#: src/view/com/modals/AppealLabel.tsx:70
-#: src/view/com/modals/report/InputIssueDetails.tsx:51
+#: src/components/moderation/LabelsOnMeDialog.tsx:219
msgid "Text input field"
msgstr "Campo de introducción de texto"
-#: src/view/com/auth/create/CreateAccount.tsx:94
+#: src/components/ReportDialog/SubmitView.tsx:76
+msgid "Thank you. Your report has been sent."
+msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:465
+msgid "That contains the following:"
+msgstr ""
+
+#: src/screens/Signup/index.tsx:85
msgid "That handle is already taken."
msgstr ""
-#: src/view/com/profile/ProfileHeader.tsx:263
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:282
+#: src/view/com/profile/ProfileMenu.tsx:349
msgid "The account will be able to interact with you after unblocking."
msgstr "La cuenta podrá interactuar contigo tras el desbloqueo."
+#: src/components/moderation/ModerationDetailsDialog.tsx:127
+msgid "the author"
+msgstr ""
+
#: src/view/screens/CommunityGuidelines.tsx:36
msgid "The Community Guidelines have been moved to <0/>"
msgstr "Las Directrices Comunitarias se ha trasladado a <0/>"
@@ -4070,11 +5009,20 @@ msgstr "Las Directrices Comunitarias se ha trasladado a <0/>"
msgid "The Copyright Policy has been moved to <0/>"
msgstr "La Política de derechos de autor se han trasladado a <0/>"
-#: src/screens/Onboarding/Layout.tsx:60
+#: src/components/moderation/LabelsOnMeDialog.tsx:48
+msgid "The following labels were applied to your account."
+msgstr ""
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:49
+msgid "The following labels were applied to your content."
+msgstr ""
+
+#: src/screens/Onboarding/Layout.tsx:58
msgid "The following steps will help customize your Bluesky experience."
msgstr ""
-#: src/view/com/post-thread/PostThread.tsx:517
+#: src/view/com/post-thread/PostThread.tsx:153
+#: src/view/com/post-thread/PostThread.tsx:165
msgid "The post may have been deleted."
msgstr "Es posible que se haya borrado la publicación."
@@ -4090,35 +5038,35 @@ msgstr "Se ha movido el formulario de soporte. Si necesitas ayuda, por favor <0/
msgid "The Terms of Service have been moved to"
msgstr "Las condiciones de servicio se han trasladado a"
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:150
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:141
msgid "There are many feeds to try:"
msgstr ""
-#: src/view/screens/ProfileFeed.tsx:550
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:114
+#: src/view/screens/ProfileFeed.tsx:556
msgid "There was an an issue contacting the server, please check your internet connection and try again."
msgstr ""
-#: src/view/com/posts/FeedErrorMessage.tsx:139
+#: src/view/com/posts/FeedErrorMessage.tsx:138
msgid "There was an an issue removing this feed. Please check your internet connection and try again."
msgstr ""
-#: src/view/screens/ProfileFeed.tsx:210
+#: src/view/screens/ProfileFeed.tsx:219
msgid "There was an an issue updating your feeds, please check your internet connection and try again."
msgstr ""
-#: src/view/screens/ProfileFeed.tsx:237
-#: src/view/screens/ProfileList.tsx:267
-#: src/view/screens/SavedFeeds.tsx:209
-#: src/view/screens/SavedFeeds.tsx:231
-#: src/view/screens/SavedFeeds.tsx:252
+#: src/view/screens/ProfileFeed.tsx:247
+#: src/view/screens/ProfileList.tsx:277
+#: src/view/screens/SavedFeeds.tsx:211
+#: src/view/screens/SavedFeeds.tsx:241
+#: src/view/screens/SavedFeeds.tsx:262
msgid "There was an issue contacting the server"
msgstr ""
#: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:57
#: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:66
-#: src/view/com/feeds/FeedSourceCard.tsx:115
-#: src/view/com/feeds/FeedSourceCard.tsx:129
-#: src/view/com/feeds/FeedSourceCard.tsx:183
+#: src/view/com/feeds/FeedSourceCard.tsx:110
+#: src/view/com/feeds/FeedSourceCard.tsx:123
msgid "There was an issue contacting your server"
msgstr ""
@@ -4126,7 +5074,7 @@ msgstr ""
msgid "There was an issue fetching notifications. Tap here to try again."
msgstr ""
-#: src/view/com/posts/Feed.tsx:265
+#: src/view/com/posts/Feed.tsx:287
msgid "There was an issue fetching posts. Tap here to try again."
msgstr ""
@@ -4134,39 +5082,45 @@ msgstr ""
msgid "There was an issue fetching the list. Tap here to try again."
msgstr ""
-#: src/view/com/feeds/ProfileFeedgens.tsx:148
-#: src/view/com/lists/ProfileLists.tsx:155
+#: src/view/com/feeds/ProfileFeedgens.tsx:156
+#: src/view/com/lists/ProfileLists.tsx:163
msgid "There was an issue fetching your lists. Tap here to try again."
msgstr ""
-#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:63
-#: src/view/com/modals/ContentFilteringSettings.tsx:126
+#: src/components/ReportDialog/SubmitView.tsx:81
+msgid "There was an issue sending your report. Please check your internet connection."
+msgstr ""
+
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:65
msgid "There was an issue syncing your preferences with the server"
msgstr ""
-#: src/view/screens/AppPasswords.tsx:66
+#: src/view/screens/AppPasswords.tsx:68
msgid "There was an issue with fetching your app passwords"
msgstr ""
-#: src/view/com/post-thread/PostThreadFollowBtn.tsx:93
-#: src/view/com/post-thread/PostThreadFollowBtn.tsx:105
-#: src/view/com/profile/ProfileHeader.tsx:157
-#: src/view/com/profile/ProfileHeader.tsx:178
-#: src/view/com/profile/ProfileHeader.tsx:217
-#: src/view/com/profile/ProfileHeader.tsx:230
-#: src/view/com/profile/ProfileHeader.tsx:250
-#: src/view/com/profile/ProfileHeader.tsx:272
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:105
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:127
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:141
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:99
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:111
+#: src/view/com/profile/ProfileMenu.tsx:106
+#: src/view/com/profile/ProfileMenu.tsx:117
+#: src/view/com/profile/ProfileMenu.tsx:132
+#: src/view/com/profile/ProfileMenu.tsx:143
+#: src/view/com/profile/ProfileMenu.tsx:157
+#: src/view/com/profile/ProfileMenu.tsx:170
msgid "There was an issue! {0}"
msgstr ""
-#: src/view/screens/ProfileList.tsx:288
-#: src/view/screens/ProfileList.tsx:307
-#: src/view/screens/ProfileList.tsx:329
-#: src/view/screens/ProfileList.tsx:348
+#: src/view/screens/ProfileList.tsx:290
+#: src/view/screens/ProfileList.tsx:304
+#: src/view/screens/ProfileList.tsx:318
+#: src/view/screens/ProfileList.tsx:332
msgid "There was an issue. Please check your internet connection and try again."
msgstr ""
-#: src/view/com/util/ErrorBoundary.tsx:36
+#: src/view/com/util/ErrorBoundary.tsx:51
msgid "There was an unexpected issue in the application. Please let us know if this happened to you!"
msgstr "Se ha producido un problema inesperado en la aplicación. Por favor, ¡avísanos si te ha ocurrido esto!"
@@ -4178,23 +5132,36 @@ msgstr ""
#~ msgid "There's something wrong with this number. Please choose your country and enter your full phone number!"
#~ msgstr ""
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:138
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:146
msgid "These are popular accounts you might like:"
msgstr ""
-#: src/view/com/util/moderation/ScreenHider.tsx:88
+#: src/components/moderation/ScreenHider.tsx:116
msgid "This {screenDescription} has been flagged:"
msgstr "Esta {screenDescription} ha sido marcada:"
-#: src/view/com/util/moderation/ScreenHider.tsx:83
+#: src/components/moderation/ScreenHider.tsx:111
msgid "This account has requested that users sign in to view their profile."
msgstr "Esta cuenta ha solicitado que los usuarios inicien sesión para ver su perfil."
-#: src/view/com/modals/EmbedConsent.tsx:68
+#: src/components/moderation/LabelsOnMeDialog.tsx:204
+msgid "This appeal will be sent to <0>{0}0>."
+msgstr ""
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:19
+msgid "This content has been hidden by the moderators."
+msgstr ""
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:24
+msgid "This content has received a general warning from moderators."
+msgstr ""
+
+#: src/components/dialogs/EmbedConsent.tsx:64
msgid "This content is hosted by {0}. Do you want to enable external media?"
msgstr ""
-#: src/view/com/modals/ModerationDetails.tsx:67
+#: src/components/moderation/ModerationDetailsDialog.tsx:77
+#: src/lib/moderation/useModerationCauseDescription.ts:77
msgid "This content is not available because one of the users involved has blocked the other."
msgstr ""
@@ -4203,16 +5170,20 @@ msgid "This content is not viewable without a Bluesky account."
msgstr "Este contenido no se puede ver sin una cuenta Bluesky."
#: src/view/screens/Settings/ExportCarDialog.tsx:75
-msgid "This feature is in beta. You can read more about repository exports in <0>this blogpost.0>"
+#~ msgid "This feature is in beta. You can read more about repository exports in <0>this blogpost.0>"
+#~ msgstr ""
+
+#: src/view/screens/Settings/ExportCarDialog.tsx:75
+msgid "This feature is in beta. You can read more about repository exports in <0>this blogpost0>."
msgstr ""
#: src/view/com/posts/FeedErrorMessage.tsx:114
msgid "This feed is currently receiving high traffic and is temporarily unavailable. Please try again later."
msgstr "Este canal de noticias está recibiendo mucho tráfico y no está disponible temporalmente. Vuelve a intentarlo más tarde."
-#: src/view/screens/Profile.tsx:420
-#: src/view/screens/ProfileFeed.tsx:476
-#: src/view/screens/ProfileList.tsx:661
+#: src/screens/Profile/Sections/Feed.tsx:59
+#: src/view/screens/ProfileFeed.tsx:488
+#: src/view/screens/ProfileList.tsx:677
msgid "This feed is empty!"
msgstr ""
@@ -4220,7 +5191,7 @@ msgstr ""
msgid "This feed is empty! You may need to follow more users or tune your language settings."
msgstr ""
-#: src/view/com/modals/BirthDateSettings.tsx:61
+#: src/components/dialogs/BirthDateSettings.tsx:41
msgid "This information is not shared with other users."
msgstr "Esta información no se comparte con otros usuarios."
@@ -4228,15 +5199,27 @@ msgstr "Esta información no se comparte con otros usuarios."
msgid "This is important in case you ever need to change your email or reset your password."
msgstr "Esto es importante por si alguna vez necesitas cambiar tu correo electrónico o restablecer tu contraseña."
-#: src/view/com/modals/LinkWarning.tsx:58
+#: src/components/moderation/ModerationDetailsDialog.tsx:124
+msgid "This label was applied by {0}."
+msgstr ""
+
+#: src/screens/Profile/Sections/Labels.tsx:178
+msgid "This labeler hasn't declared what labels it publishes, and may not be active."
+msgstr ""
+
+#: src/view/com/modals/LinkWarning.tsx:72
msgid "This link is taking you to the following website:"
msgstr "Este enlace te lleva al siguiente sitio web:"
-#: src/view/screens/ProfileList.tsx:839
+#: src/view/screens/ProfileList.tsx:855
msgid "This list is empty!"
msgstr ""
-#: src/view/com/modals/AddAppPasswords.tsx:106
+#: src/screens/Profile/ErrorState.tsx:40
+msgid "This moderation service is unavailable. See below for more details. If this issue persists, contact us."
+msgstr ""
+
+#: src/view/com/modals/AddAppPasswords.tsx:107
msgid "This name is already in use"
msgstr ""
@@ -4244,36 +5227,82 @@ msgstr ""
msgid "This post has been deleted."
msgstr "Esta publicación ha sido eliminada."
-#: src/view/com/modals/ModerationDetails.tsx:62
+#: src/view/com/util/forms/PostDropdownBtn.tsx:366
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:250
+msgid "This post is only visible to logged-in users. It won't be visible to people who aren't logged in."
+msgstr ""
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:348
+msgid "This post will be hidden from feeds."
+msgstr ""
+
+#: src/view/com/profile/ProfileMenu.tsx:370
+msgid "This profile is only visible to logged-in users. It won't be visible to people who aren't logged in."
+msgstr ""
+
+#: src/screens/Signup/StepInfo/Policies.tsx:37
+msgid "This service has not provided terms of service or a privacy policy."
+msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:445
+msgid "This should create a domain record at:"
+msgstr ""
+
+#: src/view/com/profile/ProfileFollowers.tsx:87
+msgid "This user doesn't have any followers."
+msgstr ""
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:72
+#: src/lib/moderation/useModerationCauseDescription.ts:68
msgid "This user has blocked you. You cannot view their content."
msgstr ""
-#: src/view/com/modals/ModerationDetails.tsx:42
-msgid "This user is included in the <0/> list which you have blocked."
+#: src/lib/moderation/useGlobalLabelStrings.ts:30
+msgid "This user has requested that their content only be shown to signed-in users."
msgstr ""
+#: src/view/com/modals/ModerationDetails.tsx:42
+#~ msgid "This user is included in the <0/> list which you have blocked."
+#~ msgstr ""
+
#: src/view/com/modals/ModerationDetails.tsx:74
-msgid "This user is included in the <0/> list which you have muted."
+#~ msgid "This user is included in the <0/> list which you have muted."
+#~ msgstr ""
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:55
+msgid "This user is included in the <0>{0}0> list which you have blocked."
+msgstr ""
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:84
+msgid "This user is included in the <0>{0}0> list which you have muted."
msgstr ""
#: src/view/com/modals/ModerationDetails.tsx:74
#~ msgid "This user is included the <0/> list which you have muted."
#~ msgstr ""
+#: src/view/com/profile/ProfileFollows.tsx:87
+msgid "This user isn't following anyone."
+msgstr ""
+
#: src/view/com/modals/SelfLabel.tsx:137
msgid "This warning is only available for posts with media attached."
msgstr "Esta advertencia sólo está disponible para las publicaciones con medios adjuntos."
-#: src/components/dialogs/MutedWords.tsx:285
+#: src/components/dialogs/MutedWords.tsx:283
msgid "This will delete {0} from your muted words. You can always add it back later."
msgstr ""
#: src/view/com/util/forms/PostDropdownBtn.tsx:282
-msgid "This will hide this post from your feeds."
-msgstr "Esto ocultará esta entrada de tus contenidos."
+#~ msgid "This will hide this post from your feeds."
+#~ msgstr "Esto ocultará esta entrada de tus contenidos."
+
+#: src/view/screens/Settings/index.tsx:525
+msgid "Thread preferences"
+msgstr ""
#: src/view/screens/PreferencesThreads.tsx:53
-#: src/view/screens/Settings/index.tsx:565
+#: src/view/screens/Settings/index.tsx:535
msgid "Thread Preferences"
msgstr "Preferencias de hilos"
@@ -4281,11 +5310,15 @@ msgstr "Preferencias de hilos"
msgid "Threaded Mode"
msgstr "Modo con hilos"
-#: src/Navigation.tsx:257
+#: src/Navigation.tsx:269
msgid "Threads Preferences"
msgstr ""
-#: src/components/dialogs/MutedWords.tsx:113
+#: src/components/ReportDialog/SelectLabelerView.tsx:33
+msgid "To whom would you like to send this report?"
+msgstr ""
+
+#: src/components/dialogs/MutedWords.tsx:112
msgid "Toggle between muted word options."
msgstr ""
@@ -4293,14 +5326,22 @@ msgstr ""
msgid "Toggle dropdown"
msgstr "Conmutar el menú desplegable"
-#: src/view/com/modals/EditImage.tsx:271
+#: src/screens/Moderation/index.tsx:332
+msgid "Toggle to enable or disable adult content"
+msgstr ""
+
+#: src/view/screens/Search/Search.tsx:427
+msgid "Top"
+msgstr ""
+
+#: src/view/com/modals/EditImage.tsx:272
msgid "Transformations"
msgstr "Transformaciones"
-#: src/view/com/post-thread/PostThreadItem.tsx:685
-#: src/view/com/post-thread/PostThreadItem.tsx:687
-#: src/view/com/util/forms/PostDropdownBtn.tsx:215
-#: src/view/com/util/forms/PostDropdownBtn.tsx:217
+#: src/view/com/post-thread/PostThreadItem.tsx:638
+#: src/view/com/post-thread/PostThreadItem.tsx:640
+#: src/view/com/util/forms/PostDropdownBtn.tsx:220
+#: src/view/com/util/forms/PostDropdownBtn.tsx:222
msgid "Translate"
msgstr "Traducir"
@@ -4309,63 +5350,89 @@ msgctxt "action"
msgid "Try again"
msgstr "Intentar nuevamente"
-#: src/view/screens/ProfileList.tsx:506
+#: src/view/com/modals/ChangeHandle.tsx:428
+msgid "Type:"
+msgstr ""
+
+#: src/view/screens/ProfileList.tsx:480
msgid "Un-block list"
msgstr "Desbloquear una lista"
-#: src/view/screens/ProfileList.tsx:491
+#: src/view/screens/ProfileList.tsx:463
msgid "Un-mute list"
msgstr "Desactivar la opción de silenciar la lista"
-#: src/view/com/auth/create/CreateAccount.tsx:58
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:87
-#: src/view/com/auth/login/Login.tsx:76
-#: src/view/com/auth/login/LoginForm.tsx:118
+#: src/screens/Login/ForgotPasswordForm.tsx:74
+#: src/screens/Login/index.tsx:78
+#: src/screens/Login/LoginForm.tsx:119
+#: src/screens/Login/SetNewPasswordForm.tsx:77
+#: src/screens/Signup/index.tsx:64
#: src/view/com/modals/ChangePassword.tsx:70
msgid "Unable to contact your service. Please check your Internet connection."
msgstr "No se puede contactar con tu servicio. Comprueba tu conexión a Internet."
-#: src/view/com/profile/ProfileHeader.tsx:433
-#: src/view/screens/ProfileList.tsx:590
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:181
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:286
+#: src/view/com/profile/ProfileMenu.tsx:361
+#: src/view/screens/ProfileList.tsx:574
msgid "Unblock"
msgstr "Desbloquear"
-#: src/view/com/profile/ProfileHeader.tsx:436
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:186
msgctxt "action"
msgid "Unblock"
msgstr ""
-#: src/view/com/profile/ProfileHeader.tsx:261
-#: src/view/com/profile/ProfileHeader.tsx:345
+#: src/view/com/profile/ProfileMenu.tsx:299
+#: src/view/com/profile/ProfileMenu.tsx:305
msgid "Unblock Account"
msgstr "Desbloquear una cuenta"
-#: src/view/com/modals/Repost.tsx:42
-#: src/view/com/modals/Repost.tsx:55
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:280
+#: src/view/com/profile/ProfileMenu.tsx:343
+msgid "Unblock Account?"
+msgstr ""
+
+#: src/view/com/modals/Repost.tsx:43
+#: src/view/com/modals/Repost.tsx:56
#: src/view/com/util/post-ctrls/RepostButton.tsx:60
#: src/view/com/util/post-ctrls/RepostButton.web.tsx:48
msgid "Undo repost"
msgstr "Deshacer esta publicación"
-#: src/view/com/profile/FollowButton.tsx:55
+#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:141
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:248
+msgid "Unfollow"
+msgstr ""
+
+#: src/view/com/profile/FollowButton.tsx:60
msgctxt "action"
msgid "Unfollow"
msgstr ""
-#: src/view/com/profile/ProfileHeader.tsx:485
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:220
msgid "Unfollow {0}"
msgstr ""
-#: src/view/com/auth/create/state.ts:262
-msgid "Unfortunately, you do not meet the requirements to create an account."
-msgstr "Lamentablemente, no cumples los requisitos para crear una cuenta."
+#: src/view/com/profile/ProfileMenu.tsx:241
+#: src/view/com/profile/ProfileMenu.tsx:251
+msgid "Unfollow Account"
+msgstr ""
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:182
+#: src/view/com/auth/create/state.ts:262
+#~ msgid "Unfortunately, you do not meet the requirements to create an account."
+#~ msgstr "Lamentablemente, no cumples los requisitos para crear una cuenta."
+
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:197
msgid "Unlike"
msgstr ""
+#: src/view/screens/ProfileFeed.tsx:585
+msgid "Unlike this feed"
+msgstr ""
+
#: src/components/TagMenu/index.tsx:249
-#: src/view/screens/ProfileList.tsx:597
+#: src/view/screens/ProfileList.tsx:581
msgid "Unmute"
msgstr ""
@@ -4373,7 +5440,8 @@ msgstr ""
msgid "Unmute {truncatedTag}"
msgstr ""
-#: src/view/com/profile/ProfileHeader.tsx:326
+#: src/view/com/profile/ProfileMenu.tsx:278
+#: src/view/com/profile/ProfileMenu.tsx:284
msgid "Unmute Account"
msgstr "Desactivar la opción de silenciar la cuenta"
@@ -4385,22 +5453,38 @@ msgstr ""
#~ msgid "Unmute all {tag} posts"
#~ msgstr ""
-#: src/view/com/util/forms/PostDropdownBtn.tsx:251
-#: src/view/com/util/forms/PostDropdownBtn.tsx:256
+#: src/view/com/util/forms/PostDropdownBtn.tsx:269
+#: src/view/com/util/forms/PostDropdownBtn.tsx:274
msgid "Unmute thread"
msgstr "Desactivar la opción de silenciar el hilo"
-#: src/view/screens/ProfileFeed.tsx:354
-#: src/view/screens/ProfileList.tsx:581
+#: src/view/screens/ProfileFeed.tsx:306
+#: src/view/screens/ProfileList.tsx:565
msgid "Unpin"
msgstr ""
-#: src/view/screens/ProfileList.tsx:474
+#: src/view/screens/ProfileFeed.tsx:303
+msgid "Unpin from home"
+msgstr ""
+
+#: src/view/screens/ProfileList.tsx:446
msgid "Unpin moderation list"
msgstr "Desanclar la lista de moderación"
#: src/view/screens/ProfileFeed.tsx:346
-msgid "Unsave"
+#~ msgid "Unsave"
+#~ msgstr ""
+
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:225
+msgid "Unsubscribe"
+msgstr ""
+
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:190
+msgid "Unsubscribe from this labeler"
+msgstr ""
+
+#: src/lib/moderation/useReportOptions.ts:70
+msgid "Unwanted Sexual Content"
msgstr ""
#: src/view/com/modals/UserAddRemoveLists.tsx:70
@@ -4408,22 +5492,53 @@ msgid "Update {displayName} in Lists"
msgstr "Actualizar {displayName} en Listas"
#: src/lib/hooks/useOTAUpdate.ts:15
-msgid "Update Available"
-msgstr "Actualización disponible"
+#~ msgid "Update Available"
+#~ msgstr "Actualización disponible"
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:204
+#: src/view/com/modals/ChangeHandle.tsx:508
+msgid "Update to {handle}"
+msgstr ""
+
+#: src/screens/Login/SetNewPasswordForm.tsx:186
msgid "Updating..."
msgstr "Actualizando..."
-#: src/view/com/modals/ChangeHandle.tsx:455
+#: src/view/com/modals/ChangeHandle.tsx:454
msgid "Upload a text file to:"
msgstr "Carga un archivo de texto en:"
-#: src/view/screens/AppPasswords.tsx:195
+#: src/view/com/util/UserAvatar.tsx:328
+#: src/view/com/util/UserAvatar.tsx:331
+#: src/view/com/util/UserBanner.tsx:116
+#: src/view/com/util/UserBanner.tsx:119
+msgid "Upload from Camera"
+msgstr ""
+
+#: src/view/com/util/UserAvatar.tsx:345
+#: src/view/com/util/UserBanner.tsx:133
+msgid "Upload from Files"
+msgstr ""
+
+#: src/view/com/util/UserAvatar.tsx:339
+#: src/view/com/util/UserAvatar.tsx:343
+#: src/view/com/util/UserBanner.tsx:127
+#: src/view/com/util/UserBanner.tsx:131
+msgid "Upload from Library"
+msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:408
+msgid "Use a file on your server"
+msgstr ""
+
+#: src/view/screens/AppPasswords.tsx:197
msgid "Use app passwords to login to other Bluesky clients without giving full access to your account or password."
msgstr "Utiliza las contraseñas de la app para iniciar sesión en otros clientes Bluesky sin dar acceso completo a tu cuenta o contraseña."
-#: src/view/com/modals/ChangeHandle.tsx:515
+#: src/view/com/modals/ChangeHandle.tsx:517
+msgid "Use bsky.social as hosting provider"
+msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:516
msgid "Use default provider"
msgstr "Utiliza un proveedor predeterminado"
@@ -4437,7 +5552,11 @@ msgstr ""
msgid "Use my default browser"
msgstr ""
-#: src/view/com/modals/AddAppPasswords.tsx:155
+#: src/view/com/modals/ChangeHandle.tsx:400
+msgid "Use the DNS panel"
+msgstr ""
+
+#: src/view/com/modals/AddAppPasswords.tsx:156
msgid "Use this to sign into the other app along with your handle."
msgstr "Utilízalo para iniciar sesión en la otra aplicación junto con tu identificador."
@@ -4445,46 +5564,55 @@ msgstr "Utilízalo para iniciar sesión en la otra aplicación junto con tu iden
#~ msgid "Use your domain as your Bluesky client service provider"
#~ msgstr ""
-#: src/view/com/modals/InviteCodes.tsx:200
+#: src/view/com/modals/InviteCodes.tsx:201
msgid "Used by:"
msgstr "Usado por:"
-#: src/view/com/modals/ModerationDetails.tsx:54
+#: src/components/moderation/ModerationDetailsDialog.tsx:64
+#: src/lib/moderation/useModerationCauseDescription.ts:56
msgid "User Blocked"
msgstr ""
-#: src/view/com/modals/ModerationDetails.tsx:40
+#: src/lib/moderation/useModerationCauseDescription.ts:48
+msgid "User Blocked by \"{0}\""
+msgstr ""
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:53
msgid "User Blocked by List"
msgstr ""
-#: src/view/com/modals/ModerationDetails.tsx:60
+#: src/lib/moderation/useModerationCauseDescription.ts:66
+msgid "User Blocking You"
+msgstr ""
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:70
msgid "User Blocks You"
msgstr ""
#: src/view/com/auth/create/Step2.tsx:79
-msgid "User handle"
-msgstr "Identificador del usuario"
+#~ msgid "User handle"
+#~ msgstr "Identificador del usuario"
#: src/view/com/lists/ListCard.tsx:85
#: src/view/com/modals/UserAddRemoveLists.tsx:198
msgid "User list by {0}"
msgstr ""
-#: src/view/screens/ProfileList.tsx:763
+#: src/view/screens/ProfileList.tsx:779
msgid "User list by <0/>"
msgstr ""
#: src/view/com/lists/ListCard.tsx:83
#: src/view/com/modals/UserAddRemoveLists.tsx:196
-#: src/view/screens/ProfileList.tsx:761
+#: src/view/screens/ProfileList.tsx:777
msgid "User list by you"
msgstr ""
-#: src/view/com/modals/CreateOrEditList.tsx:196
+#: src/view/com/modals/CreateOrEditList.tsx:197
msgid "User list created"
msgstr ""
-#: src/view/com/modals/CreateOrEditList.tsx:182
+#: src/view/com/modals/CreateOrEditList.tsx:183
msgid "User list updated"
msgstr ""
@@ -4492,12 +5620,13 @@ msgstr ""
msgid "User Lists"
msgstr "Listas de usuarios"
-#: src/view/com/auth/login/LoginForm.tsx:177
-#: src/view/com/auth/login/LoginForm.tsx:195
+#: src/screens/Login/LoginForm.tsx:151
msgid "Username or email address"
msgstr "Nombre de usuario o dirección de correo electrónico"
-#: src/view/screens/ProfileList.tsx:797
+#: src/view/screens/ProfileList.tsx:813
+#: src/view/screens/Search/Search.tsx:473
+#: src/view/screens/Search/Search.tsx:482
msgid "Users"
msgstr "Usuarios"
@@ -4509,19 +5638,31 @@ msgstr "usuarios seguidos por <0/>"
msgid "Users in \"{0}\""
msgstr "Usuarios en «{0}»"
+#: src/components/LikesDialog.tsx:85
+msgid "Users that have liked this content or profile"
+msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:436
+msgid "Value:"
+msgstr ""
+
#: src/view/com/auth/create/Step2.tsx:243
#~ msgid "Verification code"
#~ msgstr ""
-#: src/view/screens/Settings/index.tsx:910
+#: src/view/com/modals/ChangeHandle.tsx:509
+msgid "Verify {0}"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:906
msgid "Verify email"
msgstr "Verificar el correo electrónico"
-#: src/view/screens/Settings/index.tsx:935
+#: src/view/screens/Settings/index.tsx:931
msgid "Verify my email"
msgstr "Verificar mi correo electrónico"
-#: src/view/screens/Settings/index.tsx:944
+#: src/view/screens/Settings/index.tsx:940
msgid "Verify My Email"
msgstr "Verificar mi correo electrónico"
@@ -4534,11 +5675,15 @@ msgstr "Verificar el correo electrónico nuevo"
msgid "Verify Your Email"
msgstr ""
+#: src/view/screens/Settings/index.tsx:857
+msgid "Version {0}"
+msgstr ""
+
#: src/screens/Onboarding/index.tsx:42
msgid "Video Games"
msgstr ""
-#: src/view/com/profile/ProfileHeader.tsx:662
+#: src/screens/Profile/Header/Shell.tsx:107
msgid "View {0}'s avatar"
msgstr ""
@@ -4546,11 +5691,25 @@ msgstr ""
msgid "View debug entry"
msgstr "Ver entrada de depuración"
-#: src/view/com/posts/FeedSlice.tsx:103
+#: src/components/ReportDialog/SelectReportOptionView.tsx:132
+msgid "View details"
+msgstr ""
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:127
+msgid "View details for reporting a copyright violation"
+msgstr ""
+
+#: src/view/com/posts/FeedSlice.tsx:99
msgid "View full thread"
msgstr ""
-#: src/view/com/posts/FeedErrorMessage.tsx:172
+#: src/components/moderation/LabelsOnMe.tsx:51
+msgid "View information about these labels"
+msgstr ""
+
+#: src/components/ProfileHoverCard/index.web.tsx:264
+#: src/components/ProfileHoverCard/index.web.tsx:293
+#: src/view/com/posts/FeedErrorMessage.tsx:166
msgid "View profile"
msgstr ""
@@ -4558,20 +5717,39 @@ msgstr ""
msgid "View the avatar"
msgstr "Ver el avatar"
-#: src/view/com/modals/LinkWarning.tsx:75
+#: src/components/LabelingServiceCard/index.tsx:140
+msgid "View the labeling service provided by @{0}"
+msgstr ""
+
+#: src/view/screens/ProfileFeed.tsx:597
+msgid "View users who like this feed"
+msgstr ""
+
+#: src/view/com/modals/LinkWarning.tsx:89
+#: src/view/com/modals/LinkWarning.tsx:95
msgid "Visit Site"
msgstr "Visitar el sitio"
-#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:42
-#: src/view/com/modals/ContentFilteringSettings.tsx:259
+#: src/components/moderation/LabelPreference.tsx:135
+#: src/lib/moderation/useLabelBehaviorDescription.ts:17
+#: src/lib/moderation/useLabelBehaviorDescription.ts:22
+#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:53
msgid "Warn"
msgstr ""
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:134
-msgid "We also think you'll like \"For You\" by Skygaze:"
+#: src/lib/moderation/useLabelBehaviorDescription.ts:48
+msgid "Warn content"
msgstr ""
-#: src/screens/Hashtag.tsx:132
+#: src/lib/moderation/useLabelBehaviorDescription.ts:46
+msgid "Warn content and filter from feeds"
+msgstr ""
+
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:134
+#~ msgid "We also think you'll like \"For You\" by Skygaze:"
+#~ msgstr ""
+
+#: src/screens/Hashtag.tsx:133
msgid "We couldn't find any results for that hashtag."
msgstr ""
@@ -4579,7 +5757,7 @@ msgstr ""
msgid "We estimate {estimatedTime} until your account is ready."
msgstr ""
-#: src/screens/Onboarding/StepFinished.tsx:93
+#: src/screens/Onboarding/StepFinished.tsx:97
msgid "We hope you have a wonderful time. Remember, Bluesky is:"
msgstr ""
@@ -4591,15 +5769,23 @@ msgstr ""
#~ msgid "We recommend \"For You\" by Skygaze:"
#~ msgstr ""
-#: src/components/dialogs/MutedWords.tsx:204
+#: src/components/dialogs/MutedWords.tsx:203
msgid "We recommend avoiding common words that appear in many posts, since it can result in no posts being shown."
msgstr ""
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:124
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:125
msgid "We recommend our \"Discover\" feed:"
msgstr ""
-#: src/screens/Onboarding/StepInterests/index.tsx:133
+#: src/components/dialogs/BirthDateSettings.tsx:52
+msgid "We were unable to load your birth date preferences. Please try again."
+msgstr ""
+
+#: src/screens/Moderation/index.tsx:385
+msgid "We were unable to load your configured labelers at this time."
+msgstr ""
+
+#: src/screens/Onboarding/StepInterests/index.tsx:137
msgid "We weren't able to connect. Please try again to continue setting up your account. If it continues to fail, you can skip this flow."
msgstr ""
@@ -4608,48 +5794,53 @@ msgid "We will let you know when your account is ready."
msgstr ""
#: src/view/com/modals/AppealLabel.tsx:48
-msgid "We'll look into your appeal promptly."
-msgstr ""
+#~ msgid "We'll look into your appeal promptly."
+#~ msgstr ""
-#: src/screens/Onboarding/StepInterests/index.tsx:138
+#: src/screens/Onboarding/StepInterests/index.tsx:142
msgid "We'll use this to help customize your experience."
msgstr ""
-#: src/view/com/auth/create/CreateAccount.tsx:134
+#: src/screens/Signup/index.tsx:131
msgid "We're so excited to have you join us!"
msgstr "¡Nos hace mucha ilusión que te unas a nosotros!"
-#: src/view/screens/ProfileList.tsx:86
+#: src/view/screens/ProfileList.tsx:90
msgid "We're sorry, but we were unable to resolve this list. If this persists, please contact the list creator, @{handleOrDid}."
msgstr ""
-#: src/components/dialogs/MutedWords.tsx:230
+#: src/components/dialogs/MutedWords.tsx:229
msgid "We're sorry, but we weren't able to load your muted words at this time. Please try again."
msgstr ""
-#: src/view/screens/Search/Search.tsx:254
+#: src/view/screens/Search/Search.tsx:322
msgid "We're sorry, but your search could not be completed. Please try again in a few minutes."
msgstr "Lo sentimos, pero no se ha podido completar tu búsqueda. Vuelve a intentarlo dentro de unos minutos."
-#: src/components/Lists.tsx:211
+#: src/components/Lists.tsx:188
#: src/view/screens/NotFound.tsx:48
msgid "We're sorry! We can't find the page you were looking for."
msgstr "Lo sentimos. No encontramos la página que buscabas."
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:46
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:327
+msgid "We're sorry! You can only subscribe to ten labelers, and you've reached your limit of ten."
+msgstr ""
+
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:48
msgid "Welcome to <0>Bluesky0>"
msgstr "Bienvenido a <0>Bluesky0>"
-#: src/screens/Onboarding/StepInterests/index.tsx:130
+#: src/screens/Onboarding/StepInterests/index.tsx:134
msgid "What are your interests?"
msgstr ""
#: src/view/com/modals/report/Modal.tsx:169
-msgid "What is the issue with this {collectionName}?"
-msgstr "¿Cuál es el problema con esta {collectionName}?"
+#~ msgid "What is the issue with this {collectionName}?"
+#~ msgstr "¿Cuál es el problema con esta {collectionName}?"
-#: src/view/com/auth/SplashScreen.tsx:59
-#: src/view/com/composer/Composer.tsx:286
+#: src/view/com/auth/SplashScreen.tsx:40
+#: src/view/com/auth/SplashScreen.web.tsx:81
+#: src/view/com/composer/Composer.tsx:296
msgid "What's up?"
msgstr "¿Qué hay de nuevo?"
@@ -4666,16 +5857,36 @@ msgstr "¿Qué idiomas te gustaría ver en tus noticias algorítmicas?"
msgid "Who can reply"
msgstr "Quién puede responder"
-#: src/view/com/modals/crop-image/CropImage.web.tsx:102
+#: src/components/ReportDialog/SelectReportOptionView.tsx:43
+msgid "Why should this content be reviewed?"
+msgstr ""
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:56
+msgid "Why should this feed be reviewed?"
+msgstr ""
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:53
+msgid "Why should this list be reviewed?"
+msgstr ""
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:50
+msgid "Why should this post be reviewed?"
+msgstr ""
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:47
+msgid "Why should this user be reviewed?"
+msgstr ""
+
+#: src/view/com/modals/crop-image/CropImage.web.tsx:103
msgid "Wide"
msgstr "Ancho"
-#: src/view/com/composer/Composer.tsx:422
+#: src/view/com/composer/Composer.tsx:436
msgid "Write post"
msgstr "Redactar una publicación"
-#: src/view/com/composer/Composer.tsx:285
-#: src/view/com/composer/Prompt.tsx:33
+#: src/view/com/composer/Composer.tsx:295
+#: src/view/com/composer/Prompt.tsx:37
msgid "Write your reply"
msgstr "Redactar tu respuesta"
@@ -4705,6 +5916,10 @@ msgstr "Sí"
msgid "You are in line."
msgstr ""
+#: src/view/com/profile/ProfileFollows.tsx:86
+msgid "You are not following anyone."
+msgstr ""
+
#: src/view/com/posts/FollowingEmptyState.tsx:67
#: src/view/com/posts/FollowingEndOfFeed.tsx:68
msgid "You can also discover new Custom Feeds to follow."
@@ -4714,96 +5929,139 @@ msgstr ""
#~ msgid "You can also try our \"Discover\" algorithm:"
#~ msgstr ""
-#: src/screens/Onboarding/StepFollowingFeed.tsx:142
+#: src/screens/Onboarding/StepFollowingFeed.tsx:143
msgid "You can change these settings later."
msgstr ""
-#: src/view/com/auth/login/Login.tsx:158
-#: src/view/com/auth/login/PasswordUpdatedForm.tsx:31
+#: src/screens/Login/index.tsx:158
+#: src/screens/Login/PasswordUpdatedForm.tsx:33
msgid "You can now sign in with your new password."
msgstr "Ahora puedes iniciar sesión con tu nueva contraseña."
-#: src/view/com/modals/InviteCodes.tsx:66
+#: src/view/com/profile/ProfileFollowers.tsx:86
+msgid "You do not have any followers."
+msgstr ""
+
+#: src/view/com/modals/InviteCodes.tsx:67
msgid "You don't have any invite codes yet! We'll send you some when you've been on Bluesky for a little longer."
msgstr "¡Aún no tienes códigos de invitación! Te enviaremos algunos cuando lleves un poco más de tiempo en Bluesky."
-#: src/view/screens/SavedFeeds.tsx:102
+#: src/view/screens/SavedFeeds.tsx:103
msgid "You don't have any pinned feeds."
msgstr "No tienes ninguna noticia anclada."
-#: src/view/screens/Feeds.tsx:452
+#: src/view/screens/Feeds.tsx:477
msgid "You don't have any saved feeds!"
msgstr "¡No tienes ninguna noticia guardada!"
-#: src/view/screens/SavedFeeds.tsx:135
+#: src/view/screens/SavedFeeds.tsx:136
msgid "You don't have any saved feeds."
msgstr "No tienes ninguna noticia guardada."
-#: src/view/com/post-thread/PostThread.tsx:465
+#: src/view/com/post-thread/PostThread.tsx:159
msgid "You have blocked the author or you have been blocked by the author."
msgstr "Has bloqueado al autor o has sido bloqueado por el autor."
-#: src/view/com/modals/ModerationDetails.tsx:56
+#: src/components/moderation/ModerationDetailsDialog.tsx:66
+#: src/lib/moderation/useModerationCauseDescription.ts:50
+#: src/lib/moderation/useModerationCauseDescription.ts:58
msgid "You have blocked this user. You cannot view their content."
msgstr ""
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:57
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:92
+#: src/screens/Login/SetNewPasswordForm.tsx:54
+#: src/screens/Login/SetNewPasswordForm.tsx:91
#: src/view/com/modals/ChangePassword.tsx:87
#: src/view/com/modals/ChangePassword.tsx:121
msgid "You have entered an invalid code. It should look like XXXXX-XXXXX."
msgstr ""
-#: src/view/com/modals/ModerationDetails.tsx:87
-msgid "You have muted this user."
+#: src/lib/moderation/useModerationCauseDescription.ts:109
+msgid "You have hidden this post"
msgstr ""
-#: src/view/com/feeds/ProfileFeedgens.tsx:136
+#: src/components/moderation/ModerationDetailsDialog.tsx:101
+msgid "You have hidden this post."
+msgstr ""
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:94
+#: src/lib/moderation/useModerationCauseDescription.ts:92
+msgid "You have muted this account."
+msgstr ""
+
+#: src/lib/moderation/useModerationCauseDescription.ts:86
+msgid "You have muted this user"
+msgstr ""
+
+#: src/view/com/modals/ModerationDetails.tsx:87
+#~ msgid "You have muted this user."
+#~ msgstr ""
+
+#: src/view/com/feeds/ProfileFeedgens.tsx:144
msgid "You have no feeds."
msgstr "No tienes noticias."
#: src/view/com/lists/MyLists.tsx:89
-#: src/view/com/lists/ProfileLists.tsx:140
+#: src/view/com/lists/ProfileLists.tsx:148
msgid "You have no lists."
msgstr "No tienes listas."
-#: src/view/screens/ModerationBlockedAccounts.tsx:132
-msgid "You have not blocked any accounts yet. To block an account, go to their profile and selected \"Block account\" from the menu on their account."
-msgstr "Aún no has bloqueado ninguna cuenta. Para bloquear una cuenta, ve a su perfil y selecciona \"Bloquear cuenta\" en el menú de su cuenta."
+#: src/view/screens/ModerationBlockedAccounts.tsx:138
+msgid "You have not blocked any accounts yet. To block an account, go to their profile and select \"Block account\" from the menu on their account."
+msgstr ""
-#: src/view/screens/AppPasswords.tsx:87
+#: src/view/screens/ModerationBlockedAccounts.tsx:132
+#~ msgid "You have not blocked any accounts yet. To block an account, go to their profile and selected \"Block account\" from the menu on their account."
+#~ msgstr "Aún no has bloqueado ninguna cuenta. Para bloquear una cuenta, ve a su perfil y selecciona \"Bloquear cuenta\" en el menú de su cuenta."
+
+#: src/view/screens/AppPasswords.tsx:89
msgid "You have not created any app passwords yet. You can create one by pressing the button below."
msgstr "Aún no has creado ninguna contraseña de aplicación. Puedes crear una pulsando el botón de abajo."
-#: src/view/screens/ModerationMutedAccounts.tsx:131
-msgid "You have not muted any accounts yet. To mute an account, go to their profile and selected \"Mute account\" from the menu on their account."
-msgstr "Aún no has silenciado ninguna cuenta. Para silenciar una cuenta, ve a su perfil y selecciona \"Silenciar cuenta\" en el menú de su cuenta."
+#: src/view/screens/ModerationMutedAccounts.tsx:136
+msgid "You have not muted any accounts yet. To mute an account, go to their profile and select \"Mute account\" from the menu on their account."
+msgstr ""
-#: src/components/dialogs/MutedWords.tsx:250
+#: src/view/screens/ModerationMutedAccounts.tsx:131
+#~ msgid "You have not muted any accounts yet. To mute an account, go to their profile and selected \"Mute account\" from the menu on their account."
+#~ msgstr "Aún no has silenciado ninguna cuenta. Para silenciar una cuenta, ve a su perfil y selecciona \"Silenciar cuenta\" en el menú de su cuenta."
+
+#: src/components/dialogs/MutedWords.tsx:249
msgid "You haven't muted any words or tags yet"
msgstr ""
-#: src/view/com/modals/ContentFilteringSettings.tsx:175
-msgid "You must be 18 or older to enable adult content."
+#: src/components/moderation/LabelsOnMeDialog.tsx:68
+msgid "You may appeal these labels if you feel they were placed in error."
msgstr ""
-#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:103
+#: src/screens/Signup/StepInfo/Policies.tsx:79
+msgid "You must be 13 years of age or older to sign up."
+msgstr ""
+
+#: src/view/com/modals/ContentFilteringSettings.tsx:175
+#~ msgid "You must be 18 or older to enable adult content."
+#~ msgstr ""
+
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:110
msgid "You must be 18 years or older to enable adult content"
msgstr ""
-#: src/view/com/util/forms/PostDropdownBtn.tsx:147
-msgid "You will no longer receive notifications for this thread"
+#: src/components/ReportDialog/SubmitView.tsx:203
+msgid "You must select at least one labeler for a report"
msgstr ""
#: src/view/com/util/forms/PostDropdownBtn.tsx:150
+msgid "You will no longer receive notifications for this thread"
+msgstr ""
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:153
msgid "You will now receive notifications for this thread"
msgstr ""
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:107
+#: src/screens/Login/SetNewPasswordForm.tsx:104
msgid "You will receive an email with a \"reset code.\" Enter that code here, then enter your new password."
msgstr "Recibirás un correo electrónico con un \"código de restablecimiento\". Introduce ese código aquí y, a continuación, introduce tu nueva contraseña."
-#: src/screens/Onboarding/StepModeration/index.tsx:72
+#: src/screens/Onboarding/StepModeration/index.tsx:60
msgid "You're in control"
msgstr ""
@@ -4813,19 +6071,24 @@ msgstr ""
msgid "You're in line"
msgstr ""
-#: src/screens/Onboarding/StepFinished.tsx:90
+#: src/screens/Onboarding/StepFinished.tsx:94
msgid "You're ready to go!"
msgstr ""
+#: src/components/moderation/ModerationDetailsDialog.tsx:98
+#: src/lib/moderation/useModerationCauseDescription.ts:101
+msgid "You've chosen to hide a word or tag within this post."
+msgstr ""
+
#: src/view/com/posts/FollowingEndOfFeed.tsx:48
msgid "You've reached the end of your feed! Find some more accounts to follow."
msgstr ""
-#: src/view/com/auth/create/Step1.tsx:67
+#: src/screens/Signup/index.tsx:151
msgid "Your account"
msgstr "Tu cuenta"
-#: src/view/com/modals/DeleteAccount.tsx:67
+#: src/view/com/modals/DeleteAccount.tsx:68
msgid "Your account has been deleted"
msgstr ""
@@ -4833,7 +6096,7 @@ msgstr ""
msgid "Your account repository, containing all public data records, can be downloaded as a \"CAR\" file. This file does not include media embeds, such as images, or your private data, which must be fetched separately."
msgstr ""
-#: src/view/com/auth/create/Step1.tsx:215
+#: src/screens/Signup/StepInfo/index.tsx:123
msgid "Your birth date"
msgstr "Tu fecha de nacimiento"
@@ -4841,12 +6104,12 @@ msgstr "Tu fecha de nacimiento"
msgid "Your choice will be saved, but can be changed later in settings."
msgstr ""
-#: src/screens/Onboarding/StepFollowingFeed.tsx:61
+#: src/screens/Onboarding/StepFollowingFeed.tsx:62
msgid "Your default feed is \"Following\""
msgstr ""
-#: src/view/com/auth/create/state.ts:110
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:70
+#: src/screens/Login/ForgotPasswordForm.tsx:57
+#: src/screens/Signup/state.ts:227
#: src/view/com/modals/ChangePassword.tsx:54
msgid "Your email appears to be invalid."
msgstr "Tu correo electrónico parece no ser válido."
@@ -4867,11 +6130,11 @@ msgstr "Tu correo electrónico aún no ha sido verificado. Este es un paso de se
msgid "Your following feed is empty! Follow more users to see what's happening."
msgstr ""
-#: src/view/com/auth/create/Step2.tsx:83
+#: src/screens/Signup/StepHandle.tsx:73
msgid "Your full handle will be"
msgstr "Tu identificador completo será"
-#: src/view/com/modals/ChangeHandle.tsx:270
+#: src/view/com/modals/ChangeHandle.tsx:271
msgid "Your full handle will be <0>@{0}0>"
msgstr ""
@@ -4881,33 +6144,32 @@ msgstr ""
#~ msgid "Your invite codes are hidden when logged in using an App Password"
#~ msgstr "Tus códigos de invitación están ocultos cuando inicias sesión con una contraseña de la app"
-#: src/components/dialogs/MutedWords.tsx:221
+#: src/components/dialogs/MutedWords.tsx:220
msgid "Your muted words"
msgstr ""
-#: src/view/com/modals/ChangePassword.tsx:155
+#: src/view/com/modals/ChangePassword.tsx:157
msgid "Your password has been changed successfully!"
msgstr ""
-#: src/view/com/composer/Composer.tsx:274
+#: src/view/com/composer/Composer.tsx:284
msgid "Your post has been published"
msgstr ""
-#: src/screens/Onboarding/StepFinished.tsx:105
+#: src/screens/Onboarding/StepFinished.tsx:109
#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:59
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:59
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:61
msgid "Your posts, likes, and blocks are public. Mutes are private."
msgstr "Tus publicaciones, Me gustas y bloqueos son públicos. Las cuentas silenciadas son privadas."
-#: src/view/com/modals/SwitchAccount.tsx:84
-#: src/view/screens/Settings/index.tsx:118
+#: src/view/screens/Settings/index.tsx:136
msgid "Your profile"
msgstr "Tu perfil"
-#: src/view/com/composer/Composer.tsx:273
+#: src/view/com/composer/Composer.tsx:283
msgid "Your reply has been published"
msgstr ""
-#: src/view/com/auth/create/Step2.tsx:65
+#: src/screens/Signup/index.tsx:153
msgid "Your user handle"
msgstr "Tu identificador del usuario"
diff --git a/src/locale/locales/fi/messages.po b/src/locale/locales/fi/messages.po
index f5b40f4214..527361e401 100644
--- a/src/locale/locales/fi/messages.po
+++ b/src/locale/locales/fi/messages.po
@@ -9,7 +9,7 @@ msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: \n"
-"Last-Translator:@jaoler.fi\n"
+"Last-Translator: @jaoler.fi\n"
"Language-Team: @pekka.bsky.social,@jaoler.fi,@rahi.bsky.social\n"
"Plural-Forms: \n"
@@ -21,9 +21,10 @@ msgstr "(ei sähköpostiosoitetta)"
#~ msgid "{0, plural, one {# invite code available} other {# invite codes available}}"
#~ msgstr ""
-#: src/view/com/profile/ProfileHeader.tsx:593
+#: src/components/ProfileHoverCard/index.web.tsx:323
+#: src/screens/Profile/Header/Metrics.tsx:44
msgid "{following} following"
-msgstr "{following} seuraajaa"
+msgstr "{following} seurattua"
#: src/view/shell/desktop/RightNav.tsx:151
#~ msgid "{invitesAvailable, plural, one {Invite codes: # available} other {Invite codes: # available}}"
@@ -39,7 +40,7 @@ msgstr "{following} seuraajaa"
#~ msgid "{invitesAvailable} invite codes available"
#~ msgstr ""
-#: src/view/shell/Drawer.tsx:440
+#: src/view/shell/Drawer.tsx:449
msgid "{numUnreadNotifications} unread"
msgstr "{numUnreadNotifications} lukematonta"
@@ -47,15 +48,24 @@ msgstr "{numUnreadNotifications} lukematonta"
msgid "<0/> members"
msgstr "<0/> jäsentä"
-#: src/view/com/profile/ProfileHeader.tsx:595
-msgid "<0>{following} 0><1>following1>"
-msgstr "<0>{following} 0><1>seuraajaa1>"
+#: src/view/shell/Drawer.tsx:97
+msgid "<0>{0}0> following"
+msgstr "<0>{0}0> seurattua"
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:30
+#: src/components/ProfileHoverCard/index.web.tsx:314
+msgid "<0>{followers} 0><1>{pluralizedFollowers}1>"
+msgstr ""
+
+#: src/components/ProfileHoverCard/index.web.tsx:326
+#: src/screens/Profile/Header/Metrics.tsx:45
+msgid "<0>{following} 0><1>following1>"
+msgstr "<0>{following} 0><1>seurattua1>"
+
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:31
msgid "<0>Choose your0><1>Recommended1><2>Feeds2>"
msgstr "<0>Valitse0><1>Suositellut1><2>syötteet2>"
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:37
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:38
msgid "<0>Follow some0><1>Recommended1><2>Users2>"
msgstr "<0>Seuraa joitakin0><1>suositeltuja1><2>käyttäjiä2>"
@@ -63,75 +73,89 @@ msgstr "<0>Seuraa joitakin0><1>suositeltuja1><2>käyttäjiä2>"
msgid "<0>Welcome to0><1>Bluesky1>"
msgstr "<0>Tervetuloa0><1>Blueskyhin1>"
-#: src/view/com/profile/ProfileHeader.tsx:558
+#: src/screens/Profile/Header/Handle.tsx:43
msgid "⚠Invalid Handle"
msgstr "⚠Virheellinen käyttäjätunnus"
#: src/view/com/util/moderation/LabelInfo.tsx:45
-msgid "A content warning has been applied to this {0}."
-msgstr "Tämä {0} sisältää sisältövaroituksen."
+#~ msgid "A content warning has been applied to this {0}."
+#~ msgstr "Tämä {0} sisältää sisältövaroituksen."
#: src/lib/hooks/useOTAUpdate.ts:16
-msgid "A new version of the app is available. Please update to continue using the app."
-msgstr "Sovelluksen uusi versio on saatavilla. Päivitä jatkaaksesi sovelluksen käyttöä."
+#~ msgid "A new version of the app is available. Please update to continue using the app."
+#~ msgstr "Sovelluksen uusi versio on saatavilla. Päivitä jatkaaksesi sovelluksen käyttöä."
-#: src/view/com/util/ViewHeader.tsx:83
-#: src/view/screens/Search/Search.tsx:647
+#: src/view/com/util/ViewHeader.tsx:89
+#: src/view/screens/Search/Search.tsx:796
msgid "Access navigation links and settings"
msgstr "Siirry navigointilinkkeihin ja asetuksiin"
-#: src/view/com/home/HomeHeaderLayoutMobile.tsx:51
+#: src/view/com/home/HomeHeaderLayoutMobile.tsx:54
msgid "Access profile and other navigation links"
msgstr "Siirry profiiliin ja muihin navigointilinkkeihin"
-#: src/view/com/modals/EditImage.tsx:299
-#: src/view/screens/Settings/index.tsx:451
+#: src/view/com/modals/EditImage.tsx:300
+#: src/view/screens/Settings/index.tsx:421
msgid "Accessibility"
msgstr "Saavutettavuus"
-#: src/view/com/auth/login/LoginForm.tsx:166
-#: src/view/screens/Settings/index.tsx:308
-#: src/view/screens/Settings/index.tsx:721
+#: src/components/moderation/LabelsOnMe.tsx:42
+msgid "account"
+msgstr "käyttäjätili"
+
+#: src/screens/Login/LoginForm.tsx:144
+#: src/view/screens/Settings/index.tsx:330
+#: src/view/screens/Settings/index.tsx:707
msgid "Account"
-msgstr "Tili"
+msgstr "Käyttäjätili"
-#: src/view/com/profile/ProfileHeader.tsx:246
+#: src/view/com/profile/ProfileMenu.tsx:139
msgid "Account blocked"
-msgstr "Tili on estetty"
+msgstr "Käyttäjtili on estetty"
-#: src/view/com/profile/ProfileHeader.tsx:213
+#: src/view/com/profile/ProfileMenu.tsx:153
+msgid "Account followed"
+msgstr "Käyttäjätili seurannassa"
+
+#: src/view/com/profile/ProfileMenu.tsx:113
msgid "Account muted"
-msgstr "Tili on hiljennetty"
+msgstr "Käyttäjätili hiljennetty"
-#: src/view/com/modals/ModerationDetails.tsx:86
+#: src/components/moderation/ModerationDetailsDialog.tsx:93
+#: src/lib/moderation/useModerationCauseDescription.ts:91
msgid "Account Muted"
-msgstr "Tili on hiljennetty"
+msgstr "Käyttäjätili hiljennetty"
-#: src/view/com/modals/ModerationDetails.tsx:72
+#: src/components/moderation/ModerationDetailsDialog.tsx:82
msgid "Account Muted by List"
-msgstr "Tili on hiljennetty listalla"
+msgstr "Käyttäjätili hiljennetty listalla"
#: src/view/com/util/AccountDropdownBtn.tsx:41
msgid "Account options"
-msgstr "Tilin asetukset"
+msgstr "Käyttäjätilin asetukset"
#: src/view/com/util/AccountDropdownBtn.tsx:25
msgid "Account removed from quick access"
-msgstr "Tili poistettu pikalinkeistä"
+msgstr "Käyttäjätili poistettu pikalinkeistä"
-#: src/view/com/profile/ProfileHeader.tsx:268
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:137
+#: src/view/com/profile/ProfileMenu.tsx:128
msgid "Account unblocked"
-msgstr "Tilin esto poistettu"
+msgstr "Käyttäjätilin esto poistettu"
-#: src/view/com/profile/ProfileHeader.tsx:226
+#: src/view/com/profile/ProfileMenu.tsx:166
+msgid "Account unfollowed"
+msgstr "Käyttäjätilin seuranta lopetettu"
+
+#: src/view/com/profile/ProfileMenu.tsx:102
msgid "Account unmuted"
-msgstr "Tilin hiljennys poistettu"
+msgstr "Käyttäjätilin hiljennys poistettu"
-#: src/components/dialogs/MutedWords.tsx:147
+#: src/components/dialogs/MutedWords.tsx:164
#: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:150
-#: src/view/com/modals/ListAddRemoveUsers.tsx:264
+#: src/view/com/modals/ListAddRemoveUsers.tsx:268
#: src/view/com/modals/UserAddRemoveLists.tsx:219
-#: src/view/screens/ProfileList.tsx:812
+#: src/view/screens/ProfileList.tsx:829
msgid "Add"
msgstr "Lisää"
@@ -139,62 +163,63 @@ msgstr "Lisää"
msgid "Add a content warning"
msgstr "Lisää sisältövaroitus"
-#: src/view/screens/ProfileList.tsx:802
+#: src/view/screens/ProfileList.tsx:819
msgid "Add a user to this list"
msgstr "Lisää käyttäjä tähän listaan"
-#: src/view/screens/Settings/index.tsx:383
-#: src/view/screens/Settings/index.tsx:392
+#: src/components/dialogs/SwitchAccount.tsx:55
+#: src/view/screens/Settings/index.tsx:405
+#: src/view/screens/Settings/index.tsx:414
msgid "Add account"
-msgstr "Lisää tili"
+msgstr "Lisää käyttäjätili"
#: src/view/com/composer/photos/Gallery.tsx:119
#: src/view/com/composer/photos/Gallery.tsx:180
-#: src/view/com/modals/AltImage.tsx:116
+#: src/view/com/modals/AltImage.tsx:117
msgid "Add alt text"
msgstr "Lisää ALT-teksti"
-#: src/view/screens/AppPasswords.tsx:102
-#: src/view/screens/AppPasswords.tsx:143
-#: src/view/screens/AppPasswords.tsx:156
+#: src/view/screens/AppPasswords.tsx:104
+#: src/view/screens/AppPasswords.tsx:145
+#: src/view/screens/AppPasswords.tsx:158
msgid "Add App Password"
msgstr "Lisää sovelluksen salasana"
#: src/view/com/modals/report/InputIssueDetails.tsx:41
#: src/view/com/modals/report/Modal.tsx:191
-msgid "Add details"
-msgstr "Lisää tiedot"
+#~ msgid "Add details"
+#~ msgstr "Lisää tiedot"
#: src/view/com/modals/report/Modal.tsx:194
-msgid "Add details to report"
-msgstr "Lisää tiedot raporttiin"
+#~ msgid "Add details to report"
+#~ msgstr "Lisää tiedot raporttiin"
-#: src/view/com/composer/Composer.tsx:453
+#: src/view/com/composer/Composer.tsx:467
msgid "Add link card"
msgstr "Lisää linkkikortti"
-#: src/view/com/composer/Composer.tsx:458
+#: src/view/com/composer/Composer.tsx:472
msgid "Add link card:"
msgstr "Lisää linkkikortti:"
-#: src/components/dialogs/MutedWords.tsx:140
+#: src/components/dialogs/MutedWords.tsx:157
msgid "Add mute word for configured settings"
msgstr "Lisää hiljennetty sana määritettyihin asetuksiin"
-#: src/components/dialogs/MutedWords.tsx:74
+#: src/components/dialogs/MutedWords.tsx:86
msgid "Add muted words and tags"
-msgstr "Lisää hiljennetyt sanat ja tunnisteet"
+msgstr "Lisää hiljennetyt sanat ja aihetunnisteet"
-#: src/view/com/modals/ChangeHandle.tsx:417
+#: src/view/com/modals/ChangeHandle.tsx:416
msgid "Add the following DNS record to your domain:"
msgstr "Lisää seuraava DNS-merkintä verkkotunnukseesi:"
-#: src/view/com/profile/ProfileHeader.tsx:310
+#: src/view/com/profile/ProfileMenu.tsx:263
+#: src/view/com/profile/ProfileMenu.tsx:266
msgid "Add to Lists"
msgstr "Lisää listoihin"
-#: src/view/com/feeds/FeedSourceCard.tsx:245
-#: src/view/screens/ProfileFeed.tsx:273
+#: src/view/com/feeds/FeedSourceCard.tsx:234
msgid "Add to my feeds"
msgstr "Lisää syötteisiini"
@@ -207,7 +232,7 @@ msgstr "Lisätty"
msgid "Added to list"
msgstr "Lisätty listaan"
-#: src/view/com/feeds/FeedSourceCard.tsx:127
+#: src/view/com/feeds/FeedSourceCard.tsx:108
msgid "Added to my feeds"
msgstr "Lisätty syötteisiini"
@@ -215,32 +240,39 @@ msgstr "Lisätty syötteisiini"
msgid "Adjust the number of likes a reply must have to be shown in your feed."
msgstr "Säädä, kuinka monta tykkäystä vastauksen on saatava näkyäkseen syötteessäsi."
+#: src/lib/moderation/useGlobalLabelStrings.ts:34
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:117
#: src/view/com/modals/SelfLabel.tsx:75
msgid "Adult Content"
msgstr "Aikuissisältöä"
#: src/view/com/modals/ContentFilteringSettings.tsx:141
-msgid "Adult content can only be enabled via the Web at <0/>."
-msgstr "Aikuissisältö voidaan ottaa käyttöön vain verkon kautta osoitteessa <0/>."
+#~ msgid "Adult content can only be enabled via the Web at <0/>."
+#~ msgstr "Aikuissisältö voidaan ottaa käyttöön vain verkon kautta osoitteessa <0/>."
#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:78
#~ msgid "Adult content can only be enabled via the Web at <0>bsky.app0>."
#~ msgstr ""
-#: src/view/screens/Settings/index.tsx:664
-msgid "Advanced"
-msgstr "Edistynyt"
+#: src/components/moderation/LabelPreference.tsx:242
+msgid "Adult content is disabled."
+msgstr "Aikuissisältö on estetty"
-#: src/view/screens/Feeds.tsx:666
+#: src/screens/Moderation/index.tsx:375
+#: src/view/screens/Settings/index.tsx:635
+msgid "Advanced"
+msgstr "Edistyneemmät"
+
+#: src/view/screens/Feeds.tsx:691
msgid "All the feeds you've saved, right in one place."
msgstr "Kaikki tallentamasi syötteet yhdessä paikassa."
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:221
-#: src/view/com/modals/ChangePassword.tsx:168
+#: src/screens/Login/ForgotPasswordForm.tsx:178
+#: src/view/com/modals/ChangePassword.tsx:170
msgid "Already have a code?"
msgstr "Onko sinulla jo koodi?"
-#: src/view/com/auth/login/ChooseAccountForm.tsx:98
+#: src/screens/Login/ChooseAccountForm.tsx:39
msgid "Already signed in as @{0}"
msgstr "Kirjautuneena sisään nimellä @{0}"
@@ -248,7 +280,7 @@ msgstr "Kirjautuneena sisään nimellä @{0}"
msgid "ALT"
msgstr "ALT"
-#: src/view/com/modals/EditImage.tsx:315
+#: src/view/com/modals/EditImage.tsx:316
msgid "Alt text"
msgstr "ALT-teksti"
@@ -264,12 +296,20 @@ msgstr "Sähköposti on lähetetty osoitteeseen {0}. Siinä on vahvistuskoodi, j
msgid "An email has been sent to your previous address, {0}. It includes a confirmation code which you can enter below."
msgstr "Sähköposti on lähetetty aiempaan osoitteeseesi, {0}. Siinä on vahvistuskoodi, jonka voit syöttää alla."
-#: src/view/com/profile/FollowButton.tsx:30
-#: src/view/com/profile/FollowButton.tsx:40
+#: src/lib/moderation/useReportOptions.ts:26
+msgid "An issue not included in these options"
+msgstr "Ongelma, jota ei ole sisällytetty näihin vaihtoehtoihin"
+
+#: src/components/hooks/useFollowMethods.ts:35
+#: src/components/hooks/useFollowMethods.ts:50
+#: src/view/com/profile/FollowButton.tsx:35
+#: src/view/com/profile/FollowButton.tsx:45
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:188
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:198
msgid "An issue occurred, please try again."
msgstr "Tapahtui virhe, yritä uudelleen."
-#: src/view/com/notifications/FeedItem.tsx:236
+#: src/view/com/notifications/FeedItem.tsx:242
#: src/view/com/threadgate/WhoCanReply.tsx:178
msgid "and"
msgstr "ja"
@@ -278,23 +318,27 @@ msgstr "ja"
msgid "Animals"
msgstr "Eläimet"
+#: src/lib/moderation/useReportOptions.ts:31
+msgid "Anti-Social Behavior"
+msgstr "Epäsosiaalinen käytös"
+
#: src/view/screens/LanguageSettings.tsx:95
msgid "App Language"
msgstr "Sovelluksen kieli"
-#: src/view/screens/AppPasswords.tsx:228
+#: src/view/screens/AppPasswords.tsx:223
msgid "App password deleted"
msgstr "Sovelluksen salasana poistettu"
-#: src/view/com/modals/AddAppPasswords.tsx:134
+#: src/view/com/modals/AddAppPasswords.tsx:135
msgid "App Password names can only contain letters, numbers, spaces, dashes, and underscores."
msgstr "Sovelluksen salasanan nimet voivat sisältää vain kirjaimia, numeroita, välilyöntejä, viivoja ja alaviivoja."
-#: src/view/com/modals/AddAppPasswords.tsx:99
+#: src/view/com/modals/AddAppPasswords.tsx:100
msgid "App Password names must be at least 4 characters long."
msgstr "Sovelluksen salasanojen nimien on oltava vähintään 4 merkkiä pitkiä."
-#: src/view/screens/Settings/index.tsx:675
+#: src/view/screens/Settings/index.tsx:646
msgid "App password settings"
msgstr "Sovelluksen salasanan asetukset"
@@ -302,48 +346,64 @@ msgstr "Sovelluksen salasanan asetukset"
#~ msgid "App passwords"
#~ msgstr ""
-#: src/Navigation.tsx:237
-#: src/view/screens/AppPasswords.tsx:187
-#: src/view/screens/Settings/index.tsx:684
+#: src/Navigation.tsx:251
+#: src/view/screens/AppPasswords.tsx:189
+#: src/view/screens/Settings/index.tsx:655
msgid "App Passwords"
msgstr "Sovellussalasanat"
+#: src/components/moderation/LabelsOnMeDialog.tsx:133
+#: src/components/moderation/LabelsOnMeDialog.tsx:136
+msgid "Appeal"
+msgstr "Valita"
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:201
+msgid "Appeal \"{0}\" label"
+msgstr "Valita \"{0}\" -merkinnästä"
+
#: src/view/com/util/forms/PostDropdownBtn.tsx:295
-msgid "Appeal content warning"
-msgstr "Valita sisältövaroituksesta"
+#~ msgid "Appeal content warning"
+#~ msgstr "Valita sisältövaroituksesta"
#: src/view/com/modals/AppealLabel.tsx:65
-msgid "Appeal Content Warning"
-msgstr "Valita sisältövaroituksesta"
+#~ msgid "Appeal Content Warning"
+#~ msgstr "Valita sisältövaroituksesta"
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:192
+msgid "Appeal submitted."
+msgstr "Valitus jätetty."
#: src/view/com/util/moderation/LabelInfo.tsx:52
-msgid "Appeal this decision"
-msgstr "Valita tästä päätöksestä"
+#~ msgid "Appeal this decision"
+#~ msgstr "Valita tästä päätöksestä"
#: src/view/com/util/moderation/LabelInfo.tsx:56
-msgid "Appeal this decision."
-msgstr "Valita tästä päätöksestä."
+#~ msgid "Appeal this decision."
+#~ msgstr "Valita tästä päätöksestä."
-#: src/view/screens/Settings/index.tsx:466
+#: src/view/screens/Settings/index.tsx:436
msgid "Appearance"
msgstr "Ulkonäkö"
-#: src/view/screens/AppPasswords.tsx:224
+#: src/view/screens/AppPasswords.tsx:265
msgid "Are you sure you want to delete the app password \"{name}\"?"
msgstr "Haluatko varmasti poistaa sovellussalasanan \"{name}\"?"
-#: src/view/com/composer/Composer.tsx:150
+#: src/view/com/feeds/FeedSourceCard.tsx:280
+msgid "Are you sure you want to remove {0} from your feeds?"
+msgstr "Haluatko varmasti poistaa {0} syötteistäsi?"
+
+#: src/view/com/composer/Composer.tsx:509
msgid "Are you sure you'd like to discard this draft?"
msgstr "Haluatko varmasti hylätä tämän luonnoksen?"
-#: src/components/dialogs/MutedWords.tsx:233
-#: src/view/screens/ProfileList.tsx:365
+#: src/components/dialogs/MutedWords.tsx:281
msgid "Are you sure?"
msgstr "Oletko varma?"
#: src/view/com/util/forms/PostDropdownBtn.tsx:278
-msgid "Are you sure? This cannot be undone."
-msgstr "Oletko varma? Tätä ei voi perua."
+#~ msgid "Are you sure? This cannot be undone."
+#~ msgstr "Oletko varma? Tätä ei voi perua."
#: src/view/com/composer/select-language/SuggestedLanguage.tsx:60
msgid "Are you writing in <0>{0}0>?"
@@ -357,151 +417,179 @@ msgstr "Taide"
msgid "Artistic or non-erotic nudity."
msgstr "Taiteellinen tai ei-eroottinen alastomuus."
-#: src/view/com/auth/create/CreateAccount.tsx:158
-#: src/view/com/auth/login/ChooseAccountForm.tsx:151
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:174
-#: src/view/com/auth/login/LoginForm.tsx:259
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:179
-#: src/view/com/modals/report/InputIssueDetails.tsx:46
-#: src/view/com/post-thread/PostThread.tsx:472
-#: src/view/com/post-thread/PostThread.tsx:522
-#: src/view/com/post-thread/PostThread.tsx:530
-#: src/view/com/profile/ProfileHeader.tsx:649
-#: src/view/com/util/ViewHeader.tsx:81
+#: src/screens/Signup/StepHandle.tsx:119
+msgid "At least 3 characters"
+msgstr ""
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:246
+#: src/components/moderation/LabelsOnMeDialog.tsx:247
+#: src/screens/Login/ChooseAccountForm.tsx:73
+#: src/screens/Login/ChooseAccountForm.tsx:78
+#: src/screens/Login/ForgotPasswordForm.tsx:129
+#: src/screens/Login/ForgotPasswordForm.tsx:135
+#: src/screens/Login/LoginForm.tsx:221
+#: src/screens/Login/LoginForm.tsx:227
+#: src/screens/Login/SetNewPasswordForm.tsx:160
+#: src/screens/Login/SetNewPasswordForm.tsx:166
+#: src/screens/Profile/Header/Shell.tsx:96
+#: src/screens/Signup/index.tsx:180
+#: src/view/com/util/ViewHeader.tsx:87
msgid "Back"
msgstr "Takaisin"
#: src/view/com/post-thread/PostThread.tsx:480
-msgctxt "action"
-msgid "Back"
-msgstr "Takaisin"
+#~ msgctxt "action"
+#~ msgid "Back"
+#~ msgstr "Takaisin"
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:136
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:144
msgid "Based on your interest in {interestsText}"
msgstr "Perustuen kiinnostukseesi {interestsText}"
-#: src/view/screens/Settings/index.tsx:523
+#: src/view/screens/Settings/index.tsx:493
msgid "Basics"
msgstr "Perusasiat"
-#: src/view/com/auth/create/Step1.tsx:250
-#: src/view/com/modals/BirthDateSettings.tsx:73
+#: src/components/dialogs/BirthDateSettings.tsx:107
msgid "Birthday"
msgstr "Syntymäpäivä"
-#: src/view/screens/Settings/index.tsx:340
+#: src/view/screens/Settings/index.tsx:362
msgid "Birthday:"
msgstr "Syntymäpäivä:"
-#: src/view/com/profile/ProfileHeader.tsx:239
-#: src/view/com/profile/ProfileHeader.tsx:346
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:286
+#: src/view/com/profile/ProfileMenu.tsx:361
+msgid "Block"
+msgstr "Estä"
+
+#: src/view/com/profile/ProfileMenu.tsx:300
+#: src/view/com/profile/ProfileMenu.tsx:307
msgid "Block Account"
msgstr "Estä käyttäjä"
-#: src/view/screens/ProfileList.tsx:556
-msgid "Block accounts"
-msgstr "Estä käyttäjät"
+#: src/view/com/profile/ProfileMenu.tsx:344
+msgid "Block Account?"
+msgstr "Estä käyttäjätili?"
-#: src/view/screens/ProfileList.tsx:506
+#: src/view/screens/ProfileList.tsx:532
+msgid "Block accounts"
+msgstr "Estä käyttäjätilit"
+
+#: src/view/screens/ProfileList.tsx:480
+#: src/view/screens/ProfileList.tsx:636
msgid "Block list"
msgstr "Estettyjen lista"
-#: src/view/screens/ProfileList.tsx:316
+#: src/view/screens/ProfileList.tsx:631
msgid "Block these accounts?"
msgstr "Estetäänkö nämä käyttäjät?"
#: src/view/screens/ProfileList.tsx:320
-msgid "Block this List"
-msgstr "Estä tämä lista"
+#~ msgid "Block this List"
+#~ msgstr "Estä tämä lista"
#: src/view/com/lists/ListCard.tsx:110
-#: src/view/com/util/post-embeds/QuoteEmbed.tsx:61
+#: src/view/com/util/post-embeds/QuoteEmbed.tsx:58
msgid "Blocked"
msgstr "Estetty"
-#: src/view/screens/Moderation.tsx:142
+#: src/screens/Moderation/index.tsx:267
msgid "Blocked accounts"
msgstr "Estetyt käyttäjät"
-#: src/Navigation.tsx:130
-#: src/view/screens/ModerationBlockedAccounts.tsx:107
+#: src/Navigation.tsx:134
+#: src/view/screens/ModerationBlockedAccounts.tsx:113
msgid "Blocked Accounts"
msgstr "Estetyt käyttäjät"
-#: src/view/com/profile/ProfileHeader.tsx:241
+#: src/view/com/profile/ProfileMenu.tsx:356
msgid "Blocked accounts cannot reply in your threads, mention you, or otherwise interact with you."
msgstr "Estetyt käyttäjät eivät voi vastata viesteihisi, mainita sinua tai muuten olla vuorovaikutuksessa kanssasi."
-#: src/view/screens/ModerationBlockedAccounts.tsx:115
+#: src/view/screens/ModerationBlockedAccounts.tsx:121
msgid "Blocked accounts cannot reply in your threads, mention you, or otherwise interact with you. You will not see their content and they will be prevented from seeing yours."
msgstr "Estetyt käyttäjät eivät voi vastata viesteihisi, mainita sinua tai muuten olla vuorovaikutuksessa kanssasi. Et näe heidän sisältöään ja he eivät näe sinun sisältöäsi."
-#: src/view/com/post-thread/PostThread.tsx:324
+#: src/view/com/post-thread/PostThread.tsx:313
msgid "Blocked post."
msgstr "Estetty viesti."
-#: src/view/screens/ProfileList.tsx:318
+#: src/screens/Profile/Sections/Labels.tsx:163
+msgid "Blocking does not prevent this labeler from placing labels on your account."
+msgstr "Estäminen ei estä tätä merkitsijää asettamasta merkintöjä tilillesi."
+
+#: src/view/screens/ProfileList.tsx:633
msgid "Blocking is public. Blocked accounts cannot reply in your threads, mention you, or otherwise interact with you."
msgstr "Estäminen on julkista. Estetyt käyttäjät eivät voi vastata viesteihisi, mainita sinua tai muuten olla vuorovaikutuksessa kanssasi."
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:93
-#: src/view/com/auth/SplashScreen.web.tsx:133
+#: src/view/com/profile/ProfileMenu.tsx:353
+msgid "Blocking will not prevent labels from being applied on your account, but it will stop this account from replying in your threads or interacting with you."
+msgstr "Estäminen ei estä merkintöjen tekemistä tilillesi, mutta se estää kyseistä tiliä vastaamasta ketjuissasi tai muuten vuorovaikuttamasta kanssasi."
+
+#: src/view/com/auth/SplashScreen.web.tsx:149
msgid "Blog"
msgstr "Blogi"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:31
#: src/view/com/auth/server-input/index.tsx:89
-#: src/view/com/auth/server-input/index.tsx:90
+#: src/view/com/auth/server-input/index.tsx:91
msgid "Bluesky"
msgstr "Bluesky"
-#: src/view/com/auth/server-input/index.tsx:150
+#: src/view/com/auth/server-input/index.tsx:154
msgid "Bluesky is an open network where you can choose your hosting provider. Custom hosting is now available in beta for developers."
msgstr "Bluesky on avoin verkko, jossa voit valita palveluntarjoajasi. Räätälöity palveluntarjoajan määritys on nyt saatavilla betavaiheen kehittäjille."
#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:80
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:80
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:82
msgid "Bluesky is flexible."
msgstr "Bluesky on joustava."
#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:69
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:69
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:71
msgid "Bluesky is open."
msgstr "Bluesky on avoin."
#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:56
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:56
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:58
msgid "Bluesky is public."
msgstr "Bluesky on julkinen."
#: src/view/com/modals/Waitlist.tsx:70
-msgid "Bluesky uses invites to build a healthier community. If you don't know anybody with an invite, you can sign up for the waitlist and we'll send one soon."
-msgstr "Bluesky käyttää kutsuja rakentaakseen terveellisemmän yhteisön. Jos et tunne ketään, jolla on kutsu, voit ilmoittautua odotuslistalle, niin lähetämme sinulle pian yhden."
+#~ msgid "Bluesky uses invites to build a healthier community. If you don't know anybody with an invite, you can sign up for the waitlist and we'll send one soon."
+#~ msgstr "Bluesky käyttää kutsuja rakentaakseen terveellisemmän yhteisön. Jos et tunne ketään, jolla on kutsu, voit ilmoittautua odotuslistalle, niin lähetämme sinulle pian yhden."
-#: src/view/screens/Moderation.tsx:245
+#: src/screens/Moderation/index.tsx:533
msgid "Bluesky will not show your profile and posts to logged-out users. Other apps may not honor this request. This does not make your account private."
-msgstr "Bluesky ei näytä profiiliasi ja viestejäsi kirjautumattomille käyttäjille. Toiset sovellukset eivät ehkä noudata tätä asetusta. Tämä ei tee tilistäsi yksityistä."
+msgstr "Bluesky ei näytä profiiliasi ja viestejäsi kirjautumattomille käyttäjille. Toiset sovellukset eivät ehkä noudata tätä asetusta. Tämä ei tee käyttäjätilistäsi yksityistä."
#: src/view/com/modals/ServerInput.tsx:78
#~ msgid "Bluesky.Social"
#~ msgstr ""
+#: src/lib/moderation/useLabelBehaviorDescription.ts:53
+msgid "Blur images"
+msgstr "Sumenna kuvat"
+
+#: src/lib/moderation/useLabelBehaviorDescription.ts:51
+msgid "Blur images and filter from feeds"
+msgstr "Sumenna kuvat ja suodata syötteistä"
+
#: src/screens/Onboarding/index.tsx:33
msgid "Books"
msgstr "Kirjat"
-#: src/view/screens/Settings/index.tsx:859
-msgid "Build version {0} {1}"
-msgstr "Versio {0} {1}"
+#: src/view/screens/Settings/index.tsx:893
+#~ msgid "Build version {0} {1}"
+#~ msgstr "Versio {0} {1}"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:87
-#: src/view/com/auth/SplashScreen.web.tsx:128
+#: src/view/com/auth/SplashScreen.web.tsx:146
msgid "Business"
msgstr "Yritys"
#: src/view/com/modals/ServerInput.tsx:115
#~ msgid "Button disabled. Input custom domain to proceed."
-#~ msgstr ""
+#~ msgstr "Painike poistettu käytöstä. Anna mukautettu verkkotunnus jatkaaksesi."
#: src/view/com/profile/ProfileSubpageHeader.tsx:157
msgid "by —"
@@ -511,95 +599,113 @@ msgstr "käyttäjä —"
msgid "by {0}"
msgstr "käyttäjältä {0}"
+#: src/components/LabelingServiceCard/index.tsx:57
+msgid "By {0}"
+msgstr ""
+
#: src/view/com/profile/ProfileSubpageHeader.tsx:161
msgid "by <0/>"
msgstr "käyttäjältä <0/>"
+#: src/screens/Signup/StepInfo/Policies.tsx:74
+msgid "By creating an account you agree to the {els}."
+msgstr "Luomalla käyttäjätilin hyväksyt {els}."
+
#: src/view/com/profile/ProfileSubpageHeader.tsx:159
msgid "by you"
msgstr "sinulta"
-#: src/view/com/composer/photos/OpenCameraBtn.tsx:60
-#: src/view/com/util/UserAvatar.tsx:224
-#: src/view/com/util/UserBanner.tsx:40
+#: src/view/com/composer/photos/OpenCameraBtn.tsx:77
msgid "Camera"
msgstr "Kamera"
-#: src/view/com/modals/AddAppPasswords.tsx:216
+#: src/view/com/modals/AddAppPasswords.tsx:217
msgid "Can only contain letters, numbers, spaces, dashes, and underscores. Must be at least 4 characters long, but no more than 32 characters long."
msgstr "Voi sisältää vain kirjaimia, numeroita, välilyöntejä, viivoja ja alaviivoja. Täytyy olla vähintään 4 merkkiä pitkä, mutta enintään 32 merkkiä pitkä."
-#: src/components/Prompt.tsx:91
-#: src/view/com/composer/Composer.tsx:307
-#: src/view/com/composer/Composer.tsx:312
+#: src/components/Menu/index.tsx:213
+#: src/components/Prompt.tsx:113
+#: src/components/Prompt.tsx:115
+#: src/components/TagMenu/index.tsx:268
+#: src/view/com/composer/Composer.tsx:317
+#: src/view/com/composer/Composer.tsx:322
#: src/view/com/modals/ChangeEmail.tsx:218
#: src/view/com/modals/ChangeEmail.tsx:220
-#: src/view/com/modals/ChangePassword.tsx:265
-#: src/view/com/modals/ChangePassword.tsx:268
-#: src/view/com/modals/CreateOrEditList.tsx:355
-#: src/view/com/modals/EditImage.tsx:323
-#: src/view/com/modals/EditProfile.tsx:249
+#: src/view/com/modals/ChangeHandle.tsx:154
+#: src/view/com/modals/ChangePassword.tsx:267
+#: src/view/com/modals/ChangePassword.tsx:270
+#: src/view/com/modals/CreateOrEditList.tsx:356
+#: src/view/com/modals/crop-image/CropImage.web.tsx:138
+#: src/view/com/modals/EditImage.tsx:324
+#: src/view/com/modals/EditProfile.tsx:250
#: src/view/com/modals/InAppBrowserConsent.tsx:78
-#: src/view/com/modals/LinkWarning.tsx:87
-#: src/view/com/modals/Repost.tsx:87
+#: src/view/com/modals/InAppBrowserConsent.tsx:80
+#: src/view/com/modals/LinkWarning.tsx:105
+#: src/view/com/modals/LinkWarning.tsx:107
+#: src/view/com/modals/Repost.tsx:88
#: src/view/com/modals/VerifyEmail.tsx:247
#: src/view/com/modals/VerifyEmail.tsx:253
-#: src/view/com/modals/Waitlist.tsx:142
-#: src/view/screens/Search/Search.tsx:693
-#: src/view/shell/desktop/Search.tsx:238
+#: src/view/screens/Search/Search.tsx:865
+#: src/view/shell/desktop/Search.tsx:239
msgid "Cancel"
msgstr "Peruuta"
-#: src/view/com/modals/Confirm.tsx:88
-#: src/view/com/modals/Confirm.tsx:91
-#: src/view/com/modals/CreateOrEditList.tsx:360
-#: src/view/com/modals/DeleteAccount.tsx:156
-#: src/view/com/modals/DeleteAccount.tsx:234
+#: src/view/com/modals/CreateOrEditList.tsx:361
+#: src/view/com/modals/DeleteAccount.tsx:155
+#: src/view/com/modals/DeleteAccount.tsx:233
msgctxt "action"
msgid "Cancel"
msgstr "Peruuta"
-#: src/view/com/modals/DeleteAccount.tsx:152
-#: src/view/com/modals/DeleteAccount.tsx:230
+#: src/view/com/modals/DeleteAccount.tsx:151
+#: src/view/com/modals/DeleteAccount.tsx:229
msgid "Cancel account deletion"
-msgstr "Peruuta tilin poisto"
+msgstr "Peruuta käyttäjätilin poisto"
-#: src/view/com/modals/ChangeHandle.tsx:149
+#: src/view/com/modals/ChangeHandle.tsx:150
msgid "Cancel change handle"
msgstr "Peruuta käyttäjätunnuksen vaihto"
-#: src/view/com/modals/crop-image/CropImage.web.tsx:134
+#: src/view/com/modals/crop-image/CropImage.web.tsx:135
msgid "Cancel image crop"
msgstr "Peruuta kuvan rajaus"
-#: src/view/com/modals/EditProfile.tsx:244
+#: src/view/com/modals/EditProfile.tsx:245
msgid "Cancel profile editing"
msgstr "Peruuta profiilin muokkaus"
-#: src/view/com/modals/Repost.tsx:78
+#: src/view/com/modals/Repost.tsx:79
msgid "Cancel quote post"
msgstr "Peruuta uudelleenpostaus"
#: src/view/com/modals/ListAddRemoveUsers.tsx:87
-#: src/view/shell/desktop/Search.tsx:234
+#: src/view/shell/desktop/Search.tsx:235
msgid "Cancel search"
msgstr "Peruuta haku"
#: src/view/com/modals/Waitlist.tsx:136
-msgid "Cancel waitlist signup"
-msgstr "Peruuta odotuslistalle liittyminen"
+#~ msgid "Cancel waitlist signup"
+#~ msgstr "Peruuta odotuslistalle liittyminen"
-#: src/view/screens/Settings/index.tsx:334
+#: src/view/com/modals/LinkWarning.tsx:106
+msgid "Cancels opening the linked website"
+msgstr "Peruuttaa linkitetyn verkkosivuston avaamisen"
+
+#: src/view/com/modals/VerifyEmail.tsx:152
+msgid "Change"
+msgstr "Vaihda"
+
+#: src/view/screens/Settings/index.tsx:356
msgctxt "action"
msgid "Change"
msgstr "Vaihda"
-#: src/view/screens/Settings/index.tsx:696
+#: src/view/screens/Settings/index.tsx:667
msgid "Change handle"
msgstr "Vaihda käyttäjätunnus"
-#: src/view/com/modals/ChangeHandle.tsx:161
-#: src/view/screens/Settings/index.tsx:705
+#: src/view/com/modals/ChangeHandle.tsx:162
+#: src/view/screens/Settings/index.tsx:678
msgid "Change Handle"
msgstr "Vaihda käyttäjätunnus"
@@ -607,11 +713,12 @@ msgstr "Vaihda käyttäjätunnus"
msgid "Change my email"
msgstr "Vaihda sähköpostiosoitteeni"
-#: src/view/screens/Settings/index.tsx:732
+#: src/view/screens/Settings/index.tsx:718
msgid "Change password"
msgstr "Vaihda salasana"
-#: src/view/screens/Settings/index.tsx:741
+#: src/view/com/modals/ChangePassword.tsx:141
+#: src/view/screens/Settings/index.tsx:729
msgid "Change Password"
msgstr "Vaihda salasana"
@@ -620,8 +727,8 @@ msgid "Change post language to {0}"
msgstr "Vaihda julkaisun kieleksi {0}"
#: src/view/screens/Settings/index.tsx:733
-msgid "Change your Bluesky password"
-msgstr "Vaihda Bluesky-salasanasi"
+#~ msgid "Change your Bluesky password"
+#~ msgstr "Vaihda Bluesky-salasanasi"
#: src/view/com/modals/ChangeEmail.tsx:109
msgid "Change Your Email"
@@ -632,15 +739,15 @@ msgstr "Vaihda sähköpostiosoitteesi"
msgid "Check my status"
msgstr "Tarkista tilani"
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:121
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:122
msgid "Check out some recommended feeds. Tap + to add them to your list of pinned feeds."
msgstr "Katso joitakin suositeltuja syötteitä. Napauta + lisätäksesi ne kiinnitettyjen syötteiden luetteloon."
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:185
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:186
msgid "Check out some recommended users. Follow them to see similar users."
msgstr "Tutustu suositeltuihin käyttäjiin. Seuraa heitä löytääksesi samankaltaisia käyttäjiä."
-#: src/view/com/modals/DeleteAccount.tsx:169
+#: src/view/com/modals/DeleteAccount.tsx:168
msgid "Check your inbox for an email with the confirmation code to enter below:"
msgstr "Tarkista sähköpostisi ja syötä saamasi vahvistuskoodi alle:"
@@ -649,121 +756,131 @@ msgid "Choose \"Everybody\" or \"Nobody\""
msgstr "Valitse \"Kaikki\" tai \"Ei kukaan\""
#: src/view/screens/Settings/index.tsx:697
-msgid "Choose a new Bluesky username or create"
-msgstr "Valitse uusi Bluesky-käyttäjätunnus tai luo"
+#~ msgid "Choose a new Bluesky username or create"
+#~ msgstr "Valitse uusi Bluesky-käyttäjätunnus tai luo"
#: src/view/com/auth/server-input/index.tsx:79
msgid "Choose Service"
msgstr "Valitse palvelu"
-#: src/screens/Onboarding/StepFinished.tsx:135
+#: src/screens/Onboarding/StepFinished.tsx:139
msgid "Choose the algorithms that power your custom feeds."
msgstr "Valitse algoritmit, jotka ohjaavat mukautettuja syötteitäsi."
#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:83
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:83
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:85
msgid "Choose the algorithms that power your experience with custom feeds."
msgstr "Valitse algoritmit, jotka ohjaavat kokemustasi mukautettujen syötteiden kanssa."
#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:103
#~ msgid "Choose your algorithmic feeds"
-#~ msgstr ""
+#~ msgstr "Valitse algoritmiperustaiset syötteet"
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:103
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:104
msgid "Choose your main feeds"
msgstr "Valitse pääsyötteet"
-#: src/view/com/auth/create/Step1.tsx:219
+#: src/screens/Signup/StepInfo/index.tsx:114
msgid "Choose your password"
msgstr "Valitse salasanasi"
-#: src/view/screens/Settings/index.tsx:834
-#: src/view/screens/Settings/index.tsx:835
+#: src/view/screens/Settings/index.tsx:832
msgid "Clear all legacy storage data"
msgstr "Tyhjennä kaikki vanhan tietomallin mukaiset tiedot"
-#: src/view/screens/Settings/index.tsx:837
+#: src/view/screens/Settings/index.tsx:835
msgid "Clear all legacy storage data (restart after this)"
msgstr "Tyhjennä kaikki vanhan tietomallin tiedot (käynnistä uudelleen tämän jälkeen)"
-#: src/view/screens/Settings/index.tsx:846
-#: src/view/screens/Settings/index.tsx:847
+#: src/view/screens/Settings/index.tsx:844
msgid "Clear all storage data"
msgstr "Tyhjennä kaikki tallennukset"
-#: src/view/screens/Settings/index.tsx:849
+#: src/view/screens/Settings/index.tsx:847
msgid "Clear all storage data (restart after this)"
msgstr "Tyhjennä kaikki tallennukset (käynnistä uudelleen tämän jälkeen)"
#: src/view/com/util/forms/SearchInput.tsx:88
-#: src/view/screens/Search/Search.tsx:697
+#: src/view/screens/Search/Search.tsx:846
msgid "Clear search query"
msgstr "Tyhjennä hakukysely"
+#: src/view/screens/Settings/index.tsx:833
+msgid "Clears all legacy storage data"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:845
+msgid "Clears all storage data"
+msgstr "Tyhjentää kaikki tallennustiedot"
+
#: src/view/screens/Support.tsx:40
msgid "click here"
msgstr "klikkaa tästä"
-#: src/components/RichText.tsx:189
-#: src/components/TagMenu/index.web.tsx:125
+#: src/components/TagMenu/index.web.tsx:138
msgid "Click here to open tag menu for {tag}"
-msgstr "Avaa tästä valikko tunnisteelle {tag}"
+msgstr "Avaa tästä valikko aihetunnisteelle {tag}"
+
+#: src/components/RichText.tsx:198
+msgid "Click here to open tag menu for #{tag}"
+msgstr "Klikkaa tästä avataksesi valikon aihetunnisteelle #{tag}."
#: src/screens/Onboarding/index.tsx:35
msgid "Climate"
msgstr "Ilmasto"
-#: src/view/com/modals/ChangePassword.tsx:265
-#: src/view/com/modals/ChangePassword.tsx:268
+#: src/view/com/modals/ChangePassword.tsx:267
+#: src/view/com/modals/ChangePassword.tsx:270
msgid "Close"
msgstr "Sulje"
-#: src/components/Dialog/index.web.tsx:80
-#: src/components/Dialog/index.web.tsx:194
+#: src/components/Dialog/index.web.tsx:106
+#: src/components/Dialog/index.web.tsx:218
msgid "Close active dialog"
msgstr "Sulje aktiivinen ikkuna"
-#: src/view/com/auth/login/PasswordUpdatedForm.tsx:38
+#: src/screens/Login/PasswordUpdatedForm.tsx:38
msgid "Close alert"
msgstr "Sulje hälytys"
-#: src/view/com/util/BottomSheetCustomBackdrop.tsx:33
+#: src/view/com/util/BottomSheetCustomBackdrop.tsx:36
msgid "Close bottom drawer"
msgstr "Sulje alavalinnat"
-#: src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx:26
+#: src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx:36
msgid "Close image"
msgstr "Sulje kuva"
-#: src/view/com/lightbox/Lightbox.web.tsx:119
+#: src/view/com/lightbox/Lightbox.web.tsx:129
msgid "Close image viewer"
msgstr "Sulje kuvankatselu"
-#: src/view/shell/index.web.tsx:51
+#: src/view/shell/index.web.tsx:57
msgid "Close navigation footer"
msgstr "Sulje alanavigointi"
-#: src/components/TagMenu/index.tsx:266
+#: src/components/Menu/index.tsx:207
+#: src/components/TagMenu/index.tsx:262
msgid "Close this dialog"
msgstr "Sulje tämä valintaikkuna"
-#: src/view/shell/index.web.tsx:52
+#: src/view/shell/index.web.tsx:58
msgid "Closes bottom navigation bar"
msgstr "Sulkee alanavigaation"
-#: src/view/com/auth/login/PasswordUpdatedForm.tsx:39
+#: src/screens/Login/PasswordUpdatedForm.tsx:39
msgid "Closes password update alert"
msgstr "Sulkee salasanan päivitysilmoituksen"
-#: src/view/com/composer/Composer.tsx:309
+#: src/view/com/composer/Composer.tsx:319
msgid "Closes post composer and discards post draft"
msgstr "Sulkee editorin ja hylkää luonnoksen"
-#: src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx:27
+#: src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx:37
msgid "Closes viewer for header image"
msgstr "Sulkee kuvan katseluohjelman"
-#: src/view/com/notifications/FeedItem.tsx:317
+#: src/view/com/notifications/FeedItem.tsx:323
msgid "Collapses list of users for a given notification"
msgstr "Pienentää käyttäjäluettelon annetulle ilmoitukselle"
@@ -775,20 +892,20 @@ msgstr "Komedia"
msgid "Comics"
msgstr "Sarjakuvat"
-#: src/Navigation.tsx:227
+#: src/Navigation.tsx:241
#: src/view/screens/CommunityGuidelines.tsx:32
msgid "Community Guidelines"
msgstr "Yhteisöohjeet"
-#: src/screens/Onboarding/StepFinished.tsx:148
+#: src/screens/Onboarding/StepFinished.tsx:152
msgid "Complete onboarding and start using your account"
-msgstr "Suorita käyttöönotto loppuun ja aloita tilisi käyttö"
+msgstr "Suorita käyttöönotto loppuun ja aloita käyttäjätilisi käyttö"
-#: src/view/com/auth/create/Step3.tsx:73
+#: src/screens/Signup/index.tsx:155
msgid "Complete the challenge"
msgstr "Tee haaste loppuun"
-#: src/view/com/composer/Composer.tsx:424
+#: src/view/com/composer/Composer.tsx:438
msgid "Compose posts up to {MAX_GRAPHEME_LENGTH} characters in length"
msgstr "Laadi viestejä, joiden pituus on enintään {MAX_GRAPHEME_LENGTH} merkkiä"
@@ -796,12 +913,20 @@ msgstr "Laadi viestejä, joiden pituus on enintään {MAX_GRAPHEME_LENGTH} merkk
msgid "Compose reply"
msgstr "Kirjoita vastaus"
-#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:67
+#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:81
msgid "Configure content filtering setting for category: {0}"
msgstr "Määritä sisällönsuodatusasetus aiheille: {0}"
-#: src/components/Prompt.tsx:113
-#: src/view/com/modals/AppealLabel.tsx:98
+#: src/components/moderation/LabelPreference.tsx:81
+msgid "Configure content filtering setting for category: {name}"
+msgstr ""
+
+#: src/components/moderation/LabelPreference.tsx:244
+msgid "Configured in <0>moderation settings0>."
+msgstr ""
+
+#: src/components/Prompt.tsx:153
+#: src/components/Prompt.tsx:156
#: src/view/com/modals/SelfLabel.tsx:154
#: src/view/com/modals/VerifyEmail.tsx:231
#: src/view/com/modals/VerifyEmail.tsx:233
@@ -812,65 +937,88 @@ msgstr "Vahvista"
#: src/view/com/modals/Confirm.tsx:75
#: src/view/com/modals/Confirm.tsx:78
-msgctxt "action"
-msgid "Confirm"
-msgstr "Vahvista"
+#~ msgctxt "action"
+#~ msgid "Confirm"
+#~ msgstr "Vahvista"
#: src/view/com/modals/ChangeEmail.tsx:193
#: src/view/com/modals/ChangeEmail.tsx:195
msgid "Confirm Change"
msgstr "Vahvista muutos"
-#: src/view/com/modals/lang-settings/ConfirmLanguagesButton.tsx:34
+#: src/view/com/modals/lang-settings/ConfirmLanguagesButton.tsx:35
msgid "Confirm content language settings"
msgstr "Vahvista sisällön kieliasetukset"
-#: src/view/com/modals/DeleteAccount.tsx:220
+#: src/view/com/modals/DeleteAccount.tsx:219
msgid "Confirm delete account"
-msgstr "Vahvista tilin poisto"
+msgstr "Vahvista käyttäjätilin poisto"
#: src/view/com/modals/ContentFilteringSettings.tsx:156
-msgid "Confirm your age to enable adult content."
-msgstr "Vahvista ikäsi nähdäksesi ikärajarajoitettua sisältöä"
+#~ msgid "Confirm your age to enable adult content."
+#~ msgstr "Vahvista ikäsi nähdäksesi ikärajarajoitettua sisältöä"
+
+#: src/screens/Moderation/index.tsx:301
+msgid "Confirm your age:"
+msgstr "Vahvista ikäsi:"
+
+#: src/screens/Moderation/index.tsx:292
+msgid "Confirm your birthdate"
+msgstr "Vahvista syntymäaikasi"
#: src/view/com/modals/ChangeEmail.tsx:157
-#: src/view/com/modals/DeleteAccount.tsx:182
+#: src/view/com/modals/DeleteAccount.tsx:175
+#: src/view/com/modals/DeleteAccount.tsx:181
#: src/view/com/modals/VerifyEmail.tsx:165
msgid "Confirmation code"
msgstr "Vahvistuskoodi"
#: src/view/com/modals/Waitlist.tsx:120
-msgid "Confirms signing up {email} to the waitlist"
-msgstr "Vahvistaa sähköpostiosoitteen {email} - rekisteröinnin odotuslistalle"
+#~ msgid "Confirms signing up {email} to the waitlist"
+#~ msgstr "Vahvistaa sähköpostiosoitteen {email} - rekisteröinnin odotuslistalle"
-#: src/view/com/auth/create/CreateAccount.tsx:193
-#: src/view/com/auth/login/LoginForm.tsx:278
+#: src/screens/Login/LoginForm.tsx:248
msgid "Connecting..."
msgstr "Yhdistetään..."
-#: src/view/com/auth/create/CreateAccount.tsx:213
+#: src/screens/Signup/index.tsx:225
msgid "Contact support"
msgstr "Ota yhteyttä tukeen"
+#: src/components/moderation/LabelsOnMe.tsx:42
+msgid "content"
+msgstr "sisältö"
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:18
+msgid "Content Blocked"
+msgstr "Sisältö estetty"
+
#: src/view/screens/Moderation.tsx:83
-msgid "Content filtering"
-msgstr "Sisällönsuodatus"
+#~ msgid "Content filtering"
+#~ msgstr "Sisällönsuodatus"
#: src/view/com/modals/ContentFilteringSettings.tsx:44
-msgid "Content Filtering"
-msgstr "Sisällönsuodatus"
+#~ msgid "Content Filtering"
+#~ msgstr "Sisällönsuodatus"
+
+#: src/screens/Moderation/index.tsx:285
+msgid "Content filters"
+msgstr "Sisältösuodattimet"
#: src/view/com/modals/lang-settings/ContentLanguagesSettings.tsx:74
#: src/view/screens/LanguageSettings.tsx:278
msgid "Content Languages"
msgstr "Sisältöjen kielet"
-#: src/view/com/modals/ModerationDetails.tsx:65
+#: src/components/moderation/ModerationDetailsDialog.tsx:75
+#: src/lib/moderation/useModerationCauseDescription.ts:75
msgid "Content Not Available"
msgstr "Sisältö ei ole saatavilla"
-#: src/view/com/modals/ModerationDetails.tsx:33
-#: src/view/com/util/moderation/ScreenHider.tsx:78
+#: src/components/moderation/ModerationDetailsDialog.tsx:46
+#: src/components/moderation/ScreenHider.tsx:99
+#: src/lib/moderation/useGlobalLabelStrings.ts:22
+#: src/lib/moderation/useModerationCauseDescription.ts:38
msgid "Content Warning"
msgstr "Sisältövaroitus"
@@ -878,28 +1026,38 @@ msgstr "Sisältövaroitus"
msgid "Content warnings"
msgstr "Sisältövaroitukset"
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:170
-#: src/screens/Onboarding/StepFollowingFeed.tsx:153
-#: src/screens/Onboarding/StepInterests/index.tsx:248
-#: src/screens/Onboarding/StepModeration/index.tsx:118
-#: src/screens/Onboarding/StepTopicalFeeds.tsx:114
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:148
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:209
+#: src/components/Menu/index.web.tsx:84
+msgid "Context menu backdrop, click to close the menu."
+msgstr ""
+
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:161
+#: src/screens/Onboarding/StepFollowingFeed.tsx:154
+#: src/screens/Onboarding/StepInterests/index.tsx:252
+#: src/screens/Onboarding/StepModeration/index.tsx:103
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:118
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:150
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:211
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:96
msgid "Continue"
msgstr "Jatka"
-#: src/screens/Onboarding/StepFollowingFeed.tsx:150
-#: src/screens/Onboarding/StepInterests/index.tsx:245
-#: src/screens/Onboarding/StepModeration/index.tsx:115
-#: src/screens/Onboarding/StepTopicalFeeds.tsx:111
+#: src/components/AccountList.tsx:108
+msgid "Continue as {0} (currently signed in)"
+msgstr ""
+
+#: src/screens/Onboarding/StepFollowingFeed.tsx:151
+#: src/screens/Onboarding/StepInterests/index.tsx:249
+#: src/screens/Onboarding/StepModeration/index.tsx:100
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:115
+#: src/screens/Signup/index.tsx:200
msgid "Continue to next step"
msgstr "Jatka seuraavaan vaiheeseen"
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:167
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:158
msgid "Continue to the next step"
msgstr "Jatka seuraavaan vaiheeseen"
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:191
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:199
msgid "Continue to the next step without following any accounts"
msgstr "Jatka seuraavaan vaiheeseen seuraamatta yhtään tiliä"
@@ -907,55 +1065,71 @@ msgstr "Jatka seuraavaan vaiheeseen seuraamatta yhtään tiliä"
msgid "Cooking"
msgstr "Ruoanlaitto"
-#: src/view/com/modals/AddAppPasswords.tsx:195
-#: src/view/com/modals/InviteCodes.tsx:182
+#: src/view/com/modals/AddAppPasswords.tsx:196
+#: src/view/com/modals/InviteCodes.tsx:183
msgid "Copied"
msgstr "Kopioitu"
-#: src/view/screens/Settings/index.tsx:241
+#: src/view/screens/Settings/index.tsx:254
msgid "Copied build version to clipboard"
msgstr "Ohjelmiston versio kopioitu leikepöydälle"
-#: src/view/com/modals/AddAppPasswords.tsx:76
-#: src/view/com/modals/InviteCodes.tsx:152
-#: src/view/com/util/forms/PostDropdownBtn.tsx:143
+#: src/view/com/modals/AddAppPasswords.tsx:77
+#: src/view/com/modals/ChangeHandle.tsx:326
+#: src/view/com/modals/InviteCodes.tsx:153
+#: src/view/com/util/forms/PostDropdownBtn.tsx:164
msgid "Copied to clipboard"
msgstr "Kopioitu leikepöydälle"
-#: src/view/com/modals/AddAppPasswords.tsx:189
+#: src/components/dialogs/Embed.tsx:134
+msgid "Copied!"
+msgstr ""
+
+#: src/view/com/modals/AddAppPasswords.tsx:190
msgid "Copies app password"
msgstr "Kopioi sovellussalasanan"
-#: src/view/com/modals/AddAppPasswords.tsx:188
+#: src/view/com/modals/AddAppPasswords.tsx:189
msgid "Copy"
msgstr "Kopioi"
-#: src/view/screens/ProfileList.tsx:418
+#: src/view/com/modals/ChangeHandle.tsx:480
+msgid "Copy {0}"
+msgstr "Kopioi {0}"
+
+#: src/components/dialogs/Embed.tsx:120
+#: src/components/dialogs/Embed.tsx:139
+msgid "Copy code"
+msgstr ""
+
+#: src/view/screens/ProfileList.tsx:390
msgid "Copy link to list"
msgstr "Kopioi listan linkki"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:184
+#: src/view/com/util/forms/PostDropdownBtn.tsx:236
+#: src/view/com/util/forms/PostDropdownBtn.tsx:245
msgid "Copy link to post"
msgstr "Kopioi julkaisun linkki"
#: src/view/com/profile/ProfileHeader.tsx:295
-msgid "Copy link to profile"
-msgstr "Kopioi linkki profiiliin"
+#~ msgid "Copy link to profile"
+#~ msgstr "Kopioi linkki profiiliin"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:170
+#: src/view/com/util/forms/PostDropdownBtn.tsx:228
+#: src/view/com/util/forms/PostDropdownBtn.tsx:230
msgid "Copy post text"
msgstr "Kopioi viestin teksti"
-#: src/Navigation.tsx:232
+#: src/Navigation.tsx:246
#: src/view/screens/CopyrightPolicy.tsx:29
msgid "Copyright Policy"
msgstr "Tekijänoikeuskäytäntö"
-#: src/view/screens/ProfileFeed.tsx:97
+#: src/view/screens/ProfileFeed.tsx:103
msgid "Could not load feed"
msgstr "Syötettä ei voitu ladata"
-#: src/view/screens/ProfileList.tsx:888
+#: src/view/screens/ProfileList.tsx:909
msgid "Could not load list"
msgstr "Listaa ei voitu ladata"
@@ -963,42 +1137,50 @@ msgstr "Listaa ei voitu ladata"
#~ msgid "Country"
#~ msgstr "Maa"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:62
-#: src/view/com/auth/SplashScreen.tsx:71
-#: src/view/com/auth/SplashScreen.web.tsx:81
+#: src/view/com/auth/SplashScreen.tsx:57
+#: src/view/com/auth/SplashScreen.web.tsx:101
msgid "Create a new account"
-msgstr "Luo uusi tili"
+msgstr "Luo uusi käyttäjätili"
-#: src/view/screens/Settings/index.tsx:384
+#: src/view/screens/Settings/index.tsx:406
msgid "Create a new Bluesky account"
msgstr "Luo uusi Bluesky-tili"
-#: src/view/com/auth/create/CreateAccount.tsx:133
+#: src/screens/Signup/index.tsx:130
msgid "Create Account"
-msgstr "Luo tili"
+msgstr "Luo käyttäjätili"
-#: src/view/com/modals/AddAppPasswords.tsx:226
+#: src/components/dialogs/Signin.tsx:86
+#: src/components/dialogs/Signin.tsx:88
+msgid "Create an account"
+msgstr ""
+
+#: src/view/com/modals/AddAppPasswords.tsx:227
msgid "Create App Password"
msgstr "Luo sovellussalasana"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:54
-#: src/view/com/auth/SplashScreen.tsx:68
+#: src/view/com/auth/SplashScreen.tsx:48
+#: src/view/com/auth/SplashScreen.web.tsx:92
msgid "Create new account"
-msgstr "Luo uusi tili"
+msgstr "Luo uusi käyttäjätili"
-#: src/view/screens/AppPasswords.tsx:249
+#: src/components/ReportDialog/SelectReportOptionView.tsx:94
+msgid "Create report for {0}"
+msgstr "Luo raportti: {0}"
+
+#: src/view/screens/AppPasswords.tsx:246
msgid "Created {0}"
msgstr "{0} luotu"
#: src/view/screens/ProfileFeed.tsx:616
-msgid "Created by <0/>"
-msgstr "Luonut <0/>"
+#~ msgid "Created by <0/>"
+#~ msgstr "Luonut <0/>"
#: src/view/screens/ProfileFeed.tsx:614
-msgid "Created by you"
-msgstr "Sinun luoma sisältö"
+#~ msgid "Created by you"
+#~ msgstr "Luomasi sisältö"
-#: src/view/com/composer/Composer.tsx:455
+#: src/view/com/composer/Composer.tsx:469
msgid "Creates a card with a thumbnail. The card links to {url}"
msgstr "Luo kortin pikkukuvan kanssa. Kortti linkittyy osoitteeseen {url}"
@@ -1006,30 +1188,30 @@ msgstr "Luo kortin pikkukuvan kanssa. Kortti linkittyy osoitteeseen {url}"
msgid "Culture"
msgstr "Kulttuuri"
-#: src/view/com/auth/server-input/index.tsx:95
-#: src/view/com/auth/server-input/index.tsx:96
+#: src/view/com/auth/server-input/index.tsx:97
+#: src/view/com/auth/server-input/index.tsx:99
msgid "Custom"
msgstr "Mukautettu"
-#: src/view/com/modals/ChangeHandle.tsx:389
+#: src/view/com/modals/ChangeHandle.tsx:388
msgid "Custom domain"
msgstr "Mukautettu verkkotunnus"
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:106
-#: src/view/screens/Feeds.tsx:692
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:107
+#: src/view/screens/Feeds.tsx:717
msgid "Custom feeds built by the community bring you new experiences and help you find the content you love."
-msgstr "Yhteisön rakentamat mukautetut syötteet tuovat sinulle uusia kokemuksia ja auttavat löytämään sinulle mieluisaa sisältöä."
+msgstr "Yhteisön rakentamat mukautetut syötteet tuovat sinulle uusia kokemuksia ja auttavat löytämään mieluisaa sisältöä."
#: src/view/screens/PreferencesExternalEmbeds.tsx:55
msgid "Customize media from external sites."
-msgstr "Muokkaa mediaa ulkoisista sivustoista."
+msgstr "Muokkaa ulkoisten sivustojen mediasisältöjen asetuksia"
#: src/view/screens/Settings.tsx:687
#~ msgid "Danger Zone"
#~ msgstr ""
-#: src/view/screens/Settings/index.tsx:485
-#: src/view/screens/Settings/index.tsx:511
+#: src/view/screens/Settings/index.tsx:455
+#: src/view/screens/Settings/index.tsx:481
msgid "Dark"
msgstr "Tumma"
@@ -1037,33 +1219,49 @@ msgstr "Tumma"
msgid "Dark mode"
msgstr "Tumma ulkoasu"
-#: src/view/screens/Settings/index.tsx:498
+#: src/view/screens/Settings/index.tsx:468
msgid "Dark Theme"
msgstr "Tumma teema"
+#: src/screens/Signup/StepInfo/index.tsx:134
+msgid "Date of birth"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:805
+msgid "Debug Moderation"
+msgstr ""
+
#: src/view/screens/Debug.tsx:83
msgid "Debug panel"
msgstr "Vianetsintäpaneeli"
-#: src/view/screens/Settings/index.tsx:772
+#: src/view/com/util/forms/PostDropdownBtn.tsx:341
+#: src/view/screens/AppPasswords.tsx:268
+#: src/view/screens/ProfileList.tsx:615
+msgid "Delete"
+msgstr "Poista"
+
+#: src/view/screens/Settings/index.tsx:760
msgid "Delete account"
msgstr "Poista käyttäjätili"
-#: src/view/com/modals/DeleteAccount.tsx:87
+#: src/view/com/modals/DeleteAccount.tsx:86
msgid "Delete Account"
msgstr "Poista käyttäjätili"
-#: src/view/screens/AppPasswords.tsx:222
-#: src/view/screens/AppPasswords.tsx:242
+#: src/view/screens/AppPasswords.tsx:239
msgid "Delete app password"
msgstr "Poista sovellussalasana"
-#: src/view/screens/ProfileList.tsx:364
-#: src/view/screens/ProfileList.tsx:445
+#: src/view/screens/AppPasswords.tsx:263
+msgid "Delete app password?"
+msgstr "Poista sovellussalasana"
+
+#: src/view/screens/ProfileList.tsx:417
msgid "Delete List"
msgstr "Poista lista"
-#: src/view/com/modals/DeleteAccount.tsx:223
+#: src/view/com/modals/DeleteAccount.tsx:222
msgid "Delete my account"
msgstr "Poista käyttäjätilini"
@@ -1071,54 +1269,79 @@ msgstr "Poista käyttäjätilini"
#~ msgid "Delete my account…"
#~ msgstr ""
-#: src/view/screens/Settings/index.tsx:784
+#: src/view/screens/Settings/index.tsx:772
msgid "Delete My Account…"
-msgstr "Poista tilini…"
+msgstr "Poista käyttäjätilini…"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:273
+#: src/view/com/util/forms/PostDropdownBtn.tsx:322
+#: src/view/com/util/forms/PostDropdownBtn.tsx:324
msgid "Delete post"
msgstr "Poista viesti"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:277
+#: src/view/screens/ProfileList.tsx:610
+msgid "Delete this list?"
+msgstr "Poista tämä lista?"
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:336
msgid "Delete this post?"
msgstr "Poista tämä viesti?"
-#: src/view/com/util/post-embeds/QuoteEmbed.tsx:70
+#: src/view/com/util/post-embeds/QuoteEmbed.tsx:67
msgid "Deleted"
msgstr "Poistettu"
-#: src/view/com/post-thread/PostThread.tsx:316
+#: src/view/com/post-thread/PostThread.tsx:305
msgid "Deleted post."
msgstr "Poistettu viesti."
-#: src/view/com/modals/CreateOrEditList.tsx:300
-#: src/view/com/modals/CreateOrEditList.tsx:321
-#: src/view/com/modals/EditProfile.tsx:198
-#: src/view/com/modals/EditProfile.tsx:210
+#: src/view/com/modals/CreateOrEditList.tsx:301
+#: src/view/com/modals/CreateOrEditList.tsx:322
+#: src/view/com/modals/EditProfile.tsx:199
+#: src/view/com/modals/EditProfile.tsx:211
msgid "Description"
msgstr "Kuvaus"
#: src/view/screens/Settings.tsx:760
#~ msgid "Developer Tools"
-#~ msgstr ""
+#~ msgstr "Kehittäjätyökalut"
#: src/view/com/composer/Composer.tsx:218
msgid "Did you want to say anything?"
msgstr "Haluatko sanoa jotain?"
-#: src/view/screens/Settings/index.tsx:504
+#: src/view/screens/Settings/index.tsx:474
msgid "Dim"
msgstr "Himmeä"
-#: src/view/com/composer/Composer.tsx:151
+#: src/view/screens/Settings/index.tsx:697
+msgid "Disable haptics"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:697
+msgid "Disable vibrations"
+msgstr ""
+
+#: src/lib/moderation/useLabelBehaviorDescription.ts:32
+#: src/lib/moderation/useLabelBehaviorDescription.ts:42
+#: src/lib/moderation/useLabelBehaviorDescription.ts:68
+#: src/screens/Moderation/index.tsx:341
+msgid "Disabled"
+msgstr "Poistettu käytöstä"
+
+#: src/view/com/composer/Composer.tsx:511
msgid "Discard"
msgstr "Hylkää"
#: src/view/com/composer/Composer.tsx:145
-msgid "Discard draft"
-msgstr "Hylkää luonnos"
+#~ msgid "Discard draft"
+#~ msgstr "Hylkää luonnos"
-#: src/view/screens/Moderation.tsx:226
+#: src/view/com/composer/Composer.tsx:508
+msgid "Discard draft?"
+msgstr "Hylkää luonnos?"
+
+#: src/screens/Moderation/index.tsx:518
+#: src/screens/Moderation/index.tsx:522
msgid "Discourage apps from showing my account to logged-out users"
msgstr "Estä sovelluksia näyttämästä tiliäni kirjautumattomille käyttäjille"
@@ -1131,28 +1354,62 @@ msgstr "Löydä uusia mukautettuja syötteitä"
#~ msgid "Discover new feeds"
#~ msgstr ""
-#: src/view/screens/Feeds.tsx:689
+#: src/view/screens/Feeds.tsx:714
msgid "Discover New Feeds"
msgstr "Löydä uusia syötteitä"
-#: src/view/com/modals/EditProfile.tsx:192
+#: src/view/com/modals/EditProfile.tsx:193
msgid "Display name"
msgstr "Näyttönimi"
-#: src/view/com/modals/EditProfile.tsx:180
+#: src/view/com/modals/EditProfile.tsx:181
msgid "Display Name"
msgstr "Näyttönimi"
-#: src/view/com/modals/ChangeHandle.tsx:487
+#: src/view/com/modals/ChangeHandle.tsx:397
+msgid "DNS Panel"
+msgstr "DNS-paneeli"
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:39
+msgid "Does not include nudity."
+msgstr "Ei sisällä alastomuutta."
+
+#: src/screens/Signup/StepHandle.tsx:105
+msgid "Doesn't begin or end with a hyphen"
+msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:481
+msgid "Domain Value"
+msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:488
msgid "Domain verified!"
msgstr "Verkkotunnus vahvistettu!"
#: src/view/com/auth/create/Step1.tsx:170
-msgid "Don't have an invite code?"
-msgstr "Eikö sinulla ole kutsukoodia?"
+#~ msgid "Don't have an invite code?"
+#~ msgstr "Eikö sinulla ole kutsukoodia?"
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:86
-#: src/view/com/modals/EditImage.tsx:333
+#: src/components/dialogs/BirthDateSettings.tsx:119
+#: src/components/dialogs/BirthDateSettings.tsx:125
+#: src/components/forms/DateField/index.tsx:74
+#: src/components/forms/DateField/index.tsx:80
+#: src/view/com/auth/server-input/index.tsx:169
+#: src/view/com/auth/server-input/index.tsx:170
+#: src/view/com/modals/AddAppPasswords.tsx:227
+#: src/view/com/modals/AltImage.tsx:140
+#: src/view/com/modals/crop-image/CropImage.web.tsx:153
+#: src/view/com/modals/InviteCodes.tsx:81
+#: src/view/com/modals/InviteCodes.tsx:124
+#: src/view/com/modals/ListAddRemoveUsers.tsx:142
+#: src/view/screens/PreferencesFollowingFeed.tsx:311
+#: src/view/screens/Settings/ExportCarDialog.tsx:94
+#: src/view/screens/Settings/ExportCarDialog.tsx:96
+msgid "Done"
+msgstr "Valmis"
+
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:87
+#: src/view/com/modals/EditImage.tsx:334
#: src/view/com/modals/ListAddRemoveUsers.tsx:144
#: src/view/com/modals/SelfLabel.tsx:157
#: src/view/com/modals/Threadgate.tsx:129
@@ -1164,33 +1421,17 @@ msgctxt "action"
msgid "Done"
msgstr "Valmis"
-#: src/view/com/auth/server-input/index.tsx:165
-#: src/view/com/auth/server-input/index.tsx:166
-#: src/view/com/modals/AddAppPasswords.tsx:226
-#: src/view/com/modals/AltImage.tsx:139
-#: src/view/com/modals/ContentFilteringSettings.tsx:88
-#: src/view/com/modals/ContentFilteringSettings.tsx:96
-#: src/view/com/modals/crop-image/CropImage.web.tsx:152
-#: src/view/com/modals/InviteCodes.tsx:80
-#: src/view/com/modals/InviteCodes.tsx:123
-#: src/view/com/modals/ListAddRemoveUsers.tsx:142
-#: src/view/screens/PreferencesFollowingFeed.tsx:311
-#: src/view/screens/Settings/ExportCarDialog.tsx:93
-#: src/view/screens/Settings/ExportCarDialog.tsx:94
-msgid "Done"
-msgstr "Valmis"
-
-#: src/view/com/modals/lang-settings/ConfirmLanguagesButton.tsx:42
+#: src/view/com/modals/lang-settings/ConfirmLanguagesButton.tsx:43
msgid "Done{extraText}"
msgstr "Valmis{extraText}"
-#: src/view/com/auth/login/ChooseAccountForm.tsx:45
-msgid "Double tap to sign in"
-msgstr "Kaksoisnapauta kirjautuaksesi sisään"
+#: src/view/com/auth/login/ChooseAccountForm.tsx:46
+#~ msgid "Double tap to sign in"
+#~ msgstr "Kaksoisnapauta kirjautuaksesi sisään"
#: src/view/screens/Settings/index.tsx:755
-msgid "Download Bluesky account data (repository)"
-msgstr "Lataa Bluesky-tilin tiedot (repository)"
+#~ msgid "Download Bluesky account data (repository)"
+#~ msgstr "Lataa Bluesky-tilin tiedot (repository)"
#: src/view/screens/Settings/ExportCarDialog.tsx:59
#: src/view/screens/Settings/ExportCarDialog.tsx:63
@@ -1201,35 +1442,47 @@ msgstr "Lataa CAR tiedosto"
msgid "Drop to add images"
msgstr "Raahaa tähän lisätäksesi kuvia"
-#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:111
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:120
msgid "Due to Apple policies, adult content can only be enabled on the web after completing sign up."
msgstr "Applen sääntöjen vuoksi aikuisviihde voidaan ottaa käyttöön vasta rekisteröitymisen jälkeen."
-#: src/view/com/modals/EditProfile.tsx:185
-msgid "e.g. Alice Roberts"
-msgstr "esim. Mikko Mallikas"
+#: src/view/com/modals/ChangeHandle.tsx:258
+msgid "e.g. alice"
+msgstr "esim. maija"
-#: src/view/com/modals/EditProfile.tsx:203
+#: src/view/com/modals/EditProfile.tsx:186
+msgid "e.g. Alice Roberts"
+msgstr "esim. Maija Mallikas"
+
+#: src/view/com/modals/ChangeHandle.tsx:380
+msgid "e.g. alice.com"
+msgstr "esim. liisa.fi"
+
+#: src/view/com/modals/EditProfile.tsx:204
msgid "e.g. Artist, dog-lover, and avid reader."
msgstr "esim. Taiteilija, koiraharrastaja ja innokas lukija."
-#: src/view/com/modals/CreateOrEditList.tsx:283
+#: src/lib/moderation/useGlobalLabelStrings.ts:43
+msgid "E.g. artistic nudes."
+msgstr "Esimerkiksi taiteelliset alastonkuvat."
+
+#: src/view/com/modals/CreateOrEditList.tsx:284
msgid "e.g. Great Posters"
msgstr "esim. Loistavat kirjoittajat"
-#: src/view/com/modals/CreateOrEditList.tsx:284
+#: src/view/com/modals/CreateOrEditList.tsx:285
msgid "e.g. Spammers"
msgstr "esim. Roskapostittajat"
-#: src/view/com/modals/CreateOrEditList.tsx:312
+#: src/view/com/modals/CreateOrEditList.tsx:313
msgid "e.g. The posters who never miss."
msgstr "esim. Julkaisijat, jotka osuvat maaliin aina."
-#: src/view/com/modals/CreateOrEditList.tsx:313
+#: src/view/com/modals/CreateOrEditList.tsx:314
msgid "e.g. Users that repeatedly reply with ads."
msgstr "esim. Käyttäjät, jotka vastaavat toistuvasti mainoksilla."
-#: src/view/com/modals/InviteCodes.tsx:96
+#: src/view/com/modals/InviteCodes.tsx:97
msgid "Each code works once. You'll receive more invite codes periodically."
msgstr "Jokainen koodi toimii vain kerran. Saat lisää kutsukoodeja säännöllisin väliajoin."
@@ -1238,51 +1491,58 @@ msgctxt "action"
msgid "Edit"
msgstr "Muokkaa"
+#: src/view/com/util/UserAvatar.tsx:301
+#: src/view/com/util/UserBanner.tsx:85
+msgid "Edit avatar"
+msgstr "Muokkaa profiilikuvaa"
+
#: src/view/com/composer/photos/Gallery.tsx:144
-#: src/view/com/modals/EditImage.tsx:207
+#: src/view/com/modals/EditImage.tsx:208
msgid "Edit image"
msgstr "Muokkaa kuvaa"
-#: src/view/screens/ProfileList.tsx:433
+#: src/view/screens/ProfileList.tsx:405
msgid "Edit list details"
msgstr "Muokkaa listan tietoja"
-#: src/view/com/modals/CreateOrEditList.tsx:250
+#: src/view/com/modals/CreateOrEditList.tsx:251
msgid "Edit Moderation List"
msgstr "Muokkaa moderaatiolistaa"
-#: src/Navigation.tsx:242
-#: src/view/screens/Feeds.tsx:434
-#: src/view/screens/SavedFeeds.tsx:84
+#: src/Navigation.tsx:256
+#: src/view/screens/Feeds.tsx:459
+#: src/view/screens/SavedFeeds.tsx:85
msgid "Edit My Feeds"
-msgstr "Muokkaa syötteitäni"
+msgstr "Muokkaa syötteitä"
-#: src/view/com/modals/EditProfile.tsx:152
+#: src/view/com/modals/EditProfile.tsx:153
msgid "Edit my profile"
-msgstr "Muokkaa profiiliani"
+msgstr "Muokkaa profiilia"
-#: src/view/com/profile/ProfileHeader.tsx:418
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:178
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:168
msgid "Edit profile"
msgstr "Muokkaa profiilia"
-#: src/view/com/profile/ProfileHeader.tsx:423
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:181
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:171
msgid "Edit Profile"
msgstr "Muokkaa profiilia"
-#: src/view/com/home/HomeHeaderLayout.web.tsx:59
-#: src/view/screens/Feeds.tsx:355
+#: src/view/com/home/HomeHeaderLayout.web.tsx:66
+#: src/view/screens/Feeds.tsx:380
msgid "Edit Saved Feeds"
msgstr "Muokkaa tallennettuja syötteitä"
-#: src/view/com/modals/CreateOrEditList.tsx:245
+#: src/view/com/modals/CreateOrEditList.tsx:246
msgid "Edit User List"
msgstr "Muokkaa käyttäjälistaa"
-#: src/view/com/modals/EditProfile.tsx:193
+#: src/view/com/modals/EditProfile.tsx:194
msgid "Edit your display name"
msgstr "Muokkaa näyttönimeäsi"
-#: src/view/com/modals/EditProfile.tsx:211
+#: src/view/com/modals/EditProfile.tsx:212
msgid "Edit your profile description"
msgstr "Muokkaa profiilin kuvausta"
@@ -1290,15 +1550,12 @@ msgstr "Muokkaa profiilin kuvausta"
msgid "Education"
msgstr "Koulutus"
-#: src/view/com/auth/create/Step1.tsx:199
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:156
+#: src/screens/Signup/StepInfo/index.tsx:80
#: src/view/com/modals/ChangeEmail.tsx:141
-#: src/view/com/modals/Waitlist.tsx:88
msgid "Email"
msgstr "Sähköposti"
-#: src/view/com/auth/create/Step1.tsx:190
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:147
+#: src/screens/Login/ForgotPasswordForm.tsx:99
msgid "Email address"
msgstr "Sähköpostiosoite"
@@ -1315,26 +1572,49 @@ msgstr "Sähköpostiosoite päivitetty"
msgid "Email verified"
msgstr "Sähköpostiosoite vahvistettu"
-#: src/view/screens/Settings/index.tsx:312
+#: src/view/screens/Settings/index.tsx:334
msgid "Email:"
msgstr "Sähköpostiosoite:"
-#: src/view/com/modals/EmbedConsent.tsx:113
+#: src/components/dialogs/Embed.tsx:112
+msgid "Embed HTML code"
+msgstr ""
+
+#: src/components/dialogs/Embed.tsx:97
+#: src/view/com/util/forms/PostDropdownBtn.tsx:253
+#: src/view/com/util/forms/PostDropdownBtn.tsx:255
+msgid "Embed post"
+msgstr ""
+
+#: src/components/dialogs/Embed.tsx:101
+msgid "Embed this post in your website. Simply copy the following snippet and paste it into the HTML code of your website."
+msgstr ""
+
+#: src/components/dialogs/EmbedConsent.tsx:101
msgid "Enable {0} only"
msgstr "Ota käyttöön vain {0}"
-#: src/view/com/modals/ContentFilteringSettings.tsx:167
+#: src/screens/Moderation/index.tsx:329
+msgid "Enable adult content"
+msgstr "Ota aikuissisältö käyttöön"
+
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:94
msgid "Enable Adult Content"
msgstr "Ota aikuissisältö käyttöön"
-#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:76
-#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:77
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:78
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:79
msgid "Enable adult content in your feeds"
msgstr "Näytä aikuissisältöä syötteissäsi"
+#: src/components/dialogs/EmbedConsent.tsx:82
+#: src/components/dialogs/EmbedConsent.tsx:89
+msgid "Enable external media"
+msgstr ""
+
#: src/view/com/modals/EmbedConsent.tsx:97
-msgid "Enable External Media"
-msgstr "Ota ulkoinen media käyttöön"
+#~ msgid "Enable External Media"
+#~ msgstr "Ota ulkoinen media käyttöön"
#: src/view/screens/PreferencesExternalEmbeds.tsx:75
msgid "Enable media players for"
@@ -1344,45 +1624,57 @@ msgstr "Ota mediatoistimet käyttöön kohteille"
msgid "Enable this setting to only see replies between people you follow."
msgstr "Ota tämä asetus käyttöön nähdäksesi vastaukset vain seuraamiltasi ihmisiltä."
-#: src/view/screens/Profile.tsx:455
+#: src/components/dialogs/EmbedConsent.tsx:94
+msgid "Enable this source only"
+msgstr ""
+
+#: src/screens/Moderation/index.tsx:339
+msgid "Enabled"
+msgstr "Käytössä"
+
+#: src/screens/Profile/Sections/Feed.tsx:100
msgid "End of feed"
msgstr "Syötteen loppu"
-#: src/view/com/modals/AddAppPasswords.tsx:166
+#: src/view/com/modals/AddAppPasswords.tsx:167
msgid "Enter a name for this App Password"
msgstr "Anna sovellusalasanalle nimi"
-#: src/components/dialogs/MutedWords.tsx:87
-#: src/components/dialogs/MutedWords.tsx:88
+#: src/screens/Login/SetNewPasswordForm.tsx:139
+msgid "Enter a password"
+msgstr ""
+
+#: src/components/dialogs/MutedWords.tsx:99
+#: src/components/dialogs/MutedWords.tsx:100
msgid "Enter a word or tag"
-msgstr "Kirjoita sana tai tunniste"
+msgstr "Kirjoita sana tai aihetunniste"
#: src/view/com/modals/VerifyEmail.tsx:105
msgid "Enter Confirmation Code"
msgstr "Syötä vahvistuskoodi"
-#: src/view/com/modals/ChangePassword.tsx:151
+#: src/view/com/modals/ChangePassword.tsx:153
msgid "Enter the code you received to change your password."
msgstr "Anna saamasi koodi vaihtaaksesi salasanasi."
-#: src/view/com/modals/ChangeHandle.tsx:371
+#: src/view/com/modals/ChangeHandle.tsx:370
msgid "Enter the domain you want to use"
msgstr "Anna verkkotunnus, jota haluat käyttää"
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:107
+#: src/screens/Login/ForgotPasswordForm.tsx:119
msgid "Enter the email you used to create your account. We'll send you a \"reset code\" so you can set a new password."
msgstr "Anna sähköpostiosoite, jotaa käytit tilin luomiseen. Lähetämme sinulle \"nollauskoodin\", jotta voit määritellä uuden salasanan."
-#: src/view/com/auth/create/Step1.tsx:251
-#: src/view/com/modals/BirthDateSettings.tsx:74
+#: src/components/dialogs/BirthDateSettings.tsx:108
msgid "Enter your birth date"
msgstr "Syötä syntymäaikasi"
#: src/view/com/modals/Waitlist.tsx:78
-msgid "Enter your email"
-msgstr "Syötä sähköpostiosoitteesi"
+#~ msgid "Enter your email"
+#~ msgstr "Syötä sähköpostiosoitteesi"
-#: src/view/com/auth/create/Step1.tsx:195
+#: src/screens/Login/ForgotPasswordForm.tsx:105
+#: src/screens/Signup/StepInfo/index.tsx:92
msgid "Enter your email address"
msgstr "Syötä sähköpostiosoitteesi"
@@ -1396,17 +1688,17 @@ msgstr "Syötä uusi sähköpostiosoitteesi alle"
#: src/view/com/auth/create/Step2.tsx:188
#~ msgid "Enter your phone number"
-msgstr "Syötä puhelinnumerosi"
+#~ msgstr "Syötä puhelinnumerosi"
-#: src/view/com/auth/login/Login.tsx:99
+#: src/screens/Login/index.tsx:101
msgid "Enter your username and password"
msgstr "Syötä käyttäjätunnuksesi ja salasanasi"
-#: src/view/com/auth/create/Step3.tsx:67
+#: src/screens/Signup/StepCaptcha/index.tsx:49
msgid "Error receiving captcha response."
msgstr "Virhe captcha-vastauksen vastaanottamisessa."
-#: src/view/screens/Search/Search.tsx:110
+#: src/view/screens/Search/Search.tsx:115
msgid "Error:"
msgstr "Virhe:"
@@ -1414,87 +1706,112 @@ msgstr "Virhe:"
msgid "Everybody"
msgstr "Kaikki"
-#: src/view/com/modals/ChangeHandle.tsx:150
+#: src/lib/moderation/useReportOptions.ts:66
+msgid "Excessive mentions or replies"
+msgstr "Liialliset maininnat tai vastaukset"
+
+#: src/view/com/modals/DeleteAccount.tsx:230
+msgid "Exits account deletion process"
+msgstr "Keskeyttää tilin poistoprosessin"
+
+#: src/view/com/modals/ChangeHandle.tsx:151
msgid "Exits handle change process"
msgstr "Peruuttaa käyttäjätunnuksen vaihtamisen"
-#: src/view/com/lightbox/Lightbox.web.tsx:120
+#: src/view/com/modals/crop-image/CropImage.web.tsx:136
+msgid "Exits image cropping process"
+msgstr "Keskeyttää kuvan rajausprosessin"
+
+#: src/view/com/lightbox/Lightbox.web.tsx:130
msgid "Exits image view"
msgstr "Poistuu kuvan katselutilasta"
#: src/view/com/modals/ListAddRemoveUsers.tsx:88
-#: src/view/shell/desktop/Search.tsx:235
+#: src/view/shell/desktop/Search.tsx:236
msgid "Exits inputting search query"
msgstr "Poistuu hakukyselyn kirjoittamisesta"
#: src/view/com/modals/Waitlist.tsx:138
-msgid "Exits signing up for waitlist with {email}"
-msgstr "Poistuu odotuslistalle liittymisestä sähköpostilla {email}"
+#~ msgid "Exits signing up for waitlist with {email}"
+#~ msgstr "Poistuu odotuslistalle liittymisestä sähköpostilla {email}"
-#: src/view/com/lightbox/Lightbox.web.tsx:163
+#: src/view/com/lightbox/Lightbox.web.tsx:183
msgid "Expand alt text"
msgstr "Laajenna ALT-teksti"
-#: src/view/com/composer/ComposerReplyTo.tsx:81
-#: src/view/com/composer/ComposerReplyTo.tsx:84
+#: src/view/com/composer/ComposerReplyTo.tsx:82
+#: src/view/com/composer/ComposerReplyTo.tsx:85
msgid "Expand or collapse the full post you are replying to"
msgstr "Laajenna tai pienennä viesti johon olit vastaamassa"
-#: src/view/screens/Settings/index.tsx:753
+#: src/lib/moderation/useGlobalLabelStrings.ts:47
+msgid "Explicit or potentially disturbing media."
+msgstr "Selvästi tai mahdollisesti häiritsevä media."
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:35
+msgid "Explicit sexual images."
+msgstr "Selvästi seksuaalista kuvamateriaalia."
+
+#: src/view/screens/Settings/index.tsx:741
msgid "Export my data"
msgstr "Vie tietoni"
#: src/view/screens/Settings/ExportCarDialog.tsx:44
-#: src/view/screens/Settings/index.tsx:764
+#: src/view/screens/Settings/index.tsx:752
msgid "Export My Data"
msgstr "Vie tietoni"
-#: src/view/com/modals/EmbedConsent.tsx:64
+#: src/components/dialogs/EmbedConsent.tsx:55
+#: src/components/dialogs/EmbedConsent.tsx:59
msgid "External Media"
msgstr "Ulkoiset mediat"
-#: src/view/com/modals/EmbedConsent.tsx:75
+#: src/components/dialogs/EmbedConsent.tsx:71
#: src/view/screens/PreferencesExternalEmbeds.tsx:66
msgid "External media may allow websites to collect information about you and your device. No information is sent or requested until you press the \"play\" button."
msgstr "Ulkoiset mediat voivat sallia verkkosivustojen kerätä tietoja sinusta ja laitteestasi. Tietoja ei lähetetä eikä pyydetä, ennen kuin painat \"toista\"-painiketta."
-#: src/Navigation.tsx:261
+#: src/Navigation.tsx:275
#: src/view/screens/PreferencesExternalEmbeds.tsx:52
-#: src/view/screens/Settings/index.tsx:657
+#: src/view/screens/Settings/index.tsx:628
msgid "External Media Preferences"
-msgstr "Ulkoisten medioiden asetukset"
+msgstr "Ulkoisten mediasoittimien asetukset"
-#: src/view/screens/Settings/index.tsx:648
+#: src/view/screens/Settings/index.tsx:619
msgid "External media settings"
-msgstr "Ulkoisten medioiden asetukset"
+msgstr "Ulkoisten mediasoittimien asetukset"
-#: src/view/com/modals/AddAppPasswords.tsx:115
-#: src/view/com/modals/AddAppPasswords.tsx:119
+#: src/view/com/modals/AddAppPasswords.tsx:116
+#: src/view/com/modals/AddAppPasswords.tsx:120
msgid "Failed to create app password."
msgstr "Sovellussalasanan luominen epäonnistui."
-#: src/view/com/modals/CreateOrEditList.tsx:206
+#: src/view/com/modals/CreateOrEditList.tsx:207
msgid "Failed to create the list. Check your internet connection and try again."
msgstr "Listan luominen epäonnistui. Tarkista internetyhteytesi ja yritä uudelleen."
-#: src/view/com/util/forms/PostDropdownBtn.tsx:110
+#: src/view/com/util/forms/PostDropdownBtn.tsx:131
msgid "Failed to delete post, please try again"
msgstr "Viestin poistaminen epäonnistui, yritä uudelleen"
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:109
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:141
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:110
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:143
msgid "Failed to load recommended feeds"
msgstr "Suositeltujen syötteiden lataaminen epäonnistui"
-#: src/Navigation.tsx:192
+#: src/view/com/lightbox/Lightbox.tsx:83
+msgid "Failed to save image: {0}"
+msgstr "Kuvan {0} tallennus epäonnistui"
+
+#: src/Navigation.tsx:196
msgid "Feed"
msgstr "Syöte"
-#: src/view/com/feeds/FeedSourceCard.tsx:231
+#: src/view/com/feeds/FeedSourceCard.tsx:218
msgid "Feed by {0}"
msgstr "Syöte käyttäjältä {0}"
-#: src/view/screens/Feeds.tsx:605
+#: src/view/screens/Feeds.tsx:630
msgid "Feed offline"
msgstr "Syöte ei ole käytettävissä"
@@ -1503,18 +1820,18 @@ msgstr "Syöte ei ole käytettävissä"
#~ msgstr "Syötteen asetukset"
#: src/view/shell/desktop/RightNav.tsx:61
-#: src/view/shell/Drawer.tsx:311
+#: src/view/shell/Drawer.tsx:320
msgid "Feedback"
msgstr "Palaute"
-#: src/Navigation.tsx:442
-#: src/view/screens/Feeds.tsx:419
-#: src/view/screens/Feeds.tsx:524
-#: src/view/screens/Profile.tsx:184
-#: src/view/shell/bottom-bar/BottomBar.tsx:181
-#: src/view/shell/desktop/LeftNav.tsx:342
-#: src/view/shell/Drawer.tsx:476
-#: src/view/shell/Drawer.tsx:477
+#: src/Navigation.tsx:456
+#: src/view/screens/Feeds.tsx:444
+#: src/view/screens/Feeds.tsx:549
+#: src/view/screens/Profile.tsx:199
+#: src/view/shell/bottom-bar/BottomBar.tsx:192
+#: src/view/shell/desktop/LeftNav.tsx:346
+#: src/view/shell/Drawer.tsx:485
+#: src/view/shell/Drawer.tsx:486
msgid "Feeds"
msgstr "Syötteet"
@@ -1526,19 +1843,27 @@ msgstr "Syötteet"
#~ msgid "Feeds are created by users and organizations. They offer you varied experiences and suggest content you may like using algorithms."
#~ msgstr ""
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:57
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:58
msgid "Feeds are created by users to curate content. Choose some feeds that you find interesting."
msgstr "Käyttäjät luovat syötteitä sisällön kuratointiin. Valitse joitakin syötteitä, jotka koet mielenkiintoisiksi."
-#: src/view/screens/SavedFeeds.tsx:156
+#: src/view/screens/SavedFeeds.tsx:157
msgid "Feeds are custom algorithms that users build with a little coding expertise. <0/> for more information."
msgstr "Syötteet ovat käyttäjien rakentamia mukautettuja algoritmeja, jotka vaativat vain vähän koodaustaitoja. <0/> lisätietoa varten."
-#: src/screens/Onboarding/StepTopicalFeeds.tsx:76
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:80
msgid "Feeds can be topical as well!"
msgstr "Syötteet voivat olla myös aihepiirikohtaisia!"
-#: src/screens/Onboarding/StepFinished.tsx:151
+#: src/view/com/modals/ChangeHandle.tsx:481
+msgid "File Contents"
+msgstr "Tiedoston sisältö"
+
+#: src/lib/moderation/useLabelBehaviorDescription.ts:66
+msgid "Filter from feeds"
+msgstr "Suodata syötteistä"
+
+#: src/screens/Onboarding/StepFinished.tsx:155
msgid "Finalizing"
msgstr "Viimeistely"
@@ -1548,21 +1873,21 @@ msgstr "Viimeistely"
msgid "Find accounts to follow"
msgstr "Etsi seurattavia tilejä"
-#: src/view/screens/Search/Search.tsx:440
+#: src/view/screens/Search/Search.tsx:589
msgid "Find users on Bluesky"
msgstr "Etsi käyttäjiä Bluesky-palvelusta"
-#: src/view/screens/Search/Search.tsx:438
+#: src/view/screens/Search/Search.tsx:587
msgid "Find users with the search tool on the right"
msgstr "Etsi käyttäjiä oikealla olevan hakutyökalun avulla"
-#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:150
+#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:155
msgid "Finding similar accounts..."
msgstr "Etsitään samankaltaisia käyttäjätilejä"
#: src/view/screens/PreferencesFollowingFeed.tsx:111
msgid "Fine-tune the content you see on your Following feed."
-msgstr "Hienosäädä näkemääsi sisältöä Seuraavat-syötteessäsi."
+msgstr "Hienosäädä näkemääsi sisältöä Seuratut-syötteessäsi."
#: src/view/screens/PreferencesHomeFeed.tsx:111
#~ msgid "Fine-tune the content you see on your home screen."
@@ -1576,49 +1901,60 @@ msgstr "Hienosäädä keskusteluketjuja."
msgid "Fitness"
msgstr "Kuntoilu"
-#: src/screens/Onboarding/StepFinished.tsx:131
+#: src/screens/Onboarding/StepFinished.tsx:135
msgid "Flexible"
msgstr "Joustava"
-#: src/view/com/modals/EditImage.tsx:115
+#: src/view/com/modals/EditImage.tsx:116
msgid "Flip horizontal"
msgstr "Käännä vaakasuunnassa"
-#: src/view/com/modals/EditImage.tsx:120
-#: src/view/com/modals/EditImage.tsx:287
+#: src/view/com/modals/EditImage.tsx:121
+#: src/view/com/modals/EditImage.tsx:288
msgid "Flip vertically"
msgstr "Käännä pystysuunnassa"
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:181
-#: src/view/com/post-thread/PostThreadFollowBtn.tsx:136
-#: src/view/com/profile/ProfileHeader.tsx:513
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:189
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:235
+#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:141
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:146
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:248
msgid "Follow"
msgstr "Seuraa"
-#: src/view/com/profile/FollowButton.tsx:64
+#: src/view/com/profile/FollowButton.tsx:69
msgctxt "action"
msgid "Follow"
msgstr "Seuraa"
#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:58
-#: src/view/com/post-thread/PostThreadFollowBtn.tsx:122
-#: src/view/com/profile/ProfileHeader.tsx:504
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:221
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:128
msgid "Follow {0}"
msgstr "Seuraa {0}"
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:179
+#: src/view/com/profile/ProfileMenu.tsx:242
+#: src/view/com/profile/ProfileMenu.tsx:253
+msgid "Follow Account"
+msgstr ""
+
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:187
msgid "Follow All"
msgstr "Seuraa kaikkia"
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:174
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:144
+msgid "Follow Back"
+msgstr ""
+
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:182
msgid "Follow selected accounts and continue to the next step"
msgstr "Seuraa valittuja tilejä ja siirry seuraavaan vaiheeseen"
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:64
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:65
msgid "Follow some users to get started. We can recommend you more users based on who you find interesting."
msgstr "Seuraa joitakin käyttäjiä aloittaaksesi. Suosittelemme sinulle lisää käyttäjiä sen perusteella, ketä pidät mielenkiintoisena."
-#: src/view/com/profile/ProfileCard.tsx:194
+#: src/view/com/profile/ProfileCard.tsx:219
msgid "Followed by {0}"
msgstr "Seuraajina {0}"
@@ -1630,37 +1966,43 @@ msgstr "Seuratut käyttäjät"
msgid "Followed users only"
msgstr "Vain seuratut käyttäjät"
-#: src/view/com/notifications/FeedItem.tsx:166
+#: src/view/com/notifications/FeedItem.tsx:172
msgid "followed you"
msgstr "seurasi sinua"
+#: src/view/com/profile/ProfileFollowers.tsx:104
#: src/view/screens/ProfileFollowers.tsx:25
msgid "Followers"
msgstr "Seuraajat"
-#: src/view/com/post-thread/PostThreadFollowBtn.tsx:136
-#: src/view/com/profile/ProfileHeader.tsx:495
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:233
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:149
+#: src/view/com/profile/ProfileFollows.tsx:104
#: src/view/screens/ProfileFollows.tsx:25
msgid "Following"
-msgstr "Seuraa"
+msgstr "Seurataan"
-#: src/view/com/profile/ProfileHeader.tsx:149
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:93
msgid "Following {0}"
-msgstr "Seuraa {0}"
+msgstr "Seurataan {0}"
-#: src/Navigation.tsx:248
-#: src/view/com/home/HomeHeaderLayout.web.tsx:45
-#: src/view/com/home/HomeHeaderLayoutMobile.tsx:83
+#: src/view/screens/Settings/index.tsx:504
+msgid "Following feed preferences"
+msgstr "Seuratut -syötteen asetukset"
+
+#: src/Navigation.tsx:262
+#: src/view/com/home/HomeHeaderLayout.web.tsx:54
+#: src/view/com/home/HomeHeaderLayoutMobile.tsx:87
#: src/view/screens/PreferencesFollowingFeed.tsx:104
-#: src/view/screens/Settings/index.tsx:543
+#: src/view/screens/Settings/index.tsx:513
msgid "Following Feed Preferences"
msgstr "Seuratut -syötteen asetukset"
-#: src/view/com/profile/ProfileHeader.tsx:546
+#: src/screens/Profile/Header/Handle.tsx:24
msgid "Follows you"
msgstr "Seuraa sinua"
-#: src/view/com/profile/ProfileCard.tsx:141
+#: src/view/com/profile/ProfileCard.tsx:144
msgid "Follows You"
msgstr "Seuraa sinua"
@@ -1668,28 +2010,45 @@ msgstr "Seuraa sinua"
msgid "Food"
msgstr "Ruoka"
-#: src/view/com/modals/DeleteAccount.tsx:111
+#: src/view/com/modals/DeleteAccount.tsx:110
msgid "For security reasons, we'll need to send a confirmation code to your email address."
msgstr "Turvallisuussyistä meidän on lähetettävä vahvistuskoodi sähköpostiosoitteeseesi."
-#: src/view/com/modals/AddAppPasswords.tsx:209
+#: src/view/com/modals/AddAppPasswords.tsx:210
msgid "For security reasons, you won't be able to view this again. If you lose this password, you'll need to generate a new one."
msgstr "Turvallisuussyistä et näe tätä uudelleen. Jos unohdat tämän salasanan, sinun on luotava uusi."
+#: src/view/com/auth/login/LoginForm.tsx:244
+#~ msgid "Forgot"
+#~ msgstr "Unohtui"
+
#: src/view/com/auth/login/LoginForm.tsx:241
-msgid "Forgot"
-msgstr "Unohtui"
+#~ msgid "Forgot password"
+#~ msgstr "Unohtunut salasana"
-#: src/view/com/auth/login/LoginForm.tsx:238
-msgid "Forgot password"
-msgstr "Unohtunut salasana"
-
-#: src/view/com/auth/login/Login.tsx:127
-#: src/view/com/auth/login/Login.tsx:143
+#: src/screens/Login/index.tsx:129
+#: src/screens/Login/index.tsx:144
msgid "Forgot Password"
msgstr "Unohtunut salasana"
-#: src/view/com/posts/FeedItem.tsx:189
+#: src/screens/Login/LoginForm.tsx:201
+msgid "Forgot password?"
+msgstr ""
+
+#: src/screens/Login/LoginForm.tsx:212
+msgid "Forgot?"
+msgstr ""
+
+#: src/lib/moderation/useReportOptions.ts:52
+msgid "Frequently Posts Unwanted Content"
+msgstr "Julkaisee usein ei-toivottua sisältöä"
+
+#: src/screens/Hashtag.tsx:109
+#: src/screens/Hashtag.tsx:149
+msgid "From @{sanitizedAuthor}"
+msgstr ""
+
+#: src/view/com/posts/FeedItem.tsx:181
msgctxt "from-feed"
msgid "From <0/>"
msgstr "Lähde: <0/>"
@@ -1703,104 +2062,144 @@ msgstr "Galleria"
msgid "Get Started"
msgstr "Aloita tästä"
-#: src/view/com/auth/LoggedOut.tsx:81
+#: src/lib/moderation/useReportOptions.ts:37
+msgid "Glaring violations of law or terms of service"
+msgstr "Ilmeisiä lain tai käyttöehtojen rikkomuksia"
+
+#: src/components/moderation/ScreenHider.tsx:151
+#: src/components/moderation/ScreenHider.tsx:160
#: src/view/com/auth/LoggedOut.tsx:82
-#: src/view/com/util/moderation/ScreenHider.tsx:123
-#: src/view/shell/desktop/LeftNav.tsx:104
+#: src/view/com/auth/LoggedOut.tsx:83
+#: src/view/screens/NotFound.tsx:55
+#: src/view/screens/ProfileFeed.tsx:112
+#: src/view/screens/ProfileList.tsx:918
+#: src/view/shell/desktop/LeftNav.tsx:108
msgid "Go back"
msgstr "Palaa takaisin"
-#: src/view/screens/ProfileFeed.tsx:106
-#: src/view/screens/ProfileFeed.tsx:111
-#: src/view/screens/ProfileList.tsx:897
-#: src/view/screens/ProfileList.tsx:902
+#: src/components/Error.tsx:91
+#: src/screens/Profile/ErrorState.tsx:62
+#: src/screens/Profile/ErrorState.tsx:66
+#: src/view/screens/NotFound.tsx:54
+#: src/view/screens/ProfileFeed.tsx:117
+#: src/view/screens/ProfileList.tsx:923
msgid "Go Back"
msgstr "Palaa takaisin"
-#: src/screens/Onboarding/Layout.tsx:104
-#: src/screens/Onboarding/Layout.tsx:193
+#: src/components/ReportDialog/SelectReportOptionView.tsx:73
+#: src/components/ReportDialog/SubmitView.tsx:102
+#: src/screens/Onboarding/Layout.tsx:102
+#: src/screens/Onboarding/Layout.tsx:191
+#: src/screens/Signup/index.tsx:174
msgid "Go back to previous step"
msgstr "Palaa edelliseen vaiheeseen"
-#: src/view/screens/Search/Search.tsx:747
-#: src/view/shell/desktop/Search.tsx:262
+#: src/view/screens/NotFound.tsx:55
+msgid "Go home"
+msgstr "Palaa alkuun"
+
+#: src/view/screens/NotFound.tsx:54
+msgid "Go Home"
+msgstr "Palaa alkuun"
+
+#: src/view/screens/Search/Search.tsx:896
+#: src/view/shell/desktop/Search.tsx:263
msgid "Go to @{queryMaybeHandle}"
msgstr "Siirry @{queryMaybeHandle}"
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:189
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:218
-#: src/view/com/auth/login/LoginForm.tsx:288
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:195
-#: src/view/com/modals/ChangePassword.tsx:165
+#: src/screens/Login/ForgotPasswordForm.tsx:172
+#: src/view/com/modals/ChangePassword.tsx:167
msgid "Go to next"
msgstr "Siirry seuraavaan"
-#: src/view/com/modals/ChangeHandle.tsx:265
+#: src/lib/moderation/useGlobalLabelStrings.ts:46
+msgid "Graphic Media"
+msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:266
msgid "Handle"
msgstr "Käyttäjätunnus"
-#: src/components/RichText.tsx:188
-msgid "Hashtag: {tag}"
-msgstr "Tunniste: {tag}"
+#: src/lib/moderation/useReportOptions.ts:32
+msgid "Harassment, trolling, or intolerance"
+msgstr "Häirintä, trollaus tai suvaitsemattomuus"
-#: src/view/com/auth/create/CreateAccount.tsx:208
+#: src/Navigation.tsx:282
+msgid "Hashtag"
+msgstr "Aihetunniste"
+
+#: src/components/RichText.tsx:188
+#~ msgid "Hashtag: {tag}"
+#~ msgstr "Aihetunniste: {tag}"
+
+#: src/components/RichText.tsx:197
+msgid "Hashtag: #{tag}"
+msgstr "Aihetunniste #{tag}"
+
+#: src/screens/Signup/index.tsx:221
msgid "Having trouble?"
msgstr "Ongelmia?"
#: src/view/shell/desktop/RightNav.tsx:90
-#: src/view/shell/Drawer.tsx:321
+#: src/view/shell/Drawer.tsx:330
msgid "Help"
msgstr "Ohje"
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:132
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:140
msgid "Here are some accounts for you to follow"
msgstr "Tässä on joitakin tilejä seurattavaksi"
-#: src/screens/Onboarding/StepTopicalFeeds.tsx:85
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:89
msgid "Here are some popular topical feeds. You can choose to follow as many as you like."
msgstr "Tässä on joitakin suosittuja aihepiirikohtaisia syötteitä. Voit valita seurattavaksi niin monta kuin haluat."
-#: src/screens/Onboarding/StepTopicalFeeds.tsx:80
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:84
msgid "Here are some topical feeds based on your interests: {interestsText}. You can choose to follow as many as you like."
msgstr "Tässä on joitakin aihepiirikohtaisia syötteitä kiinnostuksiesi perusteella: {interestsText}. Voit valita seurata niin montaa kuin haluat."
-#: src/view/com/modals/AddAppPasswords.tsx:153
+#: src/view/com/modals/AddAppPasswords.tsx:154
msgid "Here is your app password."
msgstr "Tässä on sovelluksesi salasana."
-#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:41
-#: src/view/com/modals/ContentFilteringSettings.tsx:251
-#: src/view/com/util/moderation/ContentHider.tsx:105
-#: src/view/com/util/moderation/PostHider.tsx:108
+#: src/components/moderation/ContentHider.tsx:115
+#: src/components/moderation/LabelPreference.tsx:134
+#: src/components/moderation/PostHider.tsx:107
+#: src/lib/moderation/useLabelBehaviorDescription.ts:15
+#: src/lib/moderation/useLabelBehaviorDescription.ts:20
+#: src/lib/moderation/useLabelBehaviorDescription.ts:25
+#: src/lib/moderation/useLabelBehaviorDescription.ts:30
+#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:52
+#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:76
+#: src/view/com/util/forms/PostDropdownBtn.tsx:350
msgid "Hide"
msgstr "Piilota"
-#: src/view/com/modals/ContentFilteringSettings.tsx:224
-#: src/view/com/notifications/FeedItem.tsx:325
+#: src/view/com/notifications/FeedItem.tsx:331
msgctxt "action"
msgid "Hide"
msgstr "Piilota"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:232
+#: src/view/com/util/forms/PostDropdownBtn.tsx:294
+#: src/view/com/util/forms/PostDropdownBtn.tsx:296
msgid "Hide post"
msgstr "Piilota viesti"
-#: src/view/com/util/moderation/ContentHider.tsx:67
-#: src/view/com/util/moderation/PostHider.tsx:61
+#: src/components/moderation/ContentHider.tsx:67
+#: src/components/moderation/PostHider.tsx:64
msgid "Hide the content"
msgstr "Piilota sisältö"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:236
+#: src/view/com/util/forms/PostDropdownBtn.tsx:347
msgid "Hide this post?"
msgstr "Piilota tämä viesti?"
-#: src/view/com/notifications/FeedItem.tsx:315
+#: src/view/com/notifications/FeedItem.tsx:321
msgid "Hide user list"
msgstr "Piilota käyttäjäluettelo"
#: src/view/com/profile/ProfileHeader.tsx:487
-msgid "Hides posts from {0} in your feed"
-msgstr "Piilottaa viestit käyttäjältä {0} syötteessäsi"
+#~ msgid "Hides posts from {0} in your feed"
+#~ msgstr "Piilottaa viestit käyttäjältä {0} syötteessäsi"
#: src/view/com/posts/FeedErrorMessage.tsx:111
msgid "Hmm, some kind of issue occurred when contacting the feed server. Please let the feed owner know about this issue."
@@ -1822,11 +2221,19 @@ msgstr "Hmm, syötteen palvelin antoi virheellisen vastauksen. Ilmoita asiasta s
msgid "Hmm, we're having trouble finding this feed. It may have been deleted."
msgstr "Hmm, meillä on vaikeuksia löytää tätä syötettä. Se saattaa olla poistettu."
-#: src/Navigation.tsx:435
-#: src/view/shell/bottom-bar/BottomBar.tsx:137
-#: src/view/shell/desktop/LeftNav.tsx:306
-#: src/view/shell/Drawer.tsx:398
-#: src/view/shell/Drawer.tsx:399
+#: src/screens/Moderation/index.tsx:59
+msgid "Hmmmm, it seems we're having trouble loading this data. See below for more details. If this issue persists, please contact us."
+msgstr "Hmm, vaikuttaa siltä, että tämän datan lataamisessa on ongelmia. Katso lisätietoja alta. Jos ongelma jatkuu, ole hyvä ja ota yhteyttä meihin."
+
+#: src/screens/Profile/ErrorState.tsx:31
+msgid "Hmmmm, we couldn't load that moderation service."
+msgstr "Hmm, emme pystyneet avaamaan kyseistä moderaatiopalvelua."
+
+#: src/Navigation.tsx:446
+#: src/view/shell/bottom-bar/BottomBar.tsx:148
+#: src/view/shell/desktop/LeftNav.tsx:310
+#: src/view/shell/Drawer.tsx:407
+#: src/view/shell/Drawer.tsx:408
msgid "Home"
msgstr "Koti"
@@ -1837,8 +2244,14 @@ msgstr "Koti"
#~ msgid "Home Feed Preferences"
#~ msgstr "Aloitussivun syötteiden asetukset"
-#: src/view/com/auth/create/Step1.tsx:82
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:120
+#: src/view/com/modals/ChangeHandle.tsx:420
+msgid "Host:"
+msgstr ""
+
+#: src/screens/Login/ForgotPasswordForm.tsx:89
+#: src/screens/Login/LoginForm.tsx:134
+#: src/screens/Signup/StepInfo/index.tsx:40
+#: src/view/com/modals/ChangeHandle.tsx:281
msgid "Hosting provider"
msgstr "Hostingyritys"
@@ -1854,11 +2267,11 @@ msgstr "Minulla on koodi"
msgid "I have a confirmation code"
msgstr "Minulla on vahvistuskoodi"
-#: src/view/com/modals/ChangeHandle.tsx:283
+#: src/view/com/modals/ChangeHandle.tsx:284
msgid "I have my own domain"
msgstr "Minulla on oma verkkotunnus"
-#: src/view/com/lightbox/Lightbox.web.tsx:165
+#: src/view/com/lightbox/Lightbox.web.tsx:185
msgid "If alt text is long, toggles alt text expanded state"
msgstr "Jos ALT-teksti on pitkä, vaihtaa ALT-tekstin laajennetun tilan"
@@ -1866,60 +2279,80 @@ msgstr "Jos ALT-teksti on pitkä, vaihtaa ALT-tekstin laajennetun tilan"
msgid "If none are selected, suitable for all ages."
msgstr "Jos mitään ei ole valittu, sopii kaikenikäisille."
-#: src/view/com/modals/ChangePassword.tsx:146
+#: src/screens/Signup/StepInfo/Policies.tsx:83
+msgid "If you are not yet an adult according to the laws of your country, your parent or legal guardian must read these Terms on your behalf."
+msgstr ""
+
+#: src/view/screens/ProfileList.tsx:612
+msgid "If you delete this list, you won't be able to recover it."
+msgstr ""
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:338
+msgid "If you remove this post, you won't be able to recover it."
+msgstr ""
+
+#: src/view/com/modals/ChangePassword.tsx:148
msgid "If you want to change your password, we will send you a code to verify that this is your account."
-msgstr "Jos haluat vaihtaa salasanasi, lähetämme sinulle koodin varmistaaksemme, että tämä on tilisi."
+msgstr "Jos haluat vaihtaa salasanasi, lähetämme sinulle koodin varmistaaksemme, että tämä on käyttäjätilisi."
+
+#: src/lib/moderation/useReportOptions.ts:36
+msgid "Illegal and Urgent"
+msgstr "Laiton ja kiireellinen"
#: src/view/com/util/images/Gallery.tsx:38
msgid "Image"
msgstr "Kuva"
-#: src/view/com/modals/AltImage.tsx:120
+#: src/view/com/modals/AltImage.tsx:121
msgid "Image alt text"
msgstr "Kuvan ALT-teksti"
#: src/view/com/util/UserAvatar.tsx:311
#: src/view/com/util/UserBanner.tsx:118
-msgid "Image options"
-msgstr "Kuva-asetukset"
+#~ msgid "Image options"
+#~ msgstr "Kuva-asetukset"
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:138
+#: src/lib/moderation/useReportOptions.ts:47
+msgid "Impersonation or false claims about identity or affiliation"
+msgstr "Henkilöllisyyden tai yhteyksien vääristely tai vääriä väitteitä niistä"
+
+#: src/screens/Login/SetNewPasswordForm.tsx:127
msgid "Input code sent to your email for password reset"
msgstr "Syötä sähköpostiisi lähetetty koodi salasanan nollaamista varten"
-#: src/view/com/modals/DeleteAccount.tsx:184
+#: src/view/com/modals/DeleteAccount.tsx:183
msgid "Input confirmation code for account deletion"
-msgstr "Syötä vahvistuskoodi tilin poistoa varten"
+msgstr "Syötä vahvistuskoodi käyttäjätilin poistoa varten"
-#: src/view/com/auth/create/Step1.tsx:200
-msgid "Input email for Bluesky account"
-msgstr "Syötä sähköposti Bluesky-tiliä varten"
+#: src/view/com/auth/create/Step1.tsx:177
+#~ msgid "Input email for Bluesky account"
+#~ msgstr "Syötä sähköposti Bluesky-tiliä varten"
-#: src/view/com/auth/create/Step1.tsx:158
-msgid "Input invite code to proceed"
-msgstr "Syötä kutsukoodi jatkaaksesi"
+#: src/view/com/auth/create/Step1.tsx:151
+#~ msgid "Input invite code to proceed"
+#~ msgstr "Syötä kutsukoodi jatkaaksesi"
-#: src/view/com/modals/AddAppPasswords.tsx:180
+#: src/view/com/modals/AddAppPasswords.tsx:181
msgid "Input name for app password"
msgstr "Syötä nimi sovellussalasanaa varten"
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:162
+#: src/screens/Login/SetNewPasswordForm.tsx:151
msgid "Input new password"
msgstr "Syötä uusi salasana"
-#: src/view/com/modals/DeleteAccount.tsx:203
+#: src/view/com/modals/DeleteAccount.tsx:202
msgid "Input password for account deletion"
-msgstr "Syötä salasana tilin poistoa varten"
+msgstr "Syötä salasana käyttäjätilin poistoa varten"
#: src/view/com/auth/create/Step2.tsx:196
#~ msgid "Input phone number for SMS verification"
#~ msgstr "Syötä puhelinnumero SMS-varmennusta varten"
-#: src/view/com/auth/login/LoginForm.tsx:230
+#: src/screens/Login/LoginForm.tsx:195
msgid "Input the password tied to {identifier}"
msgstr "Syötä salasana, joka liittyy kohteeseen {identifier}"
-#: src/view/com/auth/login/LoginForm.tsx:197
+#: src/screens/Login/LoginForm.tsx:168
msgid "Input the username or email address you used at signup"
msgstr "Syötä käyttäjätunnus tai sähköpostiosoite, jonka käytit rekisteröityessäsi"
@@ -1928,43 +2361,46 @@ msgstr "Syötä käyttäjätunnus tai sähköpostiosoite, jonka käytit rekister
#~ msgstr "Syötä sinulle tekstattu varmennuskoodi"
#: src/view/com/modals/Waitlist.tsx:90
-msgid "Input your email to get on the Bluesky waitlist"
-msgstr "Syötä sähköpostiosoitteesi päästäksesi Bluesky-jonoon"
+#~ msgid "Input your email to get on the Bluesky waitlist"
+#~ msgstr "Syötä sähköpostiosoitteesi päästäksesi Bluesky-jonoon"
-#: src/view/com/auth/login/LoginForm.tsx:229
+#: src/screens/Login/LoginForm.tsx:194
msgid "Input your password"
msgstr "Syötä salasanasi"
-#: src/view/com/auth/create/Step2.tsx:80
+#: src/view/com/modals/ChangeHandle.tsx:389
+msgid "Input your preferred hosting provider"
+msgstr "Syötä haluamasi palveluntarjoaja"
+
+#: src/screens/Signup/StepHandle.tsx:63
msgid "Input your user handle"
msgstr "Syötä käyttäjätunnuksesi"
-#: src/view/com/post-thread/PostThreadItem.tsx:226
+#: src/view/com/post-thread/PostThreadItem.tsx:221
msgid "Invalid or unsupported post record"
msgstr "Virheellinen tai ei tuettu tietue"
-#: src/view/com/auth/login/LoginForm.tsx:113
+#: src/screens/Login/LoginForm.tsx:114
msgid "Invalid username or password"
msgstr "Virheellinen käyttäjätunnus tai salasana"
#: src/view/screens/Settings.tsx:411
#~ msgid "Invite"
-#~ msgstr ""
+#~ msgstr "Kutsu"
-#: src/view/com/modals/InviteCodes.tsx:93
+#: src/view/com/modals/InviteCodes.tsx:94
msgid "Invite a Friend"
msgstr "Kutsu ystävä"
-#: src/view/com/auth/create/Step1.tsx:148
-#: src/view/com/auth/create/Step1.tsx:157
+#: src/screens/Signup/StepInfo/index.tsx:58
msgid "Invite code"
msgstr "Kutsukoodi"
-#: src/view/com/auth/create/state.ts:158
+#: src/screens/Signup/state.ts:278
msgid "Invite code not accepted. Check that you input it correctly and try again."
msgstr "Kutsukoodia ei hyväksytty. Tarkista, että syötit sen oikein ja yritä uudelleen."
-#: src/view/com/modals/InviteCodes.tsx:170
+#: src/view/com/modals/InviteCodes.tsx:171
msgid "Invite codes: {0} available"
msgstr "Kutsukoodit: {0} saatavilla"
@@ -1972,84 +2408,123 @@ msgstr "Kutsukoodit: {0} saatavilla"
#~ msgid "Invite codes: {invitesAvailable} available"
#~ msgstr ""
-#: src/view/com/modals/InviteCodes.tsx:169
+#: src/view/com/modals/InviteCodes.tsx:170
msgid "Invite codes: 1 available"
msgstr "Kutsukoodit: 1 saatavilla"
-#: src/screens/Onboarding/StepFollowingFeed.tsx:64
+#: src/screens/Onboarding/StepFollowingFeed.tsx:65
msgid "It shows posts from the people you follow as they happen."
msgstr "Se näyttää viestejä seuraamiltasi ihmisiltä reaaliajassa."
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:99
-#: src/view/com/auth/SplashScreen.web.tsx:138
+#: src/view/com/auth/SplashScreen.web.tsx:152
msgid "Jobs"
msgstr "Työpaikat"
#: src/view/com/modals/Waitlist.tsx:67
-msgid "Join the waitlist"
-msgstr "Liity odotuslistalle"
+#~ msgid "Join the waitlist"
+#~ msgstr "Liity odotuslistalle"
#: src/view/com/auth/create/Step1.tsx:174
#: src/view/com/auth/create/Step1.tsx:178
-msgid "Join the waitlist."
-msgstr "Liity odotuslistalle."
+#~ msgid "Join the waitlist."
+#~ msgstr "Liity odotuslistalle."
#: src/view/com/modals/Waitlist.tsx:128
-msgid "Join Waitlist"
-msgstr "Liity odotuslistalle"
+#~ msgid "Join Waitlist"
+#~ msgstr "Liity odotuslistalle"
#: src/screens/Onboarding/index.tsx:24
msgid "Journalism"
msgstr "Journalismi"
+#: src/components/moderation/LabelsOnMe.tsx:59
+msgid "label has been placed on this {labelTarget}"
+msgstr ""
+
+#: src/components/moderation/ContentHider.tsx:144
+msgid "Labeled by {0}."
+msgstr ""
+
+#: src/components/moderation/ContentHider.tsx:142
+msgid "Labeled by the author."
+msgstr ""
+
+#: src/view/screens/Profile.tsx:193
+msgid "Labels"
+msgstr ""
+
+#: src/screens/Profile/Sections/Labels.tsx:153
+msgid "Labels are annotations on users and content. They can be used to hide, warn, and categorize the network."
+msgstr ""
+
+#: src/components/moderation/LabelsOnMe.tsx:61
+msgid "labels have been placed on this {labelTarget}"
+msgstr ""
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:62
+msgid "Labels on your account"
+msgstr ""
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:64
+msgid "Labels on your content"
+msgstr ""
+
#: src/view/com/composer/select-language/SelectLangBtn.tsx:104
msgid "Language selection"
msgstr "Kielen valinta"
-#: src/view/screens/Settings/index.tsx:594
+#: src/view/screens/Settings/index.tsx:565
msgid "Language settings"
msgstr "Kielen asetukset"
-#: src/Navigation.tsx:140
+#: src/Navigation.tsx:144
#: src/view/screens/LanguageSettings.tsx:89
msgid "Language Settings"
msgstr "Kielen asetukset"
-#: src/view/screens/Settings/index.tsx:603
+#: src/view/screens/Settings/index.tsx:574
msgid "Languages"
msgstr "Kielet"
#: src/view/com/auth/create/StepHeader.tsx:20
-msgid "Last step!"
-msgstr "Viimeinen vaihe!"
+#~ msgid "Last step!"
+#~ msgstr "Viimeinen vaihe!"
+
+#: src/view/screens/Search/Search.tsx:437
+msgid "Latest"
+msgstr ""
#: src/view/com/util/moderation/ContentHider.tsx:103
-msgid "Learn more"
-msgstr "Lue lisää"
+#~ msgid "Learn more"
+#~ msgstr "Lue lisää"
-#: src/view/com/util/moderation/PostAlerts.tsx:47
-#: src/view/com/util/moderation/ProfileHeaderAlerts.tsx:65
-#: src/view/com/util/moderation/ScreenHider.tsx:104
+#: src/components/moderation/ScreenHider.tsx:136
msgid "Learn More"
msgstr "Lue lisää"
-#: src/view/com/util/moderation/ContentHider.tsx:85
-#: src/view/com/util/moderation/PostAlerts.tsx:40
-#: src/view/com/util/moderation/PostHider.tsx:78
-#: src/view/com/util/moderation/ProfileHeaderAlerts.tsx:49
-#: src/view/com/util/moderation/ScreenHider.tsx:101
+#: src/components/moderation/ContentHider.tsx:65
+#: src/components/moderation/ContentHider.tsx:128
+msgid "Learn more about the moderation applied to this content."
+msgstr ""
+
+#: src/components/moderation/PostHider.tsx:85
+#: src/components/moderation/ScreenHider.tsx:125
msgid "Learn more about this warning"
msgstr "Lue lisää tästä varoituksesta"
-#: src/view/screens/Moderation.tsx:262
+#: src/screens/Moderation/index.tsx:549
msgid "Learn more about what is public on Bluesky."
msgstr "Lue lisää siitä, mikä on julkista Blueskyssa."
+#: src/components/moderation/ContentHider.tsx:152
+msgid "Learn more."
+msgstr "Lue lisää."
+
#: src/view/com/modals/lang-settings/ContentLanguagesSettings.tsx:82
msgid "Leave them all unchecked to see any language."
msgstr "Jätä kaikki valitsematta nähdäksesi minkä tahansa kielen."
-#: src/view/com/modals/LinkWarning.tsx:51
+#: src/view/com/modals/LinkWarning.tsx:65
msgid "Leaving Bluesky"
msgstr "Poistuminen Blueskysta"
@@ -2057,131 +2532,141 @@ msgstr "Poistuminen Blueskysta"
msgid "left to go."
msgstr "jäljellä."
-#: src/view/screens/Settings/index.tsx:278
+#: src/view/screens/Settings/index.tsx:299
msgid "Legacy storage cleared, you need to restart the app now."
msgstr "Legacy tietovarasto tyhjennetty, sinun on käynnistettävä sovellus uudelleen nyt."
-#: src/view/com/auth/login/Login.tsx:128
-#: src/view/com/auth/login/Login.tsx:144
+#: src/screens/Login/index.tsx:130
+#: src/screens/Login/index.tsx:145
msgid "Let's get your password reset!"
msgstr "Aloitetaan salasanasi nollaus!"
-#: src/screens/Onboarding/StepFinished.tsx:151
+#: src/screens/Onboarding/StepFinished.tsx:155
msgid "Let's go!"
msgstr "Aloitetaan!"
#: src/view/com/util/UserAvatar.tsx:248
#: src/view/com/util/UserBanner.tsx:62
-msgid "Library"
-msgstr "Kirjasto"
+#~ msgid "Library"
+#~ msgstr "Kirjasto"
-#: src/view/screens/Settings/index.tsx:479
+#: src/view/screens/Settings/index.tsx:449
msgid "Light"
msgstr "Vaalea"
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:182
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:216
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:197
msgid "Like"
msgstr "Tykkää"
-#: src/view/screens/ProfileFeed.tsx:591
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:264
+#: src/view/screens/ProfileFeed.tsx:585
msgid "Like this feed"
msgstr "Tykkää tästä syötteestä"
-#: src/Navigation.tsx:197
+#: src/components/LikesDialog.tsx:87
+#: src/Navigation.tsx:201
+#: src/Navigation.tsx:206
msgid "Liked by"
msgstr "Tykänneet"
+#: src/screens/Profile/ProfileLabelerLikedBy.tsx:29
#: src/view/screens/PostLikedBy.tsx:27
#: src/view/screens/ProfileFeedLikedBy.tsx:27
msgid "Liked By"
msgstr "Tykänneet"
-#: src/view/com/feeds/FeedSourceCard.tsx:279
+#: src/view/com/feeds/FeedSourceCard.tsx:268
msgid "Liked by {0} {1}"
-msgstr "Tykänneet {0} {1}"
+msgstr "Tykännyt {0} {1}"
-#: src/view/screens/ProfileFeed.tsx:606
+#: src/components/LabelingServiceCard/index.tsx:72
+msgid "Liked by {count} {0}"
+msgstr "Tykännyt {count} {0}"
+
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:284
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:298
+#: src/view/screens/ProfileFeed.tsx:600
msgid "Liked by {likeCount} {0}"
-msgstr "Tykkäyksiä {likeCount} {0}"
+msgstr "Tykännyt {likeCount} {0}"
-#: src/view/com/notifications/FeedItem.tsx:170
+#: src/view/com/notifications/FeedItem.tsx:176
msgid "liked your custom feed"
msgstr "tykkäsi mukautetusta syötteestäsi"
-#: src/view/com/notifications/FeedItem.tsx:155
+#: src/view/com/notifications/FeedItem.tsx:161
msgid "liked your post"
msgstr "tykkäsi viestistäsi"
-#: src/view/screens/Profile.tsx:183
+#: src/view/screens/Profile.tsx:198
msgid "Likes"
msgstr "Tykkäykset"
-#: src/view/com/post-thread/PostThreadItem.tsx:183
+#: src/view/com/post-thread/PostThreadItem.tsx:182
msgid "Likes on this post"
msgstr "Tykkäykset tässä viestissä"
-#: src/Navigation.tsx:166
+#: src/Navigation.tsx:170
msgid "List"
msgstr "Lista"
-#: src/view/com/modals/CreateOrEditList.tsx:261
+#: src/view/com/modals/CreateOrEditList.tsx:262
msgid "List Avatar"
msgstr "Listan kuvake"
-#: src/view/screens/ProfileList.tsx:324
+#: src/view/screens/ProfileList.tsx:313
msgid "List blocked"
msgstr "Lista estetty"
-#: src/view/com/feeds/FeedSourceCard.tsx:233
+#: src/view/com/feeds/FeedSourceCard.tsx:220
msgid "List by {0}"
msgstr "Listan on luonut {0}"
-#: src/view/screens/ProfileList.tsx:378
+#: src/view/screens/ProfileList.tsx:357
msgid "List deleted"
msgstr "Lista poistettu"
-#: src/view/screens/ProfileList.tsx:283
+#: src/view/screens/ProfileList.tsx:285
msgid "List muted"
msgstr "Lista hiljennetty"
-#: src/view/com/modals/CreateOrEditList.tsx:275
+#: src/view/com/modals/CreateOrEditList.tsx:276
msgid "List Name"
msgstr "Listan nimi"
-#: src/view/screens/ProfileList.tsx:343
+#: src/view/screens/ProfileList.tsx:327
msgid "List unblocked"
msgstr "Listaa estosta poistetut"
-#: src/view/screens/ProfileList.tsx:302
+#: src/view/screens/ProfileList.tsx:299
msgid "List unmuted"
msgstr "Listaa hiljennyksestä poistetut"
-#: src/Navigation.tsx:110
-#: src/view/screens/Profile.tsx:185
-#: src/view/shell/desktop/LeftNav.tsx:379
-#: src/view/shell/Drawer.tsx:492
-#: src/view/shell/Drawer.tsx:493
+#: src/Navigation.tsx:114
+#: src/view/screens/Profile.tsx:194
+#: src/view/screens/Profile.tsx:200
+#: src/view/shell/desktop/LeftNav.tsx:383
+#: src/view/shell/Drawer.tsx:501
+#: src/view/shell/Drawer.tsx:502
msgid "Lists"
msgstr "Listat"
#: src/view/com/post-thread/PostThread.tsx:333
#: src/view/com/post-thread/PostThread.tsx:341
-msgid "Load more posts"
-msgstr "Lataa lisää viestejä"
+#~ msgid "Load more posts"
+#~ msgstr "Lataa lisää viestejä"
#: src/view/screens/Notifications.tsx:159
msgid "Load new notifications"
msgstr "Lataa uusia ilmoituksia"
-#: src/view/com/feeds/FeedPage.tsx:115
-#: src/view/screens/Profile.tsx:440
-#: src/view/screens/ProfileFeed.tsx:495
-#: src/view/screens/ProfileList.tsx:681
+#: src/screens/Profile/Sections/Feed.tsx:86
+#: src/view/com/feeds/FeedPage.tsx:138
+#: src/view/screens/ProfileFeed.tsx:507
+#: src/view/screens/ProfileList.tsx:697
msgid "Load new posts"
msgstr "Lataa uusia viestejä"
-#: src/view/com/composer/text-input/mobile/Autocomplete.tsx:95
+#: src/view/com/composer/text-input/mobile/Autocomplete.tsx:99
msgid "Loading..."
msgstr "Ladataan..."
@@ -2189,7 +2674,7 @@ msgstr "Ladataan..."
#~ msgid "Local dev server"
#~ msgstr ""
-#: src/Navigation.tsx:207
+#: src/Navigation.tsx:221
msgid "Log"
msgstr "Loki"
@@ -2200,31 +2685,35 @@ msgstr "Loki"
msgid "Log out"
msgstr "Kirjaudu ulos"
-#: src/view/screens/Moderation.tsx:155
+#: src/screens/Moderation/index.tsx:442
msgid "Logged-out visibility"
msgstr "Näkyvyys kirjautumattomana"
-#: src/view/com/auth/login/ChooseAccountForm.tsx:133
+#: src/components/AccountList.tsx:54
msgid "Login to account that is not listed"
msgstr "Kirjaudu tiliin, joka ei ole luettelossa"
-#: src/view/com/modals/LinkWarning.tsx:65
+#: src/screens/Login/SetNewPasswordForm.tsx:116
+msgid "Looks like XXXXX-XXXXX"
+msgstr ""
+
+#: src/view/com/modals/LinkWarning.tsx:79
msgid "Make sure this is where you intend to go!"
msgstr "Varmista, että olet menossa oikeaan paikkaan!"
-#: src/components/dialogs/MutedWords.tsx:71
+#: src/components/dialogs/MutedWords.tsx:82
msgid "Manage your muted words and tags"
-msgstr "Hallinnoi hiljennettyjä sanojasi ja tunnisteitasi"
+msgstr "Hallinnoi hiljennettyjä sanoja ja aihetunnisteita"
#: src/view/com/auth/create/Step2.tsx:118
-msgid "May not be longer than 253 characters"
-msgstr "Ei saa olla pidempi kuin 253 merkkiä"
+#~ msgid "May not be longer than 253 characters"
+#~ msgstr "Ei saa olla pidempi kuin 253 merkkiä"
#: src/view/com/auth/create/Step2.tsx:109
-msgid "May only contain letters and numbers"
-msgstr "Ei saa olla pidempi kuin 253 merkkiä"
+#~ msgid "May only contain letters and numbers"
+#~ msgstr "Ei saa olla pidempi kuin 253 merkkiä"
-#: src/view/screens/Profile.tsx:182
+#: src/view/screens/Profile.tsx:197
msgid "Media"
msgstr "Media"
@@ -2236,171 +2725,204 @@ msgstr "mainitut käyttäjät"
msgid "Mentioned users"
msgstr "Mainitut käyttäjät"
-#: src/view/com/util/ViewHeader.tsx:81
-#: src/view/screens/Search/Search.tsx:623
+#: src/view/com/util/ViewHeader.tsx:87
+#: src/view/screens/Search/Search.tsx:795
msgid "Menu"
msgstr "Valikko"
-#: src/view/com/posts/FeedErrorMessage.tsx:197
+#: src/view/com/posts/FeedErrorMessage.tsx:192
msgid "Message from server: {0}"
msgstr "Viesti palvelimelta: {0}"
-#: src/Navigation.tsx:115
-#: src/view/screens/Moderation.tsx:66
-#: src/view/screens/Settings/index.tsx:625
-#: src/view/shell/desktop/LeftNav.tsx:397
-#: src/view/shell/Drawer.tsx:511
-#: src/view/shell/Drawer.tsx:512
+#: src/lib/moderation/useReportOptions.ts:45
+msgid "Misleading Account"
+msgstr "Harhaanjohtava käyttäjätili"
+
+#: src/Navigation.tsx:119
+#: src/screens/Moderation/index.tsx:104
+#: src/view/screens/Settings/index.tsx:596
+#: src/view/shell/desktop/LeftNav.tsx:401
+#: src/view/shell/Drawer.tsx:520
+#: src/view/shell/Drawer.tsx:521
msgid "Moderation"
msgstr "Moderointi"
+#: src/components/moderation/ModerationDetailsDialog.tsx:112
+msgid "Moderation details"
+msgstr "Moderaation yksityiskohdat"
+
#: src/view/com/lists/ListCard.tsx:93
#: src/view/com/modals/UserAddRemoveLists.tsx:206
msgid "Moderation list by {0}"
msgstr "Moderointilista käyttäjältä {0}"
-#: src/view/screens/ProfileList.tsx:774
+#: src/view/screens/ProfileList.tsx:791
msgid "Moderation list by <0/>"
msgstr "Moderointilista käyttäjältä <0/>"
#: src/view/com/lists/ListCard.tsx:91
#: src/view/com/modals/UserAddRemoveLists.tsx:204
-#: src/view/screens/ProfileList.tsx:772
+#: src/view/screens/ProfileList.tsx:789
msgid "Moderation list by you"
msgstr "Sinun moderointilistasi"
-#: src/view/com/modals/CreateOrEditList.tsx:197
+#: src/view/com/modals/CreateOrEditList.tsx:198
msgid "Moderation list created"
msgstr "Moderointilista luotu"
-#: src/view/com/modals/CreateOrEditList.tsx:183
+#: src/view/com/modals/CreateOrEditList.tsx:184
msgid "Moderation list updated"
msgstr "Moderointilista päivitetty"
-#: src/view/screens/Moderation.tsx:114
+#: src/screens/Moderation/index.tsx:243
msgid "Moderation lists"
msgstr "Moderointilistat"
-#: src/Navigation.tsx:120
+#: src/Navigation.tsx:124
#: src/view/screens/ModerationModlists.tsx:58
msgid "Moderation Lists"
msgstr "Moderointilistat"
-#: src/view/screens/Settings/index.tsx:619
+#: src/view/screens/Settings/index.tsx:590
msgid "Moderation settings"
msgstr "Moderointiasetukset"
-#: src/view/com/modals/ModerationDetails.tsx:35
+#: src/Navigation.tsx:216
+msgid "Moderation states"
+msgstr ""
+
+#: src/screens/Moderation/index.tsx:215
+msgid "Moderation tools"
+msgstr "Moderointityökalut"
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:48
+#: src/lib/moderation/useModerationCauseDescription.ts:40
msgid "Moderator has chosen to set a general warning on the content."
msgstr "Ylläpitäjä on asettanut yleisen varoituksen sisällölle."
-#: src/view/shell/desktop/Feeds.tsx:63
+#: src/view/com/post-thread/PostThreadItem.tsx:535
+msgid "More"
+msgstr "Lisää"
+
+#: src/view/shell/desktop/Feeds.tsx:65
msgid "More feeds"
msgstr "Lisää syötteitä"
-#: src/view/com/profile/ProfileHeader.tsx:523
-#: src/view/screens/ProfileFeed.tsx:363
-#: src/view/screens/ProfileList.tsx:617
+#: src/view/screens/ProfileList.tsx:601
msgid "More options"
msgstr "Lisää asetuksia"
#: src/view/com/util/forms/PostDropdownBtn.tsx:315
-msgid "More post options"
-msgstr "Lisää viestiasetuksia"
+#~ msgid "More post options"
+#~ msgstr "Lisää viestiasetuksia"
#: src/view/screens/PreferencesThreads.tsx:82
msgid "Most-liked replies first"
msgstr "Eniten tykätyt vastaukset ensin"
#: src/view/com/auth/create/Step2.tsx:122
-msgid "Must be at least 3 characters"
-msgstr "Täytyy olla vähintään 3 merkkiä"
+#~ msgid "Must be at least 3 characters"
+#~ msgstr "Täytyy olla vähintään 3 merkkiä"
-#: src/components/TagMenu/index.tsx:253
+#: src/components/TagMenu/index.tsx:249
msgid "Mute"
msgstr "Hiljennä"
-#: src/components/TagMenu/index.web.tsx:91
+#: src/components/TagMenu/index.web.tsx:105
msgid "Mute {truncatedTag}"
msgstr "Hiljennä {truncatedTag}"
-#: src/view/com/profile/ProfileHeader.tsx:327
+#: src/view/com/profile/ProfileMenu.tsx:279
+#: src/view/com/profile/ProfileMenu.tsx:286
msgid "Mute Account"
msgstr "Hiljennä käyttäjä"
-#: src/view/screens/ProfileList.tsx:544
+#: src/view/screens/ProfileList.tsx:520
msgid "Mute accounts"
msgstr "Hiljennä käyttäjät"
+
+#: src/components/TagMenu/index.tsx:209
+msgid "Mute all {displayTag} posts"
+msgstr "Hiljennä kaikki {displayTag} viestit"
+
#: src/components/TagMenu/index.tsx:211
-msgid "Mute all {tag} posts"
-msgstr "Hiljennä kaikki {tag}-viestit"
+#~ msgid "Mute all {tag} posts"
+#~ msgstr "Hiljennä kaikki {tag}-viestit"
-#: src/components/dialogs/MutedWords.tsx:131
+#: src/components/dialogs/MutedWords.tsx:148
msgid "Mute in tags only"
-msgstr "Hiljennä vain tunnisteissa"
+msgstr "Hiljennä vain aihetunnisteissa"
-#: src/components/dialogs/MutedWords.tsx:116
+#: src/components/dialogs/MutedWords.tsx:133
msgid "Mute in text & tags"
-msgstr "Hiljennä tekstissä ja tunnisteissa"
+msgstr "Hiljennä tekstissä ja aihetunnisteissa"
-#: src/view/screens/ProfileList.tsx:491
+#: src/view/screens/ProfileList.tsx:463
+#: src/view/screens/ProfileList.tsx:626
msgid "Mute list"
msgstr "Hiljennä lista"
-#: src/view/screens/ProfileList.tsx:275
+#: src/view/screens/ProfileList.tsx:621
msgid "Mute these accounts?"
msgstr "Hiljennä nämä käyttäjät?"
#: src/view/screens/ProfileList.tsx:279
-msgid "Mute this List"
-msgstr "Hiljennä tämä lista"
+#~ msgid "Mute this List"
+#~ msgstr "Hiljennä tämä lista"
-#: src/components/dialogs/MutedWords.tsx:109
+#: src/components/dialogs/MutedWords.tsx:126
msgid "Mute this word in post text and tags"
-msgstr "Hiljennä tämä sana viesteissä ja tunnisteissa"
+msgstr "Hiljennä tämä sana viesteissä ja aihetunnisteissa"
-#: src/components/dialogs/MutedWords.tsx:124
+#: src/components/dialogs/MutedWords.tsx:141
msgid "Mute this word in tags only"
-msgstr "Hiljennä tämä sana vain tunnisteissa"
+msgstr "Hiljennä tämä sana vain aihetunnisteissa"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:202
+#: src/view/com/util/forms/PostDropdownBtn.tsx:269
+#: src/view/com/util/forms/PostDropdownBtn.tsx:275
msgid "Mute thread"
msgstr "Hiljennä keskustelu"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:216
+#: src/view/com/util/forms/PostDropdownBtn.tsx:285
+#: src/view/com/util/forms/PostDropdownBtn.tsx:287
msgid "Mute words & tags"
-msgstr "Hiljennä sanat ja tunnisteet"
+msgstr "Hiljennä sanat ja aihetunnisteet"
#: src/view/com/lists/ListCard.tsx:102
msgid "Muted"
msgstr "Hiljennetty"
-#: src/view/screens/Moderation.tsx:128
+#: src/screens/Moderation/index.tsx:255
msgid "Muted accounts"
msgstr "Hiljennetyt käyttäjät"
-#: src/Navigation.tsx:125
-#: src/view/screens/ModerationMutedAccounts.tsx:107
+#: src/Navigation.tsx:129
+#: src/view/screens/ModerationMutedAccounts.tsx:112
msgid "Muted Accounts"
msgstr "Hiljennetyt käyttäjätilit"
-#: src/view/screens/ModerationMutedAccounts.tsx:115
+#: src/view/screens/ModerationMutedAccounts.tsx:120
msgid "Muted accounts have their posts removed from your feed and from your notifications. Mutes are completely private."
msgstr "Hiljennettyjen käyttäjien viestit poistetaan syötteestäsi ja ilmoituksistasi. Hiljennykset ovat täysin yksityisiä."
-#: src/view/screens/Moderation.tsx:100
-msgid "Muted words & tags"
-msgstr "Hiljennetyt sanat ja tunnisteet"
+#: src/lib/moderation/useModerationCauseDescription.ts:85
+msgid "Muted by \"{0}\""
+msgstr "Hiljentäjä: \"{0}\""
-#: src/view/screens/ProfileList.tsx:277
+#: src/screens/Moderation/index.tsx:231
+msgid "Muted words & tags"
+msgstr "Hiljennetyt sanat ja aihetunnisteet"
+
+#: src/view/screens/ProfileList.tsx:623
msgid "Muting is private. Muted accounts can interact with you, but you will not see their posts or receive notifications from them."
msgstr "Hiljennys on yksityinen. Hiljennetyt käyttäjät voivat edelleen vuorovaikuttaa kanssasi, mutta et näe heidän viestejään tai saa ilmoituksia heiltä."
-#: src/view/com/modals/BirthDateSettings.tsx:56
+#: src/components/dialogs/BirthDateSettings.tsx:35
+#: src/components/dialogs/BirthDateSettings.tsx:38
msgid "My Birthday"
msgstr "Syntymäpäiväni"
-#: src/view/screens/Feeds.tsx:663
+#: src/view/screens/Feeds.tsx:688
msgid "My Feeds"
msgstr "Omat syötteet"
@@ -2408,32 +2930,40 @@ msgstr "Omat syötteet"
msgid "My Profile"
msgstr "Profiilini"
-#: src/view/screens/Settings/index.tsx:582
+#: src/view/screens/Settings/index.tsx:547
+msgid "My saved feeds"
+msgstr "Tallennetut syötteeni"
+
+#: src/view/screens/Settings/index.tsx:553
msgid "My Saved Feeds"
-msgstr "Omat tallennetut syötteet"
+msgstr "Tallennetut syötteeni"
#: src/view/com/auth/server-input/index.tsx:118
-msgid "my-server.com"
-msgstr "oma-palvelimeni.com"
+#~ msgid "my-server.com"
+#~ msgstr "oma-palvelimeni.com"
-#: src/view/com/modals/AddAppPasswords.tsx:179
-#: src/view/com/modals/CreateOrEditList.tsx:290
+#: src/view/com/modals/AddAppPasswords.tsx:180
+#: src/view/com/modals/CreateOrEditList.tsx:291
msgid "Name"
msgstr "Nimi"
-#: src/view/com/modals/CreateOrEditList.tsx:145
+#: src/view/com/modals/CreateOrEditList.tsx:146
msgid "Name is required"
msgstr "Nimi vaaditaan"
+#: src/lib/moderation/useReportOptions.ts:57
+#: src/lib/moderation/useReportOptions.ts:78
+#: src/lib/moderation/useReportOptions.ts:86
+msgid "Name or Description Violates Community Standards"
+msgstr "Nimi tai kuvaus rikkoo yhteisön sääntöjä"
+
#: src/screens/Onboarding/index.tsx:25
msgid "Nature"
msgstr "Luonto"
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:190
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:219
-#: src/view/com/auth/login/LoginForm.tsx:289
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:196
-#: src/view/com/modals/ChangePassword.tsx:166
+#: src/screens/Login/ForgotPasswordForm.tsx:173
+#: src/screens/Login/LoginForm.tsx:255
+#: src/view/com/modals/ChangePassword.tsx:168
msgid "Navigates to the next screen"
msgstr "Siirtyy seuraavalle näytölle"
@@ -2441,23 +2971,31 @@ msgstr "Siirtyy seuraavalle näytölle"
msgid "Navigates to your profile"
msgstr "Siirtyy profiiliisi"
+#: src/components/ReportDialog/SelectReportOptionView.tsx:123
+msgid "Need to report a copyright violation?"
+msgstr "Tarvitseeko ilmoittaa tekijänoikeusrikkomuksesta?"
+
#: src/view/com/modals/EmbedConsent.tsx:107
#: src/view/com/modals/EmbedConsent.tsx:123
-msgid "Never load embeds from {0}"
-msgstr "Älä koskaan lataa upotuksia taholta {0}"
+#~ msgid "Never load embeds from {0}"
+#~ msgstr "Älä koskaan lataa upotuksia taholta {0}"
#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:72
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:72
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:74
msgid "Never lose access to your followers and data."
msgstr "Älä koskaan menetä pääsyä seuraajiisi ja tietoihisi."
-#: src/screens/Onboarding/StepFinished.tsx:119
+#: src/screens/Onboarding/StepFinished.tsx:123
msgid "Never lose access to your followers or data."
msgstr "Älä koskaan menetä pääsyä seuraajiisi tai tietoihisi."
#: src/components/dialogs/MutedWords.tsx:244
-msgid "Nevermind"
-msgstr "Ei väliä"
+#~ msgid "Nevermind"
+#~ msgstr "Ei väliä"
+
+#: src/view/com/modals/ChangeHandle.tsx:519
+msgid "Nevermind, create a handle for me"
+msgstr ""
#: src/view/screens/Lists.tsx:76
msgctxt "action"
@@ -2468,39 +3006,39 @@ msgstr "Uusi"
msgid "New"
msgstr "Uusi"
-#: src/view/com/modals/CreateOrEditList.tsx:252
+#: src/view/com/modals/CreateOrEditList.tsx:253
msgid "New Moderation List"
msgstr "Uusi moderointilista"
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:150
+#: src/view/com/modals/ChangePassword.tsx:212
msgid "New password"
msgstr "Uusi salasana"
-#: src/view/com/modals/ChangePassword.tsx:215
+#: src/view/com/modals/ChangePassword.tsx:217
msgid "New Password"
msgstr "Uusi salasana"
-#: src/view/com/feeds/FeedPage.tsx:126
+#: src/view/com/feeds/FeedPage.tsx:149
msgctxt "action"
msgid "New post"
msgstr "Uusi viesti"
-#: src/view/screens/Feeds.tsx:555
+#: src/view/screens/Feeds.tsx:580
#: src/view/screens/Notifications.tsx:168
-#: src/view/screens/Profile.tsx:382
-#: src/view/screens/ProfileFeed.tsx:433
-#: src/view/screens/ProfileList.tsx:196
-#: src/view/screens/ProfileList.tsx:224
-#: src/view/shell/desktop/LeftNav.tsx:248
+#: src/view/screens/Profile.tsx:480
+#: src/view/screens/ProfileFeed.tsx:445
+#: src/view/screens/ProfileList.tsx:200
+#: src/view/screens/ProfileList.tsx:228
+#: src/view/shell/desktop/LeftNav.tsx:252
msgid "New post"
msgstr "Uusi viesti"
-#: src/view/shell/desktop/LeftNav.tsx:258
+#: src/view/shell/desktop/LeftNav.tsx:262
msgctxt "action"
msgid "New Post"
msgstr "Uusi viesti"
-#: src/view/com/modals/CreateOrEditList.tsx:247
+#: src/view/com/modals/CreateOrEditList.tsx:248
msgid "New User List"
msgstr "Uusi käyttäjälista"
@@ -2512,15 +3050,16 @@ msgstr "Uusimmat vastaukset ensin"
msgid "News"
msgstr "Uutiset"
-#: src/view/com/auth/create/CreateAccount.tsx:172
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:182
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:192
-#: src/view/com/auth/login/LoginForm.tsx:291
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:187
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:198
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:79
-#: src/view/com/modals/ChangePassword.tsx:251
+#: src/screens/Login/ForgotPasswordForm.tsx:143
+#: src/screens/Login/ForgotPasswordForm.tsx:150
+#: src/screens/Login/LoginForm.tsx:254
+#: src/screens/Login/LoginForm.tsx:261
+#: src/screens/Login/SetNewPasswordForm.tsx:174
+#: src/screens/Login/SetNewPasswordForm.tsx:180
+#: src/screens/Signup/index.tsx:207
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:80
#: src/view/com/modals/ChangePassword.tsx:253
+#: src/view/com/modals/ChangePassword.tsx:255
msgid "Next"
msgstr "Seuraava"
@@ -2529,7 +3068,7 @@ msgctxt "action"
msgid "Next"
msgstr "Seuraava"
-#: src/view/com/lightbox/Lightbox.web.tsx:149
+#: src/view/com/lightbox/Lightbox.web.tsx:169
msgid "Next image"
msgstr "Seuraava kuva"
@@ -2542,48 +3081,70 @@ msgstr "Seuraava kuva"
msgid "No"
msgstr "Ei"
-#: src/view/screens/ProfileFeed.tsx:584
-#: src/view/screens/ProfileList.tsx:754
+#: src/view/screens/ProfileFeed.tsx:574
+#: src/view/screens/ProfileList.tsx:771
msgid "No description"
msgstr "Ei kuvausta"
-#: src/view/com/profile/ProfileHeader.tsx:170
+#: src/view/com/modals/ChangeHandle.tsx:405
+msgid "No DNS Panel"
+msgstr ""
+
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:118
msgid "No longer following {0}"
msgstr "Et enää seuraa käyttäjää {0}"
+#: src/screens/Signup/StepHandle.tsx:115
+msgid "No longer than 253 characters"
+msgstr ""
+
#: src/view/com/notifications/Feed.tsx:109
msgid "No notifications yet!"
msgstr "Ei vielä ilmoituksia!"
-#: src/view/com/composer/text-input/mobile/Autocomplete.tsx:97
-#: src/view/com/composer/text-input/web/Autocomplete.tsx:191
+#: src/view/com/composer/text-input/mobile/Autocomplete.tsx:101
+#: src/view/com/composer/text-input/web/Autocomplete.tsx:195
msgid "No result"
msgstr "Ei tuloksia"
-#: src/view/screens/Feeds.tsx:495
+#: src/components/Lists.tsx:183
+msgid "No results found"
+msgstr "Tuloksia ei löydetty"
+
+#: src/view/screens/Feeds.tsx:520
msgid "No results found for \"{query}\""
msgstr "Ei tuloksia haulle \"{query}\""
#: src/view/com/modals/ListAddRemoveUsers.tsx:127
-#: src/view/screens/Search/Search.tsx:281
-#: src/view/screens/Search/Search.tsx:309
+#: src/view/screens/Search/Search.tsx:349
+#: src/view/screens/Search/Search.tsx:387
msgid "No results found for {query}"
msgstr "Ei tuloksia haulle {query}"
-#: src/view/com/modals/EmbedConsent.tsx:129
+#: src/components/dialogs/EmbedConsent.tsx:105
+#: src/components/dialogs/EmbedConsent.tsx:112
msgid "No thanks"
msgstr "Ei kiitos"
#: src/view/com/modals/Threadgate.tsx:82
msgid "Nobody"
-msgstr "Ei ketään"
+msgstr "Ei kukaan"
+
+#: src/components/LikedByList.tsx:79
+#: src/components/LikesDialog.tsx:99
+msgid "Nobody has liked this yet. Maybe you should be the first!"
+msgstr "Kukaan ei ole vielä tykännyt tästä. Ehkä sinun pitäisi olla ensimmäinen!"
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:42
+msgid "Non-sexual Nudity"
+msgstr "Ei-seksuaalinen alastomuus"
#: src/view/com/modals/SelfLabel.tsx:135
msgid "Not Applicable."
msgstr "Ei sovellettavissa."
-#: src/Navigation.tsx:105
-#: src/view/screens/Profile.tsx:106
+#: src/Navigation.tsx:109
+#: src/view/screens/Profile.tsx:101
msgid "Not Found"
msgstr "Ei löytynyt"
@@ -2592,17 +3153,23 @@ msgstr "Ei löytynyt"
msgid "Not right now"
msgstr "Ei juuri nyt"
-#: src/view/screens/Moderation.tsx:252
+#: src/view/com/profile/ProfileMenu.tsx:368
+#: src/view/com/util/forms/PostDropdownBtn.tsx:364
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:248
+msgid "Note about sharing"
+msgstr ""
+
+#: src/screens/Moderation/index.tsx:540
msgid "Note: Bluesky is an open and public network. This setting only limits the visibility of your content on the Bluesky app and website, and other apps may not respect this setting. Your content may still be shown to logged-out users by other apps and websites."
msgstr "Huomio: Bluesky on avoin ja julkinen verkosto. Tämä asetus rajoittaa vain sisältösi näkyvyyttä Bluesky-sovelluksessa ja -sivustolla, eikä muut sovellukset ehkä kunnioita tässä asetuksissaan. Sisältösi voi silti näkyä uloskirjautuneille käyttäjille muissa sovelluksissa ja verkkosivustoilla."
-#: src/Navigation.tsx:450
+#: src/Navigation.tsx:461
#: src/view/screens/Notifications.tsx:124
#: src/view/screens/Notifications.tsx:148
-#: src/view/shell/bottom-bar/BottomBar.tsx:205
-#: src/view/shell/desktop/LeftNav.tsx:361
-#: src/view/shell/Drawer.tsx:435
-#: src/view/shell/Drawer.tsx:436
+#: src/view/shell/bottom-bar/BottomBar.tsx:216
+#: src/view/shell/desktop/LeftNav.tsx:365
+#: src/view/shell/Drawer.tsx:444
+#: src/view/shell/Drawer.tsx:445
msgid "Notifications"
msgstr "Ilmoitukset"
@@ -2610,15 +3177,36 @@ msgstr "Ilmoitukset"
msgid "Nudity"
msgstr "Alastomuus"
-#: src/view/com/util/ErrorBoundary.tsx:35
+#: src/lib/moderation/useReportOptions.ts:71
+msgid "Nudity or adult content not labeled as such"
+msgstr ""
+
+#: src/lib/moderation/useReportOptions.ts:71
+#~ msgid "Nudity or pornography not labeled as such"
+#~ msgstr ""
+
+#: src/screens/Signup/index.tsx:143
+msgid "of"
+msgstr ""
+
+#: src/lib/moderation/useLabelBehaviorDescription.ts:11
+msgid "Off"
+msgstr ""
+
+#: src/view/com/util/ErrorBoundary.tsx:49
msgid "Oh no!"
msgstr "Voi ei!"
-#: src/screens/Onboarding/StepInterests/index.tsx:128
+#: src/screens/Onboarding/StepInterests/index.tsx:132
msgid "Oh no! Something went wrong."
msgstr "Voi ei! Jokin meni pieleen."
-#: src/view/com/auth/login/PasswordUpdatedForm.tsx:41
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:126
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:333
+msgid "OK"
+msgstr "OK"
+
+#: src/screens/Login/PasswordUpdatedForm.tsx:44
msgid "Okay"
msgstr "Selvä"
@@ -2626,11 +3214,11 @@ msgstr "Selvä"
msgid "Oldest replies first"
msgstr "Vanhimmat vastaukset ensin"
-#: src/view/screens/Settings/index.tsx:234
+#: src/view/screens/Settings/index.tsx:247
msgid "Onboarding reset"
msgstr "Käyttöönoton nollaus"
-#: src/view/com/composer/Composer.tsx:382
+#: src/view/com/composer/Composer.tsx:392
msgid "One or more images is missing alt text."
msgstr "Yksi tai useampi kuva on ilman vaihtoehtoista Alt-tekstiä."
@@ -2638,40 +3226,66 @@ msgstr "Yksi tai useampi kuva on ilman vaihtoehtoista Alt-tekstiä."
msgid "Only {0} can reply."
msgstr "Vain {0} voi vastata."
-#: src/view/screens/AppPasswords.tsx:65
-#: src/view/screens/Profile.tsx:106
+#: src/screens/Signup/StepHandle.tsx:98
+msgid "Only contains letters, numbers, and hyphens"
+msgstr ""
+
+#: src/components/Lists.tsx:75
+msgid "Oops, something went wrong!"
+msgstr ""
+
+#: src/components/Lists.tsx:170
+#: src/view/screens/AppPasswords.tsx:67
+#: src/view/screens/Profile.tsx:101
msgid "Oops!"
msgstr "Hups!"
-#: src/screens/Onboarding/StepFinished.tsx:115
+#: src/screens/Onboarding/StepFinished.tsx:119
msgid "Open"
msgstr "Avaa"
#: src/view/screens/Moderation.tsx:75
-msgid "Open content filtering settings"
-msgstr "Avaa sisällönsuodatusasetukset"
+#~ msgid "Open content filtering settings"
+#~ msgstr "Avaa sisällönsuodatusasetukset"
-#: src/view/com/composer/Composer.tsx:477
-#: src/view/com/composer/Composer.tsx:478
+#: src/view/com/composer/Composer.tsx:491
+#: src/view/com/composer/Composer.tsx:492
msgid "Open emoji picker"
msgstr "Avaa emoji-valitsin"
-#: src/view/screens/Settings/index.tsx:712
+#: src/view/screens/ProfileFeed.tsx:311
+msgid "Open feed options menu"
+msgstr "Avaa syötteen asetusvalikko"
+
+#: src/view/screens/Settings/index.tsx:685
msgid "Open links with in-app browser"
msgstr "Avaa linkit sovelluksen sisäisellä selaimella"
-#: src/view/screens/Moderation.tsx:92
-msgid "Open muted words settings"
-msgstr "Avaa hiljennettyjen sanojen asetukset"
+#: src/screens/Moderation/index.tsx:227
+msgid "Open muted words and tags settings"
+msgstr "Avaa hiljennettyjen sanojen ja aihetunnisteiden asetukset"
-#: src/view/com/home/HomeHeaderLayoutMobile.tsx:49
+#: src/view/screens/Moderation.tsx:92
+#~ msgid "Open muted words settings"
+#~ msgstr "Avaa hiljennettyjen sanojen asetukset"
+
+#: src/view/com/home/HomeHeaderLayoutMobile.tsx:52
msgid "Open navigation"
msgstr "Avaa navigointi"
-#: src/view/screens/Settings/index.tsx:804
+#: src/view/com/util/forms/PostDropdownBtn.tsx:191
+msgid "Open post options menu"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:792
+#: src/view/screens/Settings/index.tsx:802
msgid "Open storybook page"
msgstr "Avaa storybook-sivu"
+#: src/view/screens/Settings/index.tsx:780
+msgid "Open system log"
+msgstr "Avaa järjestelmäloki"
+
#: src/view/com/util/forms/DropdownButton.tsx:154
msgid "Opens {numItems} options"
msgstr "Avaa {numItems} asetusta"
@@ -2680,11 +3294,11 @@ msgstr "Avaa {numItems} asetusta"
msgid "Opens additional details for a debug entry"
msgstr "Avaa debug lisätiedot"
-#: src/view/com/notifications/FeedItem.tsx:348
+#: src/view/com/notifications/FeedItem.tsx:355
msgid "Opens an expanded list of users in this notification"
msgstr "Avaa laajennetun listan tämän ilmoituksen käyttäjistä"
-#: src/view/com/composer/photos/OpenCameraBtn.tsx:61
+#: src/view/com/composer/photos/OpenCameraBtn.tsx:78
msgid "Opens camera on device"
msgstr "Avaa laitteen kameran"
@@ -2692,7 +3306,7 @@ msgstr "Avaa laitteen kameran"
msgid "Opens composer"
msgstr "Avaa editorin"
-#: src/view/screens/Settings/index.tsx:595
+#: src/view/screens/Settings/index.tsx:566
msgid "Opens configurable language settings"
msgstr "Avaa mukautettavat kielen asetukset"
@@ -2701,71 +3315,114 @@ msgid "Opens device photo gallery"
msgstr "Avaa laitteen valokuvat"
#: src/view/com/profile/ProfileHeader.tsx:420
-msgid "Opens editor for profile display name, avatar, background image, and description"
-msgstr "Avaa editorin profiilin näyttönimeä, avataria, taustakuvaa ja kuvausta varten"
+#~ msgid "Opens editor for profile display name, avatar, background image, and description"
+#~ msgstr "Avaa editorin profiilin näyttönimeä, avataria, taustakuvaa ja kuvausta varten"
-#: src/view/screens/Settings/index.tsx:649
+#: src/view/screens/Settings/index.tsx:620
msgid "Opens external embeds settings"
msgstr "Avaa ulkoiset upotusasetukset"
+#: src/view/com/auth/SplashScreen.tsx:50
+#: src/view/com/auth/SplashScreen.web.tsx:94
+msgid "Opens flow to create a new Bluesky account"
+msgstr ""
+
+#: src/view/com/auth/SplashScreen.tsx:65
+#: src/view/com/auth/SplashScreen.web.tsx:109
+msgid "Opens flow to sign into your existing Bluesky account"
+msgstr ""
+
#: src/view/com/profile/ProfileHeader.tsx:575
-msgid "Opens followers list"
-msgstr "Avaa seuraajalistan"
+#~ msgid "Opens followers list"
+#~ msgstr "Avaa seuraajalistan"
#: src/view/com/profile/ProfileHeader.tsx:594
-msgid "Opens following list"
-msgstr "Avaa seurattavien listan"
+#~ msgid "Opens following list"
+#~ msgstr "Avaa seurattavien listan"
#: src/view/screens/Settings.tsx:412
#~ msgid "Opens invite code list"
#~ msgstr ""
-#: src/view/com/modals/InviteCodes.tsx:172
+#: src/view/com/modals/InviteCodes.tsx:173
msgid "Opens list of invite codes"
msgstr "Avaa kutsukoodien luettelon"
-#: src/view/screens/Settings/index.tsx:774
-msgid "Opens modal for account deletion confirmation. Requires email code."
-msgstr "Avaa tilin poistovahvistuksen. Vaatii sähköpostikoodin."
+#: src/view/screens/Settings/index.tsx:762
+msgid "Opens modal for account deletion confirmation. Requires email code"
+msgstr ""
-#: src/view/com/modals/ChangeHandle.tsx:281
+#: src/view/screens/Settings/index.tsx:774
+#~ msgid "Opens modal for account deletion confirmation. Requires email code."
+#~ msgstr "Avaa tilin poistovahvistuksen. Vaatii sähköpostikoodin."
+
+#: src/view/screens/Settings/index.tsx:720
+msgid "Opens modal for changing your Bluesky password"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:669
+msgid "Opens modal for choosing a new Bluesky handle"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:743
+msgid "Opens modal for downloading your Bluesky account data (repository)"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:932
+msgid "Opens modal for email verification"
+msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:282
msgid "Opens modal for using custom domain"
msgstr "Avaa asetukset oman verkkotunnuksen käyttöönottoon"
-#: src/view/screens/Settings/index.tsx:620
+#: src/view/screens/Settings/index.tsx:591
msgid "Opens moderation settings"
msgstr "Avaa moderointiasetukset"
-#: src/view/com/auth/login/LoginForm.tsx:239
+#: src/screens/Login/LoginForm.tsx:202
msgid "Opens password reset form"
msgstr "Avaa salasanan palautuslomakkeen"
-#: src/view/com/home/HomeHeaderLayout.web.tsx:60
-#: src/view/screens/Feeds.tsx:356
+#: src/view/com/home/HomeHeaderLayout.web.tsx:67
+#: src/view/screens/Feeds.tsx:381
msgid "Opens screen to edit Saved Feeds"
msgstr "Avaa näkymän tallennettujen syötteiden muokkaamiseen"
-#: src/view/screens/Settings/index.tsx:576
+#: src/view/screens/Settings/index.tsx:548
msgid "Opens screen with all saved feeds"
msgstr "Avaa näkymän kaikkiin tallennettuihin syötteisiin"
+#: src/view/screens/Settings/index.tsx:647
+msgid "Opens the app password settings"
+msgstr "Avaa sovelluksen salasanojen asetukset"
+
#: src/view/screens/Settings/index.tsx:676
-msgid "Opens the app password settings page"
-msgstr "Avaa sovellussalasanojen asetukset"
+#~ msgid "Opens the app password settings page"
+#~ msgstr "Avaa sovellussalasanojen asetukset"
+
+#: src/view/screens/Settings/index.tsx:505
+msgid "Opens the Following feed preferences"
+msgstr "Avaa Seuratut-syötteen asetukset"
#: src/view/screens/Settings/index.tsx:535
-msgid "Opens the home feed preferences"
-msgstr "Avaa aloitussivun asetukset"
+#~ msgid "Opens the home feed preferences"
+#~ msgstr "Avaa aloitussivun asetukset"
-#: src/view/screens/Settings/index.tsx:805
+#: src/view/com/modals/LinkWarning.tsx:93
+msgid "Opens the linked website"
+msgstr "Avaa linkitetyn verkkosivun"
+
+#: src/view/screens/Settings/index.tsx:793
+#: src/view/screens/Settings/index.tsx:803
msgid "Opens the storybook page"
msgstr "Avaa storybook-sivun"
-#: src/view/screens/Settings/index.tsx:793
+#: src/view/screens/Settings/index.tsx:781
msgid "Opens the system log page"
msgstr "Avaa järjestelmän lokisivun"
-#: src/view/screens/Settings/index.tsx:556
+#: src/view/screens/Settings/index.tsx:526
msgid "Opens the threads preferences"
msgstr "Avaa keskusteluasetukset"
@@ -2773,11 +3430,19 @@ msgstr "Avaa keskusteluasetukset"
msgid "Option {0} of {numItems}"
msgstr "Asetus {0}/{numItems}"
+#: src/components/ReportDialog/SubmitView.tsx:160
+msgid "Optionally provide additional information below:"
+msgstr "Voit tarvittaessa antaa lisätietoja alla:"
+
#: src/view/com/modals/Threadgate.tsx:89
msgid "Or combine these options:"
msgstr "Tai yhdistä nämä asetukset:"
-#: src/view/com/auth/login/ChooseAccountForm.tsx:138
+#: src/lib/moderation/useReportOptions.ts:25
+msgid "Other"
+msgstr "Joku toinen"
+
+#: src/components/AccountList.tsx:73
msgid "Other account"
msgstr "Toinen tili"
@@ -2789,6 +3454,7 @@ msgstr "Toinen tili"
msgid "Other..."
msgstr "Muu..."
+#: src/components/Lists.tsx:184
#: src/view/screens/NotFound.tsx:45
msgid "Page not found"
msgstr "Sivua ei löytynyt"
@@ -2797,27 +3463,35 @@ msgstr "Sivua ei löytynyt"
msgid "Page Not Found"
msgstr "Sivua ei löytynyt"
-#: src/view/com/auth/create/Step1.tsx:214
-#: src/view/com/auth/create/Step1.tsx:224
-#: src/view/com/auth/login/LoginForm.tsx:226
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:161
-#: src/view/com/modals/DeleteAccount.tsx:202
+#: src/screens/Login/LoginForm.tsx:178
+#: src/screens/Signup/StepInfo/index.tsx:102
+#: src/view/com/modals/DeleteAccount.tsx:194
+#: src/view/com/modals/DeleteAccount.tsx:201
msgid "Password"
msgstr "Salasana"
-#: src/view/com/auth/login/Login.tsx:157
+#: src/view/com/modals/ChangePassword.tsx:142
+msgid "Password Changed"
+msgstr "Salasana vaihdettu"
+
+#: src/screens/Login/index.tsx:157
msgid "Password updated"
msgstr "Salasana päivitetty"
-#: src/view/com/auth/login/PasswordUpdatedForm.tsx:28
+#: src/screens/Login/PasswordUpdatedForm.tsx:30
msgid "Password updated!"
msgstr "Salasana päivitetty!"
-#: src/Navigation.tsx:160
+#: src/view/screens/Search/Search.tsx:447
+#: src/view/screens/Search/Search.tsx:456
+msgid "People"
+msgstr ""
+
+#: src/Navigation.tsx:164
msgid "People followed by @{0}"
msgstr "Henkilöt, joita @{0} seuraa"
-#: src/Navigation.tsx:153
+#: src/Navigation.tsx:157
msgid "People following @{0}"
msgstr "Henkilöt, jotka seuraavat käyttäjää @{0}"
@@ -2841,37 +3515,41 @@ msgstr "Lemmikit"
msgid "Pictures meant for adults."
msgstr "Aikuisille tarkoitetut kuvat."
-#: src/view/screens/ProfileFeed.tsx:354
-#: src/view/screens/ProfileList.tsx:581
+#: src/view/screens/ProfileFeed.tsx:303
+#: src/view/screens/ProfileList.tsx:565
msgid "Pin to home"
msgstr "Kiinnitä etusivulle"
-#: src/view/screens/SavedFeeds.tsx:88
+#: src/view/screens/ProfileFeed.tsx:306
+msgid "Pin to Home"
+msgstr "Kiinnitä etusivulle"
+
+#: src/view/screens/SavedFeeds.tsx:89
msgid "Pinned Feeds"
msgstr "Kiinnitetyt syötteet"
-#: src/view/com/util/post-embeds/ExternalGifEmbed.tsx:111
+#: src/view/com/util/post-embeds/ExternalGifEmbed.tsx:123
msgid "Play {0}"
msgstr "Toista {0}"
-#: src/view/com/util/post-embeds/ExternalPlayerEmbed.tsx:54
-#: src/view/com/util/post-embeds/ExternalPlayerEmbed.tsx:55
+#: src/view/com/util/post-embeds/ExternalPlayerEmbed.tsx:57
+#: src/view/com/util/post-embeds/ExternalPlayerEmbed.tsx:58
msgid "Play Video"
msgstr "Toista video"
-#: src/view/com/util/post-embeds/ExternalGifEmbed.tsx:110
+#: src/view/com/util/post-embeds/ExternalGifEmbed.tsx:122
msgid "Plays the GIF"
msgstr "Toistaa GIFin"
-#: src/view/com/auth/create/state.ts:124
+#: src/screens/Signup/state.ts:241
msgid "Please choose your handle."
msgstr "Valitse käyttäjätunnuksesi."
-#: src/view/com/auth/create/state.ts:117
+#: src/screens/Signup/state.ts:234
msgid "Please choose your password."
msgstr "Valitse salasanasi."
-#: src/view/com/auth/create/state.ts:131
+#: src/screens/Signup/state.ts:251
msgid "Please complete the verification captcha."
msgstr "Täydennä varmennus-captcha, ole hyvä."
@@ -2879,7 +3557,7 @@ msgstr "Täydennä varmennus-captcha, ole hyvä."
msgid "Please confirm your email before changing it. This is a temporary requirement while email-updating tools are added, and it will soon be removed."
msgstr "Vahvista sähköpostiosoitteesi ennen sen vaihtamista. Tämä on väliaikainen vaatimus, kunnes sähköpostin muokkaamisen liittyvät asetukset ovat lisätty ja se poistetaan piakkoin."
-#: src/view/com/modals/AddAppPasswords.tsx:90
+#: src/view/com/modals/AddAppPasswords.tsx:91
msgid "Please enter a name for your app password. All spaces is not allowed."
msgstr "Anna nimi sovellussalasanalle. Kaikki välilyönnit eivät ole sallittuja."
@@ -2887,10 +3565,14 @@ msgstr "Anna nimi sovellussalasanalle. Kaikki välilyönnit eivät ole sallittuj
#~ msgid "Please enter a phone number that can receive SMS text messages."
#~ msgstr "Anna puhelinnumero, joka voi vastaanottaa tekstiviestejä."
-#: src/view/com/modals/AddAppPasswords.tsx:145
+#: src/view/com/modals/AddAppPasswords.tsx:146
msgid "Please enter a unique name for this App Password or use our randomly generated one."
msgstr "Anna uniikki nimi tälle sovellussalasanalle tai käytä satunnaisesti luotua."
+#: src/components/dialogs/MutedWords.tsx:67
+msgid "Please enter a valid word, tag, or phrase to mute"
+msgstr "Ole hyvä ja syötä oikea sana, aihetunniste tai lause hiljennettäväksi."
+
#: src/view/com/auth/create/state.ts:170
#~ msgid "Please enter the code you received by SMS."
#~ msgstr "Anna tekstiviestitse saamasi koodi."
@@ -2899,23 +3581,27 @@ msgstr "Anna uniikki nimi tälle sovellussalasanalle tai käytä satunnaisesti l
#~ msgid "Please enter the verification code sent to {phoneNumberFormatted}."
#~ msgstr "Anna numeroon {phoneNumberFormatted} vastaanottamasi vahvistuskoodi."
-#: src/view/com/auth/create/state.ts:103
+#: src/screens/Signup/state.ts:220
msgid "Please enter your email."
msgstr "Anna sähköpostiosoitteesi."
-#: src/view/com/modals/DeleteAccount.tsx:191
+#: src/view/com/modals/DeleteAccount.tsx:190
msgid "Please enter your password as well:"
msgstr "Anna myös salasanasi:"
+#: src/components/moderation/LabelsOnMeDialog.tsx:221
+msgid "Please explain why you think this label was incorrectly applied by {0}"
+msgstr ""
+
#: src/view/com/modals/AppealLabel.tsx:72
#: src/view/com/modals/AppealLabel.tsx:75
-msgid "Please tell us why you think this content warning was incorrectly applied!"
-msgstr "Kerro meille, miksi luulet, että tämä sisältövaroitus on sovellettu virheellisesti!"
+#~ msgid "Please tell us why you think this content warning was incorrectly applied!"
+#~ msgstr "Kerro meille, miksi luulet, että tämä sisältövaroitus on sovellettu virheellisesti!"
#: src/view/com/modals/AppealLabel.tsx:72
#: src/view/com/modals/AppealLabel.tsx:75
#~ msgid "Please tell us why you think this decision was incorrect."
-#~ msgstr ""
+#~ msgstr "Kerro meille, miksi uskot tämän päätöksen olleen virheellinen."
#: src/view/com/modals/VerifyEmail.tsx:101
msgid "Please Verify Your Email"
@@ -2933,13 +3619,17 @@ msgstr "Politiikka"
msgid "Porn"
msgstr "Porno"
-#: src/view/com/composer/Composer.tsx:357
-#: src/view/com/composer/Composer.tsx:365
+#: src/lib/moderation/useGlobalLabelStrings.ts:34
+#~ msgid "Pornography"
+#~ msgstr "Pornografia"
+
+#: src/view/com/composer/Composer.tsx:367
+#: src/view/com/composer/Composer.tsx:375
msgctxt "action"
msgid "Post"
msgstr "Lähetä"
-#: src/view/com/post-thread/PostThread.tsx:303
+#: src/view/com/post-thread/PostThread.tsx:292
msgctxt "description"
msgid "Post"
msgstr "Viesti"
@@ -2948,20 +3638,30 @@ msgstr "Viesti"
msgid "Post by {0}"
msgstr "Lähettäjä {0}"
-#: src/Navigation.tsx:172
-#: src/Navigation.tsx:179
-#: src/Navigation.tsx:186
+#: src/Navigation.tsx:176
+#: src/Navigation.tsx:183
+#: src/Navigation.tsx:190
msgid "Post by @{0}"
msgstr "Lähettäjä @{0}"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:90
+#: src/view/com/util/forms/PostDropdownBtn.tsx:111
msgid "Post deleted"
msgstr "Viesti poistettu"
-#: src/view/com/post-thread/PostThread.tsx:462
+#: src/view/com/post-thread/PostThread.tsx:157
msgid "Post hidden"
msgstr "Viesti piilotettu"
+#: src/components/moderation/ModerationDetailsDialog.tsx:97
+#: src/lib/moderation/useModerationCauseDescription.ts:99
+msgid "Post Hidden by Muted Word"
+msgstr "Viesti piilotettu hiljennetyn sanan takia"
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:100
+#: src/lib/moderation/useModerationCauseDescription.ts:108
+msgid "Post Hidden by You"
+msgstr "Sinun hiljentämä viesti"
+
#: src/view/com/composer/select-language/SelectLangBtn.tsx:87
msgid "Post language"
msgstr "Lähetyskieli"
@@ -2970,31 +3670,43 @@ msgstr "Lähetyskieli"
msgid "Post Languages"
msgstr "Lähetyskielet"
-#: src/view/com/post-thread/PostThread.tsx:514
+#: src/view/com/post-thread/PostThread.tsx:152
+#: src/view/com/post-thread/PostThread.tsx:164
msgid "Post not found"
msgstr "Viestiä ei löydy"
-#: src/components/TagMenu/index.tsx:257
+#: src/components/TagMenu/index.tsx:253
msgid "posts"
msgstr "viestit"
-#: src/view/screens/Profile.tsx:180
+#: src/view/screens/Profile.tsx:195
+#: src/view/screens/Search/Search.tsx:467
msgid "Posts"
msgstr "Viestit"
-#: src/components/dialogs/MutedWords.tsx:77
+#: src/components/dialogs/MutedWords.tsx:89
msgid "Posts can be muted based on their text, their tags, or both."
-msgstr "Viestejä voidaan hiljentää niiden tekstin, tunnisteiden tai molempien perusteella."
+msgstr "Viestejä voidaan hiljentää sanojen, aihetunnisteiden tai molempien perusteella."
#: src/view/com/posts/FeedErrorMessage.tsx:64
msgid "Posts hidden"
msgstr "Piilotetut viestit"
-#: src/view/com/modals/LinkWarning.tsx:46
+#: src/view/com/modals/LinkWarning.tsx:60
msgid "Potentially Misleading Link"
msgstr "Mahdollisesti harhaanjohtava linkki"
-#: src/view/com/lightbox/Lightbox.web.tsx:135
+#: src/components/forms/HostingProvider.tsx:46
+msgid "Press to change hosting provider"
+msgstr ""
+
+#: src/components/Error.tsx:74
+#: src/components/Lists.tsx:80
+#: src/screens/Signup/index.tsx:187
+msgid "Press to retry"
+msgstr "Paina uudelleen jatkaaksesi"
+
+#: src/view/com/lightbox/Lightbox.web.tsx:150
msgid "Previous image"
msgstr "Edellinen kuva"
@@ -3006,39 +3718,45 @@ msgstr "Ensisijainen kieli"
msgid "Prioritize Your Follows"
msgstr "Aseta seurattavat tärkeysjärjestykseen"
-#: src/view/screens/Settings/index.tsx:632
+#: src/view/screens/Settings/index.tsx:603
#: src/view/shell/desktop/RightNav.tsx:72
msgid "Privacy"
msgstr "Yksityisyys"
-#: src/Navigation.tsx:217
+#: src/Navigation.tsx:231
+#: src/screens/Signup/StepInfo/Policies.tsx:56
#: src/view/screens/PrivacyPolicy.tsx:29
-#: src/view/screens/Settings/index.tsx:891
-#: src/view/shell/Drawer.tsx:262
+#: src/view/screens/Settings/index.tsx:887
+#: src/view/shell/Drawer.tsx:271
msgid "Privacy Policy"
msgstr "Yksityisyydensuojakäytäntö"
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:198
+#: src/screens/Login/ForgotPasswordForm.tsx:156
msgid "Processing..."
msgstr "Käsitellään..."
-#: src/view/shell/bottom-bar/BottomBar.tsx:247
-#: src/view/shell/desktop/LeftNav.tsx:415
+#: src/view/screens/DebugMod.tsx:888
+#: src/view/screens/Profile.tsx:361
+msgid "profile"
+msgstr "profiili"
+
+#: src/view/shell/bottom-bar/BottomBar.tsx:261
+#: src/view/shell/desktop/LeftNav.tsx:419
#: src/view/shell/Drawer.tsx:70
-#: src/view/shell/Drawer.tsx:546
-#: src/view/shell/Drawer.tsx:547
+#: src/view/shell/Drawer.tsx:555
+#: src/view/shell/Drawer.tsx:556
msgid "Profile"
msgstr "Profiili"
-#: src/view/com/modals/EditProfile.tsx:128
+#: src/view/com/modals/EditProfile.tsx:129
msgid "Profile updated"
msgstr "Profiili päivitetty"
-#: src/view/screens/Settings/index.tsx:949
+#: src/view/screens/Settings/index.tsx:945
msgid "Protect your account by verifying your email."
-msgstr "Suojaa tilisi vahvistamalla sähköpostiosoitteesi."
+msgstr "Suojaa käyttäjätilisi vahvistamalla sähköpostiosoitteesi."
-#: src/screens/Onboarding/StepFinished.tsx:101
+#: src/screens/Onboarding/StepFinished.tsx:105
msgid "Public"
msgstr "Julkinen"
@@ -3050,15 +3768,15 @@ msgstr "Julkinen, jaettava käyttäjäluettelo hiljennettyjen tai estettyjen kä
msgid "Public, shareable lists which can drive feeds."
msgstr "Julkinen, jaettava lista, joka voi ohjata syötteitä."
-#: src/view/com/composer/Composer.tsx:342
+#: src/view/com/composer/Composer.tsx:352
msgid "Publish post"
msgstr "Julkaise viesti"
-#: src/view/com/composer/Composer.tsx:342
+#: src/view/com/composer/Composer.tsx:352
msgid "Publish reply"
msgstr "Julkaise vastaus"
-#: src/view/com/modals/Repost.tsx:65
+#: src/view/com/modals/Repost.tsx:66
msgctxt "action"
msgid "Quote post"
msgstr "Lainaa viestiä"
@@ -3067,7 +3785,7 @@ msgstr "Lainaa viestiä"
msgid "Quote post"
msgstr "Lainaa viestiä"
-#: src/view/com/modals/Repost.tsx:70
+#: src/view/com/modals/Repost.tsx:71
msgctxt "action"
msgid "Quote Post"
msgstr "Lainaa viestiä"
@@ -3076,48 +3794,66 @@ msgstr "Lainaa viestiä"
msgid "Random (aka \"Poster's Roulette\")"
msgstr "Satunnainen (tunnetaan myös nimellä \"Lähettäjän ruletti\")"
-#: src/view/com/modals/EditImage.tsx:236
+#: src/view/com/modals/EditImage.tsx:237
msgid "Ratios"
msgstr "Suhdeluvut"
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:116
+#: src/view/screens/Search/Search.tsx:924
+msgid "Recent Searches"
+msgstr "Viimeaikaiset haut"
+
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:117
msgid "Recommended Feeds"
msgstr "Suositellut syötteet"
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:180
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:181
msgid "Recommended Users"
msgstr "Suositellut käyttäjät"
-#: src/components/dialogs/MutedWords.tsx:249
-#: src/view/com/modals/ListAddRemoveUsers.tsx:264
+#: src/components/dialogs/MutedWords.tsx:286
+#: src/view/com/feeds/FeedSourceCard.tsx:283
+#: src/view/com/modals/ListAddRemoveUsers.tsx:268
#: src/view/com/modals/SelfLabel.tsx:83
#: src/view/com/modals/UserAddRemoveLists.tsx:219
-#: src/view/com/util/UserAvatar.tsx:285
-#: src/view/com/util/UserBanner.tsx:91
+#: src/view/com/posts/FeedErrorMessage.tsx:204
msgid "Remove"
msgstr "Poista"
#: src/view/com/feeds/FeedSourceCard.tsx:108
-msgid "Remove {0} from my feeds?"
-msgstr "Poistetaanko {0} syötteistäni?"
+#~ msgid "Remove {0} from my feeds?"
+#~ msgstr "Poistetaanko {0} syötteistäni?"
#: src/view/com/util/AccountDropdownBtn.tsx:22
msgid "Remove account"
-msgstr "Poista tili"
+msgstr "Poista käyttäjätili"
-#: src/view/com/posts/FeedErrorMessage.tsx:131
-#: src/view/com/posts/FeedErrorMessage.tsx:166
+#: src/view/com/util/UserAvatar.tsx:360
+msgid "Remove Avatar"
+msgstr "Poista avatar"
+
+#: src/view/com/util/UserBanner.tsx:148
+msgid "Remove Banner"
+msgstr "Poista banneri"
+
+#: src/view/com/posts/FeedErrorMessage.tsx:160
msgid "Remove feed"
msgstr "Poista syöte"
-#: src/view/com/feeds/FeedSourceCard.tsx:107
-#: src/view/com/feeds/FeedSourceCard.tsx:169
-#: src/view/com/feeds/FeedSourceCard.tsx:174
-#: src/view/com/feeds/FeedSourceCard.tsx:245
-#: src/view/screens/ProfileFeed.tsx:273
+#: src/view/com/posts/FeedErrorMessage.tsx:201
+msgid "Remove feed?"
+msgstr "Poista syöte?"
+
+#: src/view/com/feeds/FeedSourceCard.tsx:173
+#: src/view/com/feeds/FeedSourceCard.tsx:233
+#: src/view/screens/ProfileFeed.tsx:346
+#: src/view/screens/ProfileFeed.tsx:352
msgid "Remove from my feeds"
msgstr "Poista syötteistäni"
+#: src/view/com/feeds/FeedSourceCard.tsx:278
+msgid "Remove from my feeds?"
+msgstr "Poista syötteistäni?"
+
#: src/view/com/composer/photos/Gallery.tsx:167
msgid "Remove image"
msgstr "Poista kuva"
@@ -3126,37 +3862,44 @@ msgstr "Poista kuva"
msgid "Remove image preview"
msgstr "Poista kuvan esikatselu"
-#: src/components/dialogs/MutedWords.tsx:294
+#: src/components/dialogs/MutedWords.tsx:329
msgid "Remove mute word from your list"
msgstr "Poista hiljennetty sana listaltasi"
-#: src/view/com/modals/Repost.tsx:47
+#: src/view/com/modals/Repost.tsx:48
msgid "Remove repost"
msgstr "Poista uudelleenjako"
#: src/view/com/feeds/FeedSourceCard.tsx:175
-msgid "Remove this feed from my feeds?"
-msgstr "Poistetaanko tämä syöte omista syötteistäni?"
+#~ msgid "Remove this feed from my feeds?"
+#~ msgstr "Poista tämä syöte omista syötteistäni?"
+
+#: src/view/com/posts/FeedErrorMessage.tsx:202
+msgid "Remove this feed from your saved feeds"
+msgstr "Poista tämä syöte seurannasta"
#: src/view/com/posts/FeedErrorMessage.tsx:132
-msgid "Remove this feed from your saved feeds?"
-msgstr "Poistetaanko tämä syöte tallennetuista syötteistäsi?"
+#~ msgid "Remove this feed from your saved feeds?"
+#~ msgstr "Poistetaanko tämä syöte tallennetuista syötteistäsi?"
#: src/view/com/modals/ListAddRemoveUsers.tsx:199
#: src/view/com/modals/UserAddRemoveLists.tsx:152
msgid "Removed from list"
msgstr "Poistettu listalta"
-#: src/view/com/feeds/FeedSourceCard.tsx:113
-#: src/view/com/feeds/FeedSourceCard.tsx:180
+#: src/view/com/feeds/FeedSourceCard.tsx:121
msgid "Removed from my feeds"
msgstr "Poistettu syötteistäni"
+#: src/view/screens/ProfileFeed.tsx:210
+msgid "Removed from your feeds"
+msgstr "Poistettu syötteistäsi"
+
#: src/view/com/composer/ExternalEmbed.tsx:71
msgid "Removes default thumbnail from {0}"
msgstr "Poistaa {0} oletuskuvakkeen"
-#: src/view/screens/Profile.tsx:181
+#: src/view/screens/Profile.tsx:196
msgid "Replies"
msgstr "Vastaukset"
@@ -3164,7 +3907,7 @@ msgstr "Vastaukset"
msgid "Replies to this thread are disabled"
msgstr "Tähän keskusteluun vastaaminen on estetty"
-#: src/view/com/composer/Composer.tsx:355
+#: src/view/com/composer/Composer.tsx:365
msgctxt "action"
msgid "Reply"
msgstr "Vastaa"
@@ -3173,36 +3916,62 @@ msgstr "Vastaa"
msgid "Reply Filters"
msgstr "Vastaussuodattimet"
-#: src/view/com/post/Post.tsx:167
-#: src/view/com/posts/FeedItem.tsx:287
+#: src/view/com/post/Post.tsx:177
+#: src/view/com/posts/FeedItem.tsx:285
msgctxt "description"
msgid "Reply to <0/>"
msgstr "Vastaa käyttäjälle <0/>"
#: src/view/com/modals/report/Modal.tsx:166
-msgid "Report {collectionName}"
-msgstr "Raportoi {collectionName}"
+#~ msgid "Report {collectionName}"
+#~ msgstr "Ilmianna {collectionName}"
-#: src/view/com/profile/ProfileHeader.tsx:361
+#: src/view/com/profile/ProfileMenu.tsx:319
+#: src/view/com/profile/ProfileMenu.tsx:322
msgid "Report Account"
-msgstr "Ilmoita tili"
+msgstr "Ilmianna käyttäjätili"
-#: src/view/screens/ProfileFeed.tsx:293
+#: src/components/ReportDialog/index.tsx:49
+msgid "Report dialog"
+msgstr ""
+
+#: src/view/screens/ProfileFeed.tsx:363
+#: src/view/screens/ProfileFeed.tsx:365
msgid "Report feed"
-msgstr "Ilmoita syöte"
+msgstr "Ilmianna syöte"
-#: src/view/screens/ProfileList.tsx:459
+#: src/view/screens/ProfileList.tsx:431
msgid "Report List"
-msgstr "Ilmoita luettelo"
+msgstr "Ilmianna luettelo"
-#: src/view/com/modals/report/SendReportButton.tsx:37
-#: src/view/com/util/forms/PostDropdownBtn.tsx:255
+#: src/view/com/util/forms/PostDropdownBtn.tsx:312
+#: src/view/com/util/forms/PostDropdownBtn.tsx:314
msgid "Report post"
-msgstr "Ilmoita viesti"
+msgstr "Ilmianna viesti"
-#: src/view/com/modals/Repost.tsx:43
-#: src/view/com/modals/Repost.tsx:48
-#: src/view/com/modals/Repost.tsx:53
+#: src/components/ReportDialog/SelectReportOptionView.tsx:42
+msgid "Report this content"
+msgstr "Ilmianna tämä sisältö"
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:55
+msgid "Report this feed"
+msgstr "Ilmianna tämä syöte"
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:52
+msgid "Report this list"
+msgstr "Ilmianna tämä lista"
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:49
+msgid "Report this post"
+msgstr "Ilmianna tämä viesti"
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:46
+msgid "Report this user"
+msgstr "Ilmianna tämä käyttäjä"
+
+#: src/view/com/modals/Repost.tsx:44
+#: src/view/com/modals/Repost.tsx:49
+#: src/view/com/modals/Repost.tsx:54
#: src/view/com/util/post-ctrls/RepostButton.tsx:61
msgctxt "action"
msgid "Repost"
@@ -3221,19 +3990,23 @@ msgstr "Uudelleenjaa tai lainaa viestiä"
msgid "Reposted By"
msgstr "Uudelleenjakanut"
-#: src/view/com/posts/FeedItem.tsx:207
+#: src/view/com/posts/FeedItem.tsx:199
msgid "Reposted by {0}"
msgstr "Uudelleenjakanut {0}"
-#: src/view/com/posts/FeedItem.tsx:224
-msgid "Reposted by <0/>"
-msgstr "Uudelleenjakanut <0/>"
+#: src/view/com/posts/FeedItem.tsx:214
+#~ msgid "Reposted by <0/>"
+#~ msgstr "Uudelleenjakanut <0/>"
-#: src/view/com/notifications/FeedItem.tsx:162
+#: src/view/com/posts/FeedItem.tsx:216
+msgid "Reposted by <0><1/>0>"
+msgstr ""
+
+#: src/view/com/notifications/FeedItem.tsx:168
msgid "reposted your post"
msgstr "uudelleenjakoi viestisi"
-#: src/view/com/post-thread/PostThreadItem.tsx:188
+#: src/view/com/post-thread/PostThreadItem.tsx:187
msgid "Reposts of this post"
msgstr "Tämän viestin uudelleenjulkaisut"
@@ -3246,57 +4019,58 @@ msgstr "Pyydä muutosta"
#~ msgid "Request code"
#~ msgstr "Pyydä koodia"
-#: src/view/com/modals/ChangePassword.tsx:239
#: src/view/com/modals/ChangePassword.tsx:241
+#: src/view/com/modals/ChangePassword.tsx:243
msgid "Request Code"
msgstr "Pyydä koodia"
-#: src/view/screens/Settings/index.tsx:456
+#: src/view/screens/Settings/index.tsx:426
msgid "Require alt text before posting"
-msgstr "Vaadi vaihtoehtoista ALT-tekstiä ennen julkaisua"
+msgstr "Edellytä ALT-tekstiä ennen viestin julkaisua"
-#: src/view/com/auth/create/Step1.tsx:153
+#: src/screens/Signup/StepInfo/index.tsx:69
msgid "Required for this provider"
msgstr "Vaaditaan tälle instanssille"
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:124
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:136
+#: src/view/com/modals/ChangePassword.tsx:185
msgid "Reset code"
msgstr "Nollauskoodi"
-#: src/view/com/modals/ChangePassword.tsx:190
+#: src/view/com/modals/ChangePassword.tsx:192
msgid "Reset Code"
msgstr "Nollauskoodi"
#: src/view/screens/Settings/index.tsx:824
-msgid "Reset onboarding"
-msgstr "Nollaa käyttöönotto"
+#~ msgid "Reset onboarding"
+#~ msgstr "Nollaa käyttöönotto"
-#: src/view/screens/Settings/index.tsx:827
+#: src/view/screens/Settings/index.tsx:822
+#: src/view/screens/Settings/index.tsx:825
msgid "Reset onboarding state"
msgstr "Nollaa käyttöönoton tila"
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:104
+#: src/screens/Login/ForgotPasswordForm.tsx:86
msgid "Reset password"
msgstr "Nollaa salasana"
#: src/view/screens/Settings/index.tsx:814
-msgid "Reset preferences"
-msgstr "Nollaa asetukset"
+#~ msgid "Reset preferences"
+#~ msgstr "Nollaa asetukset"
-#: src/view/screens/Settings/index.tsx:817
+#: src/view/screens/Settings/index.tsx:812
+#: src/view/screens/Settings/index.tsx:815
msgid "Reset preferences state"
msgstr "Nollaa asetusten tila"
-#: src/view/screens/Settings/index.tsx:825
+#: src/view/screens/Settings/index.tsx:823
msgid "Resets the onboarding state"
msgstr "Nollaa käyttöönoton tilan"
-#: src/view/screens/Settings/index.tsx:815
+#: src/view/screens/Settings/index.tsx:813
msgid "Resets the preferences state"
msgstr "Nollaa asetusten tilan"
-#: src/view/com/auth/login/LoginForm.tsx:269
+#: src/screens/Login/LoginForm.tsx:235
msgid "Retries login"
msgstr "Yrittää uudelleen kirjautumista"
@@ -3305,12 +4079,13 @@ msgstr "Yrittää uudelleen kirjautumista"
msgid "Retries the last action, which errored out"
msgstr "Yrittää uudelleen viimeisintä toimintoa, joka epäonnistui"
-#: src/screens/Onboarding/StepInterests/index.tsx:221
-#: src/screens/Onboarding/StepInterests/index.tsx:224
-#: src/view/com/auth/create/CreateAccount.tsx:181
-#: src/view/com/auth/create/CreateAccount.tsx:186
-#: src/view/com/auth/login/LoginForm.tsx:268
-#: src/view/com/auth/login/LoginForm.tsx:271
+#: src/components/Error.tsx:79
+#: src/components/Lists.tsx:91
+#: src/screens/Login/LoginForm.tsx:234
+#: src/screens/Login/LoginForm.tsx:241
+#: src/screens/Onboarding/StepInterests/index.tsx:225
+#: src/screens/Onboarding/StepInterests/index.tsx:228
+#: src/screens/Signup/index.tsx:194
#: src/view/com/util/error/ErrorMessage.tsx:55
#: src/view/com/util/error/ErrorScreen.tsx:72
msgid "Retry"
@@ -3320,97 +4095,134 @@ msgstr "Yritä uudelleen"
#~ msgid "Retry."
#~ msgstr "Yritä uudelleen."
-#: src/view/screens/ProfileList.tsx:898
+#: src/components/Error.tsx:86
+#: src/view/screens/ProfileList.tsx:919
msgid "Return to previous page"
msgstr "Palaa edelliselle sivulle"
+#: src/view/screens/NotFound.tsx:59
+msgid "Returns to home page"
+msgstr "Palaa etusivulle"
+
+#: src/view/screens/NotFound.tsx:58
+#: src/view/screens/ProfileFeed.tsx:113
+msgid "Returns to previous page"
+msgstr "Palaa edelliselle sivulle"
+
#: src/view/shell/desktop/RightNav.tsx:55
#~ msgid "SANDBOX. Posts and accounts are not permanent."
#~ msgstr "HIEKKALAATIKKO. Viestit ja tilit eivät ole pysyviä."
+#: src/components/dialogs/BirthDateSettings.tsx:125
+#: src/view/com/modals/ChangeHandle.tsx:174
+#: src/view/com/modals/CreateOrEditList.tsx:338
+#: src/view/com/modals/EditProfile.tsx:225
+msgid "Save"
+msgstr "Tallenna"
+
#: src/view/com/lightbox/Lightbox.tsx:132
-#: src/view/com/modals/CreateOrEditList.tsx:345
+#: src/view/com/modals/CreateOrEditList.tsx:346
msgctxt "action"
msgid "Save"
msgstr "Tallenna"
-#: src/view/com/modals/BirthDateSettings.tsx:94
-#: src/view/com/modals/BirthDateSettings.tsx:97
-#: src/view/com/modals/ChangeHandle.tsx:173
-#: src/view/com/modals/CreateOrEditList.tsx:337
-#: src/view/com/modals/EditProfile.tsx:224
-#: src/view/screens/ProfileFeed.tsx:346
-msgid "Save"
-msgstr "Tallenna"
-
-#: src/view/com/modals/AltImage.tsx:130
+#: src/view/com/modals/AltImage.tsx:131
msgid "Save alt text"
msgstr "Tallenna vaihtoehtoinen ALT-teksti"
-#: src/view/com/modals/EditProfile.tsx:232
+#: src/components/dialogs/BirthDateSettings.tsx:119
+msgid "Save birthday"
+msgstr "Tallenna syntymäpäivä"
+
+#: src/view/com/modals/EditProfile.tsx:233
msgid "Save Changes"
msgstr "Tallenna muutokset"
-#: src/view/com/modals/ChangeHandle.tsx:170
+#: src/view/com/modals/ChangeHandle.tsx:171
msgid "Save handle change"
msgstr "Tallenna käyttäjätunnuksen muutos"
-#: src/view/com/modals/crop-image/CropImage.web.tsx:144
+#: src/view/com/modals/crop-image/CropImage.web.tsx:145
msgid "Save image crop"
msgstr "Tallenna kuvan rajaus"
-#: src/view/screens/SavedFeeds.tsx:122
+#: src/view/screens/ProfileFeed.tsx:347
+#: src/view/screens/ProfileFeed.tsx:353
+msgid "Save to my feeds"
+msgstr "Tallenna syötteisiini"
+
+#: src/view/screens/SavedFeeds.tsx:123
msgid "Saved Feeds"
msgstr "Tallennetut syötteet"
-#: src/view/com/modals/EditProfile.tsx:225
+#: src/view/com/lightbox/Lightbox.tsx:81
+msgid "Saved to your camera roll."
+msgstr "Tallennettu kameraasi"
+
+#: src/view/screens/ProfileFeed.tsx:214
+msgid "Saved to your feeds"
+msgstr "Tallennettu syötteisiisi"
+
+#: src/view/com/modals/EditProfile.tsx:226
msgid "Saves any changes to your profile"
msgstr "Tallentaa kaikki muutokset profiiliisi"
-#: src/view/com/modals/ChangeHandle.tsx:171
+#: src/view/com/modals/ChangeHandle.tsx:172
msgid "Saves handle change to {handle}"
msgstr "Tallentaa käyttäjätunnuksen muutoksen muotoon {handle}"
+#: src/view/com/modals/crop-image/CropImage.web.tsx:146
+msgid "Saves image crop settings"
+msgstr "Tallentaa kuvan rajausasetukset"
+
#: src/screens/Onboarding/index.tsx:36
msgid "Science"
msgstr "Tiede"
-#: src/view/screens/ProfileList.tsx:854
+#: src/view/screens/ProfileList.tsx:875
msgid "Scroll to top"
msgstr "Vieritä alkuun"
-#: src/Navigation.tsx:440
-#: src/view/com/auth/LoggedOut.tsx:122
+#: src/Navigation.tsx:451
+#: src/view/com/auth/LoggedOut.tsx:123
#: src/view/com/modals/ListAddRemoveUsers.tsx:75
#: src/view/com/util/forms/SearchInput.tsx:67
#: src/view/com/util/forms/SearchInput.tsx:79
-#: src/view/screens/Search/Search.tsx:419
-#: src/view/screens/Search/Search.tsx:668
-#: src/view/screens/Search/Search.tsx:686
-#: src/view/shell/bottom-bar/BottomBar.tsx:159
-#: src/view/shell/desktop/LeftNav.tsx:324
-#: src/view/shell/desktop/Search.tsx:214
-#: src/view/shell/desktop/Search.tsx:223
-#: src/view/shell/Drawer.tsx:362
-#: src/view/shell/Drawer.tsx:363
+#: src/view/screens/Search/Search.tsx:568
+#: src/view/screens/Search/Search.tsx:817
+#: src/view/screens/Search/Search.tsx:835
+#: src/view/shell/bottom-bar/BottomBar.tsx:170
+#: src/view/shell/desktop/LeftNav.tsx:328
+#: src/view/shell/desktop/Search.tsx:215
+#: src/view/shell/desktop/Search.tsx:224
+#: src/view/shell/Drawer.tsx:371
+#: src/view/shell/Drawer.tsx:372
msgid "Search"
msgstr "Haku"
-#: src/view/screens/Search/Search.tsx:735
-#: src/view/shell/desktop/Search.tsx:255
+#: src/view/screens/Search/Search.tsx:884
+#: src/view/shell/desktop/Search.tsx:256
msgid "Search for \"{query}\""
msgstr "Haku hakusanalla \"{query}\""
#: src/components/TagMenu/index.tsx:145
-msgid "Search for all posts by @{authorHandle} with tag {tag}"
-msgstr "Etsi kaikki viestit käyttäjältä @{authorHandle} tunnisteella {tag}"
+msgid "Search for all posts by @{authorHandle} with tag {displayTag}"
+msgstr "Hae kaikki @{authorHandle}:n julkaisut, joissa on aihetunniste {displayTag}."
+
+#: src/components/TagMenu/index.tsx:145
+#~ msgid "Search for all posts by @{authorHandle} with tag {tag}"
+#~ msgstr "Etsi kaikki viestit käyttäjältä @{authorHandle} aihetunnisteella {tag}"
+
+#: src/components/TagMenu/index.tsx:94
+msgid "Search for all posts with tag {displayTag}"
+msgstr "Etsi kaikki viestit aihetunnisteella {displayTag}."
#: src/components/TagMenu/index.tsx:90
-msgid "Search for all posts with tag {tag}"
-msgstr "Etsi kaikki viestit tunnisteella {tag}"
+#~ msgid "Search for all posts with tag {tag}"
+#~ msgstr "Etsi kaikki viestit aihetunnisteella {tag}"
-#: src/view/com/auth/LoggedOut.tsx:104
#: src/view/com/auth/LoggedOut.tsx:105
+#: src/view/com/auth/LoggedOut.tsx:106
#: src/view/com/modals/ListAddRemoveUsers.tsx:70
msgid "Search for users"
msgstr "Hae käyttäjiä"
@@ -3419,55 +4231,84 @@ msgstr "Hae käyttäjiä"
msgid "Security Step Required"
msgstr "Turvatarkistus vaaditaan"
-#: src/components/TagMenu/index.web.tsx:50
+#: src/components/TagMenu/index.web.tsx:66
msgid "See {truncatedTag} posts"
msgstr "Näytä {truncatedTag}-viestit"
-#: src/components/TagMenu/index.web.tsx:67
+#: src/components/TagMenu/index.web.tsx:83
msgid "See {truncatedTag} posts by user"
msgstr "Näytä käyttäjän {truncatedTag} viestit"
#: src/components/TagMenu/index.tsx:128
-msgid "See <0>{tag}0> posts"
-msgstr "Näytä <0>{tag}0>-viestit"
+msgid "See <0>{displayTag}0> posts"
+msgstr "Näytä <0>{displayTag}0> viestit"
+
+#: src/components/TagMenu/index.tsx:187
+msgid "See <0>{displayTag}0> posts by this user"
+msgstr "Näytä tämän käyttäjän <0>{displayTag}0> viestit"
+
+#: src/components/TagMenu/index.tsx:128
+#~ msgid "See <0>{tag}0> posts"
+#~ msgstr "Näytä <0>{tag}0>-viestit"
#: src/components/TagMenu/index.tsx:189
-msgid "See <0>{tag}0> posts by this user"
-msgstr "Näytä tämän käyttäjän <0>{tag}0>-viestit"
+#~ msgid "See <0>{tag}0> posts by this user"
+#~ msgstr "Näytä tämän käyttäjän <0>{tag}0>-viestit"
-#: src/view/screens/SavedFeeds.tsx:163
+#: src/view/com/notifications/FeedItem.tsx:419
+#: src/view/com/util/UserAvatar.tsx:381
+msgid "See profile"
+msgstr ""
+
+#: src/view/screens/SavedFeeds.tsx:164
msgid "See this guide"
msgstr "Katso tämä opas"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:39
-msgid "See what's next"
-msgstr "Katso, mitä seuraavaksi tapahtuu"
+#: src/view/com/auth/HomeLoggedOutCTA.tsx:40
+#~ msgid "See what's next"
+#~ msgstr "Katso, mitä seuraavaksi tapahtuu"
#: src/view/com/util/Selector.tsx:106
msgid "Select {item}"
msgstr "Valitse {item}"
+#: src/screens/Login/ChooseAccountForm.tsx:61
+msgid "Select account"
+msgstr ""
+
#: src/view/com/modals/ServerInput.tsx:75
#~ msgid "Select Bluesky Social"
-#~ msgstr ""
+#~ msgstr "Valitse Bluesky Social"
-#: src/view/com/auth/login/Login.tsx:117
+#: src/screens/Login/index.tsx:120
msgid "Select from an existing account"
msgstr "Valitse olemassa olevalta tililtä"
+#: src/view/screens/LanguageSettings.tsx:299
+msgid "Select languages"
+msgstr "Valitse kielet"
+
+#: src/components/ReportDialog/SelectLabelerView.tsx:30
+msgid "Select moderator"
+msgstr "Valitse moderaattori"
+
#: src/view/com/util/Selector.tsx:107
msgid "Select option {i} of {numItems}"
msgstr "Valitse vaihtoehto {i} / {numItems}"
-#: src/view/com/auth/create/Step1.tsx:103
-#: src/view/com/auth/login/LoginForm.tsx:150
-msgid "Select service"
-msgstr "Valitse palvelu"
+#: src/view/com/auth/create/Step1.tsx:96
+#: src/view/com/auth/login/LoginForm.tsx:153
+#~ msgid "Select service"
+#~ msgstr "Valitse palvelu"
#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:52
msgid "Select some accounts below to follow"
msgstr "Valitse alla olevista tileistä jotain seurattavaksi"
+#: src/components/ReportDialog/SubmitView.tsx:133
+msgid "Select the moderation service(s) to report to"
+msgstr ""
+
#: src/view/com/auth/server-input/index.tsx:82
msgid "Select the service that hosts your data."
msgstr "Valitse palvelu, joka hostaa tietojasi."
@@ -3476,11 +4317,11 @@ msgstr "Valitse palvelu, joka hostaa tietojasi."
#~ msgid "Select the types of content that you want to see (or not see), and we'll handle the rest."
#~ msgstr ""
-#: src/screens/Onboarding/StepTopicalFeeds.tsx:96
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:100
msgid "Select topical feeds to follow from the list below"
msgstr "Valitse ajankohtaisia syötteitä alla olevasta listasta"
-#: src/screens/Onboarding/StepModeration/index.tsx:75
+#: src/screens/Onboarding/StepModeration/index.tsx:63
msgid "Select what you want to see (or not see), and we’ll handle the rest."
msgstr "Valitse, mitä haluat nähdä (tai olla näkemättä) ja me huolehdimme lopusta."
@@ -3489,12 +4330,20 @@ msgid "Select which languages you want your subscribed feeds to include. If none
msgstr "Valitse, mitä kieliä haluat tilattujen syötteidesi sisältävän. Jos mitään ei ole valittu, kaikki kielet näytetään."
#: src/view/screens/LanguageSettings.tsx:98
-msgid "Select your app language for the default text to display in the app"
-msgstr "Valitse sovelluksen oletuskieli, joka näytetään sovelluksessa"
+#~ msgid "Select your app language for the default text to display in the app"
+#~ msgstr "Valitse sovelluksen oletuskieli, joka näytetään sovelluksessa"
-#: src/screens/Onboarding/StepInterests/index.tsx:196
+#: src/view/screens/LanguageSettings.tsx:98
+msgid "Select your app language for the default text to display in the app."
+msgstr "Valitse sovelluksen käyttöliittymän kieli."
+
+#: src/screens/Signup/StepInfo/index.tsx:135
+msgid "Select your date of birth"
+msgstr ""
+
+#: src/screens/Onboarding/StepInterests/index.tsx:200
msgid "Select your interests from the options below"
-msgstr "Valitse kiinnostuksenkohteesi alla olevista vaihtoehdoista"
+msgstr "Valitse kiinnostuksen kohteesi alla olevista vaihtoehdoista"
#: src/view/com/auth/create/Step2.tsx:155
#~ msgid "Select your phone's country"
@@ -3502,13 +4351,13 @@ msgstr "Valitse kiinnostuksenkohteesi alla olevista vaihtoehdoista"
#: src/view/screens/LanguageSettings.tsx:190
msgid "Select your preferred language for translations in your feed."
-msgstr "Valitse haluamasi kieli käännöksille syötteessäsi."
+msgstr "Valitse käännösten kieli syötteessäsi."
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:116
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:117
msgid "Select your primary algorithmic feeds"
msgstr "Valitse ensisijaiset algoritmisyötteet"
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:142
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:133
msgid "Select your secondary algorithmic feeds"
msgstr "Valitse toissijaiset algoritmisyötteet"
@@ -3517,69 +4366,82 @@ msgstr "Valitse toissijaiset algoritmisyötteet"
msgid "Send Confirmation Email"
msgstr "Lähetä vahvistussähköposti"
-#: src/view/com/modals/DeleteAccount.tsx:131
+#: src/view/com/modals/DeleteAccount.tsx:130
msgid "Send email"
msgstr "Lähetä sähköposti"
-#: src/view/com/modals/DeleteAccount.tsx:144
+#: src/view/com/modals/DeleteAccount.tsx:143
msgctxt "action"
msgid "Send Email"
msgstr "Lähetä sähköposti"
-#: src/view/shell/Drawer.tsx:295
-#: src/view/shell/Drawer.tsx:316
+#: src/view/shell/Drawer.tsx:304
+#: src/view/shell/Drawer.tsx:325
msgid "Send feedback"
msgstr "Lähetä palautetta"
-#: src/view/com/modals/report/SendReportButton.tsx:45
-msgid "Send Report"
+#: src/components/ReportDialog/SubmitView.tsx:213
+#: src/components/ReportDialog/SubmitView.tsx:217
+msgid "Send report"
msgstr "Lähetä raportti"
-#: src/view/com/modals/DeleteAccount.tsx:133
+#: src/view/com/modals/report/SendReportButton.tsx:45
+#~ msgid "Send Report"
+#~ msgstr "Lähetä raportti"
+
+#: src/components/ReportDialog/SelectLabelerView.tsx:44
+msgid "Send report to {0}"
+msgstr ""
+
+#: src/view/com/modals/DeleteAccount.tsx:132
msgid "Sends email with confirmation code for account deletion"
msgstr "Lähettää sähköpostin tilin poistamiseen tarvittavan vahvistuskoodin"
-#: src/view/com/auth/server-input/index.tsx:110
+#: src/view/com/auth/server-input/index.tsx:114
msgid "Server address"
msgstr "Palvelimen osoite"
#: src/view/com/modals/ContentFilteringSettings.tsx:311
-msgid "Set {value} for {labelGroup} content moderation policy"
-msgstr "Aseta {value} {labelGroup} sisällön moderointisäännöksi"
+#~ msgid "Set {value} for {labelGroup} content moderation policy"
+#~ msgstr "Aseta {value} {labelGroup} sisällön moderointisäännöksi"
#: src/view/com/modals/ContentFilteringSettings.tsx:160
#: src/view/com/modals/ContentFilteringSettings.tsx:179
-msgctxt "action"
-msgid "Set Age"
-msgstr "Aseta ikä"
+#~ msgctxt "action"
+#~ msgid "Set Age"
+#~ msgstr "Aseta ikä"
+
+#: src/screens/Moderation/index.tsx:304
+msgid "Set birthdate"
+msgstr "Aseta syntymäaika"
#: src/view/screens/Settings/index.tsx:488
-msgid "Set color theme to dark"
-msgstr "Aseta väriteema tummaksi"
+#~ msgid "Set color theme to dark"
+#~ msgstr "Aseta väriteema tummaksi"
#: src/view/screens/Settings/index.tsx:481
-msgid "Set color theme to light"
-msgstr "Aseta väriteema vaaleaksi"
+#~ msgid "Set color theme to light"
+#~ msgstr "Aseta väriteema vaaleaksi"
#: src/view/screens/Settings/index.tsx:475
-msgid "Set color theme to system setting"
-msgstr "Aseta väriteema järjestelmäasetuksiin"
+#~ msgid "Set color theme to system setting"
+#~ msgstr "Aseta väriteema järjestelmäasetuksiin"
#: src/view/screens/Settings/index.tsx:514
-msgid "Set dark theme to the dark theme"
-msgstr "Aseta tumma teema tummaksi"
+#~ msgid "Set dark theme to the dark theme"
+#~ msgstr "Aseta tumma teema tummaksi"
#: src/view/screens/Settings/index.tsx:507
-msgid "Set dark theme to the dim theme"
-msgstr "Aseta tumma teema hämäräksi"
+#~ msgid "Set dark theme to the dim theme"
+#~ msgstr "Aseta tumma teema hämäräksi"
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:104
+#: src/screens/Login/SetNewPasswordForm.tsx:102
msgid "Set new password"
msgstr "Aseta uusi salasana"
-#: src/view/com/auth/create/Step1.tsx:225
-msgid "Set password"
-msgstr "Aseta salasana"
+#: src/view/com/auth/create/Step1.tsx:202
+#~ msgid "Set password"
+#~ msgstr "Aseta salasana"
#: src/view/screens/PreferencesFollowingFeed.tsx:225
msgid "Set this setting to \"No\" to hide all quote posts from your feed. Reposts will still be visible."
@@ -3605,32 +4467,64 @@ msgstr "Aseta tämä asetus \"Kyllä\" tilaan näyttääksesi vastaukset ketjuma
msgid "Set this setting to \"Yes\" to show samples of your saved feeds in your Following feed. This is an experimental feature."
msgstr "Aseta tämä asetus \"Kyllä\"-tilaan nähdäksesi esimerkkejä tallennetuista syötteistäsi seuraamissasi syötteessäsi. Tämä on kokeellinen ominaisuus."
-#: src/screens/Onboarding/Layout.tsx:50
+#: src/screens/Onboarding/Layout.tsx:48
msgid "Set up your account"
-msgstr "Luo tili"
+msgstr "Luo käyttäjätili"
-#: src/view/com/modals/ChangeHandle.tsx:266
+#: src/view/com/modals/ChangeHandle.tsx:267
msgid "Sets Bluesky username"
msgstr "Asettaa Bluesky-käyttäjätunnuksen"
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:157
+#: src/view/screens/Settings/index.tsx:458
+msgid "Sets color theme to dark"
+msgstr "Muuttaa väriteeman tummaksi"
+
+#: src/view/screens/Settings/index.tsx:451
+msgid "Sets color theme to light"
+msgstr "Muuttaa väriteeman vaaleaksi"
+
+#: src/view/screens/Settings/index.tsx:445
+msgid "Sets color theme to system setting"
+msgstr "Muuttaa väriteeman käyttöjärjestelmän mukaiseksi"
+
+#: src/view/screens/Settings/index.tsx:484
+msgid "Sets dark theme to the dark theme"
+msgstr "Muuttaa tumman väriteeman tummaksi"
+
+#: src/view/screens/Settings/index.tsx:477
+msgid "Sets dark theme to the dim theme"
+msgstr "Asettaa tumman teeman himmeäksi teemaksi"
+
+#: src/screens/Login/ForgotPasswordForm.tsx:113
msgid "Sets email for password reset"
msgstr "Asettaa sähköpostin salasanan palautusta varten"
#: src/view/com/auth/login/ForgotPasswordForm.tsx:122
-msgid "Sets hosting provider for password reset"
-msgstr "Asettaa palveluntarjoajan salasanan palautusta varten"
+#~ msgid "Sets hosting provider for password reset"
+#~ msgstr "Asettaa palveluntarjoajan salasanan palautusta varten"
-#: src/view/com/auth/create/Step1.tsx:104
-#: src/view/com/auth/login/LoginForm.tsx:151
-msgid "Sets server for the Bluesky client"
-msgstr "Asettaa palvelimen Bluesky-ohjelmalle"
+#: src/view/com/modals/crop-image/CropImage.web.tsx:124
+msgid "Sets image aspect ratio to square"
+msgstr "Asettaa kuvan kuvasuhteen neliöksi"
-#: src/Navigation.tsx:135
-#: src/view/screens/Settings/index.tsx:294
-#: src/view/shell/desktop/LeftNav.tsx:433
-#: src/view/shell/Drawer.tsx:567
-#: src/view/shell/Drawer.tsx:568
+#: src/view/com/modals/crop-image/CropImage.web.tsx:114
+msgid "Sets image aspect ratio to tall"
+msgstr "Asettaa kuvan kuvasuhteen korkeaksi"
+
+#: src/view/com/modals/crop-image/CropImage.web.tsx:104
+msgid "Sets image aspect ratio to wide"
+msgstr "Asettaa kuvan kuvasuhteen leveäksi"
+
+#: src/view/com/auth/create/Step1.tsx:97
+#: src/view/com/auth/login/LoginForm.tsx:154
+#~ msgid "Sets server for the Bluesky client"
+#~ msgstr "Asettaa palvelimen Bluesky-ohjelmalle"
+
+#: src/Navigation.tsx:139
+#: src/view/screens/Settings/index.tsx:316
+#: src/view/shell/desktop/LeftNav.tsx:437
+#: src/view/shell/Drawer.tsx:576
+#: src/view/shell/Drawer.tsx:577
msgid "Settings"
msgstr "Asetukset"
@@ -3638,26 +4532,49 @@ msgstr "Asetukset"
msgid "Sexual activity or erotic nudity."
msgstr "Erotiikka tai muu aikuisviihde."
+#: src/lib/moderation/useGlobalLabelStrings.ts:38
+msgid "Sexually Suggestive"
+msgstr "Seksuaalisesti vihjaileva"
+
#: src/view/com/lightbox/Lightbox.tsx:141
msgctxt "action"
msgid "Share"
msgstr "Jaa"
-#: src/view/com/profile/ProfileHeader.tsx:295
-#: src/view/com/util/forms/PostDropdownBtn.tsx:184
-#: src/view/screens/ProfileList.tsx:418
+#: src/view/com/profile/ProfileMenu.tsx:215
+#: src/view/com/profile/ProfileMenu.tsx:224
+#: src/view/com/util/forms/PostDropdownBtn.tsx:236
+#: src/view/com/util/forms/PostDropdownBtn.tsx:245
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:237
+#: src/view/screens/ProfileList.tsx:390
msgid "Share"
msgstr "Jaa"
-#: src/view/screens/ProfileFeed.tsx:305
+#: src/view/com/profile/ProfileMenu.tsx:373
+#: src/view/com/util/forms/PostDropdownBtn.tsx:369
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:253
+msgid "Share anyway"
+msgstr "Jaa kuitenkin"
+
+#: src/view/screens/ProfileFeed.tsx:373
+#: src/view/screens/ProfileFeed.tsx:375
msgid "Share feed"
msgstr "Jaa syöte"
-#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:43
-#: src/view/com/modals/ContentFilteringSettings.tsx:266
-#: src/view/com/util/moderation/ContentHider.tsx:107
-#: src/view/com/util/moderation/PostHider.tsx:108
-#: src/view/screens/Settings/index.tsx:344
+#: src/view/com/modals/LinkWarning.tsx:89
+#: src/view/com/modals/LinkWarning.tsx:95
+msgid "Share Link"
+msgstr ""
+
+#: src/view/com/modals/LinkWarning.tsx:92
+msgid "Shares the linked website"
+msgstr ""
+
+#: src/components/moderation/ContentHider.tsx:115
+#: src/components/moderation/LabelPreference.tsx:136
+#: src/components/moderation/PostHider.tsx:107
+#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:54
+#: src/view/screens/Settings/index.tsx:366
msgid "Show"
msgstr "Näytä"
@@ -3665,21 +4582,31 @@ msgstr "Näytä"
msgid "Show all replies"
msgstr "Näytä kaikki vastaukset"
-#: src/view/com/util/moderation/ScreenHider.tsx:132
+#: src/components/moderation/ScreenHider.tsx:169
+#: src/components/moderation/ScreenHider.tsx:172
msgid "Show anyway"
msgstr "Näytä silti"
-#: src/view/com/modals/EmbedConsent.tsx:87
-msgid "Show embeds from {0}"
-msgstr "Näytä upotukset taholta {0}"
+#: src/lib/moderation/useLabelBehaviorDescription.ts:27
+#: src/lib/moderation/useLabelBehaviorDescription.ts:63
+msgid "Show badge"
+msgstr ""
-#: src/view/com/profile/ProfileHeader.tsx:459
+#: src/lib/moderation/useLabelBehaviorDescription.ts:61
+msgid "Show badge and filter from feeds"
+msgstr ""
+
+#: src/view/com/modals/EmbedConsent.tsx:87
+#~ msgid "Show embeds from {0}"
+#~ msgstr "Näytä upotukset taholta {0}"
+
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:200
msgid "Show follows similar to {0}"
msgstr "Näytä seurannat samankaltaisilta käyttäjiltä kuin {0}"
-#: src/view/com/post-thread/PostThreadItem.tsx:538
-#: src/view/com/post/Post.tsx:198
-#: src/view/com/posts/FeedItem.tsx:363
+#: src/view/com/post-thread/PostThreadItem.tsx:501
+#: src/view/com/post/Post.tsx:212
+#: src/view/com/posts/FeedItem.tsx:360
msgid "Show More"
msgstr "Näytä lisää"
@@ -3691,15 +4618,15 @@ msgstr "Näytä viestit omista syötteistäni"
msgid "Show Quote Posts"
msgstr "Näytä lainatut viestit"
-#: src/screens/Onboarding/StepFollowingFeed.tsx:118
+#: src/screens/Onboarding/StepFollowingFeed.tsx:119
msgid "Show quote-posts in Following feed"
msgstr "Näytä lainatut viestit seurattavien syötteessä"
-#: src/screens/Onboarding/StepFollowingFeed.tsx:134
+#: src/screens/Onboarding/StepFollowingFeed.tsx:135
msgid "Show quotes in Following"
msgstr "Näytä lainaukset seurattavissa"
-#: src/screens/Onboarding/StepFollowingFeed.tsx:94
+#: src/screens/Onboarding/StepFollowingFeed.tsx:95
msgid "Show re-posts in Following feed"
msgstr "Näytä uudelleenjulkaistut viestit seurattavissa"
@@ -3711,11 +4638,11 @@ msgstr "Näytä vastaukset"
msgid "Show replies by people you follow before all other replies."
msgstr "Näytä seurattujen henkilöiden vastaukset ennen muita vastauksia."
-#: src/screens/Onboarding/StepFollowingFeed.tsx:86
+#: src/screens/Onboarding/StepFollowingFeed.tsx:87
msgid "Show replies in Following"
msgstr "Näytä vastaukset seurattavissa"
-#: src/screens/Onboarding/StepFollowingFeed.tsx:70
+#: src/screens/Onboarding/StepFollowingFeed.tsx:71
msgid "Show replies in Following feed"
msgstr "Näytä vastaukset seurattavissa"
@@ -3727,107 +4654,127 @@ msgstr "Näytä vastaukset, joissa on vähintään {value} {0}"
msgid "Show Reposts"
msgstr "Näytä uudelleenjulkaisut"
-#: src/screens/Onboarding/StepFollowingFeed.tsx:110
+#: src/screens/Onboarding/StepFollowingFeed.tsx:111
msgid "Show reposts in Following"
msgstr "Näytä uudelleenjulkaisut seurattavissa"
-#: src/view/com/util/moderation/ContentHider.tsx:67
-#: src/view/com/util/moderation/PostHider.tsx:61
+#: src/components/moderation/ContentHider.tsx:68
+#: src/components/moderation/PostHider.tsx:64
msgid "Show the content"
msgstr "Näytä sisältö"
-#: src/view/com/notifications/FeedItem.tsx:346
+#: src/view/com/notifications/FeedItem.tsx:353
msgid "Show users"
msgstr "Näytä käyttäjät"
-#: src/view/com/profile/ProfileHeader.tsx:462
-msgid "Shows a list of users similar to this user."
-msgstr "Näyttää luettelon käyttäjistä, jotka ovat samankaltaisia kuin tämä käyttäjä."
+#: src/lib/moderation/useLabelBehaviorDescription.ts:58
+msgid "Show warning"
+msgstr "Näytä varoitus"
-#: src/view/com/post-thread/PostThreadFollowBtn.tsx:124
-#: src/view/com/profile/ProfileHeader.tsx:506
+#: src/lib/moderation/useLabelBehaviorDescription.ts:56
+msgid "Show warning and filter from feeds"
+msgstr "Näytä varoitus ja suodata syötteistä"
+
+#: src/view/com/profile/ProfileHeader.tsx:462
+#~ msgid "Shows a list of users similar to this user."
+#~ msgstr "Näyttää luettelon käyttäjistä, jotka ovat samankaltaisia kuin tämä käyttäjä."
+
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:130
msgid "Shows posts from {0} in your feed"
msgstr "Näyttää viestit käyttäjältä {0} syötteessäsi"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:70
-#: src/view/com/auth/login/Login.tsx:98
-#: src/view/com/auth/SplashScreen.tsx:79
-#: src/view/shell/bottom-bar/BottomBar.tsx:285
-#: src/view/shell/bottom-bar/BottomBar.tsx:286
-#: src/view/shell/bottom-bar/BottomBar.tsx:288
+#: src/components/dialogs/Signin.tsx:97
+#: src/components/dialogs/Signin.tsx:99
+#: src/screens/Login/index.tsx:100
+#: src/screens/Login/index.tsx:119
+#: src/screens/Login/LoginForm.tsx:131
+#: src/view/com/auth/SplashScreen.tsx:63
+#: src/view/com/auth/SplashScreen.tsx:72
+#: src/view/com/auth/SplashScreen.web.tsx:107
+#: src/view/com/auth/SplashScreen.web.tsx:116
+#: src/view/shell/bottom-bar/BottomBar.tsx:301
+#: src/view/shell/bottom-bar/BottomBar.tsx:302
+#: src/view/shell/bottom-bar/BottomBar.tsx:304
#: src/view/shell/bottom-bar/BottomBarWeb.tsx:178
#: src/view/shell/bottom-bar/BottomBarWeb.tsx:179
#: src/view/shell/bottom-bar/BottomBarWeb.tsx:181
-#: src/view/shell/NavSignupCard.tsx:58
-#: src/view/shell/NavSignupCard.tsx:59
+#: src/view/shell/NavSignupCard.tsx:63
+#: src/view/shell/NavSignupCard.tsx:64
+#: src/view/shell/NavSignupCard.tsx:66
msgid "Sign in"
msgstr "Kirjaudu sisään"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:78
-#: src/view/com/auth/SplashScreen.tsx:82
+#: src/view/com/auth/HomeLoggedOutCTA.tsx:82
+#: src/view/com/auth/SplashScreen.tsx:86
#: src/view/com/auth/SplashScreen.web.tsx:91
-msgid "Sign In"
-msgstr "Kirjaudu sisään"
+#~ msgid "Sign In"
+#~ msgstr "Kirjaudu sisään"
-#: src/view/com/auth/login/ChooseAccountForm.tsx:44
+#: src/components/AccountList.tsx:109
msgid "Sign in as {0}"
msgstr "Kirjaudu sisään nimellä {0}"
-#: src/view/com/auth/login/ChooseAccountForm.tsx:118
-#: src/view/com/auth/login/Login.tsx:116
+#: src/screens/Login/ChooseAccountForm.tsx:64
msgid "Sign in as..."
msgstr "Kirjaudu sisään nimellä..."
-#: src/view/com/auth/login/LoginForm.tsx:137
-msgid "Sign into"
-msgstr "Kirjaudu sisään"
+#: src/components/dialogs/Signin.tsx:75
+msgid "Sign in or create your account to join the conversation!"
+msgstr ""
-#: src/view/com/modals/SwitchAccount.tsx:64
-#: src/view/com/modals/SwitchAccount.tsx:69
-#: src/view/screens/Settings/index.tsx:100
-#: src/view/screens/Settings/index.tsx:103
+#: src/view/com/auth/login/LoginForm.tsx:140
+#~ msgid "Sign into"
+#~ msgstr "Kirjaudu sisään"
+
+#: src/components/dialogs/Signin.tsx:46
+msgid "Sign into Bluesky or create a new account"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:118
+#: src/view/screens/Settings/index.tsx:121
msgid "Sign out"
msgstr "Kirjaudu ulos"
-#: src/view/shell/bottom-bar/BottomBar.tsx:275
-#: src/view/shell/bottom-bar/BottomBar.tsx:276
-#: src/view/shell/bottom-bar/BottomBar.tsx:278
+#: src/view/shell/bottom-bar/BottomBar.tsx:291
+#: src/view/shell/bottom-bar/BottomBar.tsx:292
+#: src/view/shell/bottom-bar/BottomBar.tsx:294
#: src/view/shell/bottom-bar/BottomBarWeb.tsx:168
#: src/view/shell/bottom-bar/BottomBarWeb.tsx:169
#: src/view/shell/bottom-bar/BottomBarWeb.tsx:171
-#: src/view/shell/NavSignupCard.tsx:49
-#: src/view/shell/NavSignupCard.tsx:50
-#: src/view/shell/NavSignupCard.tsx:52
+#: src/view/shell/NavSignupCard.tsx:54
+#: src/view/shell/NavSignupCard.tsx:55
+#: src/view/shell/NavSignupCard.tsx:57
msgid "Sign up"
msgstr "Rekisteröidy"
-#: src/view/shell/NavSignupCard.tsx:42
+#: src/view/shell/NavSignupCard.tsx:47
msgid "Sign up or sign in to join the conversation"
msgstr "Rekisteröidy tai kirjaudu sisään liittyäksesi keskusteluun"
-#: src/view/com/util/moderation/ScreenHider.tsx:76
+#: src/components/moderation/ScreenHider.tsx:97
+#: src/lib/moderation/useGlobalLabelStrings.ts:28
msgid "Sign-in Required"
msgstr "Sisäänkirjautuminen vaaditaan"
-#: src/view/screens/Settings/index.tsx:355
+#: src/view/screens/Settings/index.tsx:377
msgid "Signed in as"
msgstr "Kirjautunut sisään nimellä"
-#: src/view/com/auth/login/ChooseAccountForm.tsx:103
+#: src/screens/Login/ChooseAccountForm.tsx:48
msgid "Signed in as @{0}"
msgstr "Kirjautunut sisään käyttäjätunnuksella @{0}"
-#: src/view/com/modals/SwitchAccount.tsx:66
-msgid "Signs {0} out of Bluesky"
-msgstr "{0} kirjautuu ulos Blueskysta"
+#: src/view/com/modals/SwitchAccount.tsx:70
+#~ msgid "Signs {0} out of Bluesky"
+#~ msgstr "{0} kirjautuu ulos Blueskysta"
-#: src/screens/Onboarding/StepInterests/index.tsx:235
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:195
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:33
+#: src/screens/Onboarding/StepInterests/index.tsx:239
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:203
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:35
msgid "Skip"
msgstr "Ohita"
-#: src/screens/Onboarding/StepInterests/index.tsx:232
+#: src/screens/Onboarding/StepInterests/index.tsx:236
msgid "Skip this flow"
msgstr "Ohita tämä vaihe"
@@ -3841,13 +4788,19 @@ msgstr "Ohjelmistokehitys"
#: src/view/com/modals/ProfilePreview.tsx:62
#~ msgid "Something went wrong and we're not sure what."
-#~ msgstr ""
+#~ msgstr "Jotain meni pieleen, emmekä ole varmoja mitä."
+
+#: src/components/ReportDialog/index.tsx:59
+#: src/screens/Moderation/index.tsx:114
+#: src/screens/Profile/Sections/Labels.tsx:87
+msgid "Something went wrong, please try again."
+msgstr "Jotain meni pieleen, yritä uudelleen"
#: src/view/com/modals/Waitlist.tsx:51
-msgid "Something went wrong. Check your email and try again."
-msgstr "Jotain meni pieleen. Tarkista sähköpostisi ja yritä uudelleen."
+#~ msgid "Something went wrong. Check your email and try again."
+#~ msgstr "Jotain meni pieleen. Tarkista sähköpostisi ja yritä uudelleen."
-#: src/App.native.tsx:63
+#: src/App.native.tsx:64
msgid "Sorry! Your session expired. Please log in again."
msgstr "Pahoittelut! Istuntosi on vanhentunut. Kirjaudu sisään uudelleen."
@@ -3859,11 +4812,23 @@ msgstr "Lajittele vastaukset"
msgid "Sort replies to the same post by:"
msgstr "Lajittele saman viestin vastaukset seuraavasti:"
+#: src/components/moderation/LabelsOnMeDialog.tsx:146
+msgid "Source:"
+msgstr "Lähde:"
+
+#: src/lib/moderation/useReportOptions.ts:65
+msgid "Spam"
+msgstr "Roskapostia"
+
+#: src/lib/moderation/useReportOptions.ts:53
+msgid "Spam; excessive mentions or replies"
+msgstr ""
+
#: src/screens/Onboarding/index.tsx:30
msgid "Sports"
msgstr "Urheilu"
-#: src/view/com/modals/crop-image/CropImage.web.tsx:122
+#: src/view/com/modals/crop-image/CropImage.web.tsx:123
msgid "Square"
msgstr "Neliö"
@@ -3871,45 +4836,62 @@ msgstr "Neliö"
#~ msgid "Staging"
#~ msgstr ""
-#: src/view/screens/Settings/index.tsx:871
+#: src/view/screens/Settings/index.tsx:867
msgid "Status page"
msgstr "Tilasivu"
-#: src/view/com/auth/create/StepHeader.tsx:22
-msgid "Step {0} of {numSteps}"
-msgstr "Vaihe {0}/{numSteps}"
+#: src/screens/Signup/index.tsx:143
+msgid "Step"
+msgstr ""
-#: src/view/screens/Settings/index.tsx:274
+#: src/view/com/auth/create/StepHeader.tsx:22
+#~ msgid "Step {0} of {numSteps}"
+#~ msgstr "Vaihe {0}/{numSteps}"
+
+#: src/view/screens/Settings/index.tsx:295
msgid "Storage cleared, you need to restart the app now."
msgstr "Tallennustila tyhjennetty, sinun on käynnistettävä sovellus uudelleen."
-#: src/Navigation.tsx:202
-#: src/view/screens/Settings/index.tsx:807
+#: src/Navigation.tsx:211
+#: src/view/screens/Settings/index.tsx:795
msgid "Storybook"
msgstr "Storybook"
-#: src/view/com/modals/AppealLabel.tsx:101
+#: src/components/moderation/LabelsOnMeDialog.tsx:255
+#: src/components/moderation/LabelsOnMeDialog.tsx:256
msgid "Submit"
msgstr "Lähetä"
-#: src/view/screens/ProfileList.tsx:608
+#: src/view/screens/ProfileList.tsx:592
msgid "Subscribe"
msgstr "Tilaa"
-#: src/screens/Onboarding/StepAlgoFeeds/FeedCard.tsx:173
+#: src/screens/Profile/Sections/Labels.tsx:191
+msgid "Subscribe to @{0} to use these labels:"
+msgstr ""
+
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:227
+msgid "Subscribe to Labeler"
+msgstr ""
+
+#: src/screens/Onboarding/StepAlgoFeeds/FeedCard.tsx:172
#: src/screens/Onboarding/StepAlgoFeeds/FeedCard.tsx:307
msgid "Subscribe to the {0} feed"
msgstr "Tilaa {0}-syöte"
-#: src/view/screens/ProfileList.tsx:604
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:191
+msgid "Subscribe to this labeler"
+msgstr ""
+
+#: src/view/screens/ProfileList.tsx:588
msgid "Subscribe to this list"
msgstr "Tilaa tämä lista"
-#: src/view/screens/Search/Search.tsx:374
+#: src/view/screens/Search/Search.tsx:523
msgid "Suggested Follows"
-msgstr "Ehdotetut seurattavat"
+msgstr "Mahdollisia seurattavia"
-#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:64
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:65
msgid "Suggested for you"
msgstr "Suositeltua sinulle"
@@ -3917,7 +4899,7 @@ msgstr "Suositeltua sinulle"
msgid "Suggestive"
msgstr "Viittaava"
-#: src/Navigation.tsx:212
+#: src/Navigation.tsx:226
#: src/view/screens/Support.tsx:30
#: src/view/screens/Support.tsx:33
msgid "Support"
@@ -3925,39 +4907,42 @@ msgstr "Tuki"
#: src/view/com/modals/ProfilePreview.tsx:110
#~ msgid "Swipe up to see more"
-#~ msgstr ""
+#~ msgstr "Pyyhkäise ylöspäin nähdäksesi lisää"
-#: src/view/com/modals/SwitchAccount.tsx:117
+#: src/components/dialogs/SwitchAccount.tsx:46
+#: src/components/dialogs/SwitchAccount.tsx:49
msgid "Switch Account"
-msgstr "Vaihda tiliä"
+msgstr "Vaihda käyttäjätiliä"
-#: src/view/com/modals/SwitchAccount.tsx:97
-#: src/view/screens/Settings/index.tsx:130
+#: src/view/screens/Settings/index.tsx:150
msgid "Switch to {0}"
msgstr "Vaihda käyttäjään {0}"
-#: src/view/com/modals/SwitchAccount.tsx:98
-#: src/view/screens/Settings/index.tsx:131
+#: src/view/screens/Settings/index.tsx:151
msgid "Switches the account you are logged in to"
msgstr "Vaihtaa sisäänkirjautuneen käyttäjän tilin"
-#: src/view/screens/Settings/index.tsx:472
+#: src/view/screens/Settings/index.tsx:442
msgid "System"
msgstr "Järjestelmä"
-#: src/view/screens/Settings/index.tsx:795
+#: src/view/screens/Settings/index.tsx:783
msgid "System log"
msgstr "Järjestelmäloki"
-#: src/components/dialogs/MutedWords.tsx:288
+#: src/components/dialogs/MutedWords.tsx:323
msgid "tag"
-msgstr "tunniste"
+msgstr "aihetunniste"
+
+#: src/components/TagMenu/index.tsx:78
+msgid "Tag menu: {displayTag}"
+msgstr "Aihetunnistevalikko: {displayTag}"
#: src/components/TagMenu/index.tsx:74
-msgid "Tag menu: {tag}"
-msgstr "Tunnistevalikko: {tag}"
+#~ msgid "Tag menu: {tag}"
+#~ msgstr "Aihetunnistevalikko: {tag}"
-#: src/view/com/modals/crop-image/CropImage.web.tsx:112
+#: src/view/com/modals/crop-image/CropImage.web.tsx:113
msgid "Tall"
msgstr "Pitkä"
@@ -3973,29 +4958,48 @@ msgstr "Teknologia"
msgid "Terms"
msgstr "Ehdot"
-#: src/Navigation.tsx:222
-#: src/view/screens/Settings/index.tsx:885
+#: src/Navigation.tsx:236
+#: src/screens/Signup/StepInfo/Policies.tsx:49
+#: src/view/screens/Settings/index.tsx:881
#: src/view/screens/TermsOfService.tsx:29
-#: src/view/shell/Drawer.tsx:256
+#: src/view/shell/Drawer.tsx:265
msgid "Terms of Service"
msgstr "Käyttöehdot"
-#: src/components/dialogs/MutedWords.tsx:288
+#: src/lib/moderation/useReportOptions.ts:58
+#: src/lib/moderation/useReportOptions.ts:79
+#: src/lib/moderation/useReportOptions.ts:87
+msgid "Terms used violate community standards"
+msgstr ""
+
+#: src/components/dialogs/MutedWords.tsx:323
msgid "text"
msgstr "teksti"
-#: src/view/com/modals/AppealLabel.tsx:70
-#: src/view/com/modals/report/InputIssueDetails.tsx:51
+#: src/components/moderation/LabelsOnMeDialog.tsx:219
msgid "Text input field"
msgstr "Tekstikenttä"
-#: src/view/com/auth/create/CreateAccount.tsx:94
+#: src/components/ReportDialog/SubmitView.tsx:76
+msgid "Thank you. Your report has been sent."
+msgstr "Kiitos. Raporttisi on lähetetty."
+
+#: src/view/com/modals/ChangeHandle.tsx:465
+msgid "That contains the following:"
+msgstr "Se sisältää seuraavaa:"
+
+#: src/screens/Signup/index.tsx:85
msgid "That handle is already taken."
msgstr "Tuo käyttätunnus on jo käytössä."
-#: src/view/com/profile/ProfileHeader.tsx:263
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:282
+#: src/view/com/profile/ProfileMenu.tsx:349
msgid "The account will be able to interact with you after unblocking."
-msgstr "Tili voi olla vuorovaikutuksessa kanssasi, kun estäminen on poistettu."
+msgstr "Käyttäjä voi olla vuorovaikutuksessa kanssasi, kun poistat eston."
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:127
+msgid "the author"
+msgstr "kirjoittaja"
#: src/view/screens/CommunityGuidelines.tsx:36
msgid "The Community Guidelines have been moved to <0/>"
@@ -4005,11 +5009,20 @@ msgstr "Yhteisöohjeet on siirretty kohtaan <0/>"
msgid "The Copyright Policy has been moved to <0/>"
msgstr "Tekijänoikeuskäytäntö on siirretty kohtaan <0/>"
-#: src/screens/Onboarding/Layout.tsx:60
+#: src/components/moderation/LabelsOnMeDialog.tsx:48
+msgid "The following labels were applied to your account."
+msgstr ""
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:49
+msgid "The following labels were applied to your content."
+msgstr ""
+
+#: src/screens/Onboarding/Layout.tsx:58
msgid "The following steps will help customize your Bluesky experience."
msgstr "Seuraavat vaiheet auttavat mukauttamaan Bluesky-kokemustasi."
-#: src/view/com/post-thread/PostThread.tsx:517
+#: src/view/com/post-thread/PostThread.tsx:153
+#: src/view/com/post-thread/PostThread.tsx:165
msgid "The post may have been deleted."
msgstr "Viesti saattaa olla poistettu."
@@ -4025,35 +5038,35 @@ msgstr "Tukilomake on siirretty. Jos tarvitset apua, käy osoitteessa <0/> tai v
msgid "The Terms of Service have been moved to"
msgstr "Käyttöehdot on siirretty kohtaan"
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:150
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:141
msgid "There are many feeds to try:"
msgstr "On monia syötteitä kokeiltavaksi:"
-#: src/view/screens/ProfileFeed.tsx:550
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:114
+#: src/view/screens/ProfileFeed.tsx:556
msgid "There was an an issue contacting the server, please check your internet connection and try again."
msgstr "Emme saaneet yhteyttä palvelimeen, tarkista internetyhteytesi ja yritä uudelleen."
-#: src/view/com/posts/FeedErrorMessage.tsx:139
+#: src/view/com/posts/FeedErrorMessage.tsx:138
msgid "There was an an issue removing this feed. Please check your internet connection and try again."
msgstr "Syötteen poistossa on ongelmia. Tarkista internetyhteytesi ja yritä uudelleen."
-#: src/view/screens/ProfileFeed.tsx:210
+#: src/view/screens/ProfileFeed.tsx:219
msgid "There was an an issue updating your feeds, please check your internet connection and try again."
msgstr "Syötteiden päivittämisessä on ongelmia, tarkista internetyhteytesi ja yritä uudelleen."
-#: src/view/screens/ProfileFeed.tsx:237
-#: src/view/screens/ProfileList.tsx:267
-#: src/view/screens/SavedFeeds.tsx:209
-#: src/view/screens/SavedFeeds.tsx:231
-#: src/view/screens/SavedFeeds.tsx:252
+#: src/view/screens/ProfileFeed.tsx:247
+#: src/view/screens/ProfileList.tsx:277
+#: src/view/screens/SavedFeeds.tsx:211
+#: src/view/screens/SavedFeeds.tsx:241
+#: src/view/screens/SavedFeeds.tsx:262
msgid "There was an issue contacting the server"
msgstr "Yhteydenotto palvelimeen epäonnistui"
#: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:57
#: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:66
-#: src/view/com/feeds/FeedSourceCard.tsx:115
-#: src/view/com/feeds/FeedSourceCard.tsx:129
-#: src/view/com/feeds/FeedSourceCard.tsx:183
+#: src/view/com/feeds/FeedSourceCard.tsx:110
+#: src/view/com/feeds/FeedSourceCard.tsx:123
msgid "There was an issue contacting your server"
msgstr "Yhteydenotto palvelimeen epäonnistui"
@@ -4061,7 +5074,7 @@ msgstr "Yhteydenotto palvelimeen epäonnistui"
msgid "There was an issue fetching notifications. Tap here to try again."
msgstr "Ongelma ilmoitusten hakemisessa. Napauta tästä yrittääksesi uudelleen."
-#: src/view/com/posts/Feed.tsx:263
+#: src/view/com/posts/Feed.tsx:287
msgid "There was an issue fetching posts. Tap here to try again."
msgstr "Ongelma viestien hakemisessa. Napauta tästä yrittääksesi uudelleen."
@@ -4069,39 +5082,45 @@ msgstr "Ongelma viestien hakemisessa. Napauta tästä yrittääksesi uudelleen."
msgid "There was an issue fetching the list. Tap here to try again."
msgstr "Ongelma listan hakemisessa. Napauta tästä yrittääksesi uudelleen."
-#: src/view/com/feeds/ProfileFeedgens.tsx:148
-#: src/view/com/lists/ProfileLists.tsx:155
+#: src/view/com/feeds/ProfileFeedgens.tsx:156
+#: src/view/com/lists/ProfileLists.tsx:163
msgid "There was an issue fetching your lists. Tap here to try again."
msgstr "Ongelma listojesi hakemisessa. Napauta tästä yrittääksesi uudelleen."
-#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:63
-#: src/view/com/modals/ContentFilteringSettings.tsx:126
+#: src/components/ReportDialog/SubmitView.tsx:81
+msgid "There was an issue sending your report. Please check your internet connection."
+msgstr "Raportin lähettämisessä ilmeni ongelma. Tarkista internet-yhteytesi."
+
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:65
msgid "There was an issue syncing your preferences with the server"
msgstr "Ongelma asetuksiesi synkronoinnissa palvelimelle"
-#: src/view/screens/AppPasswords.tsx:66
+#: src/view/screens/AppPasswords.tsx:68
msgid "There was an issue with fetching your app passwords"
msgstr "Sovellussalasanojen hakemisessa tapahtui virhe"
-#: src/view/com/post-thread/PostThreadFollowBtn.tsx:93
-#: src/view/com/post-thread/PostThreadFollowBtn.tsx:105
-#: src/view/com/profile/ProfileHeader.tsx:157
-#: src/view/com/profile/ProfileHeader.tsx:178
-#: src/view/com/profile/ProfileHeader.tsx:217
-#: src/view/com/profile/ProfileHeader.tsx:230
-#: src/view/com/profile/ProfileHeader.tsx:250
-#: src/view/com/profile/ProfileHeader.tsx:272
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:105
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:127
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:141
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:99
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:111
+#: src/view/com/profile/ProfileMenu.tsx:106
+#: src/view/com/profile/ProfileMenu.tsx:117
+#: src/view/com/profile/ProfileMenu.tsx:132
+#: src/view/com/profile/ProfileMenu.tsx:143
+#: src/view/com/profile/ProfileMenu.tsx:157
+#: src/view/com/profile/ProfileMenu.tsx:170
msgid "There was an issue! {0}"
msgstr "Ilmeni ongelma! {0}"
-#: src/view/screens/ProfileList.tsx:288
-#: src/view/screens/ProfileList.tsx:307
-#: src/view/screens/ProfileList.tsx:329
-#: src/view/screens/ProfileList.tsx:348
+#: src/view/screens/ProfileList.tsx:290
+#: src/view/screens/ProfileList.tsx:304
+#: src/view/screens/ProfileList.tsx:318
+#: src/view/screens/ProfileList.tsx:332
msgid "There was an issue. Please check your internet connection and try again."
msgstr "Ilmeni joku ongelma. Tarkista internet-yhteys ja yritä uudelleen."
-#: src/view/com/util/ErrorBoundary.tsx:36
+#: src/view/com/util/ErrorBoundary.tsx:51
msgid "There was an unexpected issue in the application. Please let us know if this happened to you!"
msgstr "Sovelluksessa ilmeni odottamaton ongelma. Kerro meille, jos tämä tapahtui sinulle!"
@@ -4113,23 +5132,36 @@ msgstr "Blueskyyn on tullut paljon uusia käyttäjiä! Aktivoimme tilisi niin pi
#~ msgid "There's something wrong with this number. Please choose your country and enter your full phone number!"
#~ msgstr "Tässä numerossa on jotain vikaa. Valitse maasi ja syötä koko puhelinnumerosi!"
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:138
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:146
msgid "These are popular accounts you might like:"
msgstr "Nämä ovat suosittuja tilejä, joista saatat pitää:"
-#: src/view/com/util/moderation/ScreenHider.tsx:88
+#: src/components/moderation/ScreenHider.tsx:116
msgid "This {screenDescription} has been flagged:"
msgstr "Tämä {screenDescription} on liputettu:"
-#: src/view/com/util/moderation/ScreenHider.tsx:83
+#: src/components/moderation/ScreenHider.tsx:111
msgid "This account has requested that users sign in to view their profile."
-msgstr "Tämä tili pyytää käyttäjiä kirjautumaan sisään nähdäkseen profiilinsa."
+msgstr "Tämä käyttäjätili on pyytänyt, että käyttät kirjautuvat sisään nähdäkseen profiilinsa."
-#: src/view/com/modals/EmbedConsent.tsx:68
+#: src/components/moderation/LabelsOnMeDialog.tsx:204
+msgid "This appeal will be sent to <0>{0}0>."
+msgstr ""
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:19
+msgid "This content has been hidden by the moderators."
+msgstr "Moderaattorit ovat piilottaneet tämän sisällön."
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:24
+msgid "This content has received a general warning from moderators."
+msgstr "Tämä sisältö on saanut yleisen varoituksen moderaattoreilta."
+
+#: src/components/dialogs/EmbedConsent.tsx:64
msgid "This content is hosted by {0}. Do you want to enable external media?"
msgstr "Tämä sisältö on hostattu palvelussa {0}. Haluatko sallia ulkoisen median?"
-#: src/view/com/modals/ModerationDetails.tsx:67
+#: src/components/moderation/ModerationDetailsDialog.tsx:77
+#: src/lib/moderation/useModerationCauseDescription.ts:77
msgid "This content is not available because one of the users involved has blocked the other."
msgstr "Tämä sisältö ei ole saatavilla, koska toinen käyttäjistä on estänyt toisen."
@@ -4138,16 +5170,20 @@ msgid "This content is not viewable without a Bluesky account."
msgstr "Tätä sisältöä ei voi katsoa ilman Bluesky-tiliä."
#: src/view/screens/Settings/ExportCarDialog.tsx:75
-msgid "This feature is in beta. You can read more about repository exports in <0>this blogpost.0>"
-msgstr "Tämä ominaisuus on betavaiheessa. Voit lukea lisää pakettivarastojen vientitoiminnosta <0>tässä blogikirjoituksessa.0>"
+#~ msgid "This feature is in beta. You can read more about repository exports in <0>this blogpost.0>"
+#~ msgstr "Tämä ominaisuus on betavaiheessa. Voit lukea lisää pakettivarastojen vientitoiminnosta <0>tässä blogikirjoituksessa.0>"
+
+#: src/view/screens/Settings/ExportCarDialog.tsx:75
+msgid "This feature is in beta. You can read more about repository exports in <0>this blogpost0>."
+msgstr ""
#: src/view/com/posts/FeedErrorMessage.tsx:114
msgid "This feed is currently receiving high traffic and is temporarily unavailable. Please try again later."
msgstr "Tämä syöte saa tällä hetkellä paljon liikennettä ja on tilapäisesti pois käytöstä. Yritä uudelleen myöhemmin."
-#: src/view/screens/Profile.tsx:420
-#: src/view/screens/ProfileFeed.tsx:476
-#: src/view/screens/ProfileList.tsx:661
+#: src/screens/Profile/Sections/Feed.tsx:59
+#: src/view/screens/ProfileFeed.tsx:488
+#: src/view/screens/ProfileList.tsx:677
msgid "This feed is empty!"
msgstr "Tämä syöte on tyhjä!"
@@ -4155,7 +5191,7 @@ msgstr "Tämä syöte on tyhjä!"
msgid "This feed is empty! You may need to follow more users or tune your language settings."
msgstr "Tämä syöte on tyhjä! Sinun on ehkä seurattava useampia käyttäjiä tai säädettävä kieliasetuksiasi."
-#: src/view/com/modals/BirthDateSettings.tsx:61
+#: src/components/dialogs/BirthDateSettings.tsx:41
msgid "This information is not shared with other users."
msgstr "Tätä tietoa ei jaeta muiden käyttäjien kanssa."
@@ -4163,15 +5199,27 @@ msgstr "Tätä tietoa ei jaeta muiden käyttäjien kanssa."
msgid "This is important in case you ever need to change your email or reset your password."
msgstr "Tämä on tärkeää, jos sinun tarvitsee vaihtaa sähköpostiosoitteesi tai palauttaa salasanasi."
-#: src/view/com/modals/LinkWarning.tsx:58
+#: src/components/moderation/ModerationDetailsDialog.tsx:124
+msgid "This label was applied by {0}."
+msgstr ""
+
+#: src/screens/Profile/Sections/Labels.tsx:178
+msgid "This labeler hasn't declared what labels it publishes, and may not be active."
+msgstr ""
+
+#: src/view/com/modals/LinkWarning.tsx:72
msgid "This link is taking you to the following website:"
msgstr "Tämä linkki vie sinut tälle verkkosivustolle:"
-#: src/view/screens/ProfileList.tsx:834
+#: src/view/screens/ProfileList.tsx:855
msgid "This list is empty!"
msgstr "Tämä lista on tyhjä!"
-#: src/view/com/modals/AddAppPasswords.tsx:106
+#: src/screens/Profile/ErrorState.tsx:40
+msgid "This moderation service is unavailable. See below for more details. If this issue persists, contact us."
+msgstr ""
+
+#: src/view/com/modals/AddAppPasswords.tsx:107
msgid "This name is already in use"
msgstr "Tämä nimi on jo käytössä"
@@ -4179,36 +5227,82 @@ msgstr "Tämä nimi on jo käytössä"
msgid "This post has been deleted."
msgstr "Tämä viesti on poistettu."
-#: src/view/com/modals/ModerationDetails.tsx:62
+#: src/view/com/util/forms/PostDropdownBtn.tsx:366
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:250
+msgid "This post is only visible to logged-in users. It won't be visible to people who aren't logged in."
+msgstr "Tämä julkaisu on näkyvissä vain kirjautuneille käyttäjille. Sitä ei näytetä kirjautumattomille henkilöille."
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:348
+msgid "This post will be hidden from feeds."
+msgstr "Tämä julkaisu piilotetaan syötteistä."
+
+#: src/view/com/profile/ProfileMenu.tsx:370
+msgid "This profile is only visible to logged-in users. It won't be visible to people who aren't logged in."
+msgstr "Tämä profiili on näkyvissä vain kirjautuneille käyttäjille. Sitä ei näytetä kirjautumattomille henkilöille."
+
+#: src/screens/Signup/StepInfo/Policies.tsx:37
+msgid "This service has not provided terms of service or a privacy policy."
+msgstr "Tämä palvelu ei ole toimittanut käyttöehtoja tai tietosuojakäytäntöä."
+
+#: src/view/com/modals/ChangeHandle.tsx:445
+msgid "This should create a domain record at:"
+msgstr ""
+
+#: src/view/com/profile/ProfileFollowers.tsx:87
+msgid "This user doesn't have any followers."
+msgstr "Tällä käyttäjällä ei ole yhtään seuraajaa"
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:72
+#: src/lib/moderation/useModerationCauseDescription.ts:68
msgid "This user has blocked you. You cannot view their content."
-msgstr "Tämä käyttäjä on estänyt sinut. Et voi nähdä heidän sisältöään."
+msgstr "Tämä käyttäjä on estänyt sinut. Et voi nähdä hänen sisältöä."
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:30
+msgid "This user has requested that their content only be shown to signed-in users."
+msgstr "Tämä käyttäjä on pyytänyt, että hänen sisältö näkyy vain kirjautuneille"
#: src/view/com/modals/ModerationDetails.tsx:42
-msgid "This user is included in the <0/> list which you have blocked."
-msgstr "Tämä käyttäjä on <0/>-listassa, jonka olet estänyt."
+#~ msgid "This user is included in the <0/> list which you have blocked."
+#~ msgstr "Tämä käyttäjä on <0/>-listassa, jonka olet estänyt."
#: src/view/com/modals/ModerationDetails.tsx:74
-msgid "This user is included in the <0/> list which you have muted."
-msgstr "Tämä käyttäjä on <0/>-listassa, jonka olet hiljentänyt."
+#~ msgid "This user is included in the <0/> list which you have muted."
+#~ msgstr "Tämä käyttäjä on <0/>-listassa, jonka olet hiljentänyt."
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:55
+msgid "This user is included in the <0>{0}0> list which you have blocked."
+msgstr "Tämä käyttäjä on <0>{0}0>-listassa, jonka olet estänyt."
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:84
+msgid "This user is included in the <0>{0}0> list which you have muted."
+msgstr "Tämä käyttäjä on <0>{0}0>-listassa, jonka olet hiljentänyt."
#: src/view/com/modals/ModerationDetails.tsx:74
#~ msgid "This user is included the <0/> list which you have muted."
#~ msgstr ""
+#: src/view/com/profile/ProfileFollows.tsx:87
+msgid "This user isn't following anyone."
+msgstr "Tämä käyttäjä ei seuraa ketään."
+
#: src/view/com/modals/SelfLabel.tsx:137
msgid "This warning is only available for posts with media attached."
msgstr "Tämä varoitus on saatavilla vain viesteille, joihin on liitetty mediatiedosto."
-#: src/components/dialogs/MutedWords.tsx:236
+#: src/components/dialogs/MutedWords.tsx:283
msgid "This will delete {0} from your muted words. You can always add it back later."
msgstr "Tämä poistaa {0}:n hiljennetyistä sanoistasi. Voit lisätä sen takaisin myöhemmin."
#: src/view/com/util/forms/PostDropdownBtn.tsx:237
-msgid "This will hide this post from your feeds."
-msgstr "Tämä piilottaa tämän viestin syötteistäsi."
+#~ msgid "This will hide this post from your feeds."
+#~ msgstr "Tämä piilottaa tämän viestin syötteistäsi."
+
+#: src/view/screens/Settings/index.tsx:525
+msgid "Thread preferences"
+msgstr "Keskusteluketjun asetukset"
#: src/view/screens/PreferencesThreads.tsx:53
-#: src/view/screens/Settings/index.tsx:565
+#: src/view/screens/Settings/index.tsx:535
msgid "Thread Preferences"
msgstr "Keskusteluketjun asetukset"
@@ -4216,11 +5310,15 @@ msgstr "Keskusteluketjun asetukset"
msgid "Threaded Mode"
msgstr "Ketjumainen näkymä"
-#: src/Navigation.tsx:255
+#: src/Navigation.tsx:269
msgid "Threads Preferences"
msgstr "Keskusteluketjujen asetukset"
-#: src/components/dialogs/MutedWords.tsx:95
+#: src/components/ReportDialog/SelectLabelerView.tsx:33
+msgid "To whom would you like to send this report?"
+msgstr "Kenelle haluaisit lähettää tämän raportin?"
+
+#: src/components/dialogs/MutedWords.tsx:112
msgid "Toggle between muted word options."
msgstr "Vaihda hiljennysvaihtoehtojen välillä."
@@ -4228,13 +5326,22 @@ msgstr "Vaihda hiljennysvaihtoehtojen välillä."
msgid "Toggle dropdown"
msgstr "Vaihda pudotusvalikko"
-#: src/view/com/modals/EditImage.tsx:271
+#: src/screens/Moderation/index.tsx:332
+msgid "Toggle to enable or disable adult content"
+msgstr "Vaihda ottaaksesi käyttöön tai poistaaksesi käytöstä aikuisille tarkoitettu sisältö."
+
+#: src/view/screens/Search/Search.tsx:427
+msgid "Top"
+msgstr ""
+
+#: src/view/com/modals/EditImage.tsx:272
msgid "Transformations"
msgstr "Muutokset"
-#: src/view/com/post-thread/PostThreadItem.tsx:685
-#: src/view/com/post-thread/PostThreadItem.tsx:687
-#: src/view/com/util/forms/PostDropdownBtn.tsx:156
+#: src/view/com/post-thread/PostThreadItem.tsx:638
+#: src/view/com/post-thread/PostThreadItem.tsx:640
+#: src/view/com/util/forms/PostDropdownBtn.tsx:220
+#: src/view/com/util/forms/PostDropdownBtn.tsx:222
msgid "Translate"
msgstr "Käännä"
@@ -4243,117 +5350,195 @@ msgctxt "action"
msgid "Try again"
msgstr "Yritä uudelleen"
-#: src/view/screens/ProfileList.tsx:506
+#: src/view/com/modals/ChangeHandle.tsx:428
+msgid "Type:"
+msgstr ""
+
+#: src/view/screens/ProfileList.tsx:480
msgid "Un-block list"
msgstr "Poista listan esto"
-#: src/view/screens/ProfileList.tsx:491
+#: src/view/screens/ProfileList.tsx:463
msgid "Un-mute list"
msgstr "Poista listan hiljennys"
-#: src/view/com/auth/create/CreateAccount.tsx:58
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:87
-#: src/view/com/auth/login/Login.tsx:76
-#: src/view/com/auth/login/LoginForm.tsx:118
+#: src/screens/Login/ForgotPasswordForm.tsx:74
+#: src/screens/Login/index.tsx:78
+#: src/screens/Login/LoginForm.tsx:119
+#: src/screens/Login/SetNewPasswordForm.tsx:77
+#: src/screens/Signup/index.tsx:64
#: src/view/com/modals/ChangePassword.tsx:70
msgid "Unable to contact your service. Please check your Internet connection."
msgstr "Yhteys palveluusi ei onnistu. Tarkista internet-yhteytesi."
-#: src/view/com/profile/ProfileHeader.tsx:433
-#: src/view/screens/ProfileList.tsx:590
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:181
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:286
+#: src/view/com/profile/ProfileMenu.tsx:361
+#: src/view/screens/ProfileList.tsx:574
msgid "Unblock"
msgstr "Poista esto"
-#: src/view/com/profile/ProfileHeader.tsx:435
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:186
msgctxt "action"
msgid "Unblock"
msgstr "Poista esto"
-#: src/view/com/profile/ProfileHeader.tsx:261
-#: src/view/com/profile/ProfileHeader.tsx:345
+#: src/view/com/profile/ProfileMenu.tsx:299
+#: src/view/com/profile/ProfileMenu.tsx:305
msgid "Unblock Account"
-msgstr "Poista tilin esto"
+msgstr "Poista käyttäjätilin esto"
-#: src/view/com/modals/Repost.tsx:42
-#: src/view/com/modals/Repost.tsx:55
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:280
+#: src/view/com/profile/ProfileMenu.tsx:343
+msgid "Unblock Account?"
+msgstr "Poista esto?"
+
+#: src/view/com/modals/Repost.tsx:43
+#: src/view/com/modals/Repost.tsx:56
#: src/view/com/util/post-ctrls/RepostButton.tsx:60
#: src/view/com/util/post-ctrls/RepostButton.web.tsx:48
msgid "Undo repost"
msgstr "Kumoa uudelleenjako"
-#: src/view/com/profile/FollowButton.tsx:55
+#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:141
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:248
+msgid "Unfollow"
+msgstr "Älä seuraa"
+
+#: src/view/com/profile/FollowButton.tsx:60
msgctxt "action"
msgid "Unfollow"
msgstr "Lopeta seuraaminen"
-#: src/view/com/profile/ProfileHeader.tsx:485
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:220
msgid "Unfollow {0}"
msgstr "Lopeta seuraaminen {0}"
-#: src/view/com/auth/create/state.ts:262
-msgid "Unfortunately, you do not meet the requirements to create an account."
-msgstr "Valitettavasti et täytä tilin luomisen vaatimuksia."
+#: src/view/com/profile/ProfileMenu.tsx:241
+#: src/view/com/profile/ProfileMenu.tsx:251
+msgid "Unfollow Account"
+msgstr "Lopeta käyttäjätilin seuraaminen"
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:182
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:216
+#: src/view/com/auth/create/state.ts:262
+#~ msgid "Unfortunately, you do not meet the requirements to create an account."
+#~ msgstr "Valitettavasti et täytä tilin luomisen vaatimuksia."
+
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:197
msgid "Unlike"
msgstr "En tykkää"
-#: src/components/TagMenu/index.tsx:253
-#: src/view/screens/ProfileList.tsx:597
+#: src/view/screens/ProfileFeed.tsx:585
+msgid "Unlike this feed"
+msgstr "Poista tykkäys tästä syötteestä"
+
+#: src/components/TagMenu/index.tsx:249
+#: src/view/screens/ProfileList.tsx:581
msgid "Unmute"
msgstr "Poista hiljennys"
-#: src/components/TagMenu/index.web.tsx:90
+#: src/components/TagMenu/index.web.tsx:104
msgid "Unmute {truncatedTag}"
msgstr "Poista hiljennys {truncatedTag}"
-#: src/view/com/profile/ProfileHeader.tsx:326
+#: src/view/com/profile/ProfileMenu.tsx:278
+#: src/view/com/profile/ProfileMenu.tsx:284
msgid "Unmute Account"
-msgstr "Poista tilin hiljennys"
+msgstr "Poista käyttäjätilin hiljennys"
+
+#: src/components/TagMenu/index.tsx:208
+msgid "Unmute all {displayTag} posts"
+msgstr "Poista hiljennys kaikista {displayTag}-julkaisuista"
#: src/components/TagMenu/index.tsx:210
-msgid "Unmute all {tag} posts"
-msgstr "Poista hiljennys kaikista {tag}-viesteistä"
+#~ msgid "Unmute all {tag} posts"
+#~ msgstr "Poista hiljennys kaikista {tag}-viesteistä"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:202
+#: src/view/com/util/forms/PostDropdownBtn.tsx:269
+#: src/view/com/util/forms/PostDropdownBtn.tsx:274
msgid "Unmute thread"
msgstr "Poista keskusteluketjun hiljennys"
-#: src/view/screens/ProfileFeed.tsx:353
-#: src/view/screens/ProfileList.tsx:580
+#: src/view/screens/ProfileFeed.tsx:306
+#: src/view/screens/ProfileList.tsx:565
msgid "Unpin"
msgstr "Poista kiinnitys"
-#: src/view/screens/ProfileList.tsx:474
+#: src/view/screens/ProfileFeed.tsx:303
+msgid "Unpin from home"
+msgstr "Poista kiinnitys etusivulta"
+
+#: src/view/screens/ProfileList.tsx:446
msgid "Unpin moderation list"
msgstr "Poista moderointilistan kiinnitys"
#: src/view/screens/ProfileFeed.tsx:346
-msgid "Unsave"
-msgstr "Poista tallennus"
+#~ msgid "Unsave"
+#~ msgstr "Poista tallennus"
+
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:225
+msgid "Unsubscribe"
+msgstr "Peruuta tilaus"
+
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:190
+msgid "Unsubscribe from this labeler"
+msgstr ""
+
+#: src/lib/moderation/useReportOptions.ts:70
+msgid "Unwanted Sexual Content"
+msgstr "Ei-toivottu seksuaalinen sisältö"
#: src/view/com/modals/UserAddRemoveLists.tsx:70
msgid "Update {displayName} in Lists"
msgstr "Päivitä {displayName} listoissa"
#: src/lib/hooks/useOTAUpdate.ts:15
-msgid "Update Available"
-msgstr "Päivitys saatavilla"
+#~ msgid "Update Available"
+#~ msgstr "Päivitys saatavilla"
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:204
+#: src/view/com/modals/ChangeHandle.tsx:508
+msgid "Update to {handle}"
+msgstr "Päivitä {handle}\""
+
+#: src/screens/Login/SetNewPasswordForm.tsx:186
msgid "Updating..."
msgstr "Päivitetään..."
-#: src/view/com/modals/ChangeHandle.tsx:455
+#: src/view/com/modals/ChangeHandle.tsx:454
msgid "Upload a text file to:"
msgstr "Lataa tekstitiedosto kohteeseen:"
-#: src/view/screens/AppPasswords.tsx:195
+#: src/view/com/util/UserAvatar.tsx:328
+#: src/view/com/util/UserAvatar.tsx:331
+#: src/view/com/util/UserBanner.tsx:116
+#: src/view/com/util/UserBanner.tsx:119
+msgid "Upload from Camera"
+msgstr "Lataa kamerasta"
+
+#: src/view/com/util/UserAvatar.tsx:345
+#: src/view/com/util/UserBanner.tsx:133
+msgid "Upload from Files"
+msgstr "Lataa tiedostoista"
+
+#: src/view/com/util/UserAvatar.tsx:339
+#: src/view/com/util/UserAvatar.tsx:343
+#: src/view/com/util/UserBanner.tsx:127
+#: src/view/com/util/UserBanner.tsx:131
+msgid "Upload from Library"
+msgstr "Lataa kirjastosta"
+
+#: src/view/com/modals/ChangeHandle.tsx:408
+msgid "Use a file on your server"
+msgstr "Käytä palvelimellasi olevaa tiedostoa"
+
+#: src/view/screens/AppPasswords.tsx:197
msgid "Use app passwords to login to other Bluesky clients without giving full access to your account or password."
msgstr "Käytä sovellussalasanoja kirjautuaksesi muihin Bluesky-sovelluksiin antamatta niille täyttä hallintaa tilillesi tai salasanallesi."
-#: src/view/com/modals/ChangeHandle.tsx:515
+#: src/view/com/modals/ChangeHandle.tsx:517
+msgid "Use bsky.social as hosting provider"
+msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:516
msgid "Use default provider"
msgstr "Käytä oletustoimittajaa"
@@ -4367,7 +5552,11 @@ msgstr "Käytä sovelluksen sisäistä selainta"
msgid "Use my default browser"
msgstr "Käytä oletusselaintani"
-#: src/view/com/modals/AddAppPasswords.tsx:155
+#: src/view/com/modals/ChangeHandle.tsx:400
+msgid "Use the DNS panel"
+msgstr ""
+
+#: src/view/com/modals/AddAppPasswords.tsx:156
msgid "Use this to sign into the other app along with your handle."
msgstr "Käytä tätä kirjautuaksesi toiseen sovellukseen käyttäjätunnuksellasi."
@@ -4375,46 +5564,55 @@ msgstr "Käytä tätä kirjautuaksesi toiseen sovellukseen käyttäjätunnuksell
#~ msgid "Use your domain as your Bluesky client service provider"
#~ msgstr ""
-#: src/view/com/modals/InviteCodes.tsx:200
+#: src/view/com/modals/InviteCodes.tsx:201
msgid "Used by:"
msgstr "Käyttänyt:"
-#: src/view/com/modals/ModerationDetails.tsx:54
+#: src/components/moderation/ModerationDetailsDialog.tsx:64
+#: src/lib/moderation/useModerationCauseDescription.ts:56
msgid "User Blocked"
msgstr "Käyttäjä estetty"
-#: src/view/com/modals/ModerationDetails.tsx:40
-msgid "User Blocked by List"
-msgstr "Käyttäjä estetty listan vuoksi"
+#: src/lib/moderation/useModerationCauseDescription.ts:48
+msgid "User Blocked by \"{0}\""
+msgstr "\"{0}\" on estänyt käyttäjän."
-#: src/view/com/modals/ModerationDetails.tsx:60
+#: src/components/moderation/ModerationDetailsDialog.tsx:53
+msgid "User Blocked by List"
+msgstr "Käyttäjä on estetty listalla"
+
+#: src/lib/moderation/useModerationCauseDescription.ts:66
+msgid "User Blocking You"
+msgstr "Käyttäjä on estänyt sinut"
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:70
msgid "User Blocks You"
msgstr "Käyttäjä on estänyt sinut"
#: src/view/com/auth/create/Step2.tsx:79
-msgid "User handle"
-msgstr "Käyttäjätunnus"
+#~ msgid "User handle"
+#~ msgstr "Käyttäjätunnus"
#: src/view/com/lists/ListCard.tsx:85
#: src/view/com/modals/UserAddRemoveLists.tsx:198
msgid "User list by {0}"
msgstr "Käyttäjälistan on tehnyt {0}"
-#: src/view/screens/ProfileList.tsx:762
+#: src/view/screens/ProfileList.tsx:779
msgid "User list by <0/>"
msgstr "Käyttäjälistan on tehnyt <0/>"
#: src/view/com/lists/ListCard.tsx:83
#: src/view/com/modals/UserAddRemoveLists.tsx:196
-#: src/view/screens/ProfileList.tsx:760
+#: src/view/screens/ProfileList.tsx:777
msgid "User list by you"
-msgstr "Sinun käyttäjälistasi"
+msgstr "Käyttäjälistasi"
-#: src/view/com/modals/CreateOrEditList.tsx:196
+#: src/view/com/modals/CreateOrEditList.tsx:197
msgid "User list created"
msgstr "Käyttäjälista luotu"
-#: src/view/com/modals/CreateOrEditList.tsx:182
+#: src/view/com/modals/CreateOrEditList.tsx:183
msgid "User list updated"
msgstr "Käyttäjälista päivitetty"
@@ -4422,12 +5620,13 @@ msgstr "Käyttäjälista päivitetty"
msgid "User Lists"
msgstr "Käyttäjälistat"
-#: src/view/com/auth/login/LoginForm.tsx:177
-#: src/view/com/auth/login/LoginForm.tsx:195
+#: src/screens/Login/LoginForm.tsx:151
msgid "Username or email address"
msgstr "Käyttäjätunnus tai sähköpostiosoite"
-#: src/view/screens/ProfileList.tsx:796
+#: src/view/screens/ProfileList.tsx:813
+#: src/view/screens/Search/Search.tsx:473
+#: src/view/screens/Search/Search.tsx:482
msgid "Users"
msgstr "Käyttäjät"
@@ -4437,21 +5636,33 @@ msgstr "käyttäjät, joita <0/> seuraa"
#: src/view/com/modals/Threadgate.tsx:106
msgid "Users in \"{0}\""
-msgstr "Käyttäjät ryhmässä \"{0}\""
+msgstr "Käyttäjät listassa \"{0}\""
+
+#: src/components/LikesDialog.tsx:85
+msgid "Users that have liked this content or profile"
+msgstr "Käyttäjät, jotka ovat pitäneet tästä sisällöstä tai profiilista"
+
+#: src/view/com/modals/ChangeHandle.tsx:436
+msgid "Value:"
+msgstr ""
#: src/view/com/auth/create/Step2.tsx:243
#~ msgid "Verification code"
#~ msgstr "Varmistuskoodi"
-#: src/view/screens/Settings/index.tsx:910
+#: src/view/com/modals/ChangeHandle.tsx:509
+msgid "Verify {0}"
+msgstr "Vahvista {0}"
+
+#: src/view/screens/Settings/index.tsx:906
msgid "Verify email"
msgstr "Varmista sähköposti"
-#: src/view/screens/Settings/index.tsx:935
+#: src/view/screens/Settings/index.tsx:931
msgid "Verify my email"
msgstr "Vahvista sähköpostini"
-#: src/view/screens/Settings/index.tsx:944
+#: src/view/screens/Settings/index.tsx:940
msgid "Verify My Email"
msgstr "Vahvista sähköpostini"
@@ -4464,11 +5675,15 @@ msgstr "Vahvista uusi sähköposti"
msgid "Verify Your Email"
msgstr "Vahvista sähköpostisi"
+#: src/view/screens/Settings/index.tsx:857
+msgid "Version {0}"
+msgstr ""
+
#: src/screens/Onboarding/index.tsx:42
msgid "Video Games"
msgstr "Videopelit"
-#: src/view/com/profile/ProfileHeader.tsx:662
+#: src/screens/Profile/Header/Shell.tsx:107
msgid "View {0}'s avatar"
msgstr "Katso {0}:n avatar"
@@ -4476,11 +5691,25 @@ msgstr "Katso {0}:n avatar"
msgid "View debug entry"
msgstr "Katso vianmääritystietue"
-#: src/view/com/posts/FeedSlice.tsx:103
+#: src/components/ReportDialog/SelectReportOptionView.tsx:132
+msgid "View details"
+msgstr "Näytä tiedot"
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:127
+msgid "View details for reporting a copyright violation"
+msgstr "Näytä tiedot tekijänoikeusrikkomuksen ilmoittamisesta"
+
+#: src/view/com/posts/FeedSlice.tsx:99
msgid "View full thread"
msgstr "Katso koko keskusteluketju"
-#: src/view/com/posts/FeedErrorMessage.tsx:172
+#: src/components/moderation/LabelsOnMe.tsx:51
+msgid "View information about these labels"
+msgstr ""
+
+#: src/components/ProfileHoverCard/index.web.tsx:264
+#: src/components/ProfileHoverCard/index.web.tsx:293
+#: src/view/com/posts/FeedErrorMessage.tsx:166
msgid "View profile"
msgstr "Katso profiilia"
@@ -4488,24 +5717,47 @@ msgstr "Katso profiilia"
msgid "View the avatar"
msgstr "Katso avatar"
-#: src/view/com/modals/LinkWarning.tsx:75
+#: src/components/LabelingServiceCard/index.tsx:140
+msgid "View the labeling service provided by @{0}"
+msgstr ""
+
+#: src/view/screens/ProfileFeed.tsx:597
+msgid "View users who like this feed"
+msgstr ""
+
+#: src/view/com/modals/LinkWarning.tsx:89
+#: src/view/com/modals/LinkWarning.tsx:95
msgid "Visit Site"
msgstr "Vieraile sivustolla"
-#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:42
-#: src/view/com/modals/ContentFilteringSettings.tsx:259
+#: src/components/moderation/LabelPreference.tsx:135
+#: src/lib/moderation/useLabelBehaviorDescription.ts:17
+#: src/lib/moderation/useLabelBehaviorDescription.ts:22
+#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:53
msgid "Warn"
msgstr "Varoita"
+#: src/lib/moderation/useLabelBehaviorDescription.ts:48
+msgid "Warn content"
+msgstr ""
+
+#: src/lib/moderation/useLabelBehaviorDescription.ts:46
+msgid "Warn content and filter from feeds"
+msgstr ""
+
#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:134
-msgid "We also think you'll like \"For You\" by Skygaze:"
-msgstr "Uskomme myös, että pitäisit Skygazen \"For You\" -syötteestä:"
+#~ msgid "We also think you'll like \"For You\" by Skygaze:"
+#~ msgstr "Uskomme myös, että pitäisit Skygazen \"For You\" -syötteestä:"
+
+#: src/screens/Hashtag.tsx:133
+msgid "We couldn't find any results for that hashtag."
+msgstr "Emme löytäneet tuloksia tuolla aihetunnisteella."
#: src/screens/Deactivated.tsx:133
msgid "We estimate {estimatedTime} until your account is ready."
msgstr "Arvioimme, että tilisi valmistumiseen on {estimatedTime} aikaa."
-#: src/screens/Onboarding/StepFinished.tsx:93
+#: src/screens/Onboarding/StepFinished.tsx:97
msgid "We hope you have a wonderful time. Remember, Bluesky is:"
msgstr "Toivomme sinulle ihania hetkiä. Muista, että Bluesky on:"
@@ -4517,64 +5769,78 @@ msgstr "Emme enää löytäneet viestejä seurattavilta. Tässä on uusin tekij
#~ msgid "We recommend \"For You\" by Skygaze:"
#~ msgstr ""
-#: src/components/dialogs/MutedWords.tsx:161
+#: src/components/dialogs/MutedWords.tsx:203
msgid "We recommend avoiding common words that appear in many posts, since it can result in no posts being shown."
-msgstr "Suosittelemme välttämään yleisiä sanoja, jotka esiintyvät monissa viesteissä. Se voi johtaa siihen, ettei viestejä näytetä."
+msgstr "Suosittelemme välttämään yleisiä sanoja, jotka esiintyvät monissa viesteissä. Se voi johtaa siihen, ettei mitään viestejä näytetä."
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:124
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:125
msgid "We recommend our \"Discover\" feed:"
msgstr "Suosittelemme \"Tutustu\"-syötettämme:"
-#: src/screens/Onboarding/StepInterests/index.tsx:133
+#: src/components/dialogs/BirthDateSettings.tsx:52
+msgid "We were unable to load your birth date preferences. Please try again."
+msgstr ""
+
+#: src/screens/Moderation/index.tsx:385
+msgid "We were unable to load your configured labelers at this time."
+msgstr ""
+
+#: src/screens/Onboarding/StepInterests/index.tsx:137
msgid "We weren't able to connect. Please try again to continue setting up your account. If it continues to fail, you can skip this flow."
msgstr "Yhteyden muodostaminen ei onnistunut. Yritä uudelleen jatkaaksesi tilisi määritystä. Jos ongelma jatkuu, voit ohittaa tämän vaiheen."
#: src/screens/Deactivated.tsx:137
msgid "We will let you know when your account is ready."
-msgstr "Ilmoitamme sinulle, kun tilisi on valmis."
+msgstr "Ilmoitamme sinulle, kun käyttäjätilisi on valmis."
#: src/view/com/modals/AppealLabel.tsx:48
-msgid "We'll look into your appeal promptly."
-msgstr "Käsittelemme vetoomuksesi pikaisesti."
+#~ msgid "We'll look into your appeal promptly."
+#~ msgstr "Käsittelemme vetoomuksesi pikaisesti."
-#: src/screens/Onboarding/StepInterests/index.tsx:138
+#: src/screens/Onboarding/StepInterests/index.tsx:142
msgid "We'll use this to help customize your experience."
msgstr "Käytämme tätä mukauttaaksemme kokemustasi."
-#: src/view/com/auth/create/CreateAccount.tsx:134
+#: src/screens/Signup/index.tsx:131
msgid "We're so excited to have you join us!"
msgstr "Olemme innoissamme, että liityt joukkoomme!"
-#: src/view/screens/ProfileList.tsx:86
+#: src/view/screens/ProfileList.tsx:90
msgid "We're sorry, but we were unable to resolve this list. If this persists, please contact the list creator, @{handleOrDid}."
msgstr "Pahoittelemme, emme saaneet avattua tätä listaa. Jos ongelma jatkuu, ota yhteyttä listan tekijään: @{handleOrDid}."
-#: src/components/dialogs/MutedWords.tsx:182
+#: src/components/dialogs/MutedWords.tsx:229
msgid "We're sorry, but we weren't able to load your muted words at this time. Please try again."
msgstr "Pahoittelemme, emme pystyneet lataamaan hiljennettyjä sanojasi tällä hetkellä. Yritä uudelleen."
-#: src/view/screens/Search/Search.tsx:254
+#: src/view/screens/Search/Search.tsx:322
msgid "We're sorry, but your search could not be completed. Please try again in a few minutes."
msgstr "Pahoittelemme, hakuasi ei voitu suorittaa loppuun. Yritä uudelleen muutaman minuutin kuluttua."
+#: src/components/Lists.tsx:188
#: src/view/screens/NotFound.tsx:48
msgid "We're sorry! We can't find the page you were looking for."
msgstr "Pahoittelut! Emme löydä etsimääsi sivua."
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:46
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:327
+msgid "We're sorry! You can only subscribe to ten labelers, and you've reached your limit of ten."
+msgstr ""
+
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:48
msgid "Welcome to <0>Bluesky0>"
msgstr "Tervetuloa <0>Bluesky0>:iin"
-#: src/screens/Onboarding/StepInterests/index.tsx:130
+#: src/screens/Onboarding/StepInterests/index.tsx:134
msgid "What are your interests?"
msgstr "Mitkä ovat kiinnostuksenkohteesi?"
#: src/view/com/modals/report/Modal.tsx:169
-msgid "What is the issue with this {collectionName}?"
-msgstr "Mikä on ongelma tämän {collectionName} kanssa?"
+#~ msgid "What is the issue with this {collectionName}?"
+#~ msgstr "Mikä on ongelma tämän {collectionName} kanssa?"
-#: src/view/com/auth/SplashScreen.tsx:59
-#: src/view/com/composer/Composer.tsx:286
+#: src/view/com/auth/SplashScreen.tsx:40
+#: src/view/com/auth/SplashScreen.web.tsx:81
+#: src/view/com/composer/Composer.tsx:296
msgid "What's up?"
msgstr "Mitä kuuluu?"
@@ -4591,16 +5857,36 @@ msgstr "Mitä kieliä haluaisit nähdä algoritmisissä syötteissä?"
msgid "Who can reply"
msgstr "Kuka voi vastata"
-#: src/view/com/modals/crop-image/CropImage.web.tsx:102
+#: src/components/ReportDialog/SelectReportOptionView.tsx:43
+msgid "Why should this content be reviewed?"
+msgstr "Miksi tämä sisältö tulisi arvioida?"
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:56
+msgid "Why should this feed be reviewed?"
+msgstr "Miksi tämä syöte tulisi arvioida?"
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:53
+msgid "Why should this list be reviewed?"
+msgstr "Miksi tämä lista tulisi arvioida?"
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:50
+msgid "Why should this post be reviewed?"
+msgstr "Miksi tämä viesti tulisi arvioida?"
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:47
+msgid "Why should this user be reviewed?"
+msgstr "Miksi tämä käyttäjä tulisi arvioida?"
+
+#: src/view/com/modals/crop-image/CropImage.web.tsx:103
msgid "Wide"
msgstr "Leveä"
-#: src/view/com/composer/Composer.tsx:422
+#: src/view/com/composer/Composer.tsx:436
msgid "Write post"
msgstr "Kirjoita viesti"
-#: src/view/com/composer/Composer.tsx:285
-#: src/view/com/composer/Prompt.tsx:33
+#: src/view/com/composer/Composer.tsx:295
+#: src/view/com/composer/Prompt.tsx:37
msgid "Write your reply"
msgstr "Kirjoita vastauksesi"
@@ -4630,6 +5916,10 @@ msgstr "Kyllä"
msgid "You are in line."
msgstr "Olet jonossa."
+#: src/view/com/profile/ProfileFollows.tsx:86
+msgid "You are not following anyone."
+msgstr ""
+
#: src/view/com/posts/FollowingEmptyState.tsx:67
#: src/view/com/posts/FollowingEndOfFeed.tsx:68
msgid "You can also discover new Custom Feeds to follow."
@@ -4639,96 +5929,139 @@ msgstr "Voit myös selata uusia mukautettuja syötteitä seurattavaksi."
#~ msgid "You can also try our \"Discover\" algorithm:"
#~ msgstr ""
-#: src/screens/Onboarding/StepFollowingFeed.tsx:142
+#: src/screens/Onboarding/StepFollowingFeed.tsx:143
msgid "You can change these settings later."
msgstr "Voit muuttaa näitä asetuksia myöhemmin."
-#: src/view/com/auth/login/Login.tsx:158
-#: src/view/com/auth/login/PasswordUpdatedForm.tsx:31
+#: src/screens/Login/index.tsx:158
+#: src/screens/Login/PasswordUpdatedForm.tsx:33
msgid "You can now sign in with your new password."
msgstr "Voit nyt kirjautua sisään uudella salasanallasi."
-#: src/view/com/modals/InviteCodes.tsx:66
+#: src/view/com/profile/ProfileFollowers.tsx:86
+msgid "You do not have any followers."
+msgstr "Sinulla ei ole kyhtään seuraajaa."
+
+#: src/view/com/modals/InviteCodes.tsx:67
msgid "You don't have any invite codes yet! We'll send you some when you've been on Bluesky for a little longer."
msgstr "Sinulla ei ole vielä kutsukoodia! Lähetämme sinulle sellaisen, kun olet ollut Bluesky-palvelussa hieman pidempään."
-#: src/view/screens/SavedFeeds.tsx:102
+#: src/view/screens/SavedFeeds.tsx:103
msgid "You don't have any pinned feeds."
msgstr "Sinulla ei ole kiinnitettyjä syötteitä."
-#: src/view/screens/Feeds.tsx:452
+#: src/view/screens/Feeds.tsx:477
msgid "You don't have any saved feeds!"
msgstr "Sinulla ei ole tallennettuja syötteitä!"
-#: src/view/screens/SavedFeeds.tsx:135
+#: src/view/screens/SavedFeeds.tsx:136
msgid "You don't have any saved feeds."
msgstr "Sinulla ei ole tallennettuja syötteitä."
-#: src/view/com/post-thread/PostThread.tsx:465
+#: src/view/com/post-thread/PostThread.tsx:159
msgid "You have blocked the author or you have been blocked by the author."
msgstr "Olet estänyt tekijän tai sinut on estetty tekijän toimesta."
-#: src/view/com/modals/ModerationDetails.tsx:56
+#: src/components/moderation/ModerationDetailsDialog.tsx:66
+#: src/lib/moderation/useModerationCauseDescription.ts:50
+#: src/lib/moderation/useModerationCauseDescription.ts:58
msgid "You have blocked this user. You cannot view their content."
-msgstr "Olet estänyt tämän käyttäjän. Et voi nähdä heidän sisältöään."
+msgstr "Olet estänyt tämän käyttäjän. Et voi nähdä hänen sisältöä."
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:57
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:92
+#: src/screens/Login/SetNewPasswordForm.tsx:54
+#: src/screens/Login/SetNewPasswordForm.tsx:91
#: src/view/com/modals/ChangePassword.tsx:87
#: src/view/com/modals/ChangePassword.tsx:121
msgid "You have entered an invalid code. It should look like XXXXX-XXXXX."
msgstr "Olet syöttänyt virheellisen koodin. Sen tulisi näyttää muodoltaan XXXXX-XXXXX."
-#: src/view/com/modals/ModerationDetails.tsx:87
-msgid "You have muted this user."
-msgstr "Olet hiljentänyt tämän käyttäjän."
+#: src/lib/moderation/useModerationCauseDescription.ts:109
+msgid "You have hidden this post"
+msgstr ""
-#: src/view/com/feeds/ProfileFeedgens.tsx:136
+#: src/components/moderation/ModerationDetailsDialog.tsx:101
+msgid "You have hidden this post."
+msgstr ""
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:94
+#: src/lib/moderation/useModerationCauseDescription.ts:92
+msgid "You have muted this account."
+msgstr ""
+
+#: src/lib/moderation/useModerationCauseDescription.ts:86
+msgid "You have muted this user"
+msgstr ""
+
+#: src/view/com/modals/ModerationDetails.tsx:87
+#~ msgid "You have muted this user."
+#~ msgstr "Olet hiljentänyt tämän käyttäjän."
+
+#: src/view/com/feeds/ProfileFeedgens.tsx:144
msgid "You have no feeds."
msgstr "Sinulla ei ole syötteitä."
#: src/view/com/lists/MyLists.tsx:89
-#: src/view/com/lists/ProfileLists.tsx:140
+#: src/view/com/lists/ProfileLists.tsx:148
msgid "You have no lists."
msgstr "Sinulla ei ole listoja."
-#: src/view/screens/ModerationBlockedAccounts.tsx:132
-msgid "You have not blocked any accounts yet. To block an account, go to their profile and selected \"Block account\" from the menu on their account."
-msgstr "Et ole vielä estänyt yhtään käyttäjää. Estääksesi käyttäjän, siirry heidän profiiliinsa ja valitse \"Estä käyttäjä\"-vaihtoehto heidän tilinsä valikosta."
+#: src/view/screens/ModerationBlockedAccounts.tsx:138
+msgid "You have not blocked any accounts yet. To block an account, go to their profile and select \"Block account\" from the menu on their account."
+msgstr ""
-#: src/view/screens/AppPasswords.tsx:87
+#: src/view/screens/ModerationBlockedAccounts.tsx:132
+#~ msgid "You have not blocked any accounts yet. To block an account, go to their profile and selected \"Block account\" from the menu on their account."
+#~ msgstr "Et ole vielä estänyt yhtään käyttäjää. Estääksesi käyttäjän, siirry heidän profiiliinsa ja valitse \"Estä käyttäjä\"-vaihtoehto heidän tilinsä valikosta."
+
+#: src/view/screens/AppPasswords.tsx:89
msgid "You have not created any app passwords yet. You can create one by pressing the button below."
msgstr "Et ole vielä luonut yhtään sovelluksen salasanaa. Voit luoda sellaisen painamalla alla olevaa painiketta."
-#: src/view/screens/ModerationMutedAccounts.tsx:131
-msgid "You have not muted any accounts yet. To mute an account, go to their profile and selected \"Mute account\" from the menu on their account."
-msgstr "Et ole vielä hiljentänyt yhtään käyttäjää. Hiljentääksesi käyttäjän, siirry heidän profiiliinsa ja valitse \"Hiljennä käyttäjä\"-vaihtoehto heidän tilinsä valikosta."
+#: src/view/screens/ModerationMutedAccounts.tsx:136
+msgid "You have not muted any accounts yet. To mute an account, go to their profile and select \"Mute account\" from the menu on their account."
+msgstr ""
-#: src/components/dialogs/MutedWords.tsx:202
+#: src/view/screens/ModerationMutedAccounts.tsx:131
+#~ msgid "You have not muted any accounts yet. To mute an account, go to their profile and selected \"Mute account\" from the menu on their account."
+#~ msgstr "Et ole vielä hiljentänyt yhtään käyttäjää. Hiljentääksesi käyttäjän, siirry heidän profiiliinsa ja valitse \"Hiljennä käyttäjä\"-vaihtoehto heidän tilinsä valikosta."
+
+#: src/components/dialogs/MutedWords.tsx:249
msgid "You haven't muted any words or tags yet"
-msgstr "Et ole vielä hiljentänyt yhtään sanaa tai tunnistetta"
+msgstr "Et ole vielä hiljentänyt yhtään sanaa tai aihetunnistetta"
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:68
+msgid "You may appeal these labels if you feel they were placed in error."
+msgstr ""
+
+#: src/screens/Signup/StepInfo/Policies.tsx:79
+msgid "You must be 13 years of age or older to sign up."
+msgstr ""
#: src/view/com/modals/ContentFilteringSettings.tsx:175
-msgid "You must be 18 or older to enable adult content."
-msgstr "Sinun on oltava vähintään 18-vuotias katsoaksesi aikuissisältöä."
+#~ msgid "You must be 18 or older to enable adult content."
+#~ msgstr "Sinun on oltava vähintään 18-vuotias katsoaksesi aikuissisältöä."
-#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:103
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:110
msgid "You must be 18 years or older to enable adult content"
msgstr "Sinun on oltava vähintään 18-vuotias katsoaksesi aikuissisältöä"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:129
+#: src/components/ReportDialog/SubmitView.tsx:203
+msgid "You must select at least one labeler for a report"
+msgstr ""
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:150
msgid "You will no longer receive notifications for this thread"
msgstr "Et enää saa ilmoituksia tästä keskustelusta"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:132
+#: src/view/com/util/forms/PostDropdownBtn.tsx:153
msgid "You will now receive notifications for this thread"
msgstr "Saat nyt ilmoituksia tästä keskustelusta"
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:107
+#: src/screens/Login/SetNewPasswordForm.tsx:104
msgid "You will receive an email with a \"reset code.\" Enter that code here, then enter your new password."
msgstr "Saat sähköpostin \"nollauskoodin\". Syötä koodi tähän ja syötä sitten uusi salasanasi."
-#: src/screens/Onboarding/StepModeration/index.tsx:72
+#: src/screens/Onboarding/StepModeration/index.tsx:60
msgid "You're in control"
msgstr "Sinulla on ohjat"
@@ -4738,27 +6071,32 @@ msgstr "Sinulla on ohjat"
msgid "You're in line"
msgstr "Olet jonossa"
-#: src/screens/Onboarding/StepFinished.tsx:90
+#: src/screens/Onboarding/StepFinished.tsx:94
msgid "You're ready to go!"
msgstr "Olet valmis aloittamaan!"
+#: src/components/moderation/ModerationDetailsDialog.tsx:98
+#: src/lib/moderation/useModerationCauseDescription.ts:101
+msgid "You've chosen to hide a word or tag within this post."
+msgstr ""
+
#: src/view/com/posts/FollowingEndOfFeed.tsx:48
msgid "You've reached the end of your feed! Find some more accounts to follow."
msgstr "Olet saavuttanut syötteesi lopun! Etsi lisää käyttäjiä seurattavaksi."
-#: src/view/com/auth/create/Step1.tsx:74
+#: src/screens/Signup/index.tsx:151
msgid "Your account"
-msgstr "Tilisi"
+msgstr "Käyttäjätilisi"
-#: src/view/com/modals/DeleteAccount.tsx:67
+#: src/view/com/modals/DeleteAccount.tsx:68
msgid "Your account has been deleted"
-msgstr "Tilisi on poistettu"
+msgstr "Käyttäjätilisi on poistettu"
#: src/view/screens/Settings/ExportCarDialog.tsx:47
msgid "Your account repository, containing all public data records, can be downloaded as a \"CAR\" file. This file does not include media embeds, such as images, or your private data, which must be fetched separately."
-msgstr "Tilisi arkisto, joka sisältää kaikki julkiset tietueet, voidaan ladata \"CAR\"-tiedostona. Tämä tiedosto ei sisällä upotettuja mediaelementtejä, kuten kuvia, tai yksityisiä tietojasi, jotka on haettava erikseen."
+msgstr "Käyttäjätilisi arkisto, joka sisältää kaikki julkiset tietueet, voidaan ladata \"CAR\"-tiedostona. Tämä tiedosto ei sisällä upotettuja mediaelementtejä, kuten kuvia, tai yksityisiä tietojasi, jotka on haettava erikseen."
-#: src/view/com/auth/create/Step1.tsx:238
+#: src/screens/Signup/StepInfo/index.tsx:123
msgid "Your birth date"
msgstr "Syntymäaikasi"
@@ -4766,19 +6104,19 @@ msgstr "Syntymäaikasi"
msgid "Your choice will be saved, but can be changed later in settings."
msgstr "Valintasi tallennetaan, mutta sitä voit muuttaa myöhemmin asetuksissa."
-#: src/screens/Onboarding/StepFollowingFeed.tsx:61
+#: src/screens/Onboarding/StepFollowingFeed.tsx:62
msgid "Your default feed is \"Following\""
msgstr "Oletussyötteesi on \"Following\""
-#: src/view/com/auth/create/state.ts:110
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:70
+#: src/screens/Login/ForgotPasswordForm.tsx:57
+#: src/screens/Signup/state.ts:227
#: src/view/com/modals/ChangePassword.tsx:54
msgid "Your email appears to be invalid."
msgstr "Sähköpostiosoitteesi näyttää olevan virheellinen."
#: src/view/com/modals/Waitlist.tsx:109
-msgid "Your email has been saved! We'll be in touch soon."
-msgstr "Sähköpostiosoitteesi on tallennettu! Olemme pian yhteydessä."
+#~ msgid "Your email has been saved! We'll be in touch soon."
+#~ msgstr "Sähköpostiosoitteesi on tallennettu! Olemme pian yhteydessä."
#: src/view/com/modals/ChangeEmail.tsx:125
msgid "Your email has been updated but not verified. As a next step, please verify your new email."
@@ -4792,11 +6130,11 @@ msgstr "Sähköpostiosoitettasi ei ole vielä vahvistettu. Tämä on tärkeä tu
msgid "Your following feed is empty! Follow more users to see what's happening."
msgstr "Seuraamiesi syöte on tyhjä! Seuraa lisää käyttäjiä nähdäksesi, mitä tapahtuu."
-#: src/view/com/auth/create/Step2.tsx:83
+#: src/screens/Signup/StepHandle.tsx:73
msgid "Your full handle will be"
msgstr "Käyttäjätunnuksesi tulee olemaan"
-#: src/view/com/modals/ChangeHandle.tsx:270
+#: src/view/com/modals/ChangeHandle.tsx:271
msgid "Your full handle will be <0>@{0}0>"
msgstr "Käyttäjätunnuksesi tulee olemaan <0>@{0}0>"
@@ -4806,33 +6144,32 @@ msgstr "Käyttäjätunnuksesi tulee olemaan <0>@{0}0>"
#~ msgid "Your invite codes are hidden when logged in using an App Password"
#~ msgstr ""
-#: src/components/dialogs/MutedWords.tsx:173
+#: src/components/dialogs/MutedWords.tsx:220
msgid "Your muted words"
msgstr "Hiljentämäsi sanat"
-#: src/view/com/modals/ChangePassword.tsx:155
+#: src/view/com/modals/ChangePassword.tsx:157
msgid "Your password has been changed successfully!"
msgstr "Salasanasi on vaihdettu onnistuneesti!"
-#: src/view/com/composer/Composer.tsx:274
+#: src/view/com/composer/Composer.tsx:284
msgid "Your post has been published"
msgstr "Viestisi on julkaistu"
-#: src/screens/Onboarding/StepFinished.tsx:105
+#: src/screens/Onboarding/StepFinished.tsx:109
#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:59
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:59
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:61
msgid "Your posts, likes, and blocks are public. Mutes are private."
msgstr "Julkaisusi, tykkäyksesi ja estosi ovat julkisia. Hiljennykset ovat yksityisiä."
-#: src/view/com/modals/SwitchAccount.tsx:84
-#: src/view/screens/Settings/index.tsx:118
+#: src/view/screens/Settings/index.tsx:136
msgid "Your profile"
msgstr "Profiilisi"
-#: src/view/com/composer/Composer.tsx:273
+#: src/view/com/composer/Composer.tsx:283
msgid "Your reply has been published"
msgstr "Vastauksesi on julkaistu"
-#: src/view/com/auth/create/Step2.tsx:65
+#: src/screens/Signup/index.tsx:153
msgid "Your user handle"
msgstr "Käyttäjätunnuksesi"
diff --git a/src/locale/locales/fr/messages.po b/src/locale/locales/fr/messages.po
index 37af8b3862..a8402fe505 100644
--- a/src/locale/locales/fr/messages.po
+++ b/src/locale/locales/fr/messages.po
@@ -17,11 +17,12 @@ msgstr ""
msgid "(no email)"
msgstr "(pas d’e-mail)"
-#: src/view/com/profile/ProfileHeader.tsx:593
+#: src/components/ProfileHoverCard/index.web.tsx:323
+#: src/screens/Profile/Header/Metrics.tsx:44
msgid "{following} following"
msgstr "{following} abonnements"
-#: src/view/shell/Drawer.tsx:440
+#: src/view/shell/Drawer.tsx:449
msgid "{numUnreadNotifications} unread"
msgstr "{numUnreadNotifications} non lus"
@@ -29,15 +30,24 @@ msgstr "{numUnreadNotifications} non lus"
msgid "<0/> members"
msgstr "<0/> membres"
-#: src/view/com/profile/ProfileHeader.tsx:595
+#: src/view/shell/Drawer.tsx:97
+msgid "<0>{0}0> following"
+msgstr ""
+
+#: src/components/ProfileHoverCard/index.web.tsx:314
+msgid "<0>{followers} 0><1>{pluralizedFollowers}1>"
+msgstr ""
+
+#: src/components/ProfileHoverCard/index.web.tsx:326
+#: src/screens/Profile/Header/Metrics.tsx:45
msgid "<0>{following} 0><1>following1>"
msgstr "<0>{following} 0><1>abonnements1>"
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:30
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:31
msgid "<0>Choose your0><1>Recommended1><2>Feeds2>"
msgstr "<0>Choisissez vos0><1>fils d’actu1><2>recommandés2>"
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:37
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:38
msgid "<0>Follow some0><1>Recommended1><2>Users2>"
msgstr "<0>Suivre certains0><1>comptes1><2>recommandés2>"
@@ -45,51 +55,60 @@ msgstr "<0>Suivre certains0><1>comptes1><2>recommandés2>"
msgid "<0>Welcome to0><1>Bluesky1>"
msgstr "<0>Bienvenue sur0><1>Bluesky1>"
-#: src/view/com/profile/ProfileHeader.tsx:558
+#: src/screens/Profile/Header/Handle.tsx:43
msgid "⚠Invalid Handle"
msgstr "⚠Pseudo invalide"
#: src/view/com/util/moderation/LabelInfo.tsx:45
-msgid "A content warning has been applied to this {0}."
-msgstr "Un avertissement sur le contenu a été appliqué sur ce {0}."
+#~ msgid "A content warning has been applied to this {0}."
+#~ msgstr "Un avertissement sur le contenu a été appliqué sur ce {0}."
#: src/lib/hooks/useOTAUpdate.ts:16
-msgid "A new version of the app is available. Please update to continue using the app."
-msgstr "Une nouvelle version de l’application est disponible. Veuillez faire la mise à jour pour continuer à utiliser l’application."
+#~ msgid "A new version of the app is available. Please update to continue using the app."
+#~ msgstr "Une nouvelle version de l’application est disponible. Veuillez faire la mise à jour pour continuer à utiliser l’application."
#: src/view/com/util/ViewHeader.tsx:89
-#: src/view/screens/Search/Search.tsx:647
+#: src/view/screens/Search/Search.tsx:796
msgid "Access navigation links and settings"
msgstr "Accède aux liens de navigation et aux paramètres"
-#: src/view/com/home/HomeHeaderLayoutMobile.tsx:52
+#: src/view/com/home/HomeHeaderLayoutMobile.tsx:54
msgid "Access profile and other navigation links"
msgstr "Accède au profil et aux autres liens de navigation"
-#: src/view/com/modals/EditImage.tsx:299
-#: src/view/screens/Settings/index.tsx:451
+#: src/view/com/modals/EditImage.tsx:300
+#: src/view/screens/Settings/index.tsx:421
msgid "Accessibility"
msgstr "Accessibilité"
-#: src/view/com/auth/login/LoginForm.tsx:166
-#: src/view/screens/Settings/index.tsx:308
-#: src/view/screens/Settings/index.tsx:721
+#: src/components/moderation/LabelsOnMe.tsx:42
+msgid "account"
+msgstr ""
+
+#: src/screens/Login/LoginForm.tsx:144
+#: src/view/screens/Settings/index.tsx:330
+#: src/view/screens/Settings/index.tsx:707
msgid "Account"
msgstr "Compte"
-#: src/view/com/profile/ProfileHeader.tsx:246
+#: src/view/com/profile/ProfileMenu.tsx:139
msgid "Account blocked"
msgstr "Compte bloqué"
-#: src/view/com/profile/ProfileHeader.tsx:213
+#: src/view/com/profile/ProfileMenu.tsx:153
+msgid "Account followed"
+msgstr ""
+
+#: src/view/com/profile/ProfileMenu.tsx:113
msgid "Account muted"
msgstr "Compte masqué"
-#: src/view/com/modals/ModerationDetails.tsx:86
+#: src/components/moderation/ModerationDetailsDialog.tsx:93
+#: src/lib/moderation/useModerationCauseDescription.ts:91
msgid "Account Muted"
msgstr "Compte masqué"
-#: src/view/com/modals/ModerationDetails.tsx:72
+#: src/components/moderation/ModerationDetailsDialog.tsx:82
msgid "Account Muted by List"
msgstr "Compte masqué par liste"
@@ -101,19 +120,24 @@ msgstr "Options de compte"
msgid "Account removed from quick access"
msgstr "Compte supprimé de l’accès rapide"
-#: src/view/com/profile/ProfileHeader.tsx:268
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:137
+#: src/view/com/profile/ProfileMenu.tsx:128
msgid "Account unblocked"
msgstr "Compte débloqué"
-#: src/view/com/profile/ProfileHeader.tsx:226
+#: src/view/com/profile/ProfileMenu.tsx:166
+msgid "Account unfollowed"
+msgstr ""
+
+#: src/view/com/profile/ProfileMenu.tsx:102
msgid "Account unmuted"
msgstr "Compte démasqué"
-#: src/components/dialogs/MutedWords.tsx:165
+#: src/components/dialogs/MutedWords.tsx:164
#: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:150
-#: src/view/com/modals/ListAddRemoveUsers.tsx:264
+#: src/view/com/modals/ListAddRemoveUsers.tsx:268
#: src/view/com/modals/UserAddRemoveLists.tsx:219
-#: src/view/screens/ProfileList.tsx:813
+#: src/view/screens/ProfileList.tsx:829
msgid "Add"
msgstr "Ajouter"
@@ -121,62 +145,63 @@ msgstr "Ajouter"
msgid "Add a content warning"
msgstr "Ajouter un avertissement sur le contenu"
-#: src/view/screens/ProfileList.tsx:803
+#: src/view/screens/ProfileList.tsx:819
msgid "Add a user to this list"
msgstr "Ajouter un compte à cette liste"
-#: src/view/screens/Settings/index.tsx:383
-#: src/view/screens/Settings/index.tsx:392
+#: src/components/dialogs/SwitchAccount.tsx:55
+#: src/view/screens/Settings/index.tsx:405
+#: src/view/screens/Settings/index.tsx:414
msgid "Add account"
msgstr "Ajouter un compte"
#: src/view/com/composer/photos/Gallery.tsx:119
#: src/view/com/composer/photos/Gallery.tsx:180
-#: src/view/com/modals/AltImage.tsx:116
+#: src/view/com/modals/AltImage.tsx:117
msgid "Add alt text"
msgstr "Ajouter un texte alt"
-#: src/view/screens/AppPasswords.tsx:102
-#: src/view/screens/AppPasswords.tsx:143
-#: src/view/screens/AppPasswords.tsx:156
+#: src/view/screens/AppPasswords.tsx:104
+#: src/view/screens/AppPasswords.tsx:145
+#: src/view/screens/AppPasswords.tsx:158
msgid "Add App Password"
msgstr "Ajouter un mot de passe d’application"
#: src/view/com/modals/report/InputIssueDetails.tsx:41
#: src/view/com/modals/report/Modal.tsx:191
-msgid "Add details"
-msgstr "Ajouter des détails"
+#~ msgid "Add details"
+#~ msgstr "Ajouter des détails"
#: src/view/com/modals/report/Modal.tsx:194
-msgid "Add details to report"
-msgstr "Ajouter des détails au rapport"
+#~ msgid "Add details to report"
+#~ msgstr "Ajouter des détails au rapport"
-#: src/view/com/composer/Composer.tsx:453
+#: src/view/com/composer/Composer.tsx:467
msgid "Add link card"
msgstr "Ajouter une carte de lien"
-#: src/view/com/composer/Composer.tsx:458
+#: src/view/com/composer/Composer.tsx:472
msgid "Add link card:"
msgstr "Ajouter une carte de lien :"
-#: src/components/dialogs/MutedWords.tsx:158
+#: src/components/dialogs/MutedWords.tsx:157
msgid "Add mute word for configured settings"
msgstr "Ajouter un mot masqué pour les paramètres configurés"
-#: src/components/dialogs/MutedWords.tsx:87
+#: src/components/dialogs/MutedWords.tsx:86
msgid "Add muted words and tags"
msgstr "Ajouter des mots et des mots-clés masqués"
-#: src/view/com/modals/ChangeHandle.tsx:417
+#: src/view/com/modals/ChangeHandle.tsx:416
msgid "Add the following DNS record to your domain:"
msgstr "Ajoutez l’enregistrement DNS suivant à votre domaine :"
-#: src/view/com/profile/ProfileHeader.tsx:310
+#: src/view/com/profile/ProfileMenu.tsx:263
+#: src/view/com/profile/ProfileMenu.tsx:266
msgid "Add to Lists"
msgstr "Ajouter aux listes"
-#: src/view/com/feeds/FeedSourceCard.tsx:245
-#: src/view/screens/ProfileFeed.tsx:273
+#: src/view/com/feeds/FeedSourceCard.tsx:234
msgid "Add to my feeds"
msgstr "Ajouter à mes fils d’actu"
@@ -189,7 +214,7 @@ msgstr "Ajouté"
msgid "Added to list"
msgstr "Ajouté à la liste"
-#: src/view/com/feeds/FeedSourceCard.tsx:127
+#: src/view/com/feeds/FeedSourceCard.tsx:108
msgid "Added to my feeds"
msgstr "Ajouté à mes fils d’actu"
@@ -197,28 +222,35 @@ msgstr "Ajouté à mes fils d’actu"
msgid "Adjust the number of likes a reply must have to be shown in your feed."
msgstr "Définissez le nombre de likes qu’une réponse doit avoir pour être affichée dans votre fil d’actu."
+#: src/lib/moderation/useGlobalLabelStrings.ts:34
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:117
#: src/view/com/modals/SelfLabel.tsx:75
msgid "Adult Content"
msgstr "Contenu pour adultes"
#: src/view/com/modals/ContentFilteringSettings.tsx:141
-msgid "Adult content can only be enabled via the Web at <0/>."
-msgstr "Le contenu pour adultes ne peut être activé que via le Web à <0/>."
+#~ msgid "Adult content can only be enabled via the Web at <0/>."
+#~ msgstr "Le contenu pour adultes ne peut être activé que via le Web à <0/>."
-#: src/view/screens/Settings/index.tsx:664
+#: src/components/moderation/LabelPreference.tsx:242
+msgid "Adult content is disabled."
+msgstr ""
+
+#: src/screens/Moderation/index.tsx:375
+#: src/view/screens/Settings/index.tsx:635
msgid "Advanced"
msgstr "Avancé"
-#: src/view/screens/Feeds.tsx:666
+#: src/view/screens/Feeds.tsx:691
msgid "All the feeds you've saved, right in one place."
msgstr "Tous les fils d’actu que vous avez enregistrés, au même endroit."
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:221
-#: src/view/com/modals/ChangePassword.tsx:168
+#: src/screens/Login/ForgotPasswordForm.tsx:178
+#: src/view/com/modals/ChangePassword.tsx:170
msgid "Already have a code?"
msgstr "Avez-vous déjà un code ?"
-#: src/view/com/auth/login/ChooseAccountForm.tsx:98
+#: src/screens/Login/ChooseAccountForm.tsx:39
msgid "Already signed in as @{0}"
msgstr "Déjà connecté·e en tant que @{0}"
@@ -226,7 +258,7 @@ msgstr "Déjà connecté·e en tant que @{0}"
msgid "ALT"
msgstr "ALT"
-#: src/view/com/modals/EditImage.tsx:315
+#: src/view/com/modals/EditImage.tsx:316
msgid "Alt text"
msgstr "Texte Alt"
@@ -242,12 +274,20 @@ msgstr "Un e-mail a été envoyé à {0}. Il comprend un code de confirmation qu
msgid "An email has been sent to your previous address, {0}. It includes a confirmation code which you can enter below."
msgstr "Un courriel a été envoyé à votre ancienne adresse, {0}. Il comprend un code de confirmation que vous pouvez saisir ici."
-#: src/view/com/profile/FollowButton.tsx:30
-#: src/view/com/profile/FollowButton.tsx:40
+#: src/lib/moderation/useReportOptions.ts:26
+msgid "An issue not included in these options"
+msgstr ""
+
+#: src/components/hooks/useFollowMethods.ts:35
+#: src/components/hooks/useFollowMethods.ts:50
+#: src/view/com/profile/FollowButton.tsx:35
+#: src/view/com/profile/FollowButton.tsx:45
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:188
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:198
msgid "An issue occurred, please try again."
msgstr "Un problème est survenu, veuillez réessayer."
-#: src/view/com/notifications/FeedItem.tsx:237
+#: src/view/com/notifications/FeedItem.tsx:242
#: src/view/com/threadgate/WhoCanReply.tsx:178
msgid "and"
msgstr "et"
@@ -256,69 +296,89 @@ msgstr "et"
msgid "Animals"
msgstr "Animaux"
+#: src/lib/moderation/useReportOptions.ts:31
+msgid "Anti-Social Behavior"
+msgstr ""
+
#: src/view/screens/LanguageSettings.tsx:95
msgid "App Language"
msgstr "Langue de l’application"
-#: src/view/screens/AppPasswords.tsx:228
+#: src/view/screens/AppPasswords.tsx:223
msgid "App password deleted"
msgstr "Mot de passe d’application supprimé"
-#: src/view/com/modals/AddAppPasswords.tsx:134
+#: src/view/com/modals/AddAppPasswords.tsx:135
msgid "App Password names can only contain letters, numbers, spaces, dashes, and underscores."
msgstr "Les noms de mots de passe d’application ne peuvent contenir que des lettres, des chiffres, des espaces, des tirets et des tirets bas."
-#: src/view/com/modals/AddAppPasswords.tsx:99
+#: src/view/com/modals/AddAppPasswords.tsx:100
msgid "App Password names must be at least 4 characters long."
msgstr "Les noms de mots de passe d’application doivent comporter au moins 4 caractères."
-#: src/view/screens/Settings/index.tsx:675
+#: src/view/screens/Settings/index.tsx:646
msgid "App password settings"
msgstr "Paramètres de mot de passe d’application"
-#: src/Navigation.tsx:239
-#: src/view/screens/AppPasswords.tsx:187
-#: src/view/screens/Settings/index.tsx:684
+#: src/Navigation.tsx:251
+#: src/view/screens/AppPasswords.tsx:189
+#: src/view/screens/Settings/index.tsx:655
msgid "App Passwords"
msgstr "Mots de passe d’application"
+#: src/components/moderation/LabelsOnMeDialog.tsx:133
+#: src/components/moderation/LabelsOnMeDialog.tsx:136
+msgid "Appeal"
+msgstr ""
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:201
+msgid "Appeal \"{0}\" label"
+msgstr ""
+
#: src/view/com/util/forms/PostDropdownBtn.tsx:337
#: src/view/com/util/forms/PostDropdownBtn.tsx:346
-msgid "Appeal content warning"
-msgstr "Faire appel de l’avertissement sur le contenu"
+#~ msgid "Appeal content warning"
+#~ msgstr "Faire appel de l’avertissement sur le contenu"
#: src/view/com/modals/AppealLabel.tsx:65
-msgid "Appeal Content Warning"
-msgstr "Faire appel de l’avertissement sur le contenu"
+#~ msgid "Appeal Content Warning"
+#~ msgstr "Faire appel de l’avertissement sur le contenu"
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:192
+msgid "Appeal submitted."
+msgstr ""
#: src/view/com/util/moderation/LabelInfo.tsx:52
-msgid "Appeal this decision"
-msgstr "Faire appel de cette décision"
+#~ msgid "Appeal this decision"
+#~ msgstr "Faire appel de cette décision"
#: src/view/com/util/moderation/LabelInfo.tsx:56
-msgid "Appeal this decision."
-msgstr "Faire appel de cette décision."
+#~ msgid "Appeal this decision."
+#~ msgstr "Faire appel de cette décision."
-#: src/view/screens/Settings/index.tsx:466
+#: src/view/screens/Settings/index.tsx:436
msgid "Appearance"
msgstr "Affichage"
-#: src/view/screens/AppPasswords.tsx:224
+#: src/view/screens/AppPasswords.tsx:265
msgid "Are you sure you want to delete the app password \"{name}\"?"
msgstr "Êtes-vous sûr de vouloir supprimer le mot de passe de l’application « {name} » ?"
-#: src/view/com/composer/Composer.tsx:150
+#: src/view/com/feeds/FeedSourceCard.tsx:280
+msgid "Are you sure you want to remove {0} from your feeds?"
+msgstr ""
+
+#: src/view/com/composer/Composer.tsx:509
msgid "Are you sure you'd like to discard this draft?"
msgstr "Êtes-vous sûr de vouloir rejeter ce brouillon ?"
-#: src/components/dialogs/MutedWords.tsx:282
-#: src/view/screens/ProfileList.tsx:365
+#: src/components/dialogs/MutedWords.tsx:281
msgid "Are you sure?"
msgstr "Vous confirmez ?"
#: src/view/com/util/forms/PostDropdownBtn.tsx:322
-msgid "Are you sure? This cannot be undone."
-msgstr "Vous confirmez ? Cela ne pourra pas être annulé."
+#~ msgid "Are you sure? This cannot be undone."
+#~ msgstr "Vous confirmez ? Cela ne pourra pas être annulé."
#: src/view/com/composer/select-language/SuggestedLanguage.tsx:60
msgid "Are you writing in <0>{0}0>?"
@@ -332,137 +392,165 @@ msgstr "Art"
msgid "Artistic or non-erotic nudity."
msgstr "Nudité artistique ou non érotique."
-#: src/view/com/auth/create/CreateAccount.tsx:158
-#: src/view/com/auth/login/ChooseAccountForm.tsx:151
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:174
-#: src/view/com/auth/login/LoginForm.tsx:259
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:179
-#: src/view/com/modals/report/InputIssueDetails.tsx:46
-#: src/view/com/post-thread/PostThread.tsx:472
-#: src/view/com/post-thread/PostThread.tsx:522
-#: src/view/com/post-thread/PostThread.tsx:530
-#: src/view/com/profile/ProfileHeader.tsx:649
+#: src/screens/Signup/StepHandle.tsx:119
+msgid "At least 3 characters"
+msgstr ""
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:246
+#: src/components/moderation/LabelsOnMeDialog.tsx:247
+#: src/screens/Login/ChooseAccountForm.tsx:73
+#: src/screens/Login/ChooseAccountForm.tsx:78
+#: src/screens/Login/ForgotPasswordForm.tsx:129
+#: src/screens/Login/ForgotPasswordForm.tsx:135
+#: src/screens/Login/LoginForm.tsx:221
+#: src/screens/Login/LoginForm.tsx:227
+#: src/screens/Login/SetNewPasswordForm.tsx:160
+#: src/screens/Login/SetNewPasswordForm.tsx:166
+#: src/screens/Profile/Header/Shell.tsx:96
+#: src/screens/Signup/index.tsx:180
#: src/view/com/util/ViewHeader.tsx:87
msgid "Back"
msgstr "Arrière"
#: src/view/com/post-thread/PostThread.tsx:480
-msgctxt "action"
-msgid "Back"
-msgstr "Retour"
+#~ msgctxt "action"
+#~ msgid "Back"
+#~ msgstr "Retour"
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:136
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:144
msgid "Based on your interest in {interestsText}"
msgstr "En fonction de votre intérêt pour {interestsText}"
-#: src/view/screens/Settings/index.tsx:523
+#: src/view/screens/Settings/index.tsx:493
msgid "Basics"
msgstr "Principes de base"
-#: src/view/com/auth/create/Step1.tsx:227
-#: src/view/com/modals/BirthDateSettings.tsx:73
+#: src/components/dialogs/BirthDateSettings.tsx:107
msgid "Birthday"
msgstr "Date de naissance"
-#: src/view/screens/Settings/index.tsx:340
+#: src/view/screens/Settings/index.tsx:362
msgid "Birthday:"
msgstr "Date de naissance :"
-#: src/view/com/profile/ProfileHeader.tsx:239
-#: src/view/com/profile/ProfileHeader.tsx:346
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:286
+#: src/view/com/profile/ProfileMenu.tsx:361
+msgid "Block"
+msgstr ""
+
+#: src/view/com/profile/ProfileMenu.tsx:300
+#: src/view/com/profile/ProfileMenu.tsx:307
msgid "Block Account"
msgstr "Bloquer ce compte"
-#: src/view/screens/ProfileList.tsx:556
+#: src/view/com/profile/ProfileMenu.tsx:344
+msgid "Block Account?"
+msgstr ""
+
+#: src/view/screens/ProfileList.tsx:532
msgid "Block accounts"
msgstr "Bloquer ces comptes"
-#: src/view/screens/ProfileList.tsx:506
+#: src/view/screens/ProfileList.tsx:480
+#: src/view/screens/ProfileList.tsx:636
msgid "Block list"
msgstr "Liste de blocage"
-#: src/view/screens/ProfileList.tsx:316
+#: src/view/screens/ProfileList.tsx:631
msgid "Block these accounts?"
msgstr "Bloquer ces comptes ?"
#: src/view/screens/ProfileList.tsx:320
-msgid "Block this List"
-msgstr "Bloquer cette liste"
+#~ msgid "Block this List"
+#~ msgstr "Bloquer cette liste"
#: src/view/com/lists/ListCard.tsx:110
-#: src/view/com/util/post-embeds/QuoteEmbed.tsx:61
+#: src/view/com/util/post-embeds/QuoteEmbed.tsx:58
msgid "Blocked"
msgstr "Bloqué"
-#: src/view/screens/Moderation.tsx:142
+#: src/screens/Moderation/index.tsx:267
msgid "Blocked accounts"
msgstr "Comptes bloqués"
-#: src/Navigation.tsx:132
-#: src/view/screens/ModerationBlockedAccounts.tsx:107
+#: src/Navigation.tsx:134
+#: src/view/screens/ModerationBlockedAccounts.tsx:113
msgid "Blocked Accounts"
msgstr "Comptes bloqués"
-#: src/view/com/profile/ProfileHeader.tsx:241
+#: src/view/com/profile/ProfileMenu.tsx:356
msgid "Blocked accounts cannot reply in your threads, mention you, or otherwise interact with you."
msgstr "Les comptes bloqués ne peuvent pas répondre à vos discussions, vous mentionner ou interagir avec vous."
-#: src/view/screens/ModerationBlockedAccounts.tsx:115
+#: src/view/screens/ModerationBlockedAccounts.tsx:121
msgid "Blocked accounts cannot reply in your threads, mention you, or otherwise interact with you. You will not see their content and they will be prevented from seeing yours."
msgstr "Les comptes bloqués ne peuvent pas répondre à vos discussions, vous mentionner ou interagir avec vous. Vous ne verrez pas leur contenu et ils ne pourront pas voir le vôtre."
-#: src/view/com/post-thread/PostThread.tsx:324
+#: src/view/com/post-thread/PostThread.tsx:313
msgid "Blocked post."
msgstr "Post bloqué."
-#: src/view/screens/ProfileList.tsx:318
+#: src/screens/Profile/Sections/Labels.tsx:163
+msgid "Blocking does not prevent this labeler from placing labels on your account."
+msgstr ""
+
+#: src/view/screens/ProfileList.tsx:633
msgid "Blocking is public. Blocked accounts cannot reply in your threads, mention you, or otherwise interact with you."
msgstr "Le blocage est public. Les comptes bloqués ne peuvent pas répondre à vos discussions, vous mentionner ou interagir avec vous."
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:93
-#: src/view/com/auth/SplashScreen.web.tsx:133
+#: src/view/com/profile/ProfileMenu.tsx:353
+msgid "Blocking will not prevent labels from being applied on your account, but it will stop this account from replying in your threads or interacting with you."
+msgstr ""
+
+#: src/view/com/auth/SplashScreen.web.tsx:149
msgid "Blog"
msgstr "Blog"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:31
#: src/view/com/auth/server-input/index.tsx:89
-#: src/view/com/auth/server-input/index.tsx:90
+#: src/view/com/auth/server-input/index.tsx:91
msgid "Bluesky"
msgstr "Bluesky"
-#: src/view/com/auth/server-input/index.tsx:150
+#: src/view/com/auth/server-input/index.tsx:154
msgid "Bluesky is an open network where you can choose your hosting provider. Custom hosting is now available in beta for developers."
msgstr "Bluesky est un réseau ouvert où vous pouvez choisir votre hébergeur. L’auto-hébergement est désormais disponible en version bêta pour les développeurs."
#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:80
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:80
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:82
msgid "Bluesky is flexible."
msgstr "Bluesky est adaptable."
#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:69
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:69
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:71
msgid "Bluesky is open."
msgstr "Bluesky est ouvert."
#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:56
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:56
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:58
msgid "Bluesky is public."
msgstr "Bluesky est public."
-#: src/view/screens/Moderation.tsx:245
+#: src/screens/Moderation/index.tsx:533
msgid "Bluesky will not show your profile and posts to logged-out users. Other apps may not honor this request. This does not make your account private."
msgstr "Bluesky n’affichera pas votre profil et vos posts à des personnes non connectées. Il est possible que d’autres applications n’honorent pas cette demande. Cela ne privatise pas votre compte."
+#: src/lib/moderation/useLabelBehaviorDescription.ts:53
+msgid "Blur images"
+msgstr ""
+
+#: src/lib/moderation/useLabelBehaviorDescription.ts:51
+msgid "Blur images and filter from feeds"
+msgstr ""
+
#: src/screens/Onboarding/index.tsx:33
msgid "Books"
msgstr "Livres"
-#: src/view/screens/Settings/index.tsx:859
-msgid "Build version {0} {1}"
-msgstr "Version Build {0} {1}"
+#: src/view/screens/Settings/index.tsx:893
+#~ msgid "Build version {0} {1}"
+#~ msgstr "Version Build {0} {1}"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:87
-#: src/view/com/auth/SplashScreen.web.tsx:128
+#: src/view/com/auth/SplashScreen.web.tsx:146
msgid "Business"
msgstr "Affaires"
@@ -474,90 +562,109 @@ msgstr "par —"
msgid "by {0}"
msgstr "par {0}"
+#: src/components/LabelingServiceCard/index.tsx:57
+msgid "By {0}"
+msgstr ""
+
#: src/view/com/profile/ProfileSubpageHeader.tsx:161
msgid "by <0/>"
msgstr "par <0/>"
+#: src/screens/Signup/StepInfo/Policies.tsx:74
+msgid "By creating an account you agree to the {els}."
+msgstr ""
+
#: src/view/com/profile/ProfileSubpageHeader.tsx:159
msgid "by you"
msgstr "par vous"
-#: src/view/com/composer/photos/OpenCameraBtn.tsx:60
-#: src/view/com/util/UserAvatar.tsx:224
-#: src/view/com/util/UserBanner.tsx:40
+#: src/view/com/composer/photos/OpenCameraBtn.tsx:77
msgid "Camera"
msgstr "Caméra"
-#: src/view/com/modals/AddAppPasswords.tsx:216
+#: src/view/com/modals/AddAppPasswords.tsx:217
msgid "Can only contain letters, numbers, spaces, dashes, and underscores. Must be at least 4 characters long, but no more than 32 characters long."
msgstr "Ne peut contenir que des lettres, des chiffres, des espaces, des tirets et des tirets bas. La longueur doit être d’au moins 4 caractères, mais pas plus de 32."
-#: src/components/Prompt.tsx:101
-#: src/view/com/composer/Composer.tsx:307
-#: src/view/com/composer/Composer.tsx:312
+#: src/components/Menu/index.tsx:213
+#: src/components/Prompt.tsx:113
+#: src/components/Prompt.tsx:115
+#: src/components/TagMenu/index.tsx:268
+#: src/view/com/composer/Composer.tsx:317
+#: src/view/com/composer/Composer.tsx:322
#: src/view/com/modals/ChangeEmail.tsx:218
#: src/view/com/modals/ChangeEmail.tsx:220
-#: src/view/com/modals/ChangePassword.tsx:265
-#: src/view/com/modals/ChangePassword.tsx:268
-#: src/view/com/modals/CreateOrEditList.tsx:355
-#: src/view/com/modals/EditImage.tsx:323
-#: src/view/com/modals/EditProfile.tsx:249
+#: src/view/com/modals/ChangeHandle.tsx:154
+#: src/view/com/modals/ChangePassword.tsx:267
+#: src/view/com/modals/ChangePassword.tsx:270
+#: src/view/com/modals/CreateOrEditList.tsx:356
+#: src/view/com/modals/crop-image/CropImage.web.tsx:138
+#: src/view/com/modals/EditImage.tsx:324
+#: src/view/com/modals/EditProfile.tsx:250
#: src/view/com/modals/InAppBrowserConsent.tsx:78
-#: src/view/com/modals/LinkWarning.tsx:87
-#: src/view/com/modals/Repost.tsx:87
+#: src/view/com/modals/InAppBrowserConsent.tsx:80
+#: src/view/com/modals/LinkWarning.tsx:105
+#: src/view/com/modals/LinkWarning.tsx:107
+#: src/view/com/modals/Repost.tsx:88
#: src/view/com/modals/VerifyEmail.tsx:247
#: src/view/com/modals/VerifyEmail.tsx:253
-#: src/view/screens/Search/Search.tsx:716
-#: src/view/shell/desktop/Search.tsx:238
+#: src/view/screens/Search/Search.tsx:865
+#: src/view/shell/desktop/Search.tsx:239
msgid "Cancel"
msgstr "Annuler"
-#: src/view/com/modals/Confirm.tsx:88
-#: src/view/com/modals/Confirm.tsx:91
-#: src/view/com/modals/CreateOrEditList.tsx:360
-#: src/view/com/modals/DeleteAccount.tsx:156
-#: src/view/com/modals/DeleteAccount.tsx:234
+#: src/view/com/modals/CreateOrEditList.tsx:361
+#: src/view/com/modals/DeleteAccount.tsx:155
+#: src/view/com/modals/DeleteAccount.tsx:233
msgctxt "action"
msgid "Cancel"
msgstr "Annuler"
-#: src/view/com/modals/DeleteAccount.tsx:152
-#: src/view/com/modals/DeleteAccount.tsx:230
+#: src/view/com/modals/DeleteAccount.tsx:151
+#: src/view/com/modals/DeleteAccount.tsx:229
msgid "Cancel account deletion"
msgstr "Annuler la suppression de compte"
-#: src/view/com/modals/ChangeHandle.tsx:149
+#: src/view/com/modals/ChangeHandle.tsx:150
msgid "Cancel change handle"
msgstr "Annuler le changement de pseudo"
-#: src/view/com/modals/crop-image/CropImage.web.tsx:134
+#: src/view/com/modals/crop-image/CropImage.web.tsx:135
msgid "Cancel image crop"
msgstr "Annuler le recadrage de l’image"
-#: src/view/com/modals/EditProfile.tsx:244
+#: src/view/com/modals/EditProfile.tsx:245
msgid "Cancel profile editing"
msgstr "Annuler la modification du profil"
-#: src/view/com/modals/Repost.tsx:78
+#: src/view/com/modals/Repost.tsx:79
msgid "Cancel quote post"
msgstr "Annuler la citation"
#: src/view/com/modals/ListAddRemoveUsers.tsx:87
-#: src/view/shell/desktop/Search.tsx:234
+#: src/view/shell/desktop/Search.tsx:235
msgid "Cancel search"
msgstr "Annuler la recherche"
-#: src/view/screens/Settings/index.tsx:334
+#: src/view/com/modals/LinkWarning.tsx:106
+msgid "Cancels opening the linked website"
+msgstr ""
+
+#: src/view/com/modals/VerifyEmail.tsx:152
+msgid "Change"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:356
msgctxt "action"
msgid "Change"
msgstr "Modifier"
-#: src/view/screens/Settings/index.tsx:696
+#: src/view/screens/Settings/index.tsx:667
msgid "Change handle"
msgstr "Modifier le pseudo"
-#: src/view/com/modals/ChangeHandle.tsx:161
-#: src/view/screens/Settings/index.tsx:705
+#: src/view/com/modals/ChangeHandle.tsx:162
+#: src/view/screens/Settings/index.tsx:678
msgid "Change Handle"
msgstr "Modifier le pseudo"
@@ -565,11 +672,12 @@ msgstr "Modifier le pseudo"
msgid "Change my email"
msgstr "Modifier mon e-mail"
-#: src/view/screens/Settings/index.tsx:732
+#: src/view/screens/Settings/index.tsx:718
msgid "Change password"
msgstr "Modifier le mot de passe"
-#: src/view/screens/Settings/index.tsx:741
+#: src/view/com/modals/ChangePassword.tsx:141
+#: src/view/screens/Settings/index.tsx:729
msgid "Change Password"
msgstr "Modifier le mot de passe"
@@ -578,8 +686,8 @@ msgid "Change post language to {0}"
msgstr "Modifier la langue de post en {0}"
#: src/view/screens/Settings/index.tsx:733
-msgid "Change your Bluesky password"
-msgstr "Changer votre mot de passe pour Bluesky"
+#~ msgid "Change your Bluesky password"
+#~ msgstr "Changer votre mot de passe pour Bluesky"
#: src/view/com/modals/ChangeEmail.tsx:109
msgid "Change Your Email"
@@ -590,15 +698,15 @@ msgstr "Modifier votre e-mail"
msgid "Check my status"
msgstr "Vérifier mon statut"
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:121
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:122
msgid "Check out some recommended feeds. Tap + to add them to your list of pinned feeds."
msgstr "Consultez quelques fils d’actu recommandés. Appuyez sur + pour les ajouter à votre liste de fils d’actu."
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:185
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:186
msgid "Check out some recommended users. Follow them to see similar users."
msgstr "Consultez quelques comptes recommandés. Suivez-les pour voir des personnes similaires."
-#: src/view/com/modals/DeleteAccount.tsx:169
+#: src/view/com/modals/DeleteAccount.tsx:168
msgid "Check your inbox for an email with the confirmation code to enter below:"
msgstr "Consultez votre boîte de réception, vous avez du recevoir un e-mail contenant un code de confirmation à saisir ci-dessous :"
@@ -607,53 +715,59 @@ msgid "Choose \"Everybody\" or \"Nobody\""
msgstr "Choisir « Tout le monde » ou « Personne »"
#: src/view/screens/Settings/index.tsx:697
-msgid "Choose a new Bluesky username or create"
-msgstr "Choisir un nouveau pseudo Bluesky ou en créer un"
+#~ msgid "Choose a new Bluesky username or create"
+#~ msgstr "Choisir un nouveau pseudo Bluesky ou en créer un"
#: src/view/com/auth/server-input/index.tsx:79
msgid "Choose Service"
msgstr "Choisir un service"
-#: src/screens/Onboarding/StepFinished.tsx:135
+#: src/screens/Onboarding/StepFinished.tsx:139
msgid "Choose the algorithms that power your custom feeds."
msgstr "Choisissez les algorithmes qui alimentent vos fils d’actu personnalisés."
#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:83
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:83
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:85
msgid "Choose the algorithms that power your experience with custom feeds."
msgstr "Choisissez les algorithmes qui alimentent votre expérience avec des fils d’actu personnalisés."
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:103
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:104
msgid "Choose your main feeds"
msgstr "Choisissez vos principaux fils d’actu"
-#: src/view/com/auth/create/Step1.tsx:196
+#: src/screens/Signup/StepInfo/index.tsx:114
msgid "Choose your password"
msgstr "Choisissez votre mot de passe"
-#: src/view/screens/Settings/index.tsx:834
-#: src/view/screens/Settings/index.tsx:835
+#: src/view/screens/Settings/index.tsx:832
msgid "Clear all legacy storage data"
msgstr "Effacer toutes les données de stockage existantes"
-#: src/view/screens/Settings/index.tsx:837
+#: src/view/screens/Settings/index.tsx:835
msgid "Clear all legacy storage data (restart after this)"
msgstr "Effacer toutes les données de stockage existantes (redémarrer ensuite)"
-#: src/view/screens/Settings/index.tsx:846
-#: src/view/screens/Settings/index.tsx:847
+#: src/view/screens/Settings/index.tsx:844
msgid "Clear all storage data"
msgstr "Effacer toutes les données de stockage"
-#: src/view/screens/Settings/index.tsx:849
+#: src/view/screens/Settings/index.tsx:847
msgid "Clear all storage data (restart after this)"
msgstr "Effacer toutes les données de stockage (redémarrer ensuite)"
#: src/view/com/util/forms/SearchInput.tsx:88
-#: src/view/screens/Search/Search.tsx:697
+#: src/view/screens/Search/Search.tsx:846
msgid "Clear search query"
msgstr "Effacer la recherche"
+#: src/view/screens/Settings/index.tsx:833
+msgid "Clears all legacy storage data"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:845
+msgid "Clears all storage data"
+msgstr ""
+
#: src/view/screens/Support.tsx:40
msgid "click here"
msgstr "cliquez ici"
@@ -662,7 +776,7 @@ msgstr "cliquez ici"
msgid "Click here to open tag menu for {tag}"
msgstr "Cliquez ici pour ouvrir le menu de mot-clé pour {tag}"
-#: src/components/RichText.tsx:191
+#: src/components/RichText.tsx:198
msgid "Click here to open tag menu for #{tag}"
msgstr "Cliquez ici pour ouvrir le menu de mot-clé pour #{tag}"
@@ -670,57 +784,58 @@ msgstr "Cliquez ici pour ouvrir le menu de mot-clé pour #{tag}"
msgid "Climate"
msgstr "Climat"
-#: src/view/com/modals/ChangePassword.tsx:265
-#: src/view/com/modals/ChangePassword.tsx:268
+#: src/view/com/modals/ChangePassword.tsx:267
+#: src/view/com/modals/ChangePassword.tsx:270
msgid "Close"
msgstr "Fermer"
-#: src/components/Dialog/index.web.tsx:84
-#: src/components/Dialog/index.web.tsx:198
+#: src/components/Dialog/index.web.tsx:106
+#: src/components/Dialog/index.web.tsx:218
msgid "Close active dialog"
msgstr "Fermer le dialogue actif"
-#: src/view/com/auth/login/PasswordUpdatedForm.tsx:38
+#: src/screens/Login/PasswordUpdatedForm.tsx:38
msgid "Close alert"
msgstr "Fermer l’alerte"
-#: src/view/com/util/BottomSheetCustomBackdrop.tsx:33
+#: src/view/com/util/BottomSheetCustomBackdrop.tsx:36
msgid "Close bottom drawer"
msgstr "Fermer le tiroir du bas"
-#: src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx:26
+#: src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx:36
msgid "Close image"
msgstr "Fermer l’image"
-#: src/view/com/lightbox/Lightbox.web.tsx:119
+#: src/view/com/lightbox/Lightbox.web.tsx:129
msgid "Close image viewer"
msgstr "Fermer la visionneuse d’images"
-#: src/view/shell/index.web.tsx:51
+#: src/view/shell/index.web.tsx:57
msgid "Close navigation footer"
msgstr "Fermer le pied de page de navigation"
+#: src/components/Menu/index.tsx:207
#: src/components/TagMenu/index.tsx:262
msgid "Close this dialog"
msgstr "Fermer ce dialogue"
-#: src/view/shell/index.web.tsx:52
+#: src/view/shell/index.web.tsx:58
msgid "Closes bottom navigation bar"
msgstr "Ferme la barre de navigation du bas"
-#: src/view/com/auth/login/PasswordUpdatedForm.tsx:39
+#: src/screens/Login/PasswordUpdatedForm.tsx:39
msgid "Closes password update alert"
msgstr "Ferme la notification de mise à jour du mot de passe"
-#: src/view/com/composer/Composer.tsx:309
+#: src/view/com/composer/Composer.tsx:319
msgid "Closes post composer and discards post draft"
msgstr "Ferme la fenêtre de rédaction et supprime le brouillon"
-#: src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx:27
+#: src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx:37
msgid "Closes viewer for header image"
msgstr "Ferme la visionneuse pour l’image d’en-tête"
-#: src/view/com/notifications/FeedItem.tsx:318
+#: src/view/com/notifications/FeedItem.tsx:323
msgid "Collapses list of users for a given notification"
msgstr "Réduit la liste des comptes pour une notification donnée"
@@ -732,20 +847,20 @@ msgstr "Comédie"
msgid "Comics"
msgstr "Bandes dessinées"
-#: src/Navigation.tsx:229
+#: src/Navigation.tsx:241
#: src/view/screens/CommunityGuidelines.tsx:32
msgid "Community Guidelines"
msgstr "Directives communautaires"
-#: src/screens/Onboarding/StepFinished.tsx:148
+#: src/screens/Onboarding/StepFinished.tsx:152
msgid "Complete onboarding and start using your account"
msgstr "Terminez le didacticiel et commencez à utiliser votre compte"
-#: src/view/com/auth/create/Step3.tsx:73
+#: src/screens/Signup/index.tsx:155
msgid "Complete the challenge"
msgstr "Compléter le défi"
-#: src/view/com/composer/Composer.tsx:424
+#: src/view/com/composer/Composer.tsx:438
msgid "Compose posts up to {MAX_GRAPHEME_LENGTH} characters in length"
msgstr "Permet d’écrire des posts de {MAX_GRAPHEME_LENGTH} caractères maximum"
@@ -753,12 +868,20 @@ msgstr "Permet d’écrire des posts de {MAX_GRAPHEME_LENGTH} caractères maximu
msgid "Compose reply"
msgstr "Rédiger une réponse"
-#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:67
+#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:81
msgid "Configure content filtering setting for category: {0}"
msgstr "Configurer les paramètres de filtrage de contenu pour la catégorie : {0}"
-#: src/components/Prompt.tsx:124
-#: src/view/com/modals/AppealLabel.tsx:98
+#: src/components/moderation/LabelPreference.tsx:81
+msgid "Configure content filtering setting for category: {name}"
+msgstr ""
+
+#: src/components/moderation/LabelPreference.tsx:244
+msgid "Configured in <0>moderation settings0>."
+msgstr ""
+
+#: src/components/Prompt.tsx:153
+#: src/components/Prompt.tsx:156
#: src/view/com/modals/SelfLabel.tsx:154
#: src/view/com/modals/VerifyEmail.tsx:231
#: src/view/com/modals/VerifyEmail.tsx:233
@@ -769,61 +892,84 @@ msgstr "Confirmer"
#: src/view/com/modals/Confirm.tsx:75
#: src/view/com/modals/Confirm.tsx:78
-msgctxt "action"
-msgid "Confirm"
-msgstr "Confirmer"
+#~ msgctxt "action"
+#~ msgid "Confirm"
+#~ msgstr "Confirmer"
#: src/view/com/modals/ChangeEmail.tsx:193
#: src/view/com/modals/ChangeEmail.tsx:195
msgid "Confirm Change"
msgstr "Confirmer le changement"
-#: src/view/com/modals/lang-settings/ConfirmLanguagesButton.tsx:34
+#: src/view/com/modals/lang-settings/ConfirmLanguagesButton.tsx:35
msgid "Confirm content language settings"
msgstr "Confirmer les paramètres de langue"
-#: src/view/com/modals/DeleteAccount.tsx:220
+#: src/view/com/modals/DeleteAccount.tsx:219
msgid "Confirm delete account"
msgstr "Confirmer la suppression du compte"
#: src/view/com/modals/ContentFilteringSettings.tsx:156
-msgid "Confirm your age to enable adult content."
-msgstr "Confirmez votre âge pour activer le contenu pour adultes."
+#~ msgid "Confirm your age to enable adult content."
+#~ msgstr "Confirmez votre âge pour activer le contenu pour adultes."
+
+#: src/screens/Moderation/index.tsx:301
+msgid "Confirm your age:"
+msgstr ""
+
+#: src/screens/Moderation/index.tsx:292
+msgid "Confirm your birthdate"
+msgstr ""
#: src/view/com/modals/ChangeEmail.tsx:157
-#: src/view/com/modals/DeleteAccount.tsx:182
+#: src/view/com/modals/DeleteAccount.tsx:175
+#: src/view/com/modals/DeleteAccount.tsx:181
#: src/view/com/modals/VerifyEmail.tsx:165
msgid "Confirmation code"
msgstr "Code de confirmation"
-#: src/view/com/auth/create/CreateAccount.tsx:193
-#: src/view/com/auth/login/LoginForm.tsx:278
+#: src/screens/Login/LoginForm.tsx:248
msgid "Connecting..."
msgstr "Connexion…"
-#: src/view/com/auth/create/CreateAccount.tsx:213
+#: src/screens/Signup/index.tsx:225
msgid "Contact support"
msgstr "Contacter le support"
+#: src/components/moderation/LabelsOnMe.tsx:42
+msgid "content"
+msgstr ""
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:18
+msgid "Content Blocked"
+msgstr ""
+
#: src/view/screens/Moderation.tsx:83
-msgid "Content filtering"
-msgstr "Filtrage du contenu"
+#~ msgid "Content filtering"
+#~ msgstr "Filtrage du contenu"
#: src/view/com/modals/ContentFilteringSettings.tsx:44
-msgid "Content Filtering"
-msgstr "Filtrage du contenu"
+#~ msgid "Content Filtering"
+#~ msgstr "Filtrage du contenu"
+
+#: src/screens/Moderation/index.tsx:285
+msgid "Content filters"
+msgstr ""
#: src/view/com/modals/lang-settings/ContentLanguagesSettings.tsx:74
#: src/view/screens/LanguageSettings.tsx:278
msgid "Content Languages"
msgstr "Langues du contenu"
-#: src/view/com/modals/ModerationDetails.tsx:65
+#: src/components/moderation/ModerationDetailsDialog.tsx:75
+#: src/lib/moderation/useModerationCauseDescription.ts:75
msgid "Content Not Available"
msgstr "Contenu non disponible"
-#: src/view/com/modals/ModerationDetails.tsx:33
-#: src/view/com/util/moderation/ScreenHider.tsx:78
+#: src/components/moderation/ModerationDetailsDialog.tsx:46
+#: src/components/moderation/ScreenHider.tsx:99
+#: src/lib/moderation/useGlobalLabelStrings.ts:22
+#: src/lib/moderation/useModerationCauseDescription.ts:38
msgid "Content Warning"
msgstr "Avertissement sur le contenu"
@@ -831,28 +977,38 @@ msgstr "Avertissement sur le contenu"
msgid "Content warnings"
msgstr "Avertissements sur le contenu"
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:170
-#: src/screens/Onboarding/StepFollowingFeed.tsx:153
-#: src/screens/Onboarding/StepInterests/index.tsx:248
-#: src/screens/Onboarding/StepModeration/index.tsx:118
-#: src/screens/Onboarding/StepTopicalFeeds.tsx:114
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:148
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:209
+#: src/components/Menu/index.web.tsx:84
+msgid "Context menu backdrop, click to close the menu."
+msgstr ""
+
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:161
+#: src/screens/Onboarding/StepFollowingFeed.tsx:154
+#: src/screens/Onboarding/StepInterests/index.tsx:252
+#: src/screens/Onboarding/StepModeration/index.tsx:103
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:118
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:150
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:211
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:96
msgid "Continue"
msgstr "Continuer"
-#: src/screens/Onboarding/StepFollowingFeed.tsx:150
-#: src/screens/Onboarding/StepInterests/index.tsx:245
-#: src/screens/Onboarding/StepModeration/index.tsx:115
-#: src/screens/Onboarding/StepTopicalFeeds.tsx:111
+#: src/components/AccountList.tsx:108
+msgid "Continue as {0} (currently signed in)"
+msgstr ""
+
+#: src/screens/Onboarding/StepFollowingFeed.tsx:151
+#: src/screens/Onboarding/StepInterests/index.tsx:249
+#: src/screens/Onboarding/StepModeration/index.tsx:100
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:115
+#: src/screens/Signup/index.tsx:200
msgid "Continue to next step"
msgstr "Passer à l’étape suivante"
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:167
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:158
msgid "Continue to the next step"
msgstr "Passer à l’étape suivante"
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:191
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:199
msgid "Continue to the next step without following any accounts"
msgstr "Passer à l’étape suivante sans suivre aucun compte"
@@ -860,96 +1016,118 @@ msgstr "Passer à l’étape suivante sans suivre aucun compte"
msgid "Cooking"
msgstr "Cuisine"
-#: src/view/com/modals/AddAppPasswords.tsx:195
-#: src/view/com/modals/InviteCodes.tsx:182
+#: src/view/com/modals/AddAppPasswords.tsx:196
+#: src/view/com/modals/InviteCodes.tsx:183
msgid "Copied"
msgstr "Copié"
-#: src/view/screens/Settings/index.tsx:241
+#: src/view/screens/Settings/index.tsx:254
msgid "Copied build version to clipboard"
msgstr "Version de build copiée dans le presse-papier"
-#: src/view/com/modals/AddAppPasswords.tsx:76
-#: src/view/com/modals/InviteCodes.tsx:152
-#: src/view/com/util/forms/PostDropdownBtn.tsx:161
+#: src/view/com/modals/AddAppPasswords.tsx:77
+#: src/view/com/modals/ChangeHandle.tsx:326
+#: src/view/com/modals/InviteCodes.tsx:153
+#: src/view/com/util/forms/PostDropdownBtn.tsx:164
msgid "Copied to clipboard"
msgstr "Copié dans le presse-papier"
-#: src/view/com/modals/AddAppPasswords.tsx:189
+#: src/components/dialogs/Embed.tsx:134
+msgid "Copied!"
+msgstr ""
+
+#: src/view/com/modals/AddAppPasswords.tsx:190
msgid "Copies app password"
msgstr "Copie le mot de passe d’application"
-#: src/view/com/modals/AddAppPasswords.tsx:188
+#: src/view/com/modals/AddAppPasswords.tsx:189
msgid "Copy"
msgstr "Copie"
-#: src/view/screens/ProfileList.tsx:418
+#: src/view/com/modals/ChangeHandle.tsx:480
+msgid "Copy {0}"
+msgstr ""
+
+#: src/components/dialogs/Embed.tsx:120
+#: src/components/dialogs/Embed.tsx:139
+msgid "Copy code"
+msgstr ""
+
+#: src/view/screens/ProfileList.tsx:390
msgid "Copy link to list"
msgstr "Copier le lien vers la liste"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:231
-#: src/view/com/util/forms/PostDropdownBtn.tsx:237
+#: src/view/com/util/forms/PostDropdownBtn.tsx:236
+#: src/view/com/util/forms/PostDropdownBtn.tsx:245
msgid "Copy link to post"
msgstr "Copier le lien vers le post"
#: src/view/com/profile/ProfileHeader.tsx:295
-msgid "Copy link to profile"
-msgstr "Copier le lien vers le profil"
+#~ msgid "Copy link to profile"
+#~ msgstr "Copier le lien vers le profil"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:223
-#: src/view/com/util/forms/PostDropdownBtn.tsx:225
+#: src/view/com/util/forms/PostDropdownBtn.tsx:228
+#: src/view/com/util/forms/PostDropdownBtn.tsx:230
msgid "Copy post text"
msgstr "Copier le texte du post"
-#: src/Navigation.tsx:234
+#: src/Navigation.tsx:246
#: src/view/screens/CopyrightPolicy.tsx:29
msgid "Copyright Policy"
msgstr "Politique sur les droits d’auteur"
-#: src/view/screens/ProfileFeed.tsx:97
+#: src/view/screens/ProfileFeed.tsx:103
msgid "Could not load feed"
msgstr "Impossible de charger le fil d’actu"
-#: src/view/screens/ProfileList.tsx:893
+#: src/view/screens/ProfileList.tsx:909
msgid "Could not load list"
msgstr "Impossible de charger la liste"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:62
-#: src/view/com/auth/SplashScreen.tsx:71
-#: src/view/com/auth/SplashScreen.web.tsx:81
+#: src/view/com/auth/SplashScreen.tsx:57
+#: src/view/com/auth/SplashScreen.web.tsx:101
msgid "Create a new account"
msgstr "Créer un nouveau compte"
-#: src/view/screens/Settings/index.tsx:384
+#: src/view/screens/Settings/index.tsx:406
msgid "Create a new Bluesky account"
msgstr "Créer un compte Bluesky"
-#: src/view/com/auth/create/CreateAccount.tsx:133
+#: src/screens/Signup/index.tsx:130
msgid "Create Account"
msgstr "Créer un compte"
-#: src/view/com/modals/AddAppPasswords.tsx:226
+#: src/components/dialogs/Signin.tsx:86
+#: src/components/dialogs/Signin.tsx:88
+msgid "Create an account"
+msgstr ""
+
+#: src/view/com/modals/AddAppPasswords.tsx:227
msgid "Create App Password"
msgstr "Créer un mot de passe d’application"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:54
-#: src/view/com/auth/SplashScreen.tsx:68
+#: src/view/com/auth/SplashScreen.tsx:48
+#: src/view/com/auth/SplashScreen.web.tsx:92
msgid "Create new account"
msgstr "Créer un nouveau compte"
-#: src/view/screens/AppPasswords.tsx:249
+#: src/components/ReportDialog/SelectReportOptionView.tsx:94
+msgid "Create report for {0}"
+msgstr ""
+
+#: src/view/screens/AppPasswords.tsx:246
msgid "Created {0}"
msgstr "{0} créé"
#: src/view/screens/ProfileFeed.tsx:616
-msgid "Created by <0/>"
-msgstr "Créée par <0/>"
+#~ msgid "Created by <0/>"
+#~ msgstr "Créée par <0/>"
#: src/view/screens/ProfileFeed.tsx:614
-msgid "Created by you"
-msgstr "Créée par vous"
+#~ msgid "Created by you"
+#~ msgstr "Créée par vous"
-#: src/view/com/composer/Composer.tsx:455
+#: src/view/com/composer/Composer.tsx:469
msgid "Creates a card with a thumbnail. The card links to {url}"
msgstr "Crée une carte avec une miniature. La carte pointe vers {url}"
@@ -957,17 +1135,17 @@ msgstr "Crée une carte avec une miniature. La carte pointe vers {url}"
msgid "Culture"
msgstr "Culture"
-#: src/view/com/auth/server-input/index.tsx:95
-#: src/view/com/auth/server-input/index.tsx:96
+#: src/view/com/auth/server-input/index.tsx:97
+#: src/view/com/auth/server-input/index.tsx:99
msgid "Custom"
msgstr "Personnalisé"
-#: src/view/com/modals/ChangeHandle.tsx:389
+#: src/view/com/modals/ChangeHandle.tsx:388
msgid "Custom domain"
msgstr "Domaine personnalisé"
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:106
-#: src/view/screens/Feeds.tsx:692
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:107
+#: src/view/screens/Feeds.tsx:717
msgid "Custom feeds built by the community bring you new experiences and help you find the content you love."
msgstr "Les fils d’actu personnalisés élaborés par la communauté vous font vivre de nouvelles expériences et vous aident à trouver le contenu que vous aimez."
@@ -975,8 +1153,8 @@ msgstr "Les fils d’actu personnalisés élaborés par la communauté vous font
msgid "Customize media from external sites."
msgstr "Personnaliser les médias provenant de sites externes."
-#: src/view/screens/Settings/index.tsx:485
-#: src/view/screens/Settings/index.tsx:511
+#: src/view/screens/Settings/index.tsx:455
+#: src/view/screens/Settings/index.tsx:481
msgid "Dark"
msgstr "Sombre"
@@ -984,61 +1162,81 @@ msgstr "Sombre"
msgid "Dark mode"
msgstr "Mode sombre"
-#: src/view/screens/Settings/index.tsx:498
+#: src/view/screens/Settings/index.tsx:468
msgid "Dark Theme"
msgstr "Thème sombre"
+#: src/screens/Signup/StepInfo/index.tsx:134
+msgid "Date of birth"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:805
+msgid "Debug Moderation"
+msgstr ""
+
#: src/view/screens/Debug.tsx:83
msgid "Debug panel"
msgstr "Panneau de débug"
-#: src/view/screens/Settings/index.tsx:772
+#: src/view/com/util/forms/PostDropdownBtn.tsx:341
+#: src/view/screens/AppPasswords.tsx:268
+#: src/view/screens/ProfileList.tsx:615
+msgid "Delete"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:760
msgid "Delete account"
msgstr "Supprimer le compte"
-#: src/view/com/modals/DeleteAccount.tsx:87
+#: src/view/com/modals/DeleteAccount.tsx:86
msgid "Delete Account"
msgstr "Supprimer le compte"
-#: src/view/screens/AppPasswords.tsx:222
-#: src/view/screens/AppPasswords.tsx:242
+#: src/view/screens/AppPasswords.tsx:239
msgid "Delete app password"
msgstr "Supprimer le mot de passe de l’appli"
-#: src/view/screens/ProfileList.tsx:364
-#: src/view/screens/ProfileList.tsx:445
+#: src/view/screens/AppPasswords.tsx:263
+msgid "Delete app password?"
+msgstr ""
+
+#: src/view/screens/ProfileList.tsx:417
msgid "Delete List"
msgstr "Supprimer la liste"
-#: src/view/com/modals/DeleteAccount.tsx:223
+#: src/view/com/modals/DeleteAccount.tsx:222
msgid "Delete my account"
msgstr "Supprimer mon compte"
-#: src/view/screens/Settings/index.tsx:784
+#: src/view/screens/Settings/index.tsx:772
msgid "Delete My Account…"
msgstr "Supprimer mon compte…"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:317
-#: src/view/com/util/forms/PostDropdownBtn.tsx:326
+#: src/view/com/util/forms/PostDropdownBtn.tsx:322
+#: src/view/com/util/forms/PostDropdownBtn.tsx:324
msgid "Delete post"
msgstr "Supprimer le post"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:321
+#: src/view/screens/ProfileList.tsx:610
+msgid "Delete this list?"
+msgstr ""
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:336
msgid "Delete this post?"
msgstr "Supprimer ce post ?"
-#: src/view/com/util/post-embeds/QuoteEmbed.tsx:70
+#: src/view/com/util/post-embeds/QuoteEmbed.tsx:67
msgid "Deleted"
msgstr "Supprimé"
-#: src/view/com/post-thread/PostThread.tsx:316
+#: src/view/com/post-thread/PostThread.tsx:305
msgid "Deleted post."
msgstr "Post supprimé."
-#: src/view/com/modals/CreateOrEditList.tsx:300
-#: src/view/com/modals/CreateOrEditList.tsx:321
-#: src/view/com/modals/EditProfile.tsx:198
-#: src/view/com/modals/EditProfile.tsx:210
+#: src/view/com/modals/CreateOrEditList.tsx:301
+#: src/view/com/modals/CreateOrEditList.tsx:322
+#: src/view/com/modals/EditProfile.tsx:199
+#: src/view/com/modals/EditProfile.tsx:211
msgid "Description"
msgstr "Description"
@@ -1046,19 +1244,39 @@ msgstr "Description"
msgid "Did you want to say anything?"
msgstr "Vous vouliez dire quelque chose ?"
-#: src/view/screens/Settings/index.tsx:504
+#: src/view/screens/Settings/index.tsx:474
msgid "Dim"
msgstr "Atténué"
-#: src/view/com/composer/Composer.tsx:151
+#: src/view/screens/Settings/index.tsx:697
+msgid "Disable haptics"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:697
+msgid "Disable vibrations"
+msgstr ""
+
+#: src/lib/moderation/useLabelBehaviorDescription.ts:32
+#: src/lib/moderation/useLabelBehaviorDescription.ts:42
+#: src/lib/moderation/useLabelBehaviorDescription.ts:68
+#: src/screens/Moderation/index.tsx:341
+msgid "Disabled"
+msgstr ""
+
+#: src/view/com/composer/Composer.tsx:511
msgid "Discard"
msgstr "Ignorer"
#: src/view/com/composer/Composer.tsx:145
-msgid "Discard draft"
-msgstr "Ignorer le brouillon"
+#~ msgid "Discard draft"
+#~ msgstr "Ignorer le brouillon"
-#: src/view/screens/Moderation.tsx:226
+#: src/view/com/composer/Composer.tsx:508
+msgid "Discard draft?"
+msgstr ""
+
+#: src/screens/Moderation/index.tsx:518
+#: src/screens/Moderation/index.tsx:522
msgid "Discourage apps from showing my account to logged-out users"
msgstr "Empêcher les applis de montrer mon compte aux personnes non connectées"
@@ -1067,24 +1285,58 @@ msgstr "Empêcher les applis de montrer mon compte aux personnes non connectées
msgid "Discover new custom feeds"
msgstr "Découvrir des fils d’actu personnalisés"
-#: src/view/screens/Feeds.tsx:689
+#: src/view/screens/Feeds.tsx:714
msgid "Discover New Feeds"
msgstr "Découvrir de nouveaux fils d’actu"
-#: src/view/com/modals/EditProfile.tsx:192
+#: src/view/com/modals/EditProfile.tsx:193
msgid "Display name"
msgstr "Afficher le nom"
-#: src/view/com/modals/EditProfile.tsx:180
+#: src/view/com/modals/EditProfile.tsx:181
msgid "Display Name"
msgstr "Afficher le nom"
-#: src/view/com/modals/ChangeHandle.tsx:487
+#: src/view/com/modals/ChangeHandle.tsx:397
+msgid "DNS Panel"
+msgstr ""
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:39
+msgid "Does not include nudity."
+msgstr ""
+
+#: src/screens/Signup/StepHandle.tsx:105
+msgid "Doesn't begin or end with a hyphen"
+msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:481
+msgid "Domain Value"
+msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:488
msgid "Domain verified!"
msgstr "Domaine vérifié !"
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:86
-#: src/view/com/modals/EditImage.tsx:333
+#: src/components/dialogs/BirthDateSettings.tsx:119
+#: src/components/dialogs/BirthDateSettings.tsx:125
+#: src/components/forms/DateField/index.tsx:74
+#: src/components/forms/DateField/index.tsx:80
+#: src/view/com/auth/server-input/index.tsx:169
+#: src/view/com/auth/server-input/index.tsx:170
+#: src/view/com/modals/AddAppPasswords.tsx:227
+#: src/view/com/modals/AltImage.tsx:140
+#: src/view/com/modals/crop-image/CropImage.web.tsx:153
+#: src/view/com/modals/InviteCodes.tsx:81
+#: src/view/com/modals/InviteCodes.tsx:124
+#: src/view/com/modals/ListAddRemoveUsers.tsx:142
+#: src/view/screens/PreferencesFollowingFeed.tsx:311
+#: src/view/screens/Settings/ExportCarDialog.tsx:94
+#: src/view/screens/Settings/ExportCarDialog.tsx:96
+msgid "Done"
+msgstr "Terminé"
+
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:87
+#: src/view/com/modals/EditImage.tsx:334
#: src/view/com/modals/ListAddRemoveUsers.tsx:144
#: src/view/com/modals/SelfLabel.tsx:157
#: src/view/com/modals/Threadgate.tsx:129
@@ -1096,33 +1348,17 @@ msgctxt "action"
msgid "Done"
msgstr "Terminer"
-#: src/view/com/auth/server-input/index.tsx:165
-#: src/view/com/auth/server-input/index.tsx:166
-#: src/view/com/modals/AddAppPasswords.tsx:226
-#: src/view/com/modals/AltImage.tsx:139
-#: src/view/com/modals/ContentFilteringSettings.tsx:88
-#: src/view/com/modals/ContentFilteringSettings.tsx:96
-#: src/view/com/modals/crop-image/CropImage.web.tsx:152
-#: src/view/com/modals/InviteCodes.tsx:80
-#: src/view/com/modals/InviteCodes.tsx:123
-#: src/view/com/modals/ListAddRemoveUsers.tsx:142
-#: src/view/screens/PreferencesFollowingFeed.tsx:311
-#: src/view/screens/Settings/ExportCarDialog.tsx:93
-#: src/view/screens/Settings/ExportCarDialog.tsx:94
-msgid "Done"
-msgstr "Terminé"
-
-#: src/view/com/modals/lang-settings/ConfirmLanguagesButton.tsx:42
+#: src/view/com/modals/lang-settings/ConfirmLanguagesButton.tsx:43
msgid "Done{extraText}"
msgstr "Terminé{extraText}"
-#: src/view/com/auth/login/ChooseAccountForm.tsx:45
-msgid "Double tap to sign in"
-msgstr "Tapotez deux fois pour vous connecter"
+#: src/view/com/auth/login/ChooseAccountForm.tsx:46
+#~ msgid "Double tap to sign in"
+#~ msgstr "Tapotez deux fois pour vous connecter"
#: src/view/screens/Settings/index.tsx:755
-msgid "Download Bluesky account data (repository)"
-msgstr "Télécharger les données du compte Bluesky (dépôt)"
+#~ msgid "Download Bluesky account data (repository)"
+#~ msgstr "Télécharger les données du compte Bluesky (dépôt)"
#: src/view/screens/Settings/ExportCarDialog.tsx:59
#: src/view/screens/Settings/ExportCarDialog.tsx:63
@@ -1133,35 +1369,47 @@ msgstr "Télécharger le fichier CAR"
msgid "Drop to add images"
msgstr "Déposer pour ajouter des images"
-#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:111
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:120
msgid "Due to Apple policies, adult content can only be enabled on the web after completing sign up."
msgstr "En raison des politiques d’Apple, le contenu pour adultes ne peut être activé que via le Web une fois l’inscription terminée."
-#: src/view/com/modals/EditProfile.tsx:185
+#: src/view/com/modals/ChangeHandle.tsx:258
+msgid "e.g. alice"
+msgstr ""
+
+#: src/view/com/modals/EditProfile.tsx:186
msgid "e.g. Alice Roberts"
msgstr "ex. Alice Dupont"
-#: src/view/com/modals/EditProfile.tsx:203
+#: src/view/com/modals/ChangeHandle.tsx:380
+msgid "e.g. alice.com"
+msgstr ""
+
+#: src/view/com/modals/EditProfile.tsx:204
msgid "e.g. Artist, dog-lover, and avid reader."
msgstr "ex. Artiste, amoureuse des chiens et lectrice passionnée."
-#: src/view/com/modals/CreateOrEditList.tsx:283
+#: src/lib/moderation/useGlobalLabelStrings.ts:43
+msgid "E.g. artistic nudes."
+msgstr ""
+
+#: src/view/com/modals/CreateOrEditList.tsx:284
msgid "e.g. Great Posters"
msgstr "ex. Les meilleurs comptes"
-#: src/view/com/modals/CreateOrEditList.tsx:284
+#: src/view/com/modals/CreateOrEditList.tsx:285
msgid "e.g. Spammers"
msgstr "ex. Spammeurs"
-#: src/view/com/modals/CreateOrEditList.tsx:312
+#: src/view/com/modals/CreateOrEditList.tsx:313
msgid "e.g. The posters who never miss."
msgstr "ex. Ces comptes qui ne ratent jamais leur coup."
-#: src/view/com/modals/CreateOrEditList.tsx:313
+#: src/view/com/modals/CreateOrEditList.tsx:314
msgid "e.g. Users that repeatedly reply with ads."
msgstr "ex. Les comptes qui répondent toujours avec des pubs."
-#: src/view/com/modals/InviteCodes.tsx:96
+#: src/view/com/modals/InviteCodes.tsx:97
msgid "Each code works once. You'll receive more invite codes periodically."
msgstr "Chaque code ne fonctionne qu’une seule fois. Vous recevrez régulièrement d’autres codes d’invitation."
@@ -1170,51 +1418,58 @@ msgctxt "action"
msgid "Edit"
msgstr "Modifier"
+#: src/view/com/util/UserAvatar.tsx:301
+#: src/view/com/util/UserBanner.tsx:85
+msgid "Edit avatar"
+msgstr ""
+
#: src/view/com/composer/photos/Gallery.tsx:144
-#: src/view/com/modals/EditImage.tsx:207
+#: src/view/com/modals/EditImage.tsx:208
msgid "Edit image"
msgstr "Modifier l’image"
-#: src/view/screens/ProfileList.tsx:433
+#: src/view/screens/ProfileList.tsx:405
msgid "Edit list details"
msgstr "Modifier les infos de la liste"
-#: src/view/com/modals/CreateOrEditList.tsx:250
+#: src/view/com/modals/CreateOrEditList.tsx:251
msgid "Edit Moderation List"
msgstr "Modifier la liste de modération"
-#: src/Navigation.tsx:244
-#: src/view/screens/Feeds.tsx:434
-#: src/view/screens/SavedFeeds.tsx:84
+#: src/Navigation.tsx:256
+#: src/view/screens/Feeds.tsx:459
+#: src/view/screens/SavedFeeds.tsx:85
msgid "Edit My Feeds"
msgstr "Modifier mes fils d’actu"
-#: src/view/com/modals/EditProfile.tsx:152
+#: src/view/com/modals/EditProfile.tsx:153
msgid "Edit my profile"
msgstr "Modifier mon profil"
-#: src/view/com/profile/ProfileHeader.tsx:418
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:178
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:168
msgid "Edit profile"
msgstr "Modifier le profil"
-#: src/view/com/profile/ProfileHeader.tsx:423
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:181
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:171
msgid "Edit Profile"
msgstr "Modifier le profil"
-#: src/view/com/home/HomeHeaderLayout.web.tsx:62
-#: src/view/screens/Feeds.tsx:355
+#: src/view/com/home/HomeHeaderLayout.web.tsx:66
+#: src/view/screens/Feeds.tsx:380
msgid "Edit Saved Feeds"
msgstr "Modifier les fils d’actu enregistrés"
-#: src/view/com/modals/CreateOrEditList.tsx:245
+#: src/view/com/modals/CreateOrEditList.tsx:246
msgid "Edit User List"
msgstr "Modifier la liste de comptes"
-#: src/view/com/modals/EditProfile.tsx:193
+#: src/view/com/modals/EditProfile.tsx:194
msgid "Edit your display name"
msgstr "Modifier votre nom d’affichage"
-#: src/view/com/modals/EditProfile.tsx:211
+#: src/view/com/modals/EditProfile.tsx:212
msgid "Edit your profile description"
msgstr "Modifier votre description de profil"
@@ -1222,14 +1477,12 @@ msgstr "Modifier votre description de profil"
msgid "Education"
msgstr "Éducation"
-#: src/view/com/auth/create/Step1.tsx:176
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:156
+#: src/screens/Signup/StepInfo/index.tsx:80
#: src/view/com/modals/ChangeEmail.tsx:141
msgid "Email"
msgstr "E-mail"
-#: src/view/com/auth/create/Step1.tsx:167
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:147
+#: src/screens/Login/ForgotPasswordForm.tsx:99
msgid "Email address"
msgstr "Adresse e-mail"
@@ -1246,26 +1499,49 @@ msgstr "E-mail mis à jour"
msgid "Email verified"
msgstr "Adresse e-mail vérifiée"
-#: src/view/screens/Settings/index.tsx:312
+#: src/view/screens/Settings/index.tsx:334
msgid "Email:"
msgstr "E-mail :"
-#: src/view/com/modals/EmbedConsent.tsx:113
+#: src/components/dialogs/Embed.tsx:112
+msgid "Embed HTML code"
+msgstr ""
+
+#: src/components/dialogs/Embed.tsx:97
+#: src/view/com/util/forms/PostDropdownBtn.tsx:253
+#: src/view/com/util/forms/PostDropdownBtn.tsx:255
+msgid "Embed post"
+msgstr ""
+
+#: src/components/dialogs/Embed.tsx:101
+msgid "Embed this post in your website. Simply copy the following snippet and paste it into the HTML code of your website."
+msgstr ""
+
+#: src/components/dialogs/EmbedConsent.tsx:101
msgid "Enable {0} only"
msgstr "Activer {0} uniquement"
-#: src/view/com/modals/ContentFilteringSettings.tsx:167
+#: src/screens/Moderation/index.tsx:329
+msgid "Enable adult content"
+msgstr ""
+
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:94
msgid "Enable Adult Content"
msgstr "Activer le contenu pour adultes"
-#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:76
-#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:77
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:78
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:79
msgid "Enable adult content in your feeds"
msgstr "Activer le contenu pour adultes dans vos fils d’actu"
+#: src/components/dialogs/EmbedConsent.tsx:82
+#: src/components/dialogs/EmbedConsent.tsx:89
+msgid "Enable external media"
+msgstr ""
+
#: src/view/com/modals/EmbedConsent.tsx:97
-msgid "Enable External Media"
-msgstr "Activer les médias externes"
+#~ msgid "Enable External Media"
+#~ msgstr "Activer les médias externes"
#: src/view/screens/PreferencesExternalEmbeds.tsx:75
msgid "Enable media players for"
@@ -1275,16 +1551,28 @@ msgstr "Activer les lecteurs médias pour"
msgid "Enable this setting to only see replies between people you follow."
msgstr "Activez ce paramètre pour ne voir que les réponses des personnes que vous suivez."
-#: src/view/screens/Profile.tsx:455
+#: src/components/dialogs/EmbedConsent.tsx:94
+msgid "Enable this source only"
+msgstr ""
+
+#: src/screens/Moderation/index.tsx:339
+msgid "Enabled"
+msgstr ""
+
+#: src/screens/Profile/Sections/Feed.tsx:100
msgid "End of feed"
msgstr "Fin du fil d’actu"
-#: src/view/com/modals/AddAppPasswords.tsx:166
+#: src/view/com/modals/AddAppPasswords.tsx:167
msgid "Enter a name for this App Password"
msgstr "Entrer un nom pour ce mot de passe d’application"
+#: src/screens/Login/SetNewPasswordForm.tsx:139
+msgid "Enter a password"
+msgstr ""
+
+#: src/components/dialogs/MutedWords.tsx:99
#: src/components/dialogs/MutedWords.tsx:100
-#: src/components/dialogs/MutedWords.tsx:101
msgid "Enter a word or tag"
msgstr "Saisir un mot ou un mot-clé"
@@ -1292,24 +1580,24 @@ msgstr "Saisir un mot ou un mot-clé"
msgid "Enter Confirmation Code"
msgstr "Entrer un code de confirmation"
-#: src/view/com/modals/ChangePassword.tsx:151
+#: src/view/com/modals/ChangePassword.tsx:153
msgid "Enter the code you received to change your password."
msgstr "Saisissez le code que vous avez reçu pour modifier votre mot de passe."
-#: src/view/com/modals/ChangeHandle.tsx:371
+#: src/view/com/modals/ChangeHandle.tsx:370
msgid "Enter the domain you want to use"
msgstr "Entrez le domaine que vous voulez utiliser"
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:107
+#: src/screens/Login/ForgotPasswordForm.tsx:119
msgid "Enter the email you used to create your account. We'll send you a \"reset code\" so you can set a new password."
msgstr "Saisissez l’e-mail que vous avez utilisé pour créer votre compte. Nous vous enverrons un « code de réinitialisation » afin changer votre mot de passe."
-#: src/view/com/auth/create/Step1.tsx:228
-#: src/view/com/modals/BirthDateSettings.tsx:74
+#: src/components/dialogs/BirthDateSettings.tsx:108
msgid "Enter your birth date"
msgstr "Saisissez votre date de naissance"
-#: src/view/com/auth/create/Step1.tsx:172
+#: src/screens/Login/ForgotPasswordForm.tsx:105
+#: src/screens/Signup/StepInfo/index.tsx:92
msgid "Enter your email address"
msgstr "Entrez votre e-mail"
@@ -1321,15 +1609,15 @@ msgstr "Entrez votre nouvel e-mail ci-dessus"
msgid "Enter your new email address below."
msgstr "Entrez votre nouvelle e-mail ci-dessous."
-#: src/view/com/auth/login/Login.tsx:99
+#: src/screens/Login/index.tsx:101
msgid "Enter your username and password"
msgstr "Entrez votre pseudo et votre mot de passe"
-#: src/view/com/auth/create/Step3.tsx:67
+#: src/screens/Signup/StepCaptcha/index.tsx:49
msgid "Error receiving captcha response."
msgstr "Erreur de réception de la réponse captcha."
-#: src/view/screens/Search/Search.tsx:110
+#: src/view/screens/Search/Search.tsx:115
msgid "Error:"
msgstr "Erreur :"
@@ -1337,115 +1625,148 @@ msgstr "Erreur :"
msgid "Everybody"
msgstr "Tout le monde"
-#: src/view/com/modals/ChangeHandle.tsx:150
+#: src/lib/moderation/useReportOptions.ts:66
+msgid "Excessive mentions or replies"
+msgstr ""
+
+#: src/view/com/modals/DeleteAccount.tsx:230
+msgid "Exits account deletion process"
+msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:151
msgid "Exits handle change process"
msgstr "Sort du processus de changement de pseudo"
-#: src/view/com/lightbox/Lightbox.web.tsx:120
+#: src/view/com/modals/crop-image/CropImage.web.tsx:136
+msgid "Exits image cropping process"
+msgstr ""
+
+#: src/view/com/lightbox/Lightbox.web.tsx:130
msgid "Exits image view"
msgstr "Sort de la vue de l’image"
#: src/view/com/modals/ListAddRemoveUsers.tsx:88
-#: src/view/shell/desktop/Search.tsx:235
+#: src/view/shell/desktop/Search.tsx:236
msgid "Exits inputting search query"
msgstr "Sort de la saisie de la recherche"
-#: src/view/com/lightbox/Lightbox.web.tsx:163
+#: src/view/com/lightbox/Lightbox.web.tsx:183
msgid "Expand alt text"
msgstr "Développer le texte alt"
-#: src/view/com/composer/ComposerReplyTo.tsx:81
-#: src/view/com/composer/ComposerReplyTo.tsx:84
+#: src/view/com/composer/ComposerReplyTo.tsx:82
+#: src/view/com/composer/ComposerReplyTo.tsx:85
msgid "Expand or collapse the full post you are replying to"
msgstr "Développe ou réduit le post complet auquel vous répondez"
-#: src/view/screens/Settings/index.tsx:753
+#: src/lib/moderation/useGlobalLabelStrings.ts:47
+msgid "Explicit or potentially disturbing media."
+msgstr ""
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:35
+msgid "Explicit sexual images."
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:741
msgid "Export my data"
msgstr "Exporter mes données"
#: src/view/screens/Settings/ExportCarDialog.tsx:44
-#: src/view/screens/Settings/index.tsx:764
+#: src/view/screens/Settings/index.tsx:752
msgid "Export My Data"
msgstr "Exporter mes données"
-#: src/view/com/modals/EmbedConsent.tsx:64
+#: src/components/dialogs/EmbedConsent.tsx:55
+#: src/components/dialogs/EmbedConsent.tsx:59
msgid "External Media"
msgstr "Média externe"
-#: src/view/com/modals/EmbedConsent.tsx:75
+#: src/components/dialogs/EmbedConsent.tsx:71
#: src/view/screens/PreferencesExternalEmbeds.tsx:66
msgid "External media may allow websites to collect information about you and your device. No information is sent or requested until you press the \"play\" button."
msgstr "Les médias externes peuvent permettre à des sites web de collecter des informations sur vous et votre appareil. Aucune information n’est envoyée ou demandée tant que vous n’appuyez pas sur le bouton de lecture."
-#: src/Navigation.tsx:263
+#: src/Navigation.tsx:275
#: src/view/screens/PreferencesExternalEmbeds.tsx:52
-#: src/view/screens/Settings/index.tsx:657
+#: src/view/screens/Settings/index.tsx:628
msgid "External Media Preferences"
msgstr "Préférences sur les médias externes"
-#: src/view/screens/Settings/index.tsx:648
+#: src/view/screens/Settings/index.tsx:619
msgid "External media settings"
msgstr "Préférences sur les médias externes"
-#: src/view/com/modals/AddAppPasswords.tsx:115
-#: src/view/com/modals/AddAppPasswords.tsx:119
+#: src/view/com/modals/AddAppPasswords.tsx:116
+#: src/view/com/modals/AddAppPasswords.tsx:120
msgid "Failed to create app password."
msgstr "Échec de la création du mot de passe d’application."
-#: src/view/com/modals/CreateOrEditList.tsx:206
+#: src/view/com/modals/CreateOrEditList.tsx:207
msgid "Failed to create the list. Check your internet connection and try again."
msgstr "Échec de la création de la liste. Vérifiez votre connexion Internet et réessayez."
-#: src/view/com/util/forms/PostDropdownBtn.tsx:128
+#: src/view/com/util/forms/PostDropdownBtn.tsx:131
msgid "Failed to delete post, please try again"
msgstr "Échec de la suppression du post, veuillez réessayer"
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:109
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:141
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:110
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:143
msgid "Failed to load recommended feeds"
msgstr "Échec du chargement des fils d’actu recommandés"
-#: src/Navigation.tsx:194
+#: src/view/com/lightbox/Lightbox.tsx:83
+msgid "Failed to save image: {0}"
+msgstr ""
+
+#: src/Navigation.tsx:196
msgid "Feed"
msgstr "Fil d’actu"
-#: src/view/com/feeds/FeedSourceCard.tsx:231
+#: src/view/com/feeds/FeedSourceCard.tsx:218
msgid "Feed by {0}"
msgstr "Fil d’actu par {0}"
-#: src/view/screens/Feeds.tsx:605
+#: src/view/screens/Feeds.tsx:630
msgid "Feed offline"
msgstr "Fil d’actu hors ligne"
#: src/view/shell/desktop/RightNav.tsx:61
-#: src/view/shell/Drawer.tsx:311
+#: src/view/shell/Drawer.tsx:320
msgid "Feedback"
msgstr "Feedback"
-#: src/Navigation.tsx:452
-#: src/view/screens/Feeds.tsx:419
-#: src/view/screens/Feeds.tsx:524
-#: src/view/screens/Profile.tsx:184
-#: src/view/shell/bottom-bar/BottomBar.tsx:181
-#: src/view/shell/desktop/LeftNav.tsx:342
-#: src/view/shell/Drawer.tsx:476
-#: src/view/shell/Drawer.tsx:477
+#: src/Navigation.tsx:456
+#: src/view/screens/Feeds.tsx:444
+#: src/view/screens/Feeds.tsx:549
+#: src/view/screens/Profile.tsx:199
+#: src/view/shell/bottom-bar/BottomBar.tsx:192
+#: src/view/shell/desktop/LeftNav.tsx:346
+#: src/view/shell/Drawer.tsx:485
+#: src/view/shell/Drawer.tsx:486
msgid "Feeds"
msgstr "Fils d’actu"
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:57
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:58
msgid "Feeds are created by users to curate content. Choose some feeds that you find interesting."
msgstr "Les fils d’actu sont créés par d’autres personnes pour rassembler du contenu. Choisissez des fils d’actu qui vous intéressent."
-#: src/view/screens/SavedFeeds.tsx:156
+#: src/view/screens/SavedFeeds.tsx:157
msgid "Feeds are custom algorithms that users build with a little coding expertise. <0/> for more information."
msgstr "Les fils d’actu sont des algorithmes personnalisés qui se construisent avec un peu d’expertise en programmation. <0/> pour plus d’informations."
-#: src/screens/Onboarding/StepTopicalFeeds.tsx:76
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:80
msgid "Feeds can be topical as well!"
msgstr "Les fils d’actu peuvent également être thématiques !"
-#: src/screens/Onboarding/StepFinished.tsx:151
+#: src/view/com/modals/ChangeHandle.tsx:481
+msgid "File Contents"
+msgstr ""
+
+#: src/lib/moderation/useLabelBehaviorDescription.ts:66
+msgid "Filter from feeds"
+msgstr ""
+
+#: src/screens/Onboarding/StepFinished.tsx:155
msgid "Finalizing"
msgstr "Finalisation"
@@ -1455,15 +1776,15 @@ msgstr "Finalisation"
msgid "Find accounts to follow"
msgstr "Trouver des comptes à suivre"
-#: src/view/screens/Search/Search.tsx:440
+#: src/view/screens/Search/Search.tsx:589
msgid "Find users on Bluesky"
msgstr "Trouver des comptes sur Bluesky"
-#: src/view/screens/Search/Search.tsx:438
+#: src/view/screens/Search/Search.tsx:587
msgid "Find users with the search tool on the right"
msgstr "Trouvez des comptes à l’aide de l’outil de recherche, à droite"
-#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:150
+#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:155
msgid "Finding similar accounts..."
msgstr "Recherche de comptes similaires…"
@@ -1479,49 +1800,60 @@ msgstr "Affine les fils de discussion."
msgid "Fitness"
msgstr "Fitness"
-#: src/screens/Onboarding/StepFinished.tsx:131
+#: src/screens/Onboarding/StepFinished.tsx:135
msgid "Flexible"
msgstr "Flexible"
-#: src/view/com/modals/EditImage.tsx:115
+#: src/view/com/modals/EditImage.tsx:116
msgid "Flip horizontal"
msgstr "Miroir horizontal"
-#: src/view/com/modals/EditImage.tsx:120
-#: src/view/com/modals/EditImage.tsx:287
+#: src/view/com/modals/EditImage.tsx:121
+#: src/view/com/modals/EditImage.tsx:288
msgid "Flip vertically"
msgstr "Miroir vertical"
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:181
-#: src/view/com/post-thread/PostThreadFollowBtn.tsx:136
-#: src/view/com/profile/ProfileHeader.tsx:513
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:189
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:235
+#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:141
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:146
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:248
msgid "Follow"
msgstr "Suivre"
-#: src/view/com/profile/FollowButton.tsx:64
+#: src/view/com/profile/FollowButton.tsx:69
msgctxt "action"
msgid "Follow"
msgstr "Suivre"
#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:58
-#: src/view/com/post-thread/PostThreadFollowBtn.tsx:122
-#: src/view/com/profile/ProfileHeader.tsx:504
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:221
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:128
msgid "Follow {0}"
msgstr "Suivre {0}"
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:179
+#: src/view/com/profile/ProfileMenu.tsx:242
+#: src/view/com/profile/ProfileMenu.tsx:253
+msgid "Follow Account"
+msgstr ""
+
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:187
msgid "Follow All"
msgstr "Suivre tous"
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:174
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:144
+msgid "Follow Back"
+msgstr ""
+
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:182
msgid "Follow selected accounts and continue to the next step"
msgstr "Suivre les comptes sélectionnés et passer à l’étape suivante"
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:64
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:65
msgid "Follow some users to get started. We can recommend you more users based on who you find interesting."
msgstr "Suivez quelques comptes pour commencer. Nous pouvons vous recommander d’autres comptes en fonction des personnes qui vous intéressent."
-#: src/view/com/profile/ProfileCard.tsx:194
+#: src/view/com/profile/ProfileCard.tsx:219
msgid "Followed by {0}"
msgstr "Suivi par {0}"
@@ -1533,37 +1865,43 @@ msgstr "Comptes suivis"
msgid "Followed users only"
msgstr "Comptes suivis uniquement"
-#: src/view/com/notifications/FeedItem.tsx:166
+#: src/view/com/notifications/FeedItem.tsx:172
msgid "followed you"
msgstr "vous suit"
+#: src/view/com/profile/ProfileFollowers.tsx:104
#: src/view/screens/ProfileFollowers.tsx:25
msgid "Followers"
msgstr "Abonné·e·s"
-#: src/view/com/post-thread/PostThreadFollowBtn.tsx:136
-#: src/view/com/profile/ProfileHeader.tsx:495
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:233
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:149
+#: src/view/com/profile/ProfileFollows.tsx:104
#: src/view/screens/ProfileFollows.tsx:25
msgid "Following"
msgstr "Suivi"
-#: src/view/com/profile/ProfileHeader.tsx:149
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:93
msgid "Following {0}"
msgstr "Suit {0}"
-#: src/Navigation.tsx:250
-#: src/view/com/home/HomeHeaderLayout.web.tsx:50
-#: src/view/com/home/HomeHeaderLayoutMobile.tsx:84
+#: src/view/screens/Settings/index.tsx:504
+msgid "Following feed preferences"
+msgstr ""
+
+#: src/Navigation.tsx:262
+#: src/view/com/home/HomeHeaderLayout.web.tsx:54
+#: src/view/com/home/HomeHeaderLayoutMobile.tsx:87
#: src/view/screens/PreferencesFollowingFeed.tsx:104
-#: src/view/screens/Settings/index.tsx:543
+#: src/view/screens/Settings/index.tsx:513
msgid "Following Feed Preferences"
msgstr "Préférences en matière de fil d’actu « Following »"
-#: src/view/com/profile/ProfileHeader.tsx:546
+#: src/screens/Profile/Header/Handle.tsx:24
msgid "Follows you"
msgstr "Vous suit"
-#: src/view/com/profile/ProfileCard.tsx:141
+#: src/view/com/profile/ProfileCard.tsx:144
msgid "Follows You"
msgstr "Vous suit"
@@ -1571,33 +1909,45 @@ msgstr "Vous suit"
msgid "Food"
msgstr "Nourriture"
-#: src/view/com/modals/DeleteAccount.tsx:111
+#: src/view/com/modals/DeleteAccount.tsx:110
msgid "For security reasons, we'll need to send a confirmation code to your email address."
msgstr "Pour des raisons de sécurité, nous devrons envoyer un code de confirmation à votre e-mail."
-#: src/view/com/modals/AddAppPasswords.tsx:209
+#: src/view/com/modals/AddAppPasswords.tsx:210
msgid "For security reasons, you won't be able to view this again. If you lose this password, you'll need to generate a new one."
msgstr "Pour des raisons de sécurité, vous ne pourrez plus afficher ceci. Si vous perdez ce mot de passe, vous devrez en générer un autre."
+#: src/view/com/auth/login/LoginForm.tsx:244
+#~ msgid "Forgot"
+#~ msgstr "Oublié"
+
#: src/view/com/auth/login/LoginForm.tsx:241
-msgid "Forgot"
-msgstr "Oublié"
+#~ msgid "Forgot password"
+#~ msgstr "Mot de passe oublié"
-#: src/view/com/auth/login/LoginForm.tsx:238
-msgid "Forgot password"
-msgstr "Mot de passe oublié"
-
-#: src/view/com/auth/login/Login.tsx:127
-#: src/view/com/auth/login/Login.tsx:143
+#: src/screens/Login/index.tsx:129
+#: src/screens/Login/index.tsx:144
msgid "Forgot Password"
msgstr "Mot de passe oublié"
-#: src/screens/Hashtag.tsx:108
-#: src/screens/Hashtag.tsx:148
+#: src/screens/Login/LoginForm.tsx:201
+msgid "Forgot password?"
+msgstr ""
+
+#: src/screens/Login/LoginForm.tsx:212
+msgid "Forgot?"
+msgstr ""
+
+#: src/lib/moderation/useReportOptions.ts:52
+msgid "Frequently Posts Unwanted Content"
+msgstr ""
+
+#: src/screens/Hashtag.tsx:109
+#: src/screens/Hashtag.tsx:149
msgid "From @{sanitizedAuthor}"
msgstr "De @{sanitizedAuthor}"
-#: src/view/com/posts/FeedItem.tsx:189
+#: src/view/com/posts/FeedItem.tsx:181
msgctxt "from-feed"
msgid "From <0/>"
msgstr "Tiré de <0/>"
@@ -1611,109 +1961,140 @@ msgstr "Galerie"
msgid "Get Started"
msgstr "C’est parti"
-#: src/view/com/auth/LoggedOut.tsx:81
+#: src/lib/moderation/useReportOptions.ts:37
+msgid "Glaring violations of law or terms of service"
+msgstr ""
+
+#: src/components/moderation/ScreenHider.tsx:151
+#: src/components/moderation/ScreenHider.tsx:160
#: src/view/com/auth/LoggedOut.tsx:82
-#: src/view/com/util/moderation/ScreenHider.tsx:123
-#: src/view/shell/desktop/LeftNav.tsx:104
+#: src/view/com/auth/LoggedOut.tsx:83
+#: src/view/screens/NotFound.tsx:55
+#: src/view/screens/ProfileFeed.tsx:112
+#: src/view/screens/ProfileList.tsx:918
+#: src/view/shell/desktop/LeftNav.tsx:108
msgid "Go back"
msgstr "Retour"
-#: src/view/screens/ProfileFeed.tsx:106
-#: src/view/screens/ProfileFeed.tsx:111
-#: src/view/screens/ProfileList.tsx:902
-#: src/view/screens/ProfileList.tsx:907
+#: src/components/Error.tsx:91
+#: src/screens/Profile/ErrorState.tsx:62
+#: src/screens/Profile/ErrorState.tsx:66
+#: src/view/screens/NotFound.tsx:54
+#: src/view/screens/ProfileFeed.tsx:117
+#: src/view/screens/ProfileList.tsx:923
msgid "Go Back"
msgstr "Retour"
-#: src/screens/Onboarding/Layout.tsx:104
-#: src/screens/Onboarding/Layout.tsx:193
+#: src/components/ReportDialog/SelectReportOptionView.tsx:73
+#: src/components/ReportDialog/SubmitView.tsx:102
+#: src/screens/Onboarding/Layout.tsx:102
+#: src/screens/Onboarding/Layout.tsx:191
+#: src/screens/Signup/index.tsx:174
msgid "Go back to previous step"
msgstr "Retour à l’étape précédente"
-#: src/view/screens/Search/Search.tsx:747
-#: src/view/shell/desktop/Search.tsx:262
+#: src/view/screens/NotFound.tsx:55
+msgid "Go home"
+msgstr ""
+
+#: src/view/screens/NotFound.tsx:54
+msgid "Go Home"
+msgstr ""
+
+#: src/view/screens/Search/Search.tsx:896
+#: src/view/shell/desktop/Search.tsx:263
msgid "Go to @{queryMaybeHandle}"
msgstr "Aller à @{queryMaybeHandle}"
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:189
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:218
-#: src/view/com/auth/login/LoginForm.tsx:288
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:195
-#: src/view/com/modals/ChangePassword.tsx:165
+#: src/screens/Login/ForgotPasswordForm.tsx:172
+#: src/view/com/modals/ChangePassword.tsx:167
msgid "Go to next"
msgstr "Aller à la suite"
-#: src/view/com/modals/ChangeHandle.tsx:265
+#: src/lib/moderation/useGlobalLabelStrings.ts:46
+msgid "Graphic Media"
+msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:266
msgid "Handle"
msgstr "Pseudo"
-#: src/Navigation.tsx:270
+#: src/lib/moderation/useReportOptions.ts:32
+msgid "Harassment, trolling, or intolerance"
+msgstr ""
+
+#: src/Navigation.tsx:282
msgid "Hashtag"
msgstr "Mot-clé"
-#: src/components/RichText.tsx:190
+#: src/components/RichText.tsx:197
msgid "Hashtag: #{tag}"
msgstr "Mot-clé : #{tag}"
-#: src/view/com/auth/create/CreateAccount.tsx:208
+#: src/screens/Signup/index.tsx:221
msgid "Having trouble?"
msgstr "Un souci ?"
#: src/view/shell/desktop/RightNav.tsx:90
-#: src/view/shell/Drawer.tsx:321
+#: src/view/shell/Drawer.tsx:330
msgid "Help"
msgstr "Aide"
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:132
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:140
msgid "Here are some accounts for you to follow"
msgstr "Voici quelques comptes à suivre"
-#: src/screens/Onboarding/StepTopicalFeeds.tsx:85
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:89
msgid "Here are some popular topical feeds. You can choose to follow as many as you like."
msgstr "Voici quelques fils d’actu thématiques populaires. Vous pouvez choisir d’en suivre autant que vous le souhaitez."
-#: src/screens/Onboarding/StepTopicalFeeds.tsx:80
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:84
msgid "Here are some topical feeds based on your interests: {interestsText}. You can choose to follow as many as you like."
msgstr "Voici quelques fils d’actu thématiques basés sur vos centres d’intérêt : {interestsText}. Vous pouvez choisir d’en suivre autant que vous le souhaitez."
-#: src/view/com/modals/AddAppPasswords.tsx:153
+#: src/view/com/modals/AddAppPasswords.tsx:154
msgid "Here is your app password."
msgstr "Voici le mot de passe de votre appli."
-#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:41
-#: src/view/com/modals/ContentFilteringSettings.tsx:251
-#: src/view/com/util/moderation/ContentHider.tsx:105
-#: src/view/com/util/moderation/PostHider.tsx:108
+#: src/components/moderation/ContentHider.tsx:115
+#: src/components/moderation/LabelPreference.tsx:134
+#: src/components/moderation/PostHider.tsx:107
+#: src/lib/moderation/useLabelBehaviorDescription.ts:15
+#: src/lib/moderation/useLabelBehaviorDescription.ts:20
+#: src/lib/moderation/useLabelBehaviorDescription.ts:25
+#: src/lib/moderation/useLabelBehaviorDescription.ts:30
+#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:52
+#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:76
+#: src/view/com/util/forms/PostDropdownBtn.tsx:350
msgid "Hide"
msgstr "Cacher"
-#: src/view/com/modals/ContentFilteringSettings.tsx:224
-#: src/view/com/notifications/FeedItem.tsx:326
+#: src/view/com/notifications/FeedItem.tsx:331
msgctxt "action"
msgid "Hide"
msgstr "Cacher"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:276
-#: src/view/com/util/forms/PostDropdownBtn.tsx:287
+#: src/view/com/util/forms/PostDropdownBtn.tsx:294
+#: src/view/com/util/forms/PostDropdownBtn.tsx:296
msgid "Hide post"
msgstr "Cacher ce post"
-#: src/view/com/util/moderation/ContentHider.tsx:67
-#: src/view/com/util/moderation/PostHider.tsx:61
+#: src/components/moderation/ContentHider.tsx:67
+#: src/components/moderation/PostHider.tsx:64
msgid "Hide the content"
msgstr "Cacher ce contenu"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:280
+#: src/view/com/util/forms/PostDropdownBtn.tsx:347
msgid "Hide this post?"
msgstr "Cacher ce post ?"
-#: src/view/com/notifications/FeedItem.tsx:316
+#: src/view/com/notifications/FeedItem.tsx:321
msgid "Hide user list"
msgstr "Cacher la liste des comptes"
#: src/view/com/profile/ProfileHeader.tsx:487
-msgid "Hides posts from {0} in your feed"
-msgstr "Masque les posts de {0} dans votre fil d’actu"
+#~ msgid "Hides posts from {0} in your feed"
+#~ msgstr "Masque les posts de {0} dans votre fil d’actu"
#: src/view/com/posts/FeedErrorMessage.tsx:111
msgid "Hmm, some kind of issue occurred when contacting the feed server. Please let the feed owner know about this issue."
@@ -1735,16 +2116,30 @@ msgstr "Mmm… le serveur de fils d’actu ne répond pas. Veuillez informer la
msgid "Hmm, we're having trouble finding this feed. It may have been deleted."
msgstr "Hmm, nous n’arrivons pas à trouver ce fil d’actu. Il a peut-être été supprimé."
-#: src/Navigation.tsx:442
-#: src/view/shell/bottom-bar/BottomBar.tsx:137
-#: src/view/shell/desktop/LeftNav.tsx:306
-#: src/view/shell/Drawer.tsx:398
-#: src/view/shell/Drawer.tsx:399
+#: src/screens/Moderation/index.tsx:59
+msgid "Hmmmm, it seems we're having trouble loading this data. See below for more details. If this issue persists, please contact us."
+msgstr ""
+
+#: src/screens/Profile/ErrorState.tsx:31
+msgid "Hmmmm, we couldn't load that moderation service."
+msgstr ""
+
+#: src/Navigation.tsx:446
+#: src/view/shell/bottom-bar/BottomBar.tsx:148
+#: src/view/shell/desktop/LeftNav.tsx:310
+#: src/view/shell/Drawer.tsx:407
+#: src/view/shell/Drawer.tsx:408
msgid "Home"
msgstr "Accueil"
-#: src/view/com/auth/create/Step1.tsx:75
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:120
+#: src/view/com/modals/ChangeHandle.tsx:420
+msgid "Host:"
+msgstr ""
+
+#: src/screens/Login/ForgotPasswordForm.tsx:89
+#: src/screens/Login/LoginForm.tsx:134
+#: src/screens/Signup/StepInfo/index.tsx:40
+#: src/view/com/modals/ChangeHandle.tsx:281
msgid "Hosting provider"
msgstr "Hébergeur"
@@ -1760,11 +2155,11 @@ msgstr "J’ai un code"
msgid "I have a confirmation code"
msgstr "J’ai un code de confirmation"
-#: src/view/com/modals/ChangeHandle.tsx:283
+#: src/view/com/modals/ChangeHandle.tsx:284
msgid "I have my own domain"
msgstr "J’ai mon propre domaine"
-#: src/view/com/lightbox/Lightbox.web.tsx:165
+#: src/view/com/lightbox/Lightbox.web.tsx:185
msgid "If alt text is long, toggles alt text expanded state"
msgstr "Si le texte alternatif est trop long, change son mode d’affichage"
@@ -1772,102 +2167,124 @@ msgstr "Si le texte alternatif est trop long, change son mode d’affichage"
msgid "If none are selected, suitable for all ages."
msgstr "Si rien n’est sélectionné, il n’y a pas de restriction d’âge."
-#: src/view/com/modals/ChangePassword.tsx:146
+#: src/screens/Signup/StepInfo/Policies.tsx:83
+msgid "If you are not yet an adult according to the laws of your country, your parent or legal guardian must read these Terms on your behalf."
+msgstr ""
+
+#: src/view/screens/ProfileList.tsx:612
+msgid "If you delete this list, you won't be able to recover it."
+msgstr ""
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:338
+msgid "If you remove this post, you won't be able to recover it."
+msgstr ""
+
+#: src/view/com/modals/ChangePassword.tsx:148
msgid "If you want to change your password, we will send you a code to verify that this is your account."
msgstr "Si vous souhaitez modifier votre mot de passe, nous vous enverrons un code pour vérifier qu’il s’agit bien de votre compte."
+#: src/lib/moderation/useReportOptions.ts:36
+msgid "Illegal and Urgent"
+msgstr ""
+
#: src/view/com/util/images/Gallery.tsx:38
msgid "Image"
msgstr "Image"
-#: src/view/com/modals/AltImage.tsx:120
+#: src/view/com/modals/AltImage.tsx:121
msgid "Image alt text"
msgstr "Texte alt de l’image"
#: src/view/com/util/UserAvatar.tsx:311
#: src/view/com/util/UserBanner.tsx:118
-msgid "Image options"
-msgstr "Options d’images"
+#~ msgid "Image options"
+#~ msgstr "Options d’images"
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:138
+#: src/lib/moderation/useReportOptions.ts:47
+msgid "Impersonation or false claims about identity or affiliation"
+msgstr ""
+
+#: src/screens/Login/SetNewPasswordForm.tsx:127
msgid "Input code sent to your email for password reset"
msgstr "Entrez le code envoyé à votre e-mail pour réinitialiser le mot de passe"
-#: src/view/com/modals/DeleteAccount.tsx:184
+#: src/view/com/modals/DeleteAccount.tsx:183
msgid "Input confirmation code for account deletion"
msgstr "Entrez le code de confirmation pour supprimer le compte"
#: src/view/com/auth/create/Step1.tsx:177
-msgid "Input email for Bluesky account"
-msgstr "Saisir l’email pour le compte Bluesky"
+#~ msgid "Input email for Bluesky account"
+#~ msgstr "Saisir l’email pour le compte Bluesky"
#: src/view/com/auth/create/Step1.tsx:151
-msgid "Input invite code to proceed"
-msgstr "Entrez le code d’invitation pour continuer"
+#~ msgid "Input invite code to proceed"
+#~ msgstr "Entrez le code d’invitation pour continuer"
-#: src/view/com/modals/AddAppPasswords.tsx:180
+#: src/view/com/modals/AddAppPasswords.tsx:181
msgid "Input name for app password"
msgstr "Entrez le nom du mot de passe de l’appli"
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:162
+#: src/screens/Login/SetNewPasswordForm.tsx:151
msgid "Input new password"
msgstr "Entrez le nouveau mot de passe"
-#: src/view/com/modals/DeleteAccount.tsx:203
+#: src/view/com/modals/DeleteAccount.tsx:202
msgid "Input password for account deletion"
msgstr "Entrez le mot de passe pour la suppression du compte"
-#: src/view/com/auth/login/LoginForm.tsx:230
+#: src/screens/Login/LoginForm.tsx:195
msgid "Input the password tied to {identifier}"
msgstr "Entrez le mot de passe associé à {identifier}"
-#: src/view/com/auth/login/LoginForm.tsx:197
+#: src/screens/Login/LoginForm.tsx:168
msgid "Input the username or email address you used at signup"
msgstr "Entrez le pseudo ou l’adresse e-mail que vous avez utilisé lors de l’inscription"
-#: src/view/com/auth/login/LoginForm.tsx:229
+#: src/screens/Login/LoginForm.tsx:194
msgid "Input your password"
msgstr "Entrez votre mot de passe"
-#: src/view/com/auth/create/Step2.tsx:80
+#: src/view/com/modals/ChangeHandle.tsx:389
+msgid "Input your preferred hosting provider"
+msgstr ""
+
+#: src/screens/Signup/StepHandle.tsx:63
msgid "Input your user handle"
msgstr "Entrez votre pseudo"
-#: src/view/com/post-thread/PostThreadItem.tsx:226
+#: src/view/com/post-thread/PostThreadItem.tsx:221
msgid "Invalid or unsupported post record"
msgstr "Enregistrement de post invalide ou non pris en charge"
-#: src/view/com/auth/login/LoginForm.tsx:113
+#: src/screens/Login/LoginForm.tsx:114
msgid "Invalid username or password"
msgstr "Pseudo ou mot de passe incorrect"
-#: src/view/com/modals/InviteCodes.tsx:93
+#: src/view/com/modals/InviteCodes.tsx:94
msgid "Invite a Friend"
msgstr "Inviter un ami"
-#: src/view/com/auth/create/Step1.tsx:141
-#: src/view/com/auth/create/Step1.tsx:150
+#: src/screens/Signup/StepInfo/index.tsx:58
msgid "Invite code"
msgstr "Code d’invitation"
-#: src/view/com/auth/create/state.ts:158
+#: src/screens/Signup/state.ts:278
msgid "Invite code not accepted. Check that you input it correctly and try again."
msgstr "Code d’invitation refusé. Vérifiez que vous l’avez saisi correctement et réessayez."
-#: src/view/com/modals/InviteCodes.tsx:170
+#: src/view/com/modals/InviteCodes.tsx:171
msgid "Invite codes: {0} available"
msgstr "Code d’invitation : {0} disponible"
-#: src/view/com/modals/InviteCodes.tsx:169
+#: src/view/com/modals/InviteCodes.tsx:170
msgid "Invite codes: 1 available"
msgstr "Invitations : 1 code dispo"
-#: src/screens/Onboarding/StepFollowingFeed.tsx:64
+#: src/screens/Onboarding/StepFollowingFeed.tsx:65
msgid "It shows posts from the people you follow as they happen."
msgstr "Il affiche les posts des personnes que vous suivez au fur et à mesure qu’ils sont publiés."
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:99
-#: src/view/com/auth/SplashScreen.web.tsx:138
+#: src/view/com/auth/SplashScreen.web.tsx:152
msgid "Jobs"
msgstr "Emplois"
@@ -1875,54 +2292,94 @@ msgstr "Emplois"
msgid "Journalism"
msgstr "Journalisme"
+#: src/components/moderation/LabelsOnMe.tsx:59
+msgid "label has been placed on this {labelTarget}"
+msgstr ""
+
+#: src/components/moderation/ContentHider.tsx:144
+msgid "Labeled by {0}."
+msgstr ""
+
+#: src/components/moderation/ContentHider.tsx:142
+msgid "Labeled by the author."
+msgstr ""
+
+#: src/view/screens/Profile.tsx:193
+msgid "Labels"
+msgstr ""
+
+#: src/screens/Profile/Sections/Labels.tsx:153
+msgid "Labels are annotations on users and content. They can be used to hide, warn, and categorize the network."
+msgstr ""
+
+#: src/components/moderation/LabelsOnMe.tsx:61
+msgid "labels have been placed on this {labelTarget}"
+msgstr ""
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:62
+msgid "Labels on your account"
+msgstr ""
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:64
+msgid "Labels on your content"
+msgstr ""
+
#: src/view/com/composer/select-language/SelectLangBtn.tsx:104
msgid "Language selection"
msgstr "Sélection de la langue"
-#: src/view/screens/Settings/index.tsx:594
+#: src/view/screens/Settings/index.tsx:565
msgid "Language settings"
msgstr "Préférences de langue"
-#: src/Navigation.tsx:142
+#: src/Navigation.tsx:144
#: src/view/screens/LanguageSettings.tsx:89
msgid "Language Settings"
msgstr "Paramètres linguistiques"
-#: src/view/screens/Settings/index.tsx:603
+#: src/view/screens/Settings/index.tsx:574
msgid "Languages"
msgstr "Langues"
#: src/view/com/auth/create/StepHeader.tsx:20
-msgid "Last step!"
-msgstr "Dernière étape !"
+#~ msgid "Last step!"
+#~ msgstr "Dernière étape !"
+
+#: src/view/screens/Search/Search.tsx:437
+msgid "Latest"
+msgstr ""
#: src/view/com/util/moderation/ContentHider.tsx:103
-msgid "Learn more"
-msgstr "En savoir plus"
+#~ msgid "Learn more"
+#~ msgstr "En savoir plus"
-#: src/view/com/util/moderation/PostAlerts.tsx:47
-#: src/view/com/util/moderation/ProfileHeaderAlerts.tsx:65
-#: src/view/com/util/moderation/ScreenHider.tsx:104
+#: src/components/moderation/ScreenHider.tsx:136
msgid "Learn More"
msgstr "En savoir plus"
-#: src/view/com/util/moderation/ContentHider.tsx:85
-#: src/view/com/util/moderation/PostAlerts.tsx:40
-#: src/view/com/util/moderation/PostHider.tsx:78
-#: src/view/com/util/moderation/ProfileHeaderAlerts.tsx:49
-#: src/view/com/util/moderation/ScreenHider.tsx:101
+#: src/components/moderation/ContentHider.tsx:65
+#: src/components/moderation/ContentHider.tsx:128
+msgid "Learn more about the moderation applied to this content."
+msgstr ""
+
+#: src/components/moderation/PostHider.tsx:85
+#: src/components/moderation/ScreenHider.tsx:125
msgid "Learn more about this warning"
msgstr "En savoir plus sur cet avertissement"
-#: src/view/screens/Moderation.tsx:262
+#: src/screens/Moderation/index.tsx:549
msgid "Learn more about what is public on Bluesky."
msgstr "En savoir plus sur ce qui est public sur Bluesky."
+#: src/components/moderation/ContentHider.tsx:152
+msgid "Learn more."
+msgstr ""
+
#: src/view/com/modals/lang-settings/ContentLanguagesSettings.tsx:82
msgid "Leave them all unchecked to see any language."
msgstr "Si vous ne cochez rien, toutes les langues s’afficheront."
-#: src/view/com/modals/LinkWarning.tsx:51
+#: src/view/com/modals/LinkWarning.tsx:65
msgid "Leaving Bluesky"
msgstr "Quitter Bluesky"
@@ -1930,134 +2387,145 @@ msgstr "Quitter Bluesky"
msgid "left to go."
msgstr "devant vous dans la file."
-#: src/view/screens/Settings/index.tsx:278
+#: src/view/screens/Settings/index.tsx:299
msgid "Legacy storage cleared, you need to restart the app now."
msgstr "Stockage ancien effacé, vous devez redémarrer l’application maintenant."
-#: src/view/com/auth/login/Login.tsx:128
-#: src/view/com/auth/login/Login.tsx:144
+#: src/screens/Login/index.tsx:130
+#: src/screens/Login/index.tsx:145
msgid "Let's get your password reset!"
msgstr "Réinitialisez votre mot de passe !"
-#: src/screens/Onboarding/StepFinished.tsx:151
+#: src/screens/Onboarding/StepFinished.tsx:155
msgid "Let's go!"
msgstr "Allons-y !"
#: src/view/com/util/UserAvatar.tsx:248
#: src/view/com/util/UserBanner.tsx:62
-msgid "Library"
-msgstr "Bibliothèque"
+#~ msgid "Library"
+#~ msgstr "Bibliothèque"
-#: src/view/screens/Settings/index.tsx:479
+#: src/view/screens/Settings/index.tsx:449
msgid "Light"
msgstr "Clair"
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:182
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:197
msgid "Like"
msgstr "Liker"
-#: src/view/screens/ProfileFeed.tsx:591
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:264
+#: src/view/screens/ProfileFeed.tsx:585
msgid "Like this feed"
msgstr "Liker ce fil d’actu"
-#: src/Navigation.tsx:199
+#: src/components/LikesDialog.tsx:87
+#: src/Navigation.tsx:201
+#: src/Navigation.tsx:206
msgid "Liked by"
msgstr "Liké par"
+#: src/screens/Profile/ProfileLabelerLikedBy.tsx:29
#: src/view/screens/PostLikedBy.tsx:27
#: src/view/screens/ProfileFeedLikedBy.tsx:27
msgid "Liked By"
msgstr "Liké par"
-#: src/view/com/feeds/FeedSourceCard.tsx:279
+#: src/view/com/feeds/FeedSourceCard.tsx:268
msgid "Liked by {0} {1}"
msgstr "Liké par {0} {1}"
-#: src/view/screens/ProfileFeed.tsx:606
+#: src/components/LabelingServiceCard/index.tsx:72
+msgid "Liked by {count} {0}"
+msgstr ""
+
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:284
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:298
+#: src/view/screens/ProfileFeed.tsx:600
msgid "Liked by {likeCount} {0}"
msgstr "Liké par {likeCount} {0}"
-#: src/view/com/notifications/FeedItem.tsx:170
+#: src/view/com/notifications/FeedItem.tsx:176
msgid "liked your custom feed"
msgstr "liké votre fil d’actu personnalisé"
-#: src/view/com/notifications/FeedItem.tsx:155
+#: src/view/com/notifications/FeedItem.tsx:161
msgid "liked your post"
msgstr "liké votre post"
-#: src/view/screens/Profile.tsx:183
+#: src/view/screens/Profile.tsx:198
msgid "Likes"
msgstr "Likes"
-#: src/view/com/post-thread/PostThreadItem.tsx:183
+#: src/view/com/post-thread/PostThreadItem.tsx:182
msgid "Likes on this post"
msgstr "Likes sur ce post"
-#: src/Navigation.tsx:168
+#: src/Navigation.tsx:170
msgid "List"
msgstr "Liste"
-#: src/view/com/modals/CreateOrEditList.tsx:261
+#: src/view/com/modals/CreateOrEditList.tsx:262
msgid "List Avatar"
msgstr "Liste des avatars"
-#: src/view/screens/ProfileList.tsx:324
+#: src/view/screens/ProfileList.tsx:313
msgid "List blocked"
msgstr "Liste bloquée"
-#: src/view/com/feeds/FeedSourceCard.tsx:233
+#: src/view/com/feeds/FeedSourceCard.tsx:220
msgid "List by {0}"
msgstr "Liste par {0}"
-#: src/view/screens/ProfileList.tsx:378
+#: src/view/screens/ProfileList.tsx:357
msgid "List deleted"
msgstr "Liste supprimée"
-#: src/view/screens/ProfileList.tsx:283
+#: src/view/screens/ProfileList.tsx:285
msgid "List muted"
msgstr "Liste masquée"
-#: src/view/com/modals/CreateOrEditList.tsx:275
+#: src/view/com/modals/CreateOrEditList.tsx:276
msgid "List Name"
msgstr "Nom de liste"
-#: src/view/screens/ProfileList.tsx:343
+#: src/view/screens/ProfileList.tsx:327
msgid "List unblocked"
msgstr "Liste débloquée"
-#: src/view/screens/ProfileList.tsx:302
+#: src/view/screens/ProfileList.tsx:299
msgid "List unmuted"
msgstr "Liste démasquée"
-#: src/Navigation.tsx:112
-#: src/view/screens/Profile.tsx:185
-#: src/view/shell/desktop/LeftNav.tsx:379
-#: src/view/shell/Drawer.tsx:492
-#: src/view/shell/Drawer.tsx:493
+#: src/Navigation.tsx:114
+#: src/view/screens/Profile.tsx:194
+#: src/view/screens/Profile.tsx:200
+#: src/view/shell/desktop/LeftNav.tsx:383
+#: src/view/shell/Drawer.tsx:501
+#: src/view/shell/Drawer.tsx:502
msgid "Lists"
msgstr "Listes"
#: src/view/com/post-thread/PostThread.tsx:333
#: src/view/com/post-thread/PostThread.tsx:341
-msgid "Load more posts"
-msgstr "Charger plus de posts"
+#~ msgid "Load more posts"
+#~ msgstr "Charger plus de posts"
#: src/view/screens/Notifications.tsx:159
msgid "Load new notifications"
msgstr "Charger les nouvelles notifications"
-#: src/view/com/feeds/FeedPage.tsx:115
-#: src/view/screens/Profile.tsx:440
-#: src/view/screens/ProfileFeed.tsx:495
-#: src/view/screens/ProfileList.tsx:681
+#: src/screens/Profile/Sections/Feed.tsx:86
+#: src/view/com/feeds/FeedPage.tsx:138
+#: src/view/screens/ProfileFeed.tsx:507
+#: src/view/screens/ProfileList.tsx:697
msgid "Load new posts"
msgstr "Charger les nouveaux posts"
-#: src/view/com/composer/text-input/mobile/Autocomplete.tsx:95
+#: src/view/com/composer/text-input/mobile/Autocomplete.tsx:99
msgid "Loading..."
msgstr "Chargement…"
-#: src/Navigation.tsx:209
+#: src/Navigation.tsx:221
msgid "Log"
msgstr "Journaux"
@@ -2068,31 +2536,35 @@ msgstr "Journaux"
msgid "Log out"
msgstr "Déconnexion"
-#: src/view/screens/Moderation.tsx:155
+#: src/screens/Moderation/index.tsx:442
msgid "Logged-out visibility"
msgstr "Visibilité déconnectée"
-#: src/view/com/auth/login/ChooseAccountForm.tsx:133
+#: src/components/AccountList.tsx:54
msgid "Login to account that is not listed"
msgstr "Se connecter à un compte qui n’est pas listé"
-#: src/view/com/modals/LinkWarning.tsx:65
+#: src/screens/Login/SetNewPasswordForm.tsx:116
+msgid "Looks like XXXXX-XXXXX"
+msgstr ""
+
+#: src/view/com/modals/LinkWarning.tsx:79
msgid "Make sure this is where you intend to go!"
msgstr "Assurez-vous que c’est bien là que vous avez l’intention d’aller !"
-#: src/components/dialogs/MutedWords.tsx:83
+#: src/components/dialogs/MutedWords.tsx:82
msgid "Manage your muted words and tags"
msgstr "Gérer les mots et les mots-clés masqués"
#: src/view/com/auth/create/Step2.tsx:118
-msgid "May not be longer than 253 characters"
-msgstr "Ne doit pas dépasser 253 caractères"
+#~ msgid "May not be longer than 253 characters"
+#~ msgstr "Ne doit pas dépasser 253 caractères"
#: src/view/com/auth/create/Step2.tsx:109
-msgid "May only contain letters and numbers"
-msgstr "Ne peut contenir que des lettres et des chiffres"
+#~ msgid "May only contain letters and numbers"
+#~ msgstr "Ne peut contenir que des lettres et des chiffres"
-#: src/view/screens/Profile.tsx:182
+#: src/view/screens/Profile.tsx:197
msgid "Media"
msgstr "Média"
@@ -2105,70 +2577,89 @@ msgid "Mentioned users"
msgstr "Comptes mentionnés"
#: src/view/com/util/ViewHeader.tsx:87
-#: src/view/screens/Search/Search.tsx:646
+#: src/view/screens/Search/Search.tsx:795
msgid "Menu"
msgstr "Menu"
-#: src/view/com/posts/FeedErrorMessage.tsx:197
+#: src/view/com/posts/FeedErrorMessage.tsx:192
msgid "Message from server: {0}"
msgstr "Message du serveur : {0}"
-#: src/Navigation.tsx:117
-#: src/view/screens/Moderation.tsx:66
-#: src/view/screens/Settings/index.tsx:625
-#: src/view/shell/desktop/LeftNav.tsx:397
-#: src/view/shell/Drawer.tsx:511
-#: src/view/shell/Drawer.tsx:512
+#: src/lib/moderation/useReportOptions.ts:45
+msgid "Misleading Account"
+msgstr ""
+
+#: src/Navigation.tsx:119
+#: src/screens/Moderation/index.tsx:104
+#: src/view/screens/Settings/index.tsx:596
+#: src/view/shell/desktop/LeftNav.tsx:401
+#: src/view/shell/Drawer.tsx:520
+#: src/view/shell/Drawer.tsx:521
msgid "Moderation"
msgstr "Modération"
+#: src/components/moderation/ModerationDetailsDialog.tsx:112
+msgid "Moderation details"
+msgstr ""
+
#: src/view/com/lists/ListCard.tsx:93
#: src/view/com/modals/UserAddRemoveLists.tsx:206
msgid "Moderation list by {0}"
msgstr "Liste de modération par {0}"
-#: src/view/screens/ProfileList.tsx:775
+#: src/view/screens/ProfileList.tsx:791
msgid "Moderation list by <0/>"
msgstr "Liste de modération par <0/>"
#: src/view/com/lists/ListCard.tsx:91
#: src/view/com/modals/UserAddRemoveLists.tsx:204
-#: src/view/screens/ProfileList.tsx:773
+#: src/view/screens/ProfileList.tsx:789
msgid "Moderation list by you"
msgstr "Liste de modération par vous"
-#: src/view/com/modals/CreateOrEditList.tsx:197
+#: src/view/com/modals/CreateOrEditList.tsx:198
msgid "Moderation list created"
msgstr "Liste de modération créée"
-#: src/view/com/modals/CreateOrEditList.tsx:183
+#: src/view/com/modals/CreateOrEditList.tsx:184
msgid "Moderation list updated"
msgstr "Liste de modération mise à jour"
-#: src/view/screens/Moderation.tsx:114
+#: src/screens/Moderation/index.tsx:243
msgid "Moderation lists"
msgstr "Listes de modération"
-#: src/Navigation.tsx:122
+#: src/Navigation.tsx:124
#: src/view/screens/ModerationModlists.tsx:58
msgid "Moderation Lists"
msgstr "Listes de modération"
-#: src/view/screens/Settings/index.tsx:619
+#: src/view/screens/Settings/index.tsx:590
msgid "Moderation settings"
msgstr "Paramètres de modération"
-#: src/view/com/modals/ModerationDetails.tsx:35
+#: src/Navigation.tsx:216
+msgid "Moderation states"
+msgstr ""
+
+#: src/screens/Moderation/index.tsx:215
+msgid "Moderation tools"
+msgstr ""
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:48
+#: src/lib/moderation/useModerationCauseDescription.ts:40
msgid "Moderator has chosen to set a general warning on the content."
msgstr "La modération a choisi d’ajouter un avertissement général sur le contenu."
+#: src/view/com/post-thread/PostThreadItem.tsx:535
+msgid "More"
+msgstr ""
+
#: src/view/shell/desktop/Feeds.tsx:65
msgid "More feeds"
msgstr "Plus de fils d’actu"
-#: src/view/com/profile/ProfileHeader.tsx:523
-#: src/view/screens/ProfileFeed.tsx:363
-#: src/view/screens/ProfileList.tsx:617
+#: src/view/screens/ProfileList.tsx:601
msgid "More options"
msgstr "Plus d’options"
@@ -2177,8 +2668,8 @@ msgid "Most-liked replies first"
msgstr "Réponses les plus likées en premier"
#: src/view/com/auth/create/Step2.tsx:122
-msgid "Must be at least 3 characters"
-msgstr "Doit comporter au moins 3 caractères"
+#~ msgid "Must be at least 3 characters"
+#~ msgstr "Doit comporter au moins 3 caractères"
#: src/components/TagMenu/index.tsx:249
msgid "Mute"
@@ -2188,11 +2679,12 @@ msgstr "Masquer"
msgid "Mute {truncatedTag}"
msgstr "Masquer {truncatedTag}"
-#: src/view/com/profile/ProfileHeader.tsx:327
+#: src/view/com/profile/ProfileMenu.tsx:279
+#: src/view/com/profile/ProfileMenu.tsx:286
msgid "Mute Account"
msgstr "Masquer le compte"
-#: src/view/screens/ProfileList.tsx:544
+#: src/view/screens/ProfileList.tsx:520
msgid "Mute accounts"
msgstr "Masquer les comptes"
@@ -2200,41 +2692,42 @@ msgstr "Masquer les comptes"
msgid "Mute all {displayTag} posts"
msgstr "Masquer tous les posts {displayTag}"
-#: src/components/dialogs/MutedWords.tsx:149
+#: src/components/dialogs/MutedWords.tsx:148
msgid "Mute in tags only"
msgstr "Masquer dans les mots-clés uniquement"
-#: src/components/dialogs/MutedWords.tsx:134
+#: src/components/dialogs/MutedWords.tsx:133
msgid "Mute in text & tags"
msgstr "Masquer dans le texte et les mots-clés"
-#: src/view/screens/ProfileList.tsx:491
+#: src/view/screens/ProfileList.tsx:463
+#: src/view/screens/ProfileList.tsx:626
msgid "Mute list"
msgstr "Masquer la liste"
-#: src/view/screens/ProfileList.tsx:275
+#: src/view/screens/ProfileList.tsx:621
msgid "Mute these accounts?"
msgstr "Masquer ces comptes ?"
#: src/view/screens/ProfileList.tsx:279
-msgid "Mute this List"
-msgstr "Masquer cette liste"
+#~ msgid "Mute this List"
+#~ msgstr "Masquer cette liste"
-#: src/components/dialogs/MutedWords.tsx:127
+#: src/components/dialogs/MutedWords.tsx:126
msgid "Mute this word in post text and tags"
msgstr "Masquer ce mot dans le texte du post et les mots-clés"
-#: src/components/dialogs/MutedWords.tsx:142
+#: src/components/dialogs/MutedWords.tsx:141
msgid "Mute this word in tags only"
msgstr "Masquer ce mot dans les mots-clés uniquement"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:251
-#: src/view/com/util/forms/PostDropdownBtn.tsx:257
+#: src/view/com/util/forms/PostDropdownBtn.tsx:269
+#: src/view/com/util/forms/PostDropdownBtn.tsx:275
msgid "Mute thread"
msgstr "Masquer ce fil de discussion"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:267
-#: src/view/com/util/forms/PostDropdownBtn.tsx:269
+#: src/view/com/util/forms/PostDropdownBtn.tsx:285
+#: src/view/com/util/forms/PostDropdownBtn.tsx:287
msgid "Mute words & tags"
msgstr "Masquer les mots et les mots-clés"
@@ -2242,32 +2735,37 @@ msgstr "Masquer les mots et les mots-clés"
msgid "Muted"
msgstr "Masqué"
-#: src/view/screens/Moderation.tsx:128
+#: src/screens/Moderation/index.tsx:255
msgid "Muted accounts"
msgstr "Comptes masqués"
-#: src/Navigation.tsx:127
-#: src/view/screens/ModerationMutedAccounts.tsx:107
+#: src/Navigation.tsx:129
+#: src/view/screens/ModerationMutedAccounts.tsx:112
msgid "Muted Accounts"
msgstr "Comptes masqués"
-#: src/view/screens/ModerationMutedAccounts.tsx:115
+#: src/view/screens/ModerationMutedAccounts.tsx:120
msgid "Muted accounts have their posts removed from your feed and from your notifications. Mutes are completely private."
msgstr "Les comptes masqués voient leurs posts supprimés de votre fil d’actu et de vos notifications. Cette option est totalement privée."
-#: src/view/screens/Moderation.tsx:100
+#: src/lib/moderation/useModerationCauseDescription.ts:85
+msgid "Muted by \"{0}\""
+msgstr ""
+
+#: src/screens/Moderation/index.tsx:231
msgid "Muted words & tags"
msgstr "Les mots et les mots-clés masqués"
-#: src/view/screens/ProfileList.tsx:277
+#: src/view/screens/ProfileList.tsx:623
msgid "Muting is private. Muted accounts can interact with you, but you will not see their posts or receive notifications from them."
msgstr "Ce que vous masquez reste privé. Les comptes masqués peuvent interagir avec vous, mais vous ne verrez pas leurs posts et ne recevrez pas de notifications de leur part."
-#: src/view/com/modals/BirthDateSettings.tsx:56
+#: src/components/dialogs/BirthDateSettings.tsx:35
+#: src/components/dialogs/BirthDateSettings.tsx:38
msgid "My Birthday"
msgstr "Ma date de naissance"
-#: src/view/screens/Feeds.tsx:663
+#: src/view/screens/Feeds.tsx:688
msgid "My Feeds"
msgstr "Mes fils d’actu"
@@ -2275,32 +2773,40 @@ msgstr "Mes fils d’actu"
msgid "My Profile"
msgstr "Mon profil"
-#: src/view/screens/Settings/index.tsx:582
+#: src/view/screens/Settings/index.tsx:547
+msgid "My saved feeds"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:553
msgid "My Saved Feeds"
msgstr "Mes fils d’actu enregistrés"
#: src/view/com/auth/server-input/index.tsx:118
-msgid "my-server.com"
-msgstr "mon-serveur.fr"
+#~ msgid "my-server.com"
+#~ msgstr "mon-serveur.fr"
-#: src/view/com/modals/AddAppPasswords.tsx:179
-#: src/view/com/modals/CreateOrEditList.tsx:290
+#: src/view/com/modals/AddAppPasswords.tsx:180
+#: src/view/com/modals/CreateOrEditList.tsx:291
msgid "Name"
msgstr "Nom"
-#: src/view/com/modals/CreateOrEditList.tsx:145
+#: src/view/com/modals/CreateOrEditList.tsx:146
msgid "Name is required"
msgstr "Le nom est requis"
+#: src/lib/moderation/useReportOptions.ts:57
+#: src/lib/moderation/useReportOptions.ts:78
+#: src/lib/moderation/useReportOptions.ts:86
+msgid "Name or Description Violates Community Standards"
+msgstr ""
+
#: src/screens/Onboarding/index.tsx:25
msgid "Nature"
msgstr "Nature"
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:190
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:219
-#: src/view/com/auth/login/LoginForm.tsx:289
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:196
-#: src/view/com/modals/ChangePassword.tsx:166
+#: src/screens/Login/ForgotPasswordForm.tsx:173
+#: src/screens/Login/LoginForm.tsx:255
+#: src/view/com/modals/ChangePassword.tsx:168
msgid "Navigates to the next screen"
msgstr "Navigue vers le prochain écran"
@@ -2308,23 +2814,31 @@ msgstr "Navigue vers le prochain écran"
msgid "Navigates to your profile"
msgstr "Navigue vers votre profil"
+#: src/components/ReportDialog/SelectReportOptionView.tsx:123
+msgid "Need to report a copyright violation?"
+msgstr ""
+
#: src/view/com/modals/EmbedConsent.tsx:107
#: src/view/com/modals/EmbedConsent.tsx:123
-msgid "Never load embeds from {0}"
-msgstr "Ne jamais charger les contenus intégrés de {0}"
+#~ msgid "Never load embeds from {0}"
+#~ msgstr "Ne jamais charger les contenus intégrés de {0}"
#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:72
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:72
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:74
msgid "Never lose access to your followers and data."
msgstr "Ne perdez jamais l’accès à vos followers et à vos données."
-#: src/screens/Onboarding/StepFinished.tsx:119
+#: src/screens/Onboarding/StepFinished.tsx:123
msgid "Never lose access to your followers or data."
msgstr "Ne perdez jamais l’accès à vos followers ou à vos données."
#: src/components/dialogs/MutedWords.tsx:293
-msgid "Nevermind"
-msgstr "Peu importe"
+#~ msgid "Nevermind"
+#~ msgstr "Peu importe"
+
+#: src/view/com/modals/ChangeHandle.tsx:519
+msgid "Nevermind, create a handle for me"
+msgstr ""
#: src/view/screens/Lists.tsx:76
msgctxt "action"
@@ -2335,39 +2849,39 @@ msgstr "Nouveau"
msgid "New"
msgstr "Nouveau"
-#: src/view/com/modals/CreateOrEditList.tsx:252
+#: src/view/com/modals/CreateOrEditList.tsx:253
msgid "New Moderation List"
msgstr "Nouvelle liste de modération"
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:150
+#: src/view/com/modals/ChangePassword.tsx:212
msgid "New password"
msgstr "Nouveau mot de passe"
-#: src/view/com/modals/ChangePassword.tsx:215
+#: src/view/com/modals/ChangePassword.tsx:217
msgid "New Password"
msgstr "Nouveau mot de passe"
-#: src/view/com/feeds/FeedPage.tsx:126
+#: src/view/com/feeds/FeedPage.tsx:149
msgctxt "action"
msgid "New post"
msgstr "Nouveau post"
-#: src/view/screens/Feeds.tsx:555
+#: src/view/screens/Feeds.tsx:580
#: src/view/screens/Notifications.tsx:168
-#: src/view/screens/Profile.tsx:382
-#: src/view/screens/ProfileFeed.tsx:433
-#: src/view/screens/ProfileList.tsx:196
-#: src/view/screens/ProfileList.tsx:224
-#: src/view/shell/desktop/LeftNav.tsx:248
+#: src/view/screens/Profile.tsx:480
+#: src/view/screens/ProfileFeed.tsx:445
+#: src/view/screens/ProfileList.tsx:200
+#: src/view/screens/ProfileList.tsx:228
+#: src/view/shell/desktop/LeftNav.tsx:252
msgid "New post"
msgstr "Nouveau post"
-#: src/view/shell/desktop/LeftNav.tsx:258
+#: src/view/shell/desktop/LeftNav.tsx:262
msgctxt "action"
msgid "New Post"
msgstr "Nouveau post"
-#: src/view/com/modals/CreateOrEditList.tsx:247
+#: src/view/com/modals/CreateOrEditList.tsx:248
msgid "New User List"
msgstr "Nouvelle liste de comptes"
@@ -2379,15 +2893,16 @@ msgstr "Réponses les plus récentes en premier"
msgid "News"
msgstr "Actualités"
-#: src/view/com/auth/create/CreateAccount.tsx:172
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:182
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:192
-#: src/view/com/auth/login/LoginForm.tsx:291
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:187
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:198
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:79
-#: src/view/com/modals/ChangePassword.tsx:251
+#: src/screens/Login/ForgotPasswordForm.tsx:143
+#: src/screens/Login/ForgotPasswordForm.tsx:150
+#: src/screens/Login/LoginForm.tsx:254
+#: src/screens/Login/LoginForm.tsx:261
+#: src/screens/Login/SetNewPasswordForm.tsx:174
+#: src/screens/Login/SetNewPasswordForm.tsx:180
+#: src/screens/Signup/index.tsx:207
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:80
#: src/view/com/modals/ChangePassword.tsx:253
+#: src/view/com/modals/ChangePassword.tsx:255
msgid "Next"
msgstr "Suivant"
@@ -2396,7 +2911,7 @@ msgctxt "action"
msgid "Next"
msgstr "Suivant"
-#: src/view/com/lightbox/Lightbox.web.tsx:149
+#: src/view/com/lightbox/Lightbox.web.tsx:169
msgid "Next image"
msgstr "Image suivante"
@@ -2409,39 +2924,48 @@ msgstr "Image suivante"
msgid "No"
msgstr "Non"
-#: src/view/screens/ProfileFeed.tsx:584
-#: src/view/screens/ProfileList.tsx:755
+#: src/view/screens/ProfileFeed.tsx:574
+#: src/view/screens/ProfileList.tsx:771
msgid "No description"
msgstr "Aucune description"
-#: src/view/com/profile/ProfileHeader.tsx:170
+#: src/view/com/modals/ChangeHandle.tsx:405
+msgid "No DNS Panel"
+msgstr ""
+
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:118
msgid "No longer following {0}"
msgstr "Ne suit plus {0}"
+#: src/screens/Signup/StepHandle.tsx:115
+msgid "No longer than 253 characters"
+msgstr ""
+
#: src/view/com/notifications/Feed.tsx:109
msgid "No notifications yet!"
msgstr "Pas encore de notifications !"
-#: src/view/com/composer/text-input/mobile/Autocomplete.tsx:97
-#: src/view/com/composer/text-input/web/Autocomplete.tsx:191
+#: src/view/com/composer/text-input/mobile/Autocomplete.tsx:101
+#: src/view/com/composer/text-input/web/Autocomplete.tsx:195
msgid "No result"
msgstr "Aucun résultat"
-#: src/components/Lists.tsx:192
+#: src/components/Lists.tsx:183
msgid "No results found"
msgstr "Aucun résultat trouvé"
-#: src/view/screens/Feeds.tsx:495
+#: src/view/screens/Feeds.tsx:520
msgid "No results found for \"{query}\""
msgstr "Aucun résultat trouvé pour « {query} »"
#: src/view/com/modals/ListAddRemoveUsers.tsx:127
-#: src/view/screens/Search/Search.tsx:281
-#: src/view/screens/Search/Search.tsx:309
+#: src/view/screens/Search/Search.tsx:349
+#: src/view/screens/Search/Search.tsx:387
msgid "No results found for {query}"
msgstr "Aucun résultat trouvé pour {query}"
-#: src/view/com/modals/EmbedConsent.tsx:129
+#: src/components/dialogs/EmbedConsent.tsx:105
+#: src/components/dialogs/EmbedConsent.tsx:112
msgid "No thanks"
msgstr "Non merci"
@@ -2449,12 +2973,21 @@ msgstr "Non merci"
msgid "Nobody"
msgstr "Personne"
+#: src/components/LikedByList.tsx:79
+#: src/components/LikesDialog.tsx:99
+msgid "Nobody has liked this yet. Maybe you should be the first!"
+msgstr ""
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:42
+msgid "Non-sexual Nudity"
+msgstr ""
+
#: src/view/com/modals/SelfLabel.tsx:135
msgid "Not Applicable."
msgstr "Sans objet."
-#: src/Navigation.tsx:107
-#: src/view/screens/Profile.tsx:106
+#: src/Navigation.tsx:109
+#: src/view/screens/Profile.tsx:101
msgid "Not Found"
msgstr "Introuvable"
@@ -2463,17 +2996,23 @@ msgstr "Introuvable"
msgid "Not right now"
msgstr "Pas maintenant"
-#: src/view/screens/Moderation.tsx:252
+#: src/view/com/profile/ProfileMenu.tsx:368
+#: src/view/com/util/forms/PostDropdownBtn.tsx:364
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:248
+msgid "Note about sharing"
+msgstr ""
+
+#: src/screens/Moderation/index.tsx:540
msgid "Note: Bluesky is an open and public network. This setting only limits the visibility of your content on the Bluesky app and website, and other apps may not respect this setting. Your content may still be shown to logged-out users by other apps and websites."
msgstr "Remarque : Bluesky est un réseau ouvert et public. Ce paramètre limite uniquement la visibilité de votre contenu sur l’application et le site Web de Bluesky, et d’autres applications peuvent ne pas respecter ce paramètre. Votre contenu peut toujours être montré aux personnes non connectées par d’autres applications et sites Web."
-#: src/Navigation.tsx:457
+#: src/Navigation.tsx:461
#: src/view/screens/Notifications.tsx:124
#: src/view/screens/Notifications.tsx:148
-#: src/view/shell/bottom-bar/BottomBar.tsx:205
-#: src/view/shell/desktop/LeftNav.tsx:361
-#: src/view/shell/Drawer.tsx:435
-#: src/view/shell/Drawer.tsx:436
+#: src/view/shell/bottom-bar/BottomBar.tsx:216
+#: src/view/shell/desktop/LeftNav.tsx:365
+#: src/view/shell/Drawer.tsx:444
+#: src/view/shell/Drawer.tsx:445
msgid "Notifications"
msgstr "Notifications"
@@ -2481,15 +3020,36 @@ msgstr "Notifications"
msgid "Nudity"
msgstr "Nudité"
-#: src/view/com/util/ErrorBoundary.tsx:35
+#: src/lib/moderation/useReportOptions.ts:71
+msgid "Nudity or adult content not labeled as such"
+msgstr ""
+
+#: src/lib/moderation/useReportOptions.ts:71
+#~ msgid "Nudity or pornography not labeled as such"
+#~ msgstr ""
+
+#: src/screens/Signup/index.tsx:143
+msgid "of"
+msgstr ""
+
+#: src/lib/moderation/useLabelBehaviorDescription.ts:11
+msgid "Off"
+msgstr ""
+
+#: src/view/com/util/ErrorBoundary.tsx:49
msgid "Oh no!"
msgstr "Oh non !"
-#: src/screens/Onboarding/StepInterests/index.tsx:128
+#: src/screens/Onboarding/StepInterests/index.tsx:132
msgid "Oh no! Something went wrong."
msgstr "Oh non ! Il y a eu un problème."
-#: src/view/com/auth/login/PasswordUpdatedForm.tsx:41
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:126
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:333
+msgid "OK"
+msgstr ""
+
+#: src/screens/Login/PasswordUpdatedForm.tsx:44
msgid "Okay"
msgstr "D’accord"
@@ -2497,11 +3057,11 @@ msgstr "D’accord"
msgid "Oldest replies first"
msgstr "Plus anciennes réponses en premier"
-#: src/view/screens/Settings/index.tsx:234
+#: src/view/screens/Settings/index.tsx:247
msgid "Onboarding reset"
msgstr "Réinitialiser le didacticiel"
-#: src/view/com/composer/Composer.tsx:382
+#: src/view/com/composer/Composer.tsx:392
msgid "One or more images is missing alt text."
msgstr "Une ou plusieurs images n’ont pas de texte alt."
@@ -2509,49 +3069,66 @@ msgstr "Une ou plusieurs images n’ont pas de texte alt."
msgid "Only {0} can reply."
msgstr "Seul {0} peut répondre."
-#: src/components/Lists.tsx:82
+#: src/screens/Signup/StepHandle.tsx:98
+msgid "Only contains letters, numbers, and hyphens"
+msgstr ""
+
+#: src/components/Lists.tsx:75
msgid "Oops, something went wrong!"
msgstr "Oups, quelque chose n’a pas marché !"
-#: src/components/Lists.tsx:188
-#: src/view/screens/AppPasswords.tsx:65
-#: src/view/screens/Profile.tsx:106
+#: src/components/Lists.tsx:170
+#: src/view/screens/AppPasswords.tsx:67
+#: src/view/screens/Profile.tsx:101
msgid "Oops!"
msgstr "Oups !"
-#: src/screens/Onboarding/StepFinished.tsx:115
+#: src/screens/Onboarding/StepFinished.tsx:119
msgid "Open"
msgstr "Ouvrir"
#: src/view/screens/Moderation.tsx:75
-msgid "Open content filtering settings"
-msgstr "Ouvrir les paramètres de filtrage de contenu"
+#~ msgid "Open content filtering settings"
+#~ msgstr "Ouvrir les paramètres de filtrage de contenu"
-#: src/view/com/composer/Composer.tsx:477
-#: src/view/com/composer/Composer.tsx:478
+#: src/view/com/composer/Composer.tsx:491
+#: src/view/com/composer/Composer.tsx:492
msgid "Open emoji picker"
msgstr "Ouvrir le sélecteur d’emoji"
-#: src/view/screens/Settings/index.tsx:712
+#: src/view/screens/ProfileFeed.tsx:311
+msgid "Open feed options menu"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:685
msgid "Open links with in-app browser"
msgstr "Ouvrir des liens avec le navigateur interne à l’appli"
-#: src/view/screens/Moderation.tsx:92
-msgid "Open muted words settings"
-msgstr "Ouvrir les paramètres des mots masqués"
+#: src/screens/Moderation/index.tsx:227
+msgid "Open muted words and tags settings"
+msgstr ""
-#: src/view/com/home/HomeHeaderLayoutMobile.tsx:50
+#: src/view/screens/Moderation.tsx:92
+#~ msgid "Open muted words settings"
+#~ msgstr "Ouvrir les paramètres des mots masqués"
+
+#: src/view/com/home/HomeHeaderLayoutMobile.tsx:52
msgid "Open navigation"
msgstr "Navigation ouverte"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:175
+#: src/view/com/util/forms/PostDropdownBtn.tsx:191
msgid "Open post options menu"
msgstr "Ouvrir le menu d’options du post"
-#: src/view/screens/Settings/index.tsx:804
+#: src/view/screens/Settings/index.tsx:792
+#: src/view/screens/Settings/index.tsx:802
msgid "Open storybook page"
msgstr "Ouvrir la page Storybook"
+#: src/view/screens/Settings/index.tsx:780
+msgid "Open system log"
+msgstr ""
+
#: src/view/com/util/forms/DropdownButton.tsx:154
msgid "Opens {numItems} options"
msgstr "Ouvre {numItems} options"
@@ -2560,11 +3137,11 @@ msgstr "Ouvre {numItems} options"
msgid "Opens additional details for a debug entry"
msgstr "Ouvre des détails supplémentaires pour une entrée de débug"
-#: src/view/com/notifications/FeedItem.tsx:349
+#: src/view/com/notifications/FeedItem.tsx:355
msgid "Opens an expanded list of users in this notification"
msgstr "Ouvre une liste étendue des comptes dans cette notification"
-#: src/view/com/composer/photos/OpenCameraBtn.tsx:61
+#: src/view/com/composer/photos/OpenCameraBtn.tsx:78
msgid "Opens camera on device"
msgstr "Ouvre l’appareil photo de l’appareil"
@@ -2572,7 +3149,7 @@ msgstr "Ouvre l’appareil photo de l’appareil"
msgid "Opens composer"
msgstr "Ouvre le rédacteur"
-#: src/view/screens/Settings/index.tsx:595
+#: src/view/screens/Settings/index.tsx:566
msgid "Opens configurable language settings"
msgstr "Ouvre les paramètres linguistiques configurables"
@@ -2581,67 +3158,110 @@ msgid "Opens device photo gallery"
msgstr "Ouvre la galerie de photos de l’appareil"
#: src/view/com/profile/ProfileHeader.tsx:420
-msgid "Opens editor for profile display name, avatar, background image, and description"
-msgstr "Ouvre l’éditeur pour le nom d’affichage du profil, l’avatar, l’image d’arrière-plan et la description"
+#~ msgid "Opens editor for profile display name, avatar, background image, and description"
+#~ msgstr "Ouvre l’éditeur pour le nom d’affichage du profil, l’avatar, l’image d’arrière-plan et la description"
-#: src/view/screens/Settings/index.tsx:649
+#: src/view/screens/Settings/index.tsx:620
msgid "Opens external embeds settings"
msgstr "Ouvre les paramètres d’intégration externe"
+#: src/view/com/auth/SplashScreen.tsx:50
+#: src/view/com/auth/SplashScreen.web.tsx:94
+msgid "Opens flow to create a new Bluesky account"
+msgstr ""
+
+#: src/view/com/auth/SplashScreen.tsx:65
+#: src/view/com/auth/SplashScreen.web.tsx:109
+msgid "Opens flow to sign into your existing Bluesky account"
+msgstr ""
+
#: src/view/com/profile/ProfileHeader.tsx:575
-msgid "Opens followers list"
-msgstr "Ouvre la liste des comptes abonnés"
+#~ msgid "Opens followers list"
+#~ msgstr "Ouvre la liste des comptes abonnés"
#: src/view/com/profile/ProfileHeader.tsx:594
-msgid "Opens following list"
-msgstr "Ouvre la liste des abonnements"
+#~ msgid "Opens following list"
+#~ msgstr "Ouvre la liste des abonnements"
-#: src/view/com/modals/InviteCodes.tsx:172
+#: src/view/com/modals/InviteCodes.tsx:173
msgid "Opens list of invite codes"
msgstr "Ouvre la liste des codes d’invitation"
-#: src/view/screens/Settings/index.tsx:774
-msgid "Opens modal for account deletion confirmation. Requires email code."
-msgstr "Ouvre la fenêtre modale pour confirmer la suppression du compte. Requiert un code e-mail."
+#: src/view/screens/Settings/index.tsx:762
+msgid "Opens modal for account deletion confirmation. Requires email code"
+msgstr ""
-#: src/view/com/modals/ChangeHandle.tsx:281
+#: src/view/screens/Settings/index.tsx:774
+#~ msgid "Opens modal for account deletion confirmation. Requires email code."
+#~ msgstr "Ouvre la fenêtre modale pour confirmer la suppression du compte. Requiert un code e-mail."
+
+#: src/view/screens/Settings/index.tsx:720
+msgid "Opens modal for changing your Bluesky password"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:669
+msgid "Opens modal for choosing a new Bluesky handle"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:743
+msgid "Opens modal for downloading your Bluesky account data (repository)"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:932
+msgid "Opens modal for email verification"
+msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:282
msgid "Opens modal for using custom domain"
msgstr "Ouvre une fenêtre modale pour utiliser un domaine personnalisé"
-#: src/view/screens/Settings/index.tsx:620
+#: src/view/screens/Settings/index.tsx:591
msgid "Opens moderation settings"
msgstr "Ouvre les paramètres de modération"
-#: src/view/com/auth/login/LoginForm.tsx:239
+#: src/screens/Login/LoginForm.tsx:202
msgid "Opens password reset form"
msgstr "Ouvre le formulaire de réinitialisation du mot de passe"
-#: src/view/com/home/HomeHeaderLayout.web.tsx:63
-#: src/view/screens/Feeds.tsx:356
+#: src/view/com/home/HomeHeaderLayout.web.tsx:67
+#: src/view/screens/Feeds.tsx:381
msgid "Opens screen to edit Saved Feeds"
msgstr "Ouvre l’écran pour modifier les fils d’actu enregistrés"
-#: src/view/screens/Settings/index.tsx:576
+#: src/view/screens/Settings/index.tsx:548
msgid "Opens screen with all saved feeds"
msgstr "Ouvre l’écran avec tous les fils d’actu enregistrés"
+#: src/view/screens/Settings/index.tsx:647
+msgid "Opens the app password settings"
+msgstr ""
+
#: src/view/screens/Settings/index.tsx:676
-msgid "Opens the app password settings page"
-msgstr "Ouvre la page de configuration du mot de passe"
+#~ msgid "Opens the app password settings page"
+#~ msgstr "Ouvre la page de configuration du mot de passe"
+
+#: src/view/screens/Settings/index.tsx:505
+msgid "Opens the Following feed preferences"
+msgstr ""
#: src/view/screens/Settings/index.tsx:535
-msgid "Opens the home feed preferences"
-msgstr "Ouvre les préférences du fil d’accueil"
+#~ msgid "Opens the home feed preferences"
+#~ msgstr "Ouvre les préférences du fil d’accueil"
-#: src/view/screens/Settings/index.tsx:805
+#: src/view/com/modals/LinkWarning.tsx:93
+msgid "Opens the linked website"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:793
+#: src/view/screens/Settings/index.tsx:803
msgid "Opens the storybook page"
msgstr "Ouvre la page de l’historique"
-#: src/view/screens/Settings/index.tsx:793
+#: src/view/screens/Settings/index.tsx:781
msgid "Opens the system log page"
msgstr "Ouvre la page du journal système"
-#: src/view/screens/Settings/index.tsx:556
+#: src/view/screens/Settings/index.tsx:526
msgid "Opens the threads preferences"
msgstr "Ouvre les préférences relatives aux fils de discussion"
@@ -2649,11 +3269,19 @@ msgstr "Ouvre les préférences relatives aux fils de discussion"
msgid "Option {0} of {numItems}"
msgstr "Option {0} sur {numItems}"
+#: src/components/ReportDialog/SubmitView.tsx:160
+msgid "Optionally provide additional information below:"
+msgstr ""
+
#: src/view/com/modals/Threadgate.tsx:89
msgid "Or combine these options:"
msgstr "Ou une combinaison de ces options :"
-#: src/view/com/auth/login/ChooseAccountForm.tsx:138
+#: src/lib/moderation/useReportOptions.ts:25
+msgid "Other"
+msgstr ""
+
+#: src/components/AccountList.tsx:73
msgid "Other account"
msgstr "Autre compte"
@@ -2661,7 +3289,7 @@ msgstr "Autre compte"
msgid "Other..."
msgstr "Autre…"
-#: src/components/Lists.tsx:194
+#: src/components/Lists.tsx:184
#: src/view/screens/NotFound.tsx:45
msgid "Page not found"
msgstr "Page introuvable"
@@ -2670,27 +3298,35 @@ msgstr "Page introuvable"
msgid "Page Not Found"
msgstr "Page introuvable"
-#: src/view/com/auth/create/Step1.tsx:191
-#: src/view/com/auth/create/Step1.tsx:201
-#: src/view/com/auth/login/LoginForm.tsx:226
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:161
-#: src/view/com/modals/DeleteAccount.tsx:202
+#: src/screens/Login/LoginForm.tsx:178
+#: src/screens/Signup/StepInfo/index.tsx:102
+#: src/view/com/modals/DeleteAccount.tsx:194
+#: src/view/com/modals/DeleteAccount.tsx:201
msgid "Password"
msgstr "Mot de passe"
-#: src/view/com/auth/login/Login.tsx:157
+#: src/view/com/modals/ChangePassword.tsx:142
+msgid "Password Changed"
+msgstr ""
+
+#: src/screens/Login/index.tsx:157
msgid "Password updated"
msgstr "Mise à jour du mot de passe"
-#: src/view/com/auth/login/PasswordUpdatedForm.tsx:28
+#: src/screens/Login/PasswordUpdatedForm.tsx:30
msgid "Password updated!"
msgstr "Mot de passe mis à jour !"
-#: src/Navigation.tsx:162
+#: src/view/screens/Search/Search.tsx:447
+#: src/view/screens/Search/Search.tsx:456
+msgid "People"
+msgstr ""
+
+#: src/Navigation.tsx:164
msgid "People followed by @{0}"
msgstr "Personnes suivies par @{0}"
-#: src/Navigation.tsx:155
+#: src/Navigation.tsx:157
msgid "People following @{0}"
msgstr "Personnes qui suivent @{0}"
@@ -2710,37 +3346,41 @@ msgstr "Animaux domestiques"
msgid "Pictures meant for adults."
msgstr "Images destinées aux adultes."
-#: src/view/screens/ProfileFeed.tsx:354
-#: src/view/screens/ProfileList.tsx:581
+#: src/view/screens/ProfileFeed.tsx:303
+#: src/view/screens/ProfileList.tsx:565
msgid "Pin to home"
msgstr "Ajouter à l’accueil"
-#: src/view/screens/SavedFeeds.tsx:88
+#: src/view/screens/ProfileFeed.tsx:306
+msgid "Pin to Home"
+msgstr ""
+
+#: src/view/screens/SavedFeeds.tsx:89
msgid "Pinned Feeds"
msgstr "Fils épinglés"
-#: src/view/com/util/post-embeds/ExternalGifEmbed.tsx:111
+#: src/view/com/util/post-embeds/ExternalGifEmbed.tsx:123
msgid "Play {0}"
msgstr "Lire {0}"
-#: src/view/com/util/post-embeds/ExternalPlayerEmbed.tsx:54
-#: src/view/com/util/post-embeds/ExternalPlayerEmbed.tsx:55
+#: src/view/com/util/post-embeds/ExternalPlayerEmbed.tsx:57
+#: src/view/com/util/post-embeds/ExternalPlayerEmbed.tsx:58
msgid "Play Video"
msgstr "Lire la vidéo"
-#: src/view/com/util/post-embeds/ExternalGifEmbed.tsx:110
+#: src/view/com/util/post-embeds/ExternalGifEmbed.tsx:122
msgid "Plays the GIF"
msgstr "Lit le GIF"
-#: src/view/com/auth/create/state.ts:124
+#: src/screens/Signup/state.ts:241
msgid "Please choose your handle."
msgstr "Veuillez choisir votre pseudo."
-#: src/view/com/auth/create/state.ts:117
+#: src/screens/Signup/state.ts:234
msgid "Please choose your password."
msgstr "Veuillez choisir votre mot de passe."
-#: src/view/com/auth/create/state.ts:131
+#: src/screens/Signup/state.ts:251
msgid "Please complete the verification captcha."
msgstr "Veuillez compléter le captcha de vérification."
@@ -2748,30 +3388,34 @@ msgstr "Veuillez compléter le captcha de vérification."
msgid "Please confirm your email before changing it. This is a temporary requirement while email-updating tools are added, and it will soon be removed."
msgstr "Veuillez confirmer votre e-mail avant de le modifier. Ceci est temporairement requis pendant que des outils de mise à jour d’e-mail sont ajoutés, cette étape ne sera bientôt plus nécessaire."
-#: src/view/com/modals/AddAppPasswords.tsx:90
+#: src/view/com/modals/AddAppPasswords.tsx:91
msgid "Please enter a name for your app password. All spaces is not allowed."
msgstr "Veuillez entrer un nom pour votre mot de passe d’application. Les espaces ne sont pas autorisés."
-#: src/view/com/modals/AddAppPasswords.tsx:145
+#: src/view/com/modals/AddAppPasswords.tsx:146
msgid "Please enter a unique name for this App Password or use our randomly generated one."
msgstr "Veuillez saisir un nom unique pour le mot de passe de l’application ou utiliser celui que nous avons généré de manière aléatoire."
-#: src/components/dialogs/MutedWords.tsx:68
+#: src/components/dialogs/MutedWords.tsx:67
msgid "Please enter a valid word, tag, or phrase to mute"
msgstr "Veuillez entrer un mot, un mot-clé ou une phrase valide à masquer"
-#: src/view/com/auth/create/state.ts:103
+#: src/screens/Signup/state.ts:220
msgid "Please enter your email."
msgstr "Veuillez entrer votre e-mail."
-#: src/view/com/modals/DeleteAccount.tsx:191
+#: src/view/com/modals/DeleteAccount.tsx:190
msgid "Please enter your password as well:"
msgstr "Veuillez également entrer votre mot de passe :"
+#: src/components/moderation/LabelsOnMeDialog.tsx:221
+msgid "Please explain why you think this label was incorrectly applied by {0}"
+msgstr ""
+
#: src/view/com/modals/AppealLabel.tsx:72
#: src/view/com/modals/AppealLabel.tsx:75
-msgid "Please tell us why you think this content warning was incorrectly applied!"
-msgstr "Dites-nous donc pourquoi vous pensez que cet avertissement de contenu a été appliqué à tort !"
+#~ msgid "Please tell us why you think this content warning was incorrectly applied!"
+#~ msgstr "Dites-nous donc pourquoi vous pensez que cet avertissement de contenu a été appliqué à tort !"
#: src/view/com/modals/VerifyEmail.tsx:101
msgid "Please Verify Your Email"
@@ -2789,13 +3433,17 @@ msgstr "Politique"
msgid "Porn"
msgstr "Porno"
-#: src/view/com/composer/Composer.tsx:357
-#: src/view/com/composer/Composer.tsx:365
+#: src/lib/moderation/useGlobalLabelStrings.ts:34
+#~ msgid "Pornography"
+#~ msgstr ""
+
+#: src/view/com/composer/Composer.tsx:367
+#: src/view/com/composer/Composer.tsx:375
msgctxt "action"
msgid "Post"
msgstr "Poster"
-#: src/view/com/post-thread/PostThread.tsx:303
+#: src/view/com/post-thread/PostThread.tsx:292
msgctxt "description"
msgid "Post"
msgstr "Post"
@@ -2804,20 +3452,30 @@ msgstr "Post"
msgid "Post by {0}"
msgstr "Post de {0}"
-#: src/Navigation.tsx:174
-#: src/Navigation.tsx:181
-#: src/Navigation.tsx:188
+#: src/Navigation.tsx:176
+#: src/Navigation.tsx:183
+#: src/Navigation.tsx:190
msgid "Post by @{0}"
msgstr "Post de @{0}"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:108
+#: src/view/com/util/forms/PostDropdownBtn.tsx:111
msgid "Post deleted"
msgstr "Post supprimé"
-#: src/view/com/post-thread/PostThread.tsx:462
+#: src/view/com/post-thread/PostThread.tsx:157
msgid "Post hidden"
msgstr "Post caché"
+#: src/components/moderation/ModerationDetailsDialog.tsx:97
+#: src/lib/moderation/useModerationCauseDescription.ts:99
+msgid "Post Hidden by Muted Word"
+msgstr ""
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:100
+#: src/lib/moderation/useModerationCauseDescription.ts:108
+msgid "Post Hidden by You"
+msgstr ""
+
#: src/view/com/composer/select-language/SelectLangBtn.tsx:87
msgid "Post language"
msgstr "Langue du post"
@@ -2826,7 +3484,8 @@ msgstr "Langue du post"
msgid "Post Languages"
msgstr "Langues du post"
-#: src/view/com/post-thread/PostThread.tsx:514
+#: src/view/com/post-thread/PostThread.tsx:152
+#: src/view/com/post-thread/PostThread.tsx:164
msgid "Post not found"
msgstr "Post introuvable"
@@ -2834,11 +3493,12 @@ msgstr "Post introuvable"
msgid "posts"
msgstr "posts"
-#: src/view/screens/Profile.tsx:180
+#: src/view/screens/Profile.tsx:195
+#: src/view/screens/Search/Search.tsx:467
msgid "Posts"
msgstr "Posts"
-#: src/components/dialogs/MutedWords.tsx:90
+#: src/components/dialogs/MutedWords.tsx:89
msgid "Posts can be muted based on their text, their tags, or both."
msgstr "Les posts peuvent être masqués en fonction de leur texte, de leurs mots-clés ou des deux."
@@ -2846,11 +3506,21 @@ msgstr "Les posts peuvent être masqués en fonction de leur texte, de leurs mot
msgid "Posts hidden"
msgstr "Posts cachés"
-#: src/view/com/modals/LinkWarning.tsx:46
+#: src/view/com/modals/LinkWarning.tsx:60
msgid "Potentially Misleading Link"
msgstr "Lien potentiellement trompeur"
-#: src/view/com/lightbox/Lightbox.web.tsx:135
+#: src/components/forms/HostingProvider.tsx:46
+msgid "Press to change hosting provider"
+msgstr ""
+
+#: src/components/Error.tsx:74
+#: src/components/Lists.tsx:80
+#: src/screens/Signup/index.tsx:187
+msgid "Press to retry"
+msgstr ""
+
+#: src/view/com/lightbox/Lightbox.web.tsx:150
msgid "Previous image"
msgstr "Image précédente"
@@ -2862,39 +3532,45 @@ msgstr "Langue principale"
msgid "Prioritize Your Follows"
msgstr "Définissez des priorités de vos suivis"
-#: src/view/screens/Settings/index.tsx:632
+#: src/view/screens/Settings/index.tsx:603
#: src/view/shell/desktop/RightNav.tsx:72
msgid "Privacy"
msgstr "Vie privée"
-#: src/Navigation.tsx:219
+#: src/Navigation.tsx:231
+#: src/screens/Signup/StepInfo/Policies.tsx:56
#: src/view/screens/PrivacyPolicy.tsx:29
-#: src/view/screens/Settings/index.tsx:891
-#: src/view/shell/Drawer.tsx:262
+#: src/view/screens/Settings/index.tsx:887
+#: src/view/shell/Drawer.tsx:271
msgid "Privacy Policy"
msgstr "Charte de confidentialité"
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:198
+#: src/screens/Login/ForgotPasswordForm.tsx:156
msgid "Processing..."
msgstr "Traitement…"
-#: src/view/shell/bottom-bar/BottomBar.tsx:247
-#: src/view/shell/desktop/LeftNav.tsx:415
+#: src/view/screens/DebugMod.tsx:888
+#: src/view/screens/Profile.tsx:361
+msgid "profile"
+msgstr ""
+
+#: src/view/shell/bottom-bar/BottomBar.tsx:261
+#: src/view/shell/desktop/LeftNav.tsx:419
#: src/view/shell/Drawer.tsx:70
-#: src/view/shell/Drawer.tsx:546
-#: src/view/shell/Drawer.tsx:547
+#: src/view/shell/Drawer.tsx:555
+#: src/view/shell/Drawer.tsx:556
msgid "Profile"
msgstr "Profil"
-#: src/view/com/modals/EditProfile.tsx:128
+#: src/view/com/modals/EditProfile.tsx:129
msgid "Profile updated"
msgstr "Profil mis à jour"
-#: src/view/screens/Settings/index.tsx:949
+#: src/view/screens/Settings/index.tsx:945
msgid "Protect your account by verifying your email."
msgstr "Protégez votre compte en vérifiant votre e-mail."
-#: src/screens/Onboarding/StepFinished.tsx:101
+#: src/screens/Onboarding/StepFinished.tsx:105
msgid "Public"
msgstr "Public"
@@ -2906,15 +3582,15 @@ msgstr "Listes publiques et partageables de comptes à masquer ou à bloquer."
msgid "Public, shareable lists which can drive feeds."
msgstr "Les listes publiques et partageables qui peuvent alimenter les fils d’actu."
-#: src/view/com/composer/Composer.tsx:342
+#: src/view/com/composer/Composer.tsx:352
msgid "Publish post"
msgstr "Publier le post"
-#: src/view/com/composer/Composer.tsx:342
+#: src/view/com/composer/Composer.tsx:352
msgid "Publish reply"
msgstr "Publier la réponse"
-#: src/view/com/modals/Repost.tsx:65
+#: src/view/com/modals/Repost.tsx:66
msgctxt "action"
msgid "Quote post"
msgstr "Citer le post"
@@ -2923,7 +3599,7 @@ msgstr "Citer le post"
msgid "Quote post"
msgstr "Citer le post"
-#: src/view/com/modals/Repost.tsx:70
+#: src/view/com/modals/Repost.tsx:71
msgctxt "action"
msgid "Quote Post"
msgstr "Citer le post"
@@ -2932,48 +3608,66 @@ msgstr "Citer le post"
msgid "Random (aka \"Poster's Roulette\")"
msgstr "Aléatoire"
-#: src/view/com/modals/EditImage.tsx:236
+#: src/view/com/modals/EditImage.tsx:237
msgid "Ratios"
msgstr "Ratios"
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:116
+#: src/view/screens/Search/Search.tsx:924
+msgid "Recent Searches"
+msgstr ""
+
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:117
msgid "Recommended Feeds"
msgstr "Fils d’actu recommandés"
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:180
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:181
msgid "Recommended Users"
msgstr "Comptes recommandés"
-#: src/components/dialogs/MutedWords.tsx:298
-#: src/view/com/modals/ListAddRemoveUsers.tsx:264
+#: src/components/dialogs/MutedWords.tsx:286
+#: src/view/com/feeds/FeedSourceCard.tsx:283
+#: src/view/com/modals/ListAddRemoveUsers.tsx:268
#: src/view/com/modals/SelfLabel.tsx:83
#: src/view/com/modals/UserAddRemoveLists.tsx:219
-#: src/view/com/util/UserAvatar.tsx:285
-#: src/view/com/util/UserBanner.tsx:91
+#: src/view/com/posts/FeedErrorMessage.tsx:204
msgid "Remove"
msgstr "Supprimer"
#: src/view/com/feeds/FeedSourceCard.tsx:108
-msgid "Remove {0} from my feeds?"
-msgstr "Supprimer {0} de mes fils d’actu ?"
+#~ msgid "Remove {0} from my feeds?"
+#~ msgstr "Supprimer {0} de mes fils d’actu ?"
#: src/view/com/util/AccountDropdownBtn.tsx:22
msgid "Remove account"
msgstr "Supprimer compte"
-#: src/view/com/posts/FeedErrorMessage.tsx:131
-#: src/view/com/posts/FeedErrorMessage.tsx:166
+#: src/view/com/util/UserAvatar.tsx:360
+msgid "Remove Avatar"
+msgstr ""
+
+#: src/view/com/util/UserBanner.tsx:148
+msgid "Remove Banner"
+msgstr ""
+
+#: src/view/com/posts/FeedErrorMessage.tsx:160
msgid "Remove feed"
msgstr "Supprimer fil d’actu"
-#: src/view/com/feeds/FeedSourceCard.tsx:107
-#: src/view/com/feeds/FeedSourceCard.tsx:169
-#: src/view/com/feeds/FeedSourceCard.tsx:174
-#: src/view/com/feeds/FeedSourceCard.tsx:245
-#: src/view/screens/ProfileFeed.tsx:273
+#: src/view/com/posts/FeedErrorMessage.tsx:201
+msgid "Remove feed?"
+msgstr ""
+
+#: src/view/com/feeds/FeedSourceCard.tsx:173
+#: src/view/com/feeds/FeedSourceCard.tsx:233
+#: src/view/screens/ProfileFeed.tsx:346
+#: src/view/screens/ProfileFeed.tsx:352
msgid "Remove from my feeds"
msgstr "Supprimer de mes fils d’actu"
+#: src/view/com/feeds/FeedSourceCard.tsx:278
+msgid "Remove from my feeds?"
+msgstr ""
+
#: src/view/com/composer/photos/Gallery.tsx:167
msgid "Remove image"
msgstr "Supprimer l’image"
@@ -2982,37 +3676,44 @@ msgstr "Supprimer l’image"
msgid "Remove image preview"
msgstr "Supprimer l’aperçu d’image"
-#: src/components/dialogs/MutedWords.tsx:343
+#: src/components/dialogs/MutedWords.tsx:329
msgid "Remove mute word from your list"
msgstr "Supprimer le mot masqué de votre liste"
-#: src/view/com/modals/Repost.tsx:47
+#: src/view/com/modals/Repost.tsx:48
msgid "Remove repost"
msgstr "Supprimer le repost"
#: src/view/com/feeds/FeedSourceCard.tsx:175
-msgid "Remove this feed from my feeds?"
-msgstr "Supprimer ce fil d’actu ?"
+#~ msgid "Remove this feed from my feeds?"
+#~ msgstr "Supprimer ce fil d’actu ?"
+
+#: src/view/com/posts/FeedErrorMessage.tsx:202
+msgid "Remove this feed from your saved feeds"
+msgstr ""
#: src/view/com/posts/FeedErrorMessage.tsx:132
-msgid "Remove this feed from your saved feeds?"
-msgstr "Supprimer ce fil d’actu de vos fils d’actu enregistrés ?"
+#~ msgid "Remove this feed from your saved feeds?"
+#~ msgstr "Supprimer ce fil d’actu de vos fils d’actu enregistrés ?"
#: src/view/com/modals/ListAddRemoveUsers.tsx:199
#: src/view/com/modals/UserAddRemoveLists.tsx:152
msgid "Removed from list"
msgstr "Supprimé de la liste"
-#: src/view/com/feeds/FeedSourceCard.tsx:113
-#: src/view/com/feeds/FeedSourceCard.tsx:180
+#: src/view/com/feeds/FeedSourceCard.tsx:121
msgid "Removed from my feeds"
msgstr "Supprimé de mes fils d’actu"
+#: src/view/screens/ProfileFeed.tsx:210
+msgid "Removed from your feeds"
+msgstr ""
+
#: src/view/com/composer/ExternalEmbed.tsx:71
msgid "Removes default thumbnail from {0}"
msgstr "Supprime la miniature par défaut de {0}"
-#: src/view/screens/Profile.tsx:181
+#: src/view/screens/Profile.tsx:196
msgid "Replies"
msgstr "Réponses"
@@ -3020,7 +3721,7 @@ msgstr "Réponses"
msgid "Replies to this thread are disabled"
msgstr "Les réponses à ce fil de discussion sont désactivées"
-#: src/view/com/composer/Composer.tsx:355
+#: src/view/com/composer/Composer.tsx:365
msgctxt "action"
msgid "Reply"
msgstr "Répondre"
@@ -3029,37 +3730,62 @@ msgstr "Répondre"
msgid "Reply Filters"
msgstr "Filtres de réponse"
-#: src/view/com/post/Post.tsx:167
-#: src/view/com/posts/FeedItem.tsx:287
+#: src/view/com/post/Post.tsx:177
+#: src/view/com/posts/FeedItem.tsx:285
msgctxt "description"
msgid "Reply to <0/>"
msgstr "Réponse à <0/>"
#: src/view/com/modals/report/Modal.tsx:166
-msgid "Report {collectionName}"
-msgstr "Signaler {collectionName}"
+#~ msgid "Report {collectionName}"
+#~ msgstr "Signaler {collectionName}"
-#: src/view/com/profile/ProfileHeader.tsx:361
+#: src/view/com/profile/ProfileMenu.tsx:319
+#: src/view/com/profile/ProfileMenu.tsx:322
msgid "Report Account"
msgstr "Signaler le compte"
-#: src/view/screens/ProfileFeed.tsx:293
+#: src/components/ReportDialog/index.tsx:49
+msgid "Report dialog"
+msgstr ""
+
+#: src/view/screens/ProfileFeed.tsx:363
+#: src/view/screens/ProfileFeed.tsx:365
msgid "Report feed"
msgstr "Signaler le fil d’actu"
-#: src/view/screens/ProfileList.tsx:459
+#: src/view/screens/ProfileList.tsx:431
msgid "Report List"
msgstr "Signaler la liste"
-#: src/view/com/modals/report/SendReportButton.tsx:37
-#: src/view/com/util/forms/PostDropdownBtn.tsx:301
-#: src/view/com/util/forms/PostDropdownBtn.tsx:309
+#: src/view/com/util/forms/PostDropdownBtn.tsx:312
+#: src/view/com/util/forms/PostDropdownBtn.tsx:314
msgid "Report post"
msgstr "Signaler le post"
-#: src/view/com/modals/Repost.tsx:43
-#: src/view/com/modals/Repost.tsx:48
-#: src/view/com/modals/Repost.tsx:53
+#: src/components/ReportDialog/SelectReportOptionView.tsx:42
+msgid "Report this content"
+msgstr ""
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:55
+msgid "Report this feed"
+msgstr ""
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:52
+msgid "Report this list"
+msgstr ""
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:49
+msgid "Report this post"
+msgstr ""
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:46
+msgid "Report this user"
+msgstr ""
+
+#: src/view/com/modals/Repost.tsx:44
+#: src/view/com/modals/Repost.tsx:49
+#: src/view/com/modals/Repost.tsx:54
#: src/view/com/util/post-ctrls/RepostButton.tsx:61
msgctxt "action"
msgid "Repost"
@@ -3078,19 +3804,23 @@ msgstr "Republier ou citer"
msgid "Reposted By"
msgstr "Republié par"
-#: src/view/com/posts/FeedItem.tsx:207
+#: src/view/com/posts/FeedItem.tsx:199
msgid "Reposted by {0}"
msgstr "Republié par {0}"
-#: src/view/com/posts/FeedItem.tsx:224
-msgid "Reposted by <0/>"
-msgstr "Republié par <0/>"
+#: src/view/com/posts/FeedItem.tsx:214
+#~ msgid "Reposted by <0/>"
+#~ msgstr "Republié par <0/>"
-#: src/view/com/notifications/FeedItem.tsx:162
+#: src/view/com/posts/FeedItem.tsx:216
+msgid "Reposted by <0><1/>0>"
+msgstr ""
+
+#: src/view/com/notifications/FeedItem.tsx:168
msgid "reposted your post"
msgstr "a republié votre post"
-#: src/view/com/post-thread/PostThreadItem.tsx:188
+#: src/view/com/post-thread/PostThreadItem.tsx:187
msgid "Reposts of this post"
msgstr "Reposts de ce post"
@@ -3099,57 +3829,58 @@ msgstr "Reposts de ce post"
msgid "Request Change"
msgstr "Demande de modification"
-#: src/view/com/modals/ChangePassword.tsx:239
#: src/view/com/modals/ChangePassword.tsx:241
+#: src/view/com/modals/ChangePassword.tsx:243
msgid "Request Code"
msgstr "Demander un code"
-#: src/view/screens/Settings/index.tsx:456
+#: src/view/screens/Settings/index.tsx:426
msgid "Require alt text before posting"
msgstr "Nécessiter un texte alt avant de publier"
-#: src/view/com/auth/create/Step1.tsx:146
+#: src/screens/Signup/StepInfo/index.tsx:69
msgid "Required for this provider"
msgstr "Obligatoire pour cet hébergeur"
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:124
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:136
+#: src/view/com/modals/ChangePassword.tsx:185
msgid "Reset code"
msgstr "Réinitialiser le code"
-#: src/view/com/modals/ChangePassword.tsx:190
+#: src/view/com/modals/ChangePassword.tsx:192
msgid "Reset Code"
msgstr "Code de réinitialisation"
#: src/view/screens/Settings/index.tsx:824
-msgid "Reset onboarding"
-msgstr "Réinitialiser le didacticiel"
+#~ msgid "Reset onboarding"
+#~ msgstr "Réinitialiser le didacticiel"
-#: src/view/screens/Settings/index.tsx:827
+#: src/view/screens/Settings/index.tsx:822
+#: src/view/screens/Settings/index.tsx:825
msgid "Reset onboarding state"
msgstr "Réinitialisation du didacticiel"
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:104
+#: src/screens/Login/ForgotPasswordForm.tsx:86
msgid "Reset password"
msgstr "Réinitialiser mot de passe"
#: src/view/screens/Settings/index.tsx:814
-msgid "Reset preferences"
-msgstr "Réinitialiser les préférences"
+#~ msgid "Reset preferences"
+#~ msgstr "Réinitialiser les préférences"
-#: src/view/screens/Settings/index.tsx:817
+#: src/view/screens/Settings/index.tsx:812
+#: src/view/screens/Settings/index.tsx:815
msgid "Reset preferences state"
msgstr "Réinitialiser l’état des préférences"
-#: src/view/screens/Settings/index.tsx:825
+#: src/view/screens/Settings/index.tsx:823
msgid "Resets the onboarding state"
msgstr "Réinitialise l’état d’accueil"
-#: src/view/screens/Settings/index.tsx:815
+#: src/view/screens/Settings/index.tsx:813
msgid "Resets the preferences state"
msgstr "Réinitialise l’état des préférences"
-#: src/view/com/auth/login/LoginForm.tsx:269
+#: src/screens/Login/LoginForm.tsx:235
msgid "Retries login"
msgstr "Réessaye la connection"
@@ -3158,91 +3889,121 @@ msgstr "Réessaye la connection"
msgid "Retries the last action, which errored out"
msgstr "Réessaye la dernière action, qui a échoué"
-#: src/screens/Onboarding/StepInterests/index.tsx:221
-#: src/screens/Onboarding/StepInterests/index.tsx:224
-#: src/view/com/auth/create/CreateAccount.tsx:181
-#: src/view/com/auth/create/CreateAccount.tsx:186
-#: src/view/com/auth/login/LoginForm.tsx:268
-#: src/view/com/auth/login/LoginForm.tsx:271
+#: src/components/Error.tsx:79
+#: src/components/Lists.tsx:91
+#: src/screens/Login/LoginForm.tsx:234
+#: src/screens/Login/LoginForm.tsx:241
+#: src/screens/Onboarding/StepInterests/index.tsx:225
+#: src/screens/Onboarding/StepInterests/index.tsx:228
+#: src/screens/Signup/index.tsx:194
#: src/view/com/util/error/ErrorMessage.tsx:55
#: src/view/com/util/error/ErrorScreen.tsx:72
msgid "Retry"
msgstr "Réessayer"
-#: src/view/screens/ProfileList.tsx:903
+#: src/components/Error.tsx:86
+#: src/view/screens/ProfileList.tsx:919
msgid "Return to previous page"
msgstr "Retourne à la page précédente"
+#: src/view/screens/NotFound.tsx:59
+msgid "Returns to home page"
+msgstr ""
+
+#: src/view/screens/NotFound.tsx:58
+#: src/view/screens/ProfileFeed.tsx:113
+msgid "Returns to previous page"
+msgstr ""
+
+#: src/components/dialogs/BirthDateSettings.tsx:125
+#: src/view/com/modals/ChangeHandle.tsx:174
+#: src/view/com/modals/CreateOrEditList.tsx:338
+#: src/view/com/modals/EditProfile.tsx:225
+msgid "Save"
+msgstr "Enregistrer"
+
#: src/view/com/lightbox/Lightbox.tsx:132
-#: src/view/com/modals/CreateOrEditList.tsx:345
+#: src/view/com/modals/CreateOrEditList.tsx:346
msgctxt "action"
msgid "Save"
msgstr "Enregistrer"
-#: src/view/com/modals/BirthDateSettings.tsx:94
-#: src/view/com/modals/BirthDateSettings.tsx:97
-#: src/view/com/modals/ChangeHandle.tsx:173
-#: src/view/com/modals/CreateOrEditList.tsx:337
-#: src/view/com/modals/EditProfile.tsx:224
-#: src/view/screens/ProfileFeed.tsx:346
-msgid "Save"
-msgstr "Enregistrer"
-
-#: src/view/com/modals/AltImage.tsx:130
+#: src/view/com/modals/AltImage.tsx:131
msgid "Save alt text"
msgstr "Enregistrer le texte alt"
-#: src/view/com/modals/EditProfile.tsx:232
+#: src/components/dialogs/BirthDateSettings.tsx:119
+msgid "Save birthday"
+msgstr ""
+
+#: src/view/com/modals/EditProfile.tsx:233
msgid "Save Changes"
msgstr "Enregistrer les modifications"
-#: src/view/com/modals/ChangeHandle.tsx:170
+#: src/view/com/modals/ChangeHandle.tsx:171
msgid "Save handle change"
msgstr "Enregistrer le changement de pseudo"
-#: src/view/com/modals/crop-image/CropImage.web.tsx:144
+#: src/view/com/modals/crop-image/CropImage.web.tsx:145
msgid "Save image crop"
msgstr "Enregistrer le recadrage de l’image"
-#: src/view/screens/SavedFeeds.tsx:122
+#: src/view/screens/ProfileFeed.tsx:347
+#: src/view/screens/ProfileFeed.tsx:353
+msgid "Save to my feeds"
+msgstr ""
+
+#: src/view/screens/SavedFeeds.tsx:123
msgid "Saved Feeds"
msgstr "Fils d’actu enregistrés"
-#: src/view/com/modals/EditProfile.tsx:225
+#: src/view/com/lightbox/Lightbox.tsx:81
+msgid "Saved to your camera roll."
+msgstr ""
+
+#: src/view/screens/ProfileFeed.tsx:214
+msgid "Saved to your feeds"
+msgstr ""
+
+#: src/view/com/modals/EditProfile.tsx:226
msgid "Saves any changes to your profile"
msgstr "Enregistre toutes les modifications apportées à votre profil"
-#: src/view/com/modals/ChangeHandle.tsx:171
+#: src/view/com/modals/ChangeHandle.tsx:172
msgid "Saves handle change to {handle}"
msgstr "Enregistre le changement de pseudo en {handle}"
+#: src/view/com/modals/crop-image/CropImage.web.tsx:146
+msgid "Saves image crop settings"
+msgstr ""
+
#: src/screens/Onboarding/index.tsx:36
msgid "Science"
msgstr "Science"
-#: src/view/screens/ProfileList.tsx:859
+#: src/view/screens/ProfileList.tsx:875
msgid "Scroll to top"
msgstr "Remonter en haut"
-#: src/Navigation.tsx:447
-#: src/view/com/auth/LoggedOut.tsx:122
+#: src/Navigation.tsx:451
+#: src/view/com/auth/LoggedOut.tsx:123
#: src/view/com/modals/ListAddRemoveUsers.tsx:75
#: src/view/com/util/forms/SearchInput.tsx:67
#: src/view/com/util/forms/SearchInput.tsx:79
-#: src/view/screens/Search/Search.tsx:419
-#: src/view/screens/Search/Search.tsx:668
-#: src/view/screens/Search/Search.tsx:686
-#: src/view/shell/bottom-bar/BottomBar.tsx:159
-#: src/view/shell/desktop/LeftNav.tsx:324
-#: src/view/shell/desktop/Search.tsx:214
-#: src/view/shell/desktop/Search.tsx:223
-#: src/view/shell/Drawer.tsx:362
-#: src/view/shell/Drawer.tsx:363
+#: src/view/screens/Search/Search.tsx:568
+#: src/view/screens/Search/Search.tsx:817
+#: src/view/screens/Search/Search.tsx:835
+#: src/view/shell/bottom-bar/BottomBar.tsx:170
+#: src/view/shell/desktop/LeftNav.tsx:328
+#: src/view/shell/desktop/Search.tsx:215
+#: src/view/shell/desktop/Search.tsx:224
+#: src/view/shell/Drawer.tsx:371
+#: src/view/shell/Drawer.tsx:372
msgid "Search"
msgstr "Recherche"
-#: src/view/screens/Search/Search.tsx:735
-#: src/view/shell/desktop/Search.tsx:255
+#: src/view/screens/Search/Search.tsx:884
+#: src/view/shell/desktop/Search.tsx:256
msgid "Search for \"{query}\""
msgstr "Recherche de « {query} »"
@@ -3254,8 +4015,8 @@ msgstr "Rechercher tous les posts de @{authorHandle} avec le mot-clé {displayTa
msgid "Search for all posts with tag {displayTag}"
msgstr "Rechercher tous les posts avec le mot-clé {displayTag}"
-#: src/view/com/auth/LoggedOut.tsx:104
#: src/view/com/auth/LoggedOut.tsx:105
+#: src/view/com/auth/LoggedOut.tsx:106
#: src/view/com/modals/ListAddRemoveUsers.tsx:70
msgid "Search for users"
msgstr "Rechercher des comptes"
@@ -3280,44 +4041,65 @@ msgstr "Voir les posts <0>{displayTag}0>"
msgid "See <0>{displayTag}0> posts by this user"
msgstr "Voir les posts <0>{displayTag}0> de ce compte"
-#: src/view/screens/SavedFeeds.tsx:163
+#: src/view/com/notifications/FeedItem.tsx:419
+#: src/view/com/util/UserAvatar.tsx:381
+msgid "See profile"
+msgstr ""
+
+#: src/view/screens/SavedFeeds.tsx:164
msgid "See this guide"
msgstr "Voir ce guide"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:39
-msgid "See what's next"
-msgstr "Voir la suite"
+#: src/view/com/auth/HomeLoggedOutCTA.tsx:40
+#~ msgid "See what's next"
+#~ msgstr "Voir la suite"
#: src/view/com/util/Selector.tsx:106
msgid "Select {item}"
msgstr "Sélectionner {item}"
-#: src/view/com/auth/login/Login.tsx:117
+#: src/screens/Login/ChooseAccountForm.tsx:61
+msgid "Select account"
+msgstr ""
+
+#: src/screens/Login/index.tsx:120
msgid "Select from an existing account"
msgstr "Sélectionner un compte existant"
+#: src/view/screens/LanguageSettings.tsx:299
+msgid "Select languages"
+msgstr ""
+
+#: src/components/ReportDialog/SelectLabelerView.tsx:30
+msgid "Select moderator"
+msgstr ""
+
#: src/view/com/util/Selector.tsx:107
msgid "Select option {i} of {numItems}"
msgstr "Sélectionne l’option {i} sur {numItems}"
#: src/view/com/auth/create/Step1.tsx:96
-#: src/view/com/auth/login/LoginForm.tsx:150
-msgid "Select service"
-msgstr "Sélectionner un service"
+#: src/view/com/auth/login/LoginForm.tsx:153
+#~ msgid "Select service"
+#~ msgstr "Sélectionner un service"
#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:52
msgid "Select some accounts below to follow"
msgstr "Sélectionnez quelques comptes à suivre ci-dessous"
+#: src/components/ReportDialog/SubmitView.tsx:133
+msgid "Select the moderation service(s) to report to"
+msgstr ""
+
#: src/view/com/auth/server-input/index.tsx:82
msgid "Select the service that hosts your data."
msgstr "Sélectionnez le service qui héberge vos données."
-#: src/screens/Onboarding/StepTopicalFeeds.tsx:96
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:100
msgid "Select topical feeds to follow from the list below"
msgstr "Sélectionnez les fils d’actu thématiques à suivre dans la liste ci-dessous"
-#: src/screens/Onboarding/StepModeration/index.tsx:75
+#: src/screens/Onboarding/StepModeration/index.tsx:63
msgid "Select what you want to see (or not see), and we’ll handle the rest."
msgstr "Sélectionnez ce que vous voulez voir (ou ne pas voir), et nous nous occupons du reste."
@@ -3326,10 +4108,18 @@ msgid "Select which languages you want your subscribed feeds to include. If none
msgstr "Sélectionnez les langues que vous souhaitez voir figurer dans les fils d’actu que vous suivez. Si aucune langue n’est sélectionnée, toutes les langues seront affichées."
#: src/view/screens/LanguageSettings.tsx:98
-msgid "Select your app language for the default text to display in the app"
-msgstr "Sélectionnez la langue de votre application à afficher par défaut"
+#~ msgid "Select your app language for the default text to display in the app"
+#~ msgstr "Sélectionnez la langue de votre application à afficher par défaut"
-#: src/screens/Onboarding/StepInterests/index.tsx:196
+#: src/view/screens/LanguageSettings.tsx:98
+msgid "Select your app language for the default text to display in the app."
+msgstr ""
+
+#: src/screens/Signup/StepInfo/index.tsx:135
+msgid "Select your date of birth"
+msgstr ""
+
+#: src/screens/Onboarding/StepInterests/index.tsx:200
msgid "Select your interests from the options below"
msgstr "Sélectionnez vos centres d’intérêt parmi les options ci-dessous"
@@ -3337,11 +4127,11 @@ msgstr "Sélectionnez vos centres d’intérêt parmi les options ci-dessous"
msgid "Select your preferred language for translations in your feed."
msgstr "Sélectionnez votre langue préférée pour traduire votre fils d’actu."
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:116
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:117
msgid "Select your primary algorithmic feeds"
msgstr "Sélectionnez vos principaux fils d’actu algorithmiques"
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:142
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:133
msgid "Select your secondary algorithmic feeds"
msgstr "Sélectionnez vos fils d’actu algorithmiques secondaires"
@@ -3350,69 +4140,82 @@ msgstr "Sélectionnez vos fils d’actu algorithmiques secondaires"
msgid "Send Confirmation Email"
msgstr "Envoyer un e-mail de confirmation"
-#: src/view/com/modals/DeleteAccount.tsx:131
+#: src/view/com/modals/DeleteAccount.tsx:130
msgid "Send email"
msgstr "Envoyer e-mail"
-#: src/view/com/modals/DeleteAccount.tsx:144
+#: src/view/com/modals/DeleteAccount.tsx:143
msgctxt "action"
msgid "Send Email"
msgstr "Envoyer l’e-mail"
-#: src/view/shell/Drawer.tsx:295
-#: src/view/shell/Drawer.tsx:316
+#: src/view/shell/Drawer.tsx:304
+#: src/view/shell/Drawer.tsx:325
msgid "Send feedback"
msgstr "Envoyer des commentaires"
-#: src/view/com/modals/report/SendReportButton.tsx:45
-msgid "Send Report"
-msgstr "Envoyer le rapport"
+#: src/components/ReportDialog/SubmitView.tsx:213
+#: src/components/ReportDialog/SubmitView.tsx:217
+msgid "Send report"
+msgstr ""
-#: src/view/com/modals/DeleteAccount.tsx:133
+#: src/view/com/modals/report/SendReportButton.tsx:45
+#~ msgid "Send Report"
+#~ msgstr "Envoyer le rapport"
+
+#: src/components/ReportDialog/SelectLabelerView.tsx:44
+msgid "Send report to {0}"
+msgstr ""
+
+#: src/view/com/modals/DeleteAccount.tsx:132
msgid "Sends email with confirmation code for account deletion"
msgstr "Envoie un e-mail avec le code de confirmation pour la suppression du compte"
-#: src/view/com/auth/server-input/index.tsx:110
+#: src/view/com/auth/server-input/index.tsx:114
msgid "Server address"
msgstr "Adresse du serveur"
#: src/view/com/modals/ContentFilteringSettings.tsx:311
-msgid "Set {value} for {labelGroup} content moderation policy"
-msgstr "Choisis {value} pour la politique de modération de contenu {labelGroup}"
+#~ msgid "Set {value} for {labelGroup} content moderation policy"
+#~ msgstr "Choisis {value} pour la politique de modération de contenu {labelGroup}"
#: src/view/com/modals/ContentFilteringSettings.tsx:160
#: src/view/com/modals/ContentFilteringSettings.tsx:179
-msgctxt "action"
-msgid "Set Age"
-msgstr "Enregistrer l’âge"
+#~ msgctxt "action"
+#~ msgid "Set Age"
+#~ msgstr "Enregistrer l’âge"
+
+#: src/screens/Moderation/index.tsx:304
+msgid "Set birthdate"
+msgstr ""
#: src/view/screens/Settings/index.tsx:488
-msgid "Set color theme to dark"
-msgstr "Change le thème de couleur en sombre"
+#~ msgid "Set color theme to dark"
+#~ msgstr "Change le thème de couleur en sombre"
#: src/view/screens/Settings/index.tsx:481
-msgid "Set color theme to light"
-msgstr "Change le thème de couleur en clair"
+#~ msgid "Set color theme to light"
+#~ msgstr "Change le thème de couleur en clair"
#: src/view/screens/Settings/index.tsx:475
-msgid "Set color theme to system setting"
-msgstr "Change le thème de couleur en fonction du paramètre système"
+#~ msgid "Set color theme to system setting"
+#~ msgstr "Change le thème de couleur en fonction du paramètre système"
#: src/view/screens/Settings/index.tsx:514
-msgid "Set dark theme to the dark theme"
-msgstr "Choisir le thème le plus sombre comme thème sombre"
+#~ msgid "Set dark theme to the dark theme"
+#~ msgstr "Choisir le thème le plus sombre comme thème sombre"
#: src/view/screens/Settings/index.tsx:507
-msgid "Set dark theme to the dim theme"
-msgstr "Choisir le thème atténué comme thème sombre"
+#~ msgid "Set dark theme to the dim theme"
+#~ msgstr "Choisir le thème atténué comme thème sombre"
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:104
+#: src/screens/Login/SetNewPasswordForm.tsx:102
msgid "Set new password"
msgstr "Définir un nouveau mot de passe"
#: src/view/com/auth/create/Step1.tsx:202
-msgid "Set password"
-msgstr "Définit le mot de passe"
+#~ msgid "Set password"
+#~ msgstr "Définit le mot de passe"
#: src/view/screens/PreferencesFollowingFeed.tsx:225
msgid "Set this setting to \"No\" to hide all quote posts from your feed. Reposts will still be visible."
@@ -3434,32 +4237,64 @@ msgstr "Choisissez « Oui » pour afficher les réponses dans un fil de discus
msgid "Set this setting to \"Yes\" to show samples of your saved feeds in your Following feed. This is an experimental feature."
msgstr "Choisissez « Oui » pour afficher des échantillons de vos fils d’actu enregistrés dans votre fil d’actu « Following ». C’est une fonctionnalité expérimentale."
-#: src/screens/Onboarding/Layout.tsx:50
+#: src/screens/Onboarding/Layout.tsx:48
msgid "Set up your account"
msgstr "Créez votre compte"
-#: src/view/com/modals/ChangeHandle.tsx:266
+#: src/view/com/modals/ChangeHandle.tsx:267
msgid "Sets Bluesky username"
msgstr "Définit le pseudo Bluesky"
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:157
+#: src/view/screens/Settings/index.tsx:458
+msgid "Sets color theme to dark"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:451
+msgid "Sets color theme to light"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:445
+msgid "Sets color theme to system setting"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:484
+msgid "Sets dark theme to the dark theme"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:477
+msgid "Sets dark theme to the dim theme"
+msgstr ""
+
+#: src/screens/Login/ForgotPasswordForm.tsx:113
msgid "Sets email for password reset"
msgstr "Définit l’e-mail pour la réinitialisation du mot de passe"
#: src/view/com/auth/login/ForgotPasswordForm.tsx:122
-msgid "Sets hosting provider for password reset"
-msgstr "Définit l’hébergeur pour la réinitialisation du mot de passe"
+#~ msgid "Sets hosting provider for password reset"
+#~ msgstr "Définit l’hébergeur pour la réinitialisation du mot de passe"
+
+#: src/view/com/modals/crop-image/CropImage.web.tsx:124
+msgid "Sets image aspect ratio to square"
+msgstr ""
+
+#: src/view/com/modals/crop-image/CropImage.web.tsx:114
+msgid "Sets image aspect ratio to tall"
+msgstr ""
+
+#: src/view/com/modals/crop-image/CropImage.web.tsx:104
+msgid "Sets image aspect ratio to wide"
+msgstr ""
#: src/view/com/auth/create/Step1.tsx:97
-#: src/view/com/auth/login/LoginForm.tsx:151
-msgid "Sets server for the Bluesky client"
-msgstr "Définit le serveur pour le client Bluesky"
+#: src/view/com/auth/login/LoginForm.tsx:154
+#~ msgid "Sets server for the Bluesky client"
+#~ msgstr "Définit le serveur pour le client Bluesky"
-#: src/Navigation.tsx:137
-#: src/view/screens/Settings/index.tsx:294
-#: src/view/shell/desktop/LeftNav.tsx:433
-#: src/view/shell/Drawer.tsx:567
-#: src/view/shell/Drawer.tsx:568
+#: src/Navigation.tsx:139
+#: src/view/screens/Settings/index.tsx:316
+#: src/view/shell/desktop/LeftNav.tsx:437
+#: src/view/shell/Drawer.tsx:576
+#: src/view/shell/Drawer.tsx:577
msgid "Settings"
msgstr "Paramètres"
@@ -3467,28 +4302,49 @@ msgstr "Paramètres"
msgid "Sexual activity or erotic nudity."
msgstr "Activité sexuelle ou nudité érotique."
+#: src/lib/moderation/useGlobalLabelStrings.ts:38
+msgid "Sexually Suggestive"
+msgstr ""
+
#: src/view/com/lightbox/Lightbox.tsx:141
msgctxt "action"
msgid "Share"
msgstr "Partager"
-#: src/view/com/profile/ProfileHeader.tsx:295
-#: src/view/com/util/forms/PostDropdownBtn.tsx:231
-#: src/view/com/util/forms/PostDropdownBtn.tsx:237
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:215
-#: src/view/screens/ProfileList.tsx:418
+#: src/view/com/profile/ProfileMenu.tsx:215
+#: src/view/com/profile/ProfileMenu.tsx:224
+#: src/view/com/util/forms/PostDropdownBtn.tsx:236
+#: src/view/com/util/forms/PostDropdownBtn.tsx:245
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:237
+#: src/view/screens/ProfileList.tsx:390
msgid "Share"
msgstr "Partager"
-#: src/view/screens/ProfileFeed.tsx:305
+#: src/view/com/profile/ProfileMenu.tsx:373
+#: src/view/com/util/forms/PostDropdownBtn.tsx:369
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:253
+msgid "Share anyway"
+msgstr ""
+
+#: src/view/screens/ProfileFeed.tsx:373
+#: src/view/screens/ProfileFeed.tsx:375
msgid "Share feed"
msgstr "Partager le fil d’actu"
-#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:43
-#: src/view/com/modals/ContentFilteringSettings.tsx:266
-#: src/view/com/util/moderation/ContentHider.tsx:107
-#: src/view/com/util/moderation/PostHider.tsx:108
-#: src/view/screens/Settings/index.tsx:344
+#: src/view/com/modals/LinkWarning.tsx:89
+#: src/view/com/modals/LinkWarning.tsx:95
+msgid "Share Link"
+msgstr ""
+
+#: src/view/com/modals/LinkWarning.tsx:92
+msgid "Shares the linked website"
+msgstr ""
+
+#: src/components/moderation/ContentHider.tsx:115
+#: src/components/moderation/LabelPreference.tsx:136
+#: src/components/moderation/PostHider.tsx:107
+#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:54
+#: src/view/screens/Settings/index.tsx:366
msgid "Show"
msgstr "Afficher"
@@ -3496,21 +4352,31 @@ msgstr "Afficher"
msgid "Show all replies"
msgstr "Afficher toutes les réponses"
-#: src/view/com/util/moderation/ScreenHider.tsx:132
+#: src/components/moderation/ScreenHider.tsx:169
+#: src/components/moderation/ScreenHider.tsx:172
msgid "Show anyway"
msgstr "Afficher quand même"
-#: src/view/com/modals/EmbedConsent.tsx:87
-msgid "Show embeds from {0}"
-msgstr "Afficher les intégrations de {0}"
+#: src/lib/moderation/useLabelBehaviorDescription.ts:27
+#: src/lib/moderation/useLabelBehaviorDescription.ts:63
+msgid "Show badge"
+msgstr ""
-#: src/view/com/profile/ProfileHeader.tsx:459
+#: src/lib/moderation/useLabelBehaviorDescription.ts:61
+msgid "Show badge and filter from feeds"
+msgstr ""
+
+#: src/view/com/modals/EmbedConsent.tsx:87
+#~ msgid "Show embeds from {0}"
+#~ msgstr "Afficher les intégrations de {0}"
+
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:200
msgid "Show follows similar to {0}"
msgstr "Afficher les suivis similaires à {0}"
-#: src/view/com/post-thread/PostThreadItem.tsx:538
-#: src/view/com/post/Post.tsx:198
-#: src/view/com/posts/FeedItem.tsx:363
+#: src/view/com/post-thread/PostThreadItem.tsx:501
+#: src/view/com/post/Post.tsx:212
+#: src/view/com/posts/FeedItem.tsx:360
msgid "Show More"
msgstr "Voir plus"
@@ -3522,15 +4388,15 @@ msgstr "Afficher les posts de mes fils d’actu"
msgid "Show Quote Posts"
msgstr "Afficher les citations"
-#: src/screens/Onboarding/StepFollowingFeed.tsx:118
+#: src/screens/Onboarding/StepFollowingFeed.tsx:119
msgid "Show quote-posts in Following feed"
msgstr "Afficher les citations dans le fil d’actu « Following »"
-#: src/screens/Onboarding/StepFollowingFeed.tsx:134
+#: src/screens/Onboarding/StepFollowingFeed.tsx:135
msgid "Show quotes in Following"
msgstr "Afficher les citations dans le fil d’actu « Following »"
-#: src/screens/Onboarding/StepFollowingFeed.tsx:94
+#: src/screens/Onboarding/StepFollowingFeed.tsx:95
msgid "Show re-posts in Following feed"
msgstr "Afficher les reposts dans le fil d’actu « Following »"
@@ -3542,11 +4408,11 @@ msgstr "Afficher les réponses"
msgid "Show replies by people you follow before all other replies."
msgstr "Afficher les réponses des personnes que vous suivez avant toutes les autres réponses."
-#: src/screens/Onboarding/StepFollowingFeed.tsx:86
+#: src/screens/Onboarding/StepFollowingFeed.tsx:87
msgid "Show replies in Following"
msgstr "Afficher les réponses dans le fil d’actu « Following »"
-#: src/screens/Onboarding/StepFollowingFeed.tsx:70
+#: src/screens/Onboarding/StepFollowingFeed.tsx:71
msgid "Show replies in Following feed"
msgstr "Afficher les réponses dans le fil d’actu « Following »"
@@ -3558,107 +4424,127 @@ msgstr "Afficher les réponses avec au moins {value} {0}"
msgid "Show Reposts"
msgstr "Afficher les reposts"
-#: src/screens/Onboarding/StepFollowingFeed.tsx:110
+#: src/screens/Onboarding/StepFollowingFeed.tsx:111
msgid "Show reposts in Following"
msgstr "Afficher les reposts dans le fil d’actu « Following »"
-#: src/view/com/util/moderation/ContentHider.tsx:67
-#: src/view/com/util/moderation/PostHider.tsx:61
+#: src/components/moderation/ContentHider.tsx:68
+#: src/components/moderation/PostHider.tsx:64
msgid "Show the content"
msgstr "Afficher le contenu"
-#: src/view/com/notifications/FeedItem.tsx:347
+#: src/view/com/notifications/FeedItem.tsx:353
msgid "Show users"
msgstr "Afficher les comptes"
-#: src/view/com/profile/ProfileHeader.tsx:462
-msgid "Shows a list of users similar to this user."
-msgstr "Affiche une liste de comptes similaires à ce compte."
+#: src/lib/moderation/useLabelBehaviorDescription.ts:58
+msgid "Show warning"
+msgstr ""
-#: src/view/com/post-thread/PostThreadFollowBtn.tsx:124
-#: src/view/com/profile/ProfileHeader.tsx:506
+#: src/lib/moderation/useLabelBehaviorDescription.ts:56
+msgid "Show warning and filter from feeds"
+msgstr ""
+
+#: src/view/com/profile/ProfileHeader.tsx:462
+#~ msgid "Shows a list of users similar to this user."
+#~ msgstr "Affiche une liste de comptes similaires à ce compte."
+
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:130
msgid "Shows posts from {0} in your feed"
msgstr "Affiche les posts de {0} dans votre fil d’actu"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:70
-#: src/view/com/auth/login/Login.tsx:98
-#: src/view/com/auth/SplashScreen.tsx:79
-#: src/view/shell/bottom-bar/BottomBar.tsx:285
-#: src/view/shell/bottom-bar/BottomBar.tsx:286
-#: src/view/shell/bottom-bar/BottomBar.tsx:288
+#: src/components/dialogs/Signin.tsx:97
+#: src/components/dialogs/Signin.tsx:99
+#: src/screens/Login/index.tsx:100
+#: src/screens/Login/index.tsx:119
+#: src/screens/Login/LoginForm.tsx:131
+#: src/view/com/auth/SplashScreen.tsx:63
+#: src/view/com/auth/SplashScreen.tsx:72
+#: src/view/com/auth/SplashScreen.web.tsx:107
+#: src/view/com/auth/SplashScreen.web.tsx:116
+#: src/view/shell/bottom-bar/BottomBar.tsx:301
+#: src/view/shell/bottom-bar/BottomBar.tsx:302
+#: src/view/shell/bottom-bar/BottomBar.tsx:304
#: src/view/shell/bottom-bar/BottomBarWeb.tsx:178
#: src/view/shell/bottom-bar/BottomBarWeb.tsx:179
#: src/view/shell/bottom-bar/BottomBarWeb.tsx:181
-#: src/view/shell/NavSignupCard.tsx:58
-#: src/view/shell/NavSignupCard.tsx:59
+#: src/view/shell/NavSignupCard.tsx:63
+#: src/view/shell/NavSignupCard.tsx:64
+#: src/view/shell/NavSignupCard.tsx:66
msgid "Sign in"
msgstr "Connexion"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:78
-#: src/view/com/auth/SplashScreen.tsx:82
+#: src/view/com/auth/HomeLoggedOutCTA.tsx:82
+#: src/view/com/auth/SplashScreen.tsx:86
#: src/view/com/auth/SplashScreen.web.tsx:91
-msgid "Sign In"
-msgstr "Connexion"
+#~ msgid "Sign In"
+#~ msgstr "Connexion"
-#: src/view/com/auth/login/ChooseAccountForm.tsx:44
+#: src/components/AccountList.tsx:109
msgid "Sign in as {0}"
msgstr "Se connecter en tant que {0}"
-#: src/view/com/auth/login/ChooseAccountForm.tsx:118
-#: src/view/com/auth/login/Login.tsx:116
+#: src/screens/Login/ChooseAccountForm.tsx:64
msgid "Sign in as..."
msgstr "Se connecter en tant que…"
-#: src/view/com/auth/login/LoginForm.tsx:137
-msgid "Sign into"
-msgstr "Se connecter à"
+#: src/components/dialogs/Signin.tsx:75
+msgid "Sign in or create your account to join the conversation!"
+msgstr ""
-#: src/view/com/modals/SwitchAccount.tsx:64
-#: src/view/com/modals/SwitchAccount.tsx:69
-#: src/view/screens/Settings/index.tsx:100
-#: src/view/screens/Settings/index.tsx:103
+#: src/view/com/auth/login/LoginForm.tsx:140
+#~ msgid "Sign into"
+#~ msgstr "Se connecter à"
+
+#: src/components/dialogs/Signin.tsx:46
+msgid "Sign into Bluesky or create a new account"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:118
+#: src/view/screens/Settings/index.tsx:121
msgid "Sign out"
msgstr "Déconnexion"
-#: src/view/shell/bottom-bar/BottomBar.tsx:275
-#: src/view/shell/bottom-bar/BottomBar.tsx:276
-#: src/view/shell/bottom-bar/BottomBar.tsx:278
+#: src/view/shell/bottom-bar/BottomBar.tsx:291
+#: src/view/shell/bottom-bar/BottomBar.tsx:292
+#: src/view/shell/bottom-bar/BottomBar.tsx:294
#: src/view/shell/bottom-bar/BottomBarWeb.tsx:168
#: src/view/shell/bottom-bar/BottomBarWeb.tsx:169
#: src/view/shell/bottom-bar/BottomBarWeb.tsx:171
-#: src/view/shell/NavSignupCard.tsx:49
-#: src/view/shell/NavSignupCard.tsx:50
-#: src/view/shell/NavSignupCard.tsx:52
+#: src/view/shell/NavSignupCard.tsx:54
+#: src/view/shell/NavSignupCard.tsx:55
+#: src/view/shell/NavSignupCard.tsx:57
msgid "Sign up"
msgstr "S’inscrire"
-#: src/view/shell/NavSignupCard.tsx:42
+#: src/view/shell/NavSignupCard.tsx:47
msgid "Sign up or sign in to join the conversation"
msgstr "S’inscrire ou se connecter pour participer à la conversation"
-#: src/view/com/util/moderation/ScreenHider.tsx:76
+#: src/components/moderation/ScreenHider.tsx:97
+#: src/lib/moderation/useGlobalLabelStrings.ts:28
msgid "Sign-in Required"
msgstr "Connexion requise"
-#: src/view/screens/Settings/index.tsx:355
+#: src/view/screens/Settings/index.tsx:377
msgid "Signed in as"
msgstr "Connecté en tant que"
-#: src/view/com/auth/login/ChooseAccountForm.tsx:103
+#: src/screens/Login/ChooseAccountForm.tsx:48
msgid "Signed in as @{0}"
msgstr "Connecté en tant que @{0}"
-#: src/view/com/modals/SwitchAccount.tsx:66
-msgid "Signs {0} out of Bluesky"
-msgstr "Déconnecte {0} de Bluesky"
+#: src/view/com/modals/SwitchAccount.tsx:70
+#~ msgid "Signs {0} out of Bluesky"
+#~ msgstr "Déconnecte {0} de Bluesky"
-#: src/screens/Onboarding/StepInterests/index.tsx:235
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:195
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:33
+#: src/screens/Onboarding/StepInterests/index.tsx:239
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:203
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:35
msgid "Skip"
msgstr "Ignorer"
-#: src/screens/Onboarding/StepInterests/index.tsx:232
+#: src/screens/Onboarding/StepInterests/index.tsx:236
msgid "Skip this flow"
msgstr "Passer cette étape"
@@ -3666,11 +4552,17 @@ msgstr "Passer cette étape"
msgid "Software Dev"
msgstr "Développement de logiciels"
-#: src/components/Lists.tsx:203
-msgid "Something went wrong!"
-msgstr "Quelque chose n’a pas marché !"
+#: src/components/ReportDialog/index.tsx:59
+#: src/screens/Moderation/index.tsx:114
+#: src/screens/Profile/Sections/Labels.tsx:87
+msgid "Something went wrong, please try again."
+msgstr ""
-#: src/App.native.tsx:66
+#: src/components/Lists.tsx:203
+#~ msgid "Something went wrong!"
+#~ msgstr "Quelque chose n’a pas marché !"
+
+#: src/App.native.tsx:64
msgid "Sorry! Your session expired. Please log in again."
msgstr "Désolé ! Votre session a expiré. Essayez de vous reconnecter."
@@ -3682,53 +4574,82 @@ msgstr "Trier les réponses"
msgid "Sort replies to the same post by:"
msgstr "Trier les réponses au même post par :"
+#: src/components/moderation/LabelsOnMeDialog.tsx:146
+msgid "Source:"
+msgstr ""
+
+#: src/lib/moderation/useReportOptions.ts:65
+msgid "Spam"
+msgstr ""
+
+#: src/lib/moderation/useReportOptions.ts:53
+msgid "Spam; excessive mentions or replies"
+msgstr ""
+
#: src/screens/Onboarding/index.tsx:30
msgid "Sports"
msgstr "Sports"
-#: src/view/com/modals/crop-image/CropImage.web.tsx:122
+#: src/view/com/modals/crop-image/CropImage.web.tsx:123
msgid "Square"
msgstr "Carré"
-#: src/view/screens/Settings/index.tsx:871
+#: src/view/screens/Settings/index.tsx:867
msgid "Status page"
msgstr "État du service"
-#: src/view/com/auth/create/StepHeader.tsx:22
-msgid "Step {0} of {numSteps}"
-msgstr "Étape {0} sur {numSteps}"
+#: src/screens/Signup/index.tsx:143
+msgid "Step"
+msgstr ""
-#: src/view/screens/Settings/index.tsx:274
+#: src/view/com/auth/create/StepHeader.tsx:22
+#~ msgid "Step {0} of {numSteps}"
+#~ msgstr "Étape {0} sur {numSteps}"
+
+#: src/view/screens/Settings/index.tsx:295
msgid "Storage cleared, you need to restart the app now."
msgstr "Stockage effacé, vous devez redémarrer l’application maintenant."
-#: src/Navigation.tsx:204
-#: src/view/screens/Settings/index.tsx:807
+#: src/Navigation.tsx:211
+#: src/view/screens/Settings/index.tsx:795
msgid "Storybook"
msgstr "Historique"
-#: src/view/com/modals/AppealLabel.tsx:101
+#: src/components/moderation/LabelsOnMeDialog.tsx:255
+#: src/components/moderation/LabelsOnMeDialog.tsx:256
msgid "Submit"
msgstr "Envoyer"
-#: src/view/screens/ProfileList.tsx:608
+#: src/view/screens/ProfileList.tsx:592
msgid "Subscribe"
msgstr "S’abonner"
-#: src/screens/Onboarding/StepAlgoFeeds/FeedCard.tsx:173
-#: src/screens/Onboarding/StepAlgoFeeds/FeedCard.tsx:308
+#: src/screens/Profile/Sections/Labels.tsx:191
+msgid "Subscribe to @{0} to use these labels:"
+msgstr ""
+
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:227
+msgid "Subscribe to Labeler"
+msgstr ""
+
+#: src/screens/Onboarding/StepAlgoFeeds/FeedCard.tsx:172
+#: src/screens/Onboarding/StepAlgoFeeds/FeedCard.tsx:307
msgid "Subscribe to the {0} feed"
msgstr "S’abonner au fil d’actu {0}"
-#: src/view/screens/ProfileList.tsx:604
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:191
+msgid "Subscribe to this labeler"
+msgstr ""
+
+#: src/view/screens/ProfileList.tsx:588
msgid "Subscribe to this list"
msgstr "S’abonner à cette liste"
-#: src/view/screens/Search/Search.tsx:374
+#: src/view/screens/Search/Search.tsx:523
msgid "Suggested Follows"
msgstr "Suivis suggérés"
-#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:64
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:65
msgid "Suggested for you"
msgstr "Suggérés pour vous"
@@ -3736,35 +4657,34 @@ msgstr "Suggérés pour vous"
msgid "Suggestive"
msgstr "Suggestif"
-#: src/Navigation.tsx:214
+#: src/Navigation.tsx:226
#: src/view/screens/Support.tsx:30
#: src/view/screens/Support.tsx:33
msgid "Support"
msgstr "Soutien"
-#: src/view/com/modals/SwitchAccount.tsx:117
+#: src/components/dialogs/SwitchAccount.tsx:46
+#: src/components/dialogs/SwitchAccount.tsx:49
msgid "Switch Account"
msgstr "Changer de compte"
-#: src/view/com/modals/SwitchAccount.tsx:97
-#: src/view/screens/Settings/index.tsx:130
+#: src/view/screens/Settings/index.tsx:150
msgid "Switch to {0}"
msgstr "Basculer sur {0}"
-#: src/view/com/modals/SwitchAccount.tsx:98
-#: src/view/screens/Settings/index.tsx:131
+#: src/view/screens/Settings/index.tsx:151
msgid "Switches the account you are logged in to"
msgstr "Bascule le compte auquel vous êtes connectés vers"
-#: src/view/screens/Settings/index.tsx:472
+#: src/view/screens/Settings/index.tsx:442
msgid "System"
msgstr "Système"
-#: src/view/screens/Settings/index.tsx:795
+#: src/view/screens/Settings/index.tsx:783
msgid "System log"
msgstr "Journal système"
-#: src/components/dialogs/MutedWords.tsx:337
+#: src/components/dialogs/MutedWords.tsx:323
msgid "tag"
msgstr "mot-clé"
@@ -3772,7 +4692,7 @@ msgstr "mot-clé"
msgid "Tag menu: {displayTag}"
msgstr "Menu de mot-clé : {displayTag}"
-#: src/view/com/modals/crop-image/CropImage.web.tsx:112
+#: src/view/com/modals/crop-image/CropImage.web.tsx:113
msgid "Tall"
msgstr "Grand"
@@ -3788,30 +4708,49 @@ msgstr "Technologie"
msgid "Terms"
msgstr "Conditions générales"
-#: src/Navigation.tsx:224
-#: src/view/screens/Settings/index.tsx:885
+#: src/Navigation.tsx:236
+#: src/screens/Signup/StepInfo/Policies.tsx:49
+#: src/view/screens/Settings/index.tsx:881
#: src/view/screens/TermsOfService.tsx:29
-#: src/view/shell/Drawer.tsx:256
+#: src/view/shell/Drawer.tsx:265
msgid "Terms of Service"
msgstr "Conditions d’utilisation"
-#: src/components/dialogs/MutedWords.tsx:337
+#: src/lib/moderation/useReportOptions.ts:58
+#: src/lib/moderation/useReportOptions.ts:79
+#: src/lib/moderation/useReportOptions.ts:87
+msgid "Terms used violate community standards"
+msgstr ""
+
+#: src/components/dialogs/MutedWords.tsx:323
msgid "text"
msgstr "texte"
-#: src/view/com/modals/AppealLabel.tsx:70
-#: src/view/com/modals/report/InputIssueDetails.tsx:51
+#: src/components/moderation/LabelsOnMeDialog.tsx:219
msgid "Text input field"
msgstr "Champ de saisie de texte"
-#: src/view/com/auth/create/CreateAccount.tsx:94
+#: src/components/ReportDialog/SubmitView.tsx:76
+msgid "Thank you. Your report has been sent."
+msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:465
+msgid "That contains the following:"
+msgstr ""
+
+#: src/screens/Signup/index.tsx:85
msgid "That handle is already taken."
msgstr "Ce pseudo est déjà occupé."
-#: src/view/com/profile/ProfileHeader.tsx:263
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:282
+#: src/view/com/profile/ProfileMenu.tsx:349
msgid "The account will be able to interact with you after unblocking."
msgstr "Ce compte pourra interagir avec vous après le déblocage."
+#: src/components/moderation/ModerationDetailsDialog.tsx:127
+msgid "the author"
+msgstr ""
+
#: src/view/screens/CommunityGuidelines.tsx:36
msgid "The Community Guidelines have been moved to <0/>"
msgstr "Les lignes directrices communautaires ont été déplacées vers <0/>"
@@ -3820,11 +4759,20 @@ msgstr "Les lignes directrices communautaires ont été déplacées vers <0/>"
msgid "The Copyright Policy has been moved to <0/>"
msgstr "Notre politique de droits d’auteur a été déplacée vers <0/>"
-#: src/screens/Onboarding/Layout.tsx:60
+#: src/components/moderation/LabelsOnMeDialog.tsx:48
+msgid "The following labels were applied to your account."
+msgstr ""
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:49
+msgid "The following labels were applied to your content."
+msgstr ""
+
+#: src/screens/Onboarding/Layout.tsx:58
msgid "The following steps will help customize your Bluesky experience."
msgstr "Les étapes suivantes vous aideront à personnaliser votre expérience avec Bluesky."
-#: src/view/com/post-thread/PostThread.tsx:517
+#: src/view/com/post-thread/PostThread.tsx:153
+#: src/view/com/post-thread/PostThread.tsx:165
msgid "The post may have been deleted."
msgstr "Ce post a peut-être été supprimé."
@@ -3840,35 +4788,35 @@ msgstr "Le formulaire d’assistance a été déplacé. Si vous avez besoin d’
msgid "The Terms of Service have been moved to"
msgstr "Nos conditions d’utilisation ont été déplacées vers"
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:150
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:141
msgid "There are many feeds to try:"
msgstr "Il existe de nombreux fils d’actu à essayer :"
-#: src/view/screens/ProfileFeed.tsx:550
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:114
+#: src/view/screens/ProfileFeed.tsx:556
msgid "There was an an issue contacting the server, please check your internet connection and try again."
msgstr "Il y a eu un problème de connexion au serveur, veuillez vérifier votre connexion Internet et réessayez."
-#: src/view/com/posts/FeedErrorMessage.tsx:139
+#: src/view/com/posts/FeedErrorMessage.tsx:138
msgid "There was an an issue removing this feed. Please check your internet connection and try again."
msgstr "Il y a eu un problème lors de la suppression du fil, veuillez vérifier votre connexion Internet et réessayez."
-#: src/view/screens/ProfileFeed.tsx:210
+#: src/view/screens/ProfileFeed.tsx:219
msgid "There was an an issue updating your feeds, please check your internet connection and try again."
msgstr "Il y a eu un problème lors de la mise à jour de vos fils d’actu, veuillez vérifier votre connexion Internet et réessayez."
-#: src/view/screens/ProfileFeed.tsx:237
-#: src/view/screens/ProfileList.tsx:267
-#: src/view/screens/SavedFeeds.tsx:209
-#: src/view/screens/SavedFeeds.tsx:231
-#: src/view/screens/SavedFeeds.tsx:252
+#: src/view/screens/ProfileFeed.tsx:247
+#: src/view/screens/ProfileList.tsx:277
+#: src/view/screens/SavedFeeds.tsx:211
+#: src/view/screens/SavedFeeds.tsx:241
+#: src/view/screens/SavedFeeds.tsx:262
msgid "There was an issue contacting the server"
msgstr "Il y a eu un problème de connexion au serveur"
#: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:57
#: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:66
-#: src/view/com/feeds/FeedSourceCard.tsx:115
-#: src/view/com/feeds/FeedSourceCard.tsx:129
-#: src/view/com/feeds/FeedSourceCard.tsx:183
+#: src/view/com/feeds/FeedSourceCard.tsx:110
+#: src/view/com/feeds/FeedSourceCard.tsx:123
msgid "There was an issue contacting your server"
msgstr "Il y a eu un problème de connexion à votre serveur"
@@ -3876,7 +4824,7 @@ msgstr "Il y a eu un problème de connexion à votre serveur"
msgid "There was an issue fetching notifications. Tap here to try again."
msgstr "Il y a eu un problème lors de la récupération des notifications. Appuyez ici pour réessayer."
-#: src/view/com/posts/Feed.tsx:265
+#: src/view/com/posts/Feed.tsx:287
msgid "There was an issue fetching posts. Tap here to try again."
msgstr "Il y a eu un problème lors de la récupération des posts. Appuyez ici pour réessayer."
@@ -3884,39 +4832,45 @@ msgstr "Il y a eu un problème lors de la récupération des posts. Appuyez ici
msgid "There was an issue fetching the list. Tap here to try again."
msgstr "Il y a eu un problème lors de la récupération de la liste. Appuyez ici pour réessayer."
-#: src/view/com/feeds/ProfileFeedgens.tsx:148
-#: src/view/com/lists/ProfileLists.tsx:155
+#: src/view/com/feeds/ProfileFeedgens.tsx:156
+#: src/view/com/lists/ProfileLists.tsx:163
msgid "There was an issue fetching your lists. Tap here to try again."
msgstr "Il y a eu un problème lors de la récupération de vos listes. Appuyez ici pour réessayer."
-#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:63
-#: src/view/com/modals/ContentFilteringSettings.tsx:126
+#: src/components/ReportDialog/SubmitView.tsx:81
+msgid "There was an issue sending your report. Please check your internet connection."
+msgstr ""
+
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:65
msgid "There was an issue syncing your preferences with the server"
msgstr "Il y a eu un problème de synchronisation de vos préférences avec le serveur"
-#: src/view/screens/AppPasswords.tsx:66
+#: src/view/screens/AppPasswords.tsx:68
msgid "There was an issue with fetching your app passwords"
msgstr "Il y a eu un problème lors de la récupération de vos mots de passe d’application"
-#: src/view/com/post-thread/PostThreadFollowBtn.tsx:93
-#: src/view/com/post-thread/PostThreadFollowBtn.tsx:105
-#: src/view/com/profile/ProfileHeader.tsx:157
-#: src/view/com/profile/ProfileHeader.tsx:178
-#: src/view/com/profile/ProfileHeader.tsx:217
-#: src/view/com/profile/ProfileHeader.tsx:230
-#: src/view/com/profile/ProfileHeader.tsx:250
-#: src/view/com/profile/ProfileHeader.tsx:272
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:105
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:127
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:141
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:99
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:111
+#: src/view/com/profile/ProfileMenu.tsx:106
+#: src/view/com/profile/ProfileMenu.tsx:117
+#: src/view/com/profile/ProfileMenu.tsx:132
+#: src/view/com/profile/ProfileMenu.tsx:143
+#: src/view/com/profile/ProfileMenu.tsx:157
+#: src/view/com/profile/ProfileMenu.tsx:170
msgid "There was an issue! {0}"
msgstr "Il y a eu un problème ! {0}"
-#: src/view/screens/ProfileList.tsx:288
-#: src/view/screens/ProfileList.tsx:307
-#: src/view/screens/ProfileList.tsx:329
-#: src/view/screens/ProfileList.tsx:348
+#: src/view/screens/ProfileList.tsx:290
+#: src/view/screens/ProfileList.tsx:304
+#: src/view/screens/ProfileList.tsx:318
+#: src/view/screens/ProfileList.tsx:332
msgid "There was an issue. Please check your internet connection and try again."
msgstr "Il y a eu un problème. Veuillez vérifier votre connexion Internet et réessayez."
-#: src/view/com/util/ErrorBoundary.tsx:36
+#: src/view/com/util/ErrorBoundary.tsx:51
msgid "There was an unexpected issue in the application. Please let us know if this happened to you!"
msgstr "Un problème inattendu s’est produit dans l’application. N’hésitez pas à nous faire savoir si cela vous est arrivé !"
@@ -3924,23 +4878,36 @@ msgstr "Un problème inattendu s’est produit dans l’application. N’hésite
msgid "There's been a rush of new users to Bluesky! We'll activate your account as soon as we can."
msgstr "Il y a eu un afflux de nouveaux personnes sur Bluesky ! Nous activerons ton compte dès que possible."
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:138
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:146
msgid "These are popular accounts you might like:"
msgstr "Voici des comptes populaires qui pourraient vous intéresser :"
-#: src/view/com/util/moderation/ScreenHider.tsx:88
+#: src/components/moderation/ScreenHider.tsx:116
msgid "This {screenDescription} has been flagged:"
msgstr "Ce {screenDescription} a été signalé :"
-#: src/view/com/util/moderation/ScreenHider.tsx:83
+#: src/components/moderation/ScreenHider.tsx:111
msgid "This account has requested that users sign in to view their profile."
msgstr "Ce compte a demandé aux personnes de se connecter pour voir son profil."
-#: src/view/com/modals/EmbedConsent.tsx:68
+#: src/components/moderation/LabelsOnMeDialog.tsx:204
+msgid "This appeal will be sent to <0>{0}0>."
+msgstr ""
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:19
+msgid "This content has been hidden by the moderators."
+msgstr ""
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:24
+msgid "This content has received a general warning from moderators."
+msgstr ""
+
+#: src/components/dialogs/EmbedConsent.tsx:64
msgid "This content is hosted by {0}. Do you want to enable external media?"
msgstr "Ce contenu est hébergé par {0}. Voulez-vous activer les médias externes ?"
-#: src/view/com/modals/ModerationDetails.tsx:67
+#: src/components/moderation/ModerationDetailsDialog.tsx:77
+#: src/lib/moderation/useModerationCauseDescription.ts:77
msgid "This content is not available because one of the users involved has blocked the other."
msgstr "Ce contenu n’est pas disponible car l’un des comptes impliqués a bloqué l’autre."
@@ -3949,16 +4916,20 @@ msgid "This content is not viewable without a Bluesky account."
msgstr "Ce contenu n’est pas visible sans un compte Bluesky."
#: src/view/screens/Settings/ExportCarDialog.tsx:75
-msgid "This feature is in beta. You can read more about repository exports in <0>this blogpost.0>"
-msgstr "Cette fonctionnalité est en version bêta. Vous pouvez en savoir plus sur les exportations de dépôts dans <0>ce blogpost.0>"
+#~ msgid "This feature is in beta. You can read more about repository exports in <0>this blogpost.0>"
+#~ msgstr "Cette fonctionnalité est en version bêta. Vous pouvez en savoir plus sur les exportations de dépôts dans <0>ce blogpost.0>"
+
+#: src/view/screens/Settings/ExportCarDialog.tsx:75
+msgid "This feature is in beta. You can read more about repository exports in <0>this blogpost0>."
+msgstr ""
#: src/view/com/posts/FeedErrorMessage.tsx:114
msgid "This feed is currently receiving high traffic and is temporarily unavailable. Please try again later."
msgstr "Ce fil d’actu reçoit actuellement un trafic important, il est temporairement indisponible. Veuillez réessayer plus tard."
-#: src/view/screens/Profile.tsx:420
-#: src/view/screens/ProfileFeed.tsx:476
-#: src/view/screens/ProfileList.tsx:661
+#: src/screens/Profile/Sections/Feed.tsx:59
+#: src/view/screens/ProfileFeed.tsx:488
+#: src/view/screens/ProfileList.tsx:677
msgid "This feed is empty!"
msgstr "Ce fil d’actu est vide !"
@@ -3966,7 +4937,7 @@ msgstr "Ce fil d’actu est vide !"
msgid "This feed is empty! You may need to follow more users or tune your language settings."
msgstr "Ce fil d’actu est vide ! Vous devriez peut-être suivre plus de comptes ou ajuster vos paramètres de langue."
-#: src/view/com/modals/BirthDateSettings.tsx:61
+#: src/components/dialogs/BirthDateSettings.tsx:41
msgid "This information is not shared with other users."
msgstr "Ces informations ne sont pas partagées avec d’autres personnes."
@@ -3974,15 +4945,27 @@ msgstr "Ces informations ne sont pas partagées avec d’autres personnes."
msgid "This is important in case you ever need to change your email or reset your password."
msgstr "Ceci est important au cas où vous auriez besoin de changer d’e-mail ou de réinitialiser votre mot de passe."
-#: src/view/com/modals/LinkWarning.tsx:58
+#: src/components/moderation/ModerationDetailsDialog.tsx:124
+msgid "This label was applied by {0}."
+msgstr ""
+
+#: src/screens/Profile/Sections/Labels.tsx:178
+msgid "This labeler hasn't declared what labels it publishes, and may not be active."
+msgstr ""
+
+#: src/view/com/modals/LinkWarning.tsx:72
msgid "This link is taking you to the following website:"
msgstr "Ce lien vous conduit au site Web suivant :"
-#: src/view/screens/ProfileList.tsx:839
+#: src/view/screens/ProfileList.tsx:855
msgid "This list is empty!"
msgstr "Cette liste est vide !"
-#: src/view/com/modals/AddAppPasswords.tsx:106
+#: src/screens/Profile/ErrorState.tsx:40
+msgid "This moderation service is unavailable. See below for more details. If this issue persists, contact us."
+msgstr ""
+
+#: src/view/com/modals/AddAppPasswords.tsx:107
msgid "This name is already in use"
msgstr "Ce nom est déjà utilisé"
@@ -3990,32 +4973,78 @@ msgstr "Ce nom est déjà utilisé"
msgid "This post has been deleted."
msgstr "Ce post a été supprimé."
-#: src/view/com/modals/ModerationDetails.tsx:62
+#: src/view/com/util/forms/PostDropdownBtn.tsx:366
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:250
+msgid "This post is only visible to logged-in users. It won't be visible to people who aren't logged in."
+msgstr ""
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:348
+msgid "This post will be hidden from feeds."
+msgstr ""
+
+#: src/view/com/profile/ProfileMenu.tsx:370
+msgid "This profile is only visible to logged-in users. It won't be visible to people who aren't logged in."
+msgstr ""
+
+#: src/screens/Signup/StepInfo/Policies.tsx:37
+msgid "This service has not provided terms of service or a privacy policy."
+msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:445
+msgid "This should create a domain record at:"
+msgstr ""
+
+#: src/view/com/profile/ProfileFollowers.tsx:87
+msgid "This user doesn't have any followers."
+msgstr ""
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:72
+#: src/lib/moderation/useModerationCauseDescription.ts:68
msgid "This user has blocked you. You cannot view their content."
msgstr "Ce compte vous a bloqué. Vous ne pouvez pas voir son contenu."
+#: src/lib/moderation/useGlobalLabelStrings.ts:30
+msgid "This user has requested that their content only be shown to signed-in users."
+msgstr ""
+
#: src/view/com/modals/ModerationDetails.tsx:42
-msgid "This user is included in the <0/> list which you have blocked."
-msgstr "Ce compte est inclus dans la liste <0/> que vous avez bloquée."
+#~ msgid "This user is included in the <0/> list which you have blocked."
+#~ msgstr "Ce compte est inclus dans la liste <0/> que vous avez bloquée."
#: src/view/com/modals/ModerationDetails.tsx:74
-msgid "This user is included in the <0/> list which you have muted."
-msgstr "Ce compte est inclus dans la liste <0/> que vous avez masquée."
+#~ msgid "This user is included in the <0/> list which you have muted."
+#~ msgstr "Ce compte est inclus dans la liste <0/> que vous avez masquée."
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:55
+msgid "This user is included in the <0>{0}0> list which you have blocked."
+msgstr ""
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:84
+msgid "This user is included in the <0>{0}0> list which you have muted."
+msgstr ""
+
+#: src/view/com/profile/ProfileFollows.tsx:87
+msgid "This user isn't following anyone."
+msgstr ""
#: src/view/com/modals/SelfLabel.tsx:137
msgid "This warning is only available for posts with media attached."
msgstr "Cet avertissement n’est disponible que pour les posts contenant des médias."
-#: src/components/dialogs/MutedWords.tsx:285
+#: src/components/dialogs/MutedWords.tsx:283
msgid "This will delete {0} from your muted words. You can always add it back later."
msgstr "Cela supprimera {0} de vos mots masqués. Vous pourrez toujours le réintégrer plus tard."
#: src/view/com/util/forms/PostDropdownBtn.tsx:282
-msgid "This will hide this post from your feeds."
-msgstr "Cela va masquer ce post de vos fils d’actu."
+#~ msgid "This will hide this post from your feeds."
+#~ msgstr "Cela va masquer ce post de vos fils d’actu."
+
+#: src/view/screens/Settings/index.tsx:525
+msgid "Thread preferences"
+msgstr ""
#: src/view/screens/PreferencesThreads.tsx:53
-#: src/view/screens/Settings/index.tsx:565
+#: src/view/screens/Settings/index.tsx:535
msgid "Thread Preferences"
msgstr "Préférences des fils de discussion"
@@ -4023,11 +5052,15 @@ msgstr "Préférences des fils de discussion"
msgid "Threaded Mode"
msgstr "Mode arborescent"
-#: src/Navigation.tsx:257
+#: src/Navigation.tsx:269
msgid "Threads Preferences"
msgstr "Préférences de fils de discussion"
-#: src/components/dialogs/MutedWords.tsx:113
+#: src/components/ReportDialog/SelectLabelerView.tsx:33
+msgid "To whom would you like to send this report?"
+msgstr ""
+
+#: src/components/dialogs/MutedWords.tsx:112
msgid "Toggle between muted word options."
msgstr "Basculer entre les options pour les mots masqués."
@@ -4035,14 +5068,22 @@ msgstr "Basculer entre les options pour les mots masqués."
msgid "Toggle dropdown"
msgstr "Activer le menu déroulant"
-#: src/view/com/modals/EditImage.tsx:271
+#: src/screens/Moderation/index.tsx:332
+msgid "Toggle to enable or disable adult content"
+msgstr ""
+
+#: src/view/screens/Search/Search.tsx:427
+msgid "Top"
+msgstr ""
+
+#: src/view/com/modals/EditImage.tsx:272
msgid "Transformations"
msgstr "Transformations"
-#: src/view/com/post-thread/PostThreadItem.tsx:685
-#: src/view/com/post-thread/PostThreadItem.tsx:687
-#: src/view/com/util/forms/PostDropdownBtn.tsx:215
-#: src/view/com/util/forms/PostDropdownBtn.tsx:217
+#: src/view/com/post-thread/PostThreadItem.tsx:638
+#: src/view/com/post-thread/PostThreadItem.tsx:640
+#: src/view/com/util/forms/PostDropdownBtn.tsx:220
+#: src/view/com/util/forms/PostDropdownBtn.tsx:222
msgid "Translate"
msgstr "Traduire"
@@ -4051,63 +5092,89 @@ msgctxt "action"
msgid "Try again"
msgstr "Réessayer"
-#: src/view/screens/ProfileList.tsx:506
+#: src/view/com/modals/ChangeHandle.tsx:428
+msgid "Type:"
+msgstr ""
+
+#: src/view/screens/ProfileList.tsx:480
msgid "Un-block list"
msgstr "Débloquer la liste"
-#: src/view/screens/ProfileList.tsx:491
+#: src/view/screens/ProfileList.tsx:463
msgid "Un-mute list"
msgstr "Réafficher cette liste"
-#: src/view/com/auth/create/CreateAccount.tsx:58
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:87
-#: src/view/com/auth/login/Login.tsx:76
-#: src/view/com/auth/login/LoginForm.tsx:118
+#: src/screens/Login/ForgotPasswordForm.tsx:74
+#: src/screens/Login/index.tsx:78
+#: src/screens/Login/LoginForm.tsx:119
+#: src/screens/Login/SetNewPasswordForm.tsx:77
+#: src/screens/Signup/index.tsx:64
#: src/view/com/modals/ChangePassword.tsx:70
msgid "Unable to contact your service. Please check your Internet connection."
msgstr "Impossible de contacter votre service. Veuillez vérifier votre connexion Internet."
-#: src/view/com/profile/ProfileHeader.tsx:433
-#: src/view/screens/ProfileList.tsx:590
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:181
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:286
+#: src/view/com/profile/ProfileMenu.tsx:361
+#: src/view/screens/ProfileList.tsx:574
msgid "Unblock"
msgstr "Débloquer"
-#: src/view/com/profile/ProfileHeader.tsx:436
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:186
msgctxt "action"
msgid "Unblock"
msgstr "Débloquer"
-#: src/view/com/profile/ProfileHeader.tsx:261
-#: src/view/com/profile/ProfileHeader.tsx:345
+#: src/view/com/profile/ProfileMenu.tsx:299
+#: src/view/com/profile/ProfileMenu.tsx:305
msgid "Unblock Account"
msgstr "Débloquer le compte"
-#: src/view/com/modals/Repost.tsx:42
-#: src/view/com/modals/Repost.tsx:55
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:280
+#: src/view/com/profile/ProfileMenu.tsx:343
+msgid "Unblock Account?"
+msgstr ""
+
+#: src/view/com/modals/Repost.tsx:43
+#: src/view/com/modals/Repost.tsx:56
#: src/view/com/util/post-ctrls/RepostButton.tsx:60
#: src/view/com/util/post-ctrls/RepostButton.web.tsx:48
msgid "Undo repost"
msgstr "Annuler le repost"
-#: src/view/com/profile/FollowButton.tsx:55
+#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:141
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:248
+msgid "Unfollow"
+msgstr ""
+
+#: src/view/com/profile/FollowButton.tsx:60
msgctxt "action"
msgid "Unfollow"
msgstr "Se désabonner"
-#: src/view/com/profile/ProfileHeader.tsx:485
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:220
msgid "Unfollow {0}"
msgstr "Se désabonner de {0}"
-#: src/view/com/auth/create/state.ts:262
-msgid "Unfortunately, you do not meet the requirements to create an account."
-msgstr "Malheureusement, vous ne remplissez pas les conditions requises pour créer un compte."
+#: src/view/com/profile/ProfileMenu.tsx:241
+#: src/view/com/profile/ProfileMenu.tsx:251
+msgid "Unfollow Account"
+msgstr ""
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:182
+#: src/view/com/auth/create/state.ts:262
+#~ msgid "Unfortunately, you do not meet the requirements to create an account."
+#~ msgstr "Malheureusement, vous ne remplissez pas les conditions requises pour créer un compte."
+
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:197
msgid "Unlike"
msgstr "Déliker"
+#: src/view/screens/ProfileFeed.tsx:585
+msgid "Unlike this feed"
+msgstr ""
+
#: src/components/TagMenu/index.tsx:249
-#: src/view/screens/ProfileList.tsx:597
+#: src/view/screens/ProfileList.tsx:581
msgid "Unmute"
msgstr "Réafficher"
@@ -4115,7 +5182,8 @@ msgstr "Réafficher"
msgid "Unmute {truncatedTag}"
msgstr "Réafficher {truncatedTag}"
-#: src/view/com/profile/ProfileHeader.tsx:326
+#: src/view/com/profile/ProfileMenu.tsx:278
+#: src/view/com/profile/ProfileMenu.tsx:284
msgid "Unmute Account"
msgstr "Réafficher ce compte"
@@ -4123,45 +5191,92 @@ msgstr "Réafficher ce compte"
msgid "Unmute all {displayTag} posts"
msgstr "Réafficher tous les posts {displayTag}"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:251
-#: src/view/com/util/forms/PostDropdownBtn.tsx:256
+#: src/view/com/util/forms/PostDropdownBtn.tsx:269
+#: src/view/com/util/forms/PostDropdownBtn.tsx:274
msgid "Unmute thread"
msgstr "Réafficher ce fil de discussion"
-#: src/view/screens/ProfileFeed.tsx:354
-#: src/view/screens/ProfileList.tsx:581
+#: src/view/screens/ProfileFeed.tsx:306
+#: src/view/screens/ProfileList.tsx:565
msgid "Unpin"
msgstr "Désépingler"
-#: src/view/screens/ProfileList.tsx:474
+#: src/view/screens/ProfileFeed.tsx:303
+msgid "Unpin from home"
+msgstr ""
+
+#: src/view/screens/ProfileList.tsx:446
msgid "Unpin moderation list"
msgstr "Supprimer la liste de modération"
#: src/view/screens/ProfileFeed.tsx:346
-msgid "Unsave"
-msgstr "Supprimer"
+#~ msgid "Unsave"
+#~ msgstr "Supprimer"
+
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:225
+msgid "Unsubscribe"
+msgstr ""
+
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:190
+msgid "Unsubscribe from this labeler"
+msgstr ""
+
+#: src/lib/moderation/useReportOptions.ts:70
+msgid "Unwanted Sexual Content"
+msgstr ""
#: src/view/com/modals/UserAddRemoveLists.tsx:70
msgid "Update {displayName} in Lists"
msgstr "Mise à jour de {displayName} dans les listes"
#: src/lib/hooks/useOTAUpdate.ts:15
-msgid "Update Available"
-msgstr "Mise à jour disponible"
+#~ msgid "Update Available"
+#~ msgstr "Mise à jour disponible"
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:204
+#: src/view/com/modals/ChangeHandle.tsx:508
+msgid "Update to {handle}"
+msgstr ""
+
+#: src/screens/Login/SetNewPasswordForm.tsx:186
msgid "Updating..."
msgstr "Mise à jour…"
-#: src/view/com/modals/ChangeHandle.tsx:455
+#: src/view/com/modals/ChangeHandle.tsx:454
msgid "Upload a text file to:"
msgstr "Envoyer un fichier texte vers :"
-#: src/view/screens/AppPasswords.tsx:195
+#: src/view/com/util/UserAvatar.tsx:328
+#: src/view/com/util/UserAvatar.tsx:331
+#: src/view/com/util/UserBanner.tsx:116
+#: src/view/com/util/UserBanner.tsx:119
+msgid "Upload from Camera"
+msgstr ""
+
+#: src/view/com/util/UserAvatar.tsx:345
+#: src/view/com/util/UserBanner.tsx:133
+msgid "Upload from Files"
+msgstr ""
+
+#: src/view/com/util/UserAvatar.tsx:339
+#: src/view/com/util/UserAvatar.tsx:343
+#: src/view/com/util/UserBanner.tsx:127
+#: src/view/com/util/UserBanner.tsx:131
+msgid "Upload from Library"
+msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:408
+msgid "Use a file on your server"
+msgstr ""
+
+#: src/view/screens/AppPasswords.tsx:197
msgid "Use app passwords to login to other Bluesky clients without giving full access to your account or password."
msgstr "Utilisez les mots de passe de l’appli pour se connecter à d’autres clients Bluesky sans donner un accès complet à votre compte ou à votre mot de passe."
-#: src/view/com/modals/ChangeHandle.tsx:515
+#: src/view/com/modals/ChangeHandle.tsx:517
+msgid "Use bsky.social as hosting provider"
+msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:516
msgid "Use default provider"
msgstr "Utiliser le fournisseur par défaut"
@@ -4175,50 +5290,63 @@ msgstr "Utiliser le navigateur interne à l’appli"
msgid "Use my default browser"
msgstr "Utiliser mon navigateur par défaut"
-#: src/view/com/modals/AddAppPasswords.tsx:155
+#: src/view/com/modals/ChangeHandle.tsx:400
+msgid "Use the DNS panel"
+msgstr ""
+
+#: src/view/com/modals/AddAppPasswords.tsx:156
msgid "Use this to sign into the other app along with your handle."
msgstr "Utilisez-le pour vous connecter à l’autre application avec votre identifiant."
-#: src/view/com/modals/InviteCodes.tsx:200
+#: src/view/com/modals/InviteCodes.tsx:201
msgid "Used by:"
msgstr "Utilisé par :"
-#: src/view/com/modals/ModerationDetails.tsx:54
+#: src/components/moderation/ModerationDetailsDialog.tsx:64
+#: src/lib/moderation/useModerationCauseDescription.ts:56
msgid "User Blocked"
msgstr "Compte bloqué"
-#: src/view/com/modals/ModerationDetails.tsx:40
+#: src/lib/moderation/useModerationCauseDescription.ts:48
+msgid "User Blocked by \"{0}\""
+msgstr ""
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:53
msgid "User Blocked by List"
msgstr "Compte bloqué par liste"
-#: src/view/com/modals/ModerationDetails.tsx:60
+#: src/lib/moderation/useModerationCauseDescription.ts:66
+msgid "User Blocking You"
+msgstr ""
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:70
msgid "User Blocks You"
msgstr "Compte qui vous bloque"
#: src/view/com/auth/create/Step2.tsx:79
-msgid "User handle"
-msgstr "Pseudo"
+#~ msgid "User handle"
+#~ msgstr "Pseudo"
#: src/view/com/lists/ListCard.tsx:85
#: src/view/com/modals/UserAddRemoveLists.tsx:198
msgid "User list by {0}"
msgstr "Liste de compte de {0}"
-#: src/view/screens/ProfileList.tsx:763
+#: src/view/screens/ProfileList.tsx:779
msgid "User list by <0/>"
msgstr "Liste de compte par <0/>"
#: src/view/com/lists/ListCard.tsx:83
#: src/view/com/modals/UserAddRemoveLists.tsx:196
-#: src/view/screens/ProfileList.tsx:761
+#: src/view/screens/ProfileList.tsx:777
msgid "User list by you"
msgstr "Liste de compte par vous"
-#: src/view/com/modals/CreateOrEditList.tsx:196
+#: src/view/com/modals/CreateOrEditList.tsx:197
msgid "User list created"
msgstr "Liste de compte créée"
-#: src/view/com/modals/CreateOrEditList.tsx:182
+#: src/view/com/modals/CreateOrEditList.tsx:183
msgid "User list updated"
msgstr "Liste de compte mise à jour"
@@ -4226,12 +5354,13 @@ msgstr "Liste de compte mise à jour"
msgid "User Lists"
msgstr "Listes de comptes"
-#: src/view/com/auth/login/LoginForm.tsx:177
-#: src/view/com/auth/login/LoginForm.tsx:195
+#: src/screens/Login/LoginForm.tsx:151
msgid "Username or email address"
msgstr "Pseudo ou e-mail"
-#: src/view/screens/ProfileList.tsx:797
+#: src/view/screens/ProfileList.tsx:813
+#: src/view/screens/Search/Search.tsx:473
+#: src/view/screens/Search/Search.tsx:482
msgid "Users"
msgstr "Comptes"
@@ -4243,15 +5372,27 @@ msgstr "comptes suivis par <0/>"
msgid "Users in \"{0}\""
msgstr "Comptes dans « {0} »"
-#: src/view/screens/Settings/index.tsx:910
+#: src/components/LikesDialog.tsx:85
+msgid "Users that have liked this content or profile"
+msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:436
+msgid "Value:"
+msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:509
+msgid "Verify {0}"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:906
msgid "Verify email"
msgstr "Confirmer l’e-mail"
-#: src/view/screens/Settings/index.tsx:935
+#: src/view/screens/Settings/index.tsx:931
msgid "Verify my email"
msgstr "Confirmer mon e-mail"
-#: src/view/screens/Settings/index.tsx:944
+#: src/view/screens/Settings/index.tsx:940
msgid "Verify My Email"
msgstr "Confirmer mon e-mail"
@@ -4264,11 +5405,15 @@ msgstr "Confirmer le nouvel e-mail"
msgid "Verify Your Email"
msgstr "Vérifiez votre e-mail"
+#: src/view/screens/Settings/index.tsx:857
+msgid "Version {0}"
+msgstr ""
+
#: src/screens/Onboarding/index.tsx:42
msgid "Video Games"
msgstr "Jeux vidéo"
-#: src/view/com/profile/ProfileHeader.tsx:662
+#: src/screens/Profile/Header/Shell.tsx:107
msgid "View {0}'s avatar"
msgstr "Voir l’avatar de {0}"
@@ -4276,11 +5421,25 @@ msgstr "Voir l’avatar de {0}"
msgid "View debug entry"
msgstr "Afficher l’entrée de débogage"
-#: src/view/com/posts/FeedSlice.tsx:103
+#: src/components/ReportDialog/SelectReportOptionView.tsx:132
+msgid "View details"
+msgstr ""
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:127
+msgid "View details for reporting a copyright violation"
+msgstr ""
+
+#: src/view/com/posts/FeedSlice.tsx:99
msgid "View full thread"
msgstr "Voir le fil de discussion entier"
-#: src/view/com/posts/FeedErrorMessage.tsx:172
+#: src/components/moderation/LabelsOnMe.tsx:51
+msgid "View information about these labels"
+msgstr ""
+
+#: src/components/ProfileHoverCard/index.web.tsx:264
+#: src/components/ProfileHoverCard/index.web.tsx:293
+#: src/view/com/posts/FeedErrorMessage.tsx:166
msgid "View profile"
msgstr "Voir le profil"
@@ -4288,20 +5447,39 @@ msgstr "Voir le profil"
msgid "View the avatar"
msgstr "Afficher l’avatar"
-#: src/view/com/modals/LinkWarning.tsx:75
+#: src/components/LabelingServiceCard/index.tsx:140
+msgid "View the labeling service provided by @{0}"
+msgstr ""
+
+#: src/view/screens/ProfileFeed.tsx:597
+msgid "View users who like this feed"
+msgstr ""
+
+#: src/view/com/modals/LinkWarning.tsx:89
+#: src/view/com/modals/LinkWarning.tsx:95
msgid "Visit Site"
msgstr "Visiter le site"
-#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:42
-#: src/view/com/modals/ContentFilteringSettings.tsx:259
+#: src/components/moderation/LabelPreference.tsx:135
+#: src/lib/moderation/useLabelBehaviorDescription.ts:17
+#: src/lib/moderation/useLabelBehaviorDescription.ts:22
+#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:53
msgid "Warn"
msgstr "Avertir"
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:134
-msgid "We also think you'll like \"For You\" by Skygaze:"
-msgstr "Nous pensons également que vous aimerez « For You » de Skygaze :"
+#: src/lib/moderation/useLabelBehaviorDescription.ts:48
+msgid "Warn content"
+msgstr ""
-#: src/screens/Hashtag.tsx:132
+#: src/lib/moderation/useLabelBehaviorDescription.ts:46
+msgid "Warn content and filter from feeds"
+msgstr ""
+
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:134
+#~ msgid "We also think you'll like \"For You\" by Skygaze:"
+#~ msgstr "Nous pensons également que vous aimerez « For You » de Skygaze :"
+
+#: src/screens/Hashtag.tsx:133
msgid "We couldn't find any results for that hashtag."
msgstr "Nous n’avons trouvé aucun résultat pour ce mot-clé."
@@ -4309,7 +5487,7 @@ msgstr "Nous n’avons trouvé aucun résultat pour ce mot-clé."
msgid "We estimate {estimatedTime} until your account is ready."
msgstr "Nous estimons que votre compte sera prêt dans {estimatedTime}."
-#: src/screens/Onboarding/StepFinished.tsx:93
+#: src/screens/Onboarding/StepFinished.tsx:97
msgid "We hope you have a wonderful time. Remember, Bluesky is:"
msgstr "Nous espérons que vous passerez un excellent moment. N’oubliez pas que Bluesky est :"
@@ -4317,15 +5495,23 @@ msgstr "Nous espérons que vous passerez un excellent moment. N’oubliez pas qu
msgid "We ran out of posts from your follows. Here's the latest from <0/>."
msgstr "Nous n’avons plus de posts provenant des comptes que vous suivez. Voici le dernier de <0/>."
-#: src/components/dialogs/MutedWords.tsx:204
+#: src/components/dialogs/MutedWords.tsx:203
msgid "We recommend avoiding common words that appear in many posts, since it can result in no posts being shown."
msgstr "Nous vous recommandons d’éviter les mots communs qui apparaissent dans de nombreux posts, car cela peut avoir pour conséquence qu’aucun post ne s’affiche."
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:124
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:125
msgid "We recommend our \"Discover\" feed:"
msgstr "Nous vous recommandons notre fil d’actu « Discover » :"
-#: src/screens/Onboarding/StepInterests/index.tsx:133
+#: src/components/dialogs/BirthDateSettings.tsx:52
+msgid "We were unable to load your birth date preferences. Please try again."
+msgstr ""
+
+#: src/screens/Moderation/index.tsx:385
+msgid "We were unable to load your configured labelers at this time."
+msgstr ""
+
+#: src/screens/Onboarding/StepInterests/index.tsx:137
msgid "We weren't able to connect. Please try again to continue setting up your account. If it continues to fail, you can skip this flow."
msgstr "Nous n’avons pas pu nous connecter. Veuillez réessayer pour continuer à configurer votre compte. Si l’échec persiste, vous pouvez sauter cette étape."
@@ -4334,48 +5520,53 @@ msgid "We will let you know when your account is ready."
msgstr "Nous vous informerons lorsque votre compte sera prêt."
#: src/view/com/modals/AppealLabel.tsx:48
-msgid "We'll look into your appeal promptly."
-msgstr "Nous examinerons votre appel rapidement."
+#~ msgid "We'll look into your appeal promptly."
+#~ msgstr "Nous examinerons votre appel rapidement."
-#: src/screens/Onboarding/StepInterests/index.tsx:138
+#: src/screens/Onboarding/StepInterests/index.tsx:142
msgid "We'll use this to help customize your experience."
msgstr "Nous utiliserons ces informations pour personnaliser votre expérience."
-#: src/view/com/auth/create/CreateAccount.tsx:134
+#: src/screens/Signup/index.tsx:131
msgid "We're so excited to have you join us!"
msgstr "Nous sommes ravis de vous accueillir !"
-#: src/view/screens/ProfileList.tsx:86
+#: src/view/screens/ProfileList.tsx:90
msgid "We're sorry, but we were unable to resolve this list. If this persists, please contact the list creator, @{handleOrDid}."
msgstr "Nous sommes désolés, mais nous n’avons pas pu charger cette liste. Si cela persiste, veuillez contacter l’origine de la liste, @{handleOrDid}."
-#: src/components/dialogs/MutedWords.tsx:230
+#: src/components/dialogs/MutedWords.tsx:229
msgid "We're sorry, but we weren't able to load your muted words at this time. Please try again."
msgstr "Nous sommes désolés, mais nous n’avons pas pu charger vos mots masqués pour le moment. Veuillez réessayer."
-#: src/view/screens/Search/Search.tsx:254
+#: src/view/screens/Search/Search.tsx:322
msgid "We're sorry, but your search could not be completed. Please try again in a few minutes."
msgstr "Nous sommes désolés, mais votre recherche a été annulée. Veuillez réessayer dans quelques minutes."
-#: src/components/Lists.tsx:211
+#: src/components/Lists.tsx:188
#: src/view/screens/NotFound.tsx:48
msgid "We're sorry! We can't find the page you were looking for."
msgstr "Nous sommes désolés ! La page que vous recherchez est introuvable."
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:46
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:327
+msgid "We're sorry! You can only subscribe to ten labelers, and you've reached your limit of ten."
+msgstr ""
+
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:48
msgid "Welcome to <0>Bluesky0>"
msgstr "Bienvenue sur <0>Bluesky0>"
-#: src/screens/Onboarding/StepInterests/index.tsx:130
+#: src/screens/Onboarding/StepInterests/index.tsx:134
msgid "What are your interests?"
msgstr "Quels sont vos centres d’intérêt ?"
#: src/view/com/modals/report/Modal.tsx:169
-msgid "What is the issue with this {collectionName}?"
-msgstr "Quel est le problème avec cette {collectionName} ?"
+#~ msgid "What is the issue with this {collectionName}?"
+#~ msgstr "Quel est le problème avec cette {collectionName} ?"
-#: src/view/com/auth/SplashScreen.tsx:59
-#: src/view/com/composer/Composer.tsx:286
+#: src/view/com/auth/SplashScreen.tsx:40
+#: src/view/com/auth/SplashScreen.web.tsx:81
+#: src/view/com/composer/Composer.tsx:296
msgid "What's up?"
msgstr "Quoi de neuf ?"
@@ -4392,16 +5583,36 @@ msgstr "Quelles langues aimeriez-vous voir apparaître dans vos fils d’actu al
msgid "Who can reply"
msgstr "Qui peut répondre ?"
-#: src/view/com/modals/crop-image/CropImage.web.tsx:102
+#: src/components/ReportDialog/SelectReportOptionView.tsx:43
+msgid "Why should this content be reviewed?"
+msgstr ""
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:56
+msgid "Why should this feed be reviewed?"
+msgstr ""
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:53
+msgid "Why should this list be reviewed?"
+msgstr ""
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:50
+msgid "Why should this post be reviewed?"
+msgstr ""
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:47
+msgid "Why should this user be reviewed?"
+msgstr ""
+
+#: src/view/com/modals/crop-image/CropImage.web.tsx:103
msgid "Wide"
msgstr "Large"
-#: src/view/com/composer/Composer.tsx:422
+#: src/view/com/composer/Composer.tsx:436
msgid "Write post"
msgstr "Rédiger un post"
-#: src/view/com/composer/Composer.tsx:285
-#: src/view/com/composer/Prompt.tsx:33
+#: src/view/com/composer/Composer.tsx:295
+#: src/view/com/composer/Prompt.tsx:37
msgid "Write your reply"
msgstr "Rédigez votre réponse"
@@ -4423,101 +5634,148 @@ msgstr "Oui"
msgid "You are in line."
msgstr "Vous êtes dans la file d’attente."
+#: src/view/com/profile/ProfileFollows.tsx:86
+msgid "You are not following anyone."
+msgstr ""
+
#: src/view/com/posts/FollowingEmptyState.tsx:67
#: src/view/com/posts/FollowingEndOfFeed.tsx:68
msgid "You can also discover new Custom Feeds to follow."
msgstr "Vous pouvez aussi découvrir de nouveaux fils d’actu personnalisés à suivre."
-#: src/screens/Onboarding/StepFollowingFeed.tsx:142
+#: src/screens/Onboarding/StepFollowingFeed.tsx:143
msgid "You can change these settings later."
msgstr "Vous pouvez modifier ces paramètres ultérieurement."
-#: src/view/com/auth/login/Login.tsx:158
-#: src/view/com/auth/login/PasswordUpdatedForm.tsx:31
+#: src/screens/Login/index.tsx:158
+#: src/screens/Login/PasswordUpdatedForm.tsx:33
msgid "You can now sign in with your new password."
msgstr "Vous pouvez maintenant vous connecter avec votre nouveau mot de passe."
-#: src/view/com/modals/InviteCodes.tsx:66
+#: src/view/com/profile/ProfileFollowers.tsx:86
+msgid "You do not have any followers."
+msgstr ""
+
+#: src/view/com/modals/InviteCodes.tsx:67
msgid "You don't have any invite codes yet! We'll send you some when you've been on Bluesky for a little longer."
msgstr "Vous n’avez encore aucun code d’invitation ! Nous vous en enverrons lorsque vous serez sur Bluesky depuis un peu plus longtemps."
-#: src/view/screens/SavedFeeds.tsx:102
+#: src/view/screens/SavedFeeds.tsx:103
msgid "You don't have any pinned feeds."
msgstr "Vous n’avez encore aucun fil épinglé."
-#: src/view/screens/Feeds.tsx:452
+#: src/view/screens/Feeds.tsx:477
msgid "You don't have any saved feeds!"
msgstr "Vous n’avez encore aucun fil enregistré !"
-#: src/view/screens/SavedFeeds.tsx:135
+#: src/view/screens/SavedFeeds.tsx:136
msgid "You don't have any saved feeds."
msgstr "Vous n’avez encore aucun fil enregistré."
-#: src/view/com/post-thread/PostThread.tsx:465
+#: src/view/com/post-thread/PostThread.tsx:159
msgid "You have blocked the author or you have been blocked by the author."
msgstr "Vous avez bloqué cet auteur ou vous avez été bloqué par celui-ci."
-#: src/view/com/modals/ModerationDetails.tsx:56
+#: src/components/moderation/ModerationDetailsDialog.tsx:66
+#: src/lib/moderation/useModerationCauseDescription.ts:50
+#: src/lib/moderation/useModerationCauseDescription.ts:58
msgid "You have blocked this user. You cannot view their content."
msgstr "Vous avez bloqué ce compte. Vous ne pouvez pas voir son contenu."
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:57
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:92
+#: src/screens/Login/SetNewPasswordForm.tsx:54
+#: src/screens/Login/SetNewPasswordForm.tsx:91
#: src/view/com/modals/ChangePassword.tsx:87
#: src/view/com/modals/ChangePassword.tsx:121
msgid "You have entered an invalid code. It should look like XXXXX-XXXXX."
msgstr "Vous avez introduit un code non valide. Il devrait ressembler à XXXXX-XXXXX."
-#: src/view/com/modals/ModerationDetails.tsx:87
-msgid "You have muted this user."
-msgstr "Vous avez masqué ce compte."
+#: src/lib/moderation/useModerationCauseDescription.ts:109
+msgid "You have hidden this post"
+msgstr ""
-#: src/view/com/feeds/ProfileFeedgens.tsx:136
+#: src/components/moderation/ModerationDetailsDialog.tsx:101
+msgid "You have hidden this post."
+msgstr ""
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:94
+#: src/lib/moderation/useModerationCauseDescription.ts:92
+msgid "You have muted this account."
+msgstr ""
+
+#: src/lib/moderation/useModerationCauseDescription.ts:86
+msgid "You have muted this user"
+msgstr ""
+
+#: src/view/com/modals/ModerationDetails.tsx:87
+#~ msgid "You have muted this user."
+#~ msgstr "Vous avez masqué ce compte."
+
+#: src/view/com/feeds/ProfileFeedgens.tsx:144
msgid "You have no feeds."
msgstr "Vous n’avez aucun fil."
#: src/view/com/lists/MyLists.tsx:89
-#: src/view/com/lists/ProfileLists.tsx:140
+#: src/view/com/lists/ProfileLists.tsx:148
msgid "You have no lists."
msgstr "Vous n’avez aucune liste."
-#: src/view/screens/ModerationBlockedAccounts.tsx:132
-msgid "You have not blocked any accounts yet. To block an account, go to their profile and selected \"Block account\" from the menu on their account."
-msgstr "Vous n’avez pas encore bloqué de comptes. Pour bloquer un compte, accédez à son profil et sélectionnez « Bloquer le compte » dans le menu de son compte."
+#: src/view/screens/ModerationBlockedAccounts.tsx:138
+msgid "You have not blocked any accounts yet. To block an account, go to their profile and select \"Block account\" from the menu on their account."
+msgstr ""
-#: src/view/screens/AppPasswords.tsx:87
+#: src/view/screens/ModerationBlockedAccounts.tsx:132
+#~ msgid "You have not blocked any accounts yet. To block an account, go to their profile and selected \"Block account\" from the menu on their account."
+#~ msgstr "Vous n’avez pas encore bloqué de comptes. Pour bloquer un compte, accédez à son profil et sélectionnez « Bloquer le compte » dans le menu de son compte."
+
+#: src/view/screens/AppPasswords.tsx:89
msgid "You have not created any app passwords yet. You can create one by pressing the button below."
msgstr "Vous n’avez encore créé aucun mot de passe pour l’appli. Vous pouvez en créer un en cliquant sur le bouton suivant."
-#: src/view/screens/ModerationMutedAccounts.tsx:131
-msgid "You have not muted any accounts yet. To mute an account, go to their profile and selected \"Mute account\" from the menu on their account."
-msgstr "Vous n’avez encore masqué aucun compte. Pour désactiver un compte, allez sur son profil et sélectionnez « Masquer le compte » dans le menu de son compte."
+#: src/view/screens/ModerationMutedAccounts.tsx:136
+msgid "You have not muted any accounts yet. To mute an account, go to their profile and select \"Mute account\" from the menu on their account."
+msgstr ""
-#: src/components/dialogs/MutedWords.tsx:250
+#: src/view/screens/ModerationMutedAccounts.tsx:131
+#~ msgid "You have not muted any accounts yet. To mute an account, go to their profile and selected \"Mute account\" from the menu on their account."
+#~ msgstr "Vous n’avez encore masqué aucun compte. Pour désactiver un compte, allez sur son profil et sélectionnez « Masquer le compte » dans le menu de son compte."
+
+#: src/components/dialogs/MutedWords.tsx:249
msgid "You haven't muted any words or tags yet"
msgstr "Vous n’avez pas encore masqué de mot ou de mot-clé"
-#: src/view/com/modals/ContentFilteringSettings.tsx:175
-msgid "You must be 18 or older to enable adult content."
-msgstr "Vous devez avoir 18 ans ou plus pour activer le contenu pour adultes."
+#: src/components/moderation/LabelsOnMeDialog.tsx:68
+msgid "You may appeal these labels if you feel they were placed in error."
+msgstr ""
-#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:103
+#: src/screens/Signup/StepInfo/Policies.tsx:79
+msgid "You must be 13 years of age or older to sign up."
+msgstr ""
+
+#: src/view/com/modals/ContentFilteringSettings.tsx:175
+#~ msgid "You must be 18 or older to enable adult content."
+#~ msgstr "Vous devez avoir 18 ans ou plus pour activer le contenu pour adultes."
+
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:110
msgid "You must be 18 years or older to enable adult content"
msgstr "Vous devez avoir 18 ans ou plus pour activer le contenu pour adultes."
-#: src/view/com/util/forms/PostDropdownBtn.tsx:147
+#: src/components/ReportDialog/SubmitView.tsx:203
+msgid "You must select at least one labeler for a report"
+msgstr ""
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:150
msgid "You will no longer receive notifications for this thread"
msgstr "Vous ne recevrez plus de notifications pour ce fil de discussion"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:150
+#: src/view/com/util/forms/PostDropdownBtn.tsx:153
msgid "You will now receive notifications for this thread"
msgstr "Vous recevrez désormais des notifications pour ce fil de discussion"
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:107
+#: src/screens/Login/SetNewPasswordForm.tsx:104
msgid "You will receive an email with a \"reset code.\" Enter that code here, then enter your new password."
msgstr "Vous recevrez un e-mail contenant un « code de réinitialisation ». Saisissez ce code ici, puis votre nouveau mot de passe."
-#: src/screens/Onboarding/StepModeration/index.tsx:72
+#: src/screens/Onboarding/StepModeration/index.tsx:60
msgid "You're in control"
msgstr "Vous avez le contrôle"
@@ -4527,19 +5785,24 @@ msgstr "Vous avez le contrôle"
msgid "You're in line"
msgstr "Vous êtes dans la file d’attente"
-#: src/screens/Onboarding/StepFinished.tsx:90
+#: src/screens/Onboarding/StepFinished.tsx:94
msgid "You're ready to go!"
msgstr "Vous êtes prêt à partir !"
+#: src/components/moderation/ModerationDetailsDialog.tsx:98
+#: src/lib/moderation/useModerationCauseDescription.ts:101
+msgid "You've chosen to hide a word or tag within this post."
+msgstr ""
+
#: src/view/com/posts/FollowingEndOfFeed.tsx:48
msgid "You've reached the end of your feed! Find some more accounts to follow."
msgstr "Vous avez atteint la fin de votre fil d’actu ! Trouvez d’autres comptes à suivre."
-#: src/view/com/auth/create/Step1.tsx:67
+#: src/screens/Signup/index.tsx:151
msgid "Your account"
msgstr "Votre compte"
-#: src/view/com/modals/DeleteAccount.tsx:67
+#: src/view/com/modals/DeleteAccount.tsx:68
msgid "Your account has been deleted"
msgstr "Votre compte a été supprimé"
@@ -4547,7 +5810,7 @@ msgstr "Votre compte a été supprimé"
msgid "Your account repository, containing all public data records, can be downloaded as a \"CAR\" file. This file does not include media embeds, such as images, or your private data, which must be fetched separately."
msgstr "Le dépôt de votre compte, qui contient toutes les données publiques, peut être téléchargé sous la forme d’un fichier « CAR ». Ce fichier n’inclut pas les éléments multimédias, tels que les images, ni vos données privées, qui doivent être récupérées séparément."
-#: src/view/com/auth/create/Step1.tsx:215
+#: src/screens/Signup/StepInfo/index.tsx:123
msgid "Your birth date"
msgstr "Votre date de naissance"
@@ -4555,12 +5818,12 @@ msgstr "Votre date de naissance"
msgid "Your choice will be saved, but can be changed later in settings."
msgstr "Votre choix sera enregistré, mais vous pourrez le modifier ultérieurement dans les paramètres."
-#: src/screens/Onboarding/StepFollowingFeed.tsx:61
+#: src/screens/Onboarding/StepFollowingFeed.tsx:62
msgid "Your default feed is \"Following\""
msgstr "Votre fil d’actu par défaut est « Following »"
-#: src/view/com/auth/create/state.ts:110
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:70
+#: src/screens/Login/ForgotPasswordForm.tsx:57
+#: src/screens/Signup/state.ts:227
#: src/view/com/modals/ChangePassword.tsx:54
msgid "Your email appears to be invalid."
msgstr "Votre e-mail semble être invalide."
@@ -4577,41 +5840,40 @@ msgstr "Votre e-mail n’a pas encore été vérifié. Il s’agit d’une mesur
msgid "Your following feed is empty! Follow more users to see what's happening."
msgstr "Votre fil d’actu des comptes suivis est vide ! Suivez plus de comptes pour voir ce qui se passe."
-#: src/view/com/auth/create/Step2.tsx:83
+#: src/screens/Signup/StepHandle.tsx:73
msgid "Your full handle will be"
msgstr "Votre nom complet sera"
-#: src/view/com/modals/ChangeHandle.tsx:270
+#: src/view/com/modals/ChangeHandle.tsx:271
msgid "Your full handle will be <0>@{0}0>"
msgstr "Votre pseudo complet sera <0>@{0}0>"
-#: src/components/dialogs/MutedWords.tsx:221
+#: src/components/dialogs/MutedWords.tsx:220
msgid "Your muted words"
msgstr "Vos mots masqués"
-#: src/view/com/modals/ChangePassword.tsx:155
+#: src/view/com/modals/ChangePassword.tsx:157
msgid "Your password has been changed successfully!"
msgstr "Votre mot de passe a été modifié avec succès !"
-#: src/view/com/composer/Composer.tsx:274
+#: src/view/com/composer/Composer.tsx:284
msgid "Your post has been published"
msgstr "Votre post a été publié"
-#: src/screens/Onboarding/StepFinished.tsx:105
+#: src/screens/Onboarding/StepFinished.tsx:109
#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:59
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:59
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:61
msgid "Your posts, likes, and blocks are public. Mutes are private."
msgstr "Vos posts, les likes et les blocages sont publics. Les silences (comptes masqués) sont privés."
-#: src/view/com/modals/SwitchAccount.tsx:84
-#: src/view/screens/Settings/index.tsx:118
+#: src/view/screens/Settings/index.tsx:136
msgid "Your profile"
msgstr "Votre profil"
-#: src/view/com/composer/Composer.tsx:273
+#: src/view/com/composer/Composer.tsx:283
msgid "Your reply has been published"
msgstr "Votre réponse a été publiée"
-#: src/view/com/auth/create/Step2.tsx:65
+#: src/screens/Signup/index.tsx:153
msgid "Your user handle"
msgstr "Votre pseudo"
diff --git a/src/locale/locales/ga/messages.po b/src/locale/locales/ga/messages.po
new file mode 100644
index 0000000000..ed8d6d892c
--- /dev/null
+++ b/src/locale/locales/ga/messages.po
@@ -0,0 +1,6102 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: bsky\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-11-05 16:01-0800\n"
+"PO-Revision-Date: 2023-11-05 16:01-0800\n"
+"Last-Translator: Kevin Scannell \n"
+"Language-Team: Irish \n"
+"Language: ga\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=5; plural=n==1 ? 0 : n==2 ? 1 : n<7 ? 2 : n < 11 ? 3 : 4\n"
+
+#: src/view/com/modals/VerifyEmail.tsx:142
+msgid "(no email)"
+msgstr "(gan ríomhphost)"
+
+#: src/components/ProfileHoverCard/index.web.tsx:323
+#: src/screens/Profile/Header/Metrics.tsx:44
+msgid "{following} following"
+msgstr "{following} á leanúint"
+
+#: src/view/screens/Settings.tsx:NaN
+#~ msgid "{invitesAvailable} invite code available"
+#~ msgstr "{invitesAvailable} chód cuiridh ar fáil"
+
+#: src/view/screens/Settings.tsx:NaN
+#~ msgid "{invitesAvailable} invite codes available"
+#~ msgstr "{invitesAvailable} cód cuiridh ar fáil"
+
+#: src/view/shell/Drawer.tsx:449
+msgid "{numUnreadNotifications} unread"
+msgstr "{numUnreadNotifications} gan léamh"
+
+#: src/view/com/threadgate/WhoCanReply.tsx:158
+msgid "<0/> members"
+msgstr "<0/> ball"
+
+#: src/view/shell/Drawer.tsx:97
+msgid "<0>{0}0> following"
+msgstr ""
+
+#: src/components/ProfileHoverCard/index.web.tsx:314
+msgid "<0>{followers} 0><1>{pluralizedFollowers}1>"
+msgstr ""
+
+#: src/components/ProfileHoverCard/index.web.tsx:326
+#: src/screens/Profile/Header/Metrics.tsx:45
+msgid "<0>{following} 0><1>following1>"
+msgstr "<0>{following} 0><1>á leanúint1>"
+
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:31
+msgid "<0>Choose your0><1>Recommended1><2>Feeds2>"
+msgstr "<0>Roghnaigh do chuid0><1>Fothaí1><2>Molta2>"
+
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:38
+msgid "<0>Follow some0><1>Recommended1><2>Users2>"
+msgstr "<0>Lean cúpla0><1>Úsáideoirí1><2>Molta2>"
+
+#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:21
+msgid "<0>Welcome to0><1>Bluesky1>"
+msgstr "<0>Fáilte go0><1>Bluesky1>"
+
+#: src/screens/Profile/Header/Handle.tsx:43
+msgid "⚠Invalid Handle"
+msgstr "⚠Leasainm Neamhbhailí"
+
+#: src/view/com/util/moderation/LabelInfo.tsx:45
+#~ msgid "A content warning has been applied to this {0}."
+#~ msgstr "Cuireadh rabhadh ábhair leis an {0} seo."
+
+#: src/lib/hooks/useOTAUpdate.ts:16
+#~ msgid "A new version of the app is available. Please update to continue using the app."
+#~ msgstr "Tá leagan nua den aip ar fáil. Uasdátaigh leis an aip a úsáid anois."
+
+#: src/view/com/util/ViewHeader.tsx:89
+#: src/view/screens/Search/Search.tsx:796
+msgid "Access navigation links and settings"
+msgstr "Oscail nascanna agus socruithe"
+
+#: src/view/com/home/HomeHeaderLayoutMobile.tsx:54
+msgid "Access profile and other navigation links"
+msgstr "Oscail próifíl agus nascanna eile"
+
+#: src/view/com/modals/EditImage.tsx:300
+#: src/view/screens/Settings/index.tsx:421
+msgid "Accessibility"
+msgstr "Inrochtaineacht"
+
+#: src/components/moderation/LabelsOnMe.tsx:42
+msgid "account"
+msgstr ""
+
+#: src/screens/Login/LoginForm.tsx:144
+#: src/view/screens/Settings/index.tsx:330
+#: src/view/screens/Settings/index.tsx:707
+msgid "Account"
+msgstr "Cuntas"
+
+#: src/view/com/profile/ProfileMenu.tsx:139
+msgid "Account blocked"
+msgstr "Cuntas blocáilte"
+
+#: src/view/com/profile/ProfileMenu.tsx:153
+msgid "Account followed"
+msgstr ""
+
+#: src/view/com/profile/ProfileMenu.tsx:113
+msgid "Account muted"
+msgstr "Cuireadh an cuntas i bhfolach"
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:93
+#: src/lib/moderation/useModerationCauseDescription.ts:91
+msgid "Account Muted"
+msgstr "Cuireadh an cuntas i bhfolach"
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:82
+msgid "Account Muted by List"
+msgstr "Cuireadh an cuntas i bhfolach trí liosta"
+
+#: src/view/com/util/AccountDropdownBtn.tsx:41
+msgid "Account options"
+msgstr "Roghanna cuntais"
+
+#: src/view/com/util/AccountDropdownBtn.tsx:25
+msgid "Account removed from quick access"
+msgstr "Baineadh an cuntas ón mearliosta"
+
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:137
+#: src/view/com/profile/ProfileMenu.tsx:128
+msgid "Account unblocked"
+msgstr "Cuntas díbhlocáilte"
+
+#: src/view/com/profile/ProfileMenu.tsx:166
+msgid "Account unfollowed"
+msgstr ""
+
+#: src/view/com/profile/ProfileMenu.tsx:102
+msgid "Account unmuted"
+msgstr "Níl an cuntas i bhfolach a thuilleadh"
+
+#: src/components/dialogs/MutedWords.tsx:164
+#: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:150
+#: src/view/com/modals/ListAddRemoveUsers.tsx:268
+#: src/view/com/modals/UserAddRemoveLists.tsx:219
+#: src/view/screens/ProfileList.tsx:829
+msgid "Add"
+msgstr "Cuir leis"
+
+#: src/view/com/modals/SelfLabel.tsx:56
+msgid "Add a content warning"
+msgstr "Cuir rabhadh faoin ábhar leis"
+
+#: src/view/screens/ProfileList.tsx:819
+msgid "Add a user to this list"
+msgstr "Cuir cuntas leis an liosta seo"
+
+#: src/components/dialogs/SwitchAccount.tsx:55
+#: src/view/screens/Settings/index.tsx:405
+#: src/view/screens/Settings/index.tsx:414
+msgid "Add account"
+msgstr "Cuir cuntas leis seo"
+
+#: src/view/com/composer/photos/Gallery.tsx:119
+#: src/view/com/composer/photos/Gallery.tsx:180
+#: src/view/com/modals/AltImage.tsx:117
+msgid "Add alt text"
+msgstr "Cuir téacs malartach leis seo"
+
+#: src/view/screens/AppPasswords.tsx:104
+#: src/view/screens/AppPasswords.tsx:145
+#: src/view/screens/AppPasswords.tsx:158
+msgid "Add App Password"
+msgstr "Cuir pasfhocal aipe leis seo"
+
+#: src/view/com/modals/report/InputIssueDetails.tsx:41
+#: src/view/com/modals/report/Modal.tsx:191
+#~ msgid "Add details"
+#~ msgstr "Cuir mionsonraí leis seo"
+
+#: src/view/com/modals/report/Modal.tsx:194
+#~ msgid "Add details to report"
+#~ msgstr "Cuir mionsonraí leis an tuairisc"
+
+#: src/view/com/composer/Composer.tsx:467
+msgid "Add link card"
+msgstr "Cuir cárta leanúna leis seo"
+
+#: src/view/com/composer/Composer.tsx:472
+msgid "Add link card:"
+msgstr "Cuir cárta leanúna leis seo:"
+
+#: src/components/dialogs/MutedWords.tsx:157
+msgid "Add mute word for configured settings"
+msgstr ""
+
+#: src/components/dialogs/MutedWords.tsx:86
+msgid "Add muted words and tags"
+msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:416
+msgid "Add the following DNS record to your domain:"
+msgstr "Cuir an taifead DNS seo a leanas le d'fhearann:"
+
+#: src/view/com/profile/ProfileMenu.tsx:263
+#: src/view/com/profile/ProfileMenu.tsx:266
+msgid "Add to Lists"
+msgstr "Cuir le liostaí"
+
+#: src/view/com/feeds/FeedSourceCard.tsx:234
+msgid "Add to my feeds"
+msgstr "Cuir le mo chuid fothaí"
+
+#: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:139
+msgid "Added"
+msgstr "Curtha leis"
+
+#: src/view/com/modals/ListAddRemoveUsers.tsx:191
+#: src/view/com/modals/UserAddRemoveLists.tsx:144
+msgid "Added to list"
+msgstr "Curtha leis an liosta"
+
+#: src/view/com/feeds/FeedSourceCard.tsx:108
+msgid "Added to my feeds"
+msgstr "Curtha le mo chuid fothaí"
+
+#: src/view/screens/PreferencesFollowingFeed.tsx:173
+msgid "Adjust the number of likes a reply must have to be shown in your feed."
+msgstr "Sonraigh an méid moltaí ar fhreagra atá de dhíth le bheith le feiceáil i d'fhotha."
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:34
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:117
+#: src/view/com/modals/SelfLabel.tsx:75
+msgid "Adult Content"
+msgstr "Ábhar do dhaoine fásta"
+
+#: src/view/com/modals/ContentFilteringSettings.tsx:141
+#~ msgid "Adult content can only be enabled via the Web at <0/>."
+#~ msgstr "Ní féidir ábhar do dhaoine fásta a chur ar fáil ach tríd an nGréasán ag <0/>."
+
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:78
+#~ msgid "Adult content can only be enabled via the Web at <0>bsky.app0>."
+#~ msgstr "Ní féidir ábhar do dhaoine fásta a chur ar fáil ach tríd an nGréasán ag <0>bsky.app0>."
+
+#: src/components/moderation/LabelPreference.tsx:242
+msgid "Adult content is disabled."
+msgstr ""
+
+#: src/screens/Moderation/index.tsx:375
+#: src/view/screens/Settings/index.tsx:635
+msgid "Advanced"
+msgstr "Ardleibhéal"
+
+#: src/view/screens/Feeds.tsx:691
+msgid "All the feeds you've saved, right in one place."
+msgstr "Na fothaí go léir a shábháil tú, in áit amháin."
+
+#: src/screens/Login/ForgotPasswordForm.tsx:178
+#: src/view/com/modals/ChangePassword.tsx:170
+msgid "Already have a code?"
+msgstr "An bhfuil cód agat cheana?"
+
+#: src/screens/Login/ChooseAccountForm.tsx:39
+msgid "Already signed in as @{0}"
+msgstr "Logáilte isteach cheana mar @{0}"
+
+#: src/view/com/composer/photos/Gallery.tsx:130
+msgid "ALT"
+msgstr "ALT"
+
+#: src/view/com/modals/EditImage.tsx:316
+msgid "Alt text"
+msgstr "Téacs malartach"
+
+#: src/view/com/composer/photos/Gallery.tsx:209
+msgid "Alt text describes images for blind and low-vision users, and helps give context to everyone."
+msgstr "Cuireann an téacs malartach síos ar na híomhánna do dhaoine atá dall nó a bhfuil lagú radhairc orthu agus cuireann sé an comhthéacs ar fáil do chuile dhuine."
+
+#: src/view/com/modals/VerifyEmail.tsx:124
+msgid "An email has been sent to {0}. It includes a confirmation code which you can enter below."
+msgstr "Cuireadh teachtaireacht ríomhphoist chuig {0}. Tá cód dearbhaithe faoi iamh. Is féidir leat an cód a chur isteach thíos anseo."
+
+#: src/view/com/modals/ChangeEmail.tsx:119
+msgid "An email has been sent to your previous address, {0}. It includes a confirmation code which you can enter below."
+msgstr "Cuireadh teachtaireacht ríomhphoist chuig do sheanseoladh. {0}. Tá cód dearbhaithe faoi iamh."
+
+#: src/lib/moderation/useReportOptions.ts:26
+msgid "An issue not included in these options"
+msgstr ""
+
+#: src/components/hooks/useFollowMethods.ts:35
+#: src/components/hooks/useFollowMethods.ts:50
+#: src/view/com/profile/FollowButton.tsx:35
+#: src/view/com/profile/FollowButton.tsx:45
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:188
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:198
+msgid "An issue occurred, please try again."
+msgstr "Tharla fadhb. Déan iarracht eile, le do thoil."
+
+#: src/view/com/notifications/FeedItem.tsx:242
+#: src/view/com/threadgate/WhoCanReply.tsx:178
+msgid "and"
+msgstr "agus"
+
+#: src/screens/Onboarding/index.tsx:32
+msgid "Animals"
+msgstr "Ainmhithe"
+
+#: src/lib/moderation/useReportOptions.ts:31
+msgid "Anti-Social Behavior"
+msgstr ""
+
+#: src/view/screens/LanguageSettings.tsx:95
+msgid "App Language"
+msgstr "Teanga na haipe"
+
+#: src/view/screens/AppPasswords.tsx:223
+msgid "App password deleted"
+msgstr "Pasfhocal na haipe scriosta"
+
+#: src/view/com/modals/AddAppPasswords.tsx:135
+msgid "App Password names can only contain letters, numbers, spaces, dashes, and underscores."
+msgstr "Ní féidir ach litreacha, uimhreacha, spásanna, daiseanna agus fostríocanna a bheith in ainmneacha phasfhocal na haipe."
+
+#: src/view/com/modals/AddAppPasswords.tsx:100
+msgid "App Password names must be at least 4 characters long."
+msgstr "Caithfear 4 charachtar ar a laghad a bheith in ainmneacha phasfhocal na haipe."
+
+#: src/view/screens/Settings/index.tsx:646
+msgid "App password settings"
+msgstr "Socruithe phasfhocal na haipe"
+
+#: src/view/screens/Settings.tsx:650
+#~ msgid "App passwords"
+#~ msgstr "Pasfhocal na haipe"
+
+#: src/Navigation.tsx:251
+#: src/view/screens/AppPasswords.tsx:189
+#: src/view/screens/Settings/index.tsx:655
+msgid "App Passwords"
+msgstr "Pasfhocal na haipe"
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:133
+#: src/components/moderation/LabelsOnMeDialog.tsx:136
+msgid "Appeal"
+msgstr ""
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:201
+msgid "Appeal \"{0}\" label"
+msgstr ""
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:250
+#~ msgid "Appeal content warning"
+#~ msgstr "Déan achomharc in aghaidh rabhadh ábhair."
+
+#: src/view/com/modals/AppealLabel.tsx:65
+#~ msgid "Appeal Content Warning"
+#~ msgstr "Achomharc in aghaidh rabhadh ábhair"
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:192
+msgid "Appeal submitted."
+msgstr ""
+
+#: src/view/com/util/moderation/LabelInfo.tsx:52
+#~ msgid "Appeal this decision"
+#~ msgstr "Dean achomharc in aghaidh an chinnidh seo"
+
+#: src/view/com/util/moderation/LabelInfo.tsx:56
+#~ msgid "Appeal this decision."
+#~ msgstr "Dean achomharc in aghaidh an chinnidh seo."
+
+#: src/view/screens/Settings/index.tsx:436
+msgid "Appearance"
+msgstr "Cuma"
+
+#: src/view/screens/AppPasswords.tsx:265
+msgid "Are you sure you want to delete the app password \"{name}\"?"
+msgstr "An bhfuil tú cinnte gur mhaith leat pasfhocal na haipe “{name}” a scriosadh?"
+
+#: src/view/com/feeds/FeedSourceCard.tsx:280
+msgid "Are you sure you want to remove {0} from your feeds?"
+msgstr ""
+
+#: src/view/com/composer/Composer.tsx:509
+msgid "Are you sure you'd like to discard this draft?"
+msgstr "An bhfuil tú cinnte gur mhaith leat an dréacht seo a scriosadh?"
+
+#: src/components/dialogs/MutedWords.tsx:281
+msgid "Are you sure?"
+msgstr "Lánchinnte?"
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:233
+#~ msgid "Are you sure? This cannot be undone."
+#~ msgstr "An bhfuil tú cinnte? Ní féidir é seo a chealú."
+
+#: src/view/com/composer/select-language/SuggestedLanguage.tsx:60
+msgid "Are you writing in <0>{0}0>?"
+msgstr "An bhfuil tú ag scríobh sa teanga <0>{0}0>?"
+
+#: src/screens/Onboarding/index.tsx:26
+msgid "Art"
+msgstr "Ealaín"
+
+#: src/view/com/modals/SelfLabel.tsx:123
+msgid "Artistic or non-erotic nudity."
+msgstr "Lomnochtacht ealaíonta nó gan a bheith gáirsiúil."
+
+#: src/screens/Signup/StepHandle.tsx:119
+msgid "At least 3 characters"
+msgstr ""
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:246
+#: src/components/moderation/LabelsOnMeDialog.tsx:247
+#: src/screens/Login/ChooseAccountForm.tsx:73
+#: src/screens/Login/ChooseAccountForm.tsx:78
+#: src/screens/Login/ForgotPasswordForm.tsx:129
+#: src/screens/Login/ForgotPasswordForm.tsx:135
+#: src/screens/Login/LoginForm.tsx:221
+#: src/screens/Login/LoginForm.tsx:227
+#: src/screens/Login/SetNewPasswordForm.tsx:160
+#: src/screens/Login/SetNewPasswordForm.tsx:166
+#: src/screens/Profile/Header/Shell.tsx:96
+#: src/screens/Signup/index.tsx:180
+#: src/view/com/util/ViewHeader.tsx:87
+msgid "Back"
+msgstr "Ar ais"
+
+#: src/view/com/post-thread/PostThread.tsx:479
+#~ msgctxt "action"
+#~ msgid "Back"
+#~ msgstr "Ar ais"
+
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:144
+msgid "Based on your interest in {interestsText}"
+msgstr "Toisc go bhfuil suim agat in {interestsText}"
+
+#: src/view/screens/Settings/index.tsx:493
+msgid "Basics"
+msgstr "Bunrudaí"
+
+#: src/components/dialogs/BirthDateSettings.tsx:107
+msgid "Birthday"
+msgstr "Breithlá"
+
+#: src/view/screens/Settings/index.tsx:362
+msgid "Birthday:"
+msgstr "Breithlá:"
+
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:286
+#: src/view/com/profile/ProfileMenu.tsx:361
+msgid "Block"
+msgstr ""
+
+#: src/view/com/profile/ProfileMenu.tsx:300
+#: src/view/com/profile/ProfileMenu.tsx:307
+msgid "Block Account"
+msgstr "Blocáil an cuntas seo"
+
+#: src/view/com/profile/ProfileMenu.tsx:344
+msgid "Block Account?"
+msgstr ""
+
+#: src/view/screens/ProfileList.tsx:532
+msgid "Block accounts"
+msgstr "Blocáil na cuntais seo"
+
+#: src/view/screens/ProfileList.tsx:480
+#: src/view/screens/ProfileList.tsx:636
+msgid "Block list"
+msgstr "Liosta blocála"
+
+#: src/view/screens/ProfileList.tsx:631
+msgid "Block these accounts?"
+msgstr "An bhfuil fonn ort na cuntais seo a bhlocáil?"
+
+#: src/view/screens/ProfileList.tsx:319
+#~ msgid "Block this List"
+#~ msgstr "Blocáil an liosta seo"
+
+#: src/view/com/lists/ListCard.tsx:110
+#: src/view/com/util/post-embeds/QuoteEmbed.tsx:58
+msgid "Blocked"
+msgstr "Blocáilte"
+
+#: src/screens/Moderation/index.tsx:267
+msgid "Blocked accounts"
+msgstr "Cuntais bhlocáilte"
+
+#: src/Navigation.tsx:134
+#: src/view/screens/ModerationBlockedAccounts.tsx:113
+msgid "Blocked Accounts"
+msgstr "Cuntais bhlocáilte"
+
+#: src/view/com/profile/ProfileMenu.tsx:356
+msgid "Blocked accounts cannot reply in your threads, mention you, or otherwise interact with you."
+msgstr "Ní féidir leis na cuntais bhlocáilte freagra a thabhairt ar do chomhráite, tagairt a dhéanamh duit, ná aon phlé eile a bheith acu leat."
+
+#: src/view/screens/ModerationBlockedAccounts.tsx:121
+msgid "Blocked accounts cannot reply in your threads, mention you, or otherwise interact with you. You will not see their content and they will be prevented from seeing yours."
+msgstr "Ní féidir leis na cuntais bhlocáilte freagra a thabhairt ar do chomhráite, tagairt a dhéanamh duit, ná aon phlé eile a bheith acu leat. Ní fheicfidh tú a gcuid ábhair agus ní fheicfidh siad do chuid ábhair."
+
+#: src/view/com/post-thread/PostThread.tsx:313
+msgid "Blocked post."
+msgstr "Postáil bhlocáilte."
+
+#: src/screens/Profile/Sections/Labels.tsx:163
+msgid "Blocking does not prevent this labeler from placing labels on your account."
+msgstr ""
+
+#: src/view/screens/ProfileList.tsx:633
+msgid "Blocking is public. Blocked accounts cannot reply in your threads, mention you, or otherwise interact with you."
+msgstr "Tá an bhlocáil poiblí. Ní féidir leis na cuntais bhlocáilte freagra a thabhairt ar do chomhráite, tagairt a dhéanamh duit, ná aon phlé eile a bheith acu leat."
+
+#: src/view/com/profile/ProfileMenu.tsx:353
+msgid "Blocking will not prevent labels from being applied on your account, but it will stop this account from replying in your threads or interacting with you."
+msgstr ""
+
+#: src/view/com/auth/SplashScreen.web.tsx:149
+msgid "Blog"
+msgstr "Blag"
+
+#: src/view/com/auth/server-input/index.tsx:89
+#: src/view/com/auth/server-input/index.tsx:91
+msgid "Bluesky"
+msgstr "Bluesky"
+
+#: src/view/com/auth/server-input/index.tsx:154
+msgid "Bluesky is an open network where you can choose your hosting provider. Custom hosting is now available in beta for developers."
+msgstr "Is líonra oscailte é Bluesky, lenar féidir leat do sholáthraí óstála féin a roghnú. Tá leagan béite d'óstáil shaincheaptha ar fáil d'fhorbróirí anois."
+
+#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:80
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:82
+msgid "Bluesky is flexible."
+msgstr "Tá Bluesky solúbtha."
+
+#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:69
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:71
+msgid "Bluesky is open."
+msgstr "Tá Bluesky oscailte."
+
+#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:56
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:58
+msgid "Bluesky is public."
+msgstr "Tá Bluesky poiblí."
+
+#: src/view/com/modals/Waitlist.tsx:70
+#~ msgid "Bluesky uses invites to build a healthier community. If you don't know anybody with an invite, you can sign up for the waitlist and we'll send one soon."
+#~ msgstr "Baineann Bluesky úsáid as cuirí le pobal níos sláintiúla a thógáil. Mura bhfuil aithne agat ar dhuine a bhfuil cuireadh acu is féidir leat d’ainm a chur ar an liosta feithimh agus cuirfidh muid cuireadh chugat roimh i bhfad."
+
+#: src/screens/Moderation/index.tsx:533
+msgid "Bluesky will not show your profile and posts to logged-out users. Other apps may not honor this request. This does not make your account private."
+msgstr "Ní thaispeánfaidh Bluesky do phróifíl ná do chuid postálacha d’úsáideoirí atá logáilte amach. Is féidir nach gcloífidh aipeanna eile leis an iarratas seo. I bhfocail eile, ní bheidh do chuntas anseo príobháideach."
+
+#: src/view/com/modals/ServerInput.tsx:78
+#~ msgid "Bluesky.Social"
+#~ msgstr "Bluesky.Social"
+
+#: src/lib/moderation/useLabelBehaviorDescription.ts:53
+msgid "Blur images"
+msgstr ""
+
+#: src/lib/moderation/useLabelBehaviorDescription.ts:51
+msgid "Blur images and filter from feeds"
+msgstr ""
+
+#: src/screens/Onboarding/index.tsx:33
+msgid "Books"
+msgstr "Leabhair"
+
+#: src/view/screens/Settings/index.tsx:859
+#~ msgid "Build version {0} {1}"
+#~ msgstr "Leagan {0} {1}"
+
+#: src/view/com/auth/SplashScreen.web.tsx:146
+msgid "Business"
+msgstr "Gnó"
+
+#: src/view/com/modals/ServerInput.tsx:115
+#~ msgid "Button disabled. Input custom domain to proceed."
+#~ msgstr "Cnaipe as feidhm. Úsáid sainfhearann le leanúint ar aghaidh."
+
+#: src/view/com/profile/ProfileSubpageHeader.tsx:157
+msgid "by —"
+msgstr "le —"
+
+#: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:100
+msgid "by {0}"
+msgstr "le {0}"
+
+#: src/components/LabelingServiceCard/index.tsx:57
+msgid "By {0}"
+msgstr ""
+
+#: src/view/com/profile/ProfileSubpageHeader.tsx:161
+msgid "by <0/>"
+msgstr "le <0/>"
+
+#: src/screens/Signup/StepInfo/Policies.tsx:74
+msgid "By creating an account you agree to the {els}."
+msgstr ""
+
+#: src/view/com/profile/ProfileSubpageHeader.tsx:159
+msgid "by you"
+msgstr "leat"
+
+#: src/view/com/composer/photos/OpenCameraBtn.tsx:77
+msgid "Camera"
+msgstr "Ceamara"
+
+#: src/view/com/modals/AddAppPasswords.tsx:217
+msgid "Can only contain letters, numbers, spaces, dashes, and underscores. Must be at least 4 characters long, but no more than 32 characters long."
+msgstr "Ní féidir ach litreacha, uimhreacha, spásanna, daiseanna agus fostríocanna a bheith ann. Caithfear 4 charachtar ar a laghad a bheith ann agus gan níos mó ná 32 charachtar."
+
+#: src/components/Menu/index.tsx:213
+#: src/components/Prompt.tsx:113
+#: src/components/Prompt.tsx:115
+#: src/components/TagMenu/index.tsx:268
+#: src/view/com/composer/Composer.tsx:317
+#: src/view/com/composer/Composer.tsx:322
+#: src/view/com/modals/ChangeEmail.tsx:218
+#: src/view/com/modals/ChangeEmail.tsx:220
+#: src/view/com/modals/ChangeHandle.tsx:154
+#: src/view/com/modals/ChangePassword.tsx:267
+#: src/view/com/modals/ChangePassword.tsx:270
+#: src/view/com/modals/CreateOrEditList.tsx:356
+#: src/view/com/modals/crop-image/CropImage.web.tsx:138
+#: src/view/com/modals/EditImage.tsx:324
+#: src/view/com/modals/EditProfile.tsx:250
+#: src/view/com/modals/InAppBrowserConsent.tsx:78
+#: src/view/com/modals/InAppBrowserConsent.tsx:80
+#: src/view/com/modals/LinkWarning.tsx:105
+#: src/view/com/modals/LinkWarning.tsx:107
+#: src/view/com/modals/Repost.tsx:88
+#: src/view/com/modals/VerifyEmail.tsx:247
+#: src/view/com/modals/VerifyEmail.tsx:253
+#: src/view/screens/Search/Search.tsx:865
+#: src/view/shell/desktop/Search.tsx:239
+msgid "Cancel"
+msgstr "Cealaigh"
+
+#: src/view/com/modals/CreateOrEditList.tsx:361
+#: src/view/com/modals/DeleteAccount.tsx:155
+#: src/view/com/modals/DeleteAccount.tsx:233
+msgctxt "action"
+msgid "Cancel"
+msgstr "Cealaigh"
+
+#: src/view/com/modals/DeleteAccount.tsx:151
+#: src/view/com/modals/DeleteAccount.tsx:229
+msgid "Cancel account deletion"
+msgstr "Ná scrios an chuntas"
+
+#: src/view/com/modals/ChangeHandle.tsx:150
+msgid "Cancel change handle"
+msgstr "Ná hathraigh an leasainm"
+
+#: src/view/com/modals/crop-image/CropImage.web.tsx:135
+msgid "Cancel image crop"
+msgstr "Cealaigh bearradh na híomhá"
+
+#: src/view/com/modals/EditProfile.tsx:245
+msgid "Cancel profile editing"
+msgstr "Cealaigh eagarthóireacht na próifíle"
+
+#: src/view/com/modals/Repost.tsx:79
+msgid "Cancel quote post"
+msgstr "Ná déan athlua na postála"
+
+#: src/view/com/modals/ListAddRemoveUsers.tsx:87
+#: src/view/shell/desktop/Search.tsx:235
+msgid "Cancel search"
+msgstr "Cealaigh an cuardach"
+
+#: src/view/com/modals/Waitlist.tsx:136
+#~ msgid "Cancel waitlist signup"
+#~ msgstr "Ná sábháil d’ainm ar an liosta feithimh"
+
+#: src/view/com/modals/LinkWarning.tsx:106
+msgid "Cancels opening the linked website"
+msgstr ""
+
+#: src/view/com/modals/VerifyEmail.tsx:152
+msgid "Change"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:356
+msgctxt "action"
+msgid "Change"
+msgstr "Athraigh"
+
+#: src/view/screens/Settings/index.tsx:667
+msgid "Change handle"
+msgstr "Athraigh mo leasainm"
+
+#: src/view/com/modals/ChangeHandle.tsx:162
+#: src/view/screens/Settings/index.tsx:678
+msgid "Change Handle"
+msgstr "Athraigh mo leasainm"
+
+#: src/view/com/modals/VerifyEmail.tsx:147
+msgid "Change my email"
+msgstr "Athraigh mo ríomhphost"
+
+#: src/view/screens/Settings/index.tsx:718
+msgid "Change password"
+msgstr "Athraigh mo phasfhocal"
+
+#: src/view/com/modals/ChangePassword.tsx:141
+#: src/view/screens/Settings/index.tsx:729
+msgid "Change Password"
+msgstr "Athraigh mo phasfhocal"
+
+#: src/view/com/composer/select-language/SuggestedLanguage.tsx:73
+msgid "Change post language to {0}"
+msgstr "Athraigh an teanga phostála go {0}"
+
+#: src/view/screens/Settings/index.tsx:733
+#~ msgid "Change your Bluesky password"
+#~ msgstr "Athraigh do phasfhocal Bluesky"
+
+#: src/view/com/modals/ChangeEmail.tsx:109
+msgid "Change Your Email"
+msgstr "Athraigh do ríomhphost"
+
+#: src/screens/Deactivated.tsx:72
+#: src/screens/Deactivated.tsx:76
+msgid "Check my status"
+msgstr "Seiceáil mo stádas"
+
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:122
+msgid "Check out some recommended feeds. Tap + to add them to your list of pinned feeds."
+msgstr "Cuir súil ar na fothaí seo. Brúigh + len iad a chur le liosta na bhfothaí atá greamaithe agat."
+
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:186
+msgid "Check out some recommended users. Follow them to see similar users."
+msgstr "Cuir súil ar na húsáideoirí seo. Lean iad le húsáideoirí atá cosúil leo a fheiceáil."
+
+#: src/view/com/modals/DeleteAccount.tsx:168
+msgid "Check your inbox for an email with the confirmation code to enter below:"
+msgstr "Féach ar do bhosca ríomhphoist le haghaidh teachtaireachta leis an gcód dearbhaithe atá le cur isteach thíos."
+
+#: src/view/com/modals/Threadgate.tsx:72
+msgid "Choose \"Everybody\" or \"Nobody\""
+msgstr "Roghnaigh “Chuile Dhuine” nó “Duine Ar Bith”"
+
+#: src/view/screens/Settings/index.tsx:697
+#~ msgid "Choose a new Bluesky username or create"
+#~ msgstr "Roghnaigh leasainm Bluesky nua nó cruthaigh leasainm"
+
+#: src/view/com/auth/server-input/index.tsx:79
+msgid "Choose Service"
+msgstr "Roghnaigh Seirbhís"
+
+#: src/screens/Onboarding/StepFinished.tsx:139
+msgid "Choose the algorithms that power your custom feeds."
+msgstr "Roghnaigh na halgartaim le haghaidh do chuid sainfhothaí."
+
+#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:83
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:85
+msgid "Choose the algorithms that power your experience with custom feeds."
+msgstr "Roghnaigh na halgartaim a shainíonn an dóigh a n-oibríonn do chuid sainfhothaí."
+
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:103
+#~ msgid "Choose your algorithmic feeds"
+#~ msgstr "Roghnaigh do chuid fothaí algartamacha"
+
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:104
+msgid "Choose your main feeds"
+msgstr "Roghnaigh do phríomhfhothaí"
+
+#: src/screens/Signup/StepInfo/index.tsx:114
+msgid "Choose your password"
+msgstr "Roghnaigh do phasfhocal"
+
+#: src/view/screens/Settings/index.tsx:832
+msgid "Clear all legacy storage data"
+msgstr "Glan na sonraí oidhreachta ar fad atá i dtaisce."
+
+#: src/view/screens/Settings/index.tsx:835
+msgid "Clear all legacy storage data (restart after this)"
+msgstr "Glan na sonraí oidhreachta ar fad atá i dtaisce. Ansin atosaigh."
+
+#: src/view/screens/Settings/index.tsx:844
+msgid "Clear all storage data"
+msgstr "Glan na sonraí ar fad atá i dtaisce."
+
+#: src/view/screens/Settings/index.tsx:847
+msgid "Clear all storage data (restart after this)"
+msgstr "Glan na sonraí ar fad atá i dtaisce. Ansin atosaigh."
+
+#: src/view/com/util/forms/SearchInput.tsx:88
+#: src/view/screens/Search/Search.tsx:846
+msgid "Clear search query"
+msgstr "Glan an cuardach"
+
+#: src/view/screens/Settings/index.tsx:833
+msgid "Clears all legacy storage data"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:845
+msgid "Clears all storage data"
+msgstr ""
+
+#: src/view/screens/Support.tsx:40
+msgid "click here"
+msgstr "cliceáil anseo"
+
+#: src/components/TagMenu/index.web.tsx:138
+msgid "Click here to open tag menu for {tag}"
+msgstr ""
+
+#: src/components/RichText.tsx:198
+msgid "Click here to open tag menu for #{tag}"
+msgstr ""
+
+#: src/screens/Onboarding/index.tsx:35
+msgid "Climate"
+msgstr "Aeráid"
+
+#: src/view/com/modals/ChangePassword.tsx:267
+#: src/view/com/modals/ChangePassword.tsx:270
+msgid "Close"
+msgstr "Dún"
+
+#: src/components/Dialog/index.web.tsx:106
+#: src/components/Dialog/index.web.tsx:218
+msgid "Close active dialog"
+msgstr "Dún an dialóg oscailte"
+
+#: src/screens/Login/PasswordUpdatedForm.tsx:38
+msgid "Close alert"
+msgstr "Dún an rabhadh"
+
+#: src/view/com/util/BottomSheetCustomBackdrop.tsx:36
+msgid "Close bottom drawer"
+msgstr "Dún an tarraiceán íochtair"
+
+#: src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx:36
+msgid "Close image"
+msgstr "Dún an íomhá"
+
+#: src/view/com/lightbox/Lightbox.web.tsx:129
+msgid "Close image viewer"
+msgstr "Dún amharcóir na n-íomhánna"
+
+#: src/view/shell/index.web.tsx:57
+msgid "Close navigation footer"
+msgstr "Dún an buntásc"
+
+#: src/components/Menu/index.tsx:207
+#: src/components/TagMenu/index.tsx:262
+msgid "Close this dialog"
+msgstr ""
+
+#: src/view/shell/index.web.tsx:58
+msgid "Closes bottom navigation bar"
+msgstr "Dúnann sé seo an barra nascleanúna ag an mbun"
+
+#: src/screens/Login/PasswordUpdatedForm.tsx:39
+msgid "Closes password update alert"
+msgstr "Dúnann sé seo an rabhadh faoi uasdátú an phasfhocail"
+
+#: src/view/com/composer/Composer.tsx:319
+msgid "Closes post composer and discards post draft"
+msgstr "Dúnann sé seo cumadóir na postálacha agus ní shábhálann sé an dréacht"
+
+#: src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx:37
+msgid "Closes viewer for header image"
+msgstr "Dúnann sé seo an t-amharcóir le haghaidh íomhá an cheanntáisc"
+
+#: src/view/com/notifications/FeedItem.tsx:323
+msgid "Collapses list of users for a given notification"
+msgstr "Laghdaíonn sé seo liosta na n-úsáideoirí le haghaidh an fhógra sin"
+
+#: src/screens/Onboarding/index.tsx:41
+msgid "Comedy"
+msgstr "Greann"
+
+#: src/screens/Onboarding/index.tsx:27
+msgid "Comics"
+msgstr "Greannáin"
+
+#: src/Navigation.tsx:241
+#: src/view/screens/CommunityGuidelines.tsx:32
+msgid "Community Guidelines"
+msgstr "Treoirlínte an phobail"
+
+#: src/screens/Onboarding/StepFinished.tsx:152
+msgid "Complete onboarding and start using your account"
+msgstr "Críochnaigh agus tosaigh ag baint úsáide as do chuntas."
+
+#: src/screens/Signup/index.tsx:155
+msgid "Complete the challenge"
+msgstr "Freagair an dúshlán"
+
+#: src/view/com/composer/Composer.tsx:438
+msgid "Compose posts up to {MAX_GRAPHEME_LENGTH} characters in length"
+msgstr "Scríobh postálacha chomh fada le {MAX_GRAPHEME_LENGTH} litir agus carachtair eile"
+
+#: src/view/com/composer/Prompt.tsx:24
+msgid "Compose reply"
+msgstr "Scríobh freagra"
+
+#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:81
+msgid "Configure content filtering setting for category: {0}"
+msgstr "Socraigh scagadh an ábhair le haghaidh catagóir: {0}"
+
+#: src/components/moderation/LabelPreference.tsx:81
+msgid "Configure content filtering setting for category: {name}"
+msgstr ""
+
+#: src/components/moderation/LabelPreference.tsx:244
+msgid "Configured in <0>moderation settings0>."
+msgstr ""
+
+#: src/components/Prompt.tsx:153
+#: src/components/Prompt.tsx:156
+#: src/view/com/modals/SelfLabel.tsx:154
+#: src/view/com/modals/VerifyEmail.tsx:231
+#: src/view/com/modals/VerifyEmail.tsx:233
+#: src/view/screens/PreferencesFollowingFeed.tsx:308
+#: src/view/screens/PreferencesThreads.tsx:159
+msgid "Confirm"
+msgstr "Dearbhaigh"
+
+#: src/view/com/modals/Confirm.tsx:75
+#: src/view/com/modals/Confirm.tsx:78
+#~ msgctxt "action"
+#~ msgid "Confirm"
+#~ msgstr "Dearbhaigh"
+
+#: src/view/com/modals/ChangeEmail.tsx:193
+#: src/view/com/modals/ChangeEmail.tsx:195
+msgid "Confirm Change"
+msgstr "Dearbhaigh an t-athrú"
+
+#: src/view/com/modals/lang-settings/ConfirmLanguagesButton.tsx:35
+msgid "Confirm content language settings"
+msgstr "Dearbhaigh socruithe le haghaidh teanga an ábhair"
+
+#: src/view/com/modals/DeleteAccount.tsx:219
+msgid "Confirm delete account"
+msgstr "Dearbhaigh scriosadh an chuntais"
+
+#: src/view/com/modals/ContentFilteringSettings.tsx:156
+#~ msgid "Confirm your age to enable adult content."
+#~ msgstr "Dearbhaigh d’aois chun ábhar do dhaoine fásta a fháil."
+
+#: src/screens/Moderation/index.tsx:301
+msgid "Confirm your age:"
+msgstr ""
+
+#: src/screens/Moderation/index.tsx:292
+msgid "Confirm your birthdate"
+msgstr ""
+
+#: src/view/com/modals/ChangeEmail.tsx:157
+#: src/view/com/modals/DeleteAccount.tsx:175
+#: src/view/com/modals/DeleteAccount.tsx:181
+#: src/view/com/modals/VerifyEmail.tsx:165
+msgid "Confirmation code"
+msgstr "Cód dearbhaithe"
+
+#: src/view/com/modals/Waitlist.tsx:120
+#~ msgid "Confirms signing up {email} to the waitlist"
+#~ msgstr "Dearbhaíonn sé seo go gcuirfear {email} leis an liosta feithimh"
+
+#: src/screens/Login/LoginForm.tsx:248
+msgid "Connecting..."
+msgstr "Ag nascadh…"
+
+#: src/screens/Signup/index.tsx:225
+msgid "Contact support"
+msgstr "Teagmháil le Support"
+
+#: src/components/moderation/LabelsOnMe.tsx:42
+msgid "content"
+msgstr ""
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:18
+msgid "Content Blocked"
+msgstr ""
+
+#: src/view/screens/Moderation.tsx:81
+#~ msgid "Content filtering"
+#~ msgstr "Scagadh ábhair"
+
+#: src/view/com/modals/ContentFilteringSettings.tsx:44
+#~ msgid "Content Filtering"
+#~ msgstr "Scagadh Ábhair"
+
+#: src/screens/Moderation/index.tsx:285
+msgid "Content filters"
+msgstr ""
+
+#: src/view/com/modals/lang-settings/ContentLanguagesSettings.tsx:74
+#: src/view/screens/LanguageSettings.tsx:278
+msgid "Content Languages"
+msgstr "Teangacha ábhair"
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:75
+#: src/lib/moderation/useModerationCauseDescription.ts:75
+msgid "Content Not Available"
+msgstr "Ábhar nach bhfuil ar fáil"
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:46
+#: src/components/moderation/ScreenHider.tsx:99
+#: src/lib/moderation/useGlobalLabelStrings.ts:22
+#: src/lib/moderation/useModerationCauseDescription.ts:38
+msgid "Content Warning"
+msgstr "Rabhadh ábhair"
+
+#: src/view/com/composer/labels/LabelsBtn.tsx:31
+msgid "Content warnings"
+msgstr "Rabhadh ábhair"
+
+#: src/components/Menu/index.web.tsx:84
+msgid "Context menu backdrop, click to close the menu."
+msgstr ""
+
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:161
+#: src/screens/Onboarding/StepFollowingFeed.tsx:154
+#: src/screens/Onboarding/StepInterests/index.tsx:252
+#: src/screens/Onboarding/StepModeration/index.tsx:103
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:118
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:150
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:211
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:96
+msgid "Continue"
+msgstr "Lean ar aghaidh"
+
+#: src/components/AccountList.tsx:108
+msgid "Continue as {0} (currently signed in)"
+msgstr ""
+
+#: src/screens/Onboarding/StepFollowingFeed.tsx:151
+#: src/screens/Onboarding/StepInterests/index.tsx:249
+#: src/screens/Onboarding/StepModeration/index.tsx:100
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:115
+#: src/screens/Signup/index.tsx:200
+msgid "Continue to next step"
+msgstr "Lean ar aghaidh go dtí an chéad chéim eile"
+
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:158
+msgid "Continue to the next step"
+msgstr "Lean ar aghaidh go dtí an chéad chéim eile"
+
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:199
+msgid "Continue to the next step without following any accounts"
+msgstr "Lean ar aghaidh go dtí an chéad chéim eile gan aon chuntas a leanúint"
+
+#: src/screens/Onboarding/index.tsx:44
+msgid "Cooking"
+msgstr "Cócaireacht"
+
+#: src/view/com/modals/AddAppPasswords.tsx:196
+#: src/view/com/modals/InviteCodes.tsx:183
+msgid "Copied"
+msgstr "Cóipeáilte"
+
+#: src/view/screens/Settings/index.tsx:254
+msgid "Copied build version to clipboard"
+msgstr "Leagan cóipeáilte sa ghearrthaisce"
+
+#: src/view/com/modals/AddAppPasswords.tsx:77
+#: src/view/com/modals/ChangeHandle.tsx:326
+#: src/view/com/modals/InviteCodes.tsx:153
+#: src/view/com/util/forms/PostDropdownBtn.tsx:164
+msgid "Copied to clipboard"
+msgstr "Cóipeáilte sa ghearrthaisce"
+
+#: src/components/dialogs/Embed.tsx:134
+msgid "Copied!"
+msgstr ""
+
+#: src/view/com/modals/AddAppPasswords.tsx:190
+msgid "Copies app password"
+msgstr "Cóipeálann sé seo pasfhocal na haipe"
+
+#: src/view/com/modals/AddAppPasswords.tsx:189
+msgid "Copy"
+msgstr "Cóipeáil"
+
+#: src/view/com/modals/ChangeHandle.tsx:480
+msgid "Copy {0}"
+msgstr ""
+
+#: src/components/dialogs/Embed.tsx:120
+#: src/components/dialogs/Embed.tsx:139
+msgid "Copy code"
+msgstr ""
+
+#: src/view/screens/ProfileList.tsx:390
+msgid "Copy link to list"
+msgstr "Cóipeáil an nasc leis an liosta"
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:236
+#: src/view/com/util/forms/PostDropdownBtn.tsx:245
+msgid "Copy link to post"
+msgstr "Cóipeáil an nasc leis an bpostáil"
+
+#: src/view/com/profile/ProfileHeader.tsx:294
+#~ msgid "Copy link to profile"
+#~ msgstr "Cóipeáil an nasc leis an bpróifíl"
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:228
+#: src/view/com/util/forms/PostDropdownBtn.tsx:230
+msgid "Copy post text"
+msgstr "Cóipeáil téacs na postála"
+
+#: src/Navigation.tsx:246
+#: src/view/screens/CopyrightPolicy.tsx:29
+msgid "Copyright Policy"
+msgstr "An polasaí maidir le cóipcheart"
+
+#: src/view/screens/ProfileFeed.tsx:103
+msgid "Could not load feed"
+msgstr "Ní féidir an fotha a lódáil"
+
+#: src/view/screens/ProfileList.tsx:909
+msgid "Could not load list"
+msgstr "Ní féidir an liosta a lódáil"
+
+#: src/view/com/auth/create/Step2.tsx:91
+#~ msgid "Country"
+#~ msgstr "Tír"
+
+#: src/view/com/auth/SplashScreen.tsx:57
+#: src/view/com/auth/SplashScreen.web.tsx:101
+msgid "Create a new account"
+msgstr "Cruthaigh cuntas nua"
+
+#: src/view/screens/Settings/index.tsx:406
+msgid "Create a new Bluesky account"
+msgstr "Cruthaigh cuntas nua Bluesky"
+
+#: src/screens/Signup/index.tsx:130
+msgid "Create Account"
+msgstr "Cruthaigh cuntas"
+
+#: src/components/dialogs/Signin.tsx:86
+#: src/components/dialogs/Signin.tsx:88
+msgid "Create an account"
+msgstr ""
+
+#: src/view/com/modals/AddAppPasswords.tsx:227
+msgid "Create App Password"
+msgstr "Cruthaigh pasfhocal aipe"
+
+#: src/view/com/auth/SplashScreen.tsx:48
+#: src/view/com/auth/SplashScreen.web.tsx:92
+msgid "Create new account"
+msgstr "Cruthaigh cuntas nua"
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:94
+msgid "Create report for {0}"
+msgstr ""
+
+#: src/view/screens/AppPasswords.tsx:246
+msgid "Created {0}"
+msgstr "Cruthaíodh {0}"
+
+#: src/view/screens/ProfileFeed.tsx:616
+#~ msgid "Created by <0/>"
+#~ msgstr "Cruthaithe ag <0/>"
+
+#: src/view/screens/ProfileFeed.tsx:614
+#~ msgid "Created by you"
+#~ msgstr "Cruthaithe agat"
+
+#: src/view/com/composer/Composer.tsx:469
+msgid "Creates a card with a thumbnail. The card links to {url}"
+msgstr "Cruthaíonn sé seo cárta le mionsamhail. Nascann an cárta le {url}."
+
+#: src/screens/Onboarding/index.tsx:29
+msgid "Culture"
+msgstr "Cultúr"
+
+#: src/view/com/auth/server-input/index.tsx:97
+#: src/view/com/auth/server-input/index.tsx:99
+msgid "Custom"
+msgstr "Saincheaptha"
+
+#: src/view/com/modals/ChangeHandle.tsx:388
+msgid "Custom domain"
+msgstr "Sainfhearann"
+
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:107
+#: src/view/screens/Feeds.tsx:717
+msgid "Custom feeds built by the community bring you new experiences and help you find the content you love."
+msgstr "Cruthaíonn an pobal fothaí chun eispéiris nua a chur ar fáil duit, agus chun cabhrú leat teacht ar an ábhar a thaitníonn leat"
+
+#: src/view/screens/PreferencesExternalEmbeds.tsx:55
+msgid "Customize media from external sites."
+msgstr "Oiriúnaigh na meáin ó shuíomhanna seachtracha"
+
+#: src/view/screens/Settings.tsx:687
+#~ msgid "Danger Zone"
+#~ msgstr "Limistéar Contúirte"
+
+#: src/view/screens/Settings/index.tsx:455
+#: src/view/screens/Settings/index.tsx:481
+msgid "Dark"
+msgstr "Dorcha"
+
+#: src/view/screens/Debug.tsx:63
+msgid "Dark mode"
+msgstr "Modh dorcha"
+
+#: src/view/screens/Settings/index.tsx:468
+msgid "Dark Theme"
+msgstr "Téama Dorcha"
+
+#: src/screens/Signup/StepInfo/index.tsx:134
+msgid "Date of birth"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:805
+msgid "Debug Moderation"
+msgstr ""
+
+#: src/view/screens/Debug.tsx:83
+msgid "Debug panel"
+msgstr "Painéal dífhabhtaithe"
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:341
+#: src/view/screens/AppPasswords.tsx:268
+#: src/view/screens/ProfileList.tsx:615
+msgid "Delete"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:760
+msgid "Delete account"
+msgstr "Scrios an cuntas"
+
+#: src/view/com/modals/DeleteAccount.tsx:86
+msgid "Delete Account"
+msgstr "Scrios an Cuntas"
+
+#: src/view/screens/AppPasswords.tsx:239
+msgid "Delete app password"
+msgstr "Scrios pasfhocal na haipe"
+
+#: src/view/screens/AppPasswords.tsx:263
+msgid "Delete app password?"
+msgstr ""
+
+#: src/view/screens/ProfileList.tsx:417
+msgid "Delete List"
+msgstr "Scrios an liosta"
+
+#: src/view/com/modals/DeleteAccount.tsx:222
+msgid "Delete my account"
+msgstr "Scrios mo chuntas"
+
+#: src/view/screens/Settings.tsx:706
+#~ msgid "Delete my account…"
+#~ msgstr "Scrios mo chuntas"
+
+#: src/view/screens/Settings/index.tsx:772
+msgid "Delete My Account…"
+msgstr "Scrios mo chuntas…"
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:322
+#: src/view/com/util/forms/PostDropdownBtn.tsx:324
+msgid "Delete post"
+msgstr "Scrios an phostáil"
+
+#: src/view/screens/ProfileList.tsx:610
+msgid "Delete this list?"
+msgstr ""
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:336
+msgid "Delete this post?"
+msgstr "An bhfuil fonn ort an phostáil seo a scriosadh?"
+
+#: src/view/com/util/post-embeds/QuoteEmbed.tsx:67
+msgid "Deleted"
+msgstr "Scriosta"
+
+#: src/view/com/post-thread/PostThread.tsx:305
+msgid "Deleted post."
+msgstr "Scriosadh an phostáil."
+
+#: src/view/com/modals/CreateOrEditList.tsx:301
+#: src/view/com/modals/CreateOrEditList.tsx:322
+#: src/view/com/modals/EditProfile.tsx:199
+#: src/view/com/modals/EditProfile.tsx:211
+msgid "Description"
+msgstr "Cur síos"
+
+#: src/view/screens/Settings.tsx:760
+#~ msgid "Developer Tools"
+#~ msgstr "Áiseanna forbróra"
+
+#: src/view/com/composer/Composer.tsx:218
+msgid "Did you want to say anything?"
+msgstr "Ar mhaith leat rud éigin a rá?"
+
+#: src/view/screens/Settings/index.tsx:474
+msgid "Dim"
+msgstr "Breacdhorcha"
+
+#: src/view/screens/Settings/index.tsx:697
+msgid "Disable haptics"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:697
+msgid "Disable vibrations"
+msgstr ""
+
+#: src/lib/moderation/useLabelBehaviorDescription.ts:32
+#: src/lib/moderation/useLabelBehaviorDescription.ts:42
+#: src/lib/moderation/useLabelBehaviorDescription.ts:68
+#: src/screens/Moderation/index.tsx:341
+msgid "Disabled"
+msgstr ""
+
+#: src/view/com/composer/Composer.tsx:511
+msgid "Discard"
+msgstr "Ná sábháil"
+
+#: src/view/com/composer/Composer.tsx:138
+#~ msgid "Discard draft"
+#~ msgstr "Ná sábháil an dréacht"
+
+#: src/view/com/composer/Composer.tsx:508
+msgid "Discard draft?"
+msgstr ""
+
+#: src/screens/Moderation/index.tsx:518
+#: src/screens/Moderation/index.tsx:522
+msgid "Discourage apps from showing my account to logged-out users"
+msgstr "Cuir ina luí ar aipeanna gan mo chuntas a thaispeáint d'úsáideoirí atá logáilte amach"
+
+#: src/view/com/posts/FollowingEmptyState.tsx:74
+#: src/view/com/posts/FollowingEndOfFeed.tsx:75
+msgid "Discover new custom feeds"
+msgstr "Aimsigh sainfhothaí nua"
+
+#: src/view/screens/Feeds.tsx:473
+#~ msgid "Discover new feeds"
+#~ msgstr "Aimsigh fothaí nua"
+
+#: src/view/screens/Feeds.tsx:714
+msgid "Discover New Feeds"
+msgstr "Aimsigh Fothaí Nua"
+
+#: src/view/com/modals/EditProfile.tsx:193
+msgid "Display name"
+msgstr "Ainm taispeána"
+
+#: src/view/com/modals/EditProfile.tsx:181
+msgid "Display Name"
+msgstr "Ainm Taispeána"
+
+#: src/view/com/modals/ChangeHandle.tsx:397
+msgid "DNS Panel"
+msgstr ""
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:39
+msgid "Does not include nudity."
+msgstr ""
+
+#: src/screens/Signup/StepHandle.tsx:105
+msgid "Doesn't begin or end with a hyphen"
+msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:481
+msgid "Domain Value"
+msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:488
+msgid "Domain verified!"
+msgstr "Fearann dearbhaithe!"
+
+#: src/view/com/auth/create/Step1.tsx:170
+#~ msgid "Don't have an invite code?"
+#~ msgstr "Níl cód cuiridh agat?"
+
+#: src/components/dialogs/BirthDateSettings.tsx:119
+#: src/components/dialogs/BirthDateSettings.tsx:125
+#: src/components/forms/DateField/index.tsx:74
+#: src/components/forms/DateField/index.tsx:80
+#: src/view/com/auth/server-input/index.tsx:169
+#: src/view/com/auth/server-input/index.tsx:170
+#: src/view/com/modals/AddAppPasswords.tsx:227
+#: src/view/com/modals/AltImage.tsx:140
+#: src/view/com/modals/crop-image/CropImage.web.tsx:153
+#: src/view/com/modals/InviteCodes.tsx:81
+#: src/view/com/modals/InviteCodes.tsx:124
+#: src/view/com/modals/ListAddRemoveUsers.tsx:142
+#: src/view/screens/PreferencesFollowingFeed.tsx:311
+#: src/view/screens/Settings/ExportCarDialog.tsx:94
+#: src/view/screens/Settings/ExportCarDialog.tsx:96
+msgid "Done"
+msgstr "Déanta"
+
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:87
+#: src/view/com/modals/EditImage.tsx:334
+#: src/view/com/modals/ListAddRemoveUsers.tsx:144
+#: src/view/com/modals/SelfLabel.tsx:157
+#: src/view/com/modals/Threadgate.tsx:129
+#: src/view/com/modals/Threadgate.tsx:132
+#: src/view/com/modals/UserAddRemoveLists.tsx:95
+#: src/view/com/modals/UserAddRemoveLists.tsx:98
+#: src/view/screens/PreferencesThreads.tsx:162
+msgctxt "action"
+msgid "Done"
+msgstr "Déanta"
+
+#: src/view/com/modals/lang-settings/ConfirmLanguagesButton.tsx:43
+msgid "Done{extraText}"
+msgstr "Déanta{extraText}"
+
+#: src/view/com/auth/login/ChooseAccountForm.tsx:45
+#~ msgid "Double tap to sign in"
+#~ msgstr "Tapáil faoi dhó le logáil isteach"
+
+#: src/view/screens/Settings/index.tsx:755
+#~ msgid "Download Bluesky account data (repository)"
+#~ msgstr "Íoslódáil na sonraí ó do chuntas Bluesky (cartlann)"
+
+#: src/view/screens/Settings/ExportCarDialog.tsx:59
+#: src/view/screens/Settings/ExportCarDialog.tsx:63
+msgid "Download CAR file"
+msgstr "Íoslódáil comhad CAR"
+
+#: src/view/com/composer/text-input/TextInput.web.tsx:249
+msgid "Drop to add images"
+msgstr "Scaoil anseo chun íomhánna a chur leis"
+
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:120
+msgid "Due to Apple policies, adult content can only be enabled on the web after completing sign up."
+msgstr "De bharr pholasaí Apple, ní féidir ábhar do dhaoine fásta ar an nGréasán a fháil roimh an logáil isteach a chríochnú."
+
+#: src/view/com/modals/ChangeHandle.tsx:258
+msgid "e.g. alice"
+msgstr ""
+
+#: src/view/com/modals/EditProfile.tsx:186
+msgid "e.g. Alice Roberts"
+msgstr "m.sh. Cáit Ní Dhuibhir"
+
+#: src/view/com/modals/ChangeHandle.tsx:380
+msgid "e.g. alice.com"
+msgstr ""
+
+#: src/view/com/modals/EditProfile.tsx:204
+msgid "e.g. Artist, dog-lover, and avid reader."
+msgstr "m.sh. Ealaíontóir, File, Eolaí"
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:43
+msgid "E.g. artistic nudes."
+msgstr ""
+
+#: src/view/com/modals/CreateOrEditList.tsx:284
+msgid "e.g. Great Posters"
+msgstr "m.sh. Na cuntais is fearr"
+
+#: src/view/com/modals/CreateOrEditList.tsx:285
+msgid "e.g. Spammers"
+msgstr "m.sh. Seoltóirí turscair"
+
+#: src/view/com/modals/CreateOrEditList.tsx:313
+msgid "e.g. The posters who never miss."
+msgstr "m.sh. Na cuntais nach dteipeann orthu riamh"
+
+#: src/view/com/modals/CreateOrEditList.tsx:314
+msgid "e.g. Users that repeatedly reply with ads."
+msgstr "m.sh. Úsáideoirí a fhreagraíonn le fógraí"
+
+#: src/view/com/modals/InviteCodes.tsx:97
+msgid "Each code works once. You'll receive more invite codes periodically."
+msgstr "Oibríonn gach cód uair amháin. Gheobhaidh tú tuilleadh cód go tráthrialta."
+
+#: src/view/com/lists/ListMembers.tsx:149
+msgctxt "action"
+msgid "Edit"
+msgstr "Eagar"
+
+#: src/view/com/util/UserAvatar.tsx:301
+#: src/view/com/util/UserBanner.tsx:85
+msgid "Edit avatar"
+msgstr ""
+
+#: src/view/com/composer/photos/Gallery.tsx:144
+#: src/view/com/modals/EditImage.tsx:208
+msgid "Edit image"
+msgstr "Cuir an íomhá seo in eagar"
+
+#: src/view/screens/ProfileList.tsx:405
+msgid "Edit list details"
+msgstr "Athraigh mionsonraí an liosta"
+
+#: src/view/com/modals/CreateOrEditList.tsx:251
+msgid "Edit Moderation List"
+msgstr "Athraigh liosta na modhnóireachta"
+
+#: src/Navigation.tsx:256
+#: src/view/screens/Feeds.tsx:459
+#: src/view/screens/SavedFeeds.tsx:85
+msgid "Edit My Feeds"
+msgstr "Athraigh mo chuid fothaí"
+
+#: src/view/com/modals/EditProfile.tsx:153
+msgid "Edit my profile"
+msgstr "Athraigh mo phróifíl"
+
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:178
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:168
+msgid "Edit profile"
+msgstr "Athraigh an phróifíl"
+
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:181
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:171
+msgid "Edit Profile"
+msgstr "Athraigh an Phróifíl"
+
+#: src/view/com/home/HomeHeaderLayout.web.tsx:66
+#: src/view/screens/Feeds.tsx:380
+msgid "Edit Saved Feeds"
+msgstr "Athraigh na fothaí sábháilte"
+
+#: src/view/com/modals/CreateOrEditList.tsx:246
+msgid "Edit User List"
+msgstr "Athraigh an liosta d’úsáideoirí"
+
+#: src/view/com/modals/EditProfile.tsx:194
+msgid "Edit your display name"
+msgstr "Athraigh d’ainm taispeána"
+
+#: src/view/com/modals/EditProfile.tsx:212
+msgid "Edit your profile description"
+msgstr "Athraigh an cur síos ort sa phróifíl"
+
+#: src/screens/Onboarding/index.tsx:34
+msgid "Education"
+msgstr "Oideachas"
+
+#: src/screens/Signup/StepInfo/index.tsx:80
+#: src/view/com/modals/ChangeEmail.tsx:141
+msgid "Email"
+msgstr "Ríomhphost"
+
+#: src/screens/Login/ForgotPasswordForm.tsx:99
+msgid "Email address"
+msgstr "Seoladh ríomhphoist"
+
+#: src/view/com/modals/ChangeEmail.tsx:56
+#: src/view/com/modals/ChangeEmail.tsx:88
+msgid "Email updated"
+msgstr "Seoladh ríomhphoist uasdátaithe"
+
+#: src/view/com/modals/ChangeEmail.tsx:111
+msgid "Email Updated"
+msgstr "Seoladh ríomhphoist uasdátaithe"
+
+#: src/view/com/modals/VerifyEmail.tsx:78
+msgid "Email verified"
+msgstr "Ríomhphost dearbhaithe"
+
+#: src/view/screens/Settings/index.tsx:334
+msgid "Email:"
+msgstr "Ríomhphost:"
+
+#: src/components/dialogs/Embed.tsx:112
+msgid "Embed HTML code"
+msgstr ""
+
+#: src/components/dialogs/Embed.tsx:97
+#: src/view/com/util/forms/PostDropdownBtn.tsx:253
+#: src/view/com/util/forms/PostDropdownBtn.tsx:255
+msgid "Embed post"
+msgstr ""
+
+#: src/components/dialogs/Embed.tsx:101
+msgid "Embed this post in your website. Simply copy the following snippet and paste it into the HTML code of your website."
+msgstr ""
+
+#: src/components/dialogs/EmbedConsent.tsx:101
+msgid "Enable {0} only"
+msgstr "Cuir {0} amháin ar fáil"
+
+#: src/screens/Moderation/index.tsx:329
+msgid "Enable adult content"
+msgstr ""
+
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:94
+msgid "Enable Adult Content"
+msgstr "Cuir ábhar do dhaoine fásta ar fáil"
+
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:78
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:79
+msgid "Enable adult content in your feeds"
+msgstr "Cuir ábhar do dhaoine fásta ar fáil i do chuid fothaí"
+
+#: src/components/dialogs/EmbedConsent.tsx:82
+#: src/components/dialogs/EmbedConsent.tsx:89
+msgid "Enable external media"
+msgstr ""
+
+#: src/view/com/modals/EmbedConsent.tsx:97
+#~ msgid "Enable External Media"
+#~ msgstr "Cuir meáin sheachtracha ar fáil"
+
+#: src/view/screens/PreferencesExternalEmbeds.tsx:75
+msgid "Enable media players for"
+msgstr "Cuir seinnteoirí na meán ar fáil le haghaidh"
+
+#: src/view/screens/PreferencesFollowingFeed.tsx:147
+msgid "Enable this setting to only see replies between people you follow."
+msgstr "Cuir an socrú seo ar siúl le gan ach freagraí i measc na ndaoine a leanann tú a fheiceáil."
+
+#: src/components/dialogs/EmbedConsent.tsx:94
+msgid "Enable this source only"
+msgstr ""
+
+#: src/screens/Moderation/index.tsx:339
+msgid "Enabled"
+msgstr ""
+
+#: src/screens/Profile/Sections/Feed.tsx:100
+msgid "End of feed"
+msgstr "Deireadh an fhotha"
+
+#: src/view/com/modals/AddAppPasswords.tsx:167
+msgid "Enter a name for this App Password"
+msgstr "Cuir isteach ainm don phasfhocal aipe seo"
+
+#: src/screens/Login/SetNewPasswordForm.tsx:139
+msgid "Enter a password"
+msgstr ""
+
+#: src/components/dialogs/MutedWords.tsx:99
+#: src/components/dialogs/MutedWords.tsx:100
+msgid "Enter a word or tag"
+msgstr ""
+
+#: src/view/com/modals/VerifyEmail.tsx:105
+msgid "Enter Confirmation Code"
+msgstr "Cuir isteach an cód dearbhaithe"
+
+#: src/view/com/modals/ChangePassword.tsx:153
+msgid "Enter the code you received to change your password."
+msgstr "Cuir isteach an cód a fuair tú chun do phasfhocal a athrú."
+
+#: src/view/com/modals/ChangeHandle.tsx:370
+msgid "Enter the domain you want to use"
+msgstr "Cuir isteach an fearann is maith leat a úsáid"
+
+#: src/screens/Login/ForgotPasswordForm.tsx:119
+msgid "Enter the email you used to create your account. We'll send you a \"reset code\" so you can set a new password."
+msgstr "Cuir isteach an seoladh ríomhphoist a d’úsáid tú le do chuntas a chruthú. Cuirfidh muid “cód athshocraithe” chugat le go mbeidh tú in ann do phasfhocal a athrú."
+
+#: src/components/dialogs/BirthDateSettings.tsx:108
+msgid "Enter your birth date"
+msgstr "Cuir isteach do bhreithlá"
+
+#: src/view/com/modals/Waitlist.tsx:78
+#~ msgid "Enter your email"
+#~ msgstr "Cuir isteach do sheoladh ríomhphoist"
+
+#: src/screens/Login/ForgotPasswordForm.tsx:105
+#: src/screens/Signup/StepInfo/index.tsx:92
+msgid "Enter your email address"
+msgstr "Cuir isteach do sheoladh ríomhphoist"
+
+#: src/view/com/modals/ChangeEmail.tsx:41
+msgid "Enter your new email above"
+msgstr "Cuir isteach do sheoladh ríomhphoist nua thuas"
+
+#: src/view/com/modals/ChangeEmail.tsx:117
+msgid "Enter your new email address below."
+msgstr "Cuir isteach do sheoladh ríomhphoist nua thíos."
+
+#: src/view/com/auth/create/Step2.tsx:188
+#~ msgid "Enter your phone number"
+#~ msgstr "Cuir isteach d’uimhir ghutháin"
+
+#: src/screens/Login/index.tsx:101
+msgid "Enter your username and password"
+msgstr "Cuir isteach do leasainm agus do phasfhocal"
+
+#: src/screens/Signup/StepCaptcha/index.tsx:49
+msgid "Error receiving captcha response."
+msgstr "Earráid agus an freagra ar an captcha á phróiseáil."
+
+#: src/view/screens/Search/Search.tsx:115
+msgid "Error:"
+msgstr "Earráid:"
+
+#: src/view/com/modals/Threadgate.tsx:76
+msgid "Everybody"
+msgstr "Chuile dhuine"
+
+#: src/lib/moderation/useReportOptions.ts:66
+msgid "Excessive mentions or replies"
+msgstr ""
+
+#: src/view/com/modals/DeleteAccount.tsx:230
+msgid "Exits account deletion process"
+msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:151
+msgid "Exits handle change process"
+msgstr "Fágann sé seo athrú do leasainm"
+
+#: src/view/com/modals/crop-image/CropImage.web.tsx:136
+msgid "Exits image cropping process"
+msgstr ""
+
+#: src/view/com/lightbox/Lightbox.web.tsx:130
+msgid "Exits image view"
+msgstr "Fágann sé seo an radharc ar an íomhá"
+
+#: src/view/com/modals/ListAddRemoveUsers.tsx:88
+#: src/view/shell/desktop/Search.tsx:236
+msgid "Exits inputting search query"
+msgstr "Fágann sé seo an cuardach"
+
+#: src/view/com/modals/Waitlist.tsx:138
+#~ msgid "Exits signing up for waitlist with {email}"
+#~ msgstr "Fágann sé seo an síniú ar an liosta feithimh le {email}"
+
+#: src/view/com/lightbox/Lightbox.web.tsx:183
+msgid "Expand alt text"
+msgstr "Taispeáin an téacs malartach ina iomláine"
+
+#: src/view/com/composer/ComposerReplyTo.tsx:82
+#: src/view/com/composer/ComposerReplyTo.tsx:85
+msgid "Expand or collapse the full post you are replying to"
+msgstr "Leathnaigh nó laghdaigh an téacs iomlán a bhfuil tú ag freagairt"
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:47
+msgid "Explicit or potentially disturbing media."
+msgstr ""
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:35
+msgid "Explicit sexual images."
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:741
+msgid "Export my data"
+msgstr "Easpórtáil mo chuid sonraí"
+
+#: src/view/screens/Settings/ExportCarDialog.tsx:44
+#: src/view/screens/Settings/index.tsx:752
+msgid "Export My Data"
+msgstr "Easpórtáil mo chuid sonraí"
+
+#: src/components/dialogs/EmbedConsent.tsx:55
+#: src/components/dialogs/EmbedConsent.tsx:59
+msgid "External Media"
+msgstr "Meáin sheachtracha"
+
+#: src/components/dialogs/EmbedConsent.tsx:71
+#: src/view/screens/PreferencesExternalEmbeds.tsx:66
+msgid "External media may allow websites to collect information about you and your device. No information is sent or requested until you press the \"play\" button."
+msgstr "Is féidir le meáin sheachtracha cumas a thabhairt do shuíomhanna ar an nGréasán eolas fútsa agus faoi do ghléas a chnuasach. Ní sheoltar ná iarrtar aon eolas go dtí go mbrúnn tú an cnaipe “play”."
+
+#: src/Navigation.tsx:275
+#: src/view/screens/PreferencesExternalEmbeds.tsx:52
+#: src/view/screens/Settings/index.tsx:628
+msgid "External Media Preferences"
+msgstr "Roghanna maidir le meáin sheachtracha"
+
+#: src/view/screens/Settings/index.tsx:619
+msgid "External media settings"
+msgstr "Socruithe maidir le meáin sheachtracha"
+
+#: src/view/com/modals/AddAppPasswords.tsx:116
+#: src/view/com/modals/AddAppPasswords.tsx:120
+msgid "Failed to create app password."
+msgstr "Teip ar phasfhocal aipe a chruthú."
+
+#: src/view/com/modals/CreateOrEditList.tsx:207
+msgid "Failed to create the list. Check your internet connection and try again."
+msgstr "Teip ar chruthú an liosta. Seiceáil do nasc leis an idirlíon agus déan iarracht eile."
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:131
+msgid "Failed to delete post, please try again"
+msgstr "Teip ar scriosadh na postála. Déan iarracht eile."
+
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:110
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:143
+msgid "Failed to load recommended feeds"
+msgstr "Teip ar lódáil na bhfothaí molta"
+
+#: src/view/com/lightbox/Lightbox.tsx:83
+msgid "Failed to save image: {0}"
+msgstr ""
+
+#: src/Navigation.tsx:196
+msgid "Feed"
+msgstr "Fotha"
+
+#: src/view/com/feeds/FeedSourceCard.tsx:218
+msgid "Feed by {0}"
+msgstr "Fotha le {0}"
+
+#: src/view/screens/Feeds.tsx:630
+msgid "Feed offline"
+msgstr "Fotha as líne"
+
+#: src/view/com/feeds/FeedPage.tsx:143
+#~ msgid "Feed Preferences"
+#~ msgstr "Roghanna fotha"
+
+#: src/view/shell/desktop/RightNav.tsx:61
+#: src/view/shell/Drawer.tsx:320
+msgid "Feedback"
+msgstr "Aiseolas"
+
+#: src/Navigation.tsx:456
+#: src/view/screens/Feeds.tsx:444
+#: src/view/screens/Feeds.tsx:549
+#: src/view/screens/Profile.tsx:199
+#: src/view/shell/bottom-bar/BottomBar.tsx:192
+#: src/view/shell/desktop/LeftNav.tsx:346
+#: src/view/shell/Drawer.tsx:485
+#: src/view/shell/Drawer.tsx:486
+msgid "Feeds"
+msgstr "Fothaí"
+
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:106
+#~ msgid "Feeds are created by users and can give you entirely new experiences."
+#~ msgstr "Cruthaíonn úsáideoirí fothaí a d'fhéadfadh eispéiris úrnua a thabhairt duit."
+
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:106
+#~ msgid "Feeds are created by users and organizations. They offer you varied experiences and suggest content you may like using algorithms."
+#~ msgstr "Is iad úsáideoirí agus eagraíochtaí a chruthaíonn na fothaí. Is féidir leo radharcanna úrnua a oscailt duit."
+
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:58
+msgid "Feeds are created by users to curate content. Choose some feeds that you find interesting."
+msgstr "Is iad na húsáideoirí a chruthaíonn na fothaí le hábhar is spéis leo a chur ar fáil. Roghnaigh cúpla fotha a bhfuil suim agat iontu."
+
+#: src/view/screens/SavedFeeds.tsx:157
+msgid "Feeds are custom algorithms that users build with a little coding expertise. <0/> for more information."
+msgstr "Is sainalgartaim iad na fothaí. Cruthaíonn úsáideoirí a bhfuil beagán taithí acu ar chódáil iad. <0/> le tuilleadh eolais a fháil."
+
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:80
+msgid "Feeds can be topical as well!"
+msgstr "Is féidir le fothaí a bheith bunaithe ar chúrsaí reatha freisin!"
+
+#: src/view/com/modals/ChangeHandle.tsx:481
+msgid "File Contents"
+msgstr ""
+
+#: src/lib/moderation/useLabelBehaviorDescription.ts:66
+msgid "Filter from feeds"
+msgstr ""
+
+#: src/screens/Onboarding/StepFinished.tsx:155
+msgid "Finalizing"
+msgstr "Ag cur crích air"
+
+#: src/view/com/posts/CustomFeedEmptyState.tsx:47
+#: src/view/com/posts/FollowingEmptyState.tsx:57
+#: src/view/com/posts/FollowingEndOfFeed.tsx:58
+msgid "Find accounts to follow"
+msgstr "Aimsigh fothaí le leanúint"
+
+#: src/view/screens/Search/Search.tsx:589
+msgid "Find users on Bluesky"
+msgstr "Aimsigh úsáideoirí ar Bluesky"
+
+#: src/view/screens/Search/Search.tsx:587
+msgid "Find users with the search tool on the right"
+msgstr "Aimsigh úsáideoirí leis an uirlis chuardaigh ar dheis"
+
+#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:155
+msgid "Finding similar accounts..."
+msgstr "Cuntais eile atá cosúil leis seo á n-aimsiú..."
+
+#: src/view/screens/PreferencesFollowingFeed.tsx:111
+msgid "Fine-tune the content you see on your Following feed."
+msgstr ""
+
+#: src/view/screens/PreferencesHomeFeed.tsx:111
+#~ msgid "Fine-tune the content you see on your home screen."
+#~ msgstr "Mionathraigh an t-ábhar a fheiceann tú ar do scáileán baile."
+
+#: src/view/screens/PreferencesThreads.tsx:60
+msgid "Fine-tune the discussion threads."
+msgstr "Mionathraigh na snáitheanna chomhrá"
+
+#: src/screens/Onboarding/index.tsx:38
+msgid "Fitness"
+msgstr "Folláine"
+
+#: src/screens/Onboarding/StepFinished.tsx:135
+msgid "Flexible"
+msgstr "Solúbtha"
+
+#: src/view/com/modals/EditImage.tsx:116
+msgid "Flip horizontal"
+msgstr "Iompaigh go cothrománach é"
+
+#: src/view/com/modals/EditImage.tsx:121
+#: src/view/com/modals/EditImage.tsx:288
+msgid "Flip vertically"
+msgstr "Iompaigh go hingearach é"
+
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:189
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:235
+#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:141
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:146
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:248
+msgid "Follow"
+msgstr "Lean"
+
+#: src/view/com/profile/FollowButton.tsx:69
+msgctxt "action"
+msgid "Follow"
+msgstr "Lean"
+
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:58
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:221
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:128
+msgid "Follow {0}"
+msgstr "Lean {0}"
+
+#: src/view/com/profile/ProfileMenu.tsx:242
+#: src/view/com/profile/ProfileMenu.tsx:253
+msgid "Follow Account"
+msgstr ""
+
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:187
+msgid "Follow All"
+msgstr "Lean iad uile"
+
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:144
+msgid "Follow Back"
+msgstr ""
+
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:182
+msgid "Follow selected accounts and continue to the next step"
+msgstr "Lean na cuntais roghnaithe agus téigh ar aghaidh go dtí an chéad chéim eile"
+
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:65
+msgid "Follow some users to get started. We can recommend you more users based on who you find interesting."
+msgstr "Lean cúpla cuntas mar thosú. Tig linn níos mó úsáideoirí a mholadh duit a mbeadh suim agat iontu."
+
+#: src/view/com/profile/ProfileCard.tsx:219
+msgid "Followed by {0}"
+msgstr "Leanta ag {0}"
+
+#: src/view/com/modals/Threadgate.tsx:98
+msgid "Followed users"
+msgstr "Cuntais a leanann tú"
+
+#: src/view/screens/PreferencesFollowingFeed.tsx:154
+msgid "Followed users only"
+msgstr "Cuntais a leanann tú amháin"
+
+#: src/view/com/notifications/FeedItem.tsx:172
+msgid "followed you"
+msgstr "— lean sé/sí thú"
+
+#: src/view/com/profile/ProfileFollowers.tsx:104
+#: src/view/screens/ProfileFollowers.tsx:25
+msgid "Followers"
+msgstr "Leantóirí"
+
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:233
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:149
+#: src/view/com/profile/ProfileFollows.tsx:104
+#: src/view/screens/ProfileFollows.tsx:25
+msgid "Following"
+msgstr "Á leanúint"
+
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:93
+msgid "Following {0}"
+msgstr "Ag leanúint {0}"
+
+#: src/view/screens/Settings/index.tsx:504
+msgid "Following feed preferences"
+msgstr ""
+
+#: src/Navigation.tsx:262
+#: src/view/com/home/HomeHeaderLayout.web.tsx:54
+#: src/view/com/home/HomeHeaderLayoutMobile.tsx:87
+#: src/view/screens/PreferencesFollowingFeed.tsx:104
+#: src/view/screens/Settings/index.tsx:513
+msgid "Following Feed Preferences"
+msgstr ""
+
+#: src/screens/Profile/Header/Handle.tsx:24
+msgid "Follows you"
+msgstr "Leanann sé/sí thú"
+
+#: src/view/com/profile/ProfileCard.tsx:144
+msgid "Follows You"
+msgstr "Leanann sé/sí thú"
+
+#: src/screens/Onboarding/index.tsx:43
+msgid "Food"
+msgstr "Bia"
+
+#: src/view/com/modals/DeleteAccount.tsx:110
+msgid "For security reasons, we'll need to send a confirmation code to your email address."
+msgstr "Ar chúiseanna slándála, beidh orainn cód dearbhaithe a chur chuig do sheoladh ríomhphoist."
+
+#: src/view/com/modals/AddAppPasswords.tsx:210
+msgid "For security reasons, you won't be able to view this again. If you lose this password, you'll need to generate a new one."
+msgstr "Ar chúiseanna slándála, ní bheidh tú in ann é seo a fheiceáil arís. Má chailleann tú an pasfhocal seo beidh ort ceann nua a chruthú."
+
+#: src/view/com/auth/login/LoginForm.tsx:241
+#~ msgid "Forgot"
+#~ msgstr "Dearmadta"
+
+#: src/view/com/auth/login/LoginForm.tsx:238
+#~ msgid "Forgot password"
+#~ msgstr "Pasfhocal dearmadta"
+
+#: src/screens/Login/index.tsx:129
+#: src/screens/Login/index.tsx:144
+msgid "Forgot Password"
+msgstr "Pasfhocal dearmadta"
+
+#: src/screens/Login/LoginForm.tsx:201
+msgid "Forgot password?"
+msgstr ""
+
+#: src/screens/Login/LoginForm.tsx:212
+msgid "Forgot?"
+msgstr ""
+
+#: src/lib/moderation/useReportOptions.ts:52
+msgid "Frequently Posts Unwanted Content"
+msgstr ""
+
+#: src/screens/Hashtag.tsx:109
+#: src/screens/Hashtag.tsx:149
+msgid "From @{sanitizedAuthor}"
+msgstr ""
+
+#: src/view/com/posts/FeedItem.tsx:181
+msgctxt "from-feed"
+msgid "From <0/>"
+msgstr "Ó <0/>"
+
+#: src/view/com/composer/photos/SelectPhotoBtn.tsx:43
+msgid "Gallery"
+msgstr "Gailearaí"
+
+#: src/view/com/modals/VerifyEmail.tsx:189
+#: src/view/com/modals/VerifyEmail.tsx:191
+msgid "Get Started"
+msgstr "Ar aghaidh leat anois!"
+
+#: src/lib/moderation/useReportOptions.ts:37
+msgid "Glaring violations of law or terms of service"
+msgstr ""
+
+#: src/components/moderation/ScreenHider.tsx:151
+#: src/components/moderation/ScreenHider.tsx:160
+#: src/view/com/auth/LoggedOut.tsx:82
+#: src/view/com/auth/LoggedOut.tsx:83
+#: src/view/screens/NotFound.tsx:55
+#: src/view/screens/ProfileFeed.tsx:112
+#: src/view/screens/ProfileList.tsx:918
+#: src/view/shell/desktop/LeftNav.tsx:108
+msgid "Go back"
+msgstr "Ar ais"
+
+#: src/components/Error.tsx:91
+#: src/screens/Profile/ErrorState.tsx:62
+#: src/screens/Profile/ErrorState.tsx:66
+#: src/view/screens/NotFound.tsx:54
+#: src/view/screens/ProfileFeed.tsx:117
+#: src/view/screens/ProfileList.tsx:923
+msgid "Go Back"
+msgstr "Ar ais"
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:73
+#: src/components/ReportDialog/SubmitView.tsx:102
+#: src/screens/Onboarding/Layout.tsx:102
+#: src/screens/Onboarding/Layout.tsx:191
+#: src/screens/Signup/index.tsx:174
+msgid "Go back to previous step"
+msgstr "Fill ar an gcéim roimhe seo"
+
+#: src/view/screens/NotFound.tsx:55
+msgid "Go home"
+msgstr ""
+
+#: src/view/screens/NotFound.tsx:54
+msgid "Go Home"
+msgstr ""
+
+#: src/view/screens/Search/Search.tsx:896
+#: src/view/shell/desktop/Search.tsx:263
+msgid "Go to @{queryMaybeHandle}"
+msgstr "Téigh go dtí @{queryMaybeHandle}"
+
+#: src/screens/Login/ForgotPasswordForm.tsx:172
+#: src/view/com/modals/ChangePassword.tsx:167
+msgid "Go to next"
+msgstr "Téigh go dtí an chéad rud eile"
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:46
+msgid "Graphic Media"
+msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:266
+msgid "Handle"
+msgstr "Leasainm"
+
+#: src/lib/moderation/useReportOptions.ts:32
+msgid "Harassment, trolling, or intolerance"
+msgstr ""
+
+#: src/Navigation.tsx:282
+msgid "Hashtag"
+msgstr ""
+
+#: src/components/RichText.tsx:197
+msgid "Hashtag: #{tag}"
+msgstr ""
+
+#: src/screens/Signup/index.tsx:221
+msgid "Having trouble?"
+msgstr "Fadhb ort?"
+
+#: src/view/shell/desktop/RightNav.tsx:90
+#: src/view/shell/Drawer.tsx:330
+msgid "Help"
+msgstr "Cúnamh"
+
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:140
+msgid "Here are some accounts for you to follow"
+msgstr "Seo cúpla cuntas le leanúint duit"
+
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:89
+msgid "Here are some popular topical feeds. You can choose to follow as many as you like."
+msgstr "Seo cúpla fotha a bhfuil ráchairt orthu. Is féidir leat an méid acu is mian leat a leanúint."
+
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:84
+msgid "Here are some topical feeds based on your interests: {interestsText}. You can choose to follow as many as you like."
+msgstr "Seo cúpla fotha a phléann le rudaí a bhfuil suim agat iontu: {interestsText}. Is féidir leat an méid acu is mian leat a leanúint."
+
+#: src/view/com/modals/AddAppPasswords.tsx:154
+msgid "Here is your app password."
+msgstr "Seo é do phasfhocal aipe."
+
+#: src/components/moderation/ContentHider.tsx:115
+#: src/components/moderation/LabelPreference.tsx:134
+#: src/components/moderation/PostHider.tsx:107
+#: src/lib/moderation/useLabelBehaviorDescription.ts:15
+#: src/lib/moderation/useLabelBehaviorDescription.ts:20
+#: src/lib/moderation/useLabelBehaviorDescription.ts:25
+#: src/lib/moderation/useLabelBehaviorDescription.ts:30
+#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:52
+#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:76
+#: src/view/com/util/forms/PostDropdownBtn.tsx:350
+msgid "Hide"
+msgstr "Cuir i bhfolach"
+
+#: src/view/com/notifications/FeedItem.tsx:331
+msgctxt "action"
+msgid "Hide"
+msgstr "Cuir i bhfolach"
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:294
+#: src/view/com/util/forms/PostDropdownBtn.tsx:296
+msgid "Hide post"
+msgstr "Cuir an phostáil seo i bhfolach"
+
+#: src/components/moderation/ContentHider.tsx:67
+#: src/components/moderation/PostHider.tsx:64
+msgid "Hide the content"
+msgstr "Cuir an t-ábhar seo i bhfolach"
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:347
+msgid "Hide this post?"
+msgstr "An bhfuil fonn ort an phostáil seo a chur i bhfolach?"
+
+#: src/view/com/notifications/FeedItem.tsx:321
+msgid "Hide user list"
+msgstr "Cuir liosta na gcuntas i bhfolach"
+
+#: src/view/com/profile/ProfileHeader.tsx:486
+#~ msgid "Hides posts from {0} in your feed"
+#~ msgstr "Cuireann sé seo na postálacha ó {0} i d’fhotha i bhfolach"
+
+#: src/view/com/posts/FeedErrorMessage.tsx:111
+msgid "Hmm, some kind of issue occurred when contacting the feed server. Please let the feed owner know about this issue."
+msgstr "Hmm. Tharla fadhb éigin sa dul i dteagmháil le freastalaí an fhotha seo. Cuir é seo in iúl d’úinéir an fhotha, le do thoil."
+
+#: src/view/com/posts/FeedErrorMessage.tsx:99
+msgid "Hmm, the feed server appears to be misconfigured. Please let the feed owner know about this issue."
+msgstr "Hmm. Is cosúil nach bhfuil freastalaí an fhotha seo curtha le chéile i gceart. Cuir é seo in iúl d’úinéir an fhotha, le do thoil."
+
+#: src/view/com/posts/FeedErrorMessage.tsx:105
+msgid "Hmm, the feed server appears to be offline. Please let the feed owner know about this issue."
+msgstr "Hmm. Is cosúil go bhfuil freastalaí an fhotha as líne. Cuir é seo in iúl d’úinéir an fhotha, le do thoil."
+
+#: src/view/com/posts/FeedErrorMessage.tsx:102
+msgid "Hmm, the feed server gave a bad response. Please let the feed owner know about this issue."
+msgstr "Hmm. Thug freastalaí an fhotha drochfhreagra. Cuir é seo in iúl d’úinéir an fhotha, le do thoil."
+
+#: src/view/com/posts/FeedErrorMessage.tsx:96
+msgid "Hmm, we're having trouble finding this feed. It may have been deleted."
+msgstr "Hmm. Ní féidir linn an fotha seo a aimsiú. Is féidir gur scriosadh é."
+
+#: src/screens/Moderation/index.tsx:59
+msgid "Hmmmm, it seems we're having trouble loading this data. See below for more details. If this issue persists, please contact us."
+msgstr ""
+
+#: src/screens/Profile/ErrorState.tsx:31
+msgid "Hmmmm, we couldn't load that moderation service."
+msgstr ""
+
+#: src/Navigation.tsx:446
+#: src/view/shell/bottom-bar/BottomBar.tsx:148
+#: src/view/shell/desktop/LeftNav.tsx:310
+#: src/view/shell/Drawer.tsx:407
+#: src/view/shell/Drawer.tsx:408
+msgid "Home"
+msgstr "Baile"
+
+#: src/Navigation.tsx:247
+#: src/view/com/pager/FeedsTabBarMobile.tsx:123
+#: src/view/screens/PreferencesHomeFeed.tsx:104
+#: src/view/screens/Settings/index.tsx:543
+#~ msgid "Home Feed Preferences"
+#~ msgstr "Roghanna le haghaidh an fhotha baile"
+
+#: src/view/com/modals/ChangeHandle.tsx:420
+msgid "Host:"
+msgstr ""
+
+#: src/screens/Login/ForgotPasswordForm.tsx:89
+#: src/screens/Login/LoginForm.tsx:134
+#: src/screens/Signup/StepInfo/index.tsx:40
+#: src/view/com/modals/ChangeHandle.tsx:281
+msgid "Hosting provider"
+msgstr "Soláthraí óstála"
+
+#: src/view/com/modals/InAppBrowserConsent.tsx:44
+msgid "How should we open this link?"
+msgstr "Conas ar cheart dúinn an nasc seo a oscailt?"
+
+#: src/view/com/modals/VerifyEmail.tsx:214
+msgid "I have a code"
+msgstr "Tá cód agam"
+
+#: src/view/com/modals/VerifyEmail.tsx:216
+msgid "I have a confirmation code"
+msgstr "Tá cód dearbhaithe agam"
+
+#: src/view/com/modals/ChangeHandle.tsx:284
+msgid "I have my own domain"
+msgstr "Tá fearann de mo chuid féin agam"
+
+#: src/view/com/lightbox/Lightbox.web.tsx:185
+msgid "If alt text is long, toggles alt text expanded state"
+msgstr "Má tá an téacs malartach rófhada, athraíonn sé seo go téacs leathnaithe"
+
+#: src/view/com/modals/SelfLabel.tsx:127
+msgid "If none are selected, suitable for all ages."
+msgstr "Mura roghnaítear tada, tá sé oiriúnach do gach aois."
+
+#: src/screens/Signup/StepInfo/Policies.tsx:83
+msgid "If you are not yet an adult according to the laws of your country, your parent or legal guardian must read these Terms on your behalf."
+msgstr ""
+
+#: src/view/screens/ProfileList.tsx:612
+msgid "If you delete this list, you won't be able to recover it."
+msgstr ""
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:338
+msgid "If you remove this post, you won't be able to recover it."
+msgstr ""
+
+#: src/view/com/modals/ChangePassword.tsx:148
+msgid "If you want to change your password, we will send you a code to verify that this is your account."
+msgstr "Más mian leat do phasfhocal a athrú, seolfaimid cód duit chun dearbhú gur leatsa an cuntas seo."
+
+#: src/lib/moderation/useReportOptions.ts:36
+msgid "Illegal and Urgent"
+msgstr ""
+
+#: src/view/com/util/images/Gallery.tsx:38
+msgid "Image"
+msgstr "Íomhá"
+
+#: src/view/com/modals/AltImage.tsx:121
+msgid "Image alt text"
+msgstr "Téacs malartach le híomhá"
+
+#: src/view/com/util/UserAvatar.tsx:311
+#: src/view/com/util/UserBanner.tsx:118
+#~ msgid "Image options"
+#~ msgstr "Roghanna maidir leis an íomhá"
+
+#: src/lib/moderation/useReportOptions.ts:47
+msgid "Impersonation or false claims about identity or affiliation"
+msgstr ""
+
+#: src/screens/Login/SetNewPasswordForm.tsx:127
+msgid "Input code sent to your email for password reset"
+msgstr "Cuir isteach an cód a seoladh chuig do ríomhphost leis an bpasfhocal a athrú"
+
+#: src/view/com/modals/DeleteAccount.tsx:183
+msgid "Input confirmation code for account deletion"
+msgstr "Cuir isteach an cód dearbhaithe leis an gcuntas a scriosadh"
+
+#: src/view/com/auth/create/Step1.tsx:200
+#~ msgid "Input email for Bluesky account"
+#~ msgstr "Cuir isteach an ríomhphost don chuntas Bluesky"
+
+#: src/view/com/auth/create/Step1.tsx:158
+#~ msgid "Input invite code to proceed"
+#~ msgstr "Cuir isteach an cód cuiridh le dul ar aghaidh"
+
+#: src/view/com/modals/AddAppPasswords.tsx:181
+msgid "Input name for app password"
+msgstr "Cuir isteach an t-ainm le haghaidh phasfhocal na haipe"
+
+#: src/screens/Login/SetNewPasswordForm.tsx:151
+msgid "Input new password"
+msgstr "Cuir isteach an pasfhocal nua"
+
+#: src/view/com/modals/DeleteAccount.tsx:202
+msgid "Input password for account deletion"
+msgstr "Cuir isteach an pasfhocal chun an cuntas a scriosadh"
+
+#: src/view/com/auth/create/Step2.tsx:196
+#~ msgid "Input phone number for SMS verification"
+#~ msgstr "Cuir isteach an uimhir ghutháin le haghaidh dhearbhú SMS"
+
+#: src/screens/Login/LoginForm.tsx:195
+msgid "Input the password tied to {identifier}"
+msgstr "Cuir isteach an pasfhocal ceangailte le {identifier}"
+
+#: src/screens/Login/LoginForm.tsx:168
+msgid "Input the username or email address you used at signup"
+msgstr "Cuir isteach an leasainm nó an seoladh ríomhphoist a d’úsáid tú nuair a chláraigh tú"
+
+#: src/view/com/auth/create/Step2.tsx:271
+#~ msgid "Input the verification code we have texted to you"
+#~ msgstr "Cuir isteach an cód dearbhaithe a chuir muid chugat i dteachtaireacht téacs"
+
+#: src/view/com/modals/Waitlist.tsx:90
+#~ msgid "Input your email to get on the Bluesky waitlist"
+#~ msgstr "Cuir isteach do ríomhphost le bheith ar an liosta feithimh"
+
+#: src/screens/Login/LoginForm.tsx:194
+msgid "Input your password"
+msgstr "Cuir isteach do phasfhocal"
+
+#: src/view/com/modals/ChangeHandle.tsx:389
+msgid "Input your preferred hosting provider"
+msgstr ""
+
+#: src/screens/Signup/StepHandle.tsx:63
+msgid "Input your user handle"
+msgstr "Cuir isteach do leasainm"
+
+#: src/view/com/post-thread/PostThreadItem.tsx:221
+msgid "Invalid or unsupported post record"
+msgstr "Taifead postála atá neamhbhailí nó gan bhunús"
+
+#: src/screens/Login/LoginForm.tsx:114
+msgid "Invalid username or password"
+msgstr "Leasainm nó pasfhocal míchruinn"
+
+#: src/view/screens/Settings.tsx:411
+#~ msgid "Invite"
+#~ msgstr "Cuireadh"
+
+#: src/view/com/modals/InviteCodes.tsx:94
+msgid "Invite a Friend"
+msgstr "Tabhair cuireadh chuig cara leat"
+
+#: src/screens/Signup/StepInfo/index.tsx:58
+msgid "Invite code"
+msgstr "Cód cuiridh"
+
+#: src/screens/Signup/state.ts:278
+msgid "Invite code not accepted. Check that you input it correctly and try again."
+msgstr "Níor glacadh leis an gcód cuiridh. Bí cinnte gur scríobh tú i gceart é agus bain triail eile as."
+
+#: src/view/com/modals/InviteCodes.tsx:171
+msgid "Invite codes: {0} available"
+msgstr "Cóid chuiridh: {0} ar fáil"
+
+#: src/view/shell/Drawer.tsx:645
+#~ msgid "Invite codes: {invitesAvailable} available"
+#~ msgstr "Cóid chuiridh: {invitesAvailable} ar fáil"
+
+#: src/view/com/modals/InviteCodes.tsx:170
+msgid "Invite codes: 1 available"
+msgstr "Cóid chuiridh: 1 ar fáil"
+
+#: src/screens/Onboarding/StepFollowingFeed.tsx:65
+msgid "It shows posts from the people you follow as they happen."
+msgstr "Taispeánann sé postálacha ó na daoine a leanann tú nuair a fhoilsítear iad."
+
+#: src/view/com/auth/SplashScreen.web.tsx:152
+msgid "Jobs"
+msgstr "Jabanna"
+
+#: src/view/com/modals/Waitlist.tsx:67
+#~ msgid "Join the waitlist"
+#~ msgstr "Cuir d’ainm ar an liosta feithimh"
+
+#: src/view/com/auth/create/Step1.tsx:174
+#: src/view/com/auth/create/Step1.tsx:178
+#~ msgid "Join the waitlist."
+#~ msgstr "Cuir d’ainm ar an liosta feithimh."
+
+#: src/view/com/modals/Waitlist.tsx:128
+#~ msgid "Join Waitlist"
+#~ msgstr "Cuir d’ainm ar an liosta feithimh"
+
+#: src/screens/Onboarding/index.tsx:24
+msgid "Journalism"
+msgstr "Iriseoireacht"
+
+#: src/components/moderation/LabelsOnMe.tsx:59
+msgid "label has been placed on this {labelTarget}"
+msgstr ""
+
+#: src/components/moderation/ContentHider.tsx:144
+msgid "Labeled by {0}."
+msgstr ""
+
+#: src/components/moderation/ContentHider.tsx:142
+msgid "Labeled by the author."
+msgstr ""
+
+#: src/view/screens/Profile.tsx:193
+msgid "Labels"
+msgstr ""
+
+#: src/screens/Profile/Sections/Labels.tsx:153
+msgid "Labels are annotations on users and content. They can be used to hide, warn, and categorize the network."
+msgstr ""
+
+#: src/components/moderation/LabelsOnMe.tsx:61
+msgid "labels have been placed on this {labelTarget}"
+msgstr ""
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:62
+msgid "Labels on your account"
+msgstr ""
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:64
+msgid "Labels on your content"
+msgstr ""
+
+#: src/view/com/composer/select-language/SelectLangBtn.tsx:104
+msgid "Language selection"
+msgstr "Rogha teanga"
+
+#: src/view/screens/Settings/index.tsx:565
+msgid "Language settings"
+msgstr "Socruithe teanga"
+
+#: src/Navigation.tsx:144
+#: src/view/screens/LanguageSettings.tsx:89
+msgid "Language Settings"
+msgstr "Socruithe teanga"
+
+#: src/view/screens/Settings/index.tsx:574
+msgid "Languages"
+msgstr "Teangacha"
+
+#: src/view/com/auth/create/StepHeader.tsx:20
+#~ msgid "Last step!"
+#~ msgstr "An chéim dheireanach!"
+
+#: src/view/screens/Search/Search.tsx:437
+msgid "Latest"
+msgstr ""
+
+#: src/view/com/util/moderation/ContentHider.tsx:103
+#~ msgid "Learn more"
+#~ msgstr "Le tuilleadh a fhoghlaim"
+
+#: src/components/moderation/ScreenHider.tsx:136
+msgid "Learn More"
+msgstr "Le tuilleadh a fhoghlaim"
+
+#: src/components/moderation/ContentHider.tsx:65
+#: src/components/moderation/ContentHider.tsx:128
+msgid "Learn more about the moderation applied to this content."
+msgstr ""
+
+#: src/components/moderation/PostHider.tsx:85
+#: src/components/moderation/ScreenHider.tsx:125
+msgid "Learn more about this warning"
+msgstr "Le tuilleadh a fhoghlaim faoin rabhadh seo"
+
+#: src/screens/Moderation/index.tsx:549
+msgid "Learn more about what is public on Bluesky."
+msgstr "Le tuilleadh a fhoghlaim faoi céard atá poiblí ar Bluesky"
+
+#: src/components/moderation/ContentHider.tsx:152
+msgid "Learn more."
+msgstr ""
+
+#: src/view/com/modals/lang-settings/ContentLanguagesSettings.tsx:82
+msgid "Leave them all unchecked to see any language."
+msgstr "Fág iad uile gan tic le teanga ar bith a fheiceáil."
+
+#: src/view/com/modals/LinkWarning.tsx:65
+msgid "Leaving Bluesky"
+msgstr "Ag fágáil slán ag Bluesky"
+
+#: src/screens/Deactivated.tsx:128
+msgid "left to go."
+msgstr "le déanamh fós."
+
+#: src/view/screens/Settings/index.tsx:299
+msgid "Legacy storage cleared, you need to restart the app now."
+msgstr "Stóráil oidhreachta scriosta, tá ort an aip a atosú anois."
+
+#: src/screens/Login/index.tsx:130
+#: src/screens/Login/index.tsx:145
+msgid "Let's get your password reset!"
+msgstr "Socraímis do phasfhocal arís!"
+
+#: src/screens/Onboarding/StepFinished.tsx:155
+msgid "Let's go!"
+msgstr "Ar aghaidh linn!"
+
+#: src/view/com/util/UserAvatar.tsx:248
+#: src/view/com/util/UserBanner.tsx:62
+#~ msgid "Library"
+#~ msgstr "Leabharlann"
+
+#: src/view/screens/Settings/index.tsx:449
+msgid "Light"
+msgstr "Sorcha"
+
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:197
+msgid "Like"
+msgstr "Mol"
+
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:264
+#: src/view/screens/ProfileFeed.tsx:585
+msgid "Like this feed"
+msgstr "Mol an fotha seo"
+
+#: src/components/LikesDialog.tsx:87
+#: src/Navigation.tsx:201
+#: src/Navigation.tsx:206
+msgid "Liked by"
+msgstr "Molta ag"
+
+#: src/screens/Profile/ProfileLabelerLikedBy.tsx:29
+#: src/view/screens/PostLikedBy.tsx:27
+#: src/view/screens/ProfileFeedLikedBy.tsx:27
+msgid "Liked By"
+msgstr "Molta ag"
+
+#: src/view/com/feeds/FeedSourceCard.tsx:268
+msgid "Liked by {0} {1}"
+msgstr "Molta ag {0} {1}"
+
+#: src/components/LabelingServiceCard/index.tsx:72
+msgid "Liked by {count} {0}"
+msgstr ""
+
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:284
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:298
+#: src/view/screens/ProfileFeed.tsx:600
+msgid "Liked by {likeCount} {0}"
+msgstr "Molta ag {likeCount} {0}"
+
+#: src/view/com/notifications/FeedItem.tsx:176
+msgid "liked your custom feed"
+msgstr "a mhol do shainfhotha"
+
+#: src/view/com/notifications/FeedItem.tsx:161
+msgid "liked your post"
+msgstr "a mhol do phostáil"
+
+#: src/view/screens/Profile.tsx:198
+msgid "Likes"
+msgstr "Moltaí"
+
+#: src/view/com/post-thread/PostThreadItem.tsx:182
+msgid "Likes on this post"
+msgstr "Moltaí don phostáil seo"
+
+#: src/Navigation.tsx:170
+msgid "List"
+msgstr "Liosta"
+
+#: src/view/com/modals/CreateOrEditList.tsx:262
+msgid "List Avatar"
+msgstr "Abhatár an Liosta"
+
+#: src/view/screens/ProfileList.tsx:313
+msgid "List blocked"
+msgstr "Liosta blocáilte"
+
+#: src/view/com/feeds/FeedSourceCard.tsx:220
+msgid "List by {0}"
+msgstr "Liosta le {0}"
+
+#: src/view/screens/ProfileList.tsx:357
+msgid "List deleted"
+msgstr "Scriosadh an liosta"
+
+#: src/view/screens/ProfileList.tsx:285
+msgid "List muted"
+msgstr "Balbhaíodh an liosta"
+
+#: src/view/com/modals/CreateOrEditList.tsx:276
+msgid "List Name"
+msgstr "Ainm an liosta"
+
+#: src/view/screens/ProfileList.tsx:327
+msgid "List unblocked"
+msgstr "Liosta díbhlocáilte"
+
+#: src/view/screens/ProfileList.tsx:299
+msgid "List unmuted"
+msgstr "Liosta nach bhfuil balbhaithe níos mó"
+
+#: src/Navigation.tsx:114
+#: src/view/screens/Profile.tsx:194
+#: src/view/screens/Profile.tsx:200
+#: src/view/shell/desktop/LeftNav.tsx:383
+#: src/view/shell/Drawer.tsx:501
+#: src/view/shell/Drawer.tsx:502
+msgid "Lists"
+msgstr "Liostaí"
+
+#: src/view/com/post-thread/PostThread.tsx:333
+#: src/view/com/post-thread/PostThread.tsx:341
+#~ msgid "Load more posts"
+#~ msgstr "Lódáil tuilleadh postálacha"
+
+#: src/view/screens/Notifications.tsx:159
+msgid "Load new notifications"
+msgstr "Lódáil fógraí nua"
+
+#: src/screens/Profile/Sections/Feed.tsx:86
+#: src/view/com/feeds/FeedPage.tsx:138
+#: src/view/screens/ProfileFeed.tsx:507
+#: src/view/screens/ProfileList.tsx:697
+msgid "Load new posts"
+msgstr "Lódáil postálacha nua"
+
+#: src/view/com/composer/text-input/mobile/Autocomplete.tsx:99
+msgid "Loading..."
+msgstr "Ag lódáil …"
+
+#: src/view/com/modals/ServerInput.tsx:50
+#~ msgid "Local dev server"
+#~ msgstr "Freastálaí forbróra áitiúil"
+
+#: src/Navigation.tsx:221
+msgid "Log"
+msgstr "Logleabhar"
+
+#: src/screens/Deactivated.tsx:149
+#: src/screens/Deactivated.tsx:152
+#: src/screens/Deactivated.tsx:178
+#: src/screens/Deactivated.tsx:181
+msgid "Log out"
+msgstr "Logáil amach"
+
+#: src/screens/Moderation/index.tsx:442
+msgid "Logged-out visibility"
+msgstr "Feiceálacht le linn a bheith logáilte amach"
+
+#: src/components/AccountList.tsx:54
+msgid "Login to account that is not listed"
+msgstr "Logáil isteach ar chuntas nach bhfuil liostáilte"
+
+#: src/screens/Login/SetNewPasswordForm.tsx:116
+msgid "Looks like XXXXX-XXXXX"
+msgstr ""
+
+#: src/view/com/modals/LinkWarning.tsx:79
+msgid "Make sure this is where you intend to go!"
+msgstr "Bí cinnte go bhfuil tú ag iarraidh cuairt a thabhairt ar an áit sin!"
+
+#: src/components/dialogs/MutedWords.tsx:82
+msgid "Manage your muted words and tags"
+msgstr ""
+
+#: src/view/screens/Profile.tsx:197
+msgid "Media"
+msgstr "Meáin"
+
+#: src/view/com/threadgate/WhoCanReply.tsx:139
+msgid "mentioned users"
+msgstr "úsáideoirí luaite"
+
+#: src/view/com/modals/Threadgate.tsx:93
+msgid "Mentioned users"
+msgstr "Úsáideoirí luaite"
+
+#: src/view/com/util/ViewHeader.tsx:87
+#: src/view/screens/Search/Search.tsx:795
+msgid "Menu"
+msgstr "Clár"
+
+#: src/view/com/posts/FeedErrorMessage.tsx:192
+msgid "Message from server: {0}"
+msgstr "Teachtaireacht ón bhfreastalaí: {0}"
+
+#: src/lib/moderation/useReportOptions.ts:45
+msgid "Misleading Account"
+msgstr ""
+
+#: src/Navigation.tsx:119
+#: src/screens/Moderation/index.tsx:104
+#: src/view/screens/Settings/index.tsx:596
+#: src/view/shell/desktop/LeftNav.tsx:401
+#: src/view/shell/Drawer.tsx:520
+#: src/view/shell/Drawer.tsx:521
+msgid "Moderation"
+msgstr "Modhnóireacht"
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:112
+msgid "Moderation details"
+msgstr ""
+
+#: src/view/com/lists/ListCard.tsx:93
+#: src/view/com/modals/UserAddRemoveLists.tsx:206
+msgid "Moderation list by {0}"
+msgstr "Liosta modhnóireachta le {0}"
+
+#: src/view/screens/ProfileList.tsx:791
+msgid "Moderation list by <0/>"
+msgstr "Liosta modhnóireachta le <0/>"
+
+#: src/view/com/lists/ListCard.tsx:91
+#: src/view/com/modals/UserAddRemoveLists.tsx:204
+#: src/view/screens/ProfileList.tsx:789
+msgid "Moderation list by you"
+msgstr "Liosta modhnóireachta leat"
+
+#: src/view/com/modals/CreateOrEditList.tsx:198
+msgid "Moderation list created"
+msgstr "Liosta modhnóireachta cruthaithe"
+
+#: src/view/com/modals/CreateOrEditList.tsx:184
+msgid "Moderation list updated"
+msgstr "Liosta modhnóireachta uasdátaithe"
+
+#: src/screens/Moderation/index.tsx:243
+msgid "Moderation lists"
+msgstr "Liostaí modhnóireachta"
+
+#: src/Navigation.tsx:124
+#: src/view/screens/ModerationModlists.tsx:58
+msgid "Moderation Lists"
+msgstr "Liostaí modhnóireachta"
+
+#: src/view/screens/Settings/index.tsx:590
+msgid "Moderation settings"
+msgstr "Socruithe modhnóireachta"
+
+#: src/Navigation.tsx:216
+msgid "Moderation states"
+msgstr ""
+
+#: src/screens/Moderation/index.tsx:215
+msgid "Moderation tools"
+msgstr ""
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:48
+#: src/lib/moderation/useModerationCauseDescription.ts:40
+msgid "Moderator has chosen to set a general warning on the content."
+msgstr "Chuir an modhnóir rabhadh ginearálta ar an ábhar."
+
+#: src/view/com/post-thread/PostThreadItem.tsx:535
+msgid "More"
+msgstr ""
+
+#: src/view/shell/desktop/Feeds.tsx:65
+msgid "More feeds"
+msgstr "Tuilleadh fothaí"
+
+#: src/view/screens/ProfileList.tsx:601
+msgid "More options"
+msgstr "Tuilleadh roghanna"
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:270
+#~ msgid "More post options"
+#~ msgstr "Tuilleadh roghanna postála"
+
+#: src/view/screens/PreferencesThreads.tsx:82
+msgid "Most-liked replies first"
+msgstr "Freagraí a fuair an méid is mó moltaí ar dtús"
+
+#: src/components/TagMenu/index.tsx:249
+msgid "Mute"
+msgstr ""
+
+#: src/components/TagMenu/index.web.tsx:105
+msgid "Mute {truncatedTag}"
+msgstr ""
+
+#: src/view/com/profile/ProfileMenu.tsx:279
+#: src/view/com/profile/ProfileMenu.tsx:286
+msgid "Mute Account"
+msgstr "Cuir an cuntas i bhfolach"
+
+#: src/view/screens/ProfileList.tsx:520
+msgid "Mute accounts"
+msgstr "Cuir na cuntais i bhfolach"
+
+#: src/components/TagMenu/index.tsx:209
+msgid "Mute all {displayTag} posts"
+msgstr ""
+
+#: src/components/dialogs/MutedWords.tsx:148
+msgid "Mute in tags only"
+msgstr ""
+
+#: src/components/dialogs/MutedWords.tsx:133
+msgid "Mute in text & tags"
+msgstr ""
+
+#: src/view/screens/ProfileList.tsx:463
+#: src/view/screens/ProfileList.tsx:626
+msgid "Mute list"
+msgstr "Cuir an liosta i bhfolach"
+
+#: src/view/screens/ProfileList.tsx:621
+msgid "Mute these accounts?"
+msgstr "An bhfuil fonn ort na cuntais seo a chur i bhfolach"
+
+#: src/view/screens/ProfileList.tsx:278
+#~ msgid "Mute this List"
+#~ msgstr "Cuir an liosta seo i bhfolach"
+
+#: src/components/dialogs/MutedWords.tsx:126
+msgid "Mute this word in post text and tags"
+msgstr ""
+
+#: src/components/dialogs/MutedWords.tsx:141
+msgid "Mute this word in tags only"
+msgstr ""
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:269
+#: src/view/com/util/forms/PostDropdownBtn.tsx:275
+msgid "Mute thread"
+msgstr "Cuir an snáithe seo i bhfolach"
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:285
+#: src/view/com/util/forms/PostDropdownBtn.tsx:287
+msgid "Mute words & tags"
+msgstr ""
+
+#: src/view/com/lists/ListCard.tsx:102
+msgid "Muted"
+msgstr "Curtha i bhfolach"
+
+#: src/screens/Moderation/index.tsx:255
+msgid "Muted accounts"
+msgstr "Cuntais a cuireadh i bhfolach"
+
+#: src/Navigation.tsx:129
+#: src/view/screens/ModerationMutedAccounts.tsx:112
+msgid "Muted Accounts"
+msgstr "Cuntais a Cuireadh i bhFolach"
+
+#: src/view/screens/ModerationMutedAccounts.tsx:120
+msgid "Muted accounts have their posts removed from your feed and from your notifications. Mutes are completely private."
+msgstr "Baintear na postálacha ó na cuntais a chuir tú i bhfolach as d’fhotha agus as do chuid fógraí. Is príobháideach ar fad é an cur i bhfolach."
+
+#: src/lib/moderation/useModerationCauseDescription.ts:85
+msgid "Muted by \"{0}\""
+msgstr ""
+
+#: src/screens/Moderation/index.tsx:231
+msgid "Muted words & tags"
+msgstr ""
+
+#: src/view/screens/ProfileList.tsx:623
+msgid "Muting is private. Muted accounts can interact with you, but you will not see their posts or receive notifications from them."
+msgstr "Tá an cur i bhfolach príobháideach. Is féidir leis na cuntais a chuir tú i bhfolach do chuid postálacha a fheiceáil agus is féidir leo scríobh chugat ach ní fheicfidh tú a gcuid postálacha eile ná aon fhógraí uathu."
+
+#: src/components/dialogs/BirthDateSettings.tsx:35
+#: src/components/dialogs/BirthDateSettings.tsx:38
+msgid "My Birthday"
+msgstr "Mo Bhreithlá"
+
+#: src/view/screens/Feeds.tsx:688
+msgid "My Feeds"
+msgstr "Mo Chuid Fothaí"
+
+#: src/view/shell/desktop/LeftNav.tsx:65
+msgid "My Profile"
+msgstr "Mo Phróifíl"
+
+#: src/view/screens/Settings/index.tsx:547
+msgid "My saved feeds"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:553
+msgid "My Saved Feeds"
+msgstr "Na Fothaí a Shábháil Mé"
+
+#: src/view/com/auth/server-input/index.tsx:118
+#~ msgid "my-server.com"
+#~ msgstr "my-server.com"
+
+#~ msgid "Ná bíodh gan fáil ar do chuid leantóirí ná ar do chuid dáta go deo."
+#~ msgstr "Cuir an comhrá seo i bhfolach"
+
+#: src/view/com/modals/AddAppPasswords.tsx:180
+#: src/view/com/modals/CreateOrEditList.tsx:291
+msgid "Name"
+msgstr "Ainm"
+
+#: src/view/com/modals/CreateOrEditList.tsx:146
+msgid "Name is required"
+msgstr "Tá an t-ainm riachtanach"
+
+#: src/lib/moderation/useReportOptions.ts:57
+#: src/lib/moderation/useReportOptions.ts:78
+#: src/lib/moderation/useReportOptions.ts:86
+msgid "Name or Description Violates Community Standards"
+msgstr ""
+
+#: src/screens/Onboarding/index.tsx:25
+msgid "Nature"
+msgstr "Nádúr"
+
+#: src/screens/Login/ForgotPasswordForm.tsx:173
+#: src/screens/Login/LoginForm.tsx:255
+#: src/view/com/modals/ChangePassword.tsx:168
+msgid "Navigates to the next screen"
+msgstr "Téann sé seo chuig an gcéad scáileán eile"
+
+#: src/view/shell/Drawer.tsx:71
+msgid "Navigates to your profile"
+msgstr "Téann sé seo chuig do phróifíl"
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:123
+msgid "Need to report a copyright violation?"
+msgstr ""
+
+#: src/view/com/modals/EmbedConsent.tsx:107
+#: src/view/com/modals/EmbedConsent.tsx:123
+#~ msgid "Never load embeds from {0}"
+#~ msgstr "Ná lódáil ábhar leabaithe ó {0} go deo"
+
+#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:72
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:74
+msgid "Never lose access to your followers and data."
+msgstr "Ná bíodh gan fáil ar do chuid leantóirí ná ar do chuid dáta go deo."
+
+#: src/screens/Onboarding/StepFinished.tsx:123
+msgid "Never lose access to your followers or data."
+msgstr "Ná bíodh gan fáil ar do chuid leantóirí ná ar do chuid dáta go deo."
+
+#: src/view/com/modals/ChangeHandle.tsx:519
+msgid "Nevermind, create a handle for me"
+msgstr ""
+
+#: src/view/screens/Lists.tsx:76
+msgctxt "action"
+msgid "New"
+msgstr "Nua"
+
+#: src/view/screens/ModerationModlists.tsx:78
+msgid "New"
+msgstr "Nua"
+
+#: src/view/com/modals/CreateOrEditList.tsx:253
+msgid "New Moderation List"
+msgstr "Liosta modhnóireachta nua"
+
+#: src/view/com/modals/ChangePassword.tsx:212
+msgid "New password"
+msgstr "Pasfhocal Nua"
+
+#: src/view/com/modals/ChangePassword.tsx:217
+msgid "New Password"
+msgstr "Pasfhocal Nua"
+
+#: src/view/com/feeds/FeedPage.tsx:149
+msgctxt "action"
+msgid "New post"
+msgstr "Postáil nua"
+
+#: src/view/screens/Feeds.tsx:580
+#: src/view/screens/Notifications.tsx:168
+#: src/view/screens/Profile.tsx:480
+#: src/view/screens/ProfileFeed.tsx:445
+#: src/view/screens/ProfileList.tsx:200
+#: src/view/screens/ProfileList.tsx:228
+#: src/view/shell/desktop/LeftNav.tsx:252
+msgid "New post"
+msgstr "Postáil nua"
+
+#: src/view/shell/desktop/LeftNav.tsx:262
+msgctxt "action"
+msgid "New Post"
+msgstr "Postáil nua"
+
+#: src/view/com/modals/CreateOrEditList.tsx:248
+msgid "New User List"
+msgstr "Liosta Nua d’Úsáideoirí"
+
+#: src/view/screens/PreferencesThreads.tsx:79
+msgid "Newest replies first"
+msgstr "Na freagraí is déanaí ar dtús"
+
+#: src/screens/Onboarding/index.tsx:23
+msgid "News"
+msgstr "Nuacht"
+
+#: src/screens/Login/ForgotPasswordForm.tsx:143
+#: src/screens/Login/ForgotPasswordForm.tsx:150
+#: src/screens/Login/LoginForm.tsx:254
+#: src/screens/Login/LoginForm.tsx:261
+#: src/screens/Login/SetNewPasswordForm.tsx:174
+#: src/screens/Login/SetNewPasswordForm.tsx:180
+#: src/screens/Signup/index.tsx:207
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:80
+#: src/view/com/modals/ChangePassword.tsx:253
+#: src/view/com/modals/ChangePassword.tsx:255
+msgid "Next"
+msgstr "Ar aghaidh"
+
+#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:103
+msgctxt "action"
+msgid "Next"
+msgstr "Ar aghaidh"
+
+#: src/view/com/lightbox/Lightbox.web.tsx:169
+msgid "Next image"
+msgstr "An chéad íomhá eile"
+
+#: src/view/screens/PreferencesFollowingFeed.tsx:129
+#: src/view/screens/PreferencesFollowingFeed.tsx:200
+#: src/view/screens/PreferencesFollowingFeed.tsx:235
+#: src/view/screens/PreferencesFollowingFeed.tsx:272
+#: src/view/screens/PreferencesThreads.tsx:106
+#: src/view/screens/PreferencesThreads.tsx:129
+msgid "No"
+msgstr "Níl"
+
+#: src/view/screens/ProfileFeed.tsx:574
+#: src/view/screens/ProfileList.tsx:771
+msgid "No description"
+msgstr "Gan chur síos"
+
+#: src/view/com/modals/ChangeHandle.tsx:405
+msgid "No DNS Panel"
+msgstr ""
+
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:118
+msgid "No longer following {0}"
+msgstr "Ní leantar {0} níos mó"
+
+#: src/screens/Signup/StepHandle.tsx:115
+msgid "No longer than 253 characters"
+msgstr ""
+
+#: src/view/com/notifications/Feed.tsx:109
+msgid "No notifications yet!"
+msgstr "Níl aon fhógra ann fós!"
+
+#: src/view/com/composer/text-input/mobile/Autocomplete.tsx:101
+#: src/view/com/composer/text-input/web/Autocomplete.tsx:195
+msgid "No result"
+msgstr "Gan torthaí"
+
+#: src/components/Lists.tsx:183
+msgid "No results found"
+msgstr ""
+
+#: src/view/screens/Feeds.tsx:520
+msgid "No results found for \"{query}\""
+msgstr "Gan torthaí ar “{query}”"
+
+#: src/view/com/modals/ListAddRemoveUsers.tsx:127
+#: src/view/screens/Search/Search.tsx:349
+#: src/view/screens/Search/Search.tsx:387
+msgid "No results found for {query}"
+msgstr "Gan torthaí ar {query}"
+
+#: src/components/dialogs/EmbedConsent.tsx:105
+#: src/components/dialogs/EmbedConsent.tsx:112
+msgid "No thanks"
+msgstr "Níor mhaith liom é sin."
+
+#: src/view/com/modals/Threadgate.tsx:82
+msgid "Nobody"
+msgstr "Duine ar bith"
+
+#: src/components/LikedByList.tsx:79
+#: src/components/LikesDialog.tsx:99
+msgid "Nobody has liked this yet. Maybe you should be the first!"
+msgstr ""
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:42
+msgid "Non-sexual Nudity"
+msgstr ""
+
+#: src/view/com/modals/SelfLabel.tsx:135
+msgid "Not Applicable."
+msgstr "Ní bhaineann sé sin le hábhar."
+
+#: src/Navigation.tsx:109
+#: src/view/screens/Profile.tsx:101
+msgid "Not Found"
+msgstr "Ní bhfuarthas é sin"
+
+#: src/view/com/modals/VerifyEmail.tsx:246
+#: src/view/com/modals/VerifyEmail.tsx:252
+msgid "Not right now"
+msgstr "Ní anois"
+
+#: src/view/com/profile/ProfileMenu.tsx:368
+#: src/view/com/util/forms/PostDropdownBtn.tsx:364
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:248
+msgid "Note about sharing"
+msgstr ""
+
+#: src/screens/Moderation/index.tsx:540
+msgid "Note: Bluesky is an open and public network. This setting only limits the visibility of your content on the Bluesky app and website, and other apps may not respect this setting. Your content may still be shown to logged-out users by other apps and websites."
+msgstr "Nod leat: is gréasán oscailte poiblí Bluesky. Ní chuireann an socrú seo srian ar fheiceálacht do chuid ábhair ach amháin ar aip agus suíomh Bluesky. Is féidir nach gcloífidh aipeanna eile leis an socrú seo. Is féidir go dtaispeánfar do chuid ábhair d’úsáideoirí atá lógáilte amach ar aipeanna agus suíomhanna eile."
+
+#: src/Navigation.tsx:461
+#: src/view/screens/Notifications.tsx:124
+#: src/view/screens/Notifications.tsx:148
+#: src/view/shell/bottom-bar/BottomBar.tsx:216
+#: src/view/shell/desktop/LeftNav.tsx:365
+#: src/view/shell/Drawer.tsx:444
+#: src/view/shell/Drawer.tsx:445
+msgid "Notifications"
+msgstr "Fógraí"
+
+#: src/view/com/modals/SelfLabel.tsx:103
+msgid "Nudity"
+msgstr "Lomnochtacht"
+
+#: src/lib/moderation/useReportOptions.ts:71
+msgid "Nudity or adult content not labeled as such"
+msgstr ""
+
+#: src/screens/Signup/index.tsx:143
+msgid "of"
+msgstr ""
+
+#: src/lib/moderation/useLabelBehaviorDescription.ts:11
+msgid "Off"
+msgstr ""
+
+#: src/view/com/util/ErrorBoundary.tsx:49
+msgid "Oh no!"
+msgstr "Úps!"
+
+#: src/screens/Onboarding/StepInterests/index.tsx:132
+msgid "Oh no! Something went wrong."
+msgstr "Úps! Theip ar rud éigin."
+
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:126
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:333
+msgid "OK"
+msgstr ""
+
+#: src/screens/Login/PasswordUpdatedForm.tsx:44
+msgid "Okay"
+msgstr "Maith go leor"
+
+#: src/view/screens/PreferencesThreads.tsx:78
+msgid "Oldest replies first"
+msgstr "Na freagraí is sine ar dtús"
+
+#: src/view/screens/Settings/index.tsx:247
+msgid "Onboarding reset"
+msgstr "Atosú an chláraithe"
+
+#: src/view/com/composer/Composer.tsx:392
+msgid "One or more images is missing alt text."
+msgstr "Tá téacs malartach de dhíth ar íomhá amháin nó níos mó acu."
+
+#: src/view/com/threadgate/WhoCanReply.tsx:100
+msgid "Only {0} can reply."
+msgstr "Ní féidir ach le {0} freagra a thabhairt."
+
+#: src/screens/Signup/StepHandle.tsx:98
+msgid "Only contains letters, numbers, and hyphens"
+msgstr ""
+
+#: src/components/Lists.tsx:75
+msgid "Oops, something went wrong!"
+msgstr ""
+
+#: src/components/Lists.tsx:170
+#: src/view/screens/AppPasswords.tsx:67
+#: src/view/screens/Profile.tsx:101
+msgid "Oops!"
+msgstr "Úps!"
+
+#: src/screens/Onboarding/StepFinished.tsx:119
+msgid "Open"
+msgstr "Oscail"
+
+#: src/view/com/composer/Composer.tsx:491
+#: src/view/com/composer/Composer.tsx:492
+msgid "Open emoji picker"
+msgstr "Oscail roghnóir na n-emoji"
+
+#: src/view/screens/ProfileFeed.tsx:311
+msgid "Open feed options menu"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:685
+msgid "Open links with in-app browser"
+msgstr "Oscail nascanna leis an mbrabhsálaí san aip"
+
+#: src/screens/Moderation/index.tsx:227
+msgid "Open muted words and tags settings"
+msgstr ""
+
+#: src/view/com/home/HomeHeaderLayoutMobile.tsx:52
+msgid "Open navigation"
+msgstr "Oscail an nascleanúint"
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:191
+msgid "Open post options menu"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:792
+#: src/view/screens/Settings/index.tsx:802
+msgid "Open storybook page"
+msgstr "Oscail leathanach an Storybook"
+
+#: src/view/screens/Settings/index.tsx:780
+msgid "Open system log"
+msgstr ""
+
+#: src/view/com/util/forms/DropdownButton.tsx:154
+msgid "Opens {numItems} options"
+msgstr "Osclaíonn sé seo {numItems} rogha"
+
+#: src/view/screens/Log.tsx:54
+msgid "Opens additional details for a debug entry"
+msgstr "Osclaíonn sé seo tuilleadh sonraí le haghaidh iontráil dífhabhtaithe"
+
+#: src/view/com/notifications/FeedItem.tsx:355
+msgid "Opens an expanded list of users in this notification"
+msgstr "Osclaíonn sé seo liosta méadaithe d’úsáideoirí san fhógra seo"
+
+#: src/view/com/composer/photos/OpenCameraBtn.tsx:78
+msgid "Opens camera on device"
+msgstr "Osclaíonn sé seo an ceamara ar an ngléas"
+
+#: src/view/com/composer/Prompt.tsx:25
+msgid "Opens composer"
+msgstr "Osclaíonn sé seo an t-eagarthóir"
+
+#: src/view/screens/Settings/index.tsx:566
+msgid "Opens configurable language settings"
+msgstr "Osclaíonn sé seo na socruithe teanga is féidir a dhéanamh"
+
+#: src/view/com/composer/photos/SelectPhotoBtn.tsx:44
+msgid "Opens device photo gallery"
+msgstr "Osclaíonn sé seo gailearaí na ngrianghraf ar an ngléas"
+
+#: src/view/com/profile/ProfileHeader.tsx:419
+#~ msgid "Opens editor for profile display name, avatar, background image, and description"
+#~ msgstr "Osclaíonn sé seo an t-eagarthóir le haghaidh gach a bhfuil i do phróifíl: an t-ainm, an t-abhatár, an íomhá sa chúlra, agus an cur síos."
+
+#: src/view/screens/Settings/index.tsx:620
+msgid "Opens external embeds settings"
+msgstr "Osclaíonn sé seo na socruithe le haghaidh leabuithe seachtracha"
+
+#: src/view/com/auth/SplashScreen.tsx:50
+#: src/view/com/auth/SplashScreen.web.tsx:94
+msgid "Opens flow to create a new Bluesky account"
+msgstr ""
+
+#: src/view/com/auth/SplashScreen.tsx:65
+#: src/view/com/auth/SplashScreen.web.tsx:109
+msgid "Opens flow to sign into your existing Bluesky account"
+msgstr ""
+
+#: src/view/com/profile/ProfileHeader.tsx:574
+#~ msgid "Opens followers list"
+#~ msgstr "Osclaíonn sé seo liosta na leantóirí"
+
+#: src/view/com/profile/ProfileHeader.tsx:593
+#~ msgid "Opens following list"
+#~ msgstr "Osclaíonn sé seo liosta na ndaoine a leanann tú"
+
+#: src/view/screens/Settings.tsx:412
+#~ msgid "Opens invite code list"
+#~ msgstr "Osclaíonn sé seo liosta na gcód cuiridh"
+
+#: src/view/com/modals/InviteCodes.tsx:173
+msgid "Opens list of invite codes"
+msgstr "Osclaíonn sé seo liosta na gcód cuiridh"
+
+#: src/view/screens/Settings/index.tsx:762
+msgid "Opens modal for account deletion confirmation. Requires email code"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:774
+#~ msgid "Opens modal for account deletion confirmation. Requires email code."
+#~ msgstr "Osclaíonn sé seo an fhuinneog le scriosadh an chuntais a dhearbhú. Tá cód ríomhphoist riachtanach."
+
+#: src/view/screens/Settings/index.tsx:720
+msgid "Opens modal for changing your Bluesky password"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:669
+msgid "Opens modal for choosing a new Bluesky handle"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:743
+msgid "Opens modal for downloading your Bluesky account data (repository)"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:932
+msgid "Opens modal for email verification"
+msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:282
+msgid "Opens modal for using custom domain"
+msgstr "Osclaíonn sé seo an fhuinneog le sainfhearann a úsáid"
+
+#: src/view/screens/Settings/index.tsx:591
+msgid "Opens moderation settings"
+msgstr "Osclaíonn sé seo socruithe na modhnóireachta"
+
+#: src/screens/Login/LoginForm.tsx:202
+msgid "Opens password reset form"
+msgstr "Osclaíonn sé seo an fhoirm leis an bpasfhocal a athrú"
+
+#: src/view/com/home/HomeHeaderLayout.web.tsx:67
+#: src/view/screens/Feeds.tsx:381
+msgid "Opens screen to edit Saved Feeds"
+msgstr "Osclaíonn sé seo an scáileán leis na fothaí sábháilte a athrú"
+
+#: src/view/screens/Settings/index.tsx:548
+msgid "Opens screen with all saved feeds"
+msgstr "Osclaíonn sé seo an scáileán leis na fothaí sábháilte go léir"
+
+#: src/view/screens/Settings/index.tsx:647
+msgid "Opens the app password settings"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:676
+#~ msgid "Opens the app password settings page"
+#~ msgstr "Osclaíonn sé seo an leathanach a bhfuil socruithe phasfhocal na haipe air"
+
+#: src/view/screens/Settings/index.tsx:505
+msgid "Opens the Following feed preferences"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:535
+#~ msgid "Opens the home feed preferences"
+#~ msgstr "Osclaíonn sé seo roghanna fhotha an bhaile"
+
+#: src/view/com/modals/LinkWarning.tsx:93
+msgid "Opens the linked website"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:793
+#: src/view/screens/Settings/index.tsx:803
+msgid "Opens the storybook page"
+msgstr "Osclaíonn sé seo leathanach an Storybook"
+
+#: src/view/screens/Settings/index.tsx:781
+msgid "Opens the system log page"
+msgstr "Osclaíonn sé seo logleabhar an chórais"
+
+#: src/view/screens/Settings/index.tsx:526
+msgid "Opens the threads preferences"
+msgstr "Osclaíonn sé seo roghanna na snáitheanna"
+
+#: src/view/com/util/forms/DropdownButton.tsx:280
+msgid "Option {0} of {numItems}"
+msgstr "Rogha {0} as {numItems}"
+
+#: src/components/ReportDialog/SubmitView.tsx:160
+msgid "Optionally provide additional information below:"
+msgstr ""
+
+#: src/view/com/modals/Threadgate.tsx:89
+msgid "Or combine these options:"
+msgstr "Nó cuir na roghanna seo le chéile:"
+
+#: src/lib/moderation/useReportOptions.ts:25
+msgid "Other"
+msgstr ""
+
+#: src/components/AccountList.tsx:73
+msgid "Other account"
+msgstr "Cuntas eile"
+
+#: src/view/com/modals/ServerInput.tsx:88
+#~ msgid "Other service"
+#~ msgstr "Seirbhís eile"
+
+#: src/view/com/composer/select-language/SelectLangBtn.tsx:91
+msgid "Other..."
+msgstr "Eile…"
+
+#: src/components/Lists.tsx:184
+#: src/view/screens/NotFound.tsx:45
+msgid "Page not found"
+msgstr "Leathanach gan aimsiú"
+
+#: src/view/screens/NotFound.tsx:42
+msgid "Page Not Found"
+msgstr "Leathanach gan aimsiú"
+
+#: src/screens/Login/LoginForm.tsx:178
+#: src/screens/Signup/StepInfo/index.tsx:102
+#: src/view/com/modals/DeleteAccount.tsx:194
+#: src/view/com/modals/DeleteAccount.tsx:201
+msgid "Password"
+msgstr "Pasfhocal"
+
+#: src/view/com/modals/ChangePassword.tsx:142
+msgid "Password Changed"
+msgstr ""
+
+#: src/screens/Login/index.tsx:157
+msgid "Password updated"
+msgstr "Pasfhocal uasdátaithe"
+
+#: src/screens/Login/PasswordUpdatedForm.tsx:30
+msgid "Password updated!"
+msgstr "Pasfhocal uasdátaithe!"
+
+#: src/view/screens/Search/Search.tsx:447
+#: src/view/screens/Search/Search.tsx:456
+msgid "People"
+msgstr ""
+
+#: src/Navigation.tsx:164
+msgid "People followed by @{0}"
+msgstr "Na daoine atá leanta ag @{0}"
+
+#: src/Navigation.tsx:157
+msgid "People following @{0}"
+msgstr "Na leantóirí atá ag @{0}"
+
+#: src/view/com/lightbox/Lightbox.tsx:66
+msgid "Permission to access camera roll is required."
+msgstr "Tá cead de dhíth le rolla an cheamara a oscailt."
+
+#: src/view/com/lightbox/Lightbox.tsx:72
+msgid "Permission to access camera roll was denied. Please enable it in your system settings."
+msgstr "Ní bhfuarthas cead le rolla an cheamara a oscailt. Athraigh socruithe an chórais len é seo a chur ar fáil, le do thoil."
+
+#: src/screens/Onboarding/index.tsx:31
+msgid "Pets"
+msgstr "Peataí"
+
+#: src/view/com/auth/create/Step2.tsx:183
+#~ msgid "Phone number"
+#~ msgstr "Uimhir ghutháin"
+
+#: src/view/com/modals/SelfLabel.tsx:121
+msgid "Pictures meant for adults."
+msgstr "Pictiúir le haghaidh daoine fásta."
+
+#: src/view/screens/ProfileFeed.tsx:303
+#: src/view/screens/ProfileList.tsx:565
+msgid "Pin to home"
+msgstr "Greamaigh le baile"
+
+#: src/view/screens/ProfileFeed.tsx:306
+msgid "Pin to Home"
+msgstr ""
+
+#: src/view/screens/SavedFeeds.tsx:89
+msgid "Pinned Feeds"
+msgstr "Fothaí greamaithe"
+
+#: src/view/com/util/post-embeds/ExternalGifEmbed.tsx:123
+msgid "Play {0}"
+msgstr "Seinn {0}"
+
+#: src/view/com/util/post-embeds/ExternalPlayerEmbed.tsx:57
+#: src/view/com/util/post-embeds/ExternalPlayerEmbed.tsx:58
+msgid "Play Video"
+msgstr "Seinn an físeán"
+
+#: src/view/com/util/post-embeds/ExternalGifEmbed.tsx:122
+msgid "Plays the GIF"
+msgstr "Seinneann sé seo an GIF"
+
+#: src/screens/Signup/state.ts:241
+msgid "Please choose your handle."
+msgstr "Roghnaigh do leasainm, le do thoil."
+
+#: src/screens/Signup/state.ts:234
+msgid "Please choose your password."
+msgstr "Roghnaigh do phasfhocal, le do thoil."
+
+#: src/screens/Signup/state.ts:251
+msgid "Please complete the verification captcha."
+msgstr "Déan an captcha, le do thoil."
+
+#: src/view/com/modals/ChangeEmail.tsx:67
+msgid "Please confirm your email before changing it. This is a temporary requirement while email-updating tools are added, and it will soon be removed."
+msgstr "Dearbhaigh do ríomhphost roimh é a athrú. Riachtanas sealadach é seo le linn dúinn acmhainní a chur isteach le haghaidh uasdátú an ríomhphoist. Scriosfar é seo roimh i bhfad."
+
+#: src/view/com/modals/AddAppPasswords.tsx:91
+msgid "Please enter a name for your app password. All spaces is not allowed."
+msgstr "Cuir isteach ainm le haghaidh phasfhocal na haipe, le do thoil. Ní cheadaítear spásanna gan aon rud eile ann."
+
+#: src/view/com/auth/create/Step2.tsx:206
+#~ msgid "Please enter a phone number that can receive SMS text messages."
+#~ msgstr "Cuir isteach uimhir ghutháin atá in ann teachtaireachtaí SMS a fháil, le do thoil."
+
+#: src/view/com/modals/AddAppPasswords.tsx:146
+msgid "Please enter a unique name for this App Password or use our randomly generated one."
+msgstr "Cuir isteach ainm nach bhfuil in úsáid cheana féin le haghaidh Phasfhocal na hAipe nó bain úsáid as an gceann a chruthóidh muid go randamach."
+
+#: src/components/dialogs/MutedWords.tsx:67
+msgid "Please enter a valid word, tag, or phrase to mute"
+msgstr ""
+
+#: src/view/com/auth/create/state.ts:170
+#~ msgid "Please enter the code you received by SMS."
+#~ msgstr "Cuir isteach an cód a fuair tú trí SMS, le do thoil."
+
+#: src/view/com/auth/create/Step2.tsx:282
+#~ msgid "Please enter the verification code sent to {phoneNumberFormatted}."
+#~ msgstr "Cuir isteach an cód dearbhaithe a cuireadh chuig {phoneNumberFormatted}, le do thoil."
+
+#: src/screens/Signup/state.ts:220
+msgid "Please enter your email."
+msgstr "Cuir isteach do sheoladh ríomhphoist, le do thoil."
+
+#: src/view/com/modals/DeleteAccount.tsx:190
+msgid "Please enter your password as well:"
+msgstr "Cuir isteach do phasfhocal freisin, le do thoil."
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:221
+msgid "Please explain why you think this label was incorrectly applied by {0}"
+msgstr ""
+
+#: src/view/com/modals/AppealLabel.tsx:72
+#: src/view/com/modals/AppealLabel.tsx:75
+#~ msgid "Please tell us why you think this content warning was incorrectly applied!"
+#~ msgstr "Abair linn, le do thoil, cén fáth a gcreideann tú gur cuireadh an rabhadh ábhair seo i bhfeidhm go mícheart."
+
+#: src/view/com/modals/AppealLabel.tsx:72
+#: src/view/com/modals/AppealLabel.tsx:75
+#~ msgid "Please tell us why you think this decision was incorrect."
+#~ msgstr "Abair linn, le do thoil, cén fáth a gcreideann tú go bhfuil an cinneadh seo mícheart."
+
+#: src/view/com/modals/VerifyEmail.tsx:101
+msgid "Please Verify Your Email"
+msgstr "Dearbhaigh do ríomhphost, le do thoil."
+
+#: src/view/com/composer/Composer.tsx:222
+msgid "Please wait for your link card to finish loading"
+msgstr "Fan le lódáil ar fad do chárta naisc, le do thoil."
+
+#: src/screens/Onboarding/index.tsx:37
+msgid "Politics"
+msgstr "Polaitíocht"
+
+#: src/view/com/modals/SelfLabel.tsx:111
+msgid "Porn"
+msgstr "Pornagrafaíocht"
+
+#: src/view/com/composer/Composer.tsx:367
+#: src/view/com/composer/Composer.tsx:375
+msgctxt "action"
+msgid "Post"
+msgstr "Postáil"
+
+#: src/view/com/post-thread/PostThread.tsx:292
+msgctxt "description"
+msgid "Post"
+msgstr "Postáil"
+
+#: src/view/com/post-thread/PostThreadItem.tsx:175
+msgid "Post by {0}"
+msgstr "Postáil ó {0}"
+
+#: src/Navigation.tsx:176
+#: src/Navigation.tsx:183
+#: src/Navigation.tsx:190
+msgid "Post by @{0}"
+msgstr "Postáil ó @{0}"
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:111
+msgid "Post deleted"
+msgstr "Scriosadh an phostáil"
+
+#: src/view/com/post-thread/PostThread.tsx:157
+msgid "Post hidden"
+msgstr "Cuireadh an phostáil i bhfolach"
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:97
+#: src/lib/moderation/useModerationCauseDescription.ts:99
+msgid "Post Hidden by Muted Word"
+msgstr ""
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:100
+#: src/lib/moderation/useModerationCauseDescription.ts:108
+msgid "Post Hidden by You"
+msgstr ""
+
+#: src/view/com/composer/select-language/SelectLangBtn.tsx:87
+msgid "Post language"
+msgstr "Teanga postála"
+
+#: src/view/com/modals/lang-settings/PostLanguagesSettings.tsx:75
+msgid "Post Languages"
+msgstr "Teangacha postála"
+
+#: src/view/com/post-thread/PostThread.tsx:152
+#: src/view/com/post-thread/PostThread.tsx:164
+msgid "Post not found"
+msgstr "Ní bhfuarthas an phostáil"
+
+#: src/components/TagMenu/index.tsx:253
+msgid "posts"
+msgstr ""
+
+#: src/view/screens/Profile.tsx:195
+#: src/view/screens/Search/Search.tsx:467
+msgid "Posts"
+msgstr "Postálacha"
+
+#: src/components/dialogs/MutedWords.tsx:89
+msgid "Posts can be muted based on their text, their tags, or both."
+msgstr ""
+
+#: src/view/com/posts/FeedErrorMessage.tsx:64
+msgid "Posts hidden"
+msgstr "Cuireadh na postálacha i bhfolach"
+
+#: src/view/com/modals/LinkWarning.tsx:60
+msgid "Potentially Misleading Link"
+msgstr "Is féidir go bhfuil an nasc seo míthreorach."
+
+#: src/components/forms/HostingProvider.tsx:46
+msgid "Press to change hosting provider"
+msgstr ""
+
+#: src/components/Error.tsx:74
+#: src/components/Lists.tsx:80
+#: src/screens/Signup/index.tsx:187
+msgid "Press to retry"
+msgstr ""
+
+#: src/view/com/lightbox/Lightbox.web.tsx:150
+msgid "Previous image"
+msgstr "An íomhá roimhe seo"
+
+#: src/view/screens/LanguageSettings.tsx:187
+msgid "Primary Language"
+msgstr "Príomhtheanga"
+
+#: src/view/screens/PreferencesThreads.tsx:97
+msgid "Prioritize Your Follows"
+msgstr "Tabhair Tosaíocht do Do Chuid Leantóirí"
+
+#: src/view/screens/Settings/index.tsx:603
+#: src/view/shell/desktop/RightNav.tsx:72
+msgid "Privacy"
+msgstr "Príobháideacht"
+
+#: src/Navigation.tsx:231
+#: src/screens/Signup/StepInfo/Policies.tsx:56
+#: src/view/screens/PrivacyPolicy.tsx:29
+#: src/view/screens/Settings/index.tsx:887
+#: src/view/shell/Drawer.tsx:271
+msgid "Privacy Policy"
+msgstr "Polasaí príobháideachta"
+
+#: src/screens/Login/ForgotPasswordForm.tsx:156
+msgid "Processing..."
+msgstr "Á phróiseáil..."
+
+#: src/view/screens/DebugMod.tsx:888
+#: src/view/screens/Profile.tsx:361
+msgid "profile"
+msgstr ""
+
+#: src/view/shell/bottom-bar/BottomBar.tsx:261
+#: src/view/shell/desktop/LeftNav.tsx:419
+#: src/view/shell/Drawer.tsx:70
+#: src/view/shell/Drawer.tsx:555
+#: src/view/shell/Drawer.tsx:556
+msgid "Profile"
+msgstr "Próifíl"
+
+#: src/view/com/modals/EditProfile.tsx:129
+msgid "Profile updated"
+msgstr "Próifíl uasdátaithe"
+
+#: src/view/screens/Settings/index.tsx:945
+msgid "Protect your account by verifying your email."
+msgstr "Dearbhaigh do ríomhphost le do chuntas a chosaint."
+
+#: src/screens/Onboarding/StepFinished.tsx:105
+msgid "Public"
+msgstr "Poiblí"
+
+#: src/view/screens/ModerationModlists.tsx:61
+msgid "Public, shareable lists of users to mute or block in bulk."
+msgstr "Liostaí poiblí agus inroinnte d’úsáideoirí le cur i bhfolach nó le blocáil ar an mórchóir"
+
+#: src/view/screens/Lists.tsx:61
+msgid "Public, shareable lists which can drive feeds."
+msgstr "Liostaí poiblí agus inroinnte atá in ann fothaí a bheathú"
+
+#: src/view/com/composer/Composer.tsx:352
+msgid "Publish post"
+msgstr "Foilsigh an phostáil"
+
+#: src/view/com/composer/Composer.tsx:352
+msgid "Publish reply"
+msgstr "Foilsigh an freagra"
+
+#: src/view/com/modals/Repost.tsx:66
+msgctxt "action"
+msgid "Quote post"
+msgstr "Luaigh an phostáil seo"
+
+#: src/view/com/util/post-ctrls/RepostButton.web.tsx:58
+msgid "Quote post"
+msgstr "Postáil athluaite"
+
+#: src/view/com/modals/Repost.tsx:71
+msgctxt "action"
+msgid "Quote Post"
+msgstr "Luaigh an phostáil seo"
+
+#: src/view/screens/PreferencesThreads.tsx:86
+msgid "Random (aka \"Poster's Roulette\")"
+msgstr "Randamach"
+
+#: src/view/com/modals/EditImage.tsx:237
+msgid "Ratios"
+msgstr "Cóimheasa"
+
+#: src/view/screens/Search/Search.tsx:924
+msgid "Recent Searches"
+msgstr ""
+
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:117
+msgid "Recommended Feeds"
+msgstr "Fothaí molta"
+
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:181
+msgid "Recommended Users"
+msgstr "Cuntais mholta"
+
+#: src/components/dialogs/MutedWords.tsx:286
+#: src/view/com/feeds/FeedSourceCard.tsx:283
+#: src/view/com/modals/ListAddRemoveUsers.tsx:268
+#: src/view/com/modals/SelfLabel.tsx:83
+#: src/view/com/modals/UserAddRemoveLists.tsx:219
+#: src/view/com/posts/FeedErrorMessage.tsx:204
+msgid "Remove"
+msgstr "Scrios"
+
+#: src/view/com/feeds/FeedSourceCard.tsx:106
+#~ msgid "Remove {0} from my feeds?"
+#~ msgstr "An bhfuil fonn ort {0} a bhaint de do chuid fothaí?"
+
+#: src/view/com/util/AccountDropdownBtn.tsx:22
+msgid "Remove account"
+msgstr "Bain an cuntas de"
+
+#: src/view/com/util/UserAvatar.tsx:360
+msgid "Remove Avatar"
+msgstr ""
+
+#: src/view/com/util/UserBanner.tsx:148
+msgid "Remove Banner"
+msgstr ""
+
+#: src/view/com/posts/FeedErrorMessage.tsx:160
+msgid "Remove feed"
+msgstr "Bain an fotha de"
+
+#: src/view/com/posts/FeedErrorMessage.tsx:201
+msgid "Remove feed?"
+msgstr ""
+
+#: src/view/com/feeds/FeedSourceCard.tsx:173
+#: src/view/com/feeds/FeedSourceCard.tsx:233
+#: src/view/screens/ProfileFeed.tsx:346
+#: src/view/screens/ProfileFeed.tsx:352
+msgid "Remove from my feeds"
+msgstr "Bain de mo chuid fothaí"
+
+#: src/view/com/feeds/FeedSourceCard.tsx:278
+msgid "Remove from my feeds?"
+msgstr ""
+
+#: src/view/com/composer/photos/Gallery.tsx:167
+msgid "Remove image"
+msgstr "Bain an íomhá de"
+
+#: src/view/com/composer/ExternalEmbed.tsx:70
+msgid "Remove image preview"
+msgstr "Bain réamhléiriú den íomhá"
+
+#: src/components/dialogs/MutedWords.tsx:329
+msgid "Remove mute word from your list"
+msgstr ""
+
+#: src/view/com/modals/Repost.tsx:48
+msgid "Remove repost"
+msgstr "Scrios an athphostáil"
+
+#: src/view/com/feeds/FeedSourceCard.tsx:173
+#~ msgid "Remove this feed from my feeds?"
+#~ msgstr "An bhfuil fonn ort an fotha seo a bhaint de do chuid fothaí?"
+
+#: src/view/com/posts/FeedErrorMessage.tsx:202
+msgid "Remove this feed from your saved feeds"
+msgstr ""
+
+#: src/view/com/posts/FeedErrorMessage.tsx:132
+#~ msgid "Remove this feed from your saved feeds?"
+#~ msgstr "An bhfuil fonn ort an fotha seo a bhaint de do chuid fothaí sábháilte?"
+
+#: src/view/com/modals/ListAddRemoveUsers.tsx:199
+#: src/view/com/modals/UserAddRemoveLists.tsx:152
+msgid "Removed from list"
+msgstr "Baineadh den liosta é"
+
+#: src/view/com/feeds/FeedSourceCard.tsx:121
+msgid "Removed from my feeds"
+msgstr "Baineadh de do chuid fothaí é"
+
+#: src/view/screens/ProfileFeed.tsx:210
+msgid "Removed from your feeds"
+msgstr ""
+
+#: src/view/com/composer/ExternalEmbed.tsx:71
+msgid "Removes default thumbnail from {0}"
+msgstr "Baineann sé seo an mhionsamhail réamhshocraithe de {0}"
+
+#: src/view/screens/Profile.tsx:196
+msgid "Replies"
+msgstr "Freagraí"
+
+#: src/view/com/threadgate/WhoCanReply.tsx:98
+msgid "Replies to this thread are disabled"
+msgstr "Ní féidir freagraí a thabhairt ar an gcomhrá seo"
+
+#: src/view/com/composer/Composer.tsx:365
+msgctxt "action"
+msgid "Reply"
+msgstr "Freagair"
+
+#: src/view/screens/PreferencesFollowingFeed.tsx:144
+msgid "Reply Filters"
+msgstr "Scagairí freagra"
+
+#: src/view/com/post/Post.tsx:177
+#: src/view/com/posts/FeedItem.tsx:285
+msgctxt "description"
+msgid "Reply to <0/>"
+msgstr "Freagra ar <0/>"
+
+#: src/view/com/modals/report/Modal.tsx:166
+#~ msgid "Report {collectionName}"
+#~ msgstr "Déan gearán faoi {collectionName}"
+
+#: src/view/com/profile/ProfileMenu.tsx:319
+#: src/view/com/profile/ProfileMenu.tsx:322
+msgid "Report Account"
+msgstr "Déan gearán faoi chuntas"
+
+#: src/components/ReportDialog/index.tsx:49
+msgid "Report dialog"
+msgstr ""
+
+#: src/view/screens/ProfileFeed.tsx:363
+#: src/view/screens/ProfileFeed.tsx:365
+msgid "Report feed"
+msgstr "Déan gearán faoi fhotha"
+
+#: src/view/screens/ProfileList.tsx:431
+msgid "Report List"
+msgstr "Déan gearán faoi liosta"
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:312
+#: src/view/com/util/forms/PostDropdownBtn.tsx:314
+msgid "Report post"
+msgstr "Déan gearán faoi phostáil"
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:42
+msgid "Report this content"
+msgstr ""
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:55
+msgid "Report this feed"
+msgstr ""
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:52
+msgid "Report this list"
+msgstr ""
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:49
+msgid "Report this post"
+msgstr ""
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:46
+msgid "Report this user"
+msgstr ""
+
+#: src/view/com/modals/Repost.tsx:44
+#: src/view/com/modals/Repost.tsx:49
+#: src/view/com/modals/Repost.tsx:54
+#: src/view/com/util/post-ctrls/RepostButton.tsx:61
+msgctxt "action"
+msgid "Repost"
+msgstr "Athphostáil"
+
+#: src/view/com/util/post-ctrls/RepostButton.web.tsx:48
+msgid "Repost"
+msgstr "Athphostáil"
+
+#: src/view/com/util/post-ctrls/RepostButton.web.tsx:94
+#: src/view/com/util/post-ctrls/RepostButton.web.tsx:105
+msgid "Repost or quote post"
+msgstr "Athphostáil nó luaigh postáil"
+
+#: src/view/screens/PostRepostedBy.tsx:27
+msgid "Reposted By"
+msgstr "Athphostáilte ag"
+
+#: src/view/com/posts/FeedItem.tsx:199
+msgid "Reposted by {0}"
+msgstr "Athphostáilte ag {0}"
+
+#: src/view/com/posts/FeedItem.tsx:214
+#~ msgid "Reposted by <0/>"
+#~ msgstr "Athphostáilte ag <0/>"
+
+#: src/view/com/posts/FeedItem.tsx:216
+msgid "Reposted by <0><1/>0>"
+msgstr ""
+
+#: src/view/com/notifications/FeedItem.tsx:168
+msgid "reposted your post"
+msgstr "— d'athphostáil sé/sí do phostáil"
+
+#: src/view/com/post-thread/PostThreadItem.tsx:187
+msgid "Reposts of this post"
+msgstr "Athphostálacha den phostáil seo"
+
+#: src/view/com/modals/ChangeEmail.tsx:181
+#: src/view/com/modals/ChangeEmail.tsx:183
+msgid "Request Change"
+msgstr "Iarr Athrú"
+
+#: src/view/com/auth/create/Step2.tsx:219
+#~ msgid "Request code"
+#~ msgstr "Iarr cód"
+
+#: src/view/com/modals/ChangePassword.tsx:241
+#: src/view/com/modals/ChangePassword.tsx:243
+msgid "Request Code"
+msgstr "Iarr Cód"
+
+#: src/view/screens/Settings/index.tsx:426
+msgid "Require alt text before posting"
+msgstr "Bíodh téacs malartach ann roimh phostáil i gcónaí"
+
+#: src/screens/Signup/StepInfo/index.tsx:69
+msgid "Required for this provider"
+msgstr "Riachtanach don soláthraí seo"
+
+#: src/view/com/modals/ChangePassword.tsx:185
+msgid "Reset code"
+msgstr "Cód athshocraithe"
+
+#: src/view/com/modals/ChangePassword.tsx:192
+msgid "Reset Code"
+msgstr "Cód Athshocraithe"
+
+#: src/view/screens/Settings/index.tsx:824
+#~ msgid "Reset onboarding"
+#~ msgstr "Athshocraigh an próiseas cláraithe"
+
+#: src/view/screens/Settings/index.tsx:822
+#: src/view/screens/Settings/index.tsx:825
+msgid "Reset onboarding state"
+msgstr "Athshocraigh an próiseas cláraithe"
+
+#: src/screens/Login/ForgotPasswordForm.tsx:86
+msgid "Reset password"
+msgstr "Athshocraigh an pasfhocal"
+
+#: src/view/screens/Settings/index.tsx:814
+#~ msgid "Reset preferences"
+#~ msgstr "Athshocraigh na roghanna"
+
+#: src/view/screens/Settings/index.tsx:812
+#: src/view/screens/Settings/index.tsx:815
+msgid "Reset preferences state"
+msgstr "Athshocraigh na roghanna"
+
+#: src/view/screens/Settings/index.tsx:823
+msgid "Resets the onboarding state"
+msgstr "Athshocraíonn sé seo an clárú"
+
+#: src/view/screens/Settings/index.tsx:813
+msgid "Resets the preferences state"
+msgstr "Athshocraíonn sé seo na roghanna"
+
+#: src/screens/Login/LoginForm.tsx:235
+msgid "Retries login"
+msgstr "Baineann sé seo triail eile as an logáil isteach"
+
+#: src/view/com/util/error/ErrorMessage.tsx:57
+#: src/view/com/util/error/ErrorScreen.tsx:74
+msgid "Retries the last action, which errored out"
+msgstr "Baineann sé seo triail eile as an ngníomh is déanaí, ar theip air"
+
+#: src/components/Error.tsx:79
+#: src/components/Lists.tsx:91
+#: src/screens/Login/LoginForm.tsx:234
+#: src/screens/Login/LoginForm.tsx:241
+#: src/screens/Onboarding/StepInterests/index.tsx:225
+#: src/screens/Onboarding/StepInterests/index.tsx:228
+#: src/screens/Signup/index.tsx:194
+#: src/view/com/util/error/ErrorMessage.tsx:55
+#: src/view/com/util/error/ErrorScreen.tsx:72
+msgid "Retry"
+msgstr "Bain triail eile as"
+
+#: src/view/com/auth/create/Step2.tsx:247
+#~ msgid "Retry."
+#~ msgstr "Bain triail eile as."
+
+#: src/components/Error.tsx:86
+#: src/view/screens/ProfileList.tsx:919
+msgid "Return to previous page"
+msgstr "Fill ar an leathanach roimhe seo"
+
+#: src/view/screens/NotFound.tsx:59
+msgid "Returns to home page"
+msgstr ""
+
+#: src/view/screens/NotFound.tsx:58
+#: src/view/screens/ProfileFeed.tsx:113
+msgid "Returns to previous page"
+msgstr ""
+
+#: src/view/shell/desktop/RightNav.tsx:55
+#~ msgid "SANDBOX. Posts and accounts are not permanent."
+#~ msgstr "BOSCA GAINIMH. Ní choinneofar póstálacha ná cuntais."
+
+#: src/components/dialogs/BirthDateSettings.tsx:125
+#: src/view/com/modals/ChangeHandle.tsx:174
+#: src/view/com/modals/CreateOrEditList.tsx:338
+#: src/view/com/modals/EditProfile.tsx:225
+msgid "Save"
+msgstr "Sábháil"
+
+#: src/view/com/lightbox/Lightbox.tsx:132
+#: src/view/com/modals/CreateOrEditList.tsx:346
+msgctxt "action"
+msgid "Save"
+msgstr "Sábháil"
+
+#: src/view/com/modals/AltImage.tsx:131
+msgid "Save alt text"
+msgstr "Sábháil an téacs malartach"
+
+#: src/components/dialogs/BirthDateSettings.tsx:119
+msgid "Save birthday"
+msgstr ""
+
+#: src/view/com/modals/EditProfile.tsx:233
+msgid "Save Changes"
+msgstr "Sábháil na hathruithe"
+
+#: src/view/com/modals/ChangeHandle.tsx:171
+msgid "Save handle change"
+msgstr "Sábháil an leasainm nua"
+
+#: src/view/com/modals/crop-image/CropImage.web.tsx:145
+msgid "Save image crop"
+msgstr "Sábháil an pictiúr bearrtha"
+
+#: src/view/screens/ProfileFeed.tsx:347
+#: src/view/screens/ProfileFeed.tsx:353
+msgid "Save to my feeds"
+msgstr ""
+
+#: src/view/screens/SavedFeeds.tsx:123
+msgid "Saved Feeds"
+msgstr "Fothaí Sábháilte"
+
+#: src/view/com/lightbox/Lightbox.tsx:81
+msgid "Saved to your camera roll."
+msgstr ""
+
+#: src/view/screens/ProfileFeed.tsx:214
+msgid "Saved to your feeds"
+msgstr ""
+
+#: src/view/com/modals/EditProfile.tsx:226
+msgid "Saves any changes to your profile"
+msgstr "Sábhálann sé seo na hathruithe a rinne tú ar do phróifíl"
+
+#: src/view/com/modals/ChangeHandle.tsx:172
+msgid "Saves handle change to {handle}"
+msgstr "Sábhálann sé seo athrú an leasainm go {handle}"
+
+#: src/view/com/modals/crop-image/CropImage.web.tsx:146
+msgid "Saves image crop settings"
+msgstr ""
+
+#: src/screens/Onboarding/index.tsx:36
+msgid "Science"
+msgstr "Eolaíocht"
+
+#: src/view/screens/ProfileList.tsx:875
+msgid "Scroll to top"
+msgstr "Fill ar an mbarr"
+
+#: src/Navigation.tsx:451
+#: src/view/com/auth/LoggedOut.tsx:123
+#: src/view/com/modals/ListAddRemoveUsers.tsx:75
+#: src/view/com/util/forms/SearchInput.tsx:67
+#: src/view/com/util/forms/SearchInput.tsx:79
+#: src/view/screens/Search/Search.tsx:568
+#: src/view/screens/Search/Search.tsx:817
+#: src/view/screens/Search/Search.tsx:835
+#: src/view/shell/bottom-bar/BottomBar.tsx:170
+#: src/view/shell/desktop/LeftNav.tsx:328
+#: src/view/shell/desktop/Search.tsx:215
+#: src/view/shell/desktop/Search.tsx:224
+#: src/view/shell/Drawer.tsx:371
+#: src/view/shell/Drawer.tsx:372
+msgid "Search"
+msgstr "Cuardaigh"
+
+#: src/view/screens/Search/Search.tsx:884
+#: src/view/shell/desktop/Search.tsx:256
+msgid "Search for \"{query}\""
+msgstr "Déan cuardach ar “{query}”"
+
+#: src/components/TagMenu/index.tsx:145
+msgid "Search for all posts by @{authorHandle} with tag {displayTag}"
+msgstr ""
+
+#: src/components/TagMenu/index.tsx:94
+msgid "Search for all posts with tag {displayTag}"
+msgstr ""
+
+#: src/view/com/auth/LoggedOut.tsx:105
+#: src/view/com/auth/LoggedOut.tsx:106
+#: src/view/com/modals/ListAddRemoveUsers.tsx:70
+msgid "Search for users"
+msgstr "Cuardaigh úsáideoirí"
+
+#: src/view/com/modals/ChangeEmail.tsx:110
+msgid "Security Step Required"
+msgstr "Céim Slándála de dhíth"
+
+#: src/components/TagMenu/index.web.tsx:66
+msgid "See {truncatedTag} posts"
+msgstr ""
+
+#: src/components/TagMenu/index.web.tsx:83
+msgid "See {truncatedTag} posts by user"
+msgstr ""
+
+#: src/components/TagMenu/index.tsx:128
+msgid "See <0>{displayTag}0> posts"
+msgstr ""
+
+#: src/components/TagMenu/index.tsx:187
+msgid "See <0>{displayTag}0> posts by this user"
+msgstr ""
+
+#: src/view/com/notifications/FeedItem.tsx:419
+#: src/view/com/util/UserAvatar.tsx:381
+msgid "See profile"
+msgstr ""
+
+#: src/view/screens/SavedFeeds.tsx:164
+msgid "See this guide"
+msgstr "Féach ar an treoirleabhar seo"
+
+#: src/view/com/auth/HomeLoggedOutCTA.tsx:40
+#~ msgid "See what's next"
+#~ msgstr "Féach an chéad rud eile"
+
+#: src/view/com/util/Selector.tsx:106
+msgid "Select {item}"
+msgstr "Roghnaigh {item}"
+
+#: src/screens/Login/ChooseAccountForm.tsx:61
+msgid "Select account"
+msgstr ""
+
+#: src/view/com/modals/ServerInput.tsx:75
+#~ msgid "Select Bluesky Social"
+#~ msgstr "Roghnaigh Bluesky Social"
+
+#: src/screens/Login/index.tsx:120
+msgid "Select from an existing account"
+msgstr "Roghnaigh ó chuntas atá ann"
+
+#: src/view/screens/LanguageSettings.tsx:299
+msgid "Select languages"
+msgstr ""
+
+#: src/components/ReportDialog/SelectLabelerView.tsx:30
+msgid "Select moderator"
+msgstr ""
+
+#: src/view/com/util/Selector.tsx:107
+msgid "Select option {i} of {numItems}"
+msgstr "Roghnaigh rogha {i} as {numItems}"
+
+#: src/view/com/auth/create/Step1.tsx:103
+#: src/view/com/auth/login/LoginForm.tsx:150
+#~ msgid "Select service"
+#~ msgstr "Roghnaigh seirbhís"
+
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:52
+msgid "Select some accounts below to follow"
+msgstr "Roghnaigh cúpla cuntas le leanúint"
+
+#: src/components/ReportDialog/SubmitView.tsx:133
+msgid "Select the moderation service(s) to report to"
+msgstr ""
+
+#: src/view/com/auth/server-input/index.tsx:82
+msgid "Select the service that hosts your data."
+msgstr "Roghnaigh an tseirbhís a óstálann do chuid sonraí."
+
+#: src/screens/Onboarding/StepModeration/index.tsx:49
+#~ msgid "Select the types of content that you want to see (or not see), and we'll handle the rest."
+#~ msgstr "Roghnaigh na rudaí ba mhaith leat a fheiceáil (nó gan a fheiceáil), agus leanfaimid ar aghaidh as sin."
+
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:100
+msgid "Select topical feeds to follow from the list below"
+msgstr "Roghnaigh fothaí le leanúint ón liosta thíos"
+
+#: src/screens/Onboarding/StepModeration/index.tsx:63
+msgid "Select what you want to see (or not see), and we’ll handle the rest."
+msgstr "Roghnaigh na rudaí ba mhaith leat a fheiceáil (nó gan a fheiceáil), agus leanfaimid ar aghaidh as sin"
+
+#: src/view/screens/LanguageSettings.tsx:281
+msgid "Select which languages you want your subscribed feeds to include. If none are selected, all languages will be shown."
+msgstr "Roghnaigh na teangacha ba mhaith leat a fheiceáil i do chuid fothaí. Mura roghnaíonn tú, taispeánfar ábhar i ngach teanga duit."
+
+#: src/view/screens/LanguageSettings.tsx:98
+#~ msgid "Select your app language for the default text to display in the app"
+#~ msgstr "Roghnaigh teanga na roghchlár a fheicfidh tú san aip"
+
+#: src/view/screens/LanguageSettings.tsx:98
+msgid "Select your app language for the default text to display in the app."
+msgstr ""
+
+#: src/screens/Signup/StepInfo/index.tsx:135
+msgid "Select your date of birth"
+msgstr ""
+
+#: src/screens/Onboarding/StepInterests/index.tsx:200
+msgid "Select your interests from the options below"
+msgstr "Roghnaigh na rudaí a bhfuil suim agat iontu as na roghanna thíos"
+
+#: src/view/com/auth/create/Step2.tsx:155
+#~ msgid "Select your phone's country"
+#~ msgstr "Roghnaigh tír do ghutháin"
+
+#: src/view/screens/LanguageSettings.tsx:190
+msgid "Select your preferred language for translations in your feed."
+msgstr "Do rogha teanga nuair a dhéanfar aistriúchán ar ábhar i d'fhotha."
+
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:117
+msgid "Select your primary algorithmic feeds"
+msgstr "Roghnaigh do phríomhfhothaí algartamacha"
+
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:133
+msgid "Select your secondary algorithmic feeds"
+msgstr "Roghnaigh do chuid fothaí algartamacha tánaisteacha"
+
+#: src/view/com/modals/VerifyEmail.tsx:202
+#: src/view/com/modals/VerifyEmail.tsx:204
+msgid "Send Confirmation Email"
+msgstr "Seol ríomhphost dearbhaithe"
+
+#: src/view/com/modals/DeleteAccount.tsx:130
+msgid "Send email"
+msgstr "Seol ríomhphost"
+
+#: src/view/com/modals/DeleteAccount.tsx:143
+msgctxt "action"
+msgid "Send Email"
+msgstr "Seol ríomhphost"
+
+#: src/view/shell/Drawer.tsx:304
+#: src/view/shell/Drawer.tsx:325
+msgid "Send feedback"
+msgstr "Seol aiseolas"
+
+#: src/components/ReportDialog/SubmitView.tsx:213
+#: src/components/ReportDialog/SubmitView.tsx:217
+msgid "Send report"
+msgstr ""
+
+#: src/view/com/modals/report/SendReportButton.tsx:45
+#~ msgid "Send Report"
+#~ msgstr "Seol an tuairisc"
+
+#: src/components/ReportDialog/SelectLabelerView.tsx:44
+msgid "Send report to {0}"
+msgstr ""
+
+#: src/view/com/modals/DeleteAccount.tsx:132
+msgid "Sends email with confirmation code for account deletion"
+msgstr "Seolann sé seo ríomhphost ina bhfuil cód dearbhaithe chun an cuntas a scriosadh"
+
+#: src/view/com/auth/server-input/index.tsx:114
+msgid "Server address"
+msgstr "Seoladh an fhreastalaí"
+
+#: src/view/com/modals/ContentFilteringSettings.tsx:311
+#~ msgid "Set {value} for {labelGroup} content moderation policy"
+#~ msgstr "Socraigh {value} le haghaidh polasaí modhnóireachta {labelGroup}"
+
+#: src/view/com/modals/ContentFilteringSettings.tsx:160
+#: src/view/com/modals/ContentFilteringSettings.tsx:179
+#~ msgctxt "action"
+#~ msgid "Set Age"
+#~ msgstr "Cén aois thú?"
+
+#: src/screens/Moderation/index.tsx:304
+msgid "Set birthdate"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:488
+#~ msgid "Set color theme to dark"
+#~ msgstr "Roghnaigh an modh dorcha"
+
+#: src/view/screens/Settings/index.tsx:481
+#~ msgid "Set color theme to light"
+#~ msgstr "Roghnaigh an modh sorcha"
+
+#: src/view/screens/Settings/index.tsx:475
+#~ msgid "Set color theme to system setting"
+#~ msgstr "Úsáid scéim dathanna an chórais"
+
+#: src/view/screens/Settings/index.tsx:514
+#~ msgid "Set dark theme to the dark theme"
+#~ msgstr "Úsáid an téama dorcha mar théama dorcha"
+
+#: src/view/screens/Settings/index.tsx:507
+#~ msgid "Set dark theme to the dim theme"
+#~ msgstr "Úsáid an téama breacdhorcha mar théama dorcha"
+
+#: src/screens/Login/SetNewPasswordForm.tsx:102
+msgid "Set new password"
+msgstr "Socraigh pasfhocal nua"
+
+#: src/view/com/auth/create/Step1.tsx:225
+#~ msgid "Set password"
+#~ msgstr "Socraigh pasfhocal"
+
+#: src/view/screens/PreferencesFollowingFeed.tsx:225
+msgid "Set this setting to \"No\" to hide all quote posts from your feed. Reposts will still be visible."
+msgstr "Roghnaigh “Níl” chun postálacha athluaite a chur i bhfolach i d'fhotha. Feicfidh tú athphostálacha fós."
+
+#: src/view/screens/PreferencesFollowingFeed.tsx:122
+msgid "Set this setting to \"No\" to hide all replies from your feed."
+msgstr "Roghnaigh “Níl” chun freagraí a chur i bhfolach i d'fhotha."
+
+#: src/view/screens/PreferencesFollowingFeed.tsx:191
+msgid "Set this setting to \"No\" to hide all reposts from your feed."
+msgstr "Roghnaigh “Níl” chun athphostálacha a chur i bhfolach i d'fhotha."
+
+#: src/view/screens/PreferencesThreads.tsx:122
+msgid "Set this setting to \"Yes\" to show replies in a threaded view. This is an experimental feature."
+msgstr "Roghnaigh “Tá” le freagraí a thaispeáint i snáitheanna. Is gné thurgnamhach é seo."
+
+#: src/view/screens/PreferencesHomeFeed.tsx:261
+#~ msgid "Set this setting to \"Yes\" to show samples of your saved feeds in your following feed. This is an experimental feature."
+#~ msgstr "Roghnaigh “Tá” le samplaí ó do chuid fothaí sábháilte a thaispeáint in ”Á Leanúint”. Is gné thurgnamhach é seo."
+
+#: src/view/screens/PreferencesFollowingFeed.tsx:261
+msgid "Set this setting to \"Yes\" to show samples of your saved feeds in your Following feed. This is an experimental feature."
+msgstr ""
+
+#: src/screens/Onboarding/Layout.tsx:48
+msgid "Set up your account"
+msgstr "Socraigh do chuntas"
+
+#: src/view/com/modals/ChangeHandle.tsx:267
+msgid "Sets Bluesky username"
+msgstr "Socraíonn sé seo d'ainm úsáideora ar Bluesky"
+
+#: src/view/screens/Settings/index.tsx:458
+msgid "Sets color theme to dark"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:451
+msgid "Sets color theme to light"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:445
+msgid "Sets color theme to system setting"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:484
+msgid "Sets dark theme to the dark theme"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:477
+msgid "Sets dark theme to the dim theme"
+msgstr ""
+
+#: src/screens/Login/ForgotPasswordForm.tsx:113
+msgid "Sets email for password reset"
+msgstr "Socraíonn sé seo an seoladh ríomhphoist le haghaidh athshocrú an phasfhocail"
+
+#: src/view/com/auth/login/ForgotPasswordForm.tsx:122
+#~ msgid "Sets hosting provider for password reset"
+#~ msgstr "Socraíonn sé seo an soláthraí óstála le haghaidh athshocrú an phasfhocail"
+
+#: src/view/com/modals/crop-image/CropImage.web.tsx:124
+msgid "Sets image aspect ratio to square"
+msgstr ""
+
+#: src/view/com/modals/crop-image/CropImage.web.tsx:114
+msgid "Sets image aspect ratio to tall"
+msgstr ""
+
+#: src/view/com/modals/crop-image/CropImage.web.tsx:104
+msgid "Sets image aspect ratio to wide"
+msgstr ""
+
+#: src/view/com/auth/create/Step1.tsx:104
+#: src/view/com/auth/login/LoginForm.tsx:151
+#~ msgid "Sets server for the Bluesky client"
+#~ msgstr "Socraíonn sé seo freastalaí an chliaint Bluesky"
+
+#: src/Navigation.tsx:139
+#: src/view/screens/Settings/index.tsx:316
+#: src/view/shell/desktop/LeftNav.tsx:437
+#: src/view/shell/Drawer.tsx:576
+#: src/view/shell/Drawer.tsx:577
+msgid "Settings"
+msgstr "Socruithe"
+
+#: src/view/com/modals/SelfLabel.tsx:125
+msgid "Sexual activity or erotic nudity."
+msgstr "Gníomhaíocht ghnéasach nó lomnochtacht gháirsiúil."
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:38
+msgid "Sexually Suggestive"
+msgstr ""
+
+#: src/view/com/lightbox/Lightbox.tsx:141
+msgctxt "action"
+msgid "Share"
+msgstr "Comhroinn"
+
+#: src/view/com/profile/ProfileMenu.tsx:215
+#: src/view/com/profile/ProfileMenu.tsx:224
+#: src/view/com/util/forms/PostDropdownBtn.tsx:236
+#: src/view/com/util/forms/PostDropdownBtn.tsx:245
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:237
+#: src/view/screens/ProfileList.tsx:390
+msgid "Share"
+msgstr "Comhroinn"
+
+#: src/view/com/profile/ProfileMenu.tsx:373
+#: src/view/com/util/forms/PostDropdownBtn.tsx:369
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:253
+msgid "Share anyway"
+msgstr ""
+
+#: src/view/screens/ProfileFeed.tsx:373
+#: src/view/screens/ProfileFeed.tsx:375
+msgid "Share feed"
+msgstr "Comhroinn an fotha"
+
+#: src/view/com/modals/LinkWarning.tsx:89
+#: src/view/com/modals/LinkWarning.tsx:95
+msgid "Share Link"
+msgstr ""
+
+#: src/view/com/modals/LinkWarning.tsx:92
+msgid "Shares the linked website"
+msgstr ""
+
+#: src/components/moderation/ContentHider.tsx:115
+#: src/components/moderation/LabelPreference.tsx:136
+#: src/components/moderation/PostHider.tsx:107
+#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:54
+#: src/view/screens/Settings/index.tsx:366
+msgid "Show"
+msgstr "Taispeáin"
+
+#: src/view/screens/PreferencesFollowingFeed.tsx:68
+msgid "Show all replies"
+msgstr "Taispeáin gach freagra"
+
+#: src/components/moderation/ScreenHider.tsx:169
+#: src/components/moderation/ScreenHider.tsx:172
+msgid "Show anyway"
+msgstr "Taispeáin mar sin féin"
+
+#: src/lib/moderation/useLabelBehaviorDescription.ts:27
+#: src/lib/moderation/useLabelBehaviorDescription.ts:63
+msgid "Show badge"
+msgstr ""
+
+#: src/lib/moderation/useLabelBehaviorDescription.ts:61
+msgid "Show badge and filter from feeds"
+msgstr ""
+
+#: src/view/com/modals/EmbedConsent.tsx:87
+#~ msgid "Show embeds from {0}"
+#~ msgstr "Taispeáin ábhar leabaithe ó {0}"
+
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:200
+msgid "Show follows similar to {0}"
+msgstr "Taispeáin cuntais cosúil le {0}"
+
+#: src/view/com/post-thread/PostThreadItem.tsx:501
+#: src/view/com/post/Post.tsx:212
+#: src/view/com/posts/FeedItem.tsx:360
+msgid "Show More"
+msgstr "Tuilleadh"
+
+#: src/view/screens/PreferencesFollowingFeed.tsx:258
+msgid "Show Posts from My Feeds"
+msgstr "Taispeáin postálacha ó mo chuid fothaí"
+
+#: src/view/screens/PreferencesFollowingFeed.tsx:222
+msgid "Show Quote Posts"
+msgstr "Taispeáin postálacha athluaite"
+
+#: src/screens/Onboarding/StepFollowingFeed.tsx:119
+msgid "Show quote-posts in Following feed"
+msgstr "Taispeáin postálacha athluaite san fhotha “Á Leanúint”"
+
+#: src/screens/Onboarding/StepFollowingFeed.tsx:135
+msgid "Show quotes in Following"
+msgstr "Taispeáin postálacha athluaite san fhotha “Á Leanúint”"
+
+#: src/screens/Onboarding/StepFollowingFeed.tsx:95
+msgid "Show re-posts in Following feed"
+msgstr "Taispeáin athphostálacha san fhotha “Á Leanúint”"
+
+#: src/view/screens/PreferencesFollowingFeed.tsx:119
+msgid "Show Replies"
+msgstr "Taispeáin freagraí"
+
+#: src/view/screens/PreferencesThreads.tsx:100
+msgid "Show replies by people you follow before all other replies."
+msgstr "Taispeáin freagraí ó na daoine a leanann tú roimh aon fhreagra eile."
+
+#: src/screens/Onboarding/StepFollowingFeed.tsx:87
+msgid "Show replies in Following"
+msgstr "Taispeáin freagraí san fhotha “Á Leanúint”"
+
+#: src/screens/Onboarding/StepFollowingFeed.tsx:71
+msgid "Show replies in Following feed"
+msgstr "Taispeáin freagraí san fhotha “Á Leanúint”"
+
+#: src/view/screens/PreferencesFollowingFeed.tsx:70
+msgid "Show replies with at least {value} {0}"
+msgstr "Taispeáin freagraí a bhfuil ar a laghad {value} {0} acu"
+
+#: src/view/screens/PreferencesFollowingFeed.tsx:188
+msgid "Show Reposts"
+msgstr "Taispeáin athphostálacha"
+
+#: src/screens/Onboarding/StepFollowingFeed.tsx:111
+msgid "Show reposts in Following"
+msgstr "Taispeáin athphostálacha san fhotha “Á Leanúint”"
+
+#: src/components/moderation/ContentHider.tsx:68
+#: src/components/moderation/PostHider.tsx:64
+msgid "Show the content"
+msgstr "Taispeáin an t-ábhar"
+
+#: src/view/com/notifications/FeedItem.tsx:353
+msgid "Show users"
+msgstr "Taispeáin úsáideoirí"
+
+#: src/lib/moderation/useLabelBehaviorDescription.ts:58
+msgid "Show warning"
+msgstr ""
+
+#: src/lib/moderation/useLabelBehaviorDescription.ts:56
+msgid "Show warning and filter from feeds"
+msgstr ""
+
+#: src/view/com/profile/ProfileHeader.tsx:461
+#~ msgid "Shows a list of users similar to this user."
+#~ msgstr "Taispeánann sé seo liosta úsáideoirí cosúil leis an úsáideoir seo."
+
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:130
+msgid "Shows posts from {0} in your feed"
+msgstr "Taispeánann sé seo postálacha ó {0} i d'fhotha"
+
+#: src/components/dialogs/Signin.tsx:97
+#: src/components/dialogs/Signin.tsx:99
+#: src/screens/Login/index.tsx:100
+#: src/screens/Login/index.tsx:119
+#: src/screens/Login/LoginForm.tsx:131
+#: src/view/com/auth/SplashScreen.tsx:63
+#: src/view/com/auth/SplashScreen.tsx:72
+#: src/view/com/auth/SplashScreen.web.tsx:107
+#: src/view/com/auth/SplashScreen.web.tsx:116
+#: src/view/shell/bottom-bar/BottomBar.tsx:301
+#: src/view/shell/bottom-bar/BottomBar.tsx:302
+#: src/view/shell/bottom-bar/BottomBar.tsx:304
+#: src/view/shell/bottom-bar/BottomBarWeb.tsx:178
+#: src/view/shell/bottom-bar/BottomBarWeb.tsx:179
+#: src/view/shell/bottom-bar/BottomBarWeb.tsx:181
+#: src/view/shell/NavSignupCard.tsx:63
+#: src/view/shell/NavSignupCard.tsx:64
+#: src/view/shell/NavSignupCard.tsx:66
+msgid "Sign in"
+msgstr "Logáil isteach"
+
+#: src/view/com/auth/HomeLoggedOutCTA.tsx:78
+#: src/view/com/auth/SplashScreen.tsx:82
+#: src/view/com/auth/SplashScreen.web.tsx:91
+#~ msgid "Sign In"
+#~ msgstr "Logáil isteach"
+
+#: src/components/AccountList.tsx:109
+msgid "Sign in as {0}"
+msgstr "Logáil isteach mar {0}"
+
+#: src/screens/Login/ChooseAccountForm.tsx:64
+msgid "Sign in as..."
+msgstr "Logáil isteach mar..."
+
+#: src/components/dialogs/Signin.tsx:75
+msgid "Sign in or create your account to join the conversation!"
+msgstr ""
+
+#: src/view/com/auth/login/LoginForm.tsx:137
+#~ msgid "Sign into"
+#~ msgstr "Logáil isteach i"
+
+#: src/components/dialogs/Signin.tsx:46
+msgid "Sign into Bluesky or create a new account"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:118
+#: src/view/screens/Settings/index.tsx:121
+msgid "Sign out"
+msgstr "Logáil amach"
+
+#: src/view/shell/bottom-bar/BottomBar.tsx:291
+#: src/view/shell/bottom-bar/BottomBar.tsx:292
+#: src/view/shell/bottom-bar/BottomBar.tsx:294
+#: src/view/shell/bottom-bar/BottomBarWeb.tsx:168
+#: src/view/shell/bottom-bar/BottomBarWeb.tsx:169
+#: src/view/shell/bottom-bar/BottomBarWeb.tsx:171
+#: src/view/shell/NavSignupCard.tsx:54
+#: src/view/shell/NavSignupCard.tsx:55
+#: src/view/shell/NavSignupCard.tsx:57
+msgid "Sign up"
+msgstr "Cláraigh"
+
+#: src/view/shell/NavSignupCard.tsx:47
+msgid "Sign up or sign in to join the conversation"
+msgstr "Cláraigh nó logáil isteach chun páirt a ghlacadh sa chomhrá"
+
+#: src/components/moderation/ScreenHider.tsx:97
+#: src/lib/moderation/useGlobalLabelStrings.ts:28
+msgid "Sign-in Required"
+msgstr "Caithfidh tú logáil isteach"
+
+#: src/view/screens/Settings/index.tsx:377
+msgid "Signed in as"
+msgstr "Logáilte isteach mar"
+
+#: src/screens/Login/ChooseAccountForm.tsx:48
+msgid "Signed in as @{0}"
+msgstr "Logáilte isteach mar @{0}"
+
+#: src/view/com/modals/SwitchAccount.tsx:66
+#~ msgid "Signs {0} out of Bluesky"
+#~ msgstr "Logálann sé seo {0} amach as Bluesky"
+
+#: src/screens/Onboarding/StepInterests/index.tsx:239
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:203
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:35
+msgid "Skip"
+msgstr "Ná bac leis"
+
+#: src/screens/Onboarding/StepInterests/index.tsx:236
+msgid "Skip this flow"
+msgstr "Ná bac leis an bpróiseas seo"
+
+#: src/view/com/auth/create/Step2.tsx:82
+#~ msgid "SMS verification"
+#~ msgstr "Dearbhú SMS"
+
+#: src/screens/Onboarding/index.tsx:40
+msgid "Software Dev"
+msgstr "Forbairt Bogearraí"
+
+#: src/view/com/modals/ProfilePreview.tsx:62
+#~ msgid "Something went wrong and we're not sure what."
+#~ msgstr "Chuaigh rud éigin ó rath, agus nílimid cinnte céard a bhí ann."
+
+#: src/components/ReportDialog/index.tsx:59
+#: src/screens/Moderation/index.tsx:114
+#: src/screens/Profile/Sections/Labels.tsx:87
+msgid "Something went wrong, please try again."
+msgstr ""
+
+#: src/view/com/modals/Waitlist.tsx:51
+#~ msgid "Something went wrong. Check your email and try again."
+#~ msgstr "Chuaigh rud éigin ó rath. Féach ar do ríomhphost agus bain triail eile as."
+
+#: src/App.native.tsx:64
+msgid "Sorry! Your session expired. Please log in again."
+msgstr "Ár leithscéal. Chuaigh do sheisiún i léig. Ní mór duit logáil isteach arís."
+
+#: src/view/screens/PreferencesThreads.tsx:69
+msgid "Sort Replies"
+msgstr "Sórtáil freagraí"
+
+#: src/view/screens/PreferencesThreads.tsx:72
+msgid "Sort replies to the same post by:"
+msgstr "Sórtáil freagraí ar an bpostáil chéanna de réir:"
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:146
+msgid "Source:"
+msgstr ""
+
+#: src/lib/moderation/useReportOptions.ts:65
+msgid "Spam"
+msgstr ""
+
+#: src/lib/moderation/useReportOptions.ts:53
+msgid "Spam; excessive mentions or replies"
+msgstr ""
+
+#: src/screens/Onboarding/index.tsx:30
+msgid "Sports"
+msgstr "Spórt"
+
+#: src/view/com/modals/crop-image/CropImage.web.tsx:123
+msgid "Square"
+msgstr "Cearnóg"
+
+#: src/view/com/modals/ServerInput.tsx:62
+#~ msgid "Staging"
+#~ msgstr "Freastalaí tástála"
+
+#: src/view/screens/Settings/index.tsx:867
+msgid "Status page"
+msgstr "Leathanach stádais"
+
+#: src/screens/Signup/index.tsx:143
+msgid "Step"
+msgstr ""
+
+#: src/view/com/auth/create/StepHeader.tsx:22
+#~ msgid "Step {0} of {numSteps}"
+#~ msgstr "Céim {0} as {numSteps}"
+
+#: src/view/screens/Settings/index.tsx:295
+msgid "Storage cleared, you need to restart the app now."
+msgstr "Stóráil scriosta, tá ort an aip a atosú anois."
+
+#: src/Navigation.tsx:211
+#: src/view/screens/Settings/index.tsx:795
+msgid "Storybook"
+msgstr "Storybook"
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:255
+#: src/components/moderation/LabelsOnMeDialog.tsx:256
+msgid "Submit"
+msgstr "Seol"
+
+#: src/view/screens/ProfileList.tsx:592
+msgid "Subscribe"
+msgstr "Liostáil"
+
+#: src/screens/Profile/Sections/Labels.tsx:191
+msgid "Subscribe to @{0} to use these labels:"
+msgstr ""
+
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:227
+msgid "Subscribe to Labeler"
+msgstr ""
+
+#: src/screens/Onboarding/StepAlgoFeeds/FeedCard.tsx:172
+#: src/screens/Onboarding/StepAlgoFeeds/FeedCard.tsx:307
+msgid "Subscribe to the {0} feed"
+msgstr "Liostáil leis an bhfotha {0}"
+
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:191
+msgid "Subscribe to this labeler"
+msgstr ""
+
+#: src/view/screens/ProfileList.tsx:588
+msgid "Subscribe to this list"
+msgstr "Liostáil leis an liosta seo"
+
+#: src/view/screens/Search/Search.tsx:523
+msgid "Suggested Follows"
+msgstr "Cuntais le leanúint"
+
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:65
+msgid "Suggested for you"
+msgstr "Molta duit"
+
+#: src/view/com/modals/SelfLabel.tsx:95
+msgid "Suggestive"
+msgstr "Gáirsiúil"
+
+#: src/Navigation.tsx:226
+#: src/view/screens/Support.tsx:30
+#: src/view/screens/Support.tsx:33
+msgid "Support"
+msgstr "Tacaíocht"
+
+#: src/view/com/modals/ProfilePreview.tsx:110
+#~ msgid "Swipe up to see more"
+#~ msgstr "Svaidhpeáil aníos le tuilleadh a fheiceáil"
+
+#: src/components/dialogs/SwitchAccount.tsx:46
+#: src/components/dialogs/SwitchAccount.tsx:49
+msgid "Switch Account"
+msgstr "Athraigh an cuntas"
+
+#: src/view/screens/Settings/index.tsx:150
+msgid "Switch to {0}"
+msgstr "Athraigh go {0}"
+
+#: src/view/screens/Settings/index.tsx:151
+msgid "Switches the account you are logged in to"
+msgstr "Athraíonn sé seo an cuntas beo"
+
+#: src/view/screens/Settings/index.tsx:442
+msgid "System"
+msgstr "Córas"
+
+#: src/view/screens/Settings/index.tsx:783
+msgid "System log"
+msgstr "Logleabhar an chórais"
+
+#: src/components/dialogs/MutedWords.tsx:323
+msgid "tag"
+msgstr ""
+
+#: src/components/TagMenu/index.tsx:78
+msgid "Tag menu: {displayTag}"
+msgstr ""
+
+#: src/view/com/modals/crop-image/CropImage.web.tsx:113
+msgid "Tall"
+msgstr "Ard"
+
+#: src/view/com/util/images/AutoSizedImage.tsx:70
+msgid "Tap to view fully"
+msgstr "Tapáil leis an rud iomlán a fheiceáil"
+
+#: src/screens/Onboarding/index.tsx:39
+msgid "Tech"
+msgstr "Teic"
+
+#: src/view/shell/desktop/RightNav.tsx:81
+msgid "Terms"
+msgstr "Téarmaí"
+
+#: src/Navigation.tsx:236
+#: src/screens/Signup/StepInfo/Policies.tsx:49
+#: src/view/screens/Settings/index.tsx:881
+#: src/view/screens/TermsOfService.tsx:29
+#: src/view/shell/Drawer.tsx:265
+msgid "Terms of Service"
+msgstr "Téarmaí Seirbhíse"
+
+#: src/lib/moderation/useReportOptions.ts:58
+#: src/lib/moderation/useReportOptions.ts:79
+#: src/lib/moderation/useReportOptions.ts:87
+msgid "Terms used violate community standards"
+msgstr ""
+
+#: src/components/dialogs/MutedWords.tsx:323
+msgid "text"
+msgstr ""
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:219
+msgid "Text input field"
+msgstr "Réimse téacs"
+
+#: src/components/ReportDialog/SubmitView.tsx:76
+msgid "Thank you. Your report has been sent."
+msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:465
+msgid "That contains the following:"
+msgstr ""
+
+#: src/screens/Signup/index.tsx:85
+msgid "That handle is already taken."
+msgstr "Tá an leasainm sin in úsáid cheana féin."
+
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:282
+#: src/view/com/profile/ProfileMenu.tsx:349
+msgid "The account will be able to interact with you after unblocking."
+msgstr "Beidh an cuntas seo in ann caidreamh a dhéanamh leat tar éis duit é a dhíbhlocáil"
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:127
+msgid "the author"
+msgstr ""
+
+#: src/view/screens/CommunityGuidelines.tsx:36
+msgid "The Community Guidelines have been moved to <0/>"
+msgstr "Bogadh Treoirlínte an Phobail go dtí <0/>"
+
+#: src/view/screens/CopyrightPolicy.tsx:33
+msgid "The Copyright Policy has been moved to <0/>"
+msgstr "Bogadh an Polasaí Cóipchirt go dtí <0/>"
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:48
+msgid "The following labels were applied to your account."
+msgstr ""
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:49
+msgid "The following labels were applied to your content."
+msgstr ""
+
+#: src/screens/Onboarding/Layout.tsx:58
+msgid "The following steps will help customize your Bluesky experience."
+msgstr "Cuideoidh na céimeanna seo a leanas leat Bluesky a chur in oiriúint duit féin."
+
+#: src/view/com/post-thread/PostThread.tsx:153
+#: src/view/com/post-thread/PostThread.tsx:165
+msgid "The post may have been deleted."
+msgstr "Is féidir gur scriosadh an phostáil seo."
+
+#: src/view/screens/PrivacyPolicy.tsx:33
+msgid "The Privacy Policy has been moved to <0/>"
+msgstr "Bogadh Polasaí na Príobháideachta go dtí <0/>"
+
+#: src/view/screens/Support.tsx:36
+msgid "The support form has been moved. If you need help, please <0/> or visit {HELP_DESK_URL} to get in touch with us."
+msgstr "Bogadh an fhoirm tacaíochta go dtí <0/>. Má tá cuidiú ag teastáil uait, <0/> le do thoil, nó tabhair cuairt ar {HELP_DESK_URL} le dul i dteagmháil linn."
+
+#: src/view/screens/TermsOfService.tsx:33
+msgid "The Terms of Service have been moved to"
+msgstr "Bogadh ár dTéarmaí Seirbhíse go dtí"
+
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:141
+msgid "There are many feeds to try:"
+msgstr "Tá a lán fothaí ann le blaiseadh:"
+
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:114
+#: src/view/screens/ProfileFeed.tsx:556
+msgid "There was an an issue contacting the server, please check your internet connection and try again."
+msgstr "Bhí fadhb ann maidir le dul i dteagmháil leis an bhfreastalaí. Seiceáil do cheangal leis an idirlíon agus bain triail eile as, le do thoil."
+
+#: src/view/com/posts/FeedErrorMessage.tsx:138
+msgid "There was an an issue removing this feed. Please check your internet connection and try again."
+msgstr "Bhí fadhb ann maidir leis an bhfotha seo a bhaint. Seiceáil do cheangal leis an idirlíon agus bain triail eile as, le do thoil."
+
+#: src/view/screens/ProfileFeed.tsx:219
+msgid "There was an an issue updating your feeds, please check your internet connection and try again."
+msgstr "Bhí fadhb ann maidir le huasdátú do chuid fothaí. Seiceáil do cheangal leis an idirlíon agus bain triail eile as, le do thoil."
+
+#: src/view/screens/ProfileFeed.tsx:247
+#: src/view/screens/ProfileList.tsx:277
+#: src/view/screens/SavedFeeds.tsx:211
+#: src/view/screens/SavedFeeds.tsx:241
+#: src/view/screens/SavedFeeds.tsx:262
+msgid "There was an issue contacting the server"
+msgstr "Bhí fadhb ann maidir le teagmháil a dhéanamh leis an bhfreastalaí"
+
+#: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:57
+#: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:66
+#: src/view/com/feeds/FeedSourceCard.tsx:110
+#: src/view/com/feeds/FeedSourceCard.tsx:123
+msgid "There was an issue contacting your server"
+msgstr "Bhí fadhb ann maidir le teagmháil a dhéanamh le do fhreastálaí"
+
+#: src/view/com/notifications/Feed.tsx:117
+msgid "There was an issue fetching notifications. Tap here to try again."
+msgstr "Bhí fadhb ann maidir le fógraí a fháil. Tapáil anseo le triail eile a bhaint as."
+
+#: src/view/com/posts/Feed.tsx:287
+msgid "There was an issue fetching posts. Tap here to try again."
+msgstr "Bhí fadhb ann maidir le postálacha a fháil. Tapáil anseo le triail eile a bhaint as."
+
+#: src/view/com/lists/ListMembers.tsx:172
+msgid "There was an issue fetching the list. Tap here to try again."
+msgstr "Bhí fadhb ann maidir leis an liosta a fháil. Tapáil anseo le triail eile a bhaint as."
+
+#: src/view/com/feeds/ProfileFeedgens.tsx:156
+#: src/view/com/lists/ProfileLists.tsx:163
+msgid "There was an issue fetching your lists. Tap here to try again."
+msgstr "Bhí fadhb ann maidir le do chuid liostaí a fháil. Tapáil anseo le triail eile a bhaint as."
+
+#: src/components/ReportDialog/SubmitView.tsx:81
+msgid "There was an issue sending your report. Please check your internet connection."
+msgstr ""
+
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:65
+msgid "There was an issue syncing your preferences with the server"
+msgstr "Bhí fadhb ann maidir le do chuid roghanna a shioncronú leis an bhfreastalaí"
+
+#: src/view/screens/AppPasswords.tsx:68
+msgid "There was an issue with fetching your app passwords"
+msgstr "Bhí fadhb ann maidir le do chuid pasfhocal don aip a fháil"
+
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:105
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:127
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:141
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:99
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:111
+#: src/view/com/profile/ProfileMenu.tsx:106
+#: src/view/com/profile/ProfileMenu.tsx:117
+#: src/view/com/profile/ProfileMenu.tsx:132
+#: src/view/com/profile/ProfileMenu.tsx:143
+#: src/view/com/profile/ProfileMenu.tsx:157
+#: src/view/com/profile/ProfileMenu.tsx:170
+msgid "There was an issue! {0}"
+msgstr "Bhí fadhb ann! {0}"
+
+#: src/view/screens/ProfileList.tsx:290
+#: src/view/screens/ProfileList.tsx:304
+#: src/view/screens/ProfileList.tsx:318
+#: src/view/screens/ProfileList.tsx:332
+msgid "There was an issue. Please check your internet connection and try again."
+msgstr "Bhí fadhb ann. Seiceáil do cheangal leis an idirlíon, le do thoil, agus bain triail eile as."
+
+#: src/view/com/util/ErrorBoundary.tsx:51
+msgid "There was an unexpected issue in the application. Please let us know if this happened to you!"
+msgstr "D’éirigh fadhb gan choinne leis an aip. Abair linn, le do thoil, má tharla sé sin duit!"
+
+#: src/screens/Deactivated.tsx:106
+msgid "There's been a rush of new users to Bluesky! We'll activate your account as soon as we can."
+msgstr "Tá ráchairt ar Bluesky le déanaí! Cuirfidh muid do chuntas ag obair chomh luath agus is féidir."
+
+#: src/view/com/auth/create/Step2.tsx:55
+#~ msgid "There's something wrong with this number. Please choose your country and enter your full phone number!"
+#~ msgstr "Tá rud éigin mícheart leis an uimhir seo. Roghnaigh do thír, le do thoil, agus cuir d’uimhir ghutháin iomlán isteach."
+
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:146
+msgid "These are popular accounts you might like:"
+msgstr "Is cuntais iad seo a bhfuil a lán leantóirí acu. Is féidir go dtaitneoidh siad leat."
+
+#: src/components/moderation/ScreenHider.tsx:116
+msgid "This {screenDescription} has been flagged:"
+msgstr "Cuireadh bratach leis an {screenDescription} seo:"
+
+#: src/components/moderation/ScreenHider.tsx:111
+msgid "This account has requested that users sign in to view their profile."
+msgstr "Ní mór duit logáil isteach le próifíl an chuntais seo a fheiceáil."
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:204
+msgid "This appeal will be sent to <0>{0}0>."
+msgstr ""
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:19
+msgid "This content has been hidden by the moderators."
+msgstr ""
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:24
+msgid "This content has received a general warning from moderators."
+msgstr ""
+
+#: src/components/dialogs/EmbedConsent.tsx:64
+msgid "This content is hosted by {0}. Do you want to enable external media?"
+msgstr "Tá an t-ábhar seo ar fáil ó {0}. An bhfuil fonn ort na meáin sheachtracha a thaispeáint?"
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:77
+#: src/lib/moderation/useModerationCauseDescription.ts:77
+msgid "This content is not available because one of the users involved has blocked the other."
+msgstr "Níl an t-ábhar seo le feiceáil toisc gur bhlocáil duine de na húsáideoirí an duine eile."
+
+#: src/view/com/posts/FeedErrorMessage.tsx:108
+msgid "This content is not viewable without a Bluesky account."
+msgstr "Níl an t-ábhar seo le feiceáil gan chuntas Bluesky."
+
+#: src/view/screens/Settings/ExportCarDialog.tsx:75
+#~ msgid "This feature is in beta. You can read more about repository exports in <0>this blogpost.0>"
+#~ msgstr "Tá an ghné seo á tástáil fós. Tig leat níos mó faoi chartlanna easpórtáilte a léamh sa <0>bhlagphost seo.0>"
+
+#: src/view/screens/Settings/ExportCarDialog.tsx:75
+msgid "This feature is in beta. You can read more about repository exports in <0>this blogpost0>."
+msgstr ""
+
+#: src/view/com/posts/FeedErrorMessage.tsx:114
+msgid "This feed is currently receiving high traffic and is temporarily unavailable. Please try again later."
+msgstr "Tá ráchairt an-mhór ar an bhfotha seo faoi láthair. Níl sé ar fáil anois díreach dá bhrí sin. Bain triail eile as níos déanaí, le do thoil."
+
+#: src/screens/Profile/Sections/Feed.tsx:59
+#: src/view/screens/ProfileFeed.tsx:488
+#: src/view/screens/ProfileList.tsx:677
+msgid "This feed is empty!"
+msgstr "Tá an fotha seo folamh!"
+
+#: src/view/com/posts/CustomFeedEmptyState.tsx:37
+msgid "This feed is empty! You may need to follow more users or tune your language settings."
+msgstr "Tá an fotha seo folamh! Is féidir go mbeidh ort tuilleadh úsáideoirí a leanúint nó do shocruithe teanga a athrú."
+
+#: src/components/dialogs/BirthDateSettings.tsx:41
+msgid "This information is not shared with other users."
+msgstr "Ní roinntear an t-eolas seo le húsáideoirí eile."
+
+#: src/view/com/modals/VerifyEmail.tsx:119
+msgid "This is important in case you ever need to change your email or reset your password."
+msgstr "Tá sé seo tábhachtach má bhíonn ort do ríomhphost nó do phasfhocal a athrú."
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:124
+msgid "This label was applied by {0}."
+msgstr ""
+
+#: src/screens/Profile/Sections/Labels.tsx:178
+msgid "This labeler hasn't declared what labels it publishes, and may not be active."
+msgstr ""
+
+#: src/view/com/modals/LinkWarning.tsx:72
+msgid "This link is taking you to the following website:"
+msgstr "Téann an nasc seo go dtí an suíomh idirlín seo:"
+
+#: src/view/screens/ProfileList.tsx:855
+msgid "This list is empty!"
+msgstr "Tá an liosta seo folamh!"
+
+#: src/screens/Profile/ErrorState.tsx:40
+msgid "This moderation service is unavailable. See below for more details. If this issue persists, contact us."
+msgstr ""
+
+#: src/view/com/modals/AddAppPasswords.tsx:107
+msgid "This name is already in use"
+msgstr "Tá an t-ainm seo in úsáid cheana féin"
+
+#: src/view/com/post-thread/PostThreadItem.tsx:125
+msgid "This post has been deleted."
+msgstr "Scriosadh an phostáil seo."
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:366
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:250
+msgid "This post is only visible to logged-in users. It won't be visible to people who aren't logged in."
+msgstr ""
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:348
+msgid "This post will be hidden from feeds."
+msgstr ""
+
+#: src/view/com/profile/ProfileMenu.tsx:370
+msgid "This profile is only visible to logged-in users. It won't be visible to people who aren't logged in."
+msgstr ""
+
+#: src/screens/Signup/StepInfo/Policies.tsx:37
+msgid "This service has not provided terms of service or a privacy policy."
+msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:445
+msgid "This should create a domain record at:"
+msgstr ""
+
+#: src/view/com/profile/ProfileFollowers.tsx:87
+msgid "This user doesn't have any followers."
+msgstr ""
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:72
+#: src/lib/moderation/useModerationCauseDescription.ts:68
+msgid "This user has blocked you. You cannot view their content."
+msgstr "Tá an t-úsáideoir seo tar éis thú a bhlocáil. Ní féidir leat a gcuid ábhair a fheiceáil."
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:30
+msgid "This user has requested that their content only be shown to signed-in users."
+msgstr ""
+
+#: src/view/com/modals/ModerationDetails.tsx:42
+#~ msgid "This user is included in the <0/> list which you have blocked."
+#~ msgstr "Tá an t-úsáideoir seo ar an liosta <0/> a bhlocáil tú."
+
+#: src/view/com/modals/ModerationDetails.tsx:74
+#~ msgid "This user is included in the <0/> list which you have muted."
+#~ msgstr "Tá an t-úsáideoir seo ar an liosta <0/> a chuir tú i bhfolach."
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:55
+msgid "This user is included in the <0>{0}0> list which you have blocked."
+msgstr ""
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:84
+msgid "This user is included in the <0>{0}0> list which you have muted."
+msgstr ""
+
+#: src/view/com/modals/ModerationDetails.tsx:74
+#~ msgid "This user is included the <0/> list which you have muted."
+#~ msgstr "Tá an t-úsáideoir seo ar an liosta <0/> a chuir tú i bhfolach."
+
+#: src/view/com/profile/ProfileFollows.tsx:87
+msgid "This user isn't following anyone."
+msgstr ""
+
+#: src/view/com/modals/SelfLabel.tsx:137
+msgid "This warning is only available for posts with media attached."
+msgstr "Níl an rabhadh seo ar fáil ach le haghaidh postálacha a bhfuil meáin ceangailte leo."
+
+#: src/components/dialogs/MutedWords.tsx:283
+msgid "This will delete {0} from your muted words. You can always add it back later."
+msgstr ""
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:192
+#~ msgid "This will hide this post from your feeds."
+#~ msgstr "Leis seo ní bheidh an phostáil seo le feiceáil ar do chuid fothaí."
+
+#: src/view/screens/Settings/index.tsx:525
+msgid "Thread preferences"
+msgstr ""
+
+#: src/view/screens/PreferencesThreads.tsx:53
+#: src/view/screens/Settings/index.tsx:535
+msgid "Thread Preferences"
+msgstr "Roghanna Snáitheanna"
+
+#: src/view/screens/PreferencesThreads.tsx:119
+msgid "Threaded Mode"
+msgstr "Modh Snáithithe"
+
+#: src/Navigation.tsx:269
+msgid "Threads Preferences"
+msgstr "Roghanna Snáitheanna"
+
+#: src/components/ReportDialog/SelectLabelerView.tsx:33
+msgid "To whom would you like to send this report?"
+msgstr ""
+
+#: src/components/dialogs/MutedWords.tsx:112
+msgid "Toggle between muted word options."
+msgstr ""
+
+#: src/view/com/util/forms/DropdownButton.tsx:246
+msgid "Toggle dropdown"
+msgstr "Scoránaigh an bosca anuas"
+
+#: src/screens/Moderation/index.tsx:332
+msgid "Toggle to enable or disable adult content"
+msgstr ""
+
+#: src/view/screens/Search/Search.tsx:427
+msgid "Top"
+msgstr ""
+
+#: src/view/com/modals/EditImage.tsx:272
+msgid "Transformations"
+msgstr "Trasfhoirmithe"
+
+#: src/view/com/post-thread/PostThreadItem.tsx:638
+#: src/view/com/post-thread/PostThreadItem.tsx:640
+#: src/view/com/util/forms/PostDropdownBtn.tsx:220
+#: src/view/com/util/forms/PostDropdownBtn.tsx:222
+msgid "Translate"
+msgstr "Aistrigh"
+
+#: src/view/com/util/error/ErrorScreen.tsx:82
+msgctxt "action"
+msgid "Try again"
+msgstr "Bain triail eile as"
+
+#: src/view/com/modals/ChangeHandle.tsx:428
+msgid "Type:"
+msgstr ""
+
+#: src/view/screens/ProfileList.tsx:480
+msgid "Un-block list"
+msgstr "Díbhlocáil an liosta"
+
+#: src/view/screens/ProfileList.tsx:463
+msgid "Un-mute list"
+msgstr "Ná coinnigh an liosta sin i bhfolach níos mó"
+
+#: src/screens/Login/ForgotPasswordForm.tsx:74
+#: src/screens/Login/index.tsx:78
+#: src/screens/Login/LoginForm.tsx:119
+#: src/screens/Login/SetNewPasswordForm.tsx:77
+#: src/screens/Signup/index.tsx:64
+#: src/view/com/modals/ChangePassword.tsx:70
+msgid "Unable to contact your service. Please check your Internet connection."
+msgstr "Ní féidir teagmháil a dhéanamh le do sheirbhís. Seiceáil do cheangal leis an idirlíon, le do thoil."
+
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:181
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:286
+#: src/view/com/profile/ProfileMenu.tsx:361
+#: src/view/screens/ProfileList.tsx:574
+msgid "Unblock"
+msgstr "Díbhlocáil"
+
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:186
+msgctxt "action"
+msgid "Unblock"
+msgstr "Díbhlocáil"
+
+#: src/view/com/profile/ProfileMenu.tsx:299
+#: src/view/com/profile/ProfileMenu.tsx:305
+msgid "Unblock Account"
+msgstr "Díbhlocáil an cuntas"
+
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:280
+#: src/view/com/profile/ProfileMenu.tsx:343
+msgid "Unblock Account?"
+msgstr ""
+
+#: src/view/com/modals/Repost.tsx:43
+#: src/view/com/modals/Repost.tsx:56
+#: src/view/com/util/post-ctrls/RepostButton.tsx:60
+#: src/view/com/util/post-ctrls/RepostButton.web.tsx:48
+msgid "Undo repost"
+msgstr "Cuir stop leis an athphostáil"
+
+#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:141
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:248
+msgid "Unfollow"
+msgstr ""
+
+#: src/view/com/profile/FollowButton.tsx:60
+msgctxt "action"
+msgid "Unfollow"
+msgstr "Dílean"
+
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:220
+msgid "Unfollow {0}"
+msgstr "Dílean {0}"
+
+#: src/view/com/profile/ProfileMenu.tsx:241
+#: src/view/com/profile/ProfileMenu.tsx:251
+msgid "Unfollow Account"
+msgstr ""
+
+#: src/view/com/auth/create/state.ts:262
+#~ msgid "Unfortunately, you do not meet the requirements to create an account."
+#~ msgstr "Ar an drochuair, ní chomhlíonann tú na riachtanais le cuntas a chruthú."
+
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:197
+msgid "Unlike"
+msgstr "Dímhol"
+
+#: src/view/screens/ProfileFeed.tsx:585
+msgid "Unlike this feed"
+msgstr ""
+
+#: src/components/TagMenu/index.tsx:249
+#: src/view/screens/ProfileList.tsx:581
+msgid "Unmute"
+msgstr "Ná coinnigh i bhfolach"
+
+#: src/components/TagMenu/index.web.tsx:104
+msgid "Unmute {truncatedTag}"
+msgstr ""
+
+#: src/view/com/profile/ProfileMenu.tsx:278
+#: src/view/com/profile/ProfileMenu.tsx:284
+msgid "Unmute Account"
+msgstr "Ná coinnigh an cuntas seo i bhfolach níos mó"
+
+#: src/components/TagMenu/index.tsx:208
+msgid "Unmute all {displayTag} posts"
+msgstr ""
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:269
+#: src/view/com/util/forms/PostDropdownBtn.tsx:274
+msgid "Unmute thread"
+msgstr "Ná coinnigh an snáithe seo i bhfolach níos mó"
+
+#: src/view/screens/ProfileFeed.tsx:306
+#: src/view/screens/ProfileList.tsx:565
+msgid "Unpin"
+msgstr "Díghreamaigh"
+
+#: src/view/screens/ProfileFeed.tsx:303
+msgid "Unpin from home"
+msgstr ""
+
+#: src/view/screens/ProfileList.tsx:446
+msgid "Unpin moderation list"
+msgstr "Díghreamaigh an liosta modhnóireachta"
+
+#: src/view/screens/ProfileFeed.tsx:345
+#~ msgid "Unsave"
+#~ msgstr "Díshábháil"
+
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:225
+msgid "Unsubscribe"
+msgstr ""
+
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:190
+msgid "Unsubscribe from this labeler"
+msgstr ""
+
+#: src/lib/moderation/useReportOptions.ts:70
+msgid "Unwanted Sexual Content"
+msgstr ""
+
+#: src/view/com/modals/UserAddRemoveLists.tsx:70
+msgid "Update {displayName} in Lists"
+msgstr "Uasdátú {displayName} sna Liostaí"
+
+#: src/lib/hooks/useOTAUpdate.ts:15
+#~ msgid "Update Available"
+#~ msgstr "Uasdátú ar fáil"
+
+#: src/view/com/modals/ChangeHandle.tsx:508
+msgid "Update to {handle}"
+msgstr ""
+
+#: src/screens/Login/SetNewPasswordForm.tsx:186
+msgid "Updating..."
+msgstr "Á uasdátú…"
+
+#: src/view/com/modals/ChangeHandle.tsx:454
+msgid "Upload a text file to:"
+msgstr "Uaslódáil comhad téacs chuig:"
+
+#: src/view/com/util/UserAvatar.tsx:328
+#: src/view/com/util/UserAvatar.tsx:331
+#: src/view/com/util/UserBanner.tsx:116
+#: src/view/com/util/UserBanner.tsx:119
+msgid "Upload from Camera"
+msgstr ""
+
+#: src/view/com/util/UserAvatar.tsx:345
+#: src/view/com/util/UserBanner.tsx:133
+msgid "Upload from Files"
+msgstr ""
+
+#: src/view/com/util/UserAvatar.tsx:339
+#: src/view/com/util/UserAvatar.tsx:343
+#: src/view/com/util/UserBanner.tsx:127
+#: src/view/com/util/UserBanner.tsx:131
+msgid "Upload from Library"
+msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:408
+msgid "Use a file on your server"
+msgstr ""
+
+#: src/view/screens/AppPasswords.tsx:197
+msgid "Use app passwords to login to other Bluesky clients without giving full access to your account or password."
+msgstr "Bain úsáid as pasfhocail na haipe le logáil isteach ar chliaint eile de chuid Bluesky gan fáil iomlán ar do chuntas ná do phasfhocal a thabhairt dóibh."
+
+#: src/view/com/modals/ChangeHandle.tsx:517
+msgid "Use bsky.social as hosting provider"
+msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:516
+msgid "Use default provider"
+msgstr "Úsáid an soláthraí réamhshocraithe"
+
+#: src/view/com/modals/InAppBrowserConsent.tsx:56
+#: src/view/com/modals/InAppBrowserConsent.tsx:58
+msgid "Use in-app browser"
+msgstr "Úsáid an brabhsálaí san aip seo"
+
+#: src/view/com/modals/InAppBrowserConsent.tsx:66
+#: src/view/com/modals/InAppBrowserConsent.tsx:68
+msgid "Use my default browser"
+msgstr "Úsáid an brabhsálaí réamhshocraithe atá agam"
+
+#: src/view/com/modals/ChangeHandle.tsx:400
+msgid "Use the DNS panel"
+msgstr ""
+
+#: src/view/com/modals/AddAppPasswords.tsx:156
+msgid "Use this to sign into the other app along with your handle."
+msgstr "Úsáid é seo le logáil isteach ar an aip eile in éindí le do leasainm."
+
+#: src/view/com/modals/ServerInput.tsx:105
+#~ msgid "Use your domain as your Bluesky client service provider"
+#~ msgstr "Úsáid d’fhearann féin mar sholáthraí seirbhíse cliaint Bluesky"
+
+#: src/view/com/modals/InviteCodes.tsx:201
+msgid "Used by:"
+msgstr "In úsáid ag:"
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:64
+#: src/lib/moderation/useModerationCauseDescription.ts:56
+msgid "User Blocked"
+msgstr "Úsáideoir blocáilte"
+
+#: src/lib/moderation/useModerationCauseDescription.ts:48
+msgid "User Blocked by \"{0}\""
+msgstr ""
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:53
+msgid "User Blocked by List"
+msgstr "Úsáideoir blocáilte le liosta"
+
+#: src/lib/moderation/useModerationCauseDescription.ts:66
+msgid "User Blocking You"
+msgstr ""
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:70
+msgid "User Blocks You"
+msgstr "Blocálann an t-úsáideoir seo thú"
+
+#: src/view/com/auth/create/Step2.tsx:44
+#~ msgid "User handle"
+#~ msgstr "Leasainm"
+
+#: src/view/com/lists/ListCard.tsx:85
+#: src/view/com/modals/UserAddRemoveLists.tsx:198
+msgid "User list by {0}"
+msgstr "Liosta úsáideoirí le {0}"
+
+#: src/view/screens/ProfileList.tsx:779
+msgid "User list by <0/>"
+msgstr "Liosta úsáideoirí le <0/>"
+
+#: src/view/com/lists/ListCard.tsx:83
+#: src/view/com/modals/UserAddRemoveLists.tsx:196
+#: src/view/screens/ProfileList.tsx:777
+msgid "User list by you"
+msgstr "Liosta úsáideoirí leat"
+
+#: src/view/com/modals/CreateOrEditList.tsx:197
+msgid "User list created"
+msgstr "Liosta úsáideoirí cruthaithe"
+
+#: src/view/com/modals/CreateOrEditList.tsx:183
+msgid "User list updated"
+msgstr "Liosta úsáideoirí uasdátaithe"
+
+#: src/view/screens/Lists.tsx:58
+msgid "User Lists"
+msgstr "Liostaí Úsáideoirí"
+
+#: src/screens/Login/LoginForm.tsx:151
+msgid "Username or email address"
+msgstr "Ainm úsáideora nó ríomhphost"
+
+#: src/view/screens/ProfileList.tsx:813
+#: src/view/screens/Search/Search.tsx:473
+#: src/view/screens/Search/Search.tsx:482
+msgid "Users"
+msgstr "Úsáideoirí"
+
+#: src/view/com/threadgate/WhoCanReply.tsx:143
+msgid "users followed by <0/>"
+msgstr "Úsáideoirí a bhfuil <0/> á leanúint"
+
+#: src/view/com/modals/Threadgate.tsx:106
+msgid "Users in \"{0}\""
+msgstr "Úsáideoirí in ”{0}“"
+
+#: src/components/LikesDialog.tsx:85
+msgid "Users that have liked this content or profile"
+msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:436
+msgid "Value:"
+msgstr ""
+
+#: src/view/com/auth/create/Step2.tsx:243
+#~ msgid "Verification code"
+#~ msgstr "Cód dearbhaithe"
+
+#: src/view/com/modals/ChangeHandle.tsx:509
+msgid "Verify {0}"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:906
+msgid "Verify email"
+msgstr "Dearbhaigh ríomhphost"
+
+#: src/view/screens/Settings/index.tsx:931
+msgid "Verify my email"
+msgstr "Dearbhaigh mo ríomhphost"
+
+#: src/view/screens/Settings/index.tsx:940
+msgid "Verify My Email"
+msgstr "Dearbhaigh Mo Ríomhphost"
+
+#: src/view/com/modals/ChangeEmail.tsx:205
+#: src/view/com/modals/ChangeEmail.tsx:207
+msgid "Verify New Email"
+msgstr "Dearbhaigh an Ríomhphost Nua"
+
+#: src/view/com/modals/VerifyEmail.tsx:103
+msgid "Verify Your Email"
+msgstr "Dearbhaigh Do Ríomhphost"
+
+#: src/view/screens/Settings/index.tsx:857
+msgid "Version {0}"
+msgstr ""
+
+#: src/screens/Onboarding/index.tsx:42
+msgid "Video Games"
+msgstr "Físchluichí"
+
+#: src/screens/Profile/Header/Shell.tsx:107
+msgid "View {0}'s avatar"
+msgstr "Féach ar an abhatár atá ag {0}"
+
+#: src/view/screens/Log.tsx:52
+msgid "View debug entry"
+msgstr "Féach ar an iontráil dífhabhtaithe"
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:132
+msgid "View details"
+msgstr ""
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:127
+msgid "View details for reporting a copyright violation"
+msgstr ""
+
+#: src/view/com/posts/FeedSlice.tsx:99
+msgid "View full thread"
+msgstr "Féach ar an snáithe iomlán"
+
+#: src/components/moderation/LabelsOnMe.tsx:51
+msgid "View information about these labels"
+msgstr ""
+
+#: src/components/ProfileHoverCard/index.web.tsx:264
+#: src/components/ProfileHoverCard/index.web.tsx:293
+#: src/view/com/posts/FeedErrorMessage.tsx:166
+msgid "View profile"
+msgstr "Féach ar an bpróifíl"
+
+#: src/view/com/profile/ProfileSubpageHeader.tsx:128
+msgid "View the avatar"
+msgstr "Féach ar an abhatár"
+
+#: src/components/LabelingServiceCard/index.tsx:140
+msgid "View the labeling service provided by @{0}"
+msgstr ""
+
+#: src/view/screens/ProfileFeed.tsx:597
+msgid "View users who like this feed"
+msgstr ""
+
+#: src/view/com/modals/LinkWarning.tsx:89
+#: src/view/com/modals/LinkWarning.tsx:95
+msgid "Visit Site"
+msgstr "Tabhair cuairt ar an suíomh"
+
+#: src/components/moderation/LabelPreference.tsx:135
+#: src/lib/moderation/useLabelBehaviorDescription.ts:17
+#: src/lib/moderation/useLabelBehaviorDescription.ts:22
+#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:53
+msgid "Warn"
+msgstr "Rabhadh"
+
+#: src/lib/moderation/useLabelBehaviorDescription.ts:48
+msgid "Warn content"
+msgstr ""
+
+#: src/lib/moderation/useLabelBehaviorDescription.ts:46
+msgid "Warn content and filter from feeds"
+msgstr ""
+
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:134
+#~ msgid "We also think you'll like \"For You\" by Skygaze:"
+#~ msgstr "Creidimid go dtaitneoidh “For You” le Skygaze leat:"
+
+#: src/screens/Hashtag.tsx:133
+msgid "We couldn't find any results for that hashtag."
+msgstr ""
+
+#: src/screens/Deactivated.tsx:133
+msgid "We estimate {estimatedTime} until your account is ready."
+msgstr "Measaimid go mbeidh do chuntas réidh i gceann {estimatedTime}"
+
+#: src/screens/Onboarding/StepFinished.tsx:97
+msgid "We hope you have a wonderful time. Remember, Bluesky is:"
+msgstr "Tá súil againn go mbeidh an-chraic agat anseo. Ná déan dearmad go bhfuil Bluesky:"
+
+#: src/view/com/posts/DiscoverFallbackHeader.tsx:29
+msgid "We ran out of posts from your follows. Here's the latest from <0/>."
+msgstr "Níl aon ábhar nua le taispeáint ó na cuntais a leanann tú. Seo duit an t-ábhar is déanaí ó <0/>."
+
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:118
+#~ msgid "We recommend \"For You\" by Skygaze:"
+#~ msgstr "Creidimid go dtaitneoidh “For You” le Skygaze leat:"
+
+#: src/components/dialogs/MutedWords.tsx:203
+msgid "We recommend avoiding common words that appear in many posts, since it can result in no posts being shown."
+msgstr ""
+
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:125
+msgid "We recommend our \"Discover\" feed:"
+msgstr "Molaimid an fotha “Discover”."
+
+#: src/components/dialogs/BirthDateSettings.tsx:52
+msgid "We were unable to load your birth date preferences. Please try again."
+msgstr ""
+
+#: src/screens/Moderation/index.tsx:385
+msgid "We were unable to load your configured labelers at this time."
+msgstr ""
+
+#: src/screens/Onboarding/StepInterests/index.tsx:137
+msgid "We weren't able to connect. Please try again to continue setting up your account. If it continues to fail, you can skip this flow."
+msgstr "Níorbh fhéidir linn ceangal a bhunú. Bain triail eile as do chuntas a shocrú. Má mhaireann an fhadhb, ní gá duit an próiseas seo a chur i gcrích."
+
+#: src/screens/Deactivated.tsx:137
+msgid "We will let you know when your account is ready."
+msgstr "Déarfaidh muid leat nuair a bheidh do chuntas réidh."
+
+#: src/view/com/modals/AppealLabel.tsx:48
+#~ msgid "We'll look into your appeal promptly."
+#~ msgstr "Fiosróimid d'achomharc gan mhoill."
+
+#: src/screens/Onboarding/StepInterests/index.tsx:142
+msgid "We'll use this to help customize your experience."
+msgstr "Bainfimid úsáid as seo chun an suíomh a chur in oiriúint duit."
+
+#: src/screens/Signup/index.tsx:131
+msgid "We're so excited to have you join us!"
+msgstr "Tá muid an-sásta go bhfuil tú linn!"
+
+#: src/view/screens/ProfileList.tsx:90
+msgid "We're sorry, but we were unable to resolve this list. If this persists, please contact the list creator, @{handleOrDid}."
+msgstr "Ár leithscéal, ach ní féidir linn an liosta seo a thaispeáint. Má mhaireann an fhadhb, déan teagmháil leis an duine a chruthaigh an liosta, @{handleOrDid}."
+
+#: src/components/dialogs/MutedWords.tsx:229
+msgid "We're sorry, but we weren't able to load your muted words at this time. Please try again."
+msgstr ""
+
+#: src/view/screens/Search/Search.tsx:322
+msgid "We're sorry, but your search could not be completed. Please try again in a few minutes."
+msgstr "Ár leithscéal, ach níorbh fhéidir linn do chuardach a chur i gcrích. Bain triail eile as i gceann cúpla nóiméad."
+
+#: src/components/Lists.tsx:188
+#: src/view/screens/NotFound.tsx:48
+msgid "We're sorry! We can't find the page you were looking for."
+msgstr "Ár leithscéal, ach ní féidir linn an leathanach atá tú ag lorg a aimsiú."
+
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:327
+msgid "We're sorry! You can only subscribe to ten labelers, and you've reached your limit of ten."
+msgstr ""
+
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:48
+msgid "Welcome to <0>Bluesky0>"
+msgstr "Fáilte go <0>Bluesky0>"
+
+#: src/screens/Onboarding/StepInterests/index.tsx:134
+msgid "What are your interests?"
+msgstr "Cad iad na rudaí a bhfuil suim agat iontu?"
+
+#: src/view/com/modals/report/Modal.tsx:169
+#~ msgid "What is the issue with this {collectionName}?"
+#~ msgstr "Cad é an fhadhb le {collectionName}?"
+
+#: src/view/com/auth/SplashScreen.tsx:40
+#: src/view/com/auth/SplashScreen.web.tsx:81
+#: src/view/com/composer/Composer.tsx:296
+msgid "What's up?"
+msgstr "Aon scéal?"
+
+#: src/view/com/modals/lang-settings/PostLanguagesSettings.tsx:78
+msgid "Which languages are used in this post?"
+msgstr "Cad iad na teangacha sa phostáil seo?"
+
+#: src/view/com/modals/lang-settings/ContentLanguagesSettings.tsx:77
+msgid "Which languages would you like to see in your algorithmic feeds?"
+msgstr "Cad iad na teangacha ba mhaith leat a fheiceáil i do chuid fothaí algartamacha?"
+
+#: src/view/com/composer/threadgate/ThreadgateBtn.tsx:47
+#: src/view/com/modals/Threadgate.tsx:66
+msgid "Who can reply"
+msgstr "Cé atá in ann freagra a thabhairt"
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:43
+msgid "Why should this content be reviewed?"
+msgstr ""
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:56
+msgid "Why should this feed be reviewed?"
+msgstr ""
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:53
+msgid "Why should this list be reviewed?"
+msgstr ""
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:50
+msgid "Why should this post be reviewed?"
+msgstr ""
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:47
+msgid "Why should this user be reviewed?"
+msgstr ""
+
+#: src/view/com/modals/crop-image/CropImage.web.tsx:103
+msgid "Wide"
+msgstr "Leathan"
+
+#: src/view/com/composer/Composer.tsx:436
+msgid "Write post"
+msgstr "Scríobh postáil"
+
+#: src/view/com/composer/Composer.tsx:295
+#: src/view/com/composer/Prompt.tsx:37
+msgid "Write your reply"
+msgstr "Scríobh freagra"
+
+#: src/screens/Onboarding/index.tsx:28
+msgid "Writers"
+msgstr "Scríbhneoirí"
+
+#: src/view/com/auth/create/Step2.tsx:263
+#~ msgid "XXXXXX"
+#~ msgstr "XXXXXX"
+
+#: src/view/com/composer/select-language/SuggestedLanguage.tsx:77
+#: src/view/screens/PreferencesFollowingFeed.tsx:129
+#: src/view/screens/PreferencesFollowingFeed.tsx:201
+#: src/view/screens/PreferencesFollowingFeed.tsx:236
+#: src/view/screens/PreferencesFollowingFeed.tsx:271
+#: src/view/screens/PreferencesThreads.tsx:106
+#: src/view/screens/PreferencesThreads.tsx:129
+msgid "Yes"
+msgstr "Tá"
+
+#: src/screens/Onboarding/StepModeration/index.tsx:46
+#~ msgid "You are in control"
+#~ msgstr "Tá sé faoi do stiúir"
+
+#: src/screens/Deactivated.tsx:130
+msgid "You are in line."
+msgstr "Tá tú sa scuaine."
+
+#: src/view/com/profile/ProfileFollows.tsx:86
+msgid "You are not following anyone."
+msgstr ""
+
+#: src/view/com/posts/FollowingEmptyState.tsx:67
+#: src/view/com/posts/FollowingEndOfFeed.tsx:68
+msgid "You can also discover new Custom Feeds to follow."
+msgstr "Is féidir leat sainfhothaí nua a aimsiú le leanúint."
+
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:123
+#~ msgid "You can also try our \"Discover\" algorithm:"
+#~ msgstr "Tig leat freisin triail a bhaint as ár n-algartam “Discover”:"
+
+#: src/screens/Onboarding/StepFollowingFeed.tsx:143
+msgid "You can change these settings later."
+msgstr "Is féidir leat na socruithe seo a athrú níos déanaí."
+
+#: src/screens/Login/index.tsx:158
+#: src/screens/Login/PasswordUpdatedForm.tsx:33
+msgid "You can now sign in with your new password."
+msgstr "Is féidir leat logáil isteach le do phasfhocal nua anois."
+
+#: src/view/com/profile/ProfileFollowers.tsx:86
+msgid "You do not have any followers."
+msgstr ""
+
+#: src/view/com/modals/InviteCodes.tsx:67
+msgid "You don't have any invite codes yet! We'll send you some when you've been on Bluesky for a little longer."
+msgstr "Níl aon chóid chuiridh agat fós! Cuirfidh muid cúpla cód chugat tar éis duit beagán ama a chaitheamh anseo."
+
+#: src/view/screens/SavedFeeds.tsx:103
+msgid "You don't have any pinned feeds."
+msgstr "Níl aon fhothaí greamaithe agat."
+
+#: src/view/screens/Feeds.tsx:477
+msgid "You don't have any saved feeds!"
+msgstr "Níl aon fhothaí sábháilte agat!"
+
+#: src/view/screens/SavedFeeds.tsx:136
+msgid "You don't have any saved feeds."
+msgstr "Níl aon fhothaí sábháilte agat."
+
+#: src/view/com/post-thread/PostThread.tsx:159
+msgid "You have blocked the author or you have been blocked by the author."
+msgstr "Bhlocáil tú an t-údar nó tá tú blocáilte ag an údar."
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:66
+#: src/lib/moderation/useModerationCauseDescription.ts:50
+#: src/lib/moderation/useModerationCauseDescription.ts:58
+msgid "You have blocked this user. You cannot view their content."
+msgstr "Bhlocáil tú an cuntas seo. Ní féidir leat a gcuid ábhar a fheiceáil."
+
+#: src/screens/Login/SetNewPasswordForm.tsx:54
+#: src/screens/Login/SetNewPasswordForm.tsx:91
+#: src/view/com/modals/ChangePassword.tsx:87
+#: src/view/com/modals/ChangePassword.tsx:121
+msgid "You have entered an invalid code. It should look like XXXXX-XXXXX."
+msgstr "Tá tú tar éis cód míchruinn a chur isteach. Ba cheart an cruth seo a bheith air: XXXXX-XXXXX."
+
+#: src/lib/moderation/useModerationCauseDescription.ts:109
+msgid "You have hidden this post"
+msgstr ""
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:101
+msgid "You have hidden this post."
+msgstr ""
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:94
+#: src/lib/moderation/useModerationCauseDescription.ts:92
+msgid "You have muted this account."
+msgstr ""
+
+#: src/lib/moderation/useModerationCauseDescription.ts:86
+msgid "You have muted this user"
+msgstr ""
+
+#: src/view/com/modals/ModerationDetails.tsx:87
+#~ msgid "You have muted this user."
+#~ msgstr "Chuir tú an cuntas seo i bhfolach."
+
+#: src/view/com/feeds/ProfileFeedgens.tsx:144
+msgid "You have no feeds."
+msgstr "Níl aon fhothaí agat."
+
+#: src/view/com/lists/MyLists.tsx:89
+#: src/view/com/lists/ProfileLists.tsx:148
+msgid "You have no lists."
+msgstr "Níl aon liostaí agat."
+
+#: src/view/screens/ModerationBlockedAccounts.tsx:138
+msgid "You have not blocked any accounts yet. To block an account, go to their profile and select \"Block account\" from the menu on their account."
+msgstr ""
+
+#: src/view/screens/ModerationBlockedAccounts.tsx:132
+#~ msgid "You have not blocked any accounts yet. To block an account, go to their profile and selected \"Block account\" from the menu on their account."
+#~ msgstr "Níor bhlocáil tú aon chuntas fós. Le cuntas a bhlocáil, téigh go dtí a bpróifíl agus roghnaigh “Blocáil an cuntas seo” ar an gclár ansin."
+
+#: src/view/screens/AppPasswords.tsx:89
+msgid "You have not created any app passwords yet. You can create one by pressing the button below."
+msgstr "Níor chruthaigh tú aon phasfhocal aipe fós. Is féidir leat ceann a chruthú ach brú ar an gcnaipe thíos."
+
+#: src/view/screens/ModerationMutedAccounts.tsx:136
+msgid "You have not muted any accounts yet. To mute an account, go to their profile and select \"Mute account\" from the menu on their account."
+msgstr ""
+
+#: src/view/screens/ModerationMutedAccounts.tsx:131
+#~ msgid "You have not muted any accounts yet. To mute an account, go to their profile and selected \"Mute account\" from the menu on their account."
+#~ msgstr "Níor chuir tú aon chuntas i bhfolach fós. Le cuntas a chur i bhfolach, téigh go dtí a bpróifíl agus roghnaigh “Cuir an cuntas i bhfolach” ar an gclár ansin."
+
+#: src/components/dialogs/MutedWords.tsx:249
+msgid "You haven't muted any words or tags yet"
+msgstr ""
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:68
+msgid "You may appeal these labels if you feel they were placed in error."
+msgstr ""
+
+#: src/screens/Signup/StepInfo/Policies.tsx:79
+msgid "You must be 13 years of age or older to sign up."
+msgstr ""
+
+#: src/view/com/modals/ContentFilteringSettings.tsx:175
+#~ msgid "You must be 18 or older to enable adult content."
+#~ msgstr "Caithfidh tú a bheith 18 mbliana d’aois nó níos sine le hábhar do dhaoine fásta a fháil."
+
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:110
+msgid "You must be 18 years or older to enable adult content"
+msgstr "Caithfidh tú a bheith 18 mbliana d’aois nó níos sine le hábhar do dhaoine fásta a fháil."
+
+#: src/components/ReportDialog/SubmitView.tsx:203
+msgid "You must select at least one labeler for a report"
+msgstr ""
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:150
+msgid "You will no longer receive notifications for this thread"
+msgstr "Ní bhfaighidh tú fógraí don snáithe seo a thuilleadh."
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:153
+msgid "You will now receive notifications for this thread"
+msgstr "Gheobhaidh tú fógraí don snáithe seo anois."
+
+#: src/screens/Login/SetNewPasswordForm.tsx:104
+msgid "You will receive an email with a \"reset code.\" Enter that code here, then enter your new password."
+msgstr "Gheobhaidh tú teachtaireacht ríomhphoist le “cód athshocraithe” ann. Cuir an cód sin isteach anseo, ansin cuir do phasfhocal nua isteach."
+
+#: src/screens/Onboarding/StepModeration/index.tsx:60
+msgid "You're in control"
+msgstr "Tá sé faoi do stiúir"
+
+#: src/screens/Deactivated.tsx:87
+#: src/screens/Deactivated.tsx:88
+#: src/screens/Deactivated.tsx:103
+msgid "You're in line"
+msgstr "Tá tú sa scuaine"
+
+#: src/screens/Onboarding/StepFinished.tsx:94
+msgid "You're ready to go!"
+msgstr "Tá tú réidh!"
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:98
+#: src/lib/moderation/useModerationCauseDescription.ts:101
+msgid "You've chosen to hide a word or tag within this post."
+msgstr ""
+
+#: src/view/com/posts/FollowingEndOfFeed.tsx:48
+msgid "You've reached the end of your feed! Find some more accounts to follow."
+msgstr "Tháinig tú go deireadh d’fhotha! Aimsigh cuntais eile le leanúint."
+
+#: src/screens/Signup/index.tsx:151
+msgid "Your account"
+msgstr "Do chuntas"
+
+#: src/view/com/modals/DeleteAccount.tsx:68
+msgid "Your account has been deleted"
+msgstr "Scriosadh do chuntas"
+
+#: src/view/screens/Settings/ExportCarDialog.tsx:47
+msgid "Your account repository, containing all public data records, can be downloaded as a \"CAR\" file. This file does not include media embeds, such as images, or your private data, which must be fetched separately."
+msgstr "Is féidir cartlann do chuntais, a bhfuil na taifid phoiblí uile inti, a íoslódáil mar chomhad “CAR”. Ní bheidh aon mheáin leabaithe (íomhánna, mar shampla) ná do shonraí príobháideacha inti. Ní mór iad a fháil ar dhóigh eile."
+
+#: src/screens/Signup/StepInfo/index.tsx:123
+msgid "Your birth date"
+msgstr "Do bhreithlá"
+
+#: src/view/com/modals/InAppBrowserConsent.tsx:47
+msgid "Your choice will be saved, but can be changed later in settings."
+msgstr "Sábhálfar do rogha, ach is féidir é athrú níos déanaí sna socruithe."
+
+#: src/screens/Onboarding/StepFollowingFeed.tsx:62
+msgid "Your default feed is \"Following\""
+msgstr "Is é “Following” d’fhotha réamhshocraithe"
+
+#: src/screens/Login/ForgotPasswordForm.tsx:57
+#: src/screens/Signup/state.ts:227
+#: src/view/com/modals/ChangePassword.tsx:54
+msgid "Your email appears to be invalid."
+msgstr "Is cosúil go bhfuil do ríomhphost neamhbhailí."
+
+#: src/view/com/modals/Waitlist.tsx:109
+#~ msgid "Your email has been saved! We'll be in touch soon."
+#~ msgstr "Cláraíodh do sheoladh ríomhphost! Beidh muid i dteagmháil leat go luath."
+
+#: src/view/com/modals/ChangeEmail.tsx:125
+msgid "Your email has been updated but not verified. As a next step, please verify your new email."
+msgstr "Uasdátaíodh do sheoladh ríomhphoist ach níor dearbhaíodh é. An chéad chéim eile anois ná do sheoladh nua a dhearbhú, le do thoil."
+
+#: src/view/com/modals/VerifyEmail.tsx:114
+msgid "Your email has not yet been verified. This is an important security step which we recommend."
+msgstr "Níor dearbhaíodh do sheoladh ríomhphoist fós. Is tábhachtach an chéim shábháilteachta é sin agus molaimid é."
+
+#: src/view/com/posts/FollowingEmptyState.tsx:47
+msgid "Your following feed is empty! Follow more users to see what's happening."
+msgstr "Tá an fotha de na daoine a leanann tú folamh! Lean tuilleadh úsáideoirí le feiceáil céard atá ar siúl."
+
+#: src/screens/Signup/StepHandle.tsx:73
+msgid "Your full handle will be"
+msgstr "Do leasainm iomlán anseo:"
+
+#: src/view/com/modals/ChangeHandle.tsx:271
+msgid "Your full handle will be <0>@{0}0>"
+msgstr "Do leasainm iomlán anseo: <0>@{0}0>"
+
+#: src/view/screens/Settings.tsx:NaN
+#: src/view/shell/Drawer.tsx:660
+#~ msgid "Your invite codes are hidden when logged in using an App Password"
+#~ msgstr "Níl do chuid cód cuiridh le feiceáil nuair atá tú logáilte isteach le pasfhocal aipe"
+
+#: src/components/dialogs/MutedWords.tsx:220
+msgid "Your muted words"
+msgstr ""
+
+#: src/view/com/modals/ChangePassword.tsx:157
+msgid "Your password has been changed successfully!"
+msgstr "Athraíodh do phasfhocal!"
+
+#: src/view/com/composer/Composer.tsx:284
+msgid "Your post has been published"
+msgstr "Foilsíodh do phostáil"
+
+#: src/screens/Onboarding/StepFinished.tsx:109
+#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:59
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:61
+msgid "Your posts, likes, and blocks are public. Mutes are private."
+msgstr "Tá do chuid postálacha, moltaí, agus blocálacha poiblí. Is príobháideach iad na cuntais a chuireann tú i bhfolach."
+
+#: src/view/screens/Settings/index.tsx:136
+msgid "Your profile"
+msgstr "Do phróifíl"
+
+#: src/view/com/composer/Composer.tsx:283
+msgid "Your reply has been published"
+msgstr "Foilsíodh do fhreagra"
+
+#: src/screens/Signup/index.tsx:153
+msgid "Your user handle"
+msgstr "Do leasainm"
diff --git a/src/locale/locales/hi/messages.po b/src/locale/locales/hi/messages.po
index ae0215aaca..1a2102b8ce 100644
--- a/src/locale/locales/hi/messages.po
+++ b/src/locale/locales/hi/messages.po
@@ -21,7 +21,8 @@ msgstr ""
#~ msgid "{0, plural, one {# invite code available} other {# invite codes available}}"
#~ msgstr ""
-#: src/view/com/profile/ProfileHeader.tsx:593
+#: src/components/ProfileHoverCard/index.web.tsx:323
+#: src/screens/Profile/Header/Metrics.tsx:44
msgid "{following} following"
msgstr ""
@@ -39,7 +40,7 @@ msgstr ""
#~ msgid "{invitesAvailable} invite codes available"
#~ msgstr ""
-#: src/view/shell/Drawer.tsx:440
+#: src/view/shell/Drawer.tsx:449
msgid "{numUnreadNotifications} unread"
msgstr ""
@@ -47,15 +48,24 @@ msgstr ""
msgid "<0/> members"
msgstr ""
-#: src/view/com/profile/ProfileHeader.tsx:595
+#: src/view/shell/Drawer.tsx:97
+msgid "<0>{0}0> following"
+msgstr ""
+
+#: src/components/ProfileHoverCard/index.web.tsx:314
+msgid "<0>{followers} 0><1>{pluralizedFollowers}1>"
+msgstr ""
+
+#: src/components/ProfileHoverCard/index.web.tsx:326
+#: src/screens/Profile/Header/Metrics.tsx:45
msgid "<0>{following} 0><1>following1>"
msgstr ""
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:30
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:31
msgid "<0>Choose your0><1>Recommended1><2>Feeds2>"
msgstr "<0>अपना0><1>पसंदीदा1><2>फ़ीड चुनें2>"
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:37
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:38
msgid "<0>Follow some0><1>Recommended1><2>Users2>"
msgstr "<0>कुछ0><1>पसंदीदा उपयोगकर्ताओं1><2>का अनुसरण करें2>"
@@ -67,51 +77,60 @@ msgstr "<0>कुछ0><1>पसंदीदा उपयोगकर्ता
msgid "<0>Welcome to0><1>Bluesky1>"
msgstr ""
-#: src/view/com/profile/ProfileHeader.tsx:558
+#: src/screens/Profile/Header/Handle.tsx:43
msgid "⚠Invalid Handle"
msgstr ""
#: src/view/com/util/moderation/LabelInfo.tsx:45
-msgid "A content warning has been applied to this {0}."
-msgstr ""
+#~ msgid "A content warning has been applied to this {0}."
+#~ msgstr ""
#: src/lib/hooks/useOTAUpdate.ts:16
-msgid "A new version of the app is available. Please update to continue using the app."
-msgstr "ऐप का एक नया संस्करण उपलब्ध है. कृपया ऐप का उपयोग जारी रखने के लिए अपडेट करें।"
+#~ msgid "A new version of the app is available. Please update to continue using the app."
+#~ msgstr "ऐप का एक नया संस्करण उपलब्ध है. कृपया ऐप का उपयोग जारी रखने के लिए अपडेट करें।"
#: src/view/com/util/ViewHeader.tsx:89
-#: src/view/screens/Search/Search.tsx:647
+#: src/view/screens/Search/Search.tsx:796
msgid "Access navigation links and settings"
msgstr ""
-#: src/view/com/home/HomeHeaderLayoutMobile.tsx:52
+#: src/view/com/home/HomeHeaderLayoutMobile.tsx:54
msgid "Access profile and other navigation links"
msgstr ""
-#: src/view/com/modals/EditImage.tsx:299
-#: src/view/screens/Settings/index.tsx:451
+#: src/view/com/modals/EditImage.tsx:300
+#: src/view/screens/Settings/index.tsx:421
msgid "Accessibility"
msgstr "प्रवेर्शयोग्यता"
-#: src/view/com/auth/login/LoginForm.tsx:166
-#: src/view/screens/Settings/index.tsx:308
-#: src/view/screens/Settings/index.tsx:721
+#: src/components/moderation/LabelsOnMe.tsx:42
+msgid "account"
+msgstr ""
+
+#: src/screens/Login/LoginForm.tsx:144
+#: src/view/screens/Settings/index.tsx:330
+#: src/view/screens/Settings/index.tsx:707
msgid "Account"
msgstr "अकाउंट"
-#: src/view/com/profile/ProfileHeader.tsx:246
+#: src/view/com/profile/ProfileMenu.tsx:139
msgid "Account blocked"
msgstr ""
-#: src/view/com/profile/ProfileHeader.tsx:213
+#: src/view/com/profile/ProfileMenu.tsx:153
+msgid "Account followed"
+msgstr ""
+
+#: src/view/com/profile/ProfileMenu.tsx:113
msgid "Account muted"
msgstr ""
-#: src/view/com/modals/ModerationDetails.tsx:86
+#: src/components/moderation/ModerationDetailsDialog.tsx:93
+#: src/lib/moderation/useModerationCauseDescription.ts:91
msgid "Account Muted"
msgstr ""
-#: src/view/com/modals/ModerationDetails.tsx:72
+#: src/components/moderation/ModerationDetailsDialog.tsx:82
msgid "Account Muted by List"
msgstr ""
@@ -123,19 +142,24 @@ msgstr "अकाउंट के विकल्प"
msgid "Account removed from quick access"
msgstr ""
-#: src/view/com/profile/ProfileHeader.tsx:268
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:137
+#: src/view/com/profile/ProfileMenu.tsx:128
msgid "Account unblocked"
msgstr ""
-#: src/view/com/profile/ProfileHeader.tsx:226
+#: src/view/com/profile/ProfileMenu.tsx:166
+msgid "Account unfollowed"
+msgstr ""
+
+#: src/view/com/profile/ProfileMenu.tsx:102
msgid "Account unmuted"
msgstr ""
-#: src/components/dialogs/MutedWords.tsx:165
+#: src/components/dialogs/MutedWords.tsx:164
#: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:150
-#: src/view/com/modals/ListAddRemoveUsers.tsx:264
+#: src/view/com/modals/ListAddRemoveUsers.tsx:268
#: src/view/com/modals/UserAddRemoveLists.tsx:219
-#: src/view/screens/ProfileList.tsx:813
+#: src/view/screens/ProfileList.tsx:829
msgid "Add"
msgstr "ऐड करो"
@@ -143,62 +167,63 @@ msgstr "ऐड करो"
msgid "Add a content warning"
msgstr "सामग्री चेतावनी जोड़ें"
-#: src/view/screens/ProfileList.tsx:803
+#: src/view/screens/ProfileList.tsx:819
msgid "Add a user to this list"
msgstr "इस सूची में किसी को जोड़ें"
-#: src/view/screens/Settings/index.tsx:383
-#: src/view/screens/Settings/index.tsx:392
+#: src/components/dialogs/SwitchAccount.tsx:55
+#: src/view/screens/Settings/index.tsx:405
+#: src/view/screens/Settings/index.tsx:414
msgid "Add account"
msgstr "अकाउंट जोड़ें"
#: src/view/com/composer/photos/Gallery.tsx:119
#: src/view/com/composer/photos/Gallery.tsx:180
-#: src/view/com/modals/AltImage.tsx:116
+#: src/view/com/modals/AltImage.tsx:117
msgid "Add alt text"
msgstr "इस फ़ोटो में विवरण जोड़ें"
-#: src/view/screens/AppPasswords.tsx:102
-#: src/view/screens/AppPasswords.tsx:143
-#: src/view/screens/AppPasswords.tsx:156
+#: src/view/screens/AppPasswords.tsx:104
+#: src/view/screens/AppPasswords.tsx:145
+#: src/view/screens/AppPasswords.tsx:158
msgid "Add App Password"
msgstr ""
#: src/view/com/modals/report/InputIssueDetails.tsx:41
#: src/view/com/modals/report/Modal.tsx:191
-msgid "Add details"
-msgstr "विवरण जोड़ें"
+#~ msgid "Add details"
+#~ msgstr "विवरण जोड़ें"
#: src/view/com/modals/report/Modal.tsx:194
-msgid "Add details to report"
-msgstr "रिपोर्ट करने के लिए विवरण जोड़ें"
+#~ msgid "Add details to report"
+#~ msgstr "रिपोर्ट करने के लिए विवरण जोड़ें"
-#: src/view/com/composer/Composer.tsx:453
+#: src/view/com/composer/Composer.tsx:467
msgid "Add link card"
msgstr "लिंक कार्ड जोड़ें"
-#: src/view/com/composer/Composer.tsx:458
+#: src/view/com/composer/Composer.tsx:472
msgid "Add link card:"
msgstr "लिंक कार्ड जोड़ें:"
-#: src/components/dialogs/MutedWords.tsx:158
+#: src/components/dialogs/MutedWords.tsx:157
msgid "Add mute word for configured settings"
msgstr ""
-#: src/components/dialogs/MutedWords.tsx:87
+#: src/components/dialogs/MutedWords.tsx:86
msgid "Add muted words and tags"
msgstr ""
-#: src/view/com/modals/ChangeHandle.tsx:417
+#: src/view/com/modals/ChangeHandle.tsx:416
msgid "Add the following DNS record to your domain:"
msgstr "अपने डोमेन में निम्नलिखित DNS रिकॉर्ड जोड़ें:"
-#: src/view/com/profile/ProfileHeader.tsx:310
+#: src/view/com/profile/ProfileMenu.tsx:263
+#: src/view/com/profile/ProfileMenu.tsx:266
msgid "Add to Lists"
msgstr "सूचियों में जोड़ें"
-#: src/view/com/feeds/FeedSourceCard.tsx:245
-#: src/view/screens/ProfileFeed.tsx:273
+#: src/view/com/feeds/FeedSourceCard.tsx:234
msgid "Add to my feeds"
msgstr "इस फ़ीड को सहेजें"
@@ -211,7 +236,7 @@ msgstr ""
msgid "Added to list"
msgstr ""
-#: src/view/com/feeds/FeedSourceCard.tsx:127
+#: src/view/com/feeds/FeedSourceCard.tsx:108
msgid "Added to my feeds"
msgstr ""
@@ -219,32 +244,39 @@ msgstr ""
msgid "Adjust the number of likes a reply must have to be shown in your feed."
msgstr "पसंद की संख्या को समायोजित करें उत्तर को आपके फ़ीड में दिखाया जाना चाहिए।।"
+#: src/lib/moderation/useGlobalLabelStrings.ts:34
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:117
#: src/view/com/modals/SelfLabel.tsx:75
msgid "Adult Content"
msgstr "वयस्क सामग्री"
#: src/view/com/modals/ContentFilteringSettings.tsx:141
-msgid "Adult content can only be enabled via the Web at <0/>."
-msgstr ""
+#~ msgid "Adult content can only be enabled via the Web at <0/>."
+#~ msgstr ""
#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:78
#~ msgid "Adult content can only be enabled via the Web at <0>bsky.app0>."
#~ msgstr ""
-#: src/view/screens/Settings/index.tsx:664
+#: src/components/moderation/LabelPreference.tsx:242
+msgid "Adult content is disabled."
+msgstr ""
+
+#: src/screens/Moderation/index.tsx:375
+#: src/view/screens/Settings/index.tsx:635
msgid "Advanced"
msgstr "विकसित"
-#: src/view/screens/Feeds.tsx:666
+#: src/view/screens/Feeds.tsx:691
msgid "All the feeds you've saved, right in one place."
msgstr ""
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:221
-#: src/view/com/modals/ChangePassword.tsx:168
+#: src/screens/Login/ForgotPasswordForm.tsx:178
+#: src/view/com/modals/ChangePassword.tsx:170
msgid "Already have a code?"
msgstr ""
-#: src/view/com/auth/login/ChooseAccountForm.tsx:98
+#: src/screens/Login/ChooseAccountForm.tsx:39
msgid "Already signed in as @{0}"
msgstr ""
@@ -252,7 +284,7 @@ msgstr ""
msgid "ALT"
msgstr "ALT"
-#: src/view/com/modals/EditImage.tsx:315
+#: src/view/com/modals/EditImage.tsx:316
msgid "Alt text"
msgstr "वैकल्पिक पाठ"
@@ -268,12 +300,20 @@ msgstr "{0} को ईमेल भेजा गया है। इसमें
msgid "An email has been sent to your previous address, {0}. It includes a confirmation code which you can enter below."
msgstr "{0} को ईमेल भेजा गया है। इसमें एक OTP कोड शामिल है जिसे आप नीचे दर्ज कर सकते हैं।।"
-#: src/view/com/profile/FollowButton.tsx:30
-#: src/view/com/profile/FollowButton.tsx:40
+#: src/lib/moderation/useReportOptions.ts:26
+msgid "An issue not included in these options"
+msgstr ""
+
+#: src/components/hooks/useFollowMethods.ts:35
+#: src/components/hooks/useFollowMethods.ts:50
+#: src/view/com/profile/FollowButton.tsx:35
+#: src/view/com/profile/FollowButton.tsx:45
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:188
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:198
msgid "An issue occurred, please try again."
msgstr ""
-#: src/view/com/notifications/FeedItem.tsx:237
+#: src/view/com/notifications/FeedItem.tsx:242
#: src/view/com/threadgate/WhoCanReply.tsx:178
msgid "and"
msgstr "और"
@@ -282,23 +322,27 @@ msgstr "और"
msgid "Animals"
msgstr ""
+#: src/lib/moderation/useReportOptions.ts:31
+msgid "Anti-Social Behavior"
+msgstr ""
+
#: src/view/screens/LanguageSettings.tsx:95
msgid "App Language"
msgstr "ऐप भाषा"
-#: src/view/screens/AppPasswords.tsx:228
+#: src/view/screens/AppPasswords.tsx:223
msgid "App password deleted"
msgstr ""
-#: src/view/com/modals/AddAppPasswords.tsx:134
+#: src/view/com/modals/AddAppPasswords.tsx:135
msgid "App Password names can only contain letters, numbers, spaces, dashes, and underscores."
msgstr ""
-#: src/view/com/modals/AddAppPasswords.tsx:99
+#: src/view/com/modals/AddAppPasswords.tsx:100
msgid "App Password names must be at least 4 characters long."
msgstr ""
-#: src/view/screens/Settings/index.tsx:675
+#: src/view/screens/Settings/index.tsx:646
msgid "App password settings"
msgstr ""
@@ -306,49 +350,65 @@ msgstr ""
#~ msgid "App passwords"
#~ msgstr "ऐप पासवर्ड"
-#: src/Navigation.tsx:239
-#: src/view/screens/AppPasswords.tsx:187
-#: src/view/screens/Settings/index.tsx:684
+#: src/Navigation.tsx:251
+#: src/view/screens/AppPasswords.tsx:189
+#: src/view/screens/Settings/index.tsx:655
msgid "App Passwords"
msgstr "ऐप पासवर्ड"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:337
-#: src/view/com/util/forms/PostDropdownBtn.tsx:346
-msgid "Appeal content warning"
+#: src/components/moderation/LabelsOnMeDialog.tsx:133
+#: src/components/moderation/LabelsOnMeDialog.tsx:136
+msgid "Appeal"
msgstr ""
+#: src/components/moderation/LabelsOnMeDialog.tsx:201
+msgid "Appeal \"{0}\" label"
+msgstr ""
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:337
+#: src/view/com/util/forms/PostDropdownBtn.tsx:346
+#~ msgid "Appeal content warning"
+#~ msgstr ""
+
#: src/view/com/modals/AppealLabel.tsx:65
-msgid "Appeal Content Warning"
+#~ msgid "Appeal Content Warning"
+#~ msgstr ""
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:192
+msgid "Appeal submitted."
msgstr ""
#: src/view/com/util/moderation/LabelInfo.tsx:52
-msgid "Appeal this decision"
-msgstr ""
+#~ msgid "Appeal this decision"
+#~ msgstr ""
#: src/view/com/util/moderation/LabelInfo.tsx:56
-msgid "Appeal this decision."
-msgstr ""
+#~ msgid "Appeal this decision."
+#~ msgstr ""
-#: src/view/screens/Settings/index.tsx:466
+#: src/view/screens/Settings/index.tsx:436
msgid "Appearance"
msgstr "दिखावट"
-#: src/view/screens/AppPasswords.tsx:224
+#: src/view/screens/AppPasswords.tsx:265
msgid "Are you sure you want to delete the app password \"{name}\"?"
msgstr "क्या आप वाकई ऐप पासवर्ड \"{name}\" हटाना चाहते हैं?"
-#: src/view/com/composer/Composer.tsx:150
+#: src/view/com/feeds/FeedSourceCard.tsx:280
+msgid "Are you sure you want to remove {0} from your feeds?"
+msgstr ""
+
+#: src/view/com/composer/Composer.tsx:509
msgid "Are you sure you'd like to discard this draft?"
msgstr "क्या आप वाकई इस ड्राफ्ट को हटाना करना चाहेंगे?"
-#: src/components/dialogs/MutedWords.tsx:282
-#: src/view/screens/ProfileList.tsx:365
+#: src/components/dialogs/MutedWords.tsx:281
msgid "Are you sure?"
msgstr "क्या आप वास्तव में इसे करना चाहते हैं?"
#: src/view/com/util/forms/PostDropdownBtn.tsx:322
-msgid "Are you sure? This cannot be undone."
-msgstr "क्या आप वास्तव में इसे करना चाहते हैं? इसे असंपादित नहीं किया जा सकता है।"
+#~ msgid "Are you sure? This cannot be undone."
+#~ msgstr "क्या आप वास्तव में इसे करना चाहते हैं? इसे असंपादित नहीं किया जा सकता है।"
#: src/view/com/composer/select-language/SuggestedLanguage.tsx:60
msgid "Are you writing in <0>{0}0>?"
@@ -362,120 +422,141 @@ msgstr ""
msgid "Artistic or non-erotic nudity."
msgstr "कलात्मक या गैर-कामुक नग्नता।।"
-#: src/view/com/auth/create/CreateAccount.tsx:158
-#: src/view/com/auth/login/ChooseAccountForm.tsx:151
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:174
-#: src/view/com/auth/login/LoginForm.tsx:259
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:179
-#: src/view/com/modals/report/InputIssueDetails.tsx:46
-#: src/view/com/post-thread/PostThread.tsx:472
-#: src/view/com/post-thread/PostThread.tsx:522
-#: src/view/com/post-thread/PostThread.tsx:530
-#: src/view/com/profile/ProfileHeader.tsx:649
+#: src/screens/Signup/StepHandle.tsx:119
+msgid "At least 3 characters"
+msgstr ""
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:246
+#: src/components/moderation/LabelsOnMeDialog.tsx:247
+#: src/screens/Login/ChooseAccountForm.tsx:73
+#: src/screens/Login/ChooseAccountForm.tsx:78
+#: src/screens/Login/ForgotPasswordForm.tsx:129
+#: src/screens/Login/ForgotPasswordForm.tsx:135
+#: src/screens/Login/LoginForm.tsx:221
+#: src/screens/Login/LoginForm.tsx:227
+#: src/screens/Login/SetNewPasswordForm.tsx:160
+#: src/screens/Login/SetNewPasswordForm.tsx:166
+#: src/screens/Profile/Header/Shell.tsx:96
+#: src/screens/Signup/index.tsx:180
#: src/view/com/util/ViewHeader.tsx:87
msgid "Back"
msgstr "वापस"
#: src/view/com/post-thread/PostThread.tsx:480
-msgctxt "action"
-msgid "Back"
-msgstr ""
+#~ msgctxt "action"
+#~ msgid "Back"
+#~ msgstr ""
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:136
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:144
msgid "Based on your interest in {interestsText}"
msgstr ""
-#: src/view/screens/Settings/index.tsx:523
+#: src/view/screens/Settings/index.tsx:493
msgid "Basics"
msgstr "मूल बातें"
-#: src/view/com/auth/create/Step1.tsx:227
-#: src/view/com/modals/BirthDateSettings.tsx:73
+#: src/components/dialogs/BirthDateSettings.tsx:107
msgid "Birthday"
msgstr "जन्मदिन"
-#: src/view/screens/Settings/index.tsx:340
+#: src/view/screens/Settings/index.tsx:362
msgid "Birthday:"
msgstr "जन्मदिन:"
-#: src/view/com/profile/ProfileHeader.tsx:239
-#: src/view/com/profile/ProfileHeader.tsx:346
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:286
+#: src/view/com/profile/ProfileMenu.tsx:361
+msgid "Block"
+msgstr ""
+
+#: src/view/com/profile/ProfileMenu.tsx:300
+#: src/view/com/profile/ProfileMenu.tsx:307
msgid "Block Account"
msgstr "खाता ब्लॉक करें"
-#: src/view/screens/ProfileList.tsx:556
+#: src/view/com/profile/ProfileMenu.tsx:344
+msgid "Block Account?"
+msgstr ""
+
+#: src/view/screens/ProfileList.tsx:532
msgid "Block accounts"
msgstr "खाता ब्लॉक करें"
-#: src/view/screens/ProfileList.tsx:506
+#: src/view/screens/ProfileList.tsx:480
+#: src/view/screens/ProfileList.tsx:636
msgid "Block list"
msgstr ""
-#: src/view/screens/ProfileList.tsx:316
+#: src/view/screens/ProfileList.tsx:631
msgid "Block these accounts?"
msgstr "खाता ब्लॉक करें?"
#: src/view/screens/ProfileList.tsx:320
-msgid "Block this List"
-msgstr ""
+#~ msgid "Block this List"
+#~ msgstr ""
#: src/view/com/lists/ListCard.tsx:110
-#: src/view/com/util/post-embeds/QuoteEmbed.tsx:61
+#: src/view/com/util/post-embeds/QuoteEmbed.tsx:58
msgid "Blocked"
msgstr ""
-#: src/view/screens/Moderation.tsx:142
+#: src/screens/Moderation/index.tsx:267
msgid "Blocked accounts"
msgstr "ब्लॉक किए गए खाते"
-#: src/Navigation.tsx:132
-#: src/view/screens/ModerationBlockedAccounts.tsx:107
+#: src/Navigation.tsx:134
+#: src/view/screens/ModerationBlockedAccounts.tsx:113
msgid "Blocked Accounts"
msgstr "ब्लॉक किए गए खाते"
-#: src/view/com/profile/ProfileHeader.tsx:241
+#: src/view/com/profile/ProfileMenu.tsx:356
msgid "Blocked accounts cannot reply in your threads, mention you, or otherwise interact with you."
msgstr "अवरुद्ध खाते आपके थ्रेड्स में उत्तर नहीं दे सकते, आपका उल्लेख नहीं कर सकते, या अन्यथा आपके साथ बातचीत नहीं कर सकते।"
-#: src/view/screens/ModerationBlockedAccounts.tsx:115
+#: src/view/screens/ModerationBlockedAccounts.tsx:121
msgid "Blocked accounts cannot reply in your threads, mention you, or otherwise interact with you. You will not see their content and they will be prevented from seeing yours."
msgstr "अवरुद्ध खाते आपके थ्रेड्स में उत्तर नहीं दे सकते, आपका उल्लेख नहीं कर सकते, या अन्यथा आपके साथ बातचीत नहीं कर सकते। आप उनकी सामग्री नहीं देख पाएंगे और उन्हें आपकी सामग्री देखने से रोका जाएगा।"
-#: src/view/com/post-thread/PostThread.tsx:324
+#: src/view/com/post-thread/PostThread.tsx:313
msgid "Blocked post."
msgstr "ब्लॉक पोस्ट।"
-#: src/view/screens/ProfileList.tsx:318
+#: src/screens/Profile/Sections/Labels.tsx:163
+msgid "Blocking does not prevent this labeler from placing labels on your account."
+msgstr ""
+
+#: src/view/screens/ProfileList.tsx:633
msgid "Blocking is public. Blocked accounts cannot reply in your threads, mention you, or otherwise interact with you."
msgstr "अवरोधन सार्वजनिक है. अवरुद्ध खाते आपके थ्रेड्स में उत्तर नहीं दे सकते, आपका उल्लेख नहीं कर सकते, या अन्यथा आपके साथ बातचीत नहीं कर सकते।"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:93
-#: src/view/com/auth/SplashScreen.web.tsx:133
+#: src/view/com/profile/ProfileMenu.tsx:353
+msgid "Blocking will not prevent labels from being applied on your account, but it will stop this account from replying in your threads or interacting with you."
+msgstr ""
+
+#: src/view/com/auth/SplashScreen.web.tsx:149
msgid "Blog"
msgstr ""
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:31
#: src/view/com/auth/server-input/index.tsx:89
-#: src/view/com/auth/server-input/index.tsx:90
+#: src/view/com/auth/server-input/index.tsx:91
msgid "Bluesky"
msgstr "Bluesky"
-#: src/view/com/auth/server-input/index.tsx:150
+#: src/view/com/auth/server-input/index.tsx:154
msgid "Bluesky is an open network where you can choose your hosting provider. Custom hosting is now available in beta for developers."
msgstr ""
#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:80
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:80
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:82
msgid "Bluesky is flexible."
msgstr "Bluesky लचीला है।।"
#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:69
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:69
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:71
msgid "Bluesky is open."
msgstr "Bluesky खुला है।।"
#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:56
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:56
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:58
msgid "Bluesky is public."
msgstr "Bluesky सार्वजनिक है।।"
@@ -483,7 +564,7 @@ msgstr "Bluesky सार्वजनिक है।।"
#~ msgid "Bluesky uses invites to build a healthier community. If you don't know anybody with an invite, you can sign up for the waitlist and we'll send one soon."
#~ msgstr "ब्लूस्की एक स्वस्थ समुदाय बनाने के लिए आमंत्रित करता है। यदि आप किसी को आमंत्रित नहीं करते हैं, तो आप प्रतीक्षा सूची के लिए साइन अप कर सकते हैं और हम जल्द ही एक भेज देंगे।।"
-#: src/view/screens/Moderation.tsx:245
+#: src/screens/Moderation/index.tsx:533
msgid "Bluesky will not show your profile and posts to logged-out users. Other apps may not honor this request. This does not make your account private."
msgstr ""
@@ -491,16 +572,23 @@ msgstr ""
#~ msgid "Bluesky.Social"
#~ msgstr "Bluesky.Social"
+#: src/lib/moderation/useLabelBehaviorDescription.ts:53
+msgid "Blur images"
+msgstr ""
+
+#: src/lib/moderation/useLabelBehaviorDescription.ts:51
+msgid "Blur images and filter from feeds"
+msgstr ""
+
#: src/screens/Onboarding/index.tsx:33
msgid "Books"
msgstr ""
-#: src/view/screens/Settings/index.tsx:859
-msgid "Build version {0} {1}"
-msgstr "Build version {0} {1}"
+#: src/view/screens/Settings/index.tsx:893
+#~ msgid "Build version {0} {1}"
+#~ msgstr "Build version {0} {1}"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:87
-#: src/view/com/auth/SplashScreen.web.tsx:128
+#: src/view/com/auth/SplashScreen.web.tsx:146
msgid "Business"
msgstr ""
@@ -516,76 +604,87 @@ msgstr ""
msgid "by {0}"
msgstr ""
+#: src/components/LabelingServiceCard/index.tsx:57
+msgid "By {0}"
+msgstr ""
+
#: src/view/com/profile/ProfileSubpageHeader.tsx:161
msgid "by <0/>"
msgstr ""
+#: src/screens/Signup/StepInfo/Policies.tsx:74
+msgid "By creating an account you agree to the {els}."
+msgstr ""
+
#: src/view/com/profile/ProfileSubpageHeader.tsx:159
msgid "by you"
msgstr ""
-#: src/view/com/composer/photos/OpenCameraBtn.tsx:60
-#: src/view/com/util/UserAvatar.tsx:224
-#: src/view/com/util/UserBanner.tsx:40
+#: src/view/com/composer/photos/OpenCameraBtn.tsx:77
msgid "Camera"
msgstr "कैमरा"
-#: src/view/com/modals/AddAppPasswords.tsx:216
+#: src/view/com/modals/AddAppPasswords.tsx:217
msgid "Can only contain letters, numbers, spaces, dashes, and underscores. Must be at least 4 characters long, but no more than 32 characters long."
msgstr "केवल अक्षर, संख्या, रिक्त स्थान, डैश और अंडरस्कोर हो सकते हैं। कम से कम 4 अक्षर लंबा होना चाहिए, लेकिन 32 अक्षरों से अधिक लंबा नहीं होना चाहिए।।"
-#: src/components/Prompt.tsx:101
-#: src/view/com/composer/Composer.tsx:307
-#: src/view/com/composer/Composer.tsx:312
+#: src/components/Menu/index.tsx:213
+#: src/components/Prompt.tsx:113
+#: src/components/Prompt.tsx:115
+#: src/components/TagMenu/index.tsx:268
+#: src/view/com/composer/Composer.tsx:317
+#: src/view/com/composer/Composer.tsx:322
#: src/view/com/modals/ChangeEmail.tsx:218
#: src/view/com/modals/ChangeEmail.tsx:220
-#: src/view/com/modals/ChangePassword.tsx:265
-#: src/view/com/modals/ChangePassword.tsx:268
-#: src/view/com/modals/CreateOrEditList.tsx:355
-#: src/view/com/modals/EditImage.tsx:323
-#: src/view/com/modals/EditProfile.tsx:249
+#: src/view/com/modals/ChangeHandle.tsx:154
+#: src/view/com/modals/ChangePassword.tsx:267
+#: src/view/com/modals/ChangePassword.tsx:270
+#: src/view/com/modals/CreateOrEditList.tsx:356
+#: src/view/com/modals/crop-image/CropImage.web.tsx:138
+#: src/view/com/modals/EditImage.tsx:324
+#: src/view/com/modals/EditProfile.tsx:250
#: src/view/com/modals/InAppBrowserConsent.tsx:78
-#: src/view/com/modals/LinkWarning.tsx:87
-#: src/view/com/modals/Repost.tsx:87
+#: src/view/com/modals/InAppBrowserConsent.tsx:80
+#: src/view/com/modals/LinkWarning.tsx:105
+#: src/view/com/modals/LinkWarning.tsx:107
+#: src/view/com/modals/Repost.tsx:88
#: src/view/com/modals/VerifyEmail.tsx:247
#: src/view/com/modals/VerifyEmail.tsx:253
-#: src/view/screens/Search/Search.tsx:716
-#: src/view/shell/desktop/Search.tsx:238
+#: src/view/screens/Search/Search.tsx:865
+#: src/view/shell/desktop/Search.tsx:239
msgid "Cancel"
msgstr "कैंसिल"
-#: src/view/com/modals/Confirm.tsx:88
-#: src/view/com/modals/Confirm.tsx:91
-#: src/view/com/modals/CreateOrEditList.tsx:360
-#: src/view/com/modals/DeleteAccount.tsx:156
-#: src/view/com/modals/DeleteAccount.tsx:234
+#: src/view/com/modals/CreateOrEditList.tsx:361
+#: src/view/com/modals/DeleteAccount.tsx:155
+#: src/view/com/modals/DeleteAccount.tsx:233
msgctxt "action"
msgid "Cancel"
msgstr ""
-#: src/view/com/modals/DeleteAccount.tsx:152
-#: src/view/com/modals/DeleteAccount.tsx:230
+#: src/view/com/modals/DeleteAccount.tsx:151
+#: src/view/com/modals/DeleteAccount.tsx:229
msgid "Cancel account deletion"
msgstr "अकाउंट बंद मत करो"
-#: src/view/com/modals/ChangeHandle.tsx:149
+#: src/view/com/modals/ChangeHandle.tsx:150
msgid "Cancel change handle"
msgstr "नाम मत बदलो"
-#: src/view/com/modals/crop-image/CropImage.web.tsx:134
+#: src/view/com/modals/crop-image/CropImage.web.tsx:135
msgid "Cancel image crop"
msgstr "तस्वीर को क्रॉप मत करो"
-#: src/view/com/modals/EditProfile.tsx:244
+#: src/view/com/modals/EditProfile.tsx:245
msgid "Cancel profile editing"
msgstr "प्रोफ़ाइल संपादन मत करो"
-#: src/view/com/modals/Repost.tsx:78
+#: src/view/com/modals/Repost.tsx:79
msgid "Cancel quote post"
msgstr "कोटे पोस्ट मत करो"
#: src/view/com/modals/ListAddRemoveUsers.tsx:87
-#: src/view/shell/desktop/Search.tsx:234
+#: src/view/shell/desktop/Search.tsx:235
msgid "Cancel search"
msgstr "खोज मत करो"
@@ -593,17 +692,25 @@ msgstr "खोज मत करो"
#~ msgid "Cancel waitlist signup"
#~ msgstr "प्रतीक्षा सूची पंजीकरण मत करो"
-#: src/view/screens/Settings/index.tsx:334
+#: src/view/com/modals/LinkWarning.tsx:106
+msgid "Cancels opening the linked website"
+msgstr ""
+
+#: src/view/com/modals/VerifyEmail.tsx:152
+msgid "Change"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:356
msgctxt "action"
msgid "Change"
msgstr "परिवर्तन"
-#: src/view/screens/Settings/index.tsx:696
+#: src/view/screens/Settings/index.tsx:667
msgid "Change handle"
msgstr "हैंडल बदलें"
-#: src/view/com/modals/ChangeHandle.tsx:161
-#: src/view/screens/Settings/index.tsx:705
+#: src/view/com/modals/ChangeHandle.tsx:162
+#: src/view/screens/Settings/index.tsx:678
msgid "Change Handle"
msgstr "हैंडल बदलें"
@@ -611,11 +718,12 @@ msgstr "हैंडल बदलें"
msgid "Change my email"
msgstr "मेरा ईमेल बदलें"
-#: src/view/screens/Settings/index.tsx:732
+#: src/view/screens/Settings/index.tsx:718
msgid "Change password"
msgstr ""
-#: src/view/screens/Settings/index.tsx:741
+#: src/view/com/modals/ChangePassword.tsx:141
+#: src/view/screens/Settings/index.tsx:729
msgid "Change Password"
msgstr ""
@@ -624,8 +732,8 @@ msgid "Change post language to {0}"
msgstr ""
#: src/view/screens/Settings/index.tsx:733
-msgid "Change your Bluesky password"
-msgstr ""
+#~ msgid "Change your Bluesky password"
+#~ msgstr ""
#: src/view/com/modals/ChangeEmail.tsx:109
msgid "Change Your Email"
@@ -636,15 +744,15 @@ msgstr "मेरा ईमेल बदलें"
msgid "Check my status"
msgstr ""
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:121
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:122
msgid "Check out some recommended feeds. Tap + to add them to your list of pinned feeds."
msgstr "कुछ अनुशंसित फ़ीड देखें. उन्हें अपनी पिन की गई फ़ीड की सूची में जोड़ने के लिए + टैप करें।"
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:185
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:186
msgid "Check out some recommended users. Follow them to see similar users."
msgstr "कुछ अनुशंसित उपयोगकर्ताओं की जाँच करें। ऐसे ही उपयोगकर्ता देखने के लिए उनका अनुसरण करें।"
-#: src/view/com/modals/DeleteAccount.tsx:169
+#: src/view/com/modals/DeleteAccount.tsx:168
msgid "Check your inbox for an email with the confirmation code to enter below:"
msgstr "नीचे प्रवेश करने के लिए OTP कोड के साथ एक ईमेल के लिए अपने इनबॉक्स की जाँच करें:"
@@ -653,19 +761,19 @@ msgid "Choose \"Everybody\" or \"Nobody\""
msgstr ""
#: src/view/screens/Settings/index.tsx:697
-msgid "Choose a new Bluesky username or create"
-msgstr ""
+#~ msgid "Choose a new Bluesky username or create"
+#~ msgstr ""
#: src/view/com/auth/server-input/index.tsx:79
msgid "Choose Service"
msgstr "सेवा चुनें"
-#: src/screens/Onboarding/StepFinished.tsx:135
+#: src/screens/Onboarding/StepFinished.tsx:139
msgid "Choose the algorithms that power your custom feeds."
msgstr ""
#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:83
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:83
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:85
msgid "Choose the algorithms that power your experience with custom feeds."
msgstr "उन एल्गोरिदम का चयन करें जो कस्टम फीड्स के साथ अपने अनुभव को शक्ति देते हैं।।"
@@ -673,37 +781,43 @@ msgstr "उन एल्गोरिदम का चयन करें जो
#~ msgid "Choose your algorithmic feeds"
#~ msgstr ""
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:103
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:104
msgid "Choose your main feeds"
msgstr ""
-#: src/view/com/auth/create/Step1.tsx:196
+#: src/screens/Signup/StepInfo/index.tsx:114
msgid "Choose your password"
msgstr "अपना पासवर्ड चुनें"
-#: src/view/screens/Settings/index.tsx:834
-#: src/view/screens/Settings/index.tsx:835
+#: src/view/screens/Settings/index.tsx:832
msgid "Clear all legacy storage data"
msgstr ""
-#: src/view/screens/Settings/index.tsx:837
+#: src/view/screens/Settings/index.tsx:835
msgid "Clear all legacy storage data (restart after this)"
msgstr ""
-#: src/view/screens/Settings/index.tsx:846
-#: src/view/screens/Settings/index.tsx:847
+#: src/view/screens/Settings/index.tsx:844
msgid "Clear all storage data"
msgstr ""
-#: src/view/screens/Settings/index.tsx:849
+#: src/view/screens/Settings/index.tsx:847
msgid "Clear all storage data (restart after this)"
msgstr ""
#: src/view/com/util/forms/SearchInput.tsx:88
-#: src/view/screens/Search/Search.tsx:697
+#: src/view/screens/Search/Search.tsx:846
msgid "Clear search query"
msgstr "खोज क्वेरी साफ़ करें"
+#: src/view/screens/Settings/index.tsx:833
+msgid "Clears all legacy storage data"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:845
+msgid "Clears all storage data"
+msgstr ""
+
#: src/view/screens/Support.tsx:40
msgid "click here"
msgstr ""
@@ -712,7 +826,7 @@ msgstr ""
msgid "Click here to open tag menu for {tag}"
msgstr ""
-#: src/components/RichText.tsx:191
+#: src/components/RichText.tsx:198
msgid "Click here to open tag menu for #{tag}"
msgstr ""
@@ -720,57 +834,58 @@ msgstr ""
msgid "Climate"
msgstr ""
-#: src/view/com/modals/ChangePassword.tsx:265
-#: src/view/com/modals/ChangePassword.tsx:268
+#: src/view/com/modals/ChangePassword.tsx:267
+#: src/view/com/modals/ChangePassword.tsx:270
msgid "Close"
msgstr ""
-#: src/components/Dialog/index.web.tsx:84
-#: src/components/Dialog/index.web.tsx:198
+#: src/components/Dialog/index.web.tsx:106
+#: src/components/Dialog/index.web.tsx:218
msgid "Close active dialog"
msgstr ""
-#: src/view/com/auth/login/PasswordUpdatedForm.tsx:38
+#: src/screens/Login/PasswordUpdatedForm.tsx:38
msgid "Close alert"
msgstr "चेतावनी को बंद करो"
-#: src/view/com/util/BottomSheetCustomBackdrop.tsx:33
+#: src/view/com/util/BottomSheetCustomBackdrop.tsx:36
msgid "Close bottom drawer"
msgstr "बंद करो"
-#: src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx:26
+#: src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx:36
msgid "Close image"
msgstr "छवि बंद करें"
-#: src/view/com/lightbox/Lightbox.web.tsx:119
+#: src/view/com/lightbox/Lightbox.web.tsx:129
msgid "Close image viewer"
msgstr "छवि बंद करें"
-#: src/view/shell/index.web.tsx:51
+#: src/view/shell/index.web.tsx:57
msgid "Close navigation footer"
msgstr "नेविगेशन पाद बंद करें"
+#: src/components/Menu/index.tsx:207
#: src/components/TagMenu/index.tsx:262
msgid "Close this dialog"
msgstr ""
-#: src/view/shell/index.web.tsx:52
+#: src/view/shell/index.web.tsx:58
msgid "Closes bottom navigation bar"
msgstr ""
-#: src/view/com/auth/login/PasswordUpdatedForm.tsx:39
+#: src/screens/Login/PasswordUpdatedForm.tsx:39
msgid "Closes password update alert"
msgstr ""
-#: src/view/com/composer/Composer.tsx:309
+#: src/view/com/composer/Composer.tsx:319
msgid "Closes post composer and discards post draft"
msgstr ""
-#: src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx:27
+#: src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx:37
msgid "Closes viewer for header image"
msgstr ""
-#: src/view/com/notifications/FeedItem.tsx:318
+#: src/view/com/notifications/FeedItem.tsx:323
msgid "Collapses list of users for a given notification"
msgstr ""
@@ -782,20 +897,20 @@ msgstr ""
msgid "Comics"
msgstr ""
-#: src/Navigation.tsx:229
+#: src/Navigation.tsx:241
#: src/view/screens/CommunityGuidelines.tsx:32
msgid "Community Guidelines"
msgstr "समुदाय दिशानिर्देश"
-#: src/screens/Onboarding/StepFinished.tsx:148
+#: src/screens/Onboarding/StepFinished.tsx:152
msgid "Complete onboarding and start using your account"
msgstr ""
-#: src/view/com/auth/create/Step3.tsx:73
+#: src/screens/Signup/index.tsx:155
msgid "Complete the challenge"
msgstr ""
-#: src/view/com/composer/Composer.tsx:424
+#: src/view/com/composer/Composer.tsx:438
msgid "Compose posts up to {MAX_GRAPHEME_LENGTH} characters in length"
msgstr ""
@@ -803,12 +918,20 @@ msgstr ""
msgid "Compose reply"
msgstr "जवाब लिखो"
-#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:67
+#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:81
msgid "Configure content filtering setting for category: {0}"
msgstr ""
-#: src/components/Prompt.tsx:124
-#: src/view/com/modals/AppealLabel.tsx:98
+#: src/components/moderation/LabelPreference.tsx:81
+msgid "Configure content filtering setting for category: {name}"
+msgstr ""
+
+#: src/components/moderation/LabelPreference.tsx:244
+msgid "Configured in <0>moderation settings0>."
+msgstr ""
+
+#: src/components/Prompt.tsx:153
+#: src/components/Prompt.tsx:156
#: src/view/com/modals/SelfLabel.tsx:154
#: src/view/com/modals/VerifyEmail.tsx:231
#: src/view/com/modals/VerifyEmail.tsx:233
@@ -819,29 +942,38 @@ msgstr "हो गया"
#: src/view/com/modals/Confirm.tsx:75
#: src/view/com/modals/Confirm.tsx:78
-msgctxt "action"
-msgid "Confirm"
-msgstr ""
+#~ msgctxt "action"
+#~ msgid "Confirm"
+#~ msgstr ""
#: src/view/com/modals/ChangeEmail.tsx:193
#: src/view/com/modals/ChangeEmail.tsx:195
msgid "Confirm Change"
msgstr "बदलाव की पुष्टि करें"
-#: src/view/com/modals/lang-settings/ConfirmLanguagesButton.tsx:34
+#: src/view/com/modals/lang-settings/ConfirmLanguagesButton.tsx:35
msgid "Confirm content language settings"
msgstr "सामग्री भाषा सेटिंग्स की पुष्टि करें"
-#: src/view/com/modals/DeleteAccount.tsx:220
+#: src/view/com/modals/DeleteAccount.tsx:219
msgid "Confirm delete account"
msgstr "खाते को हटा दें"
#: src/view/com/modals/ContentFilteringSettings.tsx:156
-msgid "Confirm your age to enable adult content."
+#~ msgid "Confirm your age to enable adult content."
+#~ msgstr ""
+
+#: src/screens/Moderation/index.tsx:301
+msgid "Confirm your age:"
+msgstr ""
+
+#: src/screens/Moderation/index.tsx:292
+msgid "Confirm your birthdate"
msgstr ""
#: src/view/com/modals/ChangeEmail.tsx:157
-#: src/view/com/modals/DeleteAccount.tsx:182
+#: src/view/com/modals/DeleteAccount.tsx:175
+#: src/view/com/modals/DeleteAccount.tsx:181
#: src/view/com/modals/VerifyEmail.tsx:165
msgid "Confirmation code"
msgstr "OTP कोड"
@@ -850,34 +982,48 @@ msgstr "OTP कोड"
#~ msgid "Confirms signing up {email} to the waitlist"
#~ msgstr ""
-#: src/view/com/auth/create/CreateAccount.tsx:193
-#: src/view/com/auth/login/LoginForm.tsx:278
+#: src/screens/Login/LoginForm.tsx:248
msgid "Connecting..."
msgstr "कनेक्टिंग ..।"
-#: src/view/com/auth/create/CreateAccount.tsx:213
+#: src/screens/Signup/index.tsx:225
msgid "Contact support"
msgstr ""
+#: src/components/moderation/LabelsOnMe.tsx:42
+msgid "content"
+msgstr ""
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:18
+msgid "Content Blocked"
+msgstr ""
+
#: src/view/screens/Moderation.tsx:83
-msgid "Content filtering"
-msgstr "सामग्री फ़िल्टरिंग"
+#~ msgid "Content filtering"
+#~ msgstr "सामग्री फ़िल्टरिंग"
#: src/view/com/modals/ContentFilteringSettings.tsx:44
-msgid "Content Filtering"
-msgstr "सामग्री फ़िल्टरिंग"
+#~ msgid "Content Filtering"
+#~ msgstr "सामग्री फ़िल्टरिंग"
+
+#: src/screens/Moderation/index.tsx:285
+msgid "Content filters"
+msgstr ""
#: src/view/com/modals/lang-settings/ContentLanguagesSettings.tsx:74
#: src/view/screens/LanguageSettings.tsx:278
msgid "Content Languages"
msgstr "सामग्री भाषा"
-#: src/view/com/modals/ModerationDetails.tsx:65
+#: src/components/moderation/ModerationDetailsDialog.tsx:75
+#: src/lib/moderation/useModerationCauseDescription.ts:75
msgid "Content Not Available"
msgstr ""
-#: src/view/com/modals/ModerationDetails.tsx:33
-#: src/view/com/util/moderation/ScreenHider.tsx:78
+#: src/components/moderation/ModerationDetailsDialog.tsx:46
+#: src/components/moderation/ScreenHider.tsx:99
+#: src/lib/moderation/useGlobalLabelStrings.ts:22
+#: src/lib/moderation/useModerationCauseDescription.ts:38
msgid "Content Warning"
msgstr "सामग्री चेतावनी"
@@ -885,28 +1031,38 @@ msgstr "सामग्री चेतावनी"
msgid "Content warnings"
msgstr "सामग्री चेतावनी"
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:170
-#: src/screens/Onboarding/StepFollowingFeed.tsx:153
-#: src/screens/Onboarding/StepInterests/index.tsx:248
-#: src/screens/Onboarding/StepModeration/index.tsx:118
-#: src/screens/Onboarding/StepTopicalFeeds.tsx:114
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:148
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:209
+#: src/components/Menu/index.web.tsx:84
+msgid "Context menu backdrop, click to close the menu."
+msgstr ""
+
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:161
+#: src/screens/Onboarding/StepFollowingFeed.tsx:154
+#: src/screens/Onboarding/StepInterests/index.tsx:252
+#: src/screens/Onboarding/StepModeration/index.tsx:103
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:118
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:150
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:211
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:96
msgid "Continue"
msgstr "आगे बढ़ें"
-#: src/screens/Onboarding/StepFollowingFeed.tsx:150
-#: src/screens/Onboarding/StepInterests/index.tsx:245
-#: src/screens/Onboarding/StepModeration/index.tsx:115
-#: src/screens/Onboarding/StepTopicalFeeds.tsx:111
+#: src/components/AccountList.tsx:108
+msgid "Continue as {0} (currently signed in)"
+msgstr ""
+
+#: src/screens/Onboarding/StepFollowingFeed.tsx:151
+#: src/screens/Onboarding/StepInterests/index.tsx:249
+#: src/screens/Onboarding/StepModeration/index.tsx:100
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:115
+#: src/screens/Signup/index.tsx:200
msgid "Continue to next step"
msgstr ""
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:167
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:158
msgid "Continue to the next step"
msgstr ""
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:191
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:199
msgid "Continue to the next step without following any accounts"
msgstr ""
@@ -914,57 +1070,71 @@ msgstr ""
msgid "Cooking"
msgstr ""
-#: src/view/com/modals/AddAppPasswords.tsx:195
-#: src/view/com/modals/InviteCodes.tsx:182
+#: src/view/com/modals/AddAppPasswords.tsx:196
+#: src/view/com/modals/InviteCodes.tsx:183
msgid "Copied"
msgstr "कॉपी कर ली"
-#: src/view/screens/Settings/index.tsx:241
+#: src/view/screens/Settings/index.tsx:254
msgid "Copied build version to clipboard"
msgstr ""
-#: src/view/com/modals/AddAppPasswords.tsx:76
-#: src/view/com/modals/InviteCodes.tsx:152
-#: src/view/com/util/forms/PostDropdownBtn.tsx:161
+#: src/view/com/modals/AddAppPasswords.tsx:77
+#: src/view/com/modals/ChangeHandle.tsx:326
+#: src/view/com/modals/InviteCodes.tsx:153
+#: src/view/com/util/forms/PostDropdownBtn.tsx:164
msgid "Copied to clipboard"
msgstr ""
-#: src/view/com/modals/AddAppPasswords.tsx:189
+#: src/components/dialogs/Embed.tsx:134
+msgid "Copied!"
+msgstr ""
+
+#: src/view/com/modals/AddAppPasswords.tsx:190
msgid "Copies app password"
msgstr ""
-#: src/view/com/modals/AddAppPasswords.tsx:188
+#: src/view/com/modals/AddAppPasswords.tsx:189
msgid "Copy"
msgstr "कॉपी"
-#: src/view/screens/ProfileList.tsx:418
+#: src/view/com/modals/ChangeHandle.tsx:480
+msgid "Copy {0}"
+msgstr ""
+
+#: src/components/dialogs/Embed.tsx:120
+#: src/components/dialogs/Embed.tsx:139
+msgid "Copy code"
+msgstr ""
+
+#: src/view/screens/ProfileList.tsx:390
msgid "Copy link to list"
msgstr ""
-#: src/view/com/util/forms/PostDropdownBtn.tsx:231
-#: src/view/com/util/forms/PostDropdownBtn.tsx:237
+#: src/view/com/util/forms/PostDropdownBtn.tsx:236
+#: src/view/com/util/forms/PostDropdownBtn.tsx:245
msgid "Copy link to post"
msgstr ""
#: src/view/com/profile/ProfileHeader.tsx:295
-msgid "Copy link to profile"
-msgstr ""
+#~ msgid "Copy link to profile"
+#~ msgstr ""
-#: src/view/com/util/forms/PostDropdownBtn.tsx:223
-#: src/view/com/util/forms/PostDropdownBtn.tsx:225
+#: src/view/com/util/forms/PostDropdownBtn.tsx:228
+#: src/view/com/util/forms/PostDropdownBtn.tsx:230
msgid "Copy post text"
msgstr "पोस्ट टेक्स्ट कॉपी करें"
-#: src/Navigation.tsx:234
+#: src/Navigation.tsx:246
#: src/view/screens/CopyrightPolicy.tsx:29
msgid "Copyright Policy"
msgstr "कॉपीराइट नीति"
-#: src/view/screens/ProfileFeed.tsx:97
+#: src/view/screens/ProfileFeed.tsx:103
msgid "Could not load feed"
msgstr "फ़ीड लोड नहीं कर सकता"
-#: src/view/screens/ProfileList.tsx:893
+#: src/view/screens/ProfileList.tsx:909
msgid "Could not load list"
msgstr "सूची लोड नहीं कर सकता"
@@ -972,42 +1142,50 @@ msgstr "सूची लोड नहीं कर सकता"
#~ msgid "Country"
#~ msgstr ""
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:62
-#: src/view/com/auth/SplashScreen.tsx:71
-#: src/view/com/auth/SplashScreen.web.tsx:81
+#: src/view/com/auth/SplashScreen.tsx:57
+#: src/view/com/auth/SplashScreen.web.tsx:101
msgid "Create a new account"
msgstr "नया खाता बनाएं"
-#: src/view/screens/Settings/index.tsx:384
+#: src/view/screens/Settings/index.tsx:406
msgid "Create a new Bluesky account"
msgstr ""
-#: src/view/com/auth/create/CreateAccount.tsx:133
+#: src/screens/Signup/index.tsx:130
msgid "Create Account"
msgstr "खाता बनाएँ"
-#: src/view/com/modals/AddAppPasswords.tsx:226
+#: src/components/dialogs/Signin.tsx:86
+#: src/components/dialogs/Signin.tsx:88
+msgid "Create an account"
+msgstr ""
+
+#: src/view/com/modals/AddAppPasswords.tsx:227
msgid "Create App Password"
msgstr ""
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:54
-#: src/view/com/auth/SplashScreen.tsx:68
+#: src/view/com/auth/SplashScreen.tsx:48
+#: src/view/com/auth/SplashScreen.web.tsx:92
msgid "Create new account"
msgstr "नया खाता बनाएं"
-#: src/view/screens/AppPasswords.tsx:249
+#: src/components/ReportDialog/SelectReportOptionView.tsx:94
+msgid "Create report for {0}"
+msgstr ""
+
+#: src/view/screens/AppPasswords.tsx:246
msgid "Created {0}"
msgstr "बनाया गया {0}"
#: src/view/screens/ProfileFeed.tsx:616
-msgid "Created by <0/>"
-msgstr ""
+#~ msgid "Created by <0/>"
+#~ msgstr ""
#: src/view/screens/ProfileFeed.tsx:614
-msgid "Created by you"
-msgstr ""
+#~ msgid "Created by you"
+#~ msgstr ""
-#: src/view/com/composer/Composer.tsx:455
+#: src/view/com/composer/Composer.tsx:469
msgid "Creates a card with a thumbnail. The card links to {url}"
msgstr ""
@@ -1015,17 +1193,17 @@ msgstr ""
msgid "Culture"
msgstr ""
-#: src/view/com/auth/server-input/index.tsx:95
-#: src/view/com/auth/server-input/index.tsx:96
+#: src/view/com/auth/server-input/index.tsx:97
+#: src/view/com/auth/server-input/index.tsx:99
msgid "Custom"
msgstr ""
-#: src/view/com/modals/ChangeHandle.tsx:389
+#: src/view/com/modals/ChangeHandle.tsx:388
msgid "Custom domain"
msgstr "कस्टम डोमेन"
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:106
-#: src/view/screens/Feeds.tsx:692
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:107
+#: src/view/screens/Feeds.tsx:717
msgid "Custom feeds built by the community bring you new experiences and help you find the content you love."
msgstr ""
@@ -1037,8 +1215,8 @@ msgstr ""
#~ msgid "Danger Zone"
#~ msgstr "खतरा क्षेत्र"
-#: src/view/screens/Settings/index.tsx:485
-#: src/view/screens/Settings/index.tsx:511
+#: src/view/screens/Settings/index.tsx:455
+#: src/view/screens/Settings/index.tsx:481
msgid "Dark"
msgstr "डार्क मोड"
@@ -1046,33 +1224,49 @@ msgstr "डार्क मोड"
msgid "Dark mode"
msgstr ""
-#: src/view/screens/Settings/index.tsx:498
+#: src/view/screens/Settings/index.tsx:468
msgid "Dark Theme"
msgstr ""
+#: src/screens/Signup/StepInfo/index.tsx:134
+msgid "Date of birth"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:805
+msgid "Debug Moderation"
+msgstr ""
+
#: src/view/screens/Debug.tsx:83
msgid "Debug panel"
msgstr ""
-#: src/view/screens/Settings/index.tsx:772
+#: src/view/com/util/forms/PostDropdownBtn.tsx:341
+#: src/view/screens/AppPasswords.tsx:268
+#: src/view/screens/ProfileList.tsx:615
+msgid "Delete"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:760
msgid "Delete account"
msgstr "खाता हटाएं"
-#: src/view/com/modals/DeleteAccount.tsx:87
+#: src/view/com/modals/DeleteAccount.tsx:86
msgid "Delete Account"
msgstr "खाता हटाएं"
-#: src/view/screens/AppPasswords.tsx:222
-#: src/view/screens/AppPasswords.tsx:242
+#: src/view/screens/AppPasswords.tsx:239
msgid "Delete app password"
msgstr "अप्प पासवर्ड हटाएं"
-#: src/view/screens/ProfileList.tsx:364
-#: src/view/screens/ProfileList.tsx:445
+#: src/view/screens/AppPasswords.tsx:263
+msgid "Delete app password?"
+msgstr ""
+
+#: src/view/screens/ProfileList.tsx:417
msgid "Delete List"
msgstr "सूची हटाएँ"
-#: src/view/com/modals/DeleteAccount.tsx:223
+#: src/view/com/modals/DeleteAccount.tsx:222
msgid "Delete my account"
msgstr "मेरा खाता हटाएं"
@@ -1080,31 +1274,35 @@ msgstr "मेरा खाता हटाएं"
#~ msgid "Delete my account…"
#~ msgstr "मेरा खाता हटाएं…"
-#: src/view/screens/Settings/index.tsx:784
+#: src/view/screens/Settings/index.tsx:772
msgid "Delete My Account…"
msgstr ""
-#: src/view/com/util/forms/PostDropdownBtn.tsx:317
-#: src/view/com/util/forms/PostDropdownBtn.tsx:326
+#: src/view/com/util/forms/PostDropdownBtn.tsx:322
+#: src/view/com/util/forms/PostDropdownBtn.tsx:324
msgid "Delete post"
msgstr "पोस्ट को हटाएं"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:321
+#: src/view/screens/ProfileList.tsx:610
+msgid "Delete this list?"
+msgstr ""
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:336
msgid "Delete this post?"
msgstr "इस पोस्ट को डीलीट करें?"
-#: src/view/com/util/post-embeds/QuoteEmbed.tsx:70
+#: src/view/com/util/post-embeds/QuoteEmbed.tsx:67
msgid "Deleted"
msgstr ""
-#: src/view/com/post-thread/PostThread.tsx:316
+#: src/view/com/post-thread/PostThread.tsx:305
msgid "Deleted post."
msgstr "यह पोस्ट मिटाई जा चुकी है"
-#: src/view/com/modals/CreateOrEditList.tsx:300
-#: src/view/com/modals/CreateOrEditList.tsx:321
-#: src/view/com/modals/EditProfile.tsx:198
-#: src/view/com/modals/EditProfile.tsx:210
+#: src/view/com/modals/CreateOrEditList.tsx:301
+#: src/view/com/modals/CreateOrEditList.tsx:322
+#: src/view/com/modals/EditProfile.tsx:199
+#: src/view/com/modals/EditProfile.tsx:211
msgid "Description"
msgstr "विवरण"
@@ -1116,19 +1314,39 @@ msgstr "विवरण"
msgid "Did you want to say anything?"
msgstr ""
-#: src/view/screens/Settings/index.tsx:504
+#: src/view/screens/Settings/index.tsx:474
msgid "Dim"
msgstr ""
-#: src/view/com/composer/Composer.tsx:151
+#: src/view/screens/Settings/index.tsx:697
+msgid "Disable haptics"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:697
+msgid "Disable vibrations"
+msgstr ""
+
+#: src/lib/moderation/useLabelBehaviorDescription.ts:32
+#: src/lib/moderation/useLabelBehaviorDescription.ts:42
+#: src/lib/moderation/useLabelBehaviorDescription.ts:68
+#: src/screens/Moderation/index.tsx:341
+msgid "Disabled"
+msgstr ""
+
+#: src/view/com/composer/Composer.tsx:511
msgid "Discard"
msgstr ""
#: src/view/com/composer/Composer.tsx:145
-msgid "Discard draft"
-msgstr "ड्राफ्ट हटाएं"
+#~ msgid "Discard draft"
+#~ msgstr "ड्राफ्ट हटाएं"
-#: src/view/screens/Moderation.tsx:226
+#: src/view/com/composer/Composer.tsx:508
+msgid "Discard draft?"
+msgstr ""
+
+#: src/screens/Moderation/index.tsx:518
+#: src/screens/Moderation/index.tsx:522
msgid "Discourage apps from showing my account to logged-out users"
msgstr ""
@@ -1141,19 +1359,35 @@ msgstr ""
#~ msgid "Discover new feeds"
#~ msgstr "नए फ़ीड की खोज करें"
-#: src/view/screens/Feeds.tsx:689
+#: src/view/screens/Feeds.tsx:714
msgid "Discover New Feeds"
msgstr ""
-#: src/view/com/modals/EditProfile.tsx:192
+#: src/view/com/modals/EditProfile.tsx:193
msgid "Display name"
msgstr "नाम"
-#: src/view/com/modals/EditProfile.tsx:180
+#: src/view/com/modals/EditProfile.tsx:181
msgid "Display Name"
msgstr "प्रदर्शन का नाम"
-#: src/view/com/modals/ChangeHandle.tsx:487
+#: src/view/com/modals/ChangeHandle.tsx:397
+msgid "DNS Panel"
+msgstr ""
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:39
+msgid "Does not include nudity."
+msgstr ""
+
+#: src/screens/Signup/StepHandle.tsx:105
+msgid "Doesn't begin or end with a hyphen"
+msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:481
+msgid "Domain Value"
+msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:488
msgid "Domain verified!"
msgstr "डोमेन सत्यापित!"
@@ -1161,8 +1395,26 @@ msgstr "डोमेन सत्यापित!"
#~ msgid "Don't have an invite code?"
#~ msgstr ""
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:86
-#: src/view/com/modals/EditImage.tsx:333
+#: src/components/dialogs/BirthDateSettings.tsx:119
+#: src/components/dialogs/BirthDateSettings.tsx:125
+#: src/components/forms/DateField/index.tsx:74
+#: src/components/forms/DateField/index.tsx:80
+#: src/view/com/auth/server-input/index.tsx:169
+#: src/view/com/auth/server-input/index.tsx:170
+#: src/view/com/modals/AddAppPasswords.tsx:227
+#: src/view/com/modals/AltImage.tsx:140
+#: src/view/com/modals/crop-image/CropImage.web.tsx:153
+#: src/view/com/modals/InviteCodes.tsx:81
+#: src/view/com/modals/InviteCodes.tsx:124
+#: src/view/com/modals/ListAddRemoveUsers.tsx:142
+#: src/view/screens/PreferencesFollowingFeed.tsx:311
+#: src/view/screens/Settings/ExportCarDialog.tsx:94
+#: src/view/screens/Settings/ExportCarDialog.tsx:96
+msgid "Done"
+msgstr "खत्म"
+
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:87
+#: src/view/com/modals/EditImage.tsx:334
#: src/view/com/modals/ListAddRemoveUsers.tsx:144
#: src/view/com/modals/SelfLabel.tsx:157
#: src/view/com/modals/Threadgate.tsx:129
@@ -1174,33 +1426,17 @@ msgctxt "action"
msgid "Done"
msgstr ""
-#: src/view/com/auth/server-input/index.tsx:165
-#: src/view/com/auth/server-input/index.tsx:166
-#: src/view/com/modals/AddAppPasswords.tsx:226
-#: src/view/com/modals/AltImage.tsx:139
-#: src/view/com/modals/ContentFilteringSettings.tsx:88
-#: src/view/com/modals/ContentFilteringSettings.tsx:96
-#: src/view/com/modals/crop-image/CropImage.web.tsx:152
-#: src/view/com/modals/InviteCodes.tsx:80
-#: src/view/com/modals/InviteCodes.tsx:123
-#: src/view/com/modals/ListAddRemoveUsers.tsx:142
-#: src/view/screens/PreferencesFollowingFeed.tsx:311
-#: src/view/screens/Settings/ExportCarDialog.tsx:93
-#: src/view/screens/Settings/ExportCarDialog.tsx:94
-msgid "Done"
-msgstr "खत्म"
-
-#: src/view/com/modals/lang-settings/ConfirmLanguagesButton.tsx:42
+#: src/view/com/modals/lang-settings/ConfirmLanguagesButton.tsx:43
msgid "Done{extraText}"
msgstr "खत्म {extraText}"
-#: src/view/com/auth/login/ChooseAccountForm.tsx:45
-msgid "Double tap to sign in"
-msgstr ""
+#: src/view/com/auth/login/ChooseAccountForm.tsx:46
+#~ msgid "Double tap to sign in"
+#~ msgstr ""
#: src/view/screens/Settings/index.tsx:755
-msgid "Download Bluesky account data (repository)"
-msgstr ""
+#~ msgid "Download Bluesky account data (repository)"
+#~ msgstr ""
#: src/view/screens/Settings/ExportCarDialog.tsx:59
#: src/view/screens/Settings/ExportCarDialog.tsx:63
@@ -1211,35 +1447,47 @@ msgstr ""
msgid "Drop to add images"
msgstr ""
-#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:111
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:120
msgid "Due to Apple policies, adult content can only be enabled on the web after completing sign up."
msgstr ""
-#: src/view/com/modals/EditProfile.tsx:185
+#: src/view/com/modals/ChangeHandle.tsx:258
+msgid "e.g. alice"
+msgstr ""
+
+#: src/view/com/modals/EditProfile.tsx:186
msgid "e.g. Alice Roberts"
msgstr ""
-#: src/view/com/modals/EditProfile.tsx:203
+#: src/view/com/modals/ChangeHandle.tsx:380
+msgid "e.g. alice.com"
+msgstr ""
+
+#: src/view/com/modals/EditProfile.tsx:204
msgid "e.g. Artist, dog-lover, and avid reader."
msgstr ""
-#: src/view/com/modals/CreateOrEditList.tsx:283
-msgid "e.g. Great Posters"
+#: src/lib/moderation/useGlobalLabelStrings.ts:43
+msgid "E.g. artistic nudes."
msgstr ""
#: src/view/com/modals/CreateOrEditList.tsx:284
+msgid "e.g. Great Posters"
+msgstr ""
+
+#: src/view/com/modals/CreateOrEditList.tsx:285
msgid "e.g. Spammers"
msgstr ""
-#: src/view/com/modals/CreateOrEditList.tsx:312
+#: src/view/com/modals/CreateOrEditList.tsx:313
msgid "e.g. The posters who never miss."
msgstr ""
-#: src/view/com/modals/CreateOrEditList.tsx:313
+#: src/view/com/modals/CreateOrEditList.tsx:314
msgid "e.g. Users that repeatedly reply with ads."
msgstr ""
-#: src/view/com/modals/InviteCodes.tsx:96
+#: src/view/com/modals/InviteCodes.tsx:97
msgid "Each code works once. You'll receive more invite codes periodically."
msgstr "प्रत्येक कोड एक बार काम करता है। आपको समय-समय पर अधिक आमंत्रण कोड प्राप्त होंगे।"
@@ -1248,51 +1496,58 @@ msgctxt "action"
msgid "Edit"
msgstr ""
+#: src/view/com/util/UserAvatar.tsx:301
+#: src/view/com/util/UserBanner.tsx:85
+msgid "Edit avatar"
+msgstr ""
+
#: src/view/com/composer/photos/Gallery.tsx:144
-#: src/view/com/modals/EditImage.tsx:207
+#: src/view/com/modals/EditImage.tsx:208
msgid "Edit image"
msgstr "छवि संपादित करें"
-#: src/view/screens/ProfileList.tsx:433
+#: src/view/screens/ProfileList.tsx:405
msgid "Edit list details"
msgstr "सूची विवरण संपादित करें"
-#: src/view/com/modals/CreateOrEditList.tsx:250
+#: src/view/com/modals/CreateOrEditList.tsx:251
msgid "Edit Moderation List"
msgstr ""
-#: src/Navigation.tsx:244
-#: src/view/screens/Feeds.tsx:434
-#: src/view/screens/SavedFeeds.tsx:84
+#: src/Navigation.tsx:256
+#: src/view/screens/Feeds.tsx:459
+#: src/view/screens/SavedFeeds.tsx:85
msgid "Edit My Feeds"
msgstr "मेरी फ़ीड संपादित करें"
-#: src/view/com/modals/EditProfile.tsx:152
+#: src/view/com/modals/EditProfile.tsx:153
msgid "Edit my profile"
msgstr "मेरी प्रोफ़ाइल संपादित करें"
-#: src/view/com/profile/ProfileHeader.tsx:418
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:178
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:168
msgid "Edit profile"
msgstr "मेरी प्रोफ़ाइल संपादित करें"
-#: src/view/com/profile/ProfileHeader.tsx:423
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:181
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:171
msgid "Edit Profile"
msgstr "मेरी प्रोफ़ाइल संपादित करें"
-#: src/view/com/home/HomeHeaderLayout.web.tsx:62
-#: src/view/screens/Feeds.tsx:355
+#: src/view/com/home/HomeHeaderLayout.web.tsx:66
+#: src/view/screens/Feeds.tsx:380
msgid "Edit Saved Feeds"
msgstr "एडिट सेव्ड फीड"
-#: src/view/com/modals/CreateOrEditList.tsx:245
+#: src/view/com/modals/CreateOrEditList.tsx:246
msgid "Edit User List"
msgstr ""
-#: src/view/com/modals/EditProfile.tsx:193
+#: src/view/com/modals/EditProfile.tsx:194
msgid "Edit your display name"
msgstr ""
-#: src/view/com/modals/EditProfile.tsx:211
+#: src/view/com/modals/EditProfile.tsx:212
msgid "Edit your profile description"
msgstr ""
@@ -1300,14 +1555,12 @@ msgstr ""
msgid "Education"
msgstr ""
-#: src/view/com/auth/create/Step1.tsx:176
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:156
+#: src/screens/Signup/StepInfo/index.tsx:80
#: src/view/com/modals/ChangeEmail.tsx:141
msgid "Email"
msgstr "ईमेल"
-#: src/view/com/auth/create/Step1.tsx:167
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:147
+#: src/screens/Login/ForgotPasswordForm.tsx:99
msgid "Email address"
msgstr "ईमेल"
@@ -1324,27 +1577,50 @@ msgstr "ईमेल अपडेट किया गया"
msgid "Email verified"
msgstr ""
-#: src/view/screens/Settings/index.tsx:312
+#: src/view/screens/Settings/index.tsx:334
msgid "Email:"
msgstr "ईमेल:"
-#: src/view/com/modals/EmbedConsent.tsx:113
+#: src/components/dialogs/Embed.tsx:112
+msgid "Embed HTML code"
+msgstr ""
+
+#: src/components/dialogs/Embed.tsx:97
+#: src/view/com/util/forms/PostDropdownBtn.tsx:253
+#: src/view/com/util/forms/PostDropdownBtn.tsx:255
+msgid "Embed post"
+msgstr ""
+
+#: src/components/dialogs/Embed.tsx:101
+msgid "Embed this post in your website. Simply copy the following snippet and paste it into the HTML code of your website."
+msgstr ""
+
+#: src/components/dialogs/EmbedConsent.tsx:101
msgid "Enable {0} only"
msgstr ""
-#: src/view/com/modals/ContentFilteringSettings.tsx:167
+#: src/screens/Moderation/index.tsx:329
+msgid "Enable adult content"
+msgstr ""
+
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:94
msgid "Enable Adult Content"
msgstr ""
-#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:76
-#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:77
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:78
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:79
msgid "Enable adult content in your feeds"
msgstr ""
-#: src/view/com/modals/EmbedConsent.tsx:97
-msgid "Enable External Media"
+#: src/components/dialogs/EmbedConsent.tsx:82
+#: src/components/dialogs/EmbedConsent.tsx:89
+msgid "Enable external media"
msgstr ""
+#: src/view/com/modals/EmbedConsent.tsx:97
+#~ msgid "Enable External Media"
+#~ msgstr ""
+
#: src/view/screens/PreferencesExternalEmbeds.tsx:75
msgid "Enable media players for"
msgstr ""
@@ -1353,16 +1629,28 @@ msgstr ""
msgid "Enable this setting to only see replies between people you follow."
msgstr "इस सेटिंग को केवल उन लोगों के बीच जवाब देखने में सक्षम करें जिन्हें आप फॉलो करते हैं।।"
-#: src/view/screens/Profile.tsx:455
+#: src/components/dialogs/EmbedConsent.tsx:94
+msgid "Enable this source only"
+msgstr ""
+
+#: src/screens/Moderation/index.tsx:339
+msgid "Enabled"
+msgstr ""
+
+#: src/screens/Profile/Sections/Feed.tsx:100
msgid "End of feed"
msgstr ""
-#: src/view/com/modals/AddAppPasswords.tsx:166
+#: src/view/com/modals/AddAppPasswords.tsx:167
msgid "Enter a name for this App Password"
msgstr ""
+#: src/screens/Login/SetNewPasswordForm.tsx:139
+msgid "Enter a password"
+msgstr ""
+
+#: src/components/dialogs/MutedWords.tsx:99
#: src/components/dialogs/MutedWords.tsx:100
-#: src/components/dialogs/MutedWords.tsx:101
msgid "Enter a word or tag"
msgstr ""
@@ -1370,20 +1658,19 @@ msgstr ""
msgid "Enter Confirmation Code"
msgstr ""
-#: src/view/com/modals/ChangePassword.tsx:151
+#: src/view/com/modals/ChangePassword.tsx:153
msgid "Enter the code you received to change your password."
msgstr ""
-#: src/view/com/modals/ChangeHandle.tsx:371
+#: src/view/com/modals/ChangeHandle.tsx:370
msgid "Enter the domain you want to use"
msgstr "आप जिस डोमेन का उपयोग करना चाहते हैं उसे दर्ज करें"
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:107
+#: src/screens/Login/ForgotPasswordForm.tsx:119
msgid "Enter the email you used to create your account. We'll send you a \"reset code\" so you can set a new password."
msgstr "वह ईमेल दर्ज करें जिसका उपयोग आपने अपना खाता बनाने के लिए किया था। हम आपको एक \"reset code\" भेजेंगे ताकि आप एक नया पासवर्ड सेट कर सकें।"
-#: src/view/com/auth/create/Step1.tsx:228
-#: src/view/com/modals/BirthDateSettings.tsx:74
+#: src/components/dialogs/BirthDateSettings.tsx:108
msgid "Enter your birth date"
msgstr ""
@@ -1391,7 +1678,8 @@ msgstr ""
#~ msgid "Enter your email"
#~ msgstr ""
-#: src/view/com/auth/create/Step1.tsx:172
+#: src/screens/Login/ForgotPasswordForm.tsx:105
+#: src/screens/Signup/StepInfo/index.tsx:92
msgid "Enter your email address"
msgstr "अपना ईमेल पता दर्ज करें"
@@ -1407,15 +1695,15 @@ msgstr "नीचे अपना नया ईमेल पता दर्ज
#~ msgid "Enter your phone number"
#~ msgstr ""
-#: src/view/com/auth/login/Login.tsx:99
+#: src/screens/Login/index.tsx:101
msgid "Enter your username and password"
msgstr "अपने यूज़रनेम और पासवर्ड दर्ज करें"
-#: src/view/com/auth/create/Step3.tsx:67
+#: src/screens/Signup/StepCaptcha/index.tsx:49
msgid "Error receiving captcha response."
msgstr ""
-#: src/view/screens/Search/Search.tsx:110
+#: src/view/screens/Search/Search.tsx:115
msgid "Error:"
msgstr ""
@@ -1423,16 +1711,28 @@ msgstr ""
msgid "Everybody"
msgstr ""
-#: src/view/com/modals/ChangeHandle.tsx:150
+#: src/lib/moderation/useReportOptions.ts:66
+msgid "Excessive mentions or replies"
+msgstr ""
+
+#: src/view/com/modals/DeleteAccount.tsx:230
+msgid "Exits account deletion process"
+msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:151
msgid "Exits handle change process"
msgstr ""
-#: src/view/com/lightbox/Lightbox.web.tsx:120
+#: src/view/com/modals/crop-image/CropImage.web.tsx:136
+msgid "Exits image cropping process"
+msgstr ""
+
+#: src/view/com/lightbox/Lightbox.web.tsx:130
msgid "Exits image view"
msgstr ""
#: src/view/com/modals/ListAddRemoveUsers.tsx:88
-#: src/view/shell/desktop/Search.tsx:235
+#: src/view/shell/desktop/Search.tsx:236
msgid "Exits inputting search query"
msgstr ""
@@ -1440,70 +1740,83 @@ msgstr ""
#~ msgid "Exits signing up for waitlist with {email}"
#~ msgstr ""
-#: src/view/com/lightbox/Lightbox.web.tsx:163
+#: src/view/com/lightbox/Lightbox.web.tsx:183
msgid "Expand alt text"
msgstr "ऑल्ट टेक्स्ट"
-#: src/view/com/composer/ComposerReplyTo.tsx:81
-#: src/view/com/composer/ComposerReplyTo.tsx:84
+#: src/view/com/composer/ComposerReplyTo.tsx:82
+#: src/view/com/composer/ComposerReplyTo.tsx:85
msgid "Expand or collapse the full post you are replying to"
msgstr ""
-#: src/view/screens/Settings/index.tsx:753
+#: src/lib/moderation/useGlobalLabelStrings.ts:47
+msgid "Explicit or potentially disturbing media."
+msgstr ""
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:35
+msgid "Explicit sexual images."
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:741
msgid "Export my data"
msgstr ""
#: src/view/screens/Settings/ExportCarDialog.tsx:44
-#: src/view/screens/Settings/index.tsx:764
+#: src/view/screens/Settings/index.tsx:752
msgid "Export My Data"
msgstr ""
-#: src/view/com/modals/EmbedConsent.tsx:64
+#: src/components/dialogs/EmbedConsent.tsx:55
+#: src/components/dialogs/EmbedConsent.tsx:59
msgid "External Media"
msgstr ""
-#: src/view/com/modals/EmbedConsent.tsx:75
+#: src/components/dialogs/EmbedConsent.tsx:71
#: src/view/screens/PreferencesExternalEmbeds.tsx:66
msgid "External media may allow websites to collect information about you and your device. No information is sent or requested until you press the \"play\" button."
msgstr ""
-#: src/Navigation.tsx:263
+#: src/Navigation.tsx:275
#: src/view/screens/PreferencesExternalEmbeds.tsx:52
-#: src/view/screens/Settings/index.tsx:657
+#: src/view/screens/Settings/index.tsx:628
msgid "External Media Preferences"
msgstr ""
-#: src/view/screens/Settings/index.tsx:648
+#: src/view/screens/Settings/index.tsx:619
msgid "External media settings"
msgstr ""
-#: src/view/com/modals/AddAppPasswords.tsx:115
-#: src/view/com/modals/AddAppPasswords.tsx:119
+#: src/view/com/modals/AddAppPasswords.tsx:116
+#: src/view/com/modals/AddAppPasswords.tsx:120
msgid "Failed to create app password."
msgstr ""
-#: src/view/com/modals/CreateOrEditList.tsx:206
+#: src/view/com/modals/CreateOrEditList.tsx:207
msgid "Failed to create the list. Check your internet connection and try again."
msgstr ""
-#: src/view/com/util/forms/PostDropdownBtn.tsx:128
+#: src/view/com/util/forms/PostDropdownBtn.tsx:131
msgid "Failed to delete post, please try again"
msgstr ""
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:109
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:141
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:110
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:143
msgid "Failed to load recommended feeds"
msgstr "अनुशंसित फ़ीड लोड करने में विफल"
-#: src/Navigation.tsx:194
+#: src/view/com/lightbox/Lightbox.tsx:83
+msgid "Failed to save image: {0}"
+msgstr ""
+
+#: src/Navigation.tsx:196
msgid "Feed"
msgstr ""
-#: src/view/com/feeds/FeedSourceCard.tsx:231
+#: src/view/com/feeds/FeedSourceCard.tsx:218
msgid "Feed by {0}"
msgstr ""
-#: src/view/screens/Feeds.tsx:605
+#: src/view/screens/Feeds.tsx:630
msgid "Feed offline"
msgstr "फ़ीड ऑफ़लाइन है"
@@ -1512,18 +1825,18 @@ msgstr "फ़ीड ऑफ़लाइन है"
#~ msgstr "फ़ीड प्राथमिकता"
#: src/view/shell/desktop/RightNav.tsx:61
-#: src/view/shell/Drawer.tsx:311
+#: src/view/shell/Drawer.tsx:320
msgid "Feedback"
msgstr "प्रतिक्रिया"
-#: src/Navigation.tsx:452
-#: src/view/screens/Feeds.tsx:419
-#: src/view/screens/Feeds.tsx:524
-#: src/view/screens/Profile.tsx:184
-#: src/view/shell/bottom-bar/BottomBar.tsx:181
-#: src/view/shell/desktop/LeftNav.tsx:342
-#: src/view/shell/Drawer.tsx:476
-#: src/view/shell/Drawer.tsx:477
+#: src/Navigation.tsx:456
+#: src/view/screens/Feeds.tsx:444
+#: src/view/screens/Feeds.tsx:549
+#: src/view/screens/Profile.tsx:199
+#: src/view/shell/bottom-bar/BottomBar.tsx:192
+#: src/view/shell/desktop/LeftNav.tsx:346
+#: src/view/shell/Drawer.tsx:485
+#: src/view/shell/Drawer.tsx:486
msgid "Feeds"
msgstr "सभी फ़ीड"
@@ -1535,19 +1848,27 @@ msgstr "सभी फ़ीड"
#~ msgid "Feeds are created by users and organizations. They offer you varied experiences and suggest content you may like using algorithms."
#~ msgstr ""
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:57
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:58
msgid "Feeds are created by users to curate content. Choose some feeds that you find interesting."
msgstr "सामग्री को व्यवस्थित करने के लिए उपयोगकर्ताओं द्वारा फ़ीड बनाए जाते हैं। कुछ फ़ीड चुनें जो आपको दिलचस्प लगें।"
-#: src/view/screens/SavedFeeds.tsx:156
+#: src/view/screens/SavedFeeds.tsx:157
msgid "Feeds are custom algorithms that users build with a little coding expertise. <0/> for more information."
msgstr "फ़ीड कस्टम एल्गोरिदम हैं जिन्हें उपयोगकर्ता थोड़ी कोडिंग विशेषज्ञता के साथ बनाते हैं। <0/> अधिक जानकारी के लिए."
-#: src/screens/Onboarding/StepTopicalFeeds.tsx:76
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:80
msgid "Feeds can be topical as well!"
msgstr ""
-#: src/screens/Onboarding/StepFinished.tsx:151
+#: src/view/com/modals/ChangeHandle.tsx:481
+msgid "File Contents"
+msgstr ""
+
+#: src/lib/moderation/useLabelBehaviorDescription.ts:66
+msgid "Filter from feeds"
+msgstr ""
+
+#: src/screens/Onboarding/StepFinished.tsx:155
msgid "Finalizing"
msgstr ""
@@ -1557,15 +1878,15 @@ msgstr ""
msgid "Find accounts to follow"
msgstr ""
-#: src/view/screens/Search/Search.tsx:440
+#: src/view/screens/Search/Search.tsx:589
msgid "Find users on Bluesky"
msgstr ""
-#: src/view/screens/Search/Search.tsx:438
+#: src/view/screens/Search/Search.tsx:587
msgid "Find users with the search tool on the right"
msgstr ""
-#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:150
+#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:155
msgid "Finding similar accounts..."
msgstr "मिलते-जुलते खाते ढूँढना"
@@ -1585,49 +1906,60 @@ msgstr "चर्चा धागे को ठीक-ट्यून करे
msgid "Fitness"
msgstr ""
-#: src/screens/Onboarding/StepFinished.tsx:131
+#: src/screens/Onboarding/StepFinished.tsx:135
msgid "Flexible"
msgstr ""
-#: src/view/com/modals/EditImage.tsx:115
+#: src/view/com/modals/EditImage.tsx:116
msgid "Flip horizontal"
msgstr ""
-#: src/view/com/modals/EditImage.tsx:120
-#: src/view/com/modals/EditImage.tsx:287
+#: src/view/com/modals/EditImage.tsx:121
+#: src/view/com/modals/EditImage.tsx:288
msgid "Flip vertically"
msgstr ""
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:181
-#: src/view/com/post-thread/PostThreadFollowBtn.tsx:136
-#: src/view/com/profile/ProfileHeader.tsx:513
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:189
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:235
+#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:141
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:146
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:248
msgid "Follow"
msgstr "फॉलो"
-#: src/view/com/profile/FollowButton.tsx:64
+#: src/view/com/profile/FollowButton.tsx:69
msgctxt "action"
msgid "Follow"
msgstr ""
#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:58
-#: src/view/com/post-thread/PostThreadFollowBtn.tsx:122
-#: src/view/com/profile/ProfileHeader.tsx:504
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:221
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:128
msgid "Follow {0}"
msgstr ""
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:179
+#: src/view/com/profile/ProfileMenu.tsx:242
+#: src/view/com/profile/ProfileMenu.tsx:253
+msgid "Follow Account"
+msgstr ""
+
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:187
msgid "Follow All"
msgstr ""
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:174
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:144
+msgid "Follow Back"
+msgstr ""
+
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:182
msgid "Follow selected accounts and continue to the next step"
msgstr ""
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:64
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:65
msgid "Follow some users to get started. We can recommend you more users based on who you find interesting."
msgstr "आरंभ करने के लिए कुछ उपयोगकर्ताओं का अनुसरण करें. आपको कौन दिलचस्प लगता है, इसके आधार पर हम आपको और अधिक उपयोगकर्ताओं की अनुशंसा कर सकते हैं।"
-#: src/view/com/profile/ProfileCard.tsx:194
+#: src/view/com/profile/ProfileCard.tsx:219
msgid "Followed by {0}"
msgstr ""
@@ -1639,37 +1971,43 @@ msgstr ""
msgid "Followed users only"
msgstr "केवल वे यूजर को फ़ॉलो किया गया"
-#: src/view/com/notifications/FeedItem.tsx:166
+#: src/view/com/notifications/FeedItem.tsx:172
msgid "followed you"
msgstr ""
+#: src/view/com/profile/ProfileFollowers.tsx:104
#: src/view/screens/ProfileFollowers.tsx:25
msgid "Followers"
msgstr "यह यूजर आपका फ़ोलो करता है"
-#: src/view/com/post-thread/PostThreadFollowBtn.tsx:136
-#: src/view/com/profile/ProfileHeader.tsx:495
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:233
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:149
+#: src/view/com/profile/ProfileFollows.tsx:104
#: src/view/screens/ProfileFollows.tsx:25
msgid "Following"
msgstr "फोल्लोविंग"
-#: src/view/com/profile/ProfileHeader.tsx:149
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:93
msgid "Following {0}"
msgstr ""
-#: src/Navigation.tsx:250
-#: src/view/com/home/HomeHeaderLayout.web.tsx:50
-#: src/view/com/home/HomeHeaderLayoutMobile.tsx:84
+#: src/view/screens/Settings/index.tsx:504
+msgid "Following feed preferences"
+msgstr ""
+
+#: src/Navigation.tsx:262
+#: src/view/com/home/HomeHeaderLayout.web.tsx:54
+#: src/view/com/home/HomeHeaderLayoutMobile.tsx:87
#: src/view/screens/PreferencesFollowingFeed.tsx:104
-#: src/view/screens/Settings/index.tsx:543
+#: src/view/screens/Settings/index.tsx:513
msgid "Following Feed Preferences"
msgstr ""
-#: src/view/com/profile/ProfileHeader.tsx:546
+#: src/screens/Profile/Header/Handle.tsx:24
msgid "Follows you"
msgstr "यह यूजर आपका फ़ोलो करता है"
-#: src/view/com/profile/ProfileCard.tsx:141
+#: src/view/com/profile/ProfileCard.tsx:144
msgid "Follows You"
msgstr ""
@@ -1677,33 +2015,45 @@ msgstr ""
msgid "Food"
msgstr ""
-#: src/view/com/modals/DeleteAccount.tsx:111
+#: src/view/com/modals/DeleteAccount.tsx:110
msgid "For security reasons, we'll need to send a confirmation code to your email address."
msgstr "सुरक्षा कारणों के लिए, हमें आपके ईमेल पते पर एक OTP कोड भेजने की आवश्यकता होगी।।"
-#: src/view/com/modals/AddAppPasswords.tsx:209
+#: src/view/com/modals/AddAppPasswords.tsx:210
msgid "For security reasons, you won't be able to view this again. If you lose this password, you'll need to generate a new one."
msgstr "सुरक्षा कारणों के लिए, आप इसे फिर से देखने में सक्षम नहीं होंगे। यदि आप इस पासवर्ड को खो देते हैं, तो आपको एक नया उत्पन्न करना होगा।।"
+#: src/view/com/auth/login/LoginForm.tsx:244
+#~ msgid "Forgot"
+#~ msgstr "भूल"
+
#: src/view/com/auth/login/LoginForm.tsx:241
-msgid "Forgot"
-msgstr "भूल"
+#~ msgid "Forgot password"
+#~ msgstr "पासवर्ड भूल गए"
-#: src/view/com/auth/login/LoginForm.tsx:238
-msgid "Forgot password"
-msgstr "पासवर्ड भूल गए"
-
-#: src/view/com/auth/login/Login.tsx:127
-#: src/view/com/auth/login/Login.tsx:143
+#: src/screens/Login/index.tsx:129
+#: src/screens/Login/index.tsx:144
msgid "Forgot Password"
msgstr "पासवर्ड भूल गए"
-#: src/screens/Hashtag.tsx:108
-#: src/screens/Hashtag.tsx:148
+#: src/screens/Login/LoginForm.tsx:201
+msgid "Forgot password?"
+msgstr ""
+
+#: src/screens/Login/LoginForm.tsx:212
+msgid "Forgot?"
+msgstr ""
+
+#: src/lib/moderation/useReportOptions.ts:52
+msgid "Frequently Posts Unwanted Content"
+msgstr ""
+
+#: src/screens/Hashtag.tsx:109
+#: src/screens/Hashtag.tsx:149
msgid "From @{sanitizedAuthor}"
msgstr ""
-#: src/view/com/posts/FeedItem.tsx:189
+#: src/view/com/posts/FeedItem.tsx:181
msgctxt "from-feed"
msgid "From <0/>"
msgstr ""
@@ -1717,43 +2067,69 @@ msgstr "गैलरी"
msgid "Get Started"
msgstr "प्रारंभ करें"
-#: src/view/com/auth/LoggedOut.tsx:81
+#: src/lib/moderation/useReportOptions.ts:37
+msgid "Glaring violations of law or terms of service"
+msgstr ""
+
+#: src/components/moderation/ScreenHider.tsx:151
+#: src/components/moderation/ScreenHider.tsx:160
#: src/view/com/auth/LoggedOut.tsx:82
-#: src/view/com/util/moderation/ScreenHider.tsx:123
-#: src/view/shell/desktop/LeftNav.tsx:104
+#: src/view/com/auth/LoggedOut.tsx:83
+#: src/view/screens/NotFound.tsx:55
+#: src/view/screens/ProfileFeed.tsx:112
+#: src/view/screens/ProfileList.tsx:918
+#: src/view/shell/desktop/LeftNav.tsx:108
msgid "Go back"
msgstr "वापस जाओ"
-#: src/view/screens/ProfileFeed.tsx:106
-#: src/view/screens/ProfileFeed.tsx:111
-#: src/view/screens/ProfileList.tsx:902
-#: src/view/screens/ProfileList.tsx:907
+#: src/components/Error.tsx:91
+#: src/screens/Profile/ErrorState.tsx:62
+#: src/screens/Profile/ErrorState.tsx:66
+#: src/view/screens/NotFound.tsx:54
+#: src/view/screens/ProfileFeed.tsx:117
+#: src/view/screens/ProfileList.tsx:923
msgid "Go Back"
msgstr "वापस जाओ"
-#: src/screens/Onboarding/Layout.tsx:104
-#: src/screens/Onboarding/Layout.tsx:193
+#: src/components/ReportDialog/SelectReportOptionView.tsx:73
+#: src/components/ReportDialog/SubmitView.tsx:102
+#: src/screens/Onboarding/Layout.tsx:102
+#: src/screens/Onboarding/Layout.tsx:191
+#: src/screens/Signup/index.tsx:174
msgid "Go back to previous step"
msgstr ""
-#: src/view/screens/Search/Search.tsx:747
-#: src/view/shell/desktop/Search.tsx:262
+#: src/view/screens/NotFound.tsx:55
+msgid "Go home"
+msgstr ""
+
+#: src/view/screens/NotFound.tsx:54
+msgid "Go Home"
+msgstr ""
+
+#: src/view/screens/Search/Search.tsx:896
+#: src/view/shell/desktop/Search.tsx:263
msgid "Go to @{queryMaybeHandle}"
msgstr ""
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:189
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:218
-#: src/view/com/auth/login/LoginForm.tsx:288
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:195
-#: src/view/com/modals/ChangePassword.tsx:165
+#: src/screens/Login/ForgotPasswordForm.tsx:172
+#: src/view/com/modals/ChangePassword.tsx:167
msgid "Go to next"
msgstr "अगला"
-#: src/view/com/modals/ChangeHandle.tsx:265
+#: src/lib/moderation/useGlobalLabelStrings.ts:46
+msgid "Graphic Media"
+msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:266
msgid "Handle"
msgstr "हैंडल"
-#: src/Navigation.tsx:270
+#: src/lib/moderation/useReportOptions.ts:32
+msgid "Harassment, trolling, or intolerance"
+msgstr ""
+
+#: src/Navigation.tsx:282
msgid "Hashtag"
msgstr ""
@@ -1761,69 +2137,74 @@ msgstr ""
#~ msgid "Hashtag: {tag}"
#~ msgstr ""
-#: src/components/RichText.tsx:190
+#: src/components/RichText.tsx:197
msgid "Hashtag: #{tag}"
msgstr ""
-#: src/view/com/auth/create/CreateAccount.tsx:208
+#: src/screens/Signup/index.tsx:221
msgid "Having trouble?"
msgstr ""
#: src/view/shell/desktop/RightNav.tsx:90
-#: src/view/shell/Drawer.tsx:321
+#: src/view/shell/Drawer.tsx:330
msgid "Help"
msgstr "सहायता"
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:132
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:140
msgid "Here are some accounts for you to follow"
msgstr ""
-#: src/screens/Onboarding/StepTopicalFeeds.tsx:85
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:89
msgid "Here are some popular topical feeds. You can choose to follow as many as you like."
msgstr ""
-#: src/screens/Onboarding/StepTopicalFeeds.tsx:80
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:84
msgid "Here are some topical feeds based on your interests: {interestsText}. You can choose to follow as many as you like."
msgstr ""
-#: src/view/com/modals/AddAppPasswords.tsx:153
+#: src/view/com/modals/AddAppPasswords.tsx:154
msgid "Here is your app password."
msgstr "यहां आपका ऐप पासवर्ड है."
-#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:41
-#: src/view/com/modals/ContentFilteringSettings.tsx:251
-#: src/view/com/util/moderation/ContentHider.tsx:105
-#: src/view/com/util/moderation/PostHider.tsx:108
+#: src/components/moderation/ContentHider.tsx:115
+#: src/components/moderation/LabelPreference.tsx:134
+#: src/components/moderation/PostHider.tsx:107
+#: src/lib/moderation/useLabelBehaviorDescription.ts:15
+#: src/lib/moderation/useLabelBehaviorDescription.ts:20
+#: src/lib/moderation/useLabelBehaviorDescription.ts:25
+#: src/lib/moderation/useLabelBehaviorDescription.ts:30
+#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:52
+#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:76
+#: src/view/com/util/forms/PostDropdownBtn.tsx:350
msgid "Hide"
msgstr "इसे छिपाएं"
-#: src/view/com/modals/ContentFilteringSettings.tsx:224
-#: src/view/com/notifications/FeedItem.tsx:326
+#: src/view/com/notifications/FeedItem.tsx:331
msgctxt "action"
msgid "Hide"
msgstr ""
-#: src/view/com/util/forms/PostDropdownBtn.tsx:276
-#: src/view/com/util/forms/PostDropdownBtn.tsx:287
+#: src/view/com/util/forms/PostDropdownBtn.tsx:294
+#: src/view/com/util/forms/PostDropdownBtn.tsx:296
msgid "Hide post"
msgstr ""
-#: src/view/com/util/moderation/ContentHider.tsx:67
-#: src/view/com/util/moderation/PostHider.tsx:61
+#: src/components/moderation/ContentHider.tsx:67
+#: src/components/moderation/PostHider.tsx:64
msgid "Hide the content"
msgstr ""
-#: src/view/com/util/forms/PostDropdownBtn.tsx:280
+#: src/view/com/util/forms/PostDropdownBtn.tsx:347
msgid "Hide this post?"
msgstr ""
-#: src/view/com/notifications/FeedItem.tsx:316
+#: src/view/com/notifications/FeedItem.tsx:321
msgid "Hide user list"
msgstr "उपयोगकर्ता सूची छुपाएँ"
#: src/view/com/profile/ProfileHeader.tsx:487
-msgid "Hides posts from {0} in your feed"
-msgstr ""
+#~ msgid "Hides posts from {0} in your feed"
+#~ msgstr ""
#: src/view/com/posts/FeedErrorMessage.tsx:111
msgid "Hmm, some kind of issue occurred when contacting the feed server. Please let the feed owner know about this issue."
@@ -1845,11 +2226,19 @@ msgstr ""
msgid "Hmm, we're having trouble finding this feed. It may have been deleted."
msgstr ""
-#: src/Navigation.tsx:442
-#: src/view/shell/bottom-bar/BottomBar.tsx:137
-#: src/view/shell/desktop/LeftNav.tsx:306
-#: src/view/shell/Drawer.tsx:398
-#: src/view/shell/Drawer.tsx:399
+#: src/screens/Moderation/index.tsx:59
+msgid "Hmmmm, it seems we're having trouble loading this data. See below for more details. If this issue persists, please contact us."
+msgstr ""
+
+#: src/screens/Profile/ErrorState.tsx:31
+msgid "Hmmmm, we couldn't load that moderation service."
+msgstr ""
+
+#: src/Navigation.tsx:446
+#: src/view/shell/bottom-bar/BottomBar.tsx:148
+#: src/view/shell/desktop/LeftNav.tsx:310
+#: src/view/shell/Drawer.tsx:407
+#: src/view/shell/Drawer.tsx:408
msgid "Home"
msgstr "होम फीड"
@@ -1860,8 +2249,14 @@ msgstr "होम फीड"
#~ msgid "Home Feed Preferences"
#~ msgstr "होम फ़ीड प्राथमिकताएं"
-#: src/view/com/auth/create/Step1.tsx:75
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:120
+#: src/view/com/modals/ChangeHandle.tsx:420
+msgid "Host:"
+msgstr ""
+
+#: src/screens/Login/ForgotPasswordForm.tsx:89
+#: src/screens/Login/LoginForm.tsx:134
+#: src/screens/Signup/StepInfo/index.tsx:40
+#: src/view/com/modals/ChangeHandle.tsx:281
msgid "Hosting provider"
msgstr "होस्टिंग प्रदाता"
@@ -1877,11 +2272,11 @@ msgstr "मेरे पास एक OTP कोड है"
msgid "I have a confirmation code"
msgstr ""
-#: src/view/com/modals/ChangeHandle.tsx:283
+#: src/view/com/modals/ChangeHandle.tsx:284
msgid "I have my own domain"
msgstr "मेरे पास अपना डोमेन है"
-#: src/view/com/lightbox/Lightbox.web.tsx:165
+#: src/view/com/lightbox/Lightbox.web.tsx:185
msgid "If alt text is long, toggles alt text expanded state"
msgstr ""
@@ -1889,48 +2284,68 @@ msgstr ""
msgid "If none are selected, suitable for all ages."
msgstr "यदि किसी को चुना जाता है, तो सभी उम्र के लिए उपयुक्त है।।"
-#: src/view/com/modals/ChangePassword.tsx:146
+#: src/screens/Signup/StepInfo/Policies.tsx:83
+msgid "If you are not yet an adult according to the laws of your country, your parent or legal guardian must read these Terms on your behalf."
+msgstr ""
+
+#: src/view/screens/ProfileList.tsx:612
+msgid "If you delete this list, you won't be able to recover it."
+msgstr ""
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:338
+msgid "If you remove this post, you won't be able to recover it."
+msgstr ""
+
+#: src/view/com/modals/ChangePassword.tsx:148
msgid "If you want to change your password, we will send you a code to verify that this is your account."
msgstr ""
+#: src/lib/moderation/useReportOptions.ts:36
+msgid "Illegal and Urgent"
+msgstr ""
+
#: src/view/com/util/images/Gallery.tsx:38
msgid "Image"
msgstr ""
-#: src/view/com/modals/AltImage.tsx:120
+#: src/view/com/modals/AltImage.tsx:121
msgid "Image alt text"
msgstr "छवि alt पाठ"
#: src/view/com/util/UserAvatar.tsx:311
#: src/view/com/util/UserBanner.tsx:118
-msgid "Image options"
-msgstr "छवि विकल्प"
+#~ msgid "Image options"
+#~ msgstr "छवि विकल्प"
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:138
+#: src/lib/moderation/useReportOptions.ts:47
+msgid "Impersonation or false claims about identity or affiliation"
+msgstr ""
+
+#: src/screens/Login/SetNewPasswordForm.tsx:127
msgid "Input code sent to your email for password reset"
msgstr ""
-#: src/view/com/modals/DeleteAccount.tsx:184
+#: src/view/com/modals/DeleteAccount.tsx:183
msgid "Input confirmation code for account deletion"
msgstr ""
#: src/view/com/auth/create/Step1.tsx:177
-msgid "Input email for Bluesky account"
-msgstr ""
+#~ msgid "Input email for Bluesky account"
+#~ msgstr ""
#: src/view/com/auth/create/Step1.tsx:151
-msgid "Input invite code to proceed"
-msgstr ""
+#~ msgid "Input invite code to proceed"
+#~ msgstr ""
-#: src/view/com/modals/AddAppPasswords.tsx:180
+#: src/view/com/modals/AddAppPasswords.tsx:181
msgid "Input name for app password"
msgstr ""
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:162
+#: src/screens/Login/SetNewPasswordForm.tsx:151
msgid "Input new password"
msgstr ""
-#: src/view/com/modals/DeleteAccount.tsx:203
+#: src/view/com/modals/DeleteAccount.tsx:202
msgid "Input password for account deletion"
msgstr ""
@@ -1938,11 +2353,11 @@ msgstr ""
#~ msgid "Input phone number for SMS verification"
#~ msgstr ""
-#: src/view/com/auth/login/LoginForm.tsx:230
+#: src/screens/Login/LoginForm.tsx:195
msgid "Input the password tied to {identifier}"
msgstr ""
-#: src/view/com/auth/login/LoginForm.tsx:197
+#: src/screens/Login/LoginForm.tsx:168
msgid "Input the username or email address you used at signup"
msgstr ""
@@ -1954,19 +2369,23 @@ msgstr ""
#~ msgid "Input your email to get on the Bluesky waitlist"
#~ msgstr ""
-#: src/view/com/auth/login/LoginForm.tsx:229
+#: src/screens/Login/LoginForm.tsx:194
msgid "Input your password"
msgstr ""
-#: src/view/com/auth/create/Step2.tsx:80
+#: src/view/com/modals/ChangeHandle.tsx:389
+msgid "Input your preferred hosting provider"
+msgstr ""
+
+#: src/screens/Signup/StepHandle.tsx:63
msgid "Input your user handle"
msgstr ""
-#: src/view/com/post-thread/PostThreadItem.tsx:226
+#: src/view/com/post-thread/PostThreadItem.tsx:221
msgid "Invalid or unsupported post record"
msgstr ""
-#: src/view/com/auth/login/LoginForm.tsx:113
+#: src/screens/Login/LoginForm.tsx:114
msgid "Invalid username or password"
msgstr "अवैध उपयोगकर्ता नाम या पासवर्ड"
@@ -1974,20 +2393,19 @@ msgstr "अवैध उपयोगकर्ता नाम या पास
#~ msgid "Invite"
#~ msgstr "आमंत्रण भेजो"
-#: src/view/com/modals/InviteCodes.tsx:93
+#: src/view/com/modals/InviteCodes.tsx:94
msgid "Invite a Friend"
msgstr "एक दोस्त को आमंत्रित करें"
-#: src/view/com/auth/create/Step1.tsx:141
-#: src/view/com/auth/create/Step1.tsx:150
+#: src/screens/Signup/StepInfo/index.tsx:58
msgid "Invite code"
msgstr "आमंत्रण कोड"
-#: src/view/com/auth/create/state.ts:158
+#: src/screens/Signup/state.ts:278
msgid "Invite code not accepted. Check that you input it correctly and try again."
msgstr ""
-#: src/view/com/modals/InviteCodes.tsx:170
+#: src/view/com/modals/InviteCodes.tsx:171
msgid "Invite codes: {0} available"
msgstr ""
@@ -1995,16 +2413,15 @@ msgstr ""
#~ msgid "Invite codes: {invitesAvailable} available"
#~ msgstr ""
-#: src/view/com/modals/InviteCodes.tsx:169
+#: src/view/com/modals/InviteCodes.tsx:170
msgid "Invite codes: 1 available"
msgstr ""
-#: src/screens/Onboarding/StepFollowingFeed.tsx:64
+#: src/screens/Onboarding/StepFollowingFeed.tsx:65
msgid "It shows posts from the people you follow as they happen."
msgstr ""
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:99
-#: src/view/com/auth/SplashScreen.web.tsx:138
+#: src/view/com/auth/SplashScreen.web.tsx:152
msgid "Jobs"
msgstr ""
@@ -2025,54 +2442,94 @@ msgstr ""
msgid "Journalism"
msgstr ""
+#: src/components/moderation/LabelsOnMe.tsx:59
+msgid "label has been placed on this {labelTarget}"
+msgstr ""
+
+#: src/components/moderation/ContentHider.tsx:144
+msgid "Labeled by {0}."
+msgstr ""
+
+#: src/components/moderation/ContentHider.tsx:142
+msgid "Labeled by the author."
+msgstr ""
+
+#: src/view/screens/Profile.tsx:193
+msgid "Labels"
+msgstr ""
+
+#: src/screens/Profile/Sections/Labels.tsx:153
+msgid "Labels are annotations on users and content. They can be used to hide, warn, and categorize the network."
+msgstr ""
+
+#: src/components/moderation/LabelsOnMe.tsx:61
+msgid "labels have been placed on this {labelTarget}"
+msgstr ""
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:62
+msgid "Labels on your account"
+msgstr ""
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:64
+msgid "Labels on your content"
+msgstr ""
+
#: src/view/com/composer/select-language/SelectLangBtn.tsx:104
msgid "Language selection"
msgstr "अपनी भाषा चुने"
-#: src/view/screens/Settings/index.tsx:594
+#: src/view/screens/Settings/index.tsx:565
msgid "Language settings"
msgstr ""
-#: src/Navigation.tsx:142
+#: src/Navigation.tsx:144
#: src/view/screens/LanguageSettings.tsx:89
msgid "Language Settings"
msgstr "भाषा सेटिंग्स"
-#: src/view/screens/Settings/index.tsx:603
+#: src/view/screens/Settings/index.tsx:574
msgid "Languages"
msgstr "भाषा"
#: src/view/com/auth/create/StepHeader.tsx:20
-msgid "Last step!"
+#~ msgid "Last step!"
+#~ msgstr ""
+
+#: src/view/screens/Search/Search.tsx:437
+msgid "Latest"
msgstr ""
#: src/view/com/util/moderation/ContentHider.tsx:103
-msgid "Learn more"
-msgstr ""
+#~ msgid "Learn more"
+#~ msgstr ""
-#: src/view/com/util/moderation/PostAlerts.tsx:47
-#: src/view/com/util/moderation/ProfileHeaderAlerts.tsx:65
-#: src/view/com/util/moderation/ScreenHider.tsx:104
+#: src/components/moderation/ScreenHider.tsx:136
msgid "Learn More"
msgstr "अधिक जानें"
-#: src/view/com/util/moderation/ContentHider.tsx:85
-#: src/view/com/util/moderation/PostAlerts.tsx:40
-#: src/view/com/util/moderation/PostHider.tsx:78
-#: src/view/com/util/moderation/ProfileHeaderAlerts.tsx:49
-#: src/view/com/util/moderation/ScreenHider.tsx:101
+#: src/components/moderation/ContentHider.tsx:65
+#: src/components/moderation/ContentHider.tsx:128
+msgid "Learn more about the moderation applied to this content."
+msgstr ""
+
+#: src/components/moderation/PostHider.tsx:85
+#: src/components/moderation/ScreenHider.tsx:125
msgid "Learn more about this warning"
msgstr "इस चेतावनी के बारे में अधिक जानें"
-#: src/view/screens/Moderation.tsx:262
+#: src/screens/Moderation/index.tsx:549
msgid "Learn more about what is public on Bluesky."
msgstr ""
+#: src/components/moderation/ContentHider.tsx:152
+msgid "Learn more."
+msgstr ""
+
#: src/view/com/modals/lang-settings/ContentLanguagesSettings.tsx:82
msgid "Leave them all unchecked to see any language."
msgstr "उन्हें किसी भी भाषा को देखने के लिए अनचेक छोड़ दें।।"
-#: src/view/com/modals/LinkWarning.tsx:51
+#: src/view/com/modals/LinkWarning.tsx:65
msgid "Leaving Bluesky"
msgstr "लीविंग Bluesky"
@@ -2080,130 +2537,141 @@ msgstr "लीविंग Bluesky"
msgid "left to go."
msgstr ""
-#: src/view/screens/Settings/index.tsx:278
+#: src/view/screens/Settings/index.tsx:299
msgid "Legacy storage cleared, you need to restart the app now."
msgstr ""
-#: src/view/com/auth/login/Login.tsx:128
-#: src/view/com/auth/login/Login.tsx:144
+#: src/screens/Login/index.tsx:130
+#: src/screens/Login/index.tsx:145
msgid "Let's get your password reset!"
msgstr "चलो अपना पासवर्ड रीसेट करें!"
-#: src/screens/Onboarding/StepFinished.tsx:151
+#: src/screens/Onboarding/StepFinished.tsx:155
msgid "Let's go!"
msgstr ""
#: src/view/com/util/UserAvatar.tsx:248
#: src/view/com/util/UserBanner.tsx:62
-msgid "Library"
-msgstr "चित्र पुस्तकालय"
+#~ msgid "Library"
+#~ msgstr "चित्र पुस्तकालय"
-#: src/view/screens/Settings/index.tsx:479
+#: src/view/screens/Settings/index.tsx:449
msgid "Light"
msgstr "लाइट मोड"
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:182
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:197
msgid "Like"
msgstr ""
-#: src/view/screens/ProfileFeed.tsx:591
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:264
+#: src/view/screens/ProfileFeed.tsx:585
msgid "Like this feed"
msgstr "इस फ़ीड को लाइक करो"
-#: src/Navigation.tsx:199
+#: src/components/LikesDialog.tsx:87
+#: src/Navigation.tsx:201
+#: src/Navigation.tsx:206
msgid "Liked by"
msgstr "इन यूजर ने लाइक किया है"
+#: src/screens/Profile/ProfileLabelerLikedBy.tsx:29
#: src/view/screens/PostLikedBy.tsx:27
#: src/view/screens/ProfileFeedLikedBy.tsx:27
msgid "Liked By"
msgstr ""
-#: src/view/com/feeds/FeedSourceCard.tsx:279
+#: src/view/com/feeds/FeedSourceCard.tsx:268
msgid "Liked by {0} {1}"
msgstr ""
-#: src/view/screens/ProfileFeed.tsx:606
+#: src/components/LabelingServiceCard/index.tsx:72
+msgid "Liked by {count} {0}"
+msgstr ""
+
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:284
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:298
+#: src/view/screens/ProfileFeed.tsx:600
msgid "Liked by {likeCount} {0}"
msgstr ""
-#: src/view/com/notifications/FeedItem.tsx:170
+#: src/view/com/notifications/FeedItem.tsx:176
msgid "liked your custom feed"
msgstr ""
-#: src/view/com/notifications/FeedItem.tsx:155
+#: src/view/com/notifications/FeedItem.tsx:161
msgid "liked your post"
msgstr ""
-#: src/view/screens/Profile.tsx:183
+#: src/view/screens/Profile.tsx:198
msgid "Likes"
msgstr ""
-#: src/view/com/post-thread/PostThreadItem.tsx:183
+#: src/view/com/post-thread/PostThreadItem.tsx:182
msgid "Likes on this post"
msgstr ""
-#: src/Navigation.tsx:168
+#: src/Navigation.tsx:170
msgid "List"
msgstr ""
-#: src/view/com/modals/CreateOrEditList.tsx:261
+#: src/view/com/modals/CreateOrEditList.tsx:262
msgid "List Avatar"
msgstr "सूची अवतार"
-#: src/view/screens/ProfileList.tsx:324
+#: src/view/screens/ProfileList.tsx:313
msgid "List blocked"
msgstr ""
-#: src/view/com/feeds/FeedSourceCard.tsx:233
+#: src/view/com/feeds/FeedSourceCard.tsx:220
msgid "List by {0}"
msgstr ""
-#: src/view/screens/ProfileList.tsx:378
+#: src/view/screens/ProfileList.tsx:357
msgid "List deleted"
msgstr ""
-#: src/view/screens/ProfileList.tsx:283
+#: src/view/screens/ProfileList.tsx:285
msgid "List muted"
msgstr ""
-#: src/view/com/modals/CreateOrEditList.tsx:275
+#: src/view/com/modals/CreateOrEditList.tsx:276
msgid "List Name"
msgstr "सूची का नाम"
-#: src/view/screens/ProfileList.tsx:343
+#: src/view/screens/ProfileList.tsx:327
msgid "List unblocked"
msgstr ""
-#: src/view/screens/ProfileList.tsx:302
+#: src/view/screens/ProfileList.tsx:299
msgid "List unmuted"
msgstr ""
-#: src/Navigation.tsx:112
-#: src/view/screens/Profile.tsx:185
-#: src/view/shell/desktop/LeftNav.tsx:379
-#: src/view/shell/Drawer.tsx:492
-#: src/view/shell/Drawer.tsx:493
+#: src/Navigation.tsx:114
+#: src/view/screens/Profile.tsx:194
+#: src/view/screens/Profile.tsx:200
+#: src/view/shell/desktop/LeftNav.tsx:383
+#: src/view/shell/Drawer.tsx:501
+#: src/view/shell/Drawer.tsx:502
msgid "Lists"
msgstr "सूची"
#: src/view/com/post-thread/PostThread.tsx:333
#: src/view/com/post-thread/PostThread.tsx:341
-msgid "Load more posts"
-msgstr "अधिक पोस्ट लोड करें"
+#~ msgid "Load more posts"
+#~ msgstr "अधिक पोस्ट लोड करें"
#: src/view/screens/Notifications.tsx:159
msgid "Load new notifications"
msgstr "नई सूचनाएं लोड करें"
-#: src/view/com/feeds/FeedPage.tsx:115
-#: src/view/screens/Profile.tsx:440
-#: src/view/screens/ProfileFeed.tsx:495
-#: src/view/screens/ProfileList.tsx:681
+#: src/screens/Profile/Sections/Feed.tsx:86
+#: src/view/com/feeds/FeedPage.tsx:138
+#: src/view/screens/ProfileFeed.tsx:507
+#: src/view/screens/ProfileList.tsx:697
msgid "Load new posts"
msgstr "नई पोस्ट लोड करें"
-#: src/view/com/composer/text-input/mobile/Autocomplete.tsx:95
+#: src/view/com/composer/text-input/mobile/Autocomplete.tsx:99
msgid "Loading..."
msgstr ""
@@ -2211,7 +2679,7 @@ msgstr ""
#~ msgid "Local dev server"
#~ msgstr "स्थानीय देव सर्वर"
-#: src/Navigation.tsx:209
+#: src/Navigation.tsx:221
msgid "Log"
msgstr ""
@@ -2222,31 +2690,35 @@ msgstr ""
msgid "Log out"
msgstr ""
-#: src/view/screens/Moderation.tsx:155
+#: src/screens/Moderation/index.tsx:442
msgid "Logged-out visibility"
msgstr ""
-#: src/view/com/auth/login/ChooseAccountForm.tsx:133
+#: src/components/AccountList.tsx:54
msgid "Login to account that is not listed"
msgstr "उस खाते में लॉग इन करें जो सूचीबद्ध नहीं है"
-#: src/view/com/modals/LinkWarning.tsx:65
+#: src/screens/Login/SetNewPasswordForm.tsx:116
+msgid "Looks like XXXXX-XXXXX"
+msgstr ""
+
+#: src/view/com/modals/LinkWarning.tsx:79
msgid "Make sure this is where you intend to go!"
msgstr "यह सुनिश्चित करने के लिए कि आप कहाँ जाना चाहते हैं!"
-#: src/components/dialogs/MutedWords.tsx:83
+#: src/components/dialogs/MutedWords.tsx:82
msgid "Manage your muted words and tags"
msgstr ""
#: src/view/com/auth/create/Step2.tsx:118
-msgid "May not be longer than 253 characters"
-msgstr ""
+#~ msgid "May not be longer than 253 characters"
+#~ msgstr ""
#: src/view/com/auth/create/Step2.tsx:109
-msgid "May only contain letters and numbers"
-msgstr ""
+#~ msgid "May only contain letters and numbers"
+#~ msgstr ""
-#: src/view/screens/Profile.tsx:182
+#: src/view/screens/Profile.tsx:197
msgid "Media"
msgstr ""
@@ -2259,70 +2731,89 @@ msgid "Mentioned users"
msgstr ""
#: src/view/com/util/ViewHeader.tsx:87
-#: src/view/screens/Search/Search.tsx:646
+#: src/view/screens/Search/Search.tsx:795
msgid "Menu"
msgstr "मेनू"
-#: src/view/com/posts/FeedErrorMessage.tsx:197
+#: src/view/com/posts/FeedErrorMessage.tsx:192
msgid "Message from server: {0}"
msgstr ""
-#: src/Navigation.tsx:117
-#: src/view/screens/Moderation.tsx:66
-#: src/view/screens/Settings/index.tsx:625
-#: src/view/shell/desktop/LeftNav.tsx:397
-#: src/view/shell/Drawer.tsx:511
-#: src/view/shell/Drawer.tsx:512
+#: src/lib/moderation/useReportOptions.ts:45
+msgid "Misleading Account"
+msgstr ""
+
+#: src/Navigation.tsx:119
+#: src/screens/Moderation/index.tsx:104
+#: src/view/screens/Settings/index.tsx:596
+#: src/view/shell/desktop/LeftNav.tsx:401
+#: src/view/shell/Drawer.tsx:520
+#: src/view/shell/Drawer.tsx:521
msgid "Moderation"
msgstr "मॉडरेशन"
+#: src/components/moderation/ModerationDetailsDialog.tsx:112
+msgid "Moderation details"
+msgstr ""
+
#: src/view/com/lists/ListCard.tsx:93
#: src/view/com/modals/UserAddRemoveLists.tsx:206
msgid "Moderation list by {0}"
msgstr ""
-#: src/view/screens/ProfileList.tsx:775
+#: src/view/screens/ProfileList.tsx:791
msgid "Moderation list by <0/>"
msgstr ""
#: src/view/com/lists/ListCard.tsx:91
#: src/view/com/modals/UserAddRemoveLists.tsx:204
-#: src/view/screens/ProfileList.tsx:773
+#: src/view/screens/ProfileList.tsx:789
msgid "Moderation list by you"
msgstr ""
-#: src/view/com/modals/CreateOrEditList.tsx:197
+#: src/view/com/modals/CreateOrEditList.tsx:198
msgid "Moderation list created"
msgstr ""
-#: src/view/com/modals/CreateOrEditList.tsx:183
+#: src/view/com/modals/CreateOrEditList.tsx:184
msgid "Moderation list updated"
msgstr ""
-#: src/view/screens/Moderation.tsx:114
+#: src/screens/Moderation/index.tsx:243
msgid "Moderation lists"
msgstr "मॉडरेशन सूचियाँ"
-#: src/Navigation.tsx:122
+#: src/Navigation.tsx:124
#: src/view/screens/ModerationModlists.tsx:58
msgid "Moderation Lists"
msgstr ""
-#: src/view/screens/Settings/index.tsx:619
+#: src/view/screens/Settings/index.tsx:590
msgid "Moderation settings"
msgstr ""
-#: src/view/com/modals/ModerationDetails.tsx:35
+#: src/Navigation.tsx:216
+msgid "Moderation states"
+msgstr ""
+
+#: src/screens/Moderation/index.tsx:215
+msgid "Moderation tools"
+msgstr ""
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:48
+#: src/lib/moderation/useModerationCauseDescription.ts:40
msgid "Moderator has chosen to set a general warning on the content."
msgstr ""
+#: src/view/com/post-thread/PostThreadItem.tsx:535
+msgid "More"
+msgstr ""
+
#: src/view/shell/desktop/Feeds.tsx:65
msgid "More feeds"
msgstr "अधिक फ़ीड"
-#: src/view/com/profile/ProfileHeader.tsx:523
-#: src/view/screens/ProfileFeed.tsx:363
-#: src/view/screens/ProfileList.tsx:617
+#: src/view/screens/ProfileList.tsx:601
msgid "More options"
msgstr "अधिक विकल्प"
@@ -2335,8 +2826,8 @@ msgid "Most-liked replies first"
msgstr ""
#: src/view/com/auth/create/Step2.tsx:122
-msgid "Must be at least 3 characters"
-msgstr ""
+#~ msgid "Must be at least 3 characters"
+#~ msgstr ""
#: src/components/TagMenu/index.tsx:249
msgid "Mute"
@@ -2346,11 +2837,12 @@ msgstr ""
msgid "Mute {truncatedTag}"
msgstr ""
-#: src/view/com/profile/ProfileHeader.tsx:327
+#: src/view/com/profile/ProfileMenu.tsx:279
+#: src/view/com/profile/ProfileMenu.tsx:286
msgid "Mute Account"
msgstr "खाता म्यूट करें"
-#: src/view/screens/ProfileList.tsx:544
+#: src/view/screens/ProfileList.tsx:520
msgid "Mute accounts"
msgstr "खातों को म्यूट करें"
@@ -2362,41 +2854,42 @@ msgstr ""
#~ msgid "Mute all {tag} posts"
#~ msgstr ""
-#: src/components/dialogs/MutedWords.tsx:149
+#: src/components/dialogs/MutedWords.tsx:148
msgid "Mute in tags only"
msgstr ""
-#: src/components/dialogs/MutedWords.tsx:134
+#: src/components/dialogs/MutedWords.tsx:133
msgid "Mute in text & tags"
msgstr ""
-#: src/view/screens/ProfileList.tsx:491
+#: src/view/screens/ProfileList.tsx:463
+#: src/view/screens/ProfileList.tsx:626
msgid "Mute list"
msgstr ""
-#: src/view/screens/ProfileList.tsx:275
+#: src/view/screens/ProfileList.tsx:621
msgid "Mute these accounts?"
msgstr "इन खातों को म्यूट करें?"
#: src/view/screens/ProfileList.tsx:279
-msgid "Mute this List"
-msgstr ""
+#~ msgid "Mute this List"
+#~ msgstr ""
-#: src/components/dialogs/MutedWords.tsx:127
+#: src/components/dialogs/MutedWords.tsx:126
msgid "Mute this word in post text and tags"
msgstr ""
-#: src/components/dialogs/MutedWords.tsx:142
+#: src/components/dialogs/MutedWords.tsx:141
msgid "Mute this word in tags only"
msgstr ""
-#: src/view/com/util/forms/PostDropdownBtn.tsx:251
-#: src/view/com/util/forms/PostDropdownBtn.tsx:257
+#: src/view/com/util/forms/PostDropdownBtn.tsx:269
+#: src/view/com/util/forms/PostDropdownBtn.tsx:275
msgid "Mute thread"
msgstr "थ्रेड म्यूट करें"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:267
-#: src/view/com/util/forms/PostDropdownBtn.tsx:269
+#: src/view/com/util/forms/PostDropdownBtn.tsx:285
+#: src/view/com/util/forms/PostDropdownBtn.tsx:287
msgid "Mute words & tags"
msgstr ""
@@ -2404,32 +2897,37 @@ msgstr ""
msgid "Muted"
msgstr ""
-#: src/view/screens/Moderation.tsx:128
+#: src/screens/Moderation/index.tsx:255
msgid "Muted accounts"
msgstr "म्यूट किए गए खाते"
-#: src/Navigation.tsx:127
-#: src/view/screens/ModerationMutedAccounts.tsx:107
+#: src/Navigation.tsx:129
+#: src/view/screens/ModerationMutedAccounts.tsx:112
msgid "Muted Accounts"
msgstr "म्यूट किए गए खाते"
-#: src/view/screens/ModerationMutedAccounts.tsx:115
+#: src/view/screens/ModerationMutedAccounts.tsx:120
msgid "Muted accounts have their posts removed from your feed and from your notifications. Mutes are completely private."
msgstr "म्यूट किए गए खातों की पोस्ट आपके फ़ीड और आपकी सूचनाओं से हटा दी जाती हैं। म्यूट पूरी तरह से निजी हैं."
-#: src/view/screens/Moderation.tsx:100
+#: src/lib/moderation/useModerationCauseDescription.ts:85
+msgid "Muted by \"{0}\""
+msgstr ""
+
+#: src/screens/Moderation/index.tsx:231
msgid "Muted words & tags"
msgstr ""
-#: src/view/screens/ProfileList.tsx:277
+#: src/view/screens/ProfileList.tsx:623
msgid "Muting is private. Muted accounts can interact with you, but you will not see their posts or receive notifications from them."
msgstr "म्यूट करना निजी है. म्यूट किए गए खाते आपके साथ इंटरैक्ट कर सकते हैं, लेकिन आप उनकी पोस्ट नहीं देखेंगे या उनसे सूचनाएं प्राप्त नहीं करेंगे।"
-#: src/view/com/modals/BirthDateSettings.tsx:56
+#: src/components/dialogs/BirthDateSettings.tsx:35
+#: src/components/dialogs/BirthDateSettings.tsx:38
msgid "My Birthday"
msgstr "जन्मदिन"
-#: src/view/screens/Feeds.tsx:663
+#: src/view/screens/Feeds.tsx:688
msgid "My Feeds"
msgstr "मेरी फ़ीड"
@@ -2437,32 +2935,40 @@ msgstr "मेरी फ़ीड"
msgid "My Profile"
msgstr "मेरी प्रोफाइल"
-#: src/view/screens/Settings/index.tsx:582
+#: src/view/screens/Settings/index.tsx:547
+msgid "My saved feeds"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:553
msgid "My Saved Feeds"
msgstr "मेरी फ़ीड"
#: src/view/com/auth/server-input/index.tsx:118
-msgid "my-server.com"
-msgstr ""
+#~ msgid "my-server.com"
+#~ msgstr ""
-#: src/view/com/modals/AddAppPasswords.tsx:179
-#: src/view/com/modals/CreateOrEditList.tsx:290
+#: src/view/com/modals/AddAppPasswords.tsx:180
+#: src/view/com/modals/CreateOrEditList.tsx:291
msgid "Name"
msgstr "नाम"
-#: src/view/com/modals/CreateOrEditList.tsx:145
+#: src/view/com/modals/CreateOrEditList.tsx:146
msgid "Name is required"
msgstr ""
+#: src/lib/moderation/useReportOptions.ts:57
+#: src/lib/moderation/useReportOptions.ts:78
+#: src/lib/moderation/useReportOptions.ts:86
+msgid "Name or Description Violates Community Standards"
+msgstr ""
+
#: src/screens/Onboarding/index.tsx:25
msgid "Nature"
msgstr ""
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:190
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:219
-#: src/view/com/auth/login/LoginForm.tsx:289
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:196
-#: src/view/com/modals/ChangePassword.tsx:166
+#: src/screens/Login/ForgotPasswordForm.tsx:173
+#: src/screens/Login/LoginForm.tsx:255
+#: src/view/com/modals/ChangePassword.tsx:168
msgid "Navigates to the next screen"
msgstr ""
@@ -2470,22 +2976,30 @@ msgstr ""
msgid "Navigates to your profile"
msgstr ""
-#: src/view/com/modals/EmbedConsent.tsx:107
-#: src/view/com/modals/EmbedConsent.tsx:123
-msgid "Never load embeds from {0}"
+#: src/components/ReportDialog/SelectReportOptionView.tsx:123
+msgid "Need to report a copyright violation?"
msgstr ""
+#: src/view/com/modals/EmbedConsent.tsx:107
+#: src/view/com/modals/EmbedConsent.tsx:123
+#~ msgid "Never load embeds from {0}"
+#~ msgstr ""
+
#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:72
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:72
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:74
msgid "Never lose access to your followers and data."
msgstr "अपने फ़ॉलोअर्स और डेटा तक पहुंच कभी न खोएं।"
-#: src/screens/Onboarding/StepFinished.tsx:119
+#: src/screens/Onboarding/StepFinished.tsx:123
msgid "Never lose access to your followers or data."
msgstr ""
#: src/components/dialogs/MutedWords.tsx:293
-msgid "Nevermind"
+#~ msgid "Nevermind"
+#~ msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:519
+msgid "Nevermind, create a handle for me"
msgstr ""
#: src/view/screens/Lists.tsx:76
@@ -2497,39 +3011,39 @@ msgstr ""
msgid "New"
msgstr "नया"
-#: src/view/com/modals/CreateOrEditList.tsx:252
+#: src/view/com/modals/CreateOrEditList.tsx:253
msgid "New Moderation List"
msgstr ""
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:150
+#: src/view/com/modals/ChangePassword.tsx:212
msgid "New password"
msgstr ""
-#: src/view/com/modals/ChangePassword.tsx:215
+#: src/view/com/modals/ChangePassword.tsx:217
msgid "New Password"
msgstr ""
-#: src/view/com/feeds/FeedPage.tsx:126
+#: src/view/com/feeds/FeedPage.tsx:149
msgctxt "action"
msgid "New post"
msgstr ""
-#: src/view/screens/Feeds.tsx:555
+#: src/view/screens/Feeds.tsx:580
#: src/view/screens/Notifications.tsx:168
-#: src/view/screens/Profile.tsx:382
-#: src/view/screens/ProfileFeed.tsx:433
-#: src/view/screens/ProfileList.tsx:196
-#: src/view/screens/ProfileList.tsx:224
-#: src/view/shell/desktop/LeftNav.tsx:248
+#: src/view/screens/Profile.tsx:480
+#: src/view/screens/ProfileFeed.tsx:445
+#: src/view/screens/ProfileList.tsx:200
+#: src/view/screens/ProfileList.tsx:228
+#: src/view/shell/desktop/LeftNav.tsx:252
msgid "New post"
msgstr "नई पोस्ट"
-#: src/view/shell/desktop/LeftNav.tsx:258
+#: src/view/shell/desktop/LeftNav.tsx:262
msgctxt "action"
msgid "New Post"
msgstr "नई पोस्ट"
-#: src/view/com/modals/CreateOrEditList.tsx:247
+#: src/view/com/modals/CreateOrEditList.tsx:248
msgid "New User List"
msgstr ""
@@ -2541,15 +3055,16 @@ msgstr ""
msgid "News"
msgstr ""
-#: src/view/com/auth/create/CreateAccount.tsx:172
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:182
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:192
-#: src/view/com/auth/login/LoginForm.tsx:291
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:187
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:198
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:79
-#: src/view/com/modals/ChangePassword.tsx:251
+#: src/screens/Login/ForgotPasswordForm.tsx:143
+#: src/screens/Login/ForgotPasswordForm.tsx:150
+#: src/screens/Login/LoginForm.tsx:254
+#: src/screens/Login/LoginForm.tsx:261
+#: src/screens/Login/SetNewPasswordForm.tsx:174
+#: src/screens/Login/SetNewPasswordForm.tsx:180
+#: src/screens/Signup/index.tsx:207
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:80
#: src/view/com/modals/ChangePassword.tsx:253
+#: src/view/com/modals/ChangePassword.tsx:255
msgid "Next"
msgstr "अगला"
@@ -2558,7 +3073,7 @@ msgctxt "action"
msgid "Next"
msgstr ""
-#: src/view/com/lightbox/Lightbox.web.tsx:149
+#: src/view/com/lightbox/Lightbox.web.tsx:169
msgid "Next image"
msgstr "अगली फोटो"
@@ -2571,39 +3086,48 @@ msgstr "अगली फोटो"
msgid "No"
msgstr "नहीं"
-#: src/view/screens/ProfileFeed.tsx:584
-#: src/view/screens/ProfileList.tsx:755
+#: src/view/screens/ProfileFeed.tsx:574
+#: src/view/screens/ProfileList.tsx:771
msgid "No description"
msgstr "कोई विवरण नहीं"
-#: src/view/com/profile/ProfileHeader.tsx:170
+#: src/view/com/modals/ChangeHandle.tsx:405
+msgid "No DNS Panel"
+msgstr ""
+
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:118
msgid "No longer following {0}"
msgstr ""
+#: src/screens/Signup/StepHandle.tsx:115
+msgid "No longer than 253 characters"
+msgstr ""
+
#: src/view/com/notifications/Feed.tsx:109
msgid "No notifications yet!"
msgstr ""
-#: src/view/com/composer/text-input/mobile/Autocomplete.tsx:97
-#: src/view/com/composer/text-input/web/Autocomplete.tsx:191
+#: src/view/com/composer/text-input/mobile/Autocomplete.tsx:101
+#: src/view/com/composer/text-input/web/Autocomplete.tsx:195
msgid "No result"
msgstr ""
-#: src/components/Lists.tsx:192
+#: src/components/Lists.tsx:183
msgid "No results found"
msgstr ""
-#: src/view/screens/Feeds.tsx:495
+#: src/view/screens/Feeds.tsx:520
msgid "No results found for \"{query}\""
msgstr "\"{query}\" के लिए कोई परिणाम नहीं मिला"
#: src/view/com/modals/ListAddRemoveUsers.tsx:127
-#: src/view/screens/Search/Search.tsx:281
-#: src/view/screens/Search/Search.tsx:309
+#: src/view/screens/Search/Search.tsx:349
+#: src/view/screens/Search/Search.tsx:387
msgid "No results found for {query}"
msgstr "{query} के लिए कोई परिणाम नहीं मिला\""
-#: src/view/com/modals/EmbedConsent.tsx:129
+#: src/components/dialogs/EmbedConsent.tsx:105
+#: src/components/dialogs/EmbedConsent.tsx:112
msgid "No thanks"
msgstr ""
@@ -2611,12 +3135,21 @@ msgstr ""
msgid "Nobody"
msgstr ""
+#: src/components/LikedByList.tsx:79
+#: src/components/LikesDialog.tsx:99
+msgid "Nobody has liked this yet. Maybe you should be the first!"
+msgstr ""
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:42
+msgid "Non-sexual Nudity"
+msgstr ""
+
#: src/view/com/modals/SelfLabel.tsx:135
msgid "Not Applicable."
msgstr "लागू नहीं।"
-#: src/Navigation.tsx:107
-#: src/view/screens/Profile.tsx:106
+#: src/Navigation.tsx:109
+#: src/view/screens/Profile.tsx:101
msgid "Not Found"
msgstr ""
@@ -2625,17 +3158,23 @@ msgstr ""
msgid "Not right now"
msgstr ""
-#: src/view/screens/Moderation.tsx:252
+#: src/view/com/profile/ProfileMenu.tsx:368
+#: src/view/com/util/forms/PostDropdownBtn.tsx:364
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:248
+msgid "Note about sharing"
+msgstr ""
+
+#: src/screens/Moderation/index.tsx:540
msgid "Note: Bluesky is an open and public network. This setting only limits the visibility of your content on the Bluesky app and website, and other apps may not respect this setting. Your content may still be shown to logged-out users by other apps and websites."
msgstr ""
-#: src/Navigation.tsx:457
+#: src/Navigation.tsx:461
#: src/view/screens/Notifications.tsx:124
#: src/view/screens/Notifications.tsx:148
-#: src/view/shell/bottom-bar/BottomBar.tsx:205
-#: src/view/shell/desktop/LeftNav.tsx:361
-#: src/view/shell/Drawer.tsx:435
-#: src/view/shell/Drawer.tsx:436
+#: src/view/shell/bottom-bar/BottomBar.tsx:216
+#: src/view/shell/desktop/LeftNav.tsx:365
+#: src/view/shell/Drawer.tsx:444
+#: src/view/shell/Drawer.tsx:445
msgid "Notifications"
msgstr "सूचनाएं"
@@ -2643,15 +3182,36 @@ msgstr "सूचनाएं"
msgid "Nudity"
msgstr ""
-#: src/view/com/util/ErrorBoundary.tsx:35
+#: src/lib/moderation/useReportOptions.ts:71
+msgid "Nudity or adult content not labeled as such"
+msgstr ""
+
+#: src/lib/moderation/useReportOptions.ts:71
+#~ msgid "Nudity or pornography not labeled as such"
+#~ msgstr ""
+
+#: src/screens/Signup/index.tsx:143
+msgid "of"
+msgstr ""
+
+#: src/lib/moderation/useLabelBehaviorDescription.ts:11
+msgid "Off"
+msgstr ""
+
+#: src/view/com/util/ErrorBoundary.tsx:49
msgid "Oh no!"
msgstr "अरे नहीं!"
-#: src/screens/Onboarding/StepInterests/index.tsx:128
+#: src/screens/Onboarding/StepInterests/index.tsx:132
msgid "Oh no! Something went wrong."
msgstr ""
-#: src/view/com/auth/login/PasswordUpdatedForm.tsx:41
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:126
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:333
+msgid "OK"
+msgstr ""
+
+#: src/screens/Login/PasswordUpdatedForm.tsx:44
msgid "Okay"
msgstr "ठीक है"
@@ -2659,11 +3219,11 @@ msgstr "ठीक है"
msgid "Oldest replies first"
msgstr ""
-#: src/view/screens/Settings/index.tsx:234
+#: src/view/screens/Settings/index.tsx:247
msgid "Onboarding reset"
msgstr ""
-#: src/view/com/composer/Composer.tsx:382
+#: src/view/com/composer/Composer.tsx:392
msgid "One or more images is missing alt text."
msgstr "एक या अधिक छवियाँ alt पाठ याद आती हैं।।"
@@ -2671,49 +3231,66 @@ msgstr "एक या अधिक छवियाँ alt पाठ याद
msgid "Only {0} can reply."
msgstr ""
-#: src/components/Lists.tsx:82
+#: src/screens/Signup/StepHandle.tsx:98
+msgid "Only contains letters, numbers, and hyphens"
+msgstr ""
+
+#: src/components/Lists.tsx:75
msgid "Oops, something went wrong!"
msgstr ""
-#: src/components/Lists.tsx:188
-#: src/view/screens/AppPasswords.tsx:65
-#: src/view/screens/Profile.tsx:106
+#: src/components/Lists.tsx:170
+#: src/view/screens/AppPasswords.tsx:67
+#: src/view/screens/Profile.tsx:101
msgid "Oops!"
msgstr ""
-#: src/screens/Onboarding/StepFinished.tsx:115
+#: src/screens/Onboarding/StepFinished.tsx:119
msgid "Open"
msgstr ""
#: src/view/screens/Moderation.tsx:75
-msgid "Open content filtering settings"
-msgstr ""
+#~ msgid "Open content filtering settings"
+#~ msgstr ""
-#: src/view/com/composer/Composer.tsx:477
-#: src/view/com/composer/Composer.tsx:478
+#: src/view/com/composer/Composer.tsx:491
+#: src/view/com/composer/Composer.tsx:492
msgid "Open emoji picker"
msgstr ""
-#: src/view/screens/Settings/index.tsx:712
+#: src/view/screens/ProfileFeed.tsx:311
+msgid "Open feed options menu"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:685
msgid "Open links with in-app browser"
msgstr ""
-#: src/view/screens/Moderation.tsx:92
-msgid "Open muted words settings"
+#: src/screens/Moderation/index.tsx:227
+msgid "Open muted words and tags settings"
msgstr ""
-#: src/view/com/home/HomeHeaderLayoutMobile.tsx:50
+#: src/view/screens/Moderation.tsx:92
+#~ msgid "Open muted words settings"
+#~ msgstr ""
+
+#: src/view/com/home/HomeHeaderLayoutMobile.tsx:52
msgid "Open navigation"
msgstr "ओपन नेविगेशन"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:175
+#: src/view/com/util/forms/PostDropdownBtn.tsx:191
msgid "Open post options menu"
msgstr ""
-#: src/view/screens/Settings/index.tsx:804
+#: src/view/screens/Settings/index.tsx:792
+#: src/view/screens/Settings/index.tsx:802
msgid "Open storybook page"
msgstr ""
+#: src/view/screens/Settings/index.tsx:780
+msgid "Open system log"
+msgstr ""
+
#: src/view/com/util/forms/DropdownButton.tsx:154
msgid "Opens {numItems} options"
msgstr ""
@@ -2722,11 +3299,11 @@ msgstr ""
msgid "Opens additional details for a debug entry"
msgstr ""
-#: src/view/com/notifications/FeedItem.tsx:349
+#: src/view/com/notifications/FeedItem.tsx:355
msgid "Opens an expanded list of users in this notification"
msgstr ""
-#: src/view/com/composer/photos/OpenCameraBtn.tsx:61
+#: src/view/com/composer/photos/OpenCameraBtn.tsx:78
msgid "Opens camera on device"
msgstr ""
@@ -2734,7 +3311,7 @@ msgstr ""
msgid "Opens composer"
msgstr ""
-#: src/view/screens/Settings/index.tsx:595
+#: src/view/screens/Settings/index.tsx:566
msgid "Opens configurable language settings"
msgstr "भाषा सेटिंग्स खोलें"
@@ -2743,71 +3320,114 @@ msgid "Opens device photo gallery"
msgstr ""
#: src/view/com/profile/ProfileHeader.tsx:420
-msgid "Opens editor for profile display name, avatar, background image, and description"
-msgstr ""
+#~ msgid "Opens editor for profile display name, avatar, background image, and description"
+#~ msgstr ""
-#: src/view/screens/Settings/index.tsx:649
+#: src/view/screens/Settings/index.tsx:620
msgid "Opens external embeds settings"
msgstr ""
-#: src/view/com/profile/ProfileHeader.tsx:575
-msgid "Opens followers list"
+#: src/view/com/auth/SplashScreen.tsx:50
+#: src/view/com/auth/SplashScreen.web.tsx:94
+msgid "Opens flow to create a new Bluesky account"
msgstr ""
-#: src/view/com/profile/ProfileHeader.tsx:594
-msgid "Opens following list"
+#: src/view/com/auth/SplashScreen.tsx:65
+#: src/view/com/auth/SplashScreen.web.tsx:109
+msgid "Opens flow to sign into your existing Bluesky account"
msgstr ""
+#: src/view/com/profile/ProfileHeader.tsx:575
+#~ msgid "Opens followers list"
+#~ msgstr ""
+
+#: src/view/com/profile/ProfileHeader.tsx:594
+#~ msgid "Opens following list"
+#~ msgstr ""
+
#: src/view/screens/Settings.tsx:412
#~ msgid "Opens invite code list"
#~ msgstr ""
-#: src/view/com/modals/InviteCodes.tsx:172
+#: src/view/com/modals/InviteCodes.tsx:173
msgid "Opens list of invite codes"
msgstr ""
-#: src/view/screens/Settings/index.tsx:774
-msgid "Opens modal for account deletion confirmation. Requires email code."
+#: src/view/screens/Settings/index.tsx:762
+msgid "Opens modal for account deletion confirmation. Requires email code"
msgstr ""
-#: src/view/com/modals/ChangeHandle.tsx:281
+#: src/view/screens/Settings/index.tsx:774
+#~ msgid "Opens modal for account deletion confirmation. Requires email code."
+#~ msgstr ""
+
+#: src/view/screens/Settings/index.tsx:720
+msgid "Opens modal for changing your Bluesky password"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:669
+msgid "Opens modal for choosing a new Bluesky handle"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:743
+msgid "Opens modal for downloading your Bluesky account data (repository)"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:932
+msgid "Opens modal for email verification"
+msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:282
msgid "Opens modal for using custom domain"
msgstr "कस्टम डोमेन का उपयोग करने के लिए मोडल खोलें"
-#: src/view/screens/Settings/index.tsx:620
+#: src/view/screens/Settings/index.tsx:591
msgid "Opens moderation settings"
msgstr "मॉडरेशन सेटिंग्स खोलें"
-#: src/view/com/auth/login/LoginForm.tsx:239
+#: src/screens/Login/LoginForm.tsx:202
msgid "Opens password reset form"
msgstr ""
-#: src/view/com/home/HomeHeaderLayout.web.tsx:63
-#: src/view/screens/Feeds.tsx:356
+#: src/view/com/home/HomeHeaderLayout.web.tsx:67
+#: src/view/screens/Feeds.tsx:381
msgid "Opens screen to edit Saved Feeds"
msgstr ""
-#: src/view/screens/Settings/index.tsx:576
+#: src/view/screens/Settings/index.tsx:548
msgid "Opens screen with all saved feeds"
msgstr "सभी बचाया फ़ीड के साथ स्क्रीन खोलें"
+#: src/view/screens/Settings/index.tsx:647
+msgid "Opens the app password settings"
+msgstr ""
+
#: src/view/screens/Settings/index.tsx:676
-msgid "Opens the app password settings page"
-msgstr "ऐप पासवर्ड सेटिंग पेज खोलें"
+#~ msgid "Opens the app password settings page"
+#~ msgstr "ऐप पासवर्ड सेटिंग पेज खोलें"
+
+#: src/view/screens/Settings/index.tsx:505
+msgid "Opens the Following feed preferences"
+msgstr ""
#: src/view/screens/Settings/index.tsx:535
-msgid "Opens the home feed preferences"
-msgstr "होम फीड वरीयताओं को खोलता है"
+#~ msgid "Opens the home feed preferences"
+#~ msgstr "होम फीड वरीयताओं को खोलता है"
-#: src/view/screens/Settings/index.tsx:805
+#: src/view/com/modals/LinkWarning.tsx:93
+msgid "Opens the linked website"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:793
+#: src/view/screens/Settings/index.tsx:803
msgid "Opens the storybook page"
msgstr "स्टोरीबुक पेज खोलें"
-#: src/view/screens/Settings/index.tsx:793
+#: src/view/screens/Settings/index.tsx:781
msgid "Opens the system log page"
msgstr "सिस्टम लॉग पेज खोलें"
-#: src/view/screens/Settings/index.tsx:556
+#: src/view/screens/Settings/index.tsx:526
msgid "Opens the threads preferences"
msgstr "धागे वरीयताओं को खोलता है"
@@ -2815,6 +3435,10 @@ msgstr "धागे वरीयताओं को खोलता है"
msgid "Option {0} of {numItems}"
msgstr ""
+#: src/components/ReportDialog/SubmitView.tsx:160
+msgid "Optionally provide additional information below:"
+msgstr ""
+
#: src/view/com/modals/Threadgate.tsx:89
msgid "Or combine these options:"
msgstr ""
@@ -2823,7 +3447,11 @@ msgstr ""
#~ msgid "Or you can try our \"Discover\" algorithm:"
#~ msgstr ""
-#: src/view/com/auth/login/ChooseAccountForm.tsx:138
+#: src/lib/moderation/useReportOptions.ts:25
+msgid "Other"
+msgstr ""
+
+#: src/components/AccountList.tsx:73
msgid "Other account"
msgstr "अन्य खाता"
@@ -2835,7 +3463,7 @@ msgstr "अन्य खाता"
msgid "Other..."
msgstr "अन्य..।"
-#: src/components/Lists.tsx:194
+#: src/components/Lists.tsx:184
#: src/view/screens/NotFound.tsx:45
msgid "Page not found"
msgstr "पृष्ठ नहीं मिला"
@@ -2844,27 +3472,35 @@ msgstr "पृष्ठ नहीं मिला"
msgid "Page Not Found"
msgstr ""
-#: src/view/com/auth/create/Step1.tsx:191
-#: src/view/com/auth/create/Step1.tsx:201
-#: src/view/com/auth/login/LoginForm.tsx:226
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:161
-#: src/view/com/modals/DeleteAccount.tsx:202
+#: src/screens/Login/LoginForm.tsx:178
+#: src/screens/Signup/StepInfo/index.tsx:102
+#: src/view/com/modals/DeleteAccount.tsx:194
+#: src/view/com/modals/DeleteAccount.tsx:201
msgid "Password"
msgstr "पासवर्ड"
-#: src/view/com/auth/login/Login.tsx:157
+#: src/view/com/modals/ChangePassword.tsx:142
+msgid "Password Changed"
+msgstr ""
+
+#: src/screens/Login/index.tsx:157
msgid "Password updated"
msgstr ""
-#: src/view/com/auth/login/PasswordUpdatedForm.tsx:28
+#: src/screens/Login/PasswordUpdatedForm.tsx:30
msgid "Password updated!"
msgstr "पासवर्ड अद्यतन!"
-#: src/Navigation.tsx:162
+#: src/view/screens/Search/Search.tsx:447
+#: src/view/screens/Search/Search.tsx:456
+msgid "People"
+msgstr ""
+
+#: src/Navigation.tsx:164
msgid "People followed by @{0}"
msgstr ""
-#: src/Navigation.tsx:155
+#: src/Navigation.tsx:157
msgid "People following @{0}"
msgstr ""
@@ -2888,37 +3524,41 @@ msgstr ""
msgid "Pictures meant for adults."
msgstr "चित्र वयस्कों के लिए थे।।"
-#: src/view/screens/ProfileFeed.tsx:354
-#: src/view/screens/ProfileList.tsx:581
+#: src/view/screens/ProfileFeed.tsx:303
+#: src/view/screens/ProfileList.tsx:565
msgid "Pin to home"
msgstr ""
-#: src/view/screens/SavedFeeds.tsx:88
+#: src/view/screens/ProfileFeed.tsx:306
+msgid "Pin to Home"
+msgstr ""
+
+#: src/view/screens/SavedFeeds.tsx:89
msgid "Pinned Feeds"
msgstr "पिन किया गया फ़ीड"
-#: src/view/com/util/post-embeds/ExternalGifEmbed.tsx:111
+#: src/view/com/util/post-embeds/ExternalGifEmbed.tsx:123
msgid "Play {0}"
msgstr ""
-#: src/view/com/util/post-embeds/ExternalPlayerEmbed.tsx:54
-#: src/view/com/util/post-embeds/ExternalPlayerEmbed.tsx:55
+#: src/view/com/util/post-embeds/ExternalPlayerEmbed.tsx:57
+#: src/view/com/util/post-embeds/ExternalPlayerEmbed.tsx:58
msgid "Play Video"
msgstr ""
-#: src/view/com/util/post-embeds/ExternalGifEmbed.tsx:110
+#: src/view/com/util/post-embeds/ExternalGifEmbed.tsx:122
msgid "Plays the GIF"
msgstr ""
-#: src/view/com/auth/create/state.ts:124
+#: src/screens/Signup/state.ts:241
msgid "Please choose your handle."
msgstr ""
-#: src/view/com/auth/create/state.ts:117
+#: src/screens/Signup/state.ts:234
msgid "Please choose your password."
msgstr ""
-#: src/view/com/auth/create/state.ts:131
+#: src/screens/Signup/state.ts:251
msgid "Please complete the verification captcha."
msgstr ""
@@ -2926,7 +3566,7 @@ msgstr ""
msgid "Please confirm your email before changing it. This is a temporary requirement while email-updating tools are added, and it will soon be removed."
msgstr "इसे बदलने से पहले कृपया अपने ईमेल की पुष्टि करें। यह एक अस्थायी आवश्यकता है जबकि ईमेल-अपडेटिंग टूल जोड़ा जाता है, और इसे जल्द ही हटा दिया जाएगा।।"
-#: src/view/com/modals/AddAppPasswords.tsx:90
+#: src/view/com/modals/AddAppPasswords.tsx:91
msgid "Please enter a name for your app password. All spaces is not allowed."
msgstr ""
@@ -2934,11 +3574,11 @@ msgstr ""
#~ msgid "Please enter a phone number that can receive SMS text messages."
#~ msgstr ""
-#: src/view/com/modals/AddAppPasswords.tsx:145
+#: src/view/com/modals/AddAppPasswords.tsx:146
msgid "Please enter a unique name for this App Password or use our randomly generated one."
msgstr "कृपया इस ऐप पासवर्ड के लिए एक अद्वितीय नाम दर्ज करें या हमारे यादृच्छिक रूप से उत्पन्न एक का उपयोग करें।।"
-#: src/components/dialogs/MutedWords.tsx:68
+#: src/components/dialogs/MutedWords.tsx:67
msgid "Please enter a valid word, tag, or phrase to mute"
msgstr ""
@@ -2950,18 +3590,22 @@ msgstr ""
#~ msgid "Please enter the verification code sent to {phoneNumberFormatted}."
#~ msgstr ""
-#: src/view/com/auth/create/state.ts:103
+#: src/screens/Signup/state.ts:220
msgid "Please enter your email."
msgstr ""
-#: src/view/com/modals/DeleteAccount.tsx:191
+#: src/view/com/modals/DeleteAccount.tsx:190
msgid "Please enter your password as well:"
msgstr "कृपया अपना पासवर्ड भी दर्ज करें:"
+#: src/components/moderation/LabelsOnMeDialog.tsx:221
+msgid "Please explain why you think this label was incorrectly applied by {0}"
+msgstr ""
+
#: src/view/com/modals/AppealLabel.tsx:72
#: src/view/com/modals/AppealLabel.tsx:75
-msgid "Please tell us why you think this content warning was incorrectly applied!"
-msgstr ""
+#~ msgid "Please tell us why you think this content warning was incorrectly applied!"
+#~ msgstr ""
#: src/view/com/modals/VerifyEmail.tsx:101
msgid "Please Verify Your Email"
@@ -2979,13 +3623,17 @@ msgstr ""
msgid "Porn"
msgstr ""
-#: src/view/com/composer/Composer.tsx:357
-#: src/view/com/composer/Composer.tsx:365
+#: src/lib/moderation/useGlobalLabelStrings.ts:34
+#~ msgid "Pornography"
+#~ msgstr ""
+
+#: src/view/com/composer/Composer.tsx:367
+#: src/view/com/composer/Composer.tsx:375
msgctxt "action"
msgid "Post"
msgstr ""
-#: src/view/com/post-thread/PostThread.tsx:303
+#: src/view/com/post-thread/PostThread.tsx:292
msgctxt "description"
msgid "Post"
msgstr "पोस्ट"
@@ -2994,20 +3642,30 @@ msgstr "पोस्ट"
msgid "Post by {0}"
msgstr ""
-#: src/Navigation.tsx:174
-#: src/Navigation.tsx:181
-#: src/Navigation.tsx:188
+#: src/Navigation.tsx:176
+#: src/Navigation.tsx:183
+#: src/Navigation.tsx:190
msgid "Post by @{0}"
msgstr ""
-#: src/view/com/util/forms/PostDropdownBtn.tsx:108
+#: src/view/com/util/forms/PostDropdownBtn.tsx:111
msgid "Post deleted"
msgstr ""
-#: src/view/com/post-thread/PostThread.tsx:462
+#: src/view/com/post-thread/PostThread.tsx:157
msgid "Post hidden"
msgstr "छुपा पोस्ट"
+#: src/components/moderation/ModerationDetailsDialog.tsx:97
+#: src/lib/moderation/useModerationCauseDescription.ts:99
+msgid "Post Hidden by Muted Word"
+msgstr ""
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:100
+#: src/lib/moderation/useModerationCauseDescription.ts:108
+msgid "Post Hidden by You"
+msgstr ""
+
#: src/view/com/composer/select-language/SelectLangBtn.tsx:87
msgid "Post language"
msgstr "पोस्ट भाषा"
@@ -3016,7 +3674,8 @@ msgstr "पोस्ट भाषा"
msgid "Post Languages"
msgstr "पोस्ट भाषा"
-#: src/view/com/post-thread/PostThread.tsx:514
+#: src/view/com/post-thread/PostThread.tsx:152
+#: src/view/com/post-thread/PostThread.tsx:164
msgid "Post not found"
msgstr "पोस्ट नहीं मिला"
@@ -3024,11 +3683,12 @@ msgstr "पोस्ट नहीं मिला"
msgid "posts"
msgstr ""
-#: src/view/screens/Profile.tsx:180
+#: src/view/screens/Profile.tsx:195
+#: src/view/screens/Search/Search.tsx:467
msgid "Posts"
msgstr ""
-#: src/components/dialogs/MutedWords.tsx:90
+#: src/components/dialogs/MutedWords.tsx:89
msgid "Posts can be muted based on their text, their tags, or both."
msgstr ""
@@ -3036,11 +3696,21 @@ msgstr ""
msgid "Posts hidden"
msgstr ""
-#: src/view/com/modals/LinkWarning.tsx:46
+#: src/view/com/modals/LinkWarning.tsx:60
msgid "Potentially Misleading Link"
msgstr "शायद एक भ्रामक लिंक"
-#: src/view/com/lightbox/Lightbox.web.tsx:135
+#: src/components/forms/HostingProvider.tsx:46
+msgid "Press to change hosting provider"
+msgstr ""
+
+#: src/components/Error.tsx:74
+#: src/components/Lists.tsx:80
+#: src/screens/Signup/index.tsx:187
+msgid "Press to retry"
+msgstr ""
+
+#: src/view/com/lightbox/Lightbox.web.tsx:150
msgid "Previous image"
msgstr "पिछली छवि"
@@ -3052,39 +3722,45 @@ msgstr "प्राथमिक भाषा"
msgid "Prioritize Your Follows"
msgstr "अपने फ़ॉलोअर्स को प्राथमिकता दें"
-#: src/view/screens/Settings/index.tsx:632
+#: src/view/screens/Settings/index.tsx:603
#: src/view/shell/desktop/RightNav.tsx:72
msgid "Privacy"
msgstr "गोपनीयता"
-#: src/Navigation.tsx:219
+#: src/Navigation.tsx:231
+#: src/screens/Signup/StepInfo/Policies.tsx:56
#: src/view/screens/PrivacyPolicy.tsx:29
-#: src/view/screens/Settings/index.tsx:891
-#: src/view/shell/Drawer.tsx:262
+#: src/view/screens/Settings/index.tsx:887
+#: src/view/shell/Drawer.tsx:271
msgid "Privacy Policy"
msgstr "गोपनीयता नीति"
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:198
+#: src/screens/Login/ForgotPasswordForm.tsx:156
msgid "Processing..."
msgstr "प्रसंस्करण..."
-#: src/view/shell/bottom-bar/BottomBar.tsx:247
-#: src/view/shell/desktop/LeftNav.tsx:415
+#: src/view/screens/DebugMod.tsx:888
+#: src/view/screens/Profile.tsx:361
+msgid "profile"
+msgstr ""
+
+#: src/view/shell/bottom-bar/BottomBar.tsx:261
+#: src/view/shell/desktop/LeftNav.tsx:419
#: src/view/shell/Drawer.tsx:70
-#: src/view/shell/Drawer.tsx:546
-#: src/view/shell/Drawer.tsx:547
+#: src/view/shell/Drawer.tsx:555
+#: src/view/shell/Drawer.tsx:556
msgid "Profile"
msgstr "प्रोफ़ाइल"
-#: src/view/com/modals/EditProfile.tsx:128
+#: src/view/com/modals/EditProfile.tsx:129
msgid "Profile updated"
msgstr ""
-#: src/view/screens/Settings/index.tsx:949
+#: src/view/screens/Settings/index.tsx:945
msgid "Protect your account by verifying your email."
msgstr "अपने ईमेल को सत्यापित करके अपने खाते को सुरक्षित रखें।।"
-#: src/screens/Onboarding/StepFinished.tsx:101
+#: src/screens/Onboarding/StepFinished.tsx:105
msgid "Public"
msgstr ""
@@ -3096,15 +3772,15 @@ msgstr ""
msgid "Public, shareable lists which can drive feeds."
msgstr "सार्वजनिक, साझा करने योग्य सूचियाँ जो फ़ीड चला सकती हैं।"
-#: src/view/com/composer/Composer.tsx:342
+#: src/view/com/composer/Composer.tsx:352
msgid "Publish post"
msgstr ""
-#: src/view/com/composer/Composer.tsx:342
+#: src/view/com/composer/Composer.tsx:352
msgid "Publish reply"
msgstr ""
-#: src/view/com/modals/Repost.tsx:65
+#: src/view/com/modals/Repost.tsx:66
msgctxt "action"
msgid "Quote post"
msgstr ""
@@ -3113,7 +3789,7 @@ msgstr ""
msgid "Quote post"
msgstr "कोटे पोस्ट"
-#: src/view/com/modals/Repost.tsx:70
+#: src/view/com/modals/Repost.tsx:71
msgctxt "action"
msgid "Quote Post"
msgstr "कोटे पोस्ट"
@@ -3122,48 +3798,66 @@ msgstr "कोटे पोस्ट"
msgid "Random (aka \"Poster's Roulette\")"
msgstr ""
-#: src/view/com/modals/EditImage.tsx:236
+#: src/view/com/modals/EditImage.tsx:237
msgid "Ratios"
msgstr "अनुपात"
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:116
+#: src/view/screens/Search/Search.tsx:924
+msgid "Recent Searches"
+msgstr ""
+
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:117
msgid "Recommended Feeds"
msgstr "अनुशंसित फ़ीड"
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:180
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:181
msgid "Recommended Users"
msgstr "अनुशंसित लोग"
-#: src/components/dialogs/MutedWords.tsx:298
-#: src/view/com/modals/ListAddRemoveUsers.tsx:264
+#: src/components/dialogs/MutedWords.tsx:286
+#: src/view/com/feeds/FeedSourceCard.tsx:283
+#: src/view/com/modals/ListAddRemoveUsers.tsx:268
#: src/view/com/modals/SelfLabel.tsx:83
#: src/view/com/modals/UserAddRemoveLists.tsx:219
-#: src/view/com/util/UserAvatar.tsx:285
-#: src/view/com/util/UserBanner.tsx:91
+#: src/view/com/posts/FeedErrorMessage.tsx:204
msgid "Remove"
msgstr "निकालें"
#: src/view/com/feeds/FeedSourceCard.tsx:108
-msgid "Remove {0} from my feeds?"
-msgstr "मेरे फ़ीड से {0} हटाएं?"
+#~ msgid "Remove {0} from my feeds?"
+#~ msgstr "मेरे फ़ीड से {0} हटाएं?"
#: src/view/com/util/AccountDropdownBtn.tsx:22
msgid "Remove account"
msgstr "खाता हटाएं"
-#: src/view/com/posts/FeedErrorMessage.tsx:131
-#: src/view/com/posts/FeedErrorMessage.tsx:166
+#: src/view/com/util/UserAvatar.tsx:360
+msgid "Remove Avatar"
+msgstr ""
+
+#: src/view/com/util/UserBanner.tsx:148
+msgid "Remove Banner"
+msgstr ""
+
+#: src/view/com/posts/FeedErrorMessage.tsx:160
msgid "Remove feed"
msgstr "फ़ीड हटाएँ"
-#: src/view/com/feeds/FeedSourceCard.tsx:107
-#: src/view/com/feeds/FeedSourceCard.tsx:169
-#: src/view/com/feeds/FeedSourceCard.tsx:174
-#: src/view/com/feeds/FeedSourceCard.tsx:245
-#: src/view/screens/ProfileFeed.tsx:273
+#: src/view/com/posts/FeedErrorMessage.tsx:201
+msgid "Remove feed?"
+msgstr ""
+
+#: src/view/com/feeds/FeedSourceCard.tsx:173
+#: src/view/com/feeds/FeedSourceCard.tsx:233
+#: src/view/screens/ProfileFeed.tsx:346
+#: src/view/screens/ProfileFeed.tsx:352
msgid "Remove from my feeds"
msgstr "मेरे फ़ीड से हटाएँ"
+#: src/view/com/feeds/FeedSourceCard.tsx:278
+msgid "Remove from my feeds?"
+msgstr ""
+
#: src/view/com/composer/photos/Gallery.tsx:167
msgid "Remove image"
msgstr "छवि निकालें"
@@ -3172,37 +3866,44 @@ msgstr "छवि निकालें"
msgid "Remove image preview"
msgstr "छवि पूर्वावलोकन निकालें"
-#: src/components/dialogs/MutedWords.tsx:343
+#: src/components/dialogs/MutedWords.tsx:329
msgid "Remove mute word from your list"
msgstr ""
-#: src/view/com/modals/Repost.tsx:47
+#: src/view/com/modals/Repost.tsx:48
msgid "Remove repost"
msgstr ""
#: src/view/com/feeds/FeedSourceCard.tsx:175
-msgid "Remove this feed from my feeds?"
+#~ msgid "Remove this feed from my feeds?"
+#~ msgstr ""
+
+#: src/view/com/posts/FeedErrorMessage.tsx:202
+msgid "Remove this feed from your saved feeds"
msgstr ""
#: src/view/com/posts/FeedErrorMessage.tsx:132
-msgid "Remove this feed from your saved feeds?"
-msgstr "इस फ़ीड को सहेजे गए फ़ीड से हटा दें?"
+#~ msgid "Remove this feed from your saved feeds?"
+#~ msgstr "इस फ़ीड को सहेजे गए फ़ीड से हटा दें?"
#: src/view/com/modals/ListAddRemoveUsers.tsx:199
#: src/view/com/modals/UserAddRemoveLists.tsx:152
msgid "Removed from list"
msgstr ""
-#: src/view/com/feeds/FeedSourceCard.tsx:113
-#: src/view/com/feeds/FeedSourceCard.tsx:180
+#: src/view/com/feeds/FeedSourceCard.tsx:121
msgid "Removed from my feeds"
msgstr ""
+#: src/view/screens/ProfileFeed.tsx:210
+msgid "Removed from your feeds"
+msgstr ""
+
#: src/view/com/composer/ExternalEmbed.tsx:71
msgid "Removes default thumbnail from {0}"
msgstr ""
-#: src/view/screens/Profile.tsx:181
+#: src/view/screens/Profile.tsx:196
msgid "Replies"
msgstr ""
@@ -3210,7 +3911,7 @@ msgstr ""
msgid "Replies to this thread are disabled"
msgstr ""
-#: src/view/com/composer/Composer.tsx:355
+#: src/view/com/composer/Composer.tsx:365
msgctxt "action"
msgid "Reply"
msgstr ""
@@ -3219,37 +3920,62 @@ msgstr ""
msgid "Reply Filters"
msgstr "फिल्टर"
-#: src/view/com/post/Post.tsx:167
-#: src/view/com/posts/FeedItem.tsx:287
+#: src/view/com/post/Post.tsx:177
+#: src/view/com/posts/FeedItem.tsx:285
msgctxt "description"
msgid "Reply to <0/>"
msgstr ""
#: src/view/com/modals/report/Modal.tsx:166
-msgid "Report {collectionName}"
-msgstr "रिपोर्ट {collectionName}"
+#~ msgid "Report {collectionName}"
+#~ msgstr "रिपोर्ट {collectionName}"
-#: src/view/com/profile/ProfileHeader.tsx:361
+#: src/view/com/profile/ProfileMenu.tsx:319
+#: src/view/com/profile/ProfileMenu.tsx:322
msgid "Report Account"
msgstr "रिपोर्ट"
-#: src/view/screens/ProfileFeed.tsx:293
+#: src/components/ReportDialog/index.tsx:49
+msgid "Report dialog"
+msgstr ""
+
+#: src/view/screens/ProfileFeed.tsx:363
+#: src/view/screens/ProfileFeed.tsx:365
msgid "Report feed"
msgstr "रिपोर्ट फ़ीड"
-#: src/view/screens/ProfileList.tsx:459
+#: src/view/screens/ProfileList.tsx:431
msgid "Report List"
msgstr "रिपोर्ट सूची"
-#: src/view/com/modals/report/SendReportButton.tsx:37
-#: src/view/com/util/forms/PostDropdownBtn.tsx:301
-#: src/view/com/util/forms/PostDropdownBtn.tsx:309
+#: src/view/com/util/forms/PostDropdownBtn.tsx:312
+#: src/view/com/util/forms/PostDropdownBtn.tsx:314
msgid "Report post"
msgstr "रिपोर्ट पोस्ट"
-#: src/view/com/modals/Repost.tsx:43
-#: src/view/com/modals/Repost.tsx:48
-#: src/view/com/modals/Repost.tsx:53
+#: src/components/ReportDialog/SelectReportOptionView.tsx:42
+msgid "Report this content"
+msgstr ""
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:55
+msgid "Report this feed"
+msgstr ""
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:52
+msgid "Report this list"
+msgstr ""
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:49
+msgid "Report this post"
+msgstr ""
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:46
+msgid "Report this user"
+msgstr ""
+
+#: src/view/com/modals/Repost.tsx:44
+#: src/view/com/modals/Repost.tsx:49
+#: src/view/com/modals/Repost.tsx:54
#: src/view/com/util/post-ctrls/RepostButton.tsx:61
msgctxt "action"
msgid "Repost"
@@ -3268,19 +3994,23 @@ msgstr "पोस्ट दोबारा पोस्ट करें या
msgid "Reposted By"
msgstr "द्वारा दोबारा पोस्ट किया गया"
-#: src/view/com/posts/FeedItem.tsx:207
+#: src/view/com/posts/FeedItem.tsx:199
msgid "Reposted by {0}"
msgstr ""
-#: src/view/com/posts/FeedItem.tsx:224
-msgid "Reposted by <0/>"
+#: src/view/com/posts/FeedItem.tsx:214
+#~ msgid "Reposted by <0/>"
+#~ msgstr ""
+
+#: src/view/com/posts/FeedItem.tsx:216
+msgid "Reposted by <0><1/>0>"
msgstr ""
-#: src/view/com/notifications/FeedItem.tsx:162
+#: src/view/com/notifications/FeedItem.tsx:168
msgid "reposted your post"
msgstr ""
-#: src/view/com/post-thread/PostThreadItem.tsx:188
+#: src/view/com/post-thread/PostThreadItem.tsx:187
msgid "Reposts of this post"
msgstr ""
@@ -3293,57 +4023,58 @@ msgstr "अनुरोध बदलें"
#~ msgid "Request code"
#~ msgstr ""
-#: src/view/com/modals/ChangePassword.tsx:239
#: src/view/com/modals/ChangePassword.tsx:241
+#: src/view/com/modals/ChangePassword.tsx:243
msgid "Request Code"
msgstr ""
-#: src/view/screens/Settings/index.tsx:456
+#: src/view/screens/Settings/index.tsx:426
msgid "Require alt text before posting"
msgstr "पोस्ट करने से पहले वैकल्पिक टेक्स्ट की आवश्यकता है"
-#: src/view/com/auth/create/Step1.tsx:146
+#: src/screens/Signup/StepInfo/index.tsx:69
msgid "Required for this provider"
msgstr "इस प्रदाता के लिए आवश्यक"
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:124
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:136
+#: src/view/com/modals/ChangePassword.tsx:185
msgid "Reset code"
msgstr "कोड रीसेट करें"
-#: src/view/com/modals/ChangePassword.tsx:190
+#: src/view/com/modals/ChangePassword.tsx:192
msgid "Reset Code"
msgstr ""
#: src/view/screens/Settings/index.tsx:824
-msgid "Reset onboarding"
-msgstr ""
+#~ msgid "Reset onboarding"
+#~ msgstr ""
-#: src/view/screens/Settings/index.tsx:827
+#: src/view/screens/Settings/index.tsx:822
+#: src/view/screens/Settings/index.tsx:825
msgid "Reset onboarding state"
msgstr "ऑनबोर्डिंग स्टेट को रीसेट करें"
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:104
+#: src/screens/Login/ForgotPasswordForm.tsx:86
msgid "Reset password"
msgstr "पासवर्ड रीसेट"
#: src/view/screens/Settings/index.tsx:814
-msgid "Reset preferences"
-msgstr ""
+#~ msgid "Reset preferences"
+#~ msgstr ""
-#: src/view/screens/Settings/index.tsx:817
+#: src/view/screens/Settings/index.tsx:812
+#: src/view/screens/Settings/index.tsx:815
msgid "Reset preferences state"
msgstr "प्राथमिकताओं को रीसेट करें"
-#: src/view/screens/Settings/index.tsx:825
+#: src/view/screens/Settings/index.tsx:823
msgid "Resets the onboarding state"
msgstr "ऑनबोर्डिंग स्टेट को रीसेट करें"
-#: src/view/screens/Settings/index.tsx:815
+#: src/view/screens/Settings/index.tsx:813
msgid "Resets the preferences state"
msgstr "प्राथमिकताओं की स्थिति को रीसेट करें"
-#: src/view/com/auth/login/LoginForm.tsx:269
+#: src/screens/Login/LoginForm.tsx:235
msgid "Retries login"
msgstr ""
@@ -3352,12 +4083,13 @@ msgstr ""
msgid "Retries the last action, which errored out"
msgstr ""
-#: src/screens/Onboarding/StepInterests/index.tsx:221
-#: src/screens/Onboarding/StepInterests/index.tsx:224
-#: src/view/com/auth/create/CreateAccount.tsx:181
-#: src/view/com/auth/create/CreateAccount.tsx:186
-#: src/view/com/auth/login/LoginForm.tsx:268
-#: src/view/com/auth/login/LoginForm.tsx:271
+#: src/components/Error.tsx:79
+#: src/components/Lists.tsx:91
+#: src/screens/Login/LoginForm.tsx:234
+#: src/screens/Login/LoginForm.tsx:241
+#: src/screens/Onboarding/StepInterests/index.tsx:225
+#: src/screens/Onboarding/StepInterests/index.tsx:228
+#: src/screens/Signup/index.tsx:194
#: src/view/com/util/error/ErrorMessage.tsx:55
#: src/view/com/util/error/ErrorScreen.tsx:72
msgid "Retry"
@@ -3367,84 +4099,113 @@ msgstr "फिर से कोशिश करो"
#~ msgid "Retry."
#~ msgstr ""
-#: src/view/screens/ProfileList.tsx:903
+#: src/components/Error.tsx:86
+#: src/view/screens/ProfileList.tsx:919
msgid "Return to previous page"
msgstr ""
+#: src/view/screens/NotFound.tsx:59
+msgid "Returns to home page"
+msgstr ""
+
+#: src/view/screens/NotFound.tsx:58
+#: src/view/screens/ProfileFeed.tsx:113
+msgid "Returns to previous page"
+msgstr ""
+
#: src/view/shell/desktop/RightNav.tsx:55
#~ msgid "SANDBOX. Posts and accounts are not permanent."
#~ msgstr ""
+#: src/components/dialogs/BirthDateSettings.tsx:125
+#: src/view/com/modals/ChangeHandle.tsx:174
+#: src/view/com/modals/CreateOrEditList.tsx:338
+#: src/view/com/modals/EditProfile.tsx:225
+msgid "Save"
+msgstr "सेव करो"
+
#: src/view/com/lightbox/Lightbox.tsx:132
-#: src/view/com/modals/CreateOrEditList.tsx:345
+#: src/view/com/modals/CreateOrEditList.tsx:346
msgctxt "action"
msgid "Save"
msgstr ""
-#: src/view/com/modals/BirthDateSettings.tsx:94
-#: src/view/com/modals/BirthDateSettings.tsx:97
-#: src/view/com/modals/ChangeHandle.tsx:173
-#: src/view/com/modals/CreateOrEditList.tsx:337
-#: src/view/com/modals/EditProfile.tsx:224
-#: src/view/screens/ProfileFeed.tsx:346
-msgid "Save"
-msgstr "सेव करो"
-
-#: src/view/com/modals/AltImage.tsx:130
+#: src/view/com/modals/AltImage.tsx:131
msgid "Save alt text"
msgstr "सेव ऑल्ट टेक्स्ट"
-#: src/view/com/modals/EditProfile.tsx:232
+#: src/components/dialogs/BirthDateSettings.tsx:119
+msgid "Save birthday"
+msgstr ""
+
+#: src/view/com/modals/EditProfile.tsx:233
msgid "Save Changes"
msgstr "बदलाव सेव करो"
-#: src/view/com/modals/ChangeHandle.tsx:170
+#: src/view/com/modals/ChangeHandle.tsx:171
msgid "Save handle change"
msgstr "बदलाव सेव करो"
-#: src/view/com/modals/crop-image/CropImage.web.tsx:144
+#: src/view/com/modals/crop-image/CropImage.web.tsx:145
msgid "Save image crop"
msgstr "फोटो बदलाव सेव करो"
-#: src/view/screens/SavedFeeds.tsx:122
+#: src/view/screens/ProfileFeed.tsx:347
+#: src/view/screens/ProfileFeed.tsx:353
+msgid "Save to my feeds"
+msgstr ""
+
+#: src/view/screens/SavedFeeds.tsx:123
msgid "Saved Feeds"
msgstr "सहेजे गए फ़ीड"
-#: src/view/com/modals/EditProfile.tsx:225
+#: src/view/com/lightbox/Lightbox.tsx:81
+msgid "Saved to your camera roll."
+msgstr ""
+
+#: src/view/screens/ProfileFeed.tsx:214
+msgid "Saved to your feeds"
+msgstr ""
+
+#: src/view/com/modals/EditProfile.tsx:226
msgid "Saves any changes to your profile"
msgstr ""
-#: src/view/com/modals/ChangeHandle.tsx:171
+#: src/view/com/modals/ChangeHandle.tsx:172
msgid "Saves handle change to {handle}"
msgstr ""
+#: src/view/com/modals/crop-image/CropImage.web.tsx:146
+msgid "Saves image crop settings"
+msgstr ""
+
#: src/screens/Onboarding/index.tsx:36
msgid "Science"
msgstr ""
-#: src/view/screens/ProfileList.tsx:859
+#: src/view/screens/ProfileList.tsx:875
msgid "Scroll to top"
msgstr ""
-#: src/Navigation.tsx:447
-#: src/view/com/auth/LoggedOut.tsx:122
+#: src/Navigation.tsx:451
+#: src/view/com/auth/LoggedOut.tsx:123
#: src/view/com/modals/ListAddRemoveUsers.tsx:75
#: src/view/com/util/forms/SearchInput.tsx:67
#: src/view/com/util/forms/SearchInput.tsx:79
-#: src/view/screens/Search/Search.tsx:419
-#: src/view/screens/Search/Search.tsx:668
-#: src/view/screens/Search/Search.tsx:686
-#: src/view/shell/bottom-bar/BottomBar.tsx:159
-#: src/view/shell/desktop/LeftNav.tsx:324
-#: src/view/shell/desktop/Search.tsx:214
-#: src/view/shell/desktop/Search.tsx:223
-#: src/view/shell/Drawer.tsx:362
-#: src/view/shell/Drawer.tsx:363
+#: src/view/screens/Search/Search.tsx:568
+#: src/view/screens/Search/Search.tsx:817
+#: src/view/screens/Search/Search.tsx:835
+#: src/view/shell/bottom-bar/BottomBar.tsx:170
+#: src/view/shell/desktop/LeftNav.tsx:328
+#: src/view/shell/desktop/Search.tsx:215
+#: src/view/shell/desktop/Search.tsx:224
+#: src/view/shell/Drawer.tsx:371
+#: src/view/shell/Drawer.tsx:372
msgid "Search"
msgstr "खोज"
-#: src/view/screens/Search/Search.tsx:735
-#: src/view/shell/desktop/Search.tsx:255
+#: src/view/screens/Search/Search.tsx:884
+#: src/view/shell/desktop/Search.tsx:256
msgid "Search for \"{query}\""
msgstr ""
@@ -3464,8 +4225,8 @@ msgstr ""
#~ msgid "Search for all posts with tag {tag}"
#~ msgstr ""
-#: src/view/com/auth/LoggedOut.tsx:104
#: src/view/com/auth/LoggedOut.tsx:105
+#: src/view/com/auth/LoggedOut.tsx:106
#: src/view/com/modals/ListAddRemoveUsers.tsx:70
msgid "Search for users"
msgstr ""
@@ -3498,39 +4259,60 @@ msgstr ""
#~ msgid "See <0>{tag}0> posts by this user"
#~ msgstr ""
-#: src/view/screens/SavedFeeds.tsx:163
+#: src/view/com/notifications/FeedItem.tsx:419
+#: src/view/com/util/UserAvatar.tsx:381
+msgid "See profile"
+msgstr ""
+
+#: src/view/screens/SavedFeeds.tsx:164
msgid "See this guide"
msgstr ""
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:39
-msgid "See what's next"
-msgstr "आगे क्या है"
+#: src/view/com/auth/HomeLoggedOutCTA.tsx:40
+#~ msgid "See what's next"
+#~ msgstr "आगे क्या है"
#: src/view/com/util/Selector.tsx:106
msgid "Select {item}"
msgstr ""
+#: src/screens/Login/ChooseAccountForm.tsx:61
+msgid "Select account"
+msgstr ""
+
#: src/view/com/modals/ServerInput.tsx:75
#~ msgid "Select Bluesky Social"
#~ msgstr "Bluesky Social का चयन करें"
-#: src/view/com/auth/login/Login.tsx:117
+#: src/screens/Login/index.tsx:120
msgid "Select from an existing account"
msgstr "मौजूदा खाते से चुनें"
+#: src/view/screens/LanguageSettings.tsx:299
+msgid "Select languages"
+msgstr ""
+
+#: src/components/ReportDialog/SelectLabelerView.tsx:30
+msgid "Select moderator"
+msgstr ""
+
#: src/view/com/util/Selector.tsx:107
msgid "Select option {i} of {numItems}"
msgstr ""
#: src/view/com/auth/create/Step1.tsx:96
-#: src/view/com/auth/login/LoginForm.tsx:150
-msgid "Select service"
-msgstr "सेवा चुनें"
+#: src/view/com/auth/login/LoginForm.tsx:153
+#~ msgid "Select service"
+#~ msgstr "सेवा चुनें"
#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:52
msgid "Select some accounts below to follow"
msgstr ""
+#: src/components/ReportDialog/SubmitView.tsx:133
+msgid "Select the moderation service(s) to report to"
+msgstr ""
+
#: src/view/com/auth/server-input/index.tsx:82
msgid "Select the service that hosts your data."
msgstr ""
@@ -3539,11 +4321,11 @@ msgstr ""
#~ msgid "Select the types of content that you want to see (or not see), and we'll handle the rest."
#~ msgstr ""
-#: src/screens/Onboarding/StepTopicalFeeds.tsx:96
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:100
msgid "Select topical feeds to follow from the list below"
msgstr ""
-#: src/screens/Onboarding/StepModeration/index.tsx:75
+#: src/screens/Onboarding/StepModeration/index.tsx:63
msgid "Select what you want to see (or not see), and we’ll handle the rest."
msgstr ""
@@ -3552,10 +4334,18 @@ msgid "Select which languages you want your subscribed feeds to include. If none
msgstr "चुनें कि आप अपनी सदस्यता वाली फ़ीड में कौन सी भाषाएँ शामिल करना चाहते हैं। यदि कोई भी चयनित नहीं है, तो सभी भाषाएँ दिखाई जाएंगी।"
#: src/view/screens/LanguageSettings.tsx:98
-msgid "Select your app language for the default text to display in the app"
-msgstr "ऐप में प्रदर्शित होने वाले डिफ़ॉल्ट टेक्स्ट के लिए अपनी ऐप भाषा चुनें"
+#~ msgid "Select your app language for the default text to display in the app"
+#~ msgstr "ऐप में प्रदर्शित होने वाले डिफ़ॉल्ट टेक्स्ट के लिए अपनी ऐप भाषा चुनें"
-#: src/screens/Onboarding/StepInterests/index.tsx:196
+#: src/view/screens/LanguageSettings.tsx:98
+msgid "Select your app language for the default text to display in the app."
+msgstr ""
+
+#: src/screens/Signup/StepInfo/index.tsx:135
+msgid "Select your date of birth"
+msgstr ""
+
+#: src/screens/Onboarding/StepInterests/index.tsx:200
msgid "Select your interests from the options below"
msgstr ""
@@ -3567,11 +4357,11 @@ msgstr ""
msgid "Select your preferred language for translations in your feed."
msgstr "अपने फ़ीड में अनुवाद के लिए अपनी पसंदीदा भाषा चुनें।"
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:116
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:117
msgid "Select your primary algorithmic feeds"
msgstr ""
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:142
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:133
msgid "Select your secondary algorithmic feeds"
msgstr ""
@@ -3580,69 +4370,82 @@ msgstr ""
msgid "Send Confirmation Email"
msgstr "पुष्टिकरण ईमेल भेजें"
-#: src/view/com/modals/DeleteAccount.tsx:131
+#: src/view/com/modals/DeleteAccount.tsx:130
msgid "Send email"
msgstr "ईमेल भेजें"
-#: src/view/com/modals/DeleteAccount.tsx:144
+#: src/view/com/modals/DeleteAccount.tsx:143
msgctxt "action"
msgid "Send Email"
msgstr "ईमेल भेजें"
-#: src/view/shell/Drawer.tsx:295
-#: src/view/shell/Drawer.tsx:316
+#: src/view/shell/Drawer.tsx:304
+#: src/view/shell/Drawer.tsx:325
msgid "Send feedback"
msgstr "प्रतिक्रिया भेजें"
-#: src/view/com/modals/report/SendReportButton.tsx:45
-msgid "Send Report"
-msgstr "रिपोर्ट भेजें"
+#: src/components/ReportDialog/SubmitView.tsx:213
+#: src/components/ReportDialog/SubmitView.tsx:217
+msgid "Send report"
+msgstr ""
-#: src/view/com/modals/DeleteAccount.tsx:133
+#: src/view/com/modals/report/SendReportButton.tsx:45
+#~ msgid "Send Report"
+#~ msgstr "रिपोर्ट भेजें"
+
+#: src/components/ReportDialog/SelectLabelerView.tsx:44
+msgid "Send report to {0}"
+msgstr ""
+
+#: src/view/com/modals/DeleteAccount.tsx:132
msgid "Sends email with confirmation code for account deletion"
msgstr ""
-#: src/view/com/auth/server-input/index.tsx:110
+#: src/view/com/auth/server-input/index.tsx:114
msgid "Server address"
msgstr ""
#: src/view/com/modals/ContentFilteringSettings.tsx:311
-msgid "Set {value} for {labelGroup} content moderation policy"
-msgstr ""
+#~ msgid "Set {value} for {labelGroup} content moderation policy"
+#~ msgstr ""
#: src/view/com/modals/ContentFilteringSettings.tsx:160
#: src/view/com/modals/ContentFilteringSettings.tsx:179
-msgctxt "action"
-msgid "Set Age"
+#~ msgctxt "action"
+#~ msgid "Set Age"
+#~ msgstr ""
+
+#: src/screens/Moderation/index.tsx:304
+msgid "Set birthdate"
msgstr ""
#: src/view/screens/Settings/index.tsx:488
-msgid "Set color theme to dark"
-msgstr ""
+#~ msgid "Set color theme to dark"
+#~ msgstr ""
#: src/view/screens/Settings/index.tsx:481
-msgid "Set color theme to light"
-msgstr ""
+#~ msgid "Set color theme to light"
+#~ msgstr ""
#: src/view/screens/Settings/index.tsx:475
-msgid "Set color theme to system setting"
-msgstr ""
+#~ msgid "Set color theme to system setting"
+#~ msgstr ""
#: src/view/screens/Settings/index.tsx:514
-msgid "Set dark theme to the dark theme"
-msgstr ""
+#~ msgid "Set dark theme to the dark theme"
+#~ msgstr ""
#: src/view/screens/Settings/index.tsx:507
-msgid "Set dark theme to the dim theme"
-msgstr ""
+#~ msgid "Set dark theme to the dim theme"
+#~ msgstr ""
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:104
+#: src/screens/Login/SetNewPasswordForm.tsx:102
msgid "Set new password"
msgstr "नया पासवर्ड सेट करें"
#: src/view/com/auth/create/Step1.tsx:202
-msgid "Set password"
-msgstr ""
+#~ msgid "Set password"
+#~ msgstr ""
#: src/view/screens/PreferencesFollowingFeed.tsx:225
msgid "Set this setting to \"No\" to hide all quote posts from your feed. Reposts will still be visible."
@@ -3668,32 +4471,64 @@ msgstr "इस सेटिंग को \"हाँ\" में सेट क
msgid "Set this setting to \"Yes\" to show samples of your saved feeds in your Following feed. This is an experimental feature."
msgstr ""
-#: src/screens/Onboarding/Layout.tsx:50
+#: src/screens/Onboarding/Layout.tsx:48
msgid "Set up your account"
msgstr ""
-#: src/view/com/modals/ChangeHandle.tsx:266
+#: src/view/com/modals/ChangeHandle.tsx:267
msgid "Sets Bluesky username"
msgstr ""
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:157
+#: src/view/screens/Settings/index.tsx:458
+msgid "Sets color theme to dark"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:451
+msgid "Sets color theme to light"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:445
+msgid "Sets color theme to system setting"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:484
+msgid "Sets dark theme to the dark theme"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:477
+msgid "Sets dark theme to the dim theme"
+msgstr ""
+
+#: src/screens/Login/ForgotPasswordForm.tsx:113
msgid "Sets email for password reset"
msgstr ""
#: src/view/com/auth/login/ForgotPasswordForm.tsx:122
-msgid "Sets hosting provider for password reset"
+#~ msgid "Sets hosting provider for password reset"
+#~ msgstr ""
+
+#: src/view/com/modals/crop-image/CropImage.web.tsx:124
+msgid "Sets image aspect ratio to square"
+msgstr ""
+
+#: src/view/com/modals/crop-image/CropImage.web.tsx:114
+msgid "Sets image aspect ratio to tall"
+msgstr ""
+
+#: src/view/com/modals/crop-image/CropImage.web.tsx:104
+msgid "Sets image aspect ratio to wide"
msgstr ""
#: src/view/com/auth/create/Step1.tsx:97
-#: src/view/com/auth/login/LoginForm.tsx:151
-msgid "Sets server for the Bluesky client"
-msgstr ""
+#: src/view/com/auth/login/LoginForm.tsx:154
+#~ msgid "Sets server for the Bluesky client"
+#~ msgstr ""
-#: src/Navigation.tsx:137
-#: src/view/screens/Settings/index.tsx:294
-#: src/view/shell/desktop/LeftNav.tsx:433
-#: src/view/shell/Drawer.tsx:567
-#: src/view/shell/Drawer.tsx:568
+#: src/Navigation.tsx:139
+#: src/view/screens/Settings/index.tsx:316
+#: src/view/shell/desktop/LeftNav.tsx:437
+#: src/view/shell/Drawer.tsx:576
+#: src/view/shell/Drawer.tsx:577
msgid "Settings"
msgstr "सेटिंग्स"
@@ -3701,28 +4536,49 @@ msgstr "सेटिंग्स"
msgid "Sexual activity or erotic nudity."
msgstr "यौन गतिविधि या कामुक नग्नता।।"
+#: src/lib/moderation/useGlobalLabelStrings.ts:38
+msgid "Sexually Suggestive"
+msgstr ""
+
#: src/view/com/lightbox/Lightbox.tsx:141
msgctxt "action"
msgid "Share"
msgstr ""
-#: src/view/com/profile/ProfileHeader.tsx:295
-#: src/view/com/util/forms/PostDropdownBtn.tsx:231
-#: src/view/com/util/forms/PostDropdownBtn.tsx:237
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:215
-#: src/view/screens/ProfileList.tsx:418
+#: src/view/com/profile/ProfileMenu.tsx:215
+#: src/view/com/profile/ProfileMenu.tsx:224
+#: src/view/com/util/forms/PostDropdownBtn.tsx:236
+#: src/view/com/util/forms/PostDropdownBtn.tsx:245
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:237
+#: src/view/screens/ProfileList.tsx:390
msgid "Share"
msgstr "शेयर"
-#: src/view/screens/ProfileFeed.tsx:305
+#: src/view/com/profile/ProfileMenu.tsx:373
+#: src/view/com/util/forms/PostDropdownBtn.tsx:369
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:253
+msgid "Share anyway"
+msgstr ""
+
+#: src/view/screens/ProfileFeed.tsx:373
+#: src/view/screens/ProfileFeed.tsx:375
msgid "Share feed"
msgstr ""
-#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:43
-#: src/view/com/modals/ContentFilteringSettings.tsx:266
-#: src/view/com/util/moderation/ContentHider.tsx:107
-#: src/view/com/util/moderation/PostHider.tsx:108
-#: src/view/screens/Settings/index.tsx:344
+#: src/view/com/modals/LinkWarning.tsx:89
+#: src/view/com/modals/LinkWarning.tsx:95
+msgid "Share Link"
+msgstr ""
+
+#: src/view/com/modals/LinkWarning.tsx:92
+msgid "Shares the linked website"
+msgstr ""
+
+#: src/components/moderation/ContentHider.tsx:115
+#: src/components/moderation/LabelPreference.tsx:136
+#: src/components/moderation/PostHider.tsx:107
+#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:54
+#: src/view/screens/Settings/index.tsx:366
msgid "Show"
msgstr "दिखाओ"
@@ -3730,21 +4586,31 @@ msgstr "दिखाओ"
msgid "Show all replies"
msgstr ""
-#: src/view/com/util/moderation/ScreenHider.tsx:132
+#: src/components/moderation/ScreenHider.tsx:169
+#: src/components/moderation/ScreenHider.tsx:172
msgid "Show anyway"
msgstr "दिखाओ"
-#: src/view/com/modals/EmbedConsent.tsx:87
-msgid "Show embeds from {0}"
+#: src/lib/moderation/useLabelBehaviorDescription.ts:27
+#: src/lib/moderation/useLabelBehaviorDescription.ts:63
+msgid "Show badge"
msgstr ""
-#: src/view/com/profile/ProfileHeader.tsx:459
+#: src/lib/moderation/useLabelBehaviorDescription.ts:61
+msgid "Show badge and filter from feeds"
+msgstr ""
+
+#: src/view/com/modals/EmbedConsent.tsx:87
+#~ msgid "Show embeds from {0}"
+#~ msgstr ""
+
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:200
msgid "Show follows similar to {0}"
msgstr ""
-#: src/view/com/post-thread/PostThreadItem.tsx:538
-#: src/view/com/post/Post.tsx:198
-#: src/view/com/posts/FeedItem.tsx:363
+#: src/view/com/post-thread/PostThreadItem.tsx:501
+#: src/view/com/post/Post.tsx:212
+#: src/view/com/posts/FeedItem.tsx:360
msgid "Show More"
msgstr ""
@@ -3756,15 +4622,15 @@ msgstr "मेरी फीड से पोस्ट दिखाएं"
msgid "Show Quote Posts"
msgstr "उद्धरण पोस्ट दिखाओ"
-#: src/screens/Onboarding/StepFollowingFeed.tsx:118
+#: src/screens/Onboarding/StepFollowingFeed.tsx:119
msgid "Show quote-posts in Following feed"
msgstr ""
-#: src/screens/Onboarding/StepFollowingFeed.tsx:134
+#: src/screens/Onboarding/StepFollowingFeed.tsx:135
msgid "Show quotes in Following"
msgstr ""
-#: src/screens/Onboarding/StepFollowingFeed.tsx:94
+#: src/screens/Onboarding/StepFollowingFeed.tsx:95
msgid "Show re-posts in Following feed"
msgstr ""
@@ -3776,11 +4642,11 @@ msgstr "उत्तर दिखाएँ"
msgid "Show replies by people you follow before all other replies."
msgstr "अन्य सभी उत्तरों से पहले उन लोगों के उत्तर दिखाएं जिन्हें आप फ़ॉलो करते हैं।"
-#: src/screens/Onboarding/StepFollowingFeed.tsx:86
+#: src/screens/Onboarding/StepFollowingFeed.tsx:87
msgid "Show replies in Following"
msgstr ""
-#: src/screens/Onboarding/StepFollowingFeed.tsx:70
+#: src/screens/Onboarding/StepFollowingFeed.tsx:71
msgid "Show replies in Following feed"
msgstr ""
@@ -3792,107 +4658,127 @@ msgstr ""
msgid "Show Reposts"
msgstr "रीपोस्ट दिखाएँ"
-#: src/screens/Onboarding/StepFollowingFeed.tsx:110
+#: src/screens/Onboarding/StepFollowingFeed.tsx:111
msgid "Show reposts in Following"
msgstr ""
-#: src/view/com/util/moderation/ContentHider.tsx:67
-#: src/view/com/util/moderation/PostHider.tsx:61
+#: src/components/moderation/ContentHider.tsx:68
+#: src/components/moderation/PostHider.tsx:64
msgid "Show the content"
msgstr ""
-#: src/view/com/notifications/FeedItem.tsx:347
+#: src/view/com/notifications/FeedItem.tsx:353
msgid "Show users"
msgstr "लोग दिखाएँ"
-#: src/view/com/profile/ProfileHeader.tsx:462
-msgid "Shows a list of users similar to this user."
+#: src/lib/moderation/useLabelBehaviorDescription.ts:58
+msgid "Show warning"
msgstr ""
-#: src/view/com/post-thread/PostThreadFollowBtn.tsx:124
-#: src/view/com/profile/ProfileHeader.tsx:506
+#: src/lib/moderation/useLabelBehaviorDescription.ts:56
+msgid "Show warning and filter from feeds"
+msgstr ""
+
+#: src/view/com/profile/ProfileHeader.tsx:462
+#~ msgid "Shows a list of users similar to this user."
+#~ msgstr ""
+
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:130
msgid "Shows posts from {0} in your feed"
msgstr ""
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:70
-#: src/view/com/auth/login/Login.tsx:98
-#: src/view/com/auth/SplashScreen.tsx:79
-#: src/view/shell/bottom-bar/BottomBar.tsx:285
-#: src/view/shell/bottom-bar/BottomBar.tsx:286
-#: src/view/shell/bottom-bar/BottomBar.tsx:288
+#: src/components/dialogs/Signin.tsx:97
+#: src/components/dialogs/Signin.tsx:99
+#: src/screens/Login/index.tsx:100
+#: src/screens/Login/index.tsx:119
+#: src/screens/Login/LoginForm.tsx:131
+#: src/view/com/auth/SplashScreen.tsx:63
+#: src/view/com/auth/SplashScreen.tsx:72
+#: src/view/com/auth/SplashScreen.web.tsx:107
+#: src/view/com/auth/SplashScreen.web.tsx:116
+#: src/view/shell/bottom-bar/BottomBar.tsx:301
+#: src/view/shell/bottom-bar/BottomBar.tsx:302
+#: src/view/shell/bottom-bar/BottomBar.tsx:304
#: src/view/shell/bottom-bar/BottomBarWeb.tsx:178
#: src/view/shell/bottom-bar/BottomBarWeb.tsx:179
#: src/view/shell/bottom-bar/BottomBarWeb.tsx:181
-#: src/view/shell/NavSignupCard.tsx:58
-#: src/view/shell/NavSignupCard.tsx:59
+#: src/view/shell/NavSignupCard.tsx:63
+#: src/view/shell/NavSignupCard.tsx:64
+#: src/view/shell/NavSignupCard.tsx:66
msgid "Sign in"
msgstr "साइन इन करें"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:78
-#: src/view/com/auth/SplashScreen.tsx:82
+#: src/view/com/auth/HomeLoggedOutCTA.tsx:82
+#: src/view/com/auth/SplashScreen.tsx:86
#: src/view/com/auth/SplashScreen.web.tsx:91
-msgid "Sign In"
-msgstr "साइन इन करें"
+#~ msgid "Sign In"
+#~ msgstr "साइन इन करें"
-#: src/view/com/auth/login/ChooseAccountForm.tsx:44
+#: src/components/AccountList.tsx:109
msgid "Sign in as {0}"
msgstr "{0} के रूप में साइन इन करें"
-#: src/view/com/auth/login/ChooseAccountForm.tsx:118
-#: src/view/com/auth/login/Login.tsx:116
+#: src/screens/Login/ChooseAccountForm.tsx:64
msgid "Sign in as..."
msgstr "... के रूप में साइन इन करें"
-#: src/view/com/auth/login/LoginForm.tsx:137
-msgid "Sign into"
-msgstr "साइन इन करें"
+#: src/components/dialogs/Signin.tsx:75
+msgid "Sign in or create your account to join the conversation!"
+msgstr ""
-#: src/view/com/modals/SwitchAccount.tsx:64
-#: src/view/com/modals/SwitchAccount.tsx:69
-#: src/view/screens/Settings/index.tsx:100
-#: src/view/screens/Settings/index.tsx:103
+#: src/view/com/auth/login/LoginForm.tsx:140
+#~ msgid "Sign into"
+#~ msgstr "साइन इन करें"
+
+#: src/components/dialogs/Signin.tsx:46
+msgid "Sign into Bluesky or create a new account"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:118
+#: src/view/screens/Settings/index.tsx:121
msgid "Sign out"
msgstr "साइन आउट"
-#: src/view/shell/bottom-bar/BottomBar.tsx:275
-#: src/view/shell/bottom-bar/BottomBar.tsx:276
-#: src/view/shell/bottom-bar/BottomBar.tsx:278
+#: src/view/shell/bottom-bar/BottomBar.tsx:291
+#: src/view/shell/bottom-bar/BottomBar.tsx:292
+#: src/view/shell/bottom-bar/BottomBar.tsx:294
#: src/view/shell/bottom-bar/BottomBarWeb.tsx:168
#: src/view/shell/bottom-bar/BottomBarWeb.tsx:169
#: src/view/shell/bottom-bar/BottomBarWeb.tsx:171
-#: src/view/shell/NavSignupCard.tsx:49
-#: src/view/shell/NavSignupCard.tsx:50
-#: src/view/shell/NavSignupCard.tsx:52
+#: src/view/shell/NavSignupCard.tsx:54
+#: src/view/shell/NavSignupCard.tsx:55
+#: src/view/shell/NavSignupCard.tsx:57
msgid "Sign up"
msgstr ""
-#: src/view/shell/NavSignupCard.tsx:42
+#: src/view/shell/NavSignupCard.tsx:47
msgid "Sign up or sign in to join the conversation"
msgstr ""
-#: src/view/com/util/moderation/ScreenHider.tsx:76
+#: src/components/moderation/ScreenHider.tsx:97
+#: src/lib/moderation/useGlobalLabelStrings.ts:28
msgid "Sign-in Required"
msgstr ""
-#: src/view/screens/Settings/index.tsx:355
+#: src/view/screens/Settings/index.tsx:377
msgid "Signed in as"
msgstr "आपने इस रूप में साइन इन करा है:"
-#: src/view/com/auth/login/ChooseAccountForm.tsx:103
+#: src/screens/Login/ChooseAccountForm.tsx:48
msgid "Signed in as @{0}"
msgstr ""
-#: src/view/com/modals/SwitchAccount.tsx:66
-msgid "Signs {0} out of Bluesky"
-msgstr ""
+#: src/view/com/modals/SwitchAccount.tsx:70
+#~ msgid "Signs {0} out of Bluesky"
+#~ msgstr ""
-#: src/screens/Onboarding/StepInterests/index.tsx:235
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:195
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:33
+#: src/screens/Onboarding/StepInterests/index.tsx:239
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:203
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:35
msgid "Skip"
msgstr "स्किप"
-#: src/screens/Onboarding/StepInterests/index.tsx:232
+#: src/screens/Onboarding/StepInterests/index.tsx:236
msgid "Skip this flow"
msgstr ""
@@ -3908,15 +4794,21 @@ msgstr ""
#~ msgid "Something went wrong and we're not sure what."
#~ msgstr ""
-#: src/components/Lists.tsx:203
-msgid "Something went wrong!"
+#: src/components/ReportDialog/index.tsx:59
+#: src/screens/Moderation/index.tsx:114
+#: src/screens/Profile/Sections/Labels.tsx:87
+msgid "Something went wrong, please try again."
msgstr ""
+#: src/components/Lists.tsx:203
+#~ msgid "Something went wrong!"
+#~ msgstr ""
+
#: src/view/com/modals/Waitlist.tsx:51
#~ msgid "Something went wrong. Check your email and try again."
#~ msgstr ""
-#: src/App.native.tsx:66
+#: src/App.native.tsx:64
msgid "Sorry! Your session expired. Please log in again."
msgstr ""
@@ -3928,11 +4820,23 @@ msgstr "उत्तर क्रमबद्ध करें"
msgid "Sort replies to the same post by:"
msgstr "उसी पोस्ट के उत्तरों को इस प्रकार क्रमबद्ध करें:"
+#: src/components/moderation/LabelsOnMeDialog.tsx:146
+msgid "Source:"
+msgstr ""
+
+#: src/lib/moderation/useReportOptions.ts:65
+msgid "Spam"
+msgstr ""
+
+#: src/lib/moderation/useReportOptions.ts:53
+msgid "Spam; excessive mentions or replies"
+msgstr ""
+
#: src/screens/Onboarding/index.tsx:30
msgid "Sports"
msgstr ""
-#: src/view/com/modals/crop-image/CropImage.web.tsx:122
+#: src/view/com/modals/crop-image/CropImage.web.tsx:123
msgid "Square"
msgstr "स्क्वायर"
@@ -3940,45 +4844,62 @@ msgstr "स्क्वायर"
#~ msgid "Staging"
#~ msgstr "स्टेजिंग"
-#: src/view/screens/Settings/index.tsx:871
+#: src/view/screens/Settings/index.tsx:867
msgid "Status page"
msgstr "स्थिति पृष्ठ"
-#: src/view/com/auth/create/StepHeader.tsx:22
-msgid "Step {0} of {numSteps}"
+#: src/screens/Signup/index.tsx:143
+msgid "Step"
msgstr ""
-#: src/view/screens/Settings/index.tsx:274
+#: src/view/com/auth/create/StepHeader.tsx:22
+#~ msgid "Step {0} of {numSteps}"
+#~ msgstr ""
+
+#: src/view/screens/Settings/index.tsx:295
msgid "Storage cleared, you need to restart the app now."
msgstr ""
-#: src/Navigation.tsx:204
-#: src/view/screens/Settings/index.tsx:807
+#: src/Navigation.tsx:211
+#: src/view/screens/Settings/index.tsx:795
msgid "Storybook"
msgstr "Storybook"
-#: src/view/com/modals/AppealLabel.tsx:101
+#: src/components/moderation/LabelsOnMeDialog.tsx:255
+#: src/components/moderation/LabelsOnMeDialog.tsx:256
msgid "Submit"
msgstr ""
-#: src/view/screens/ProfileList.tsx:608
+#: src/view/screens/ProfileList.tsx:592
msgid "Subscribe"
msgstr "सब्सक्राइब"
-#: src/screens/Onboarding/StepAlgoFeeds/FeedCard.tsx:173
-#: src/screens/Onboarding/StepAlgoFeeds/FeedCard.tsx:308
+#: src/screens/Profile/Sections/Labels.tsx:191
+msgid "Subscribe to @{0} to use these labels:"
+msgstr ""
+
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:227
+msgid "Subscribe to Labeler"
+msgstr ""
+
+#: src/screens/Onboarding/StepAlgoFeeds/FeedCard.tsx:172
+#: src/screens/Onboarding/StepAlgoFeeds/FeedCard.tsx:307
msgid "Subscribe to the {0} feed"
msgstr ""
-#: src/view/screens/ProfileList.tsx:604
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:191
+msgid "Subscribe to this labeler"
+msgstr ""
+
+#: src/view/screens/ProfileList.tsx:588
msgid "Subscribe to this list"
msgstr "इस सूची को सब्सक्राइब करें"
-#: src/view/screens/Search/Search.tsx:374
+#: src/view/screens/Search/Search.tsx:523
msgid "Suggested Follows"
msgstr "अनुशंसित लोग"
-#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:64
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:65
msgid "Suggested for you"
msgstr ""
@@ -3986,7 +4907,7 @@ msgstr ""
msgid "Suggestive"
msgstr ""
-#: src/Navigation.tsx:214
+#: src/Navigation.tsx:226
#: src/view/screens/Support.tsx:30
#: src/view/screens/Support.tsx:33
msgid "Support"
@@ -3996,29 +4917,28 @@ msgstr "सहायता"
#~ msgid "Swipe up to see more"
#~ msgstr ""
-#: src/view/com/modals/SwitchAccount.tsx:117
+#: src/components/dialogs/SwitchAccount.tsx:46
+#: src/components/dialogs/SwitchAccount.tsx:49
msgid "Switch Account"
msgstr "खाते बदलें"
-#: src/view/com/modals/SwitchAccount.tsx:97
-#: src/view/screens/Settings/index.tsx:130
+#: src/view/screens/Settings/index.tsx:150
msgid "Switch to {0}"
msgstr ""
-#: src/view/com/modals/SwitchAccount.tsx:98
-#: src/view/screens/Settings/index.tsx:131
+#: src/view/screens/Settings/index.tsx:151
msgid "Switches the account you are logged in to"
msgstr ""
-#: src/view/screens/Settings/index.tsx:472
+#: src/view/screens/Settings/index.tsx:442
msgid "System"
msgstr "प्रणाली"
-#: src/view/screens/Settings/index.tsx:795
+#: src/view/screens/Settings/index.tsx:783
msgid "System log"
msgstr "सिस्टम लॉग"
-#: src/components/dialogs/MutedWords.tsx:337
+#: src/components/dialogs/MutedWords.tsx:323
msgid "tag"
msgstr ""
@@ -4030,7 +4950,7 @@ msgstr ""
#~ msgid "Tag menu: {tag}"
#~ msgstr ""
-#: src/view/com/modals/crop-image/CropImage.web.tsx:112
+#: src/view/com/modals/crop-image/CropImage.web.tsx:113
msgid "Tall"
msgstr "लंबा"
@@ -4046,30 +4966,49 @@ msgstr ""
msgid "Terms"
msgstr "शर्तें"
-#: src/Navigation.tsx:224
-#: src/view/screens/Settings/index.tsx:885
+#: src/Navigation.tsx:236
+#: src/screens/Signup/StepInfo/Policies.tsx:49
+#: src/view/screens/Settings/index.tsx:881
#: src/view/screens/TermsOfService.tsx:29
-#: src/view/shell/Drawer.tsx:256
+#: src/view/shell/Drawer.tsx:265
msgid "Terms of Service"
msgstr "सेवा की शर्तें"
-#: src/components/dialogs/MutedWords.tsx:337
+#: src/lib/moderation/useReportOptions.ts:58
+#: src/lib/moderation/useReportOptions.ts:79
+#: src/lib/moderation/useReportOptions.ts:87
+msgid "Terms used violate community standards"
+msgstr ""
+
+#: src/components/dialogs/MutedWords.tsx:323
msgid "text"
msgstr ""
-#: src/view/com/modals/AppealLabel.tsx:70
-#: src/view/com/modals/report/InputIssueDetails.tsx:51
+#: src/components/moderation/LabelsOnMeDialog.tsx:219
msgid "Text input field"
msgstr "पाठ इनपुट फ़ील्ड"
-#: src/view/com/auth/create/CreateAccount.tsx:94
+#: src/components/ReportDialog/SubmitView.tsx:76
+msgid "Thank you. Your report has been sent."
+msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:465
+msgid "That contains the following:"
+msgstr ""
+
+#: src/screens/Signup/index.tsx:85
msgid "That handle is already taken."
msgstr ""
-#: src/view/com/profile/ProfileHeader.tsx:263
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:282
+#: src/view/com/profile/ProfileMenu.tsx:349
msgid "The account will be able to interact with you after unblocking."
msgstr "अनब्लॉक करने के बाद अकाउंट आपसे इंटरैक्ट कर सकेगा।"
+#: src/components/moderation/ModerationDetailsDialog.tsx:127
+msgid "the author"
+msgstr ""
+
#: src/view/screens/CommunityGuidelines.tsx:36
msgid "The Community Guidelines have been moved to <0/>"
msgstr "सामुदायिक दिशानिर्देशों को <0/> पर स्थानांतरित कर दिया गया है"
@@ -4078,11 +5017,20 @@ msgstr "सामुदायिक दिशानिर्देशों क
msgid "The Copyright Policy has been moved to <0/>"
msgstr "कॉपीराइट नीति को <0/> पर स्थानांतरित कर दिया गया है"
-#: src/screens/Onboarding/Layout.tsx:60
+#: src/components/moderation/LabelsOnMeDialog.tsx:48
+msgid "The following labels were applied to your account."
+msgstr ""
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:49
+msgid "The following labels were applied to your content."
+msgstr ""
+
+#: src/screens/Onboarding/Layout.tsx:58
msgid "The following steps will help customize your Bluesky experience."
msgstr ""
-#: src/view/com/post-thread/PostThread.tsx:517
+#: src/view/com/post-thread/PostThread.tsx:153
+#: src/view/com/post-thread/PostThread.tsx:165
msgid "The post may have been deleted."
msgstr "हो सकता है कि यह पोस्ट हटा दी गई हो।"
@@ -4098,35 +5046,35 @@ msgstr "समर्थन प्रपत्र स्थानांतरि
msgid "The Terms of Service have been moved to"
msgstr "सेवा की शर्तों को स्थानांतरित कर दिया गया है"
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:150
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:141
msgid "There are many feeds to try:"
msgstr ""
-#: src/view/screens/ProfileFeed.tsx:550
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:114
+#: src/view/screens/ProfileFeed.tsx:556
msgid "There was an an issue contacting the server, please check your internet connection and try again."
msgstr ""
-#: src/view/com/posts/FeedErrorMessage.tsx:139
+#: src/view/com/posts/FeedErrorMessage.tsx:138
msgid "There was an an issue removing this feed. Please check your internet connection and try again."
msgstr ""
-#: src/view/screens/ProfileFeed.tsx:210
+#: src/view/screens/ProfileFeed.tsx:219
msgid "There was an an issue updating your feeds, please check your internet connection and try again."
msgstr ""
-#: src/view/screens/ProfileFeed.tsx:237
-#: src/view/screens/ProfileList.tsx:267
-#: src/view/screens/SavedFeeds.tsx:209
-#: src/view/screens/SavedFeeds.tsx:231
-#: src/view/screens/SavedFeeds.tsx:252
+#: src/view/screens/ProfileFeed.tsx:247
+#: src/view/screens/ProfileList.tsx:277
+#: src/view/screens/SavedFeeds.tsx:211
+#: src/view/screens/SavedFeeds.tsx:241
+#: src/view/screens/SavedFeeds.tsx:262
msgid "There was an issue contacting the server"
msgstr ""
#: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:57
#: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:66
-#: src/view/com/feeds/FeedSourceCard.tsx:115
-#: src/view/com/feeds/FeedSourceCard.tsx:129
-#: src/view/com/feeds/FeedSourceCard.tsx:183
+#: src/view/com/feeds/FeedSourceCard.tsx:110
+#: src/view/com/feeds/FeedSourceCard.tsx:123
msgid "There was an issue contacting your server"
msgstr ""
@@ -4134,7 +5082,7 @@ msgstr ""
msgid "There was an issue fetching notifications. Tap here to try again."
msgstr ""
-#: src/view/com/posts/Feed.tsx:265
+#: src/view/com/posts/Feed.tsx:287
msgid "There was an issue fetching posts. Tap here to try again."
msgstr ""
@@ -4142,39 +5090,45 @@ msgstr ""
msgid "There was an issue fetching the list. Tap here to try again."
msgstr ""
-#: src/view/com/feeds/ProfileFeedgens.tsx:148
-#: src/view/com/lists/ProfileLists.tsx:155
+#: src/view/com/feeds/ProfileFeedgens.tsx:156
+#: src/view/com/lists/ProfileLists.tsx:163
msgid "There was an issue fetching your lists. Tap here to try again."
msgstr ""
-#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:63
-#: src/view/com/modals/ContentFilteringSettings.tsx:126
+#: src/components/ReportDialog/SubmitView.tsx:81
+msgid "There was an issue sending your report. Please check your internet connection."
+msgstr ""
+
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:65
msgid "There was an issue syncing your preferences with the server"
msgstr ""
-#: src/view/screens/AppPasswords.tsx:66
+#: src/view/screens/AppPasswords.tsx:68
msgid "There was an issue with fetching your app passwords"
msgstr ""
-#: src/view/com/post-thread/PostThreadFollowBtn.tsx:93
-#: src/view/com/post-thread/PostThreadFollowBtn.tsx:105
-#: src/view/com/profile/ProfileHeader.tsx:157
-#: src/view/com/profile/ProfileHeader.tsx:178
-#: src/view/com/profile/ProfileHeader.tsx:217
-#: src/view/com/profile/ProfileHeader.tsx:230
-#: src/view/com/profile/ProfileHeader.tsx:250
-#: src/view/com/profile/ProfileHeader.tsx:272
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:105
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:127
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:141
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:99
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:111
+#: src/view/com/profile/ProfileMenu.tsx:106
+#: src/view/com/profile/ProfileMenu.tsx:117
+#: src/view/com/profile/ProfileMenu.tsx:132
+#: src/view/com/profile/ProfileMenu.tsx:143
+#: src/view/com/profile/ProfileMenu.tsx:157
+#: src/view/com/profile/ProfileMenu.tsx:170
msgid "There was an issue! {0}"
msgstr ""
-#: src/view/screens/ProfileList.tsx:288
-#: src/view/screens/ProfileList.tsx:307
-#: src/view/screens/ProfileList.tsx:329
-#: src/view/screens/ProfileList.tsx:348
+#: src/view/screens/ProfileList.tsx:290
+#: src/view/screens/ProfileList.tsx:304
+#: src/view/screens/ProfileList.tsx:318
+#: src/view/screens/ProfileList.tsx:332
msgid "There was an issue. Please check your internet connection and try again."
msgstr ""
-#: src/view/com/util/ErrorBoundary.tsx:36
+#: src/view/com/util/ErrorBoundary.tsx:51
msgid "There was an unexpected issue in the application. Please let us know if this happened to you!"
msgstr "एप्लिकेशन में एक अप्रत्याशित समस्या थी. कृपया हमें बताएं कि क्या आपके साथ ऐसा हुआ है!"
@@ -4186,23 +5140,36 @@ msgstr ""
#~ msgid "There's something wrong with this number. Please choose your country and enter your full phone number!"
#~ msgstr ""
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:138
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:146
msgid "These are popular accounts you might like:"
msgstr ""
-#: src/view/com/util/moderation/ScreenHider.tsx:88
+#: src/components/moderation/ScreenHider.tsx:116
msgid "This {screenDescription} has been flagged:"
msgstr "यह {screenDescription} फ्लैग किया गया है:"
-#: src/view/com/util/moderation/ScreenHider.tsx:83
+#: src/components/moderation/ScreenHider.tsx:111
msgid "This account has requested that users sign in to view their profile."
msgstr ""
-#: src/view/com/modals/EmbedConsent.tsx:68
+#: src/components/moderation/LabelsOnMeDialog.tsx:204
+msgid "This appeal will be sent to <0>{0}0>."
+msgstr ""
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:19
+msgid "This content has been hidden by the moderators."
+msgstr ""
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:24
+msgid "This content has received a general warning from moderators."
+msgstr ""
+
+#: src/components/dialogs/EmbedConsent.tsx:64
msgid "This content is hosted by {0}. Do you want to enable external media?"
msgstr ""
-#: src/view/com/modals/ModerationDetails.tsx:67
+#: src/components/moderation/ModerationDetailsDialog.tsx:77
+#: src/lib/moderation/useModerationCauseDescription.ts:77
msgid "This content is not available because one of the users involved has blocked the other."
msgstr ""
@@ -4211,16 +5178,20 @@ msgid "This content is not viewable without a Bluesky account."
msgstr ""
#: src/view/screens/Settings/ExportCarDialog.tsx:75
-msgid "This feature is in beta. You can read more about repository exports in <0>this blogpost.0>"
+#~ msgid "This feature is in beta. You can read more about repository exports in <0>this blogpost.0>"
+#~ msgstr ""
+
+#: src/view/screens/Settings/ExportCarDialog.tsx:75
+msgid "This feature is in beta. You can read more about repository exports in <0>this blogpost0>."
msgstr ""
#: src/view/com/posts/FeedErrorMessage.tsx:114
msgid "This feed is currently receiving high traffic and is temporarily unavailable. Please try again later."
msgstr ""
-#: src/view/screens/Profile.tsx:420
-#: src/view/screens/ProfileFeed.tsx:476
-#: src/view/screens/ProfileList.tsx:661
+#: src/screens/Profile/Sections/Feed.tsx:59
+#: src/view/screens/ProfileFeed.tsx:488
+#: src/view/screens/ProfileList.tsx:677
msgid "This feed is empty!"
msgstr ""
@@ -4228,7 +5199,7 @@ msgstr ""
msgid "This feed is empty! You may need to follow more users or tune your language settings."
msgstr ""
-#: src/view/com/modals/BirthDateSettings.tsx:61
+#: src/components/dialogs/BirthDateSettings.tsx:41
msgid "This information is not shared with other users."
msgstr "यह जानकारी अन्य उपयोगकर्ताओं के साथ साझा नहीं की जाती है।।"
@@ -4236,15 +5207,27 @@ msgstr "यह जानकारी अन्य उपयोगकर्ता
msgid "This is important in case you ever need to change your email or reset your password."
msgstr "अगर आपको कभी अपना ईमेल बदलने या पासवर्ड रीसेट करने की आवश्यकता है तो यह महत्वपूर्ण है।।"
-#: src/view/com/modals/LinkWarning.tsx:58
+#: src/components/moderation/ModerationDetailsDialog.tsx:124
+msgid "This label was applied by {0}."
+msgstr ""
+
+#: src/screens/Profile/Sections/Labels.tsx:178
+msgid "This labeler hasn't declared what labels it publishes, and may not be active."
+msgstr ""
+
+#: src/view/com/modals/LinkWarning.tsx:72
msgid "This link is taking you to the following website:"
msgstr "यह लिंक आपको निम्नलिखित वेबसाइट पर ले जा रहा है:"
-#: src/view/screens/ProfileList.tsx:839
+#: src/view/screens/ProfileList.tsx:855
msgid "This list is empty!"
msgstr ""
-#: src/view/com/modals/AddAppPasswords.tsx:106
+#: src/screens/Profile/ErrorState.tsx:40
+msgid "This moderation service is unavailable. See below for more details. If this issue persists, contact us."
+msgstr ""
+
+#: src/view/com/modals/AddAppPasswords.tsx:107
msgid "This name is already in use"
msgstr ""
@@ -4252,36 +5235,82 @@ msgstr ""
msgid "This post has been deleted."
msgstr "इस पोस्ट को हटा दिया गया है।।"
-#: src/view/com/modals/ModerationDetails.tsx:62
+#: src/view/com/util/forms/PostDropdownBtn.tsx:366
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:250
+msgid "This post is only visible to logged-in users. It won't be visible to people who aren't logged in."
+msgstr ""
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:348
+msgid "This post will be hidden from feeds."
+msgstr ""
+
+#: src/view/com/profile/ProfileMenu.tsx:370
+msgid "This profile is only visible to logged-in users. It won't be visible to people who aren't logged in."
+msgstr ""
+
+#: src/screens/Signup/StepInfo/Policies.tsx:37
+msgid "This service has not provided terms of service or a privacy policy."
+msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:445
+msgid "This should create a domain record at:"
+msgstr ""
+
+#: src/view/com/profile/ProfileFollowers.tsx:87
+msgid "This user doesn't have any followers."
+msgstr ""
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:72
+#: src/lib/moderation/useModerationCauseDescription.ts:68
msgid "This user has blocked you. You cannot view their content."
msgstr ""
-#: src/view/com/modals/ModerationDetails.tsx:42
-msgid "This user is included in the <0/> list which you have blocked."
+#: src/lib/moderation/useGlobalLabelStrings.ts:30
+msgid "This user has requested that their content only be shown to signed-in users."
msgstr ""
+#: src/view/com/modals/ModerationDetails.tsx:42
+#~ msgid "This user is included in the <0/> list which you have blocked."
+#~ msgstr ""
+
#: src/view/com/modals/ModerationDetails.tsx:74
-msgid "This user is included in the <0/> list which you have muted."
+#~ msgid "This user is included in the <0/> list which you have muted."
+#~ msgstr ""
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:55
+msgid "This user is included in the <0>{0}0> list which you have blocked."
+msgstr ""
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:84
+msgid "This user is included in the <0>{0}0> list which you have muted."
msgstr ""
#: src/view/com/modals/ModerationDetails.tsx:74
#~ msgid "This user is included the <0/> list which you have muted."
#~ msgstr ""
+#: src/view/com/profile/ProfileFollows.tsx:87
+msgid "This user isn't following anyone."
+msgstr ""
+
#: src/view/com/modals/SelfLabel.tsx:137
msgid "This warning is only available for posts with media attached."
msgstr "यह चेतावनी केवल मीडिया संलग्न पोस्ट के लिए उपलब्ध है।"
-#: src/components/dialogs/MutedWords.tsx:285
+#: src/components/dialogs/MutedWords.tsx:283
msgid "This will delete {0} from your muted words. You can always add it back later."
msgstr ""
#: src/view/com/util/forms/PostDropdownBtn.tsx:282
-msgid "This will hide this post from your feeds."
+#~ msgid "This will hide this post from your feeds."
+#~ msgstr ""
+
+#: src/view/screens/Settings/index.tsx:525
+msgid "Thread preferences"
msgstr ""
#: src/view/screens/PreferencesThreads.tsx:53
-#: src/view/screens/Settings/index.tsx:565
+#: src/view/screens/Settings/index.tsx:535
msgid "Thread Preferences"
msgstr "थ्रेड प्राथमिकता"
@@ -4289,11 +5318,15 @@ msgstr "थ्रेड प्राथमिकता"
msgid "Threaded Mode"
msgstr "थ्रेड मोड"
-#: src/Navigation.tsx:257
+#: src/Navigation.tsx:269
msgid "Threads Preferences"
msgstr ""
-#: src/components/dialogs/MutedWords.tsx:113
+#: src/components/ReportDialog/SelectLabelerView.tsx:33
+msgid "To whom would you like to send this report?"
+msgstr ""
+
+#: src/components/dialogs/MutedWords.tsx:112
msgid "Toggle between muted word options."
msgstr ""
@@ -4301,14 +5334,22 @@ msgstr ""
msgid "Toggle dropdown"
msgstr "ड्रॉपडाउन टॉगल करें"
-#: src/view/com/modals/EditImage.tsx:271
+#: src/screens/Moderation/index.tsx:332
+msgid "Toggle to enable or disable adult content"
+msgstr ""
+
+#: src/view/screens/Search/Search.tsx:427
+msgid "Top"
+msgstr ""
+
+#: src/view/com/modals/EditImage.tsx:272
msgid "Transformations"
msgstr "परिवर्तन"
-#: src/view/com/post-thread/PostThreadItem.tsx:685
-#: src/view/com/post-thread/PostThreadItem.tsx:687
-#: src/view/com/util/forms/PostDropdownBtn.tsx:215
-#: src/view/com/util/forms/PostDropdownBtn.tsx:217
+#: src/view/com/post-thread/PostThreadItem.tsx:638
+#: src/view/com/post-thread/PostThreadItem.tsx:640
+#: src/view/com/util/forms/PostDropdownBtn.tsx:220
+#: src/view/com/util/forms/PostDropdownBtn.tsx:222
msgid "Translate"
msgstr "अनुवाद"
@@ -4317,63 +5358,89 @@ msgctxt "action"
msgid "Try again"
msgstr "फिर से कोशिश करो"
-#: src/view/screens/ProfileList.tsx:506
+#: src/view/com/modals/ChangeHandle.tsx:428
+msgid "Type:"
+msgstr ""
+
+#: src/view/screens/ProfileList.tsx:480
msgid "Un-block list"
msgstr ""
-#: src/view/screens/ProfileList.tsx:491
+#: src/view/screens/ProfileList.tsx:463
msgid "Un-mute list"
msgstr ""
-#: src/view/com/auth/create/CreateAccount.tsx:58
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:87
-#: src/view/com/auth/login/Login.tsx:76
-#: src/view/com/auth/login/LoginForm.tsx:118
+#: src/screens/Login/ForgotPasswordForm.tsx:74
+#: src/screens/Login/index.tsx:78
+#: src/screens/Login/LoginForm.tsx:119
+#: src/screens/Login/SetNewPasswordForm.tsx:77
+#: src/screens/Signup/index.tsx:64
#: src/view/com/modals/ChangePassword.tsx:70
msgid "Unable to contact your service. Please check your Internet connection."
msgstr "आपकी सेवा से संपर्क करने में असमर्थ। कृपया अपने इंटरनेट कनेक्शन की जांच करें।।"
-#: src/view/com/profile/ProfileHeader.tsx:433
-#: src/view/screens/ProfileList.tsx:590
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:181
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:286
+#: src/view/com/profile/ProfileMenu.tsx:361
+#: src/view/screens/ProfileList.tsx:574
msgid "Unblock"
msgstr "अनब्लॉक"
-#: src/view/com/profile/ProfileHeader.tsx:436
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:186
msgctxt "action"
msgid "Unblock"
msgstr ""
-#: src/view/com/profile/ProfileHeader.tsx:261
-#: src/view/com/profile/ProfileHeader.tsx:345
+#: src/view/com/profile/ProfileMenu.tsx:299
+#: src/view/com/profile/ProfileMenu.tsx:305
msgid "Unblock Account"
msgstr "अनब्लॉक खाता"
-#: src/view/com/modals/Repost.tsx:42
-#: src/view/com/modals/Repost.tsx:55
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:280
+#: src/view/com/profile/ProfileMenu.tsx:343
+msgid "Unblock Account?"
+msgstr ""
+
+#: src/view/com/modals/Repost.tsx:43
+#: src/view/com/modals/Repost.tsx:56
#: src/view/com/util/post-ctrls/RepostButton.tsx:60
#: src/view/com/util/post-ctrls/RepostButton.web.tsx:48
msgid "Undo repost"
msgstr "पुनः पोस्ट पूर्ववत करें"
-#: src/view/com/profile/FollowButton.tsx:55
+#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:141
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:248
+msgid "Unfollow"
+msgstr ""
+
+#: src/view/com/profile/FollowButton.tsx:60
msgctxt "action"
msgid "Unfollow"
msgstr ""
-#: src/view/com/profile/ProfileHeader.tsx:485
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:220
msgid "Unfollow {0}"
msgstr ""
-#: src/view/com/auth/create/state.ts:262
-msgid "Unfortunately, you do not meet the requirements to create an account."
+#: src/view/com/profile/ProfileMenu.tsx:241
+#: src/view/com/profile/ProfileMenu.tsx:251
+msgid "Unfollow Account"
msgstr ""
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:182
+#: src/view/com/auth/create/state.ts:262
+#~ msgid "Unfortunately, you do not meet the requirements to create an account."
+#~ msgstr ""
+
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:197
msgid "Unlike"
msgstr ""
+#: src/view/screens/ProfileFeed.tsx:585
+msgid "Unlike this feed"
+msgstr ""
+
#: src/components/TagMenu/index.tsx:249
-#: src/view/screens/ProfileList.tsx:597
+#: src/view/screens/ProfileList.tsx:581
msgid "Unmute"
msgstr ""
@@ -4381,7 +5448,8 @@ msgstr ""
msgid "Unmute {truncatedTag}"
msgstr ""
-#: src/view/com/profile/ProfileHeader.tsx:326
+#: src/view/com/profile/ProfileMenu.tsx:278
+#: src/view/com/profile/ProfileMenu.tsx:284
msgid "Unmute Account"
msgstr "अनम्यूट खाता"
@@ -4393,22 +5461,38 @@ msgstr ""
#~ msgid "Unmute all {tag} posts"
#~ msgstr ""
-#: src/view/com/util/forms/PostDropdownBtn.tsx:251
-#: src/view/com/util/forms/PostDropdownBtn.tsx:256
+#: src/view/com/util/forms/PostDropdownBtn.tsx:269
+#: src/view/com/util/forms/PostDropdownBtn.tsx:274
msgid "Unmute thread"
msgstr "थ्रेड को अनम्यूट करें"
-#: src/view/screens/ProfileFeed.tsx:354
-#: src/view/screens/ProfileList.tsx:581
+#: src/view/screens/ProfileFeed.tsx:306
+#: src/view/screens/ProfileList.tsx:565
msgid "Unpin"
msgstr ""
-#: src/view/screens/ProfileList.tsx:474
+#: src/view/screens/ProfileFeed.tsx:303
+msgid "Unpin from home"
+msgstr ""
+
+#: src/view/screens/ProfileList.tsx:446
msgid "Unpin moderation list"
msgstr ""
#: src/view/screens/ProfileFeed.tsx:346
-msgid "Unsave"
+#~ msgid "Unsave"
+#~ msgstr ""
+
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:225
+msgid "Unsubscribe"
+msgstr ""
+
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:190
+msgid "Unsubscribe from this labeler"
+msgstr ""
+
+#: src/lib/moderation/useReportOptions.ts:70
+msgid "Unwanted Sexual Content"
msgstr ""
#: src/view/com/modals/UserAddRemoveLists.tsx:70
@@ -4416,22 +5500,53 @@ msgid "Update {displayName} in Lists"
msgstr "सूची में {displayName} अद्यतन करें"
#: src/lib/hooks/useOTAUpdate.ts:15
-msgid "Update Available"
-msgstr "उपलब्ध अद्यतन"
+#~ msgid "Update Available"
+#~ msgstr "उपलब्ध अद्यतन"
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:204
+#: src/view/com/modals/ChangeHandle.tsx:508
+msgid "Update to {handle}"
+msgstr ""
+
+#: src/screens/Login/SetNewPasswordForm.tsx:186
msgid "Updating..."
msgstr "अद्यतन..।"
-#: src/view/com/modals/ChangeHandle.tsx:455
+#: src/view/com/modals/ChangeHandle.tsx:454
msgid "Upload a text file to:"
msgstr "एक पाठ फ़ाइल अपलोड करने के लिए:"
-#: src/view/screens/AppPasswords.tsx:195
+#: src/view/com/util/UserAvatar.tsx:328
+#: src/view/com/util/UserAvatar.tsx:331
+#: src/view/com/util/UserBanner.tsx:116
+#: src/view/com/util/UserBanner.tsx:119
+msgid "Upload from Camera"
+msgstr ""
+
+#: src/view/com/util/UserAvatar.tsx:345
+#: src/view/com/util/UserBanner.tsx:133
+msgid "Upload from Files"
+msgstr ""
+
+#: src/view/com/util/UserAvatar.tsx:339
+#: src/view/com/util/UserAvatar.tsx:343
+#: src/view/com/util/UserBanner.tsx:127
+#: src/view/com/util/UserBanner.tsx:131
+msgid "Upload from Library"
+msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:408
+msgid "Use a file on your server"
+msgstr ""
+
+#: src/view/screens/AppPasswords.tsx:197
msgid "Use app passwords to login to other Bluesky clients without giving full access to your account or password."
msgstr "अपने खाते या पासवर्ड को पूर्ण एक्सेस देने के बिना अन्य ब्लूस्की ग्राहकों को लॉगिन करने के लिए ऐप पासवर्ड का उपयोग करें।।"
-#: src/view/com/modals/ChangeHandle.tsx:515
+#: src/view/com/modals/ChangeHandle.tsx:517
+msgid "Use bsky.social as hosting provider"
+msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:516
msgid "Use default provider"
msgstr "डिफ़ॉल्ट प्रदाता का उपयोग करें"
@@ -4445,7 +5560,11 @@ msgstr ""
msgid "Use my default browser"
msgstr ""
-#: src/view/com/modals/AddAppPasswords.tsx:155
+#: src/view/com/modals/ChangeHandle.tsx:400
+msgid "Use the DNS panel"
+msgstr ""
+
+#: src/view/com/modals/AddAppPasswords.tsx:156
msgid "Use this to sign into the other app along with your handle."
msgstr "अपने हैंडल के साथ दूसरे ऐप में साइन इन करने के लिए इसका उपयोग करें।"
@@ -4453,46 +5572,55 @@ msgstr "अपने हैंडल के साथ दूसरे ऐप म
#~ msgid "Use your domain as your Bluesky client service provider"
#~ msgstr ""
-#: src/view/com/modals/InviteCodes.tsx:200
+#: src/view/com/modals/InviteCodes.tsx:201
msgid "Used by:"
msgstr "के द्वारा उपयोग:"
-#: src/view/com/modals/ModerationDetails.tsx:54
+#: src/components/moderation/ModerationDetailsDialog.tsx:64
+#: src/lib/moderation/useModerationCauseDescription.ts:56
msgid "User Blocked"
msgstr ""
-#: src/view/com/modals/ModerationDetails.tsx:40
+#: src/lib/moderation/useModerationCauseDescription.ts:48
+msgid "User Blocked by \"{0}\""
+msgstr ""
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:53
msgid "User Blocked by List"
msgstr ""
-#: src/view/com/modals/ModerationDetails.tsx:60
+#: src/lib/moderation/useModerationCauseDescription.ts:66
+msgid "User Blocking You"
+msgstr ""
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:70
msgid "User Blocks You"
msgstr ""
#: src/view/com/auth/create/Step2.tsx:79
-msgid "User handle"
-msgstr "यूजर हैंडल"
+#~ msgid "User handle"
+#~ msgstr "यूजर हैंडल"
#: src/view/com/lists/ListCard.tsx:85
#: src/view/com/modals/UserAddRemoveLists.tsx:198
msgid "User list by {0}"
msgstr ""
-#: src/view/screens/ProfileList.tsx:763
+#: src/view/screens/ProfileList.tsx:779
msgid "User list by <0/>"
msgstr ""
#: src/view/com/lists/ListCard.tsx:83
#: src/view/com/modals/UserAddRemoveLists.tsx:196
-#: src/view/screens/ProfileList.tsx:761
+#: src/view/screens/ProfileList.tsx:777
msgid "User list by you"
msgstr ""
-#: src/view/com/modals/CreateOrEditList.tsx:196
+#: src/view/com/modals/CreateOrEditList.tsx:197
msgid "User list created"
msgstr ""
-#: src/view/com/modals/CreateOrEditList.tsx:182
+#: src/view/com/modals/CreateOrEditList.tsx:183
msgid "User list updated"
msgstr ""
@@ -4500,12 +5628,13 @@ msgstr ""
msgid "User Lists"
msgstr "लोग सूचियाँ"
-#: src/view/com/auth/login/LoginForm.tsx:177
-#: src/view/com/auth/login/LoginForm.tsx:195
+#: src/screens/Login/LoginForm.tsx:151
msgid "Username or email address"
msgstr "यूजर नाम या ईमेल पता"
-#: src/view/screens/ProfileList.tsx:797
+#: src/view/screens/ProfileList.tsx:813
+#: src/view/screens/Search/Search.tsx:473
+#: src/view/screens/Search/Search.tsx:482
msgid "Users"
msgstr "यूजर लोग"
@@ -4517,19 +5646,31 @@ msgstr ""
msgid "Users in \"{0}\""
msgstr ""
+#: src/components/LikesDialog.tsx:85
+msgid "Users that have liked this content or profile"
+msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:436
+msgid "Value:"
+msgstr ""
+
#: src/view/com/auth/create/Step2.tsx:243
#~ msgid "Verification code"
#~ msgstr ""
-#: src/view/screens/Settings/index.tsx:910
+#: src/view/com/modals/ChangeHandle.tsx:509
+msgid "Verify {0}"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:906
msgid "Verify email"
msgstr "ईमेल सत्यापित करें"
-#: src/view/screens/Settings/index.tsx:935
+#: src/view/screens/Settings/index.tsx:931
msgid "Verify my email"
msgstr "मेरी ईमेल सत्यापित करें"
-#: src/view/screens/Settings/index.tsx:944
+#: src/view/screens/Settings/index.tsx:940
msgid "Verify My Email"
msgstr "मेरी ईमेल सत्यापित करें"
@@ -4542,11 +5683,15 @@ msgstr "नया ईमेल सत्यापित करें"
msgid "Verify Your Email"
msgstr ""
+#: src/view/screens/Settings/index.tsx:857
+msgid "Version {0}"
+msgstr ""
+
#: src/screens/Onboarding/index.tsx:42
msgid "Video Games"
msgstr ""
-#: src/view/com/profile/ProfileHeader.tsx:662
+#: src/screens/Profile/Header/Shell.tsx:107
msgid "View {0}'s avatar"
msgstr ""
@@ -4554,11 +5699,25 @@ msgstr ""
msgid "View debug entry"
msgstr "डीबग प्रविष्टि देखें"
-#: src/view/com/posts/FeedSlice.tsx:103
+#: src/components/ReportDialog/SelectReportOptionView.tsx:132
+msgid "View details"
+msgstr ""
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:127
+msgid "View details for reporting a copyright violation"
+msgstr ""
+
+#: src/view/com/posts/FeedSlice.tsx:99
msgid "View full thread"
msgstr ""
-#: src/view/com/posts/FeedErrorMessage.tsx:172
+#: src/components/moderation/LabelsOnMe.tsx:51
+msgid "View information about these labels"
+msgstr ""
+
+#: src/components/ProfileHoverCard/index.web.tsx:264
+#: src/components/ProfileHoverCard/index.web.tsx:293
+#: src/view/com/posts/FeedErrorMessage.tsx:166
msgid "View profile"
msgstr ""
@@ -4566,20 +5725,39 @@ msgstr ""
msgid "View the avatar"
msgstr "अवतार देखें"
-#: src/view/com/modals/LinkWarning.tsx:75
+#: src/components/LabelingServiceCard/index.tsx:140
+msgid "View the labeling service provided by @{0}"
+msgstr ""
+
+#: src/view/screens/ProfileFeed.tsx:597
+msgid "View users who like this feed"
+msgstr ""
+
+#: src/view/com/modals/LinkWarning.tsx:89
+#: src/view/com/modals/LinkWarning.tsx:95
msgid "Visit Site"
msgstr "साइट पर जाएं"
-#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:42
-#: src/view/com/modals/ContentFilteringSettings.tsx:259
+#: src/components/moderation/LabelPreference.tsx:135
+#: src/lib/moderation/useLabelBehaviorDescription.ts:17
+#: src/lib/moderation/useLabelBehaviorDescription.ts:22
+#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:53
msgid "Warn"
msgstr ""
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:134
-msgid "We also think you'll like \"For You\" by Skygaze:"
+#: src/lib/moderation/useLabelBehaviorDescription.ts:48
+msgid "Warn content"
msgstr ""
-#: src/screens/Hashtag.tsx:132
+#: src/lib/moderation/useLabelBehaviorDescription.ts:46
+msgid "Warn content and filter from feeds"
+msgstr ""
+
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:134
+#~ msgid "We also think you'll like \"For You\" by Skygaze:"
+#~ msgstr ""
+
+#: src/screens/Hashtag.tsx:133
msgid "We couldn't find any results for that hashtag."
msgstr ""
@@ -4587,7 +5765,7 @@ msgstr ""
msgid "We estimate {estimatedTime} until your account is ready."
msgstr ""
-#: src/screens/Onboarding/StepFinished.tsx:93
+#: src/screens/Onboarding/StepFinished.tsx:97
msgid "We hope you have a wonderful time. Remember, Bluesky is:"
msgstr ""
@@ -4599,15 +5777,23 @@ msgstr ""
#~ msgid "We recommend \"For You\" by Skygaze:"
#~ msgstr ""
-#: src/components/dialogs/MutedWords.tsx:204
+#: src/components/dialogs/MutedWords.tsx:203
msgid "We recommend avoiding common words that appear in many posts, since it can result in no posts being shown."
msgstr ""
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:124
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:125
msgid "We recommend our \"Discover\" feed:"
msgstr ""
-#: src/screens/Onboarding/StepInterests/index.tsx:133
+#: src/components/dialogs/BirthDateSettings.tsx:52
+msgid "We were unable to load your birth date preferences. Please try again."
+msgstr ""
+
+#: src/screens/Moderation/index.tsx:385
+msgid "We were unable to load your configured labelers at this time."
+msgstr ""
+
+#: src/screens/Onboarding/StepInterests/index.tsx:137
msgid "We weren't able to connect. Please try again to continue setting up your account. If it continues to fail, you can skip this flow."
msgstr ""
@@ -4616,48 +5802,53 @@ msgid "We will let you know when your account is ready."
msgstr ""
#: src/view/com/modals/AppealLabel.tsx:48
-msgid "We'll look into your appeal promptly."
-msgstr ""
+#~ msgid "We'll look into your appeal promptly."
+#~ msgstr ""
-#: src/screens/Onboarding/StepInterests/index.tsx:138
+#: src/screens/Onboarding/StepInterests/index.tsx:142
msgid "We'll use this to help customize your experience."
msgstr ""
-#: src/view/com/auth/create/CreateAccount.tsx:134
+#: src/screens/Signup/index.tsx:131
msgid "We're so excited to have you join us!"
msgstr "हम आपके हमारी सेवा में शामिल होने को लेकर बहुत उत्साहित हैं!"
-#: src/view/screens/ProfileList.tsx:86
+#: src/view/screens/ProfileList.tsx:90
msgid "We're sorry, but we were unable to resolve this list. If this persists, please contact the list creator, @{handleOrDid}."
msgstr ""
-#: src/components/dialogs/MutedWords.tsx:230
+#: src/components/dialogs/MutedWords.tsx:229
msgid "We're sorry, but we weren't able to load your muted words at this time. Please try again."
msgstr ""
-#: src/view/screens/Search/Search.tsx:254
+#: src/view/screens/Search/Search.tsx:322
msgid "We're sorry, but your search could not be completed. Please try again in a few minutes."
msgstr ""
-#: src/components/Lists.tsx:211
+#: src/components/Lists.tsx:188
#: src/view/screens/NotFound.tsx:48
msgid "We're sorry! We can't find the page you were looking for."
msgstr "हम क्षमा चाहते हैं! हमें वह पेज नहीं मिल रहा जिसे आप ढूंढ रहे थे।"
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:46
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:327
+msgid "We're sorry! You can only subscribe to ten labelers, and you've reached your limit of ten."
+msgstr ""
+
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:48
msgid "Welcome to <0>Bluesky0>"
msgstr "<0>Bluesky0> में आपका स्वागत है"
-#: src/screens/Onboarding/StepInterests/index.tsx:130
+#: src/screens/Onboarding/StepInterests/index.tsx:134
msgid "What are your interests?"
msgstr ""
#: src/view/com/modals/report/Modal.tsx:169
-msgid "What is the issue with this {collectionName}?"
-msgstr "इस {collectionName} के साथ क्या मुद्दा है?"
+#~ msgid "What is the issue with this {collectionName}?"
+#~ msgstr "इस {collectionName} के साथ क्या मुद्दा है?"
-#: src/view/com/auth/SplashScreen.tsx:59
-#: src/view/com/composer/Composer.tsx:286
+#: src/view/com/auth/SplashScreen.tsx:40
+#: src/view/com/auth/SplashScreen.web.tsx:81
+#: src/view/com/composer/Composer.tsx:296
msgid "What's up?"
msgstr ""
@@ -4674,16 +5865,36 @@ msgstr "कौन से भाषाएं आपको अपने एल्
msgid "Who can reply"
msgstr ""
-#: src/view/com/modals/crop-image/CropImage.web.tsx:102
+#: src/components/ReportDialog/SelectReportOptionView.tsx:43
+msgid "Why should this content be reviewed?"
+msgstr ""
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:56
+msgid "Why should this feed be reviewed?"
+msgstr ""
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:53
+msgid "Why should this list be reviewed?"
+msgstr ""
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:50
+msgid "Why should this post be reviewed?"
+msgstr ""
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:47
+msgid "Why should this user be reviewed?"
+msgstr ""
+
+#: src/view/com/modals/crop-image/CropImage.web.tsx:103
msgid "Wide"
msgstr "चौड़ा"
-#: src/view/com/composer/Composer.tsx:422
+#: src/view/com/composer/Composer.tsx:436
msgid "Write post"
msgstr "पोस्ट लिखो"
-#: src/view/com/composer/Composer.tsx:285
-#: src/view/com/composer/Prompt.tsx:33
+#: src/view/com/composer/Composer.tsx:295
+#: src/view/com/composer/Prompt.tsx:37
msgid "Write your reply"
msgstr "अपना जवाब दें"
@@ -4713,6 +5924,10 @@ msgstr "हाँ"
msgid "You are in line."
msgstr ""
+#: src/view/com/profile/ProfileFollows.tsx:86
+msgid "You are not following anyone."
+msgstr ""
+
#: src/view/com/posts/FollowingEmptyState.tsx:67
#: src/view/com/posts/FollowingEndOfFeed.tsx:68
msgid "You can also discover new Custom Feeds to follow."
@@ -4722,96 +5937,139 @@ msgstr ""
#~ msgid "You can also try our \"Discover\" algorithm:"
#~ msgstr ""
-#: src/screens/Onboarding/StepFollowingFeed.tsx:142
+#: src/screens/Onboarding/StepFollowingFeed.tsx:143
msgid "You can change these settings later."
msgstr ""
-#: src/view/com/auth/login/Login.tsx:158
-#: src/view/com/auth/login/PasswordUpdatedForm.tsx:31
+#: src/screens/Login/index.tsx:158
+#: src/screens/Login/PasswordUpdatedForm.tsx:33
msgid "You can now sign in with your new password."
msgstr "अब आप अपने नए पासवर्ड के साथ साइन इन कर सकते हैं।।"
-#: src/view/com/modals/InviteCodes.tsx:66
+#: src/view/com/profile/ProfileFollowers.tsx:86
+msgid "You do not have any followers."
+msgstr ""
+
+#: src/view/com/modals/InviteCodes.tsx:67
msgid "You don't have any invite codes yet! We'll send you some when you've been on Bluesky for a little longer."
msgstr "आपके पास अभी तक कोई आमंत्रण कोड नहीं है! जब आप कुछ अधिक समय के लिए Bluesky पर रहेंगे तो हम आपको कुछ भेजेंगे।"
-#: src/view/screens/SavedFeeds.tsx:102
+#: src/view/screens/SavedFeeds.tsx:103
msgid "You don't have any pinned feeds."
msgstr "आपके पास कोई पिन किया हुआ फ़ीड नहीं है."
-#: src/view/screens/Feeds.tsx:452
+#: src/view/screens/Feeds.tsx:477
msgid "You don't have any saved feeds!"
msgstr ""
-#: src/view/screens/SavedFeeds.tsx:135
+#: src/view/screens/SavedFeeds.tsx:136
msgid "You don't have any saved feeds."
msgstr "आपके पास कोई सहेजी गई फ़ीड नहीं है."
-#: src/view/com/post-thread/PostThread.tsx:465
+#: src/view/com/post-thread/PostThread.tsx:159
msgid "You have blocked the author or you have been blocked by the author."
msgstr "आपने लेखक को अवरुद्ध किया है या आपने लेखक द्वारा अवरुद्ध किया है।।"
-#: src/view/com/modals/ModerationDetails.tsx:56
+#: src/components/moderation/ModerationDetailsDialog.tsx:66
+#: src/lib/moderation/useModerationCauseDescription.ts:50
+#: src/lib/moderation/useModerationCauseDescription.ts:58
msgid "You have blocked this user. You cannot view their content."
msgstr ""
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:57
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:92
+#: src/screens/Login/SetNewPasswordForm.tsx:54
+#: src/screens/Login/SetNewPasswordForm.tsx:91
#: src/view/com/modals/ChangePassword.tsx:87
#: src/view/com/modals/ChangePassword.tsx:121
msgid "You have entered an invalid code. It should look like XXXXX-XXXXX."
msgstr ""
-#: src/view/com/modals/ModerationDetails.tsx:87
-msgid "You have muted this user."
+#: src/lib/moderation/useModerationCauseDescription.ts:109
+msgid "You have hidden this post"
msgstr ""
-#: src/view/com/feeds/ProfileFeedgens.tsx:136
+#: src/components/moderation/ModerationDetailsDialog.tsx:101
+msgid "You have hidden this post."
+msgstr ""
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:94
+#: src/lib/moderation/useModerationCauseDescription.ts:92
+msgid "You have muted this account."
+msgstr ""
+
+#: src/lib/moderation/useModerationCauseDescription.ts:86
+msgid "You have muted this user"
+msgstr ""
+
+#: src/view/com/modals/ModerationDetails.tsx:87
+#~ msgid "You have muted this user."
+#~ msgstr ""
+
+#: src/view/com/feeds/ProfileFeedgens.tsx:144
msgid "You have no feeds."
msgstr ""
#: src/view/com/lists/MyLists.tsx:89
-#: src/view/com/lists/ProfileLists.tsx:140
+#: src/view/com/lists/ProfileLists.tsx:148
msgid "You have no lists."
msgstr "आपके पास कोई सूची नहीं है।।"
-#: src/view/screens/ModerationBlockedAccounts.tsx:132
-msgid "You have not blocked any accounts yet. To block an account, go to their profile and selected \"Block account\" from the menu on their account."
-msgstr "आपने अभी तक कोई भी अकाउंट ब्लॉक नहीं किया है. किसी खाते को ब्लॉक करने के लिए, उनकी प्रोफ़ाइल पर जाएं और उनके खाते के मेनू से \"खाता ब्लॉक करें\" चुनें।"
+#: src/view/screens/ModerationBlockedAccounts.tsx:138
+msgid "You have not blocked any accounts yet. To block an account, go to their profile and select \"Block account\" from the menu on their account."
+msgstr ""
-#: src/view/screens/AppPasswords.tsx:87
+#: src/view/screens/ModerationBlockedAccounts.tsx:132
+#~ msgid "You have not blocked any accounts yet. To block an account, go to their profile and selected \"Block account\" from the menu on their account."
+#~ msgstr "आपने अभी तक कोई भी अकाउंट ब्लॉक नहीं किया है. किसी खाते को ब्लॉक करने के लिए, उनकी प्रोफ़ाइल पर जाएं और उनके खाते के मेनू से \"खाता ब्लॉक करें\" चुनें।"
+
+#: src/view/screens/AppPasswords.tsx:89
msgid "You have not created any app passwords yet. You can create one by pressing the button below."
msgstr "आपने अभी तक कोई ऐप पासवर्ड नहीं बनाया है। आप नीचे बटन दबाकर एक बना सकते हैं।।"
-#: src/view/screens/ModerationMutedAccounts.tsx:131
-msgid "You have not muted any accounts yet. To mute an account, go to their profile and selected \"Mute account\" from the menu on their account."
-msgstr "आपने अभी तक कोई खाता म्यूट नहीं किया है. किसी खाते को म्यूट करने के लिए, उनकी प्रोफ़ाइल पर जाएं और उनके खाते के मेनू से \"खाता म्यूट करें\" चुनें।"
+#: src/view/screens/ModerationMutedAccounts.tsx:136
+msgid "You have not muted any accounts yet. To mute an account, go to their profile and select \"Mute account\" from the menu on their account."
+msgstr ""
-#: src/components/dialogs/MutedWords.tsx:250
+#: src/view/screens/ModerationMutedAccounts.tsx:131
+#~ msgid "You have not muted any accounts yet. To mute an account, go to their profile and selected \"Mute account\" from the menu on their account."
+#~ msgstr "आपने अभी तक कोई खाता म्यूट नहीं किया है. किसी खाते को म्यूट करने के लिए, उनकी प्रोफ़ाइल पर जाएं और उनके खाते के मेनू से \"खाता म्यूट करें\" चुनें।"
+
+#: src/components/dialogs/MutedWords.tsx:249
msgid "You haven't muted any words or tags yet"
msgstr ""
-#: src/view/com/modals/ContentFilteringSettings.tsx:175
-msgid "You must be 18 or older to enable adult content."
+#: src/components/moderation/LabelsOnMeDialog.tsx:68
+msgid "You may appeal these labels if you feel they were placed in error."
msgstr ""
-#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:103
+#: src/screens/Signup/StepInfo/Policies.tsx:79
+msgid "You must be 13 years of age or older to sign up."
+msgstr ""
+
+#: src/view/com/modals/ContentFilteringSettings.tsx:175
+#~ msgid "You must be 18 or older to enable adult content."
+#~ msgstr ""
+
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:110
msgid "You must be 18 years or older to enable adult content"
msgstr ""
-#: src/view/com/util/forms/PostDropdownBtn.tsx:147
-msgid "You will no longer receive notifications for this thread"
+#: src/components/ReportDialog/SubmitView.tsx:203
+msgid "You must select at least one labeler for a report"
msgstr ""
#: src/view/com/util/forms/PostDropdownBtn.tsx:150
+msgid "You will no longer receive notifications for this thread"
+msgstr ""
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:153
msgid "You will now receive notifications for this thread"
msgstr ""
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:107
+#: src/screens/Login/SetNewPasswordForm.tsx:104
msgid "You will receive an email with a \"reset code.\" Enter that code here, then enter your new password."
msgstr "आपको \"reset code\" के साथ एक ईमेल प्राप्त होगा। उस कोड को यहाँ दर्ज करें, फिर अपना नया पासवर्ड दर्ज करें।।"
-#: src/screens/Onboarding/StepModeration/index.tsx:72
+#: src/screens/Onboarding/StepModeration/index.tsx:60
msgid "You're in control"
msgstr ""
@@ -4821,19 +6079,24 @@ msgstr ""
msgid "You're in line"
msgstr ""
-#: src/screens/Onboarding/StepFinished.tsx:90
+#: src/screens/Onboarding/StepFinished.tsx:94
msgid "You're ready to go!"
msgstr ""
+#: src/components/moderation/ModerationDetailsDialog.tsx:98
+#: src/lib/moderation/useModerationCauseDescription.ts:101
+msgid "You've chosen to hide a word or tag within this post."
+msgstr ""
+
#: src/view/com/posts/FollowingEndOfFeed.tsx:48
msgid "You've reached the end of your feed! Find some more accounts to follow."
msgstr ""
-#: src/view/com/auth/create/Step1.tsx:67
+#: src/screens/Signup/index.tsx:151
msgid "Your account"
msgstr "आपका खाता"
-#: src/view/com/modals/DeleteAccount.tsx:67
+#: src/view/com/modals/DeleteAccount.tsx:68
msgid "Your account has been deleted"
msgstr ""
@@ -4841,7 +6104,7 @@ msgstr ""
msgid "Your account repository, containing all public data records, can be downloaded as a \"CAR\" file. This file does not include media embeds, such as images, or your private data, which must be fetched separately."
msgstr ""
-#: src/view/com/auth/create/Step1.tsx:215
+#: src/screens/Signup/StepInfo/index.tsx:123
msgid "Your birth date"
msgstr "जन्म तिथि"
@@ -4849,12 +6112,12 @@ msgstr "जन्म तिथि"
msgid "Your choice will be saved, but can be changed later in settings."
msgstr ""
-#: src/screens/Onboarding/StepFollowingFeed.tsx:61
+#: src/screens/Onboarding/StepFollowingFeed.tsx:62
msgid "Your default feed is \"Following\""
msgstr ""
-#: src/view/com/auth/create/state.ts:110
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:70
+#: src/screens/Login/ForgotPasswordForm.tsx:57
+#: src/screens/Signup/state.ts:227
#: src/view/com/modals/ChangePassword.tsx:54
msgid "Your email appears to be invalid."
msgstr ""
@@ -4875,11 +6138,11 @@ msgstr "आपका ईमेल अभी तक सत्यापित न
msgid "Your following feed is empty! Follow more users to see what's happening."
msgstr ""
-#: src/view/com/auth/create/Step2.tsx:83
+#: src/screens/Signup/StepHandle.tsx:73
msgid "Your full handle will be"
msgstr "आपका पूरा हैंडल होगा"
-#: src/view/com/modals/ChangeHandle.tsx:270
+#: src/view/com/modals/ChangeHandle.tsx:271
msgid "Your full handle will be <0>@{0}0>"
msgstr ""
@@ -4889,33 +6152,32 @@ msgstr ""
#~ msgid "Your invite codes are hidden when logged in using an App Password"
#~ msgstr ""
-#: src/components/dialogs/MutedWords.tsx:221
+#: src/components/dialogs/MutedWords.tsx:220
msgid "Your muted words"
msgstr ""
-#: src/view/com/modals/ChangePassword.tsx:155
+#: src/view/com/modals/ChangePassword.tsx:157
msgid "Your password has been changed successfully!"
msgstr ""
-#: src/view/com/composer/Composer.tsx:274
+#: src/view/com/composer/Composer.tsx:284
msgid "Your post has been published"
msgstr ""
-#: src/screens/Onboarding/StepFinished.tsx:105
+#: src/screens/Onboarding/StepFinished.tsx:109
#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:59
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:59
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:61
msgid "Your posts, likes, and blocks are public. Mutes are private."
msgstr "आपकी पोस्ट, पसंद और ब्लॉक सार्वजनिक हैं। म्यूट निजी हैं।।"
-#: src/view/com/modals/SwitchAccount.tsx:84
-#: src/view/screens/Settings/index.tsx:118
+#: src/view/screens/Settings/index.tsx:136
msgid "Your profile"
msgstr "आपकी प्रोफ़ाइल"
-#: src/view/com/composer/Composer.tsx:273
+#: src/view/com/composer/Composer.tsx:283
msgid "Your reply has been published"
msgstr ""
-#: src/view/com/auth/create/Step2.tsx:65
+#: src/screens/Signup/index.tsx:153
msgid "Your user handle"
msgstr "आपका यूजर हैंडल"
diff --git a/src/locale/locales/id/messages.po b/src/locale/locales/id/messages.po
index 69ea13bce6..02ab07e19c 100644
--- a/src/locale/locales/id/messages.po
+++ b/src/locale/locales/id/messages.po
@@ -4,8 +4,8 @@ msgstr ""
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-12-28 11:56+07000\n"
"PO-Revision-Date: \n"
-"Last-Translator: GID0317\n"
-"Language-Team: GID0317, danninov, thinkbyte1024, mary-ext\n"
+"Last-Translator: danninov\n"
+"Language-Team: GID0317, danninov, thinkbyte1024, mary-ext, kodebanget\n"
"Language: id\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
@@ -29,7 +29,8 @@ msgstr "(tidak ada email)"
#~ msgid "{0} {purposeLabel} List"
#~ msgstr "Daftar {purposeLabel} {0}"
-#: src/view/com/profile/ProfileHeader.tsx:593
+#: src/components/ProfileHoverCard/index.web.tsx:323
+#: src/screens/Profile/Header/Metrics.tsx:44
msgid "{following} following"
msgstr "{following} mengikuti"
@@ -51,7 +52,7 @@ msgstr "{following} mengikuti"
#~ msgid "{message}"
#~ msgstr "{message}"
-#: src/view/shell/Drawer.tsx:440
+#: src/view/shell/Drawer.tsx:449
msgid "{numUnreadNotifications} unread"
msgstr "{numUnreadNotifications} belum dibaca"
@@ -63,15 +64,24 @@ msgstr "{numUnreadNotifications} belum dibaca"
msgid "<0/> members"
msgstr "<0/> anggota"
-#: src/view/com/profile/ProfileHeader.tsx:595
+#: src/view/shell/Drawer.tsx:97
+msgid "<0>{0}0> following"
+msgstr ""
+
+#: src/components/ProfileHoverCard/index.web.tsx:314
+msgid "<0>{followers} 0><1>{pluralizedFollowers}1>"
+msgstr ""
+
+#: src/components/ProfileHoverCard/index.web.tsx:326
+#: src/screens/Profile/Header/Metrics.tsx:45
msgid "<0>{following} 0><1>following1>"
msgstr "<0>{following} 0><1>mengikuti1>"
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:30
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:31
msgid "<0>Choose your0><1>Recommended1><2>Feeds2>"
msgstr "<0>Pilih0><1>Rekomendasi1><2>Feed2>"
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:37
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:38
msgid "<0>Follow some0><1>Recommended1><2>Users2>"
msgstr "<0>Ikuti0><1>Rekomendasi1><2>Pengguna2>"
@@ -79,51 +89,60 @@ msgstr "<0>Ikuti0><1>Rekomendasi1><2>Pengguna2>"
msgid "<0>Welcome to0><1>Bluesky1>"
msgstr "<0>Selamat datang di0>Bluesky1>"
-#: src/view/com/profile/ProfileHeader.tsx:558
+#: src/screens/Profile/Header/Handle.tsx:43
msgid "⚠Invalid Handle"
msgstr "⚠Handle Tidak Valid"
#: src/view/com/util/moderation/LabelInfo.tsx:45
-msgid "A content warning has been applied to this {0}."
-msgstr "Peringatan konten telah diterapkan pada {0}"
+#~ msgid "A content warning has been applied to this {0}."
+#~ msgstr "Peringatan konten telah diterapkan pada {0}"
#: src/lib/hooks/useOTAUpdate.ts:16
-msgid "A new version of the app is available. Please update to continue using the app."
-msgstr "Versi baru dari aplikasi ini telah tersedia. Harap perbarui untuk terus menggunakan aplikasi."
+#~ msgid "A new version of the app is available. Please update to continue using the app."
+#~ msgstr "Versi baru dari aplikasi ini telah tersedia. Harap perbarui untuk terus menggunakan aplikasi."
#: src/view/com/util/ViewHeader.tsx:89
-#: src/view/screens/Search/Search.tsx:647
+#: src/view/screens/Search/Search.tsx:796
msgid "Access navigation links and settings"
msgstr "Akses tautan navigasi dan pengaturan"
-#: src/view/com/home/HomeHeaderLayoutMobile.tsx:52
+#: src/view/com/home/HomeHeaderLayoutMobile.tsx:54
msgid "Access profile and other navigation links"
msgstr "Akses profil dan tautan navigasi lain"
-#: src/view/com/modals/EditImage.tsx:299
-#: src/view/screens/Settings/index.tsx:451
+#: src/view/com/modals/EditImage.tsx:300
+#: src/view/screens/Settings/index.tsx:421
msgid "Accessibility"
msgstr "Aksesibilitas"
-#: src/view/com/auth/login/LoginForm.tsx:166
-#: src/view/screens/Settings/index.tsx:308
-#: src/view/screens/Settings/index.tsx:721
+#: src/components/moderation/LabelsOnMe.tsx:42
+msgid "account"
+msgstr ""
+
+#: src/screens/Login/LoginForm.tsx:144
+#: src/view/screens/Settings/index.tsx:330
+#: src/view/screens/Settings/index.tsx:707
msgid "Account"
msgstr "Akun"
-#: src/view/com/profile/ProfileHeader.tsx:246
+#: src/view/com/profile/ProfileMenu.tsx:139
msgid "Account blocked"
msgstr "Akun diblokir"
-#: src/view/com/profile/ProfileHeader.tsx:213
+#: src/view/com/profile/ProfileMenu.tsx:153
+msgid "Account followed"
+msgstr ""
+
+#: src/view/com/profile/ProfileMenu.tsx:113
msgid "Account muted"
msgstr "Akun dibisukan"
-#: src/view/com/modals/ModerationDetails.tsx:86
+#: src/components/moderation/ModerationDetailsDialog.tsx:93
+#: src/lib/moderation/useModerationCauseDescription.ts:91
msgid "Account Muted"
msgstr "Akun Dibisukan"
-#: src/view/com/modals/ModerationDetails.tsx:72
+#: src/components/moderation/ModerationDetailsDialog.tsx:82
msgid "Account Muted by List"
msgstr "Akun Dibisukan Berdasarkan Daftar"
@@ -135,19 +154,24 @@ msgstr "Pengaturan akun"
msgid "Account removed from quick access"
msgstr "Akun dihapus dari akses cepat"
-#: src/view/com/profile/ProfileHeader.tsx:268
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:137
+#: src/view/com/profile/ProfileMenu.tsx:128
msgid "Account unblocked"
msgstr "Akun batal diblokir"
-#: src/view/com/profile/ProfileHeader.tsx:226
+#: src/view/com/profile/ProfileMenu.tsx:166
+msgid "Account unfollowed"
+msgstr ""
+
+#: src/view/com/profile/ProfileMenu.tsx:102
msgid "Account unmuted"
msgstr "Akun batal dibisukan"
-#: src/components/dialogs/MutedWords.tsx:165
+#: src/components/dialogs/MutedWords.tsx:164
#: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:150
-#: src/view/com/modals/ListAddRemoveUsers.tsx:264
+#: src/view/com/modals/ListAddRemoveUsers.tsx:268
#: src/view/com/modals/UserAddRemoveLists.tsx:219
-#: src/view/screens/ProfileList.tsx:813
+#: src/view/screens/ProfileList.tsx:829
msgid "Add"
msgstr "Tambah"
@@ -155,62 +179,63 @@ msgstr "Tambah"
msgid "Add a content warning"
msgstr "Tambahkan peringatan konten"
-#: src/view/screens/ProfileList.tsx:803
+#: src/view/screens/ProfileList.tsx:819
msgid "Add a user to this list"
msgstr "Tambahkan pengguna ke daftar ini"
-#: src/view/screens/Settings/index.tsx:383
-#: src/view/screens/Settings/index.tsx:392
+#: src/components/dialogs/SwitchAccount.tsx:55
+#: src/view/screens/Settings/index.tsx:405
+#: src/view/screens/Settings/index.tsx:414
msgid "Add account"
msgstr "Tambahkan akun"
#: src/view/com/composer/photos/Gallery.tsx:119
#: src/view/com/composer/photos/Gallery.tsx:180
-#: src/view/com/modals/AltImage.tsx:116
+#: src/view/com/modals/AltImage.tsx:117
msgid "Add alt text"
msgstr "Tambahkan teks alt"
-#: src/view/screens/AppPasswords.tsx:102
-#: src/view/screens/AppPasswords.tsx:143
-#: src/view/screens/AppPasswords.tsx:156
+#: src/view/screens/AppPasswords.tsx:104
+#: src/view/screens/AppPasswords.tsx:145
+#: src/view/screens/AppPasswords.tsx:158
msgid "Add App Password"
msgstr "Tambahkan Kata Sandi Aplikasi"
#: src/view/com/modals/report/InputIssueDetails.tsx:41
#: src/view/com/modals/report/Modal.tsx:191
-msgid "Add details"
-msgstr "Tambahkan detail"
+#~ msgid "Add details"
+#~ msgstr "Tambahkan detail"
#: src/view/com/modals/report/Modal.tsx:194
-msgid "Add details to report"
-msgstr "Tambahkan detail ke laporan"
+#~ msgid "Add details to report"
+#~ msgstr "Tambahkan detail ke laporan"
-#: src/view/com/composer/Composer.tsx:453
+#: src/view/com/composer/Composer.tsx:467
msgid "Add link card"
msgstr "Tambahkan kartu tautan"
-#: src/view/com/composer/Composer.tsx:458
+#: src/view/com/composer/Composer.tsx:472
msgid "Add link card:"
msgstr "Tambahkan kartu tautan:"
-#: src/components/dialogs/MutedWords.tsx:158
+#: src/components/dialogs/MutedWords.tsx:157
msgid "Add mute word for configured settings"
msgstr ""
-#: src/components/dialogs/MutedWords.tsx:87
+#: src/components/dialogs/MutedWords.tsx:86
msgid "Add muted words and tags"
msgstr ""
-#: src/view/com/modals/ChangeHandle.tsx:417
+#: src/view/com/modals/ChangeHandle.tsx:416
msgid "Add the following DNS record to your domain:"
msgstr "Tambahkan DNS record berikut ke domain Anda:"
-#: src/view/com/profile/ProfileHeader.tsx:310
+#: src/view/com/profile/ProfileMenu.tsx:263
+#: src/view/com/profile/ProfileMenu.tsx:266
msgid "Add to Lists"
msgstr "Tambahkan ke Daftar"
-#: src/view/com/feeds/FeedSourceCard.tsx:245
-#: src/view/screens/ProfileFeed.tsx:273
+#: src/view/com/feeds/FeedSourceCard.tsx:234
msgid "Add to my feeds"
msgstr "Tambakan ke feed saya"
@@ -223,7 +248,7 @@ msgstr "Ditambahkan"
msgid "Added to list"
msgstr "Ditambahkan ke daftar"
-#: src/view/com/feeds/FeedSourceCard.tsx:127
+#: src/view/com/feeds/FeedSourceCard.tsx:108
msgid "Added to my feeds"
msgstr "Ditambahkan ke feed saya"
@@ -231,32 +256,39 @@ msgstr "Ditambahkan ke feed saya"
msgid "Adjust the number of likes a reply must have to be shown in your feed."
msgstr "Atur jumlah suka dari balasan yang akan ditampilkan di feed Anda."
+#: src/lib/moderation/useGlobalLabelStrings.ts:34
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:117
#: src/view/com/modals/SelfLabel.tsx:75
msgid "Adult Content"
msgstr "Konten Dewasa"
#: src/view/com/modals/ContentFilteringSettings.tsx:141
-msgid "Adult content can only be enabled via the Web at <0/>."
-msgstr "Konten dewasa hanya dapat diaktifkan melalui Web di <0/>."
+#~ msgid "Adult content can only be enabled via the Web at <0/>."
+#~ msgstr "Konten dewasa hanya dapat diaktifkan melalui Web di <0/>."
#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:78
#~ msgid "Adult content can only be enabled via the Web at <0>bsky.app0>."
-#~ msgstr ""
+#~ msgstr "Konten dewasa hanya dapat diaktifkan melalui Web di <0>bsky.app0>."
-#: src/view/screens/Settings/index.tsx:664
+#: src/components/moderation/LabelPreference.tsx:242
+msgid "Adult content is disabled."
+msgstr ""
+
+#: src/screens/Moderation/index.tsx:375
+#: src/view/screens/Settings/index.tsx:635
msgid "Advanced"
msgstr "Lanjutan"
-#: src/view/screens/Feeds.tsx:666
+#: src/view/screens/Feeds.tsx:691
msgid "All the feeds you've saved, right in one place."
msgstr ""
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:221
-#: src/view/com/modals/ChangePassword.tsx:168
+#: src/screens/Login/ForgotPasswordForm.tsx:178
+#: src/view/com/modals/ChangePassword.tsx:170
msgid "Already have a code?"
-msgstr ""
+msgstr "Sudah memiliki kode?"
-#: src/view/com/auth/login/ChooseAccountForm.tsx:98
+#: src/screens/Login/ChooseAccountForm.tsx:39
msgid "Already signed in as @{0}"
msgstr "Sudah masuk sebagai @{0}"
@@ -264,7 +296,7 @@ msgstr "Sudah masuk sebagai @{0}"
msgid "ALT"
msgstr "ALT"
-#: src/view/com/modals/EditImage.tsx:315
+#: src/view/com/modals/EditImage.tsx:316
msgid "Alt text"
msgstr "Teks alt"
@@ -280,37 +312,49 @@ msgstr "Email telah dikirim ke {0}. Email tersebut berisi kode konfirmasi yang d
msgid "An email has been sent to your previous address, {0}. It includes a confirmation code which you can enter below."
msgstr "Email telah dikirim ke alamat Anda sebelumnya, {0}. Email tersebut berisi kode konfirmasi yang dapat Anda masukkan di bawah ini."
-#: src/view/com/profile/FollowButton.tsx:30
-#: src/view/com/profile/FollowButton.tsx:40
+#: src/lib/moderation/useReportOptions.ts:26
+msgid "An issue not included in these options"
+msgstr ""
+
+#: src/components/hooks/useFollowMethods.ts:35
+#: src/components/hooks/useFollowMethods.ts:50
+#: src/view/com/profile/FollowButton.tsx:35
+#: src/view/com/profile/FollowButton.tsx:45
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:188
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:198
msgid "An issue occurred, please try again."
msgstr "Terjadi masalah, silakan coba lagi."
-#: src/view/com/notifications/FeedItem.tsx:237
+#: src/view/com/notifications/FeedItem.tsx:242
#: src/view/com/threadgate/WhoCanReply.tsx:178
msgid "and"
msgstr "dan"
#: src/screens/Onboarding/index.tsx:32
msgid "Animals"
+msgstr "Hewan"
+
+#: src/lib/moderation/useReportOptions.ts:31
+msgid "Anti-Social Behavior"
msgstr ""
#: src/view/screens/LanguageSettings.tsx:95
msgid "App Language"
msgstr "Bahasa Aplikasi"
-#: src/view/screens/AppPasswords.tsx:228
+#: src/view/screens/AppPasswords.tsx:223
msgid "App password deleted"
msgstr "Kata sandi aplikasi dihapus"
-#: src/view/com/modals/AddAppPasswords.tsx:134
+#: src/view/com/modals/AddAppPasswords.tsx:135
msgid "App Password names can only contain letters, numbers, spaces, dashes, and underscores."
msgstr "Nama Kata Sandi Aplikasi hanya boleh terdiri dari huruf, angka, spasi, tanda hubung, dan garis bawah."
-#: src/view/com/modals/AddAppPasswords.tsx:99
+#: src/view/com/modals/AddAppPasswords.tsx:100
msgid "App Password names must be at least 4 characters long."
msgstr "Nama Kata Sandi Aplikasi harus terdiri dari minimal 4 karakter."
-#: src/view/screens/Settings/index.tsx:675
+#: src/view/screens/Settings/index.tsx:646
msgid "App password settings"
msgstr "Pengaturan kata sandi aplikasi"
@@ -318,52 +362,68 @@ msgstr "Pengaturan kata sandi aplikasi"
#~ msgid "App passwords"
#~ msgstr "Kata sandi aplikasi"
-#: src/Navigation.tsx:239
-#: src/view/screens/AppPasswords.tsx:187
-#: src/view/screens/Settings/index.tsx:684
+#: src/Navigation.tsx:251
+#: src/view/screens/AppPasswords.tsx:189
+#: src/view/screens/Settings/index.tsx:655
msgid "App Passwords"
msgstr "Kata sandi Aplikasi"
+#: src/components/moderation/LabelsOnMeDialog.tsx:133
+#: src/components/moderation/LabelsOnMeDialog.tsx:136
+msgid "Appeal"
+msgstr ""
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:201
+msgid "Appeal \"{0}\" label"
+msgstr ""
+
#: src/view/com/util/forms/PostDropdownBtn.tsx:337
#: src/view/com/util/forms/PostDropdownBtn.tsx:346
-msgid "Appeal content warning"
-msgstr "Ajukan banding peringatan konten"
+#~ msgid "Appeal content warning"
+#~ msgstr "Ajukan banding peringatan konten"
#: src/view/com/modals/AppealLabel.tsx:65
-msgid "Appeal Content Warning"
-msgstr "Ajukan Banding Peringatan Konten"
+#~ msgid "Appeal Content Warning"
+#~ msgstr "Ajukan Banding Peringatan Konten"
#~ msgid "Appeal Decision"
#~ msgstr "Keputusan Banding"
+#: src/components/moderation/LabelsOnMeDialog.tsx:192
+msgid "Appeal submitted."
+msgstr ""
+
#: src/view/com/util/moderation/LabelInfo.tsx:52
-msgid "Appeal this decision"
-msgstr "Ajukan banding untuk keputusan ini"
+#~ msgid "Appeal this decision"
+#~ msgstr "Ajukan banding untuk keputusan ini"
#: src/view/com/util/moderation/LabelInfo.tsx:56
-msgid "Appeal this decision."
-msgstr "Ajukan banding untuk keputusan ini."
+#~ msgid "Appeal this decision."
+#~ msgstr "Ajukan banding untuk keputusan ini."
-#: src/view/screens/Settings/index.tsx:466
+#: src/view/screens/Settings/index.tsx:436
msgid "Appearance"
msgstr "Tampilan"
-#: src/view/screens/AppPasswords.tsx:224
+#: src/view/screens/AppPasswords.tsx:265
msgid "Are you sure you want to delete the app password \"{name}\"?"
msgstr "Anda yakin untuk menghapus kata sandi aplikasi \"{name}\"?"
-#: src/view/com/composer/Composer.tsx:150
+#: src/view/com/feeds/FeedSourceCard.tsx:280
+msgid "Are you sure you want to remove {0} from your feeds?"
+msgstr ""
+
+#: src/view/com/composer/Composer.tsx:509
msgid "Are you sure you'd like to discard this draft?"
msgstr "Anda yakin untuk membuang draf ini?"
-#: src/components/dialogs/MutedWords.tsx:282
-#: src/view/screens/ProfileList.tsx:365
+#: src/components/dialogs/MutedWords.tsx:281
msgid "Are you sure?"
msgstr "Anda yakin?"
#: src/view/com/util/forms/PostDropdownBtn.tsx:322
-msgid "Are you sure? This cannot be undone."
-msgstr "Anda yakin? Ini tidak dapat dibatalkan."
+#~ msgid "Are you sure? This cannot be undone."
+#~ msgstr "Anda yakin? Ini tidak dapat dibatalkan."
#: src/view/com/composer/select-language/SuggestedLanguage.tsx:60
msgid "Are you writing in <0>{0}0>?"
@@ -371,126 +431,147 @@ msgstr "Apakah Anda menulis dalam <0>{0}0>?"
#: src/screens/Onboarding/index.tsx:26
msgid "Art"
-msgstr ""
+msgstr "Seni"
#: src/view/com/modals/SelfLabel.tsx:123
msgid "Artistic or non-erotic nudity."
msgstr "Ketelanjangan artistik atau non-erotis."
-#: src/view/com/auth/create/CreateAccount.tsx:158
-#: src/view/com/auth/login/ChooseAccountForm.tsx:151
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:174
-#: src/view/com/auth/login/LoginForm.tsx:259
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:179
-#: src/view/com/modals/report/InputIssueDetails.tsx:46
-#: src/view/com/post-thread/PostThread.tsx:472
-#: src/view/com/post-thread/PostThread.tsx:522
-#: src/view/com/post-thread/PostThread.tsx:530
-#: src/view/com/profile/ProfileHeader.tsx:649
+#: src/screens/Signup/StepHandle.tsx:119
+msgid "At least 3 characters"
+msgstr ""
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:246
+#: src/components/moderation/LabelsOnMeDialog.tsx:247
+#: src/screens/Login/ChooseAccountForm.tsx:73
+#: src/screens/Login/ChooseAccountForm.tsx:78
+#: src/screens/Login/ForgotPasswordForm.tsx:129
+#: src/screens/Login/ForgotPasswordForm.tsx:135
+#: src/screens/Login/LoginForm.tsx:221
+#: src/screens/Login/LoginForm.tsx:227
+#: src/screens/Login/SetNewPasswordForm.tsx:160
+#: src/screens/Login/SetNewPasswordForm.tsx:166
+#: src/screens/Profile/Header/Shell.tsx:96
+#: src/screens/Signup/index.tsx:180
#: src/view/com/util/ViewHeader.tsx:87
msgid "Back"
msgstr "Kembali"
#: src/view/com/post-thread/PostThread.tsx:480
-msgctxt "action"
-msgid "Back"
-msgstr "Kembali"
+#~ msgctxt "action"
+#~ msgid "Back"
+#~ msgstr "Kembali"
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:136
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:144
msgid "Based on your interest in {interestsText}"
-msgstr ""
+msgstr "Berdasarkan minat Anda pada {interestsText}"
-#: src/view/screens/Settings/index.tsx:523
+#: src/view/screens/Settings/index.tsx:493
msgid "Basics"
msgstr "Dasar"
-#: src/view/com/auth/create/Step1.tsx:227
-#: src/view/com/modals/BirthDateSettings.tsx:73
+#: src/components/dialogs/BirthDateSettings.tsx:107
msgid "Birthday"
msgstr "Tanggal lahir"
-#: src/view/screens/Settings/index.tsx:340
+#: src/view/screens/Settings/index.tsx:362
msgid "Birthday:"
msgstr "Tanggal lahir:"
-#: src/view/com/profile/ProfileHeader.tsx:239
-#: src/view/com/profile/ProfileHeader.tsx:346
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:286
+#: src/view/com/profile/ProfileMenu.tsx:361
+msgid "Block"
+msgstr ""
+
+#: src/view/com/profile/ProfileMenu.tsx:300
+#: src/view/com/profile/ProfileMenu.tsx:307
msgid "Block Account"
msgstr "Blokir Akun"
-#: src/view/screens/ProfileList.tsx:556
+#: src/view/com/profile/ProfileMenu.tsx:344
+msgid "Block Account?"
+msgstr ""
+
+#: src/view/screens/ProfileList.tsx:532
msgid "Block accounts"
msgstr "Blokir akun"
-#: src/view/screens/ProfileList.tsx:506
+#: src/view/screens/ProfileList.tsx:480
+#: src/view/screens/ProfileList.tsx:636
msgid "Block list"
msgstr "Daftar blokir"
-#: src/view/screens/ProfileList.tsx:316
+#: src/view/screens/ProfileList.tsx:631
msgid "Block these accounts?"
msgstr "Blokir akun ini?"
#: src/view/screens/ProfileList.tsx:320
-msgid "Block this List"
-msgstr "Blokir Daftar ini"
+#~ msgid "Block this List"
+#~ msgstr "Blokir Daftar ini"
#: src/view/com/lists/ListCard.tsx:110
-#: src/view/com/util/post-embeds/QuoteEmbed.tsx:61
+#: src/view/com/util/post-embeds/QuoteEmbed.tsx:58
msgid "Blocked"
msgstr "Diblokir"
-#: src/view/screens/Moderation.tsx:142
+#: src/screens/Moderation/index.tsx:267
msgid "Blocked accounts"
msgstr "Akun yang diblokir"
-#: src/Navigation.tsx:132
-#: src/view/screens/ModerationBlockedAccounts.tsx:107
+#: src/Navigation.tsx:134
+#: src/view/screens/ModerationBlockedAccounts.tsx:113
msgid "Blocked Accounts"
msgstr "Akun yang diblokir"
-#: src/view/com/profile/ProfileHeader.tsx:241
+#: src/view/com/profile/ProfileMenu.tsx:356
msgid "Blocked accounts cannot reply in your threads, mention you, or otherwise interact with you."
msgstr "Akun yang diblokir tidak dapat membalas di utas Anda, menyebut Anda, atau berinteraksi dengan Anda."
-#: src/view/screens/ModerationBlockedAccounts.tsx:115
+#: src/view/screens/ModerationBlockedAccounts.tsx:121
msgid "Blocked accounts cannot reply in your threads, mention you, or otherwise interact with you. You will not see their content and they will be prevented from seeing yours."
msgstr "Akun yang diblokir tidak dapat membalas postingan Anda, menyebutkan Anda, dan interaksi lain dengan Anda. Anda tidak akan melihat konten mereka dan mereka akan dicegah melihat konten Anda."
-#: src/view/com/post-thread/PostThread.tsx:324
+#: src/view/com/post-thread/PostThread.tsx:313
msgid "Blocked post."
msgstr "Postingan yang diblokir."
-#: src/view/screens/ProfileList.tsx:318
+#: src/screens/Profile/Sections/Labels.tsx:163
+msgid "Blocking does not prevent this labeler from placing labels on your account."
+msgstr ""
+
+#: src/view/screens/ProfileList.tsx:633
msgid "Blocking is public. Blocked accounts cannot reply in your threads, mention you, or otherwise interact with you."
msgstr "Blokir bersifat publik. Akun yang diblokir tidak dapat membalas postingan Anda, menyebutkan Anda, dan interaksi lain dengan Anda."
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:93
-#: src/view/com/auth/SplashScreen.web.tsx:133
+#: src/view/com/profile/ProfileMenu.tsx:353
+msgid "Blocking will not prevent labels from being applied on your account, but it will stop this account from replying in your threads or interacting with you."
+msgstr ""
+
+#: src/view/com/auth/SplashScreen.web.tsx:149
msgid "Blog"
msgstr "Blog"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:31
#: src/view/com/auth/server-input/index.tsx:89
-#: src/view/com/auth/server-input/index.tsx:90
+#: src/view/com/auth/server-input/index.tsx:91
msgid "Bluesky"
msgstr "Bluesky"
-#: src/view/com/auth/server-input/index.tsx:150
+#: src/view/com/auth/server-input/index.tsx:154
msgid "Bluesky is an open network where you can choose your hosting provider. Custom hosting is now available in beta for developers."
msgstr ""
#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:80
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:80
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:82
msgid "Bluesky is flexible."
msgstr "Bluesky itu fleksibel."
#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:69
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:69
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:71
msgid "Bluesky is open."
msgstr "Bluesky itu terbuka."
#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:56
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:56
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:58
msgid "Bluesky is public."
msgstr "Bluesky bersifat publik."
@@ -498,7 +579,7 @@ msgstr "Bluesky bersifat publik."
#~ msgid "Bluesky uses invites to build a healthier community. If you don't know anybody with an invite, you can sign up for the waitlist and we'll send one soon."
#~ msgstr "Bluesky menggunakan undangan untuk membangun komunitas yang sehat. Jika Anda tidak tahu orang lain yang memiliki undangan, Anda bisa mendaftar di daftar tunggu dan kami akan segera mengirimkan undangannya."
-#: src/view/screens/Moderation.tsx:245
+#: src/screens/Moderation/index.tsx:533
msgid "Bluesky will not show your profile and posts to logged-out users. Other apps may not honor this request. This does not make your account private."
msgstr "Bluesky tidak akan menampilkan profil dan postingan Anda ke pengguna yang tidak login. Aplikasi lain mungkin tidak menghormati permintaan ini. Ini tidak membuat akun Anda menjadi privat."
@@ -506,16 +587,23 @@ msgstr "Bluesky tidak akan menampilkan profil dan postingan Anda ke pengguna yan
#~ msgid "Bluesky.Social"
#~ msgstr "Bluesky.Social"
-#: src/screens/Onboarding/index.tsx:33
-msgid "Books"
+#: src/lib/moderation/useLabelBehaviorDescription.ts:53
+msgid "Blur images"
msgstr ""
-#: src/view/screens/Settings/index.tsx:859
-msgid "Build version {0} {1}"
-msgstr "Versi {0} {1}"
+#: src/lib/moderation/useLabelBehaviorDescription.ts:51
+msgid "Blur images and filter from feeds"
+msgstr ""
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:87
-#: src/view/com/auth/SplashScreen.web.tsx:128
+#: src/screens/Onboarding/index.tsx:33
+msgid "Books"
+msgstr "Buku"
+
+#: src/view/screens/Settings/index.tsx:893
+#~ msgid "Build version {0} {1}"
+#~ msgstr "Versi {0} {1}"
+
+#: src/view/com/auth/SplashScreen.web.tsx:146
msgid "Business"
msgstr "Bisnis"
@@ -531,79 +619,90 @@ msgstr "oleh —"
msgid "by {0}"
msgstr "oleh {0}"
+#: src/components/LabelingServiceCard/index.tsx:57
+msgid "By {0}"
+msgstr ""
+
#: src/view/com/profile/ProfileSubpageHeader.tsx:161
msgid "by <0/>"
msgstr "oleh <0/>"
+#: src/screens/Signup/StepInfo/Policies.tsx:74
+msgid "By creating an account you agree to the {els}."
+msgstr ""
+
#: src/view/com/profile/ProfileSubpageHeader.tsx:159
msgid "by you"
msgstr "oleh Anda"
-#: src/view/com/composer/photos/OpenCameraBtn.tsx:60
-#: src/view/com/util/UserAvatar.tsx:224
-#: src/view/com/util/UserBanner.tsx:40
+#: src/view/com/composer/photos/OpenCameraBtn.tsx:77
msgid "Camera"
msgstr "Kamera"
-#: src/view/com/modals/AddAppPasswords.tsx:216
+#: src/view/com/modals/AddAppPasswords.tsx:217
msgid "Can only contain letters, numbers, spaces, dashes, and underscores. Must be at least 4 characters long, but no more than 32 characters long."
msgstr "Hanya dapat terdiri dari huruf, angka, spasi, tanda hubung dan garis bawah. Minimal 4 karakter, namun tidak boleh lebih dari 32 karakter."
-#: src/components/Prompt.tsx:101
-#: src/view/com/composer/Composer.tsx:307
-#: src/view/com/composer/Composer.tsx:312
+#: src/components/Menu/index.tsx:213
+#: src/components/Prompt.tsx:113
+#: src/components/Prompt.tsx:115
+#: src/components/TagMenu/index.tsx:268
+#: src/view/com/composer/Composer.tsx:317
+#: src/view/com/composer/Composer.tsx:322
#: src/view/com/modals/ChangeEmail.tsx:218
#: src/view/com/modals/ChangeEmail.tsx:220
-#: src/view/com/modals/ChangePassword.tsx:265
-#: src/view/com/modals/ChangePassword.tsx:268
-#: src/view/com/modals/CreateOrEditList.tsx:355
-#: src/view/com/modals/EditImage.tsx:323
-#: src/view/com/modals/EditProfile.tsx:249
+#: src/view/com/modals/ChangeHandle.tsx:154
+#: src/view/com/modals/ChangePassword.tsx:267
+#: src/view/com/modals/ChangePassword.tsx:270
+#: src/view/com/modals/CreateOrEditList.tsx:356
+#: src/view/com/modals/crop-image/CropImage.web.tsx:138
+#: src/view/com/modals/EditImage.tsx:324
+#: src/view/com/modals/EditProfile.tsx:250
#: src/view/com/modals/InAppBrowserConsent.tsx:78
-#: src/view/com/modals/LinkWarning.tsx:87
-#: src/view/com/modals/Repost.tsx:87
+#: src/view/com/modals/InAppBrowserConsent.tsx:80
+#: src/view/com/modals/LinkWarning.tsx:105
+#: src/view/com/modals/LinkWarning.tsx:107
+#: src/view/com/modals/Repost.tsx:88
#: src/view/com/modals/VerifyEmail.tsx:247
#: src/view/com/modals/VerifyEmail.tsx:253
-#: src/view/screens/Search/Search.tsx:716
-#: src/view/shell/desktop/Search.tsx:238
+#: src/view/screens/Search/Search.tsx:865
+#: src/view/shell/desktop/Search.tsx:239
msgid "Cancel"
msgstr "Batal"
-#: src/view/com/modals/Confirm.tsx:88
-#: src/view/com/modals/Confirm.tsx:91
-#: src/view/com/modals/CreateOrEditList.tsx:360
-#: src/view/com/modals/DeleteAccount.tsx:156
-#: src/view/com/modals/DeleteAccount.tsx:234
+#: src/view/com/modals/CreateOrEditList.tsx:361
+#: src/view/com/modals/DeleteAccount.tsx:155
+#: src/view/com/modals/DeleteAccount.tsx:233
msgctxt "action"
msgid "Cancel"
msgstr "Batal"
-#: src/view/com/modals/DeleteAccount.tsx:152
-#: src/view/com/modals/DeleteAccount.tsx:230
+#: src/view/com/modals/DeleteAccount.tsx:151
+#: src/view/com/modals/DeleteAccount.tsx:229
msgid "Cancel account deletion"
msgstr "Batal menghapus akun"
#~ msgid "Cancel add image alt text"
#~ msgstr "Batal menambahkan teks alt gambar"
-#: src/view/com/modals/ChangeHandle.tsx:149
+#: src/view/com/modals/ChangeHandle.tsx:150
msgid "Cancel change handle"
msgstr "Batal mengubah handle"
-#: src/view/com/modals/crop-image/CropImage.web.tsx:134
+#: src/view/com/modals/crop-image/CropImage.web.tsx:135
msgid "Cancel image crop"
msgstr "Batal memotong gambar"
-#: src/view/com/modals/EditProfile.tsx:244
+#: src/view/com/modals/EditProfile.tsx:245
msgid "Cancel profile editing"
msgstr "Batal mengedit profil"
-#: src/view/com/modals/Repost.tsx:78
+#: src/view/com/modals/Repost.tsx:79
msgid "Cancel quote post"
msgstr "Batal mengutip postingan"
#: src/view/com/modals/ListAddRemoveUsers.tsx:87
-#: src/view/shell/desktop/Search.tsx:234
+#: src/view/shell/desktop/Search.tsx:235
msgid "Cancel search"
msgstr "Batal mencari"
@@ -611,20 +710,25 @@ msgstr "Batal mencari"
#~ msgid "Cancel waitlist signup"
#~ msgstr "Batal mendaftar di daftar tunggu"
-#: src/view/screens/Settings/index.tsx:334
+#: src/view/com/modals/LinkWarning.tsx:106
+msgid "Cancels opening the linked website"
+msgstr ""
+
+#: src/view/com/modals/VerifyEmail.tsx:152
+msgid "Change"
+msgstr "Ubah"
+
+#: src/view/screens/Settings/index.tsx:356
msgctxt "action"
msgid "Change"
msgstr "Ubah"
-#~ msgid "Change"
-#~ msgstr "Ubah"
-
-#: src/view/screens/Settings/index.tsx:696
+#: src/view/screens/Settings/index.tsx:667
msgid "Change handle"
msgstr "Ubah handle"
-#: src/view/com/modals/ChangeHandle.tsx:161
-#: src/view/screens/Settings/index.tsx:705
+#: src/view/com/modals/ChangeHandle.tsx:162
+#: src/view/screens/Settings/index.tsx:678
msgid "Change Handle"
msgstr "Ubah Handle"
@@ -632,21 +736,22 @@ msgstr "Ubah Handle"
msgid "Change my email"
msgstr "Ubah email saya"
-#: src/view/screens/Settings/index.tsx:732
+#: src/view/screens/Settings/index.tsx:718
msgid "Change password"
-msgstr ""
+msgstr "Ubah kata sandi"
-#: src/view/screens/Settings/index.tsx:741
+#: src/view/com/modals/ChangePassword.tsx:141
+#: src/view/screens/Settings/index.tsx:729
msgid "Change Password"
-msgstr ""
+msgstr "Ubah Kata Sandi"
#: src/view/com/composer/select-language/SuggestedLanguage.tsx:73
msgid "Change post language to {0}"
msgstr "Ubah bahasa postingan menjadi {0}"
#: src/view/screens/Settings/index.tsx:733
-msgid "Change your Bluesky password"
-msgstr ""
+#~ msgid "Change your Bluesky password"
+#~ msgstr "Ubah kata sandi Bluesky Anda"
#: src/view/com/modals/ChangeEmail.tsx:109
msgid "Change Your Email"
@@ -655,17 +760,17 @@ msgstr "Ubah Email Anda"
#: src/screens/Deactivated.tsx:72
#: src/screens/Deactivated.tsx:76
msgid "Check my status"
-msgstr ""
+msgstr "Periksa status saya"
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:121
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:122
msgid "Check out some recommended feeds. Tap + to add them to your list of pinned feeds."
msgstr "Lihat beberapa rekomendasi feed. Ketuk + untuk menambahkan ke daftar feed yang disematkan."
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:185
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:186
msgid "Check out some recommended users. Follow them to see similar users."
msgstr "Lihat beberapa rekomendasi pengguna. Ikuti mereka untuk melihat pengguna serupa."
-#: src/view/com/modals/DeleteAccount.tsx:169
+#: src/view/com/modals/DeleteAccount.tsx:168
msgid "Check your inbox for an email with the confirmation code to enter below:"
msgstr "Periksa kotak masuk email Anda untuk kode konfirmasi dan masukkan di bawah ini:"
@@ -674,57 +779,63 @@ msgid "Choose \"Everybody\" or \"Nobody\""
msgstr "Pilih \"Semua Orang\" atau \"Tidak Ada\""
#: src/view/screens/Settings/index.tsx:697
-msgid "Choose a new Bluesky username or create"
-msgstr "Pilih nama pengguna Bluesky baru atau buat"
+#~ msgid "Choose a new Bluesky username or create"
+#~ msgstr "Pilih nama pengguna Bluesky baru atau buat"
#: src/view/com/auth/server-input/index.tsx:79
msgid "Choose Service"
msgstr "Pilih Layanan"
-#: src/screens/Onboarding/StepFinished.tsx:135
+#: src/screens/Onboarding/StepFinished.tsx:139
msgid "Choose the algorithms that power your custom feeds."
-msgstr ""
+msgstr "Pilih algoritma yang akan digunakan untuk feed khusus Anda."
#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:83
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:83
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:85
msgid "Choose the algorithms that power your experience with custom feeds."
-msgstr "Pilih algoritma yang akan digunakan untuk kustom feed Anda."
+msgstr "Pilih algoritma yang akan digunakan untuk feed khusus Anda."
#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:103
#~ msgid "Choose your algorithmic feeds"
-#~ msgstr ""
+#~ msgstr "Pilih feed algoritma Anda"
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:103
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:104
msgid "Choose your main feeds"
-msgstr ""
+msgstr "Pilih feed utama Anda"
-#: src/view/com/auth/create/Step1.tsx:196
+#: src/screens/Signup/StepInfo/index.tsx:114
msgid "Choose your password"
msgstr "Pilih kata sandi Anda"
-#: src/view/screens/Settings/index.tsx:834
-#: src/view/screens/Settings/index.tsx:835
+#: src/view/screens/Settings/index.tsx:832
msgid "Clear all legacy storage data"
msgstr "Hapus semua data penyimpanan lama"
-#: src/view/screens/Settings/index.tsx:837
+#: src/view/screens/Settings/index.tsx:835
msgid "Clear all legacy storage data (restart after this)"
msgstr "Hapus semua data penyimpanan lama (mulai ulang setelah ini)"
-#: src/view/screens/Settings/index.tsx:846
-#: src/view/screens/Settings/index.tsx:847
+#: src/view/screens/Settings/index.tsx:844
msgid "Clear all storage data"
msgstr "Hapus semua data penyimpanan"
-#: src/view/screens/Settings/index.tsx:849
+#: src/view/screens/Settings/index.tsx:847
msgid "Clear all storage data (restart after this)"
msgstr "Hapus semua data penyimpanan (mulai ulang setelah ini)"
#: src/view/com/util/forms/SearchInput.tsx:88
-#: src/view/screens/Search/Search.tsx:697
+#: src/view/screens/Search/Search.tsx:846
msgid "Clear search query"
msgstr "Hapus kueri pencarian"
+#: src/view/screens/Settings/index.tsx:833
+msgid "Clears all legacy storage data"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:845
+msgid "Clears all storage data"
+msgstr ""
+
#: src/view/screens/Support.tsx:40
msgid "click here"
msgstr "klik di sini"
@@ -733,90 +844,91 @@ msgstr "klik di sini"
msgid "Click here to open tag menu for {tag}"
msgstr ""
-#: src/components/RichText.tsx:191
+#: src/components/RichText.tsx:198
msgid "Click here to open tag menu for #{tag}"
msgstr ""
#: src/screens/Onboarding/index.tsx:35
msgid "Climate"
-msgstr ""
+msgstr "Iklim"
-#: src/view/com/modals/ChangePassword.tsx:265
-#: src/view/com/modals/ChangePassword.tsx:268
+#: src/view/com/modals/ChangePassword.tsx:267
+#: src/view/com/modals/ChangePassword.tsx:270
msgid "Close"
-msgstr ""
+msgstr "Tutup"
-#: src/components/Dialog/index.web.tsx:84
-#: src/components/Dialog/index.web.tsx:198
+#: src/components/Dialog/index.web.tsx:106
+#: src/components/Dialog/index.web.tsx:218
msgid "Close active dialog"
-msgstr ""
+msgstr "Tutup dialog aktif"
-#: src/view/com/auth/login/PasswordUpdatedForm.tsx:38
+#: src/screens/Login/PasswordUpdatedForm.tsx:38
msgid "Close alert"
msgstr "Tutup peringatan"
-#: src/view/com/util/BottomSheetCustomBackdrop.tsx:33
+#: src/view/com/util/BottomSheetCustomBackdrop.tsx:36
msgid "Close bottom drawer"
msgstr "Tutup kotak bawah"
-#: src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx:26
+#: src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx:36
msgid "Close image"
msgstr "Tutup gambar"
-#: src/view/com/lightbox/Lightbox.web.tsx:119
+#: src/view/com/lightbox/Lightbox.web.tsx:129
msgid "Close image viewer"
msgstr "Tutup penampil gambar"
-#: src/view/shell/index.web.tsx:51
+#: src/view/shell/index.web.tsx:57
msgid "Close navigation footer"
msgstr "Tutup footer navigasi"
+#: src/components/Menu/index.tsx:207
#: src/components/TagMenu/index.tsx:262
msgid "Close this dialog"
msgstr ""
-#: src/view/shell/index.web.tsx:52
+#: src/view/shell/index.web.tsx:58
msgid "Closes bottom navigation bar"
msgstr "Menutup bilah navigasi bawah"
-#: src/view/com/auth/login/PasswordUpdatedForm.tsx:39
+#: src/screens/Login/PasswordUpdatedForm.tsx:39
msgid "Closes password update alert"
msgstr "Menutup peringatan pembaruan kata sandi"
-#: src/view/com/composer/Composer.tsx:309
+#: src/view/com/composer/Composer.tsx:319
msgid "Closes post composer and discards post draft"
msgstr "Menutup penyusun postingan dan membuang draf"
-#: src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx:27
+#: src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx:37
msgid "Closes viewer for header image"
msgstr "Menutup penampil untuk gambar header"
-#: src/view/com/notifications/FeedItem.tsx:318
+#: src/view/com/notifications/FeedItem.tsx:323
msgid "Collapses list of users for a given notification"
msgstr "Menciutkan daftar pengguna untuk notifikasi tertentu"
#: src/screens/Onboarding/index.tsx:41
msgid "Comedy"
-msgstr ""
+msgstr "Komedi"
#: src/screens/Onboarding/index.tsx:27
msgid "Comics"
-msgstr ""
+msgstr "Komik"
-#: src/Navigation.tsx:229
+#: src/Navigation.tsx:241
#: src/view/screens/CommunityGuidelines.tsx:32
msgid "Community Guidelines"
msgstr "Panduan Komunitas"
-#: src/screens/Onboarding/StepFinished.tsx:148
+#: src/screens/Onboarding/StepFinished.tsx:152
msgid "Complete onboarding and start using your account"
-msgstr ""
+msgstr "Selesaikan onboarding dan mulai menggunakan akun Anda"
-#: src/view/com/auth/create/Step3.tsx:73
+#: src/screens/Signup/index.tsx:155
msgid "Complete the challenge"
msgstr ""
-#: src/view/com/composer/Composer.tsx:424
+#: src/view/com/composer/Composer.tsx:438
msgid "Compose posts up to {MAX_GRAPHEME_LENGTH} characters in length"
msgstr "Buat postingan dengan panjang hingga {MAX_GRAPHEME_LENGTH} karakter"
@@ -824,12 +936,20 @@ msgstr "Buat postingan dengan panjang hingga {MAX_GRAPHEME_LENGTH} karakter"
msgid "Compose reply"
msgstr "Tulis balasan"
-#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:67
+#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:81
msgid "Configure content filtering setting for category: {0}"
+msgstr "Konfigurasikan pengaturan penyaringan konten untuk kategori: {0}"
+
+#: src/components/moderation/LabelPreference.tsx:81
+msgid "Configure content filtering setting for category: {name}"
msgstr ""
-#: src/components/Prompt.tsx:124
-#: src/view/com/modals/AppealLabel.tsx:98
+#: src/components/moderation/LabelPreference.tsx:244
+msgid "Configured in <0>moderation settings0>."
+msgstr ""
+
+#: src/components/Prompt.tsx:153
+#: src/components/Prompt.tsx:156
#: src/view/com/modals/SelfLabel.tsx:154
#: src/view/com/modals/VerifyEmail.tsx:231
#: src/view/com/modals/VerifyEmail.tsx:233
@@ -840,29 +960,38 @@ msgstr "Konfirmasi"
#: src/view/com/modals/Confirm.tsx:75
#: src/view/com/modals/Confirm.tsx:78
-msgctxt "action"
-msgid "Confirm"
-msgstr "Konfirmasi"
+#~ msgctxt "action"
+#~ msgid "Confirm"
+#~ msgstr "Konfirmasi"
#: src/view/com/modals/ChangeEmail.tsx:193
#: src/view/com/modals/ChangeEmail.tsx:195
msgid "Confirm Change"
msgstr "Konfirmasi Perubahan"
-#: src/view/com/modals/lang-settings/ConfirmLanguagesButton.tsx:34
+#: src/view/com/modals/lang-settings/ConfirmLanguagesButton.tsx:35
msgid "Confirm content language settings"
msgstr "Konfirmasi pengaturan bahasa konten"
-#: src/view/com/modals/DeleteAccount.tsx:220
+#: src/view/com/modals/DeleteAccount.tsx:219
msgid "Confirm delete account"
msgstr "Konfirmasi hapus akun"
#: src/view/com/modals/ContentFilteringSettings.tsx:156
-msgid "Confirm your age to enable adult content."
-msgstr "Konfirmasikan usia Anda untuk mengaktifkan konten dewasa."
+#~ msgid "Confirm your age to enable adult content."
+#~ msgstr "Konfirmasikan usia Anda untuk mengaktifkan konten dewasa."
+
+#: src/screens/Moderation/index.tsx:301
+msgid "Confirm your age:"
+msgstr ""
+
+#: src/screens/Moderation/index.tsx:292
+msgid "Confirm your birthdate"
+msgstr ""
#: src/view/com/modals/ChangeEmail.tsx:157
-#: src/view/com/modals/DeleteAccount.tsx:182
+#: src/view/com/modals/DeleteAccount.tsx:175
+#: src/view/com/modals/DeleteAccount.tsx:181
#: src/view/com/modals/VerifyEmail.tsx:165
msgid "Confirmation code"
msgstr "Kode konfirmasi"
@@ -871,34 +1000,48 @@ msgstr "Kode konfirmasi"
#~ msgid "Confirms signing up {email} to the waitlist"
#~ msgstr "Konfirmasi pendaftaran {email} ke daftar tunggu"
-#: src/view/com/auth/create/CreateAccount.tsx:193
-#: src/view/com/auth/login/LoginForm.tsx:278
+#: src/screens/Login/LoginForm.tsx:248
msgid "Connecting..."
msgstr "Menghubungkan..."
-#: src/view/com/auth/create/CreateAccount.tsx:213
+#: src/screens/Signup/index.tsx:225
msgid "Contact support"
+msgstr "Hubungi pusat bantuan"
+
+#: src/components/moderation/LabelsOnMe.tsx:42
+msgid "content"
+msgstr ""
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:18
+msgid "Content Blocked"
msgstr ""
#: src/view/screens/Moderation.tsx:83
-msgid "Content filtering"
-msgstr "Penyaring Konten"
+#~ msgid "Content filtering"
+#~ msgstr "Penyaring Konten"
#: src/view/com/modals/ContentFilteringSettings.tsx:44
-msgid "Content Filtering"
-msgstr "Penyaring Konten"
+#~ msgid "Content Filtering"
+#~ msgstr "Penyaring Konten"
+
+#: src/screens/Moderation/index.tsx:285
+msgid "Content filters"
+msgstr ""
#: src/view/com/modals/lang-settings/ContentLanguagesSettings.tsx:74
#: src/view/screens/LanguageSettings.tsx:278
msgid "Content Languages"
msgstr "Bahasa konten"
-#: src/view/com/modals/ModerationDetails.tsx:65
+#: src/components/moderation/ModerationDetailsDialog.tsx:75
+#: src/lib/moderation/useModerationCauseDescription.ts:75
msgid "Content Not Available"
msgstr "Konten Tidak Tersedia"
-#: src/view/com/modals/ModerationDetails.tsx:33
-#: src/view/com/util/moderation/ScreenHider.tsx:78
+#: src/components/moderation/ModerationDetailsDialog.tsx:46
+#: src/components/moderation/ScreenHider.tsx:99
+#: src/lib/moderation/useGlobalLabelStrings.ts:22
+#: src/lib/moderation/useModerationCauseDescription.ts:38
msgid "Content Warning"
msgstr "Peringatan Konten"
@@ -906,149 +1049,181 @@ msgstr "Peringatan Konten"
msgid "Content warnings"
msgstr "Peringatan konten"
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:170
-#: src/screens/Onboarding/StepFollowingFeed.tsx:153
-#: src/screens/Onboarding/StepInterests/index.tsx:248
-#: src/screens/Onboarding/StepModeration/index.tsx:118
-#: src/screens/Onboarding/StepTopicalFeeds.tsx:114
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:148
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:209
+#: src/components/Menu/index.web.tsx:84
+msgid "Context menu backdrop, click to close the menu."
+msgstr ""
+
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:161
+#: src/screens/Onboarding/StepFollowingFeed.tsx:154
+#: src/screens/Onboarding/StepInterests/index.tsx:252
+#: src/screens/Onboarding/StepModeration/index.tsx:103
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:118
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:150
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:211
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:96
msgid "Continue"
msgstr "Lanjutkan"
-#: src/screens/Onboarding/StepFollowingFeed.tsx:150
-#: src/screens/Onboarding/StepInterests/index.tsx:245
-#: src/screens/Onboarding/StepModeration/index.tsx:115
-#: src/screens/Onboarding/StepTopicalFeeds.tsx:111
+#: src/components/AccountList.tsx:108
+msgid "Continue as {0} (currently signed in)"
+msgstr ""
+
+#: src/screens/Onboarding/StepFollowingFeed.tsx:151
+#: src/screens/Onboarding/StepInterests/index.tsx:249
+#: src/screens/Onboarding/StepModeration/index.tsx:100
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:115
+#: src/screens/Signup/index.tsx:200
msgid "Continue to next step"
-msgstr ""
+msgstr "Lanjutkan ke langkah berikutnya"
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:167
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:158
msgid "Continue to the next step"
-msgstr ""
+msgstr "Lanjutkan ke langkah berikutnya"
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:191
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:199
msgid "Continue to the next step without following any accounts"
-msgstr ""
+msgstr "Lanjutkan ke langkah berikutnya tanpa mengikuti akun apa pun"
#: src/screens/Onboarding/index.tsx:44
msgid "Cooking"
-msgstr ""
+msgstr "Memasak"
-#: src/view/com/modals/AddAppPasswords.tsx:195
-#: src/view/com/modals/InviteCodes.tsx:182
+#: src/view/com/modals/AddAppPasswords.tsx:196
+#: src/view/com/modals/InviteCodes.tsx:183
msgid "Copied"
msgstr "Disalin"
-#: src/view/screens/Settings/index.tsx:241
+#: src/view/screens/Settings/index.tsx:254
msgid "Copied build version to clipboard"
msgstr "Menyalin versi build ke papan klip"
-#: src/view/com/modals/AddAppPasswords.tsx:76
-#: src/view/com/modals/InviteCodes.tsx:152
-#: src/view/com/util/forms/PostDropdownBtn.tsx:161
+#: src/view/com/modals/AddAppPasswords.tsx:77
+#: src/view/com/modals/ChangeHandle.tsx:326
+#: src/view/com/modals/InviteCodes.tsx:153
+#: src/view/com/util/forms/PostDropdownBtn.tsx:164
msgid "Copied to clipboard"
msgstr "Disalin ke papan klip"
-#: src/view/com/modals/AddAppPasswords.tsx:189
+#: src/components/dialogs/Embed.tsx:134
+msgid "Copied!"
+msgstr ""
+
+#: src/view/com/modals/AddAppPasswords.tsx:190
msgid "Copies app password"
msgstr "Menyalin kata sandi aplikasi"
-#: src/view/com/modals/AddAppPasswords.tsx:188
+#: src/view/com/modals/AddAppPasswords.tsx:189
msgid "Copy"
msgstr "Salin"
-#: src/view/screens/ProfileList.tsx:418
+#: src/view/com/modals/ChangeHandle.tsx:480
+msgid "Copy {0}"
+msgstr ""
+
+#: src/components/dialogs/Embed.tsx:120
+#: src/components/dialogs/Embed.tsx:139
+msgid "Copy code"
+msgstr ""
+
+#: src/view/screens/ProfileList.tsx:390
msgid "Copy link to list"
msgstr "Salin tautan ke daftar"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:231
-#: src/view/com/util/forms/PostDropdownBtn.tsx:237
+#: src/view/com/util/forms/PostDropdownBtn.tsx:236
+#: src/view/com/util/forms/PostDropdownBtn.tsx:245
msgid "Copy link to post"
msgstr "Salin tautan ke postingan"
#: src/view/com/profile/ProfileHeader.tsx:295
-msgid "Copy link to profile"
-msgstr "Salin tautan ke profil"
+#~ msgid "Copy link to profile"
+#~ msgstr "Salin tautan ke profil"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:223
-#: src/view/com/util/forms/PostDropdownBtn.tsx:225
+#: src/view/com/util/forms/PostDropdownBtn.tsx:228
+#: src/view/com/util/forms/PostDropdownBtn.tsx:230
msgid "Copy post text"
msgstr "Salin teks postingan"
-#: src/Navigation.tsx:234
+#: src/Navigation.tsx:246
#: src/view/screens/CopyrightPolicy.tsx:29
msgid "Copyright Policy"
msgstr "Kebijakan Hak Cipta"
-#: src/view/screens/ProfileFeed.tsx:97
+#: src/view/screens/ProfileFeed.tsx:103
msgid "Could not load feed"
msgstr "Tidak dapat memuat feed"
-#: src/view/screens/ProfileList.tsx:893
+#: src/view/screens/ProfileList.tsx:909
msgid "Could not load list"
msgstr "Tidak dapat memuat daftar"
#: src/view/com/auth/create/Step2.tsx:91
#~ msgid "Country"
-#~ msgstr ""
+#~ msgstr "Negara"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:62
-#: src/view/com/auth/SplashScreen.tsx:71
-#: src/view/com/auth/SplashScreen.web.tsx:81
+#: src/view/com/auth/SplashScreen.tsx:57
+#: src/view/com/auth/SplashScreen.web.tsx:101
msgid "Create a new account"
msgstr "Buat akun baru"
-#: src/view/screens/Settings/index.tsx:384
+#: src/view/screens/Settings/index.tsx:406
msgid "Create a new Bluesky account"
msgstr "Buat akun Bluesky baru"
-#: src/view/com/auth/create/CreateAccount.tsx:133
+#: src/screens/Signup/index.tsx:130
msgid "Create Account"
msgstr "Buat Akun"
-#: src/view/com/modals/AddAppPasswords.tsx:226
+#: src/components/dialogs/Signin.tsx:86
+#: src/components/dialogs/Signin.tsx:88
+msgid "Create an account"
+msgstr ""
+
+#: src/view/com/modals/AddAppPasswords.tsx:227
msgid "Create App Password"
msgstr "Buat Kata Sandi Aplikasi"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:54
-#: src/view/com/auth/SplashScreen.tsx:68
+#: src/view/com/auth/SplashScreen.tsx:48
+#: src/view/com/auth/SplashScreen.web.tsx:92
msgid "Create new account"
msgstr "Buat akun baru"
-#: src/view/screens/AppPasswords.tsx:249
+#: src/components/ReportDialog/SelectReportOptionView.tsx:94
+msgid "Create report for {0}"
+msgstr ""
+
+#: src/view/screens/AppPasswords.tsx:246
msgid "Created {0}"
msgstr "Dibuat {0}"
#: src/view/screens/ProfileFeed.tsx:616
-msgid "Created by <0/>"
-msgstr "Dibuat oleh <0/>"
+#~ msgid "Created by <0/>"
+#~ msgstr "Dibuat oleh <0/>"
#: src/view/screens/ProfileFeed.tsx:614
-msgid "Created by you"
-msgstr "Dibuat oleh Anda"
+#~ msgid "Created by you"
+#~ msgstr "Dibuat oleh Anda"
-#: src/view/com/composer/Composer.tsx:455
+#: src/view/com/composer/Composer.tsx:469
msgid "Creates a card with a thumbnail. The card links to {url}"
msgstr "Buat kartu dengan gambar kecil. Tautan kartu ke {url}"
#: src/screens/Onboarding/index.tsx:29
msgid "Culture"
-msgstr ""
+msgstr "Budaya"
-#: src/view/com/auth/server-input/index.tsx:95
-#: src/view/com/auth/server-input/index.tsx:96
+#: src/view/com/auth/server-input/index.tsx:97
+#: src/view/com/auth/server-input/index.tsx:99
msgid "Custom"
msgstr ""
-#: src/view/com/modals/ChangeHandle.tsx:389
+#: src/view/com/modals/ChangeHandle.tsx:388
msgid "Custom domain"
msgstr "Domain kustom"
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:106
-#: src/view/screens/Feeds.tsx:692
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:107
+#: src/view/screens/Feeds.tsx:717
msgid "Custom feeds built by the community bring you new experiences and help you find the content you love."
-msgstr ""
+msgstr "Feed khusus yang dibuat oleh komunitas memberikan pengalaman baru dan membantu Anda menemukan konten yang Anda sukai."
#: src/view/screens/PreferencesExternalEmbeds.tsx:55
msgid "Customize media from external sites."
@@ -1058,8 +1233,8 @@ msgstr "Sesuaikan media dari situs eksternal."
#~ msgid "Danger Zone"
#~ msgstr "Zona Berbahaya"
-#: src/view/screens/Settings/index.tsx:485
-#: src/view/screens/Settings/index.tsx:511
+#: src/view/screens/Settings/index.tsx:455
+#: src/view/screens/Settings/index.tsx:481
msgid "Dark"
msgstr "Gelap"
@@ -1067,37 +1242,53 @@ msgstr "Gelap"
msgid "Dark mode"
msgstr "Mode gelap"
-#: src/view/screens/Settings/index.tsx:498
+#: src/view/screens/Settings/index.tsx:468
msgid "Dark Theme"
+msgstr "Tema Gelap"
+
+#: src/screens/Signup/StepInfo/index.tsx:134
+msgid "Date of birth"
msgstr ""
#: src/Navigation.tsx:204
#~ msgid "Debug"
#~ msgstr "Debug"
+#: src/view/screens/Settings/index.tsx:805
+msgid "Debug Moderation"
+msgstr ""
+
#: src/view/screens/Debug.tsx:83
msgid "Debug panel"
msgstr "Panel debug"
-#: src/view/screens/Settings/index.tsx:772
+#: src/view/com/util/forms/PostDropdownBtn.tsx:341
+#: src/view/screens/AppPasswords.tsx:268
+#: src/view/screens/ProfileList.tsx:615
+msgid "Delete"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:760
msgid "Delete account"
msgstr "Hapus akun"
-#: src/view/com/modals/DeleteAccount.tsx:87
+#: src/view/com/modals/DeleteAccount.tsx:86
msgid "Delete Account"
msgstr "Hapus Akun"
-#: src/view/screens/AppPasswords.tsx:222
-#: src/view/screens/AppPasswords.tsx:242
+#: src/view/screens/AppPasswords.tsx:239
msgid "Delete app password"
msgstr "Hapus kata sandi aplikasi"
-#: src/view/screens/ProfileList.tsx:364
-#: src/view/screens/ProfileList.tsx:445
+#: src/view/screens/AppPasswords.tsx:263
+msgid "Delete app password?"
+msgstr ""
+
+#: src/view/screens/ProfileList.tsx:417
msgid "Delete List"
msgstr "Hapus Daftar"
-#: src/view/com/modals/DeleteAccount.tsx:223
+#: src/view/com/modals/DeleteAccount.tsx:222
msgid "Delete my account"
msgstr "Hapus akun saya"
@@ -1105,31 +1296,35 @@ msgstr "Hapus akun saya"
#~ msgid "Delete my account…"
#~ msgstr "Hapus akun saya…"
-#: src/view/screens/Settings/index.tsx:784
+#: src/view/screens/Settings/index.tsx:772
msgid "Delete My Account…"
-msgstr ""
+msgstr "Hapus Akun Saya…"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:317
-#: src/view/com/util/forms/PostDropdownBtn.tsx:326
+#: src/view/com/util/forms/PostDropdownBtn.tsx:322
+#: src/view/com/util/forms/PostDropdownBtn.tsx:324
msgid "Delete post"
msgstr "Hapus postingan"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:321
+#: src/view/screens/ProfileList.tsx:610
+msgid "Delete this list?"
+msgstr ""
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:336
msgid "Delete this post?"
msgstr "Hapus postingan ini?"
-#: src/view/com/util/post-embeds/QuoteEmbed.tsx:70
+#: src/view/com/util/post-embeds/QuoteEmbed.tsx:67
msgid "Deleted"
msgstr "Dihapus"
-#: src/view/com/post-thread/PostThread.tsx:316
+#: src/view/com/post-thread/PostThread.tsx:305
msgid "Deleted post."
msgstr "Postingan dihapus."
-#: src/view/com/modals/CreateOrEditList.tsx:300
-#: src/view/com/modals/CreateOrEditList.tsx:321
-#: src/view/com/modals/EditProfile.tsx:198
-#: src/view/com/modals/EditProfile.tsx:210
+#: src/view/com/modals/CreateOrEditList.tsx:301
+#: src/view/com/modals/CreateOrEditList.tsx:322
+#: src/view/com/modals/EditProfile.tsx:199
+#: src/view/com/modals/EditProfile.tsx:211
msgid "Description"
msgstr "Deskripsi"
@@ -1145,19 +1340,39 @@ msgstr "Deskripsi"
msgid "Did you want to say anything?"
msgstr "Apakah Anda ingin mengatakan sesuatu?"
-#: src/view/screens/Settings/index.tsx:504
+#: src/view/screens/Settings/index.tsx:474
msgid "Dim"
+msgstr "Redup"
+
+#: src/view/screens/Settings/index.tsx:697
+msgid "Disable haptics"
msgstr ""
-#: src/view/com/composer/Composer.tsx:151
+#: src/view/screens/Settings/index.tsx:697
+msgid "Disable vibrations"
+msgstr ""
+
+#: src/lib/moderation/useLabelBehaviorDescription.ts:32
+#: src/lib/moderation/useLabelBehaviorDescription.ts:42
+#: src/lib/moderation/useLabelBehaviorDescription.ts:68
+#: src/screens/Moderation/index.tsx:341
+msgid "Disabled"
+msgstr ""
+
+#: src/view/com/composer/Composer.tsx:511
msgid "Discard"
msgstr "Buang"
#: src/view/com/composer/Composer.tsx:145
-msgid "Discard draft"
-msgstr "Buang draf"
+#~ msgid "Discard draft"
+#~ msgstr "Buang draf"
-#: src/view/screens/Moderation.tsx:226
+#: src/view/com/composer/Composer.tsx:508
+msgid "Discard draft?"
+msgstr ""
+
+#: src/screens/Moderation/index.tsx:518
+#: src/screens/Moderation/index.tsx:522
msgid "Discourage apps from showing my account to logged-out users"
msgstr "Cegah aplikasi untuk menampilkan akun saya ke pengguna yang tidak login"
@@ -1170,19 +1385,35 @@ msgstr "Temukan feed khusus baru"
#~ msgid "Discover new feeds"
#~ msgstr "Temukan feed baru"
-#: src/view/screens/Feeds.tsx:689
+#: src/view/screens/Feeds.tsx:714
msgid "Discover New Feeds"
msgstr ""
-#: src/view/com/modals/EditProfile.tsx:192
+#: src/view/com/modals/EditProfile.tsx:193
msgid "Display name"
msgstr "Nama tampilan"
-#: src/view/com/modals/EditProfile.tsx:180
+#: src/view/com/modals/EditProfile.tsx:181
msgid "Display Name"
msgstr "Nama Tampilan"
-#: src/view/com/modals/ChangeHandle.tsx:487
+#: src/view/com/modals/ChangeHandle.tsx:397
+msgid "DNS Panel"
+msgstr ""
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:39
+msgid "Does not include nudity."
+msgstr ""
+
+#: src/screens/Signup/StepHandle.tsx:105
+msgid "Doesn't begin or end with a hyphen"
+msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:481
+msgid "Domain Value"
+msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:488
msgid "Domain verified!"
msgstr "Domain terverifikasi!"
@@ -1190,8 +1421,26 @@ msgstr "Domain terverifikasi!"
#~ msgid "Don't have an invite code?"
#~ msgstr "Tidak punya kode undangan?"
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:86
-#: src/view/com/modals/EditImage.tsx:333
+#: src/components/dialogs/BirthDateSettings.tsx:119
+#: src/components/dialogs/BirthDateSettings.tsx:125
+#: src/components/forms/DateField/index.tsx:74
+#: src/components/forms/DateField/index.tsx:80
+#: src/view/com/auth/server-input/index.tsx:169
+#: src/view/com/auth/server-input/index.tsx:170
+#: src/view/com/modals/AddAppPasswords.tsx:227
+#: src/view/com/modals/AltImage.tsx:140
+#: src/view/com/modals/crop-image/CropImage.web.tsx:153
+#: src/view/com/modals/InviteCodes.tsx:81
+#: src/view/com/modals/InviteCodes.tsx:124
+#: src/view/com/modals/ListAddRemoveUsers.tsx:142
+#: src/view/screens/PreferencesFollowingFeed.tsx:311
+#: src/view/screens/Settings/ExportCarDialog.tsx:94
+#: src/view/screens/Settings/ExportCarDialog.tsx:96
+msgid "Done"
+msgstr "Selesai"
+
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:87
+#: src/view/com/modals/EditImage.tsx:334
#: src/view/com/modals/ListAddRemoveUsers.tsx:144
#: src/view/com/modals/SelfLabel.tsx:157
#: src/view/com/modals/Threadgate.tsx:129
@@ -1203,33 +1452,17 @@ msgctxt "action"
msgid "Done"
msgstr "Selesai"
-#: src/view/com/auth/server-input/index.tsx:165
-#: src/view/com/auth/server-input/index.tsx:166
-#: src/view/com/modals/AddAppPasswords.tsx:226
-#: src/view/com/modals/AltImage.tsx:139
-#: src/view/com/modals/ContentFilteringSettings.tsx:88
-#: src/view/com/modals/ContentFilteringSettings.tsx:96
-#: src/view/com/modals/crop-image/CropImage.web.tsx:152
-#: src/view/com/modals/InviteCodes.tsx:80
-#: src/view/com/modals/InviteCodes.tsx:123
-#: src/view/com/modals/ListAddRemoveUsers.tsx:142
-#: src/view/screens/PreferencesFollowingFeed.tsx:311
-#: src/view/screens/Settings/ExportCarDialog.tsx:93
-#: src/view/screens/Settings/ExportCarDialog.tsx:94
-msgid "Done"
-msgstr "Selesai"
-
-#: src/view/com/modals/lang-settings/ConfirmLanguagesButton.tsx:42
+#: src/view/com/modals/lang-settings/ConfirmLanguagesButton.tsx:43
msgid "Done{extraText}"
msgstr "Selesai{extraText}"
-#: src/view/com/auth/login/ChooseAccountForm.tsx:45
-msgid "Double tap to sign in"
-msgstr "Ketuk dua kali untuk masuk"
+#: src/view/com/auth/login/ChooseAccountForm.tsx:46
+#~ msgid "Double tap to sign in"
+#~ msgstr "Ketuk dua kali untuk masuk"
#: src/view/screens/Settings/index.tsx:755
-msgid "Download Bluesky account data (repository)"
-msgstr ""
+#~ msgid "Download Bluesky account data (repository)"
+#~ msgstr ""
#: src/view/screens/Settings/ExportCarDialog.tsx:59
#: src/view/screens/Settings/ExportCarDialog.tsx:63
@@ -1238,37 +1471,49 @@ msgstr ""
#: src/view/com/composer/text-input/TextInput.web.tsx:249
msgid "Drop to add images"
-msgstr ""
+msgstr "Lepaskan untuk menambahkan gambar"
-#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:111
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:120
msgid "Due to Apple policies, adult content can only be enabled on the web after completing sign up."
+msgstr "Sesuai dengan kebijakan Apple, konten dewasa hanya dapat diaktifkan di web setelah menyelesaikan pendaftaran."
+
+#: src/view/com/modals/ChangeHandle.tsx:258
+msgid "e.g. alice"
msgstr ""
-#: src/view/com/modals/EditProfile.tsx:185
+#: src/view/com/modals/EditProfile.tsx:186
msgid "e.g. Alice Roberts"
msgstr "contoh: Alice Roberts"
-#: src/view/com/modals/EditProfile.tsx:203
+#: src/view/com/modals/ChangeHandle.tsx:380
+msgid "e.g. alice.com"
+msgstr ""
+
+#: src/view/com/modals/EditProfile.tsx:204
msgid "e.g. Artist, dog-lover, and avid reader."
msgstr "contoh: Seniman, penyayang anjing, dan pembaca setia."
-#: src/view/com/modals/CreateOrEditList.tsx:283
+#: src/lib/moderation/useGlobalLabelStrings.ts:43
+msgid "E.g. artistic nudes."
+msgstr ""
+
+#: src/view/com/modals/CreateOrEditList.tsx:284
msgid "e.g. Great Posters"
msgstr "contoh: Pemosting Keren"
-#: src/view/com/modals/CreateOrEditList.tsx:284
+#: src/view/com/modals/CreateOrEditList.tsx:285
msgid "e.g. Spammers"
msgstr "contoh: Spammer"
-#: src/view/com/modals/CreateOrEditList.tsx:312
+#: src/view/com/modals/CreateOrEditList.tsx:313
msgid "e.g. The posters who never miss."
msgstr "contoh: Pemosting yang selalu tepat sasaran."
-#: src/view/com/modals/CreateOrEditList.tsx:313
+#: src/view/com/modals/CreateOrEditList.tsx:314
msgid "e.g. Users that repeatedly reply with ads."
msgstr "contoh: Pengguna yang membalas dengan iklan secara berulang."
-#: src/view/com/modals/InviteCodes.tsx:96
+#: src/view/com/modals/InviteCodes.tsx:97
msgid "Each code works once. You'll receive more invite codes periodically."
msgstr "Tiap kode hanya berlaku sekali. Anda akan mendapatkan tambahan kode undangan secara berkala."
@@ -1277,66 +1522,71 @@ msgctxt "action"
msgid "Edit"
msgstr "Ubah"
+#: src/view/com/util/UserAvatar.tsx:301
+#: src/view/com/util/UserBanner.tsx:85
+msgid "Edit avatar"
+msgstr ""
+
#: src/view/com/composer/photos/Gallery.tsx:144
-#: src/view/com/modals/EditImage.tsx:207
+#: src/view/com/modals/EditImage.tsx:208
msgid "Edit image"
msgstr "Edit gambar"
-#: src/view/screens/ProfileList.tsx:433
+#: src/view/screens/ProfileList.tsx:405
msgid "Edit list details"
msgstr "Edit detail daftar"
-#: src/view/com/modals/CreateOrEditList.tsx:250
+#: src/view/com/modals/CreateOrEditList.tsx:251
msgid "Edit Moderation List"
msgstr "Ubah Daftar Moderasi"
-#: src/Navigation.tsx:244
-#: src/view/screens/Feeds.tsx:434
-#: src/view/screens/SavedFeeds.tsx:84
+#: src/Navigation.tsx:256
+#: src/view/screens/Feeds.tsx:459
+#: src/view/screens/SavedFeeds.tsx:85
msgid "Edit My Feeds"
msgstr "Edit Feed Saya"
-#: src/view/com/modals/EditProfile.tsx:152
+#: src/view/com/modals/EditProfile.tsx:153
msgid "Edit my profile"
msgstr "Edit profil saya"
-#: src/view/com/profile/ProfileHeader.tsx:418
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:178
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:168
msgid "Edit profile"
msgstr "Edit profil"
-#: src/view/com/profile/ProfileHeader.tsx:423
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:181
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:171
msgid "Edit Profile"
msgstr "Edit Profil"
-#: src/view/com/home/HomeHeaderLayout.web.tsx:62
-#: src/view/screens/Feeds.tsx:355
+#: src/view/com/home/HomeHeaderLayout.web.tsx:66
+#: src/view/screens/Feeds.tsx:380
msgid "Edit Saved Feeds"
msgstr "Edit Feed Tersimpan"
-#: src/view/com/modals/CreateOrEditList.tsx:245
+#: src/view/com/modals/CreateOrEditList.tsx:246
msgid "Edit User List"
msgstr "Edit Daftar Pengguna"
-#: src/view/com/modals/EditProfile.tsx:193
+#: src/view/com/modals/EditProfile.tsx:194
msgid "Edit your display name"
msgstr "Ubah nama tampilan Anda"
-#: src/view/com/modals/EditProfile.tsx:211
+#: src/view/com/modals/EditProfile.tsx:212
msgid "Edit your profile description"
msgstr "Ubah deskripsi profil Anda"
#: src/screens/Onboarding/index.tsx:34
msgid "Education"
-msgstr ""
+msgstr "Pendidikan"
-#: src/view/com/auth/create/Step1.tsx:176
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:156
+#: src/screens/Signup/StepInfo/index.tsx:80
#: src/view/com/modals/ChangeEmail.tsx:141
msgid "Email"
msgstr "Email"
-#: src/view/com/auth/create/Step1.tsx:167
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:147
+#: src/screens/Login/ForgotPasswordForm.tsx:99
msgid "Email address"
msgstr "Alamat email"
@@ -1353,26 +1603,49 @@ msgstr "Email Diupdate"
msgid "Email verified"
msgstr "Email terverifikasi"
-#: src/view/screens/Settings/index.tsx:312
+#: src/view/screens/Settings/index.tsx:334
msgid "Email:"
msgstr "Email:"
-#: src/view/com/modals/EmbedConsent.tsx:113
+#: src/components/dialogs/Embed.tsx:112
+msgid "Embed HTML code"
+msgstr ""
+
+#: src/components/dialogs/Embed.tsx:97
+#: src/view/com/util/forms/PostDropdownBtn.tsx:253
+#: src/view/com/util/forms/PostDropdownBtn.tsx:255
+msgid "Embed post"
+msgstr ""
+
+#: src/components/dialogs/Embed.tsx:101
+msgid "Embed this post in your website. Simply copy the following snippet and paste it into the HTML code of your website."
+msgstr ""
+
+#: src/components/dialogs/EmbedConsent.tsx:101
msgid "Enable {0} only"
msgstr "Aktifkan {0} saja"
-#: src/view/com/modals/ContentFilteringSettings.tsx:167
+#: src/screens/Moderation/index.tsx:329
+msgid "Enable adult content"
+msgstr ""
+
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:94
msgid "Enable Adult Content"
msgstr "Aktifkan Konten Dewasa"
-#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:76
-#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:77
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:78
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:79
msgid "Enable adult content in your feeds"
+msgstr "Aktifkan konten dewasa di feed Anda"
+
+#: src/components/dialogs/EmbedConsent.tsx:82
+#: src/components/dialogs/EmbedConsent.tsx:89
+msgid "Enable external media"
msgstr ""
#: src/view/com/modals/EmbedConsent.tsx:97
-msgid "Enable External Media"
-msgstr "Aktifkan Media Eksternal"
+#~ msgid "Enable External Media"
+#~ msgstr "Aktifkan Media Eksternal"
#: src/view/screens/PreferencesExternalEmbeds.tsx:75
msgid "Enable media players for"
@@ -1382,16 +1655,28 @@ msgstr "Aktifkan pemutar media untuk"
msgid "Enable this setting to only see replies between people you follow."
msgstr "Aktifkan opsi ini untuk hanya menampilkan balasan dari akun yang Anda ikuti."
-#: src/view/screens/Profile.tsx:455
+#: src/components/dialogs/EmbedConsent.tsx:94
+msgid "Enable this source only"
+msgstr ""
+
+#: src/screens/Moderation/index.tsx:339
+msgid "Enabled"
+msgstr ""
+
+#: src/screens/Profile/Sections/Feed.tsx:100
msgid "End of feed"
msgstr "Akhir feed"
-#: src/view/com/modals/AddAppPasswords.tsx:166
+#: src/view/com/modals/AddAppPasswords.tsx:167
msgid "Enter a name for this App Password"
msgstr "Masukkan nama untuk Sandi Aplikasi ini"
+#: src/screens/Login/SetNewPasswordForm.tsx:139
+msgid "Enter a password"
+msgstr ""
+
+#: src/components/dialogs/MutedWords.tsx:99
#: src/components/dialogs/MutedWords.tsx:100
-#: src/components/dialogs/MutedWords.tsx:101
msgid "Enter a word or tag"
msgstr ""
@@ -1403,20 +1688,19 @@ msgstr "Masukkan Kode Konfirmasi"
#~ msgid "Enter the address of your provider:"
#~ msgstr "Masukkan alamat provider Anda:"
-#: src/view/com/modals/ChangePassword.tsx:151
+#: src/view/com/modals/ChangePassword.tsx:153
msgid "Enter the code you received to change your password."
-msgstr ""
+msgstr "Masukkan kode yang Anda terima untuk mengubah kata sandi Anda."
-#: src/view/com/modals/ChangeHandle.tsx:371
+#: src/view/com/modals/ChangeHandle.tsx:370
msgid "Enter the domain you want to use"
msgstr "Masukkan domain yang ingin Anda gunakan"
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:107
+#: src/screens/Login/ForgotPasswordForm.tsx:119
msgid "Enter the email you used to create your account. We'll send you a \"reset code\" so you can set a new password."
msgstr "Masukkan email yang Anda gunakan untuk membuat akun. Kami akan mengirimkan \"kode reset\" untuk mengatur kata sandi baru."
-#: src/view/com/auth/create/Step1.tsx:228
-#: src/view/com/modals/BirthDateSettings.tsx:74
+#: src/components/dialogs/BirthDateSettings.tsx:108
msgid "Enter your birth date"
msgstr "Masukkan tanggal lahir Anda"
@@ -1424,7 +1708,8 @@ msgstr "Masukkan tanggal lahir Anda"
#~ msgid "Enter your email"
#~ msgstr "Masukkan email Anda"
-#: src/view/com/auth/create/Step1.tsx:172
+#: src/screens/Login/ForgotPasswordForm.tsx:105
+#: src/screens/Signup/StepInfo/index.tsx:92
msgid "Enter your email address"
msgstr "Masukkan alamat email Anda"
@@ -1438,17 +1723,17 @@ msgstr "Masukkan alamat email baru Anda di bawah ini."
#: src/view/com/auth/create/Step2.tsx:188
#~ msgid "Enter your phone number"
-#~ msgstr ""
+#~ msgstr "Masukkan nomor telepon Anda"
-#: src/view/com/auth/login/Login.tsx:99
+#: src/screens/Login/index.tsx:101
msgid "Enter your username and password"
msgstr "Masukkan nama pengguna dan kata sandi Anda"
-#: src/view/com/auth/create/Step3.tsx:67
+#: src/screens/Signup/StepCaptcha/index.tsx:49
msgid "Error receiving captcha response."
msgstr ""
-#: src/view/screens/Search/Search.tsx:110
+#: src/view/screens/Search/Search.tsx:115
msgid "Error:"
msgstr "Eror:"
@@ -1456,16 +1741,28 @@ msgstr "Eror:"
msgid "Everybody"
msgstr "Semua orang"
-#: src/view/com/modals/ChangeHandle.tsx:150
+#: src/lib/moderation/useReportOptions.ts:66
+msgid "Excessive mentions or replies"
+msgstr ""
+
+#: src/view/com/modals/DeleteAccount.tsx:230
+msgid "Exits account deletion process"
+msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:151
msgid "Exits handle change process"
msgstr "Keluar dari proses perubahan handle"
-#: src/view/com/lightbox/Lightbox.web.tsx:120
+#: src/view/com/modals/crop-image/CropImage.web.tsx:136
+msgid "Exits image cropping process"
+msgstr ""
+
+#: src/view/com/lightbox/Lightbox.web.tsx:130
msgid "Exits image view"
msgstr "Keluar dari tampilan gambar"
#: src/view/com/modals/ListAddRemoveUsers.tsx:88
-#: src/view/shell/desktop/Search.tsx:235
+#: src/view/shell/desktop/Search.tsx:236
msgid "Exits inputting search query"
msgstr "Keluar dari memasukkan permintaan pencarian"
@@ -1473,70 +1770,83 @@ msgstr "Keluar dari memasukkan permintaan pencarian"
#~ msgid "Exits signing up for waitlist with {email}"
#~ msgstr "Keluar dari pendaftaran untuk daftar tunggu dengan {email}"
-#: src/view/com/lightbox/Lightbox.web.tsx:163
+#: src/view/com/lightbox/Lightbox.web.tsx:183
msgid "Expand alt text"
msgstr "Tampilkan teks alt"
-#: src/view/com/composer/ComposerReplyTo.tsx:81
-#: src/view/com/composer/ComposerReplyTo.tsx:84
+#: src/view/com/composer/ComposerReplyTo.tsx:82
+#: src/view/com/composer/ComposerReplyTo.tsx:85
msgid "Expand or collapse the full post you are replying to"
msgstr "Bentangkan atau ciutkan postingan lengkap yang Anda balas"
-#: src/view/screens/Settings/index.tsx:753
+#: src/lib/moderation/useGlobalLabelStrings.ts:47
+msgid "Explicit or potentially disturbing media."
+msgstr ""
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:35
+msgid "Explicit sexual images."
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:741
msgid "Export my data"
msgstr ""
#: src/view/screens/Settings/ExportCarDialog.tsx:44
-#: src/view/screens/Settings/index.tsx:764
+#: src/view/screens/Settings/index.tsx:752
msgid "Export My Data"
msgstr ""
-#: src/view/com/modals/EmbedConsent.tsx:64
+#: src/components/dialogs/EmbedConsent.tsx:55
+#: src/components/dialogs/EmbedConsent.tsx:59
msgid "External Media"
msgstr "Media Eksternal"
-#: src/view/com/modals/EmbedConsent.tsx:75
+#: src/components/dialogs/EmbedConsent.tsx:71
#: src/view/screens/PreferencesExternalEmbeds.tsx:66
msgid "External media may allow websites to collect information about you and your device. No information is sent or requested until you press the \"play\" button."
msgstr "Media eksternal memungkinkan situs web untuk mengumpulkan informasi tentang Anda dan perangkat Anda. Tidak ada informasi yang dikirim atau diminta hingga Anda menekan tombol \"play\"."
-#: src/Navigation.tsx:263
+#: src/Navigation.tsx:275
#: src/view/screens/PreferencesExternalEmbeds.tsx:52
-#: src/view/screens/Settings/index.tsx:657
+#: src/view/screens/Settings/index.tsx:628
msgid "External Media Preferences"
msgstr "Preferensi Media Eksternal"
-#: src/view/screens/Settings/index.tsx:648
+#: src/view/screens/Settings/index.tsx:619
msgid "External media settings"
msgstr "Pengaturan media eksternal"
-#: src/view/com/modals/AddAppPasswords.tsx:115
-#: src/view/com/modals/AddAppPasswords.tsx:119
+#: src/view/com/modals/AddAppPasswords.tsx:116
+#: src/view/com/modals/AddAppPasswords.tsx:120
msgid "Failed to create app password."
msgstr "Gagal membuat kata sandi aplikasi."
-#: src/view/com/modals/CreateOrEditList.tsx:206
+#: src/view/com/modals/CreateOrEditList.tsx:207
msgid "Failed to create the list. Check your internet connection and try again."
msgstr "Gagal membuat daftar. Periksa koneksi internet Anda dan coba lagi."
-#: src/view/com/util/forms/PostDropdownBtn.tsx:128
+#: src/view/com/util/forms/PostDropdownBtn.tsx:131
msgid "Failed to delete post, please try again"
msgstr "Gagal menghapus postingan, silakan coba lagi"
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:109
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:141
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:110
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:143
msgid "Failed to load recommended feeds"
msgstr "Gagal memuat rekomendasi feed"
-#: src/Navigation.tsx:194
+#: src/view/com/lightbox/Lightbox.tsx:83
+msgid "Failed to save image: {0}"
+msgstr ""
+
+#: src/Navigation.tsx:196
msgid "Feed"
msgstr "Feed"
-#: src/view/com/feeds/FeedSourceCard.tsx:231
+#: src/view/com/feeds/FeedSourceCard.tsx:218
msgid "Feed by {0}"
msgstr "Feed oleh {0}"
-#: src/view/screens/Feeds.tsx:605
+#: src/view/screens/Feeds.tsx:630
msgid "Feed offline"
msgstr "Feed offline"
@@ -1545,60 +1855,68 @@ msgstr "Feed offline"
#~ msgstr "Preferensi Feed"
#: src/view/shell/desktop/RightNav.tsx:61
-#: src/view/shell/Drawer.tsx:311
+#: src/view/shell/Drawer.tsx:320
msgid "Feedback"
msgstr "Masukan"
-#: src/Navigation.tsx:452
-#: src/view/screens/Feeds.tsx:419
-#: src/view/screens/Feeds.tsx:524
-#: src/view/screens/Profile.tsx:184
-#: src/view/shell/bottom-bar/BottomBar.tsx:181
-#: src/view/shell/desktop/LeftNav.tsx:342
-#: src/view/shell/Drawer.tsx:476
-#: src/view/shell/Drawer.tsx:477
+#: src/Navigation.tsx:456
+#: src/view/screens/Feeds.tsx:444
+#: src/view/screens/Feeds.tsx:549
+#: src/view/screens/Profile.tsx:199
+#: src/view/shell/bottom-bar/BottomBar.tsx:192
+#: src/view/shell/desktop/LeftNav.tsx:346
+#: src/view/shell/Drawer.tsx:485
+#: src/view/shell/Drawer.tsx:486
msgid "Feeds"
msgstr "Feed"
#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:106
#~ msgid "Feeds are created by users and can give you entirely new experiences."
-#~ msgstr ""
+#~ msgstr "Feed dibuat oleh pengguna dan dapat memberikan Anda pengalaman yang benar-benar baru."
#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:106
#~ msgid "Feeds are created by users and organizations. They offer you varied experiences and suggest content you may like using algorithms."
-#~ msgstr ""
+#~ msgstr "Feed dibuat oleh pengguna dan organisasi. Mereka menawarkan Anda pengalaman yang beragam dan menyarankan konten yang mungkin Anda sukai menggunakan algoritma."
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:57
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:58
msgid "Feeds are created by users to curate content. Choose some feeds that you find interesting."
msgstr "Feed dibuat oleh pengguna untuk mengkurasi konten. Pilih beberapa feed yang menurut Anda menarik."
-#: src/view/screens/SavedFeeds.tsx:156
+#: src/view/screens/SavedFeeds.tsx:157
msgid "Feeds are custom algorithms that users build with a little coding expertise. <0/> for more information."
msgstr "Feed adalah algoritma khusus yang dibuat oleh pengguna dengan sedikit keahlian pengkodean. <0/> untuk informasi lebih lanjut."
-#: src/screens/Onboarding/StepTopicalFeeds.tsx:76
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:80
msgid "Feeds can be topical as well!"
+msgstr "Feed juga bisa tentang tren terkini!"
+
+#: src/view/com/modals/ChangeHandle.tsx:481
+msgid "File Contents"
msgstr ""
-#: src/screens/Onboarding/StepFinished.tsx:151
-msgid "Finalizing"
+#: src/lib/moderation/useLabelBehaviorDescription.ts:66
+msgid "Filter from feeds"
msgstr ""
+#: src/screens/Onboarding/StepFinished.tsx:155
+msgid "Finalizing"
+msgstr "Menyelesaikan"
+
#: src/view/com/posts/CustomFeedEmptyState.tsx:47
#: src/view/com/posts/FollowingEmptyState.tsx:57
#: src/view/com/posts/FollowingEndOfFeed.tsx:58
msgid "Find accounts to follow"
msgstr "Temukan akun untuk diikuti"
-#: src/view/screens/Search/Search.tsx:440
+#: src/view/screens/Search/Search.tsx:589
msgid "Find users on Bluesky"
msgstr "Temukan pengguna di Bluesky"
-#: src/view/screens/Search/Search.tsx:438
+#: src/view/screens/Search/Search.tsx:587
msgid "Find users with the search tool on the right"
msgstr "Temukan pengguna dengan alat pencarian di sebelah kanan"
-#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:150
+#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:155
msgid "Finding similar accounts..."
msgstr "Mencari akun serupa..."
@@ -1616,55 +1934,66 @@ msgstr "Atur utasan diskusi."
#: src/screens/Onboarding/index.tsx:38
msgid "Fitness"
-msgstr ""
+msgstr "Kebugaran"
-#: src/screens/Onboarding/StepFinished.tsx:131
+#: src/screens/Onboarding/StepFinished.tsx:135
msgid "Flexible"
-msgstr ""
+msgstr "Fleksibel"
-#: src/view/com/modals/EditImage.tsx:115
+#: src/view/com/modals/EditImage.tsx:116
msgid "Flip horizontal"
msgstr "Balik secara horizontal"
-#: src/view/com/modals/EditImage.tsx:120
-#: src/view/com/modals/EditImage.tsx:287
+#: src/view/com/modals/EditImage.tsx:121
+#: src/view/com/modals/EditImage.tsx:288
msgid "Flip vertically"
msgstr "Balik secara vertikal"
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:181
-#: src/view/com/post-thread/PostThreadFollowBtn.tsx:136
-#: src/view/com/profile/ProfileHeader.tsx:513
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:189
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:235
+#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:141
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:146
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:248
msgid "Follow"
msgstr "Ikuti"
-#: src/view/com/profile/FollowButton.tsx:64
+#: src/view/com/profile/FollowButton.tsx:69
msgctxt "action"
msgid "Follow"
msgstr "Ikuti"
#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:58
-#: src/view/com/post-thread/PostThreadFollowBtn.tsx:122
-#: src/view/com/profile/ProfileHeader.tsx:504
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:221
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:128
msgid "Follow {0}"
msgstr "Ikuti {0}"
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:179
-msgid "Follow All"
+#: src/view/com/profile/ProfileMenu.tsx:242
+#: src/view/com/profile/ProfileMenu.tsx:253
+msgid "Follow Account"
msgstr ""
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:174
-msgid "Follow selected accounts and continue to the next step"
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:187
+msgid "Follow All"
+msgstr "Ikuti Semua"
+
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:144
+msgid "Follow Back"
msgstr ""
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:182
+msgid "Follow selected accounts and continue to the next step"
+msgstr "Ikuti akun yang dipilih dan lanjutkan ke langkah berikutnya"
+
#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:174
#~ msgid "Follow selected accounts and continue to then next step"
-#~ msgstr ""
+#~ msgstr "Ikuti akun yang dipilih dan lanjutkan ke langkah berikutnya"
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:64
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:65
msgid "Follow some users to get started. We can recommend you more users based on who you find interesting."
msgstr "Ikuti beberapa pengguna untuk memulai. Kami dapat merekomendasikan lebih banyak pengguna yang mungkin menarik Anda."
-#: src/view/com/profile/ProfileCard.tsx:194
+#: src/view/com/profile/ProfileCard.tsx:219
msgid "Followed by {0}"
msgstr "Diikuti oleh {0}"
@@ -1676,10 +2005,11 @@ msgstr "Pengguna yang diikuti"
msgid "Followed users only"
msgstr "Hanya pengguna yang diikuti"
-#: src/view/com/notifications/FeedItem.tsx:166
+#: src/view/com/notifications/FeedItem.tsx:172
msgid "followed you"
msgstr "mengikuti Anda"
+#: src/view/com/profile/ProfileFollowers.tsx:104
#: src/view/screens/ProfileFollowers.tsx:25
msgid "Followers"
msgstr "Pengikut"
@@ -1687,63 +2017,80 @@ msgstr "Pengikut"
#~ msgid "following"
#~ msgstr "mengikuti"
-#: src/view/com/post-thread/PostThreadFollowBtn.tsx:136
-#: src/view/com/profile/ProfileHeader.tsx:495
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:233
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:149
+#: src/view/com/profile/ProfileFollows.tsx:104
#: src/view/screens/ProfileFollows.tsx:25
msgid "Following"
msgstr "Mengikuti"
-#: src/view/com/profile/ProfileHeader.tsx:149
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:93
msgid "Following {0}"
msgstr "Mengikuti {0}"
-#: src/Navigation.tsx:250
-#: src/view/com/home/HomeHeaderLayout.web.tsx:50
-#: src/view/com/home/HomeHeaderLayoutMobile.tsx:84
+#: src/view/screens/Settings/index.tsx:504
+msgid "Following feed preferences"
+msgstr ""
+
+#: src/Navigation.tsx:262
+#: src/view/com/home/HomeHeaderLayout.web.tsx:54
+#: src/view/com/home/HomeHeaderLayoutMobile.tsx:87
#: src/view/screens/PreferencesFollowingFeed.tsx:104
-#: src/view/screens/Settings/index.tsx:543
+#: src/view/screens/Settings/index.tsx:513
msgid "Following Feed Preferences"
msgstr ""
-#: src/view/com/profile/ProfileHeader.tsx:546
+#: src/screens/Profile/Header/Handle.tsx:24
msgid "Follows you"
msgstr "Mengikuti Anda"
-#: src/view/com/profile/ProfileCard.tsx:141
+#: src/view/com/profile/ProfileCard.tsx:144
msgid "Follows You"
msgstr "Mengikuti Anda"
#: src/screens/Onboarding/index.tsx:43
msgid "Food"
-msgstr ""
+msgstr "Makanan"
-#: src/view/com/modals/DeleteAccount.tsx:111
+#: src/view/com/modals/DeleteAccount.tsx:110
msgid "For security reasons, we'll need to send a confirmation code to your email address."
msgstr "Untuk alasan keamanan, kami akan mengirimkan kode konfirmasi ke alamat email Anda."
-#: src/view/com/modals/AddAppPasswords.tsx:209
+#: src/view/com/modals/AddAppPasswords.tsx:210
msgid "For security reasons, you won't be able to view this again. If you lose this password, you'll need to generate a new one."
msgstr "Untuk alasan keamanan, Anda tidak akan dapat melihat ini lagi. Jika Anda lupa kata sandi ini, Anda harus membuat yang baru."
+#: src/view/com/auth/login/LoginForm.tsx:244
+#~ msgid "Forgot"
+#~ msgstr "Lupa"
+
#: src/view/com/auth/login/LoginForm.tsx:241
-msgid "Forgot"
-msgstr "Lupa"
+#~ msgid "Forgot password"
+#~ msgstr "Lupa kata sandi"
-#: src/view/com/auth/login/LoginForm.tsx:238
-msgid "Forgot password"
-msgstr "Lupa kata sandi"
-
-#: src/view/com/auth/login/Login.tsx:127
-#: src/view/com/auth/login/Login.tsx:143
+#: src/screens/Login/index.tsx:129
+#: src/screens/Login/index.tsx:144
msgid "Forgot Password"
msgstr "Lupa Kata Sandi"
-#: src/screens/Hashtag.tsx:108
-#: src/screens/Hashtag.tsx:148
+#: src/screens/Login/LoginForm.tsx:201
+msgid "Forgot password?"
+msgstr ""
+
+#: src/screens/Login/LoginForm.tsx:212
+msgid "Forgot?"
+msgstr ""
+
+#: src/lib/moderation/useReportOptions.ts:52
+msgid "Frequently Posts Unwanted Content"
+msgstr ""
+
+#: src/screens/Hashtag.tsx:109
+#: src/screens/Hashtag.tsx:149
msgid "From @{sanitizedAuthor}"
msgstr ""
-#: src/view/com/posts/FeedItem.tsx:189
+#: src/view/com/posts/FeedItem.tsx:181
msgctxt "from-feed"
msgid "From <0/>"
msgstr "Dari <0/>"
@@ -1757,43 +2104,69 @@ msgstr "Galeri"
msgid "Get Started"
msgstr "Memulai"
-#: src/view/com/auth/LoggedOut.tsx:81
+#: src/lib/moderation/useReportOptions.ts:37
+msgid "Glaring violations of law or terms of service"
+msgstr ""
+
+#: src/components/moderation/ScreenHider.tsx:151
+#: src/components/moderation/ScreenHider.tsx:160
#: src/view/com/auth/LoggedOut.tsx:82
-#: src/view/com/util/moderation/ScreenHider.tsx:123
-#: src/view/shell/desktop/LeftNav.tsx:104
+#: src/view/com/auth/LoggedOut.tsx:83
+#: src/view/screens/NotFound.tsx:55
+#: src/view/screens/ProfileFeed.tsx:112
+#: src/view/screens/ProfileList.tsx:918
+#: src/view/shell/desktop/LeftNav.tsx:108
msgid "Go back"
msgstr "Kembali"
-#: src/view/screens/ProfileFeed.tsx:106
-#: src/view/screens/ProfileFeed.tsx:111
-#: src/view/screens/ProfileList.tsx:902
-#: src/view/screens/ProfileList.tsx:907
+#: src/components/Error.tsx:91
+#: src/screens/Profile/ErrorState.tsx:62
+#: src/screens/Profile/ErrorState.tsx:66
+#: src/view/screens/NotFound.tsx:54
+#: src/view/screens/ProfileFeed.tsx:117
+#: src/view/screens/ProfileList.tsx:923
msgid "Go Back"
msgstr "Kembali"
-#: src/screens/Onboarding/Layout.tsx:104
-#: src/screens/Onboarding/Layout.tsx:193
+#: src/components/ReportDialog/SelectReportOptionView.tsx:73
+#: src/components/ReportDialog/SubmitView.tsx:102
+#: src/screens/Onboarding/Layout.tsx:102
+#: src/screens/Onboarding/Layout.tsx:191
+#: src/screens/Signup/index.tsx:174
msgid "Go back to previous step"
+msgstr "Kembali ke langkah sebelumnya"
+
+#: src/view/screens/NotFound.tsx:55
+msgid "Go home"
msgstr ""
-#: src/view/screens/Search/Search.tsx:747
-#: src/view/shell/desktop/Search.tsx:262
+#: src/view/screens/NotFound.tsx:54
+msgid "Go Home"
+msgstr ""
+
+#: src/view/screens/Search/Search.tsx:896
+#: src/view/shell/desktop/Search.tsx:263
msgid "Go to @{queryMaybeHandle}"
-msgstr ""
+msgstr "Kembali ke @{queryMaybeHandle}"
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:189
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:218
-#: src/view/com/auth/login/LoginForm.tsx:288
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:195
-#: src/view/com/modals/ChangePassword.tsx:165
+#: src/screens/Login/ForgotPasswordForm.tsx:172
+#: src/view/com/modals/ChangePassword.tsx:167
msgid "Go to next"
msgstr "Berikutnya"
-#: src/view/com/modals/ChangeHandle.tsx:265
+#: src/lib/moderation/useGlobalLabelStrings.ts:46
+msgid "Graphic Media"
+msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:266
msgid "Handle"
msgstr "Handle"
-#: src/Navigation.tsx:270
+#: src/lib/moderation/useReportOptions.ts:32
+msgid "Harassment, trolling, or intolerance"
+msgstr ""
+
+#: src/Navigation.tsx:282
msgid "Hashtag"
msgstr ""
@@ -1801,73 +2174,78 @@ msgstr ""
#~ msgid "Hashtag: {tag}"
#~ msgstr ""
-#: src/components/RichText.tsx:190
+#: src/components/RichText.tsx:197
msgid "Hashtag: #{tag}"
msgstr ""
-#: src/view/com/auth/create/CreateAccount.tsx:208
+#: src/screens/Signup/index.tsx:221
msgid "Having trouble?"
-msgstr ""
+msgstr "Mengalami masalah?"
#: src/view/shell/desktop/RightNav.tsx:90
-#: src/view/shell/Drawer.tsx:321
+#: src/view/shell/Drawer.tsx:330
msgid "Help"
msgstr "Bantuan"
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:132
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:140
msgid "Here are some accounts for you to follow"
-msgstr ""
+msgstr "Berikut beberapa akun untuk Anda ikuti"
#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:132
#~ msgid "Here are some accounts for your to follow"
-#~ msgstr ""
+#~ msgstr "Berikut beberapa akun untuk Anda ikuti"
-#: src/screens/Onboarding/StepTopicalFeeds.tsx:85
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:89
msgid "Here are some popular topical feeds. You can choose to follow as many as you like."
-msgstr ""
+msgstr "Berikut beberapa feed topik terkini yang populer. Anda dapat memilih untuk mengikuti sebanyak yang Anda suka."
-#: src/screens/Onboarding/StepTopicalFeeds.tsx:80
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:84
msgid "Here are some topical feeds based on your interests: {interestsText}. You can choose to follow as many as you like."
-msgstr ""
+msgstr "Berikut beberapa feed topik terkini terdasarkan minat Anda: {interestsText}. Anda dapat memilih untuk mengikuti sebanyak yang Anda suka."
-#: src/view/com/modals/AddAppPasswords.tsx:153
+#: src/view/com/modals/AddAppPasswords.tsx:154
msgid "Here is your app password."
msgstr "Berikut kata sandi aplikasi Anda."
-#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:41
-#: src/view/com/modals/ContentFilteringSettings.tsx:251
-#: src/view/com/util/moderation/ContentHider.tsx:105
-#: src/view/com/util/moderation/PostHider.tsx:108
+#: src/components/moderation/ContentHider.tsx:115
+#: src/components/moderation/LabelPreference.tsx:134
+#: src/components/moderation/PostHider.tsx:107
+#: src/lib/moderation/useLabelBehaviorDescription.ts:15
+#: src/lib/moderation/useLabelBehaviorDescription.ts:20
+#: src/lib/moderation/useLabelBehaviorDescription.ts:25
+#: src/lib/moderation/useLabelBehaviorDescription.ts:30
+#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:52
+#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:76
+#: src/view/com/util/forms/PostDropdownBtn.tsx:350
msgid "Hide"
msgstr "Sembunyikan"
-#: src/view/com/modals/ContentFilteringSettings.tsx:224
-#: src/view/com/notifications/FeedItem.tsx:326
+#: src/view/com/notifications/FeedItem.tsx:331
msgctxt "action"
msgid "Hide"
msgstr "Sembunyikan"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:276
-#: src/view/com/util/forms/PostDropdownBtn.tsx:287
+#: src/view/com/util/forms/PostDropdownBtn.tsx:294
+#: src/view/com/util/forms/PostDropdownBtn.tsx:296
msgid "Hide post"
msgstr "Sembunyikan postingan"
-#: src/view/com/util/moderation/ContentHider.tsx:67
-#: src/view/com/util/moderation/PostHider.tsx:61
+#: src/components/moderation/ContentHider.tsx:67
+#: src/components/moderation/PostHider.tsx:64
msgid "Hide the content"
msgstr "Sembunyikan konten"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:280
+#: src/view/com/util/forms/PostDropdownBtn.tsx:347
msgid "Hide this post?"
msgstr "Sembunyikan postingan ini?"
-#: src/view/com/notifications/FeedItem.tsx:316
+#: src/view/com/notifications/FeedItem.tsx:321
msgid "Hide user list"
msgstr "Sembunyikan daftar pengguna"
#: src/view/com/profile/ProfileHeader.tsx:487
-msgid "Hides posts from {0} in your feed"
-msgstr "Menyembunyikan postingan dari {0} di feed Anda"
+#~ msgid "Hides posts from {0} in your feed"
+#~ msgstr "Menyembunyikan postingan dari {0} di feed Anda"
#: src/view/com/posts/FeedErrorMessage.tsx:111
msgid "Hmm, some kind of issue occurred when contacting the feed server. Please let the feed owner know about this issue."
@@ -1889,11 +2267,19 @@ msgstr "Hmm, server feed memberikan respons yang buruk. Harap beri tahu pemilik
msgid "Hmm, we're having trouble finding this feed. It may have been deleted."
msgstr "Hmm, kami kesulitan menemukan feed ini. Mungkin sudah dihapus."
-#: src/Navigation.tsx:442
-#: src/view/shell/bottom-bar/BottomBar.tsx:137
-#: src/view/shell/desktop/LeftNav.tsx:306
-#: src/view/shell/Drawer.tsx:398
-#: src/view/shell/Drawer.tsx:399
+#: src/screens/Moderation/index.tsx:59
+msgid "Hmmmm, it seems we're having trouble loading this data. See below for more details. If this issue persists, please contact us."
+msgstr ""
+
+#: src/screens/Profile/ErrorState.tsx:31
+msgid "Hmmmm, we couldn't load that moderation service."
+msgstr ""
+
+#: src/Navigation.tsx:446
+#: src/view/shell/bottom-bar/BottomBar.tsx:148
+#: src/view/shell/desktop/LeftNav.tsx:310
+#: src/view/shell/Drawer.tsx:407
+#: src/view/shell/Drawer.tsx:408
msgid "Home"
msgstr "Beranda"
@@ -1904,8 +2290,14 @@ msgstr "Beranda"
#~ msgid "Home Feed Preferences"
#~ msgstr "Preferensi Feed Beranda"
-#: src/view/com/auth/create/Step1.tsx:75
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:120
+#: src/view/com/modals/ChangeHandle.tsx:420
+msgid "Host:"
+msgstr ""
+
+#: src/screens/Login/ForgotPasswordForm.tsx:89
+#: src/screens/Login/LoginForm.tsx:134
+#: src/screens/Signup/StepInfo/index.tsx:40
+#: src/view/com/modals/ChangeHandle.tsx:281
msgid "Hosting provider"
msgstr "Provider hosting"
@@ -1925,11 +2317,11 @@ msgstr "Saya punya kode"
msgid "I have a confirmation code"
msgstr "Saya punya kode konfirmasi"
-#: src/view/com/modals/ChangeHandle.tsx:283
+#: src/view/com/modals/ChangeHandle.tsx:284
msgid "I have my own domain"
msgstr "Saya punya domain sendiri"
-#: src/view/com/lightbox/Lightbox.web.tsx:165
+#: src/view/com/lightbox/Lightbox.web.tsx:185
msgid "If alt text is long, toggles alt text expanded state"
msgstr "Jika teks alt panjang, alihkan status teks alt yang diperluas"
@@ -1937,34 +2329,54 @@ msgstr "Jika teks alt panjang, alihkan status teks alt yang diperluas"
msgid "If none are selected, suitable for all ages."
msgstr "Jika tidak ada yang dipilih, cocok untuk semua umur."
-#: src/view/com/modals/ChangePassword.tsx:146
+#: src/screens/Signup/StepInfo/Policies.tsx:83
+msgid "If you are not yet an adult according to the laws of your country, your parent or legal guardian must read these Terms on your behalf."
+msgstr ""
+
+#: src/view/screens/ProfileList.tsx:612
+msgid "If you delete this list, you won't be able to recover it."
+msgstr ""
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:338
+msgid "If you remove this post, you won't be able to recover it."
+msgstr ""
+
+#: src/view/com/modals/ChangePassword.tsx:148
msgid "If you want to change your password, we will send you a code to verify that this is your account."
+msgstr "Jika Anda ingin mengubah kata sandi, kami akan mengirimkan kode untuk memverifikasi bahwa ini adalah akun Anda."
+
+#: src/lib/moderation/useReportOptions.ts:36
+msgid "Illegal and Urgent"
msgstr ""
#: src/view/com/util/images/Gallery.tsx:38
msgid "Image"
msgstr "Gambar"
-#: src/view/com/modals/AltImage.tsx:120
+#: src/view/com/modals/AltImage.tsx:121
msgid "Image alt text"
msgstr "Teks alt gambar"
#: src/view/com/util/UserAvatar.tsx:311
#: src/view/com/util/UserBanner.tsx:118
-msgid "Image options"
-msgstr "Pilihan gambar"
+#~ msgid "Image options"
+#~ msgstr "Pilihan gambar"
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:138
+#: src/lib/moderation/useReportOptions.ts:47
+msgid "Impersonation or false claims about identity or affiliation"
+msgstr ""
+
+#: src/screens/Login/SetNewPasswordForm.tsx:127
msgid "Input code sent to your email for password reset"
msgstr "Masukkan kode yang dikirim ke email Anda untuk pengaturan ulang kata sandi"
-#: src/view/com/modals/DeleteAccount.tsx:184
+#: src/view/com/modals/DeleteAccount.tsx:183
msgid "Input confirmation code for account deletion"
msgstr "Masukkan kode konfirmasi untuk penghapusan akun"
#: src/view/com/auth/create/Step1.tsx:177
-msgid "Input email for Bluesky account"
-msgstr ""
+#~ msgid "Input email for Bluesky account"
+#~ msgstr "Masukkan email untuk akun Bluesky"
#: src/view/com/auth/create/Step2.tsx:109
#~ msgid "Input email for Bluesky waitlist"
@@ -1975,54 +2387,58 @@ msgstr ""
#~ msgstr "Masukkan alamat penyedia hosting"
#: src/view/com/auth/create/Step1.tsx:151
-msgid "Input invite code to proceed"
-msgstr "Masukkan kode undangan untuk melanjutkan"
+#~ msgid "Input invite code to proceed"
+#~ msgstr "Masukkan kode undangan untuk melanjutkan"
-#: src/view/com/modals/AddAppPasswords.tsx:180
+#: src/view/com/modals/AddAppPasswords.tsx:181
msgid "Input name for app password"
msgstr "Masukkan nama untuk kata sandi aplikasi"
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:162
+#: src/screens/Login/SetNewPasswordForm.tsx:151
msgid "Input new password"
msgstr "Masukkan kata sandi baru"
-#: src/view/com/modals/DeleteAccount.tsx:203
+#: src/view/com/modals/DeleteAccount.tsx:202
msgid "Input password for account deletion"
msgstr "Masukkan kata sandi untuk penghapusan akun"
#: src/view/com/auth/create/Step2.tsx:196
#~ msgid "Input phone number for SMS verification"
-#~ msgstr ""
+#~ msgstr "Masukkan nomor telepon untuk verifikasi SMS"
-#: src/view/com/auth/login/LoginForm.tsx:230
+#: src/screens/Login/LoginForm.tsx:195
msgid "Input the password tied to {identifier}"
msgstr "Masukkan kata sandi yang terkait dengan {identifier}"
-#: src/view/com/auth/login/LoginForm.tsx:197
+#: src/screens/Login/LoginForm.tsx:168
msgid "Input the username or email address you used at signup"
msgstr "Masukkan nama pengguna atau alamat email yang Anda gunakan saat mendaftar"
#: src/view/com/auth/create/Step2.tsx:271
#~ msgid "Input the verification code we have texted to you"
-#~ msgstr ""
+#~ msgstr "Masukkan kode verifikasi yang telah kami kirimkan melalui SMS"
#: src/view/com/modals/Waitlist.tsx:90
#~ msgid "Input your email to get on the Bluesky waitlist"
#~ msgstr "Masukkan email Anda untuk masuk ke daftar tunggu Bluesky"
-#: src/view/com/auth/login/LoginForm.tsx:229
+#: src/screens/Login/LoginForm.tsx:194
msgid "Input your password"
msgstr "Masukkan kata sandi Anda"
-#: src/view/com/auth/create/Step2.tsx:80
+#: src/view/com/modals/ChangeHandle.tsx:389
+msgid "Input your preferred hosting provider"
+msgstr ""
+
+#: src/screens/Signup/StepHandle.tsx:63
msgid "Input your user handle"
msgstr "Masukkan handle pengguna Anda"
-#: src/view/com/post-thread/PostThreadItem.tsx:226
+#: src/view/com/post-thread/PostThreadItem.tsx:221
msgid "Invalid or unsupported post record"
msgstr "Catatan posting tidak valid atau tidak didukung"
-#: src/view/com/auth/login/LoginForm.tsx:113
+#: src/screens/Login/LoginForm.tsx:114
msgid "Invalid username or password"
msgstr "Username atau kata sandi salah"
@@ -2030,20 +2446,19 @@ msgstr "Username atau kata sandi salah"
#~ msgid "Invite"
#~ msgstr "Undang"
-#: src/view/com/modals/InviteCodes.tsx:93
+#: src/view/com/modals/InviteCodes.tsx:94
msgid "Invite a Friend"
msgstr "Undang Teman"
-#: src/view/com/auth/create/Step1.tsx:141
-#: src/view/com/auth/create/Step1.tsx:150
+#: src/screens/Signup/StepInfo/index.tsx:58
msgid "Invite code"
msgstr "Kode Undangan"
-#: src/view/com/auth/create/state.ts:158
+#: src/screens/Signup/state.ts:278
msgid "Invite code not accepted. Check that you input it correctly and try again."
msgstr "Kode undangan salah. Periksa bahwa Anda memasukkannya dengan benar dan coba lagi."
-#: src/view/com/modals/InviteCodes.tsx:170
+#: src/view/com/modals/InviteCodes.tsx:171
msgid "Invite codes: {0} available"
msgstr "Kode undangan: {0} tersedia"
@@ -2051,16 +2466,15 @@ msgstr "Kode undangan: {0} tersedia"
#~ msgid "Invite codes: {invitesAvailable} available"
#~ msgstr "Kode undangan: {invitesAvailable} tersedia"
-#: src/view/com/modals/InviteCodes.tsx:169
+#: src/view/com/modals/InviteCodes.tsx:170
msgid "Invite codes: 1 available"
msgstr "Kode undangan: 1 tersedia"
-#: src/screens/Onboarding/StepFollowingFeed.tsx:64
+#: src/screens/Onboarding/StepFollowingFeed.tsx:65
msgid "It shows posts from the people you follow as they happen."
-msgstr ""
+msgstr "Feed ini menampilkan postingan secara langsung dari orang yang Anda ikuti."
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:99
-#: src/view/com/auth/SplashScreen.web.tsx:138
+#: src/view/com/auth/SplashScreen.web.tsx:152
msgid "Jobs"
msgstr "Karir"
@@ -2079,195 +2493,246 @@ msgstr "Karir"
#: src/screens/Onboarding/index.tsx:24
msgid "Journalism"
+msgstr "Jurnalisme"
+
+#: src/components/moderation/LabelsOnMe.tsx:59
+msgid "label has been placed on this {labelTarget}"
+msgstr ""
+
+#: src/components/moderation/ContentHider.tsx:144
+msgid "Labeled by {0}."
+msgstr ""
+
+#: src/components/moderation/ContentHider.tsx:142
+msgid "Labeled by the author."
+msgstr ""
+
+#: src/view/screens/Profile.tsx:193
+msgid "Labels"
+msgstr ""
+
+#: src/screens/Profile/Sections/Labels.tsx:153
+msgid "Labels are annotations on users and content. They can be used to hide, warn, and categorize the network."
+msgstr ""
+
+#: src/components/moderation/LabelsOnMe.tsx:61
+msgid "labels have been placed on this {labelTarget}"
+msgstr ""
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:62
+msgid "Labels on your account"
+msgstr ""
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:64
+msgid "Labels on your content"
msgstr ""
#: src/view/com/composer/select-language/SelectLangBtn.tsx:104
msgid "Language selection"
msgstr "Pilih bahasa"
-#: src/view/screens/Settings/index.tsx:594
+#: src/view/screens/Settings/index.tsx:565
msgid "Language settings"
msgstr "Pengaturan bahasa"
-#: src/Navigation.tsx:142
+#: src/Navigation.tsx:144
#: src/view/screens/LanguageSettings.tsx:89
msgid "Language Settings"
msgstr "Pengaturan Bahasa"
-#: src/view/screens/Settings/index.tsx:603
+#: src/view/screens/Settings/index.tsx:574
msgid "Languages"
msgstr "Bahasa"
#: src/view/com/auth/create/StepHeader.tsx:20
-msgid "Last step!"
-msgstr "Langkah terakhir!"
+#~ msgid "Last step!"
+#~ msgstr "Langkah terakhir!"
+
+#: src/view/screens/Search/Search.tsx:437
+msgid "Latest"
+msgstr ""
#: src/view/com/util/moderation/ContentHider.tsx:103
-msgid "Learn more"
-msgstr "Pelajari lebih lanjut"
+#~ msgid "Learn more"
+#~ msgstr "Pelajari lebih lanjut"
-#: src/view/com/util/moderation/PostAlerts.tsx:47
-#: src/view/com/util/moderation/ProfileHeaderAlerts.tsx:65
-#: src/view/com/util/moderation/ScreenHider.tsx:104
+#: src/components/moderation/ScreenHider.tsx:136
msgid "Learn More"
msgstr "Pelajari Lebih Lanjut"
-#: src/view/com/util/moderation/ContentHider.tsx:85
-#: src/view/com/util/moderation/PostAlerts.tsx:40
-#: src/view/com/util/moderation/PostHider.tsx:78
-#: src/view/com/util/moderation/ProfileHeaderAlerts.tsx:49
-#: src/view/com/util/moderation/ScreenHider.tsx:101
+#: src/components/moderation/ContentHider.tsx:65
+#: src/components/moderation/ContentHider.tsx:128
+msgid "Learn more about the moderation applied to this content."
+msgstr ""
+
+#: src/components/moderation/PostHider.tsx:85
+#: src/components/moderation/ScreenHider.tsx:125
msgid "Learn more about this warning"
msgstr "Pelajari lebih lanjut tentang peringatan ini"
-#: src/view/screens/Moderation.tsx:262
+#: src/screens/Moderation/index.tsx:549
msgid "Learn more about what is public on Bluesky."
msgstr "Pelajari lebih lanjut tentang apa yang publik di Bluesky."
+#: src/components/moderation/ContentHider.tsx:152
+msgid "Learn more."
+msgstr ""
+
#: src/view/com/modals/lang-settings/ContentLanguagesSettings.tsx:82
msgid "Leave them all unchecked to see any language."
msgstr "Biarkan semua tidak tercentang untuk melihat bahasa apa pun."
-#: src/view/com/modals/LinkWarning.tsx:51
+#: src/view/com/modals/LinkWarning.tsx:65
msgid "Leaving Bluesky"
msgstr "Meninggalkan Bluesky"
#: src/screens/Deactivated.tsx:128
msgid "left to go."
-msgstr ""
+msgstr "yang tersisa"
-#: src/view/screens/Settings/index.tsx:278
+#: src/view/screens/Settings/index.tsx:299
msgid "Legacy storage cleared, you need to restart the app now."
msgstr "Penyimpanan lama dihapus, Anda perlu memulai ulang aplikasi sekarang."
-#: src/view/com/auth/login/Login.tsx:128
-#: src/view/com/auth/login/Login.tsx:144
+#: src/screens/Login/index.tsx:130
+#: src/screens/Login/index.tsx:145
msgid "Let's get your password reset!"
msgstr "Reset kata sandi Anda!"
-#: src/screens/Onboarding/StepFinished.tsx:151
+#: src/screens/Onboarding/StepFinished.tsx:155
msgid "Let's go!"
-msgstr ""
+msgstr "Ayo!"
#: src/view/com/util/UserAvatar.tsx:248
#: src/view/com/util/UserBanner.tsx:62
-msgid "Library"
-msgstr "Pustaka"
+#~ msgid "Library"
+#~ msgstr "Pustaka"
-#: src/view/screens/Settings/index.tsx:479
+#: src/view/screens/Settings/index.tsx:449
msgid "Light"
msgstr "Terang"
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:182
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:197
msgid "Like"
msgstr "Suka"
-#: src/view/screens/ProfileFeed.tsx:591
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:264
+#: src/view/screens/ProfileFeed.tsx:585
msgid "Like this feed"
msgstr "Suka feed ini"
-#: src/Navigation.tsx:199
+#: src/components/LikesDialog.tsx:87
+#: src/Navigation.tsx:201
+#: src/Navigation.tsx:206
msgid "Liked by"
msgstr "Disukai oleh"
+#: src/screens/Profile/ProfileLabelerLikedBy.tsx:29
#: src/view/screens/PostLikedBy.tsx:27
#: src/view/screens/ProfileFeedLikedBy.tsx:27
msgid "Liked By"
-msgstr ""
+msgstr "Disukai Oleh"
-#: src/view/com/feeds/FeedSourceCard.tsx:279
+#: src/view/com/feeds/FeedSourceCard.tsx:268
msgid "Liked by {0} {1}"
msgstr "Disukai oleh {0} {1}"
-#: src/view/screens/ProfileFeed.tsx:606
+#: src/components/LabelingServiceCard/index.tsx:72
+msgid "Liked by {count} {0}"
+msgstr ""
+
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:284
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:298
+#: src/view/screens/ProfileFeed.tsx:600
msgid "Liked by {likeCount} {0}"
msgstr "Disukai oleh {likeCount} {0}"
-#: src/view/com/notifications/FeedItem.tsx:170
+#: src/view/com/notifications/FeedItem.tsx:176
msgid "liked your custom feed"
-msgstr ""
+msgstr "menyukai feed khusus Anda"
#: src/view/com/notifications/FeedItem.tsx:171
#~ msgid "liked your custom feed '{0}'"
-#~ msgstr ""
+#~ msgstr "menyukai feed khusus Anda '{0}'"
#: src/view/com/notifications/FeedItem.tsx:171
#~ msgid "liked your custom feed{0}"
-#~ msgstr "menyukai feed Anda{0}"
+#~ msgstr "menyukai feed khusus Anda{0}"
-#: src/view/com/notifications/FeedItem.tsx:155
+#: src/view/com/notifications/FeedItem.tsx:161
msgid "liked your post"
msgstr "menyukai postingan Anda"
-#: src/view/screens/Profile.tsx:183
+#: src/view/screens/Profile.tsx:198
msgid "Likes"
msgstr "Suka"
-#: src/view/com/post-thread/PostThreadItem.tsx:183
+#: src/view/com/post-thread/PostThreadItem.tsx:182
msgid "Likes on this post"
msgstr "Suka pada postingan ini"
-#: src/Navigation.tsx:168
+#: src/Navigation.tsx:170
msgid "List"
msgstr "Daftar"
-#: src/view/com/modals/CreateOrEditList.tsx:261
+#: src/view/com/modals/CreateOrEditList.tsx:262
msgid "List Avatar"
msgstr "Avatar Daftar"
-#: src/view/screens/ProfileList.tsx:324
+#: src/view/screens/ProfileList.tsx:313
msgid "List blocked"
msgstr "Daftar diblokir"
-#: src/view/com/feeds/FeedSourceCard.tsx:233
+#: src/view/com/feeds/FeedSourceCard.tsx:220
msgid "List by {0}"
msgstr "Daftar oleh {0}"
-#: src/view/screens/ProfileList.tsx:378
+#: src/view/screens/ProfileList.tsx:357
msgid "List deleted"
msgstr "Daftar dihapus"
-#: src/view/screens/ProfileList.tsx:283
+#: src/view/screens/ProfileList.tsx:285
msgid "List muted"
msgstr "Daftar dibisukan"
-#: src/view/com/modals/CreateOrEditList.tsx:275
+#: src/view/com/modals/CreateOrEditList.tsx:276
msgid "List Name"
msgstr "Nama Daftar"
-#: src/view/screens/ProfileList.tsx:343
+#: src/view/screens/ProfileList.tsx:327
msgid "List unblocked"
msgstr "Daftar tidak diblokir"
-#: src/view/screens/ProfileList.tsx:302
+#: src/view/screens/ProfileList.tsx:299
msgid "List unmuted"
msgstr "Daftar tidak dibisukan"
-#: src/Navigation.tsx:112
-#: src/view/screens/Profile.tsx:185
-#: src/view/shell/desktop/LeftNav.tsx:379
-#: src/view/shell/Drawer.tsx:492
-#: src/view/shell/Drawer.tsx:493
+#: src/Navigation.tsx:114
+#: src/view/screens/Profile.tsx:194
+#: src/view/screens/Profile.tsx:200
+#: src/view/shell/desktop/LeftNav.tsx:383
+#: src/view/shell/Drawer.tsx:501
+#: src/view/shell/Drawer.tsx:502
msgid "Lists"
msgstr "Daftar"
#: src/view/com/post-thread/PostThread.tsx:333
#: src/view/com/post-thread/PostThread.tsx:341
-msgid "Load more posts"
-msgstr "Muat postingan lainnya"
+#~ msgid "Load more posts"
+#~ msgstr "Muat postingan lainnya"
#: src/view/screens/Notifications.tsx:159
msgid "Load new notifications"
msgstr "Muat notifikasi baru"
-#: src/view/com/feeds/FeedPage.tsx:115
-#: src/view/screens/Profile.tsx:440
-#: src/view/screens/ProfileFeed.tsx:495
-#: src/view/screens/ProfileList.tsx:681
+#: src/screens/Profile/Sections/Feed.tsx:86
+#: src/view/com/feeds/FeedPage.tsx:138
+#: src/view/screens/ProfileFeed.tsx:507
+#: src/view/screens/ProfileList.tsx:697
msgid "Load new posts"
msgstr "Muat postingan baru"
-#: src/view/com/composer/text-input/mobile/Autocomplete.tsx:95
+#: src/view/com/composer/text-input/mobile/Autocomplete.tsx:99
msgid "Loading..."
msgstr "Memuat..."
@@ -2275,7 +2740,7 @@ msgstr "Memuat..."
#~ msgid "Local dev server"
#~ msgstr "Server dev lokal"
-#: src/Navigation.tsx:209
+#: src/Navigation.tsx:221
msgid "Log"
msgstr "Catatan"
@@ -2284,36 +2749,40 @@ msgstr "Catatan"
#: src/screens/Deactivated.tsx:178
#: src/screens/Deactivated.tsx:181
msgid "Log out"
-msgstr ""
+msgstr "Keluar"
-#: src/view/screens/Moderation.tsx:155
+#: src/screens/Moderation/index.tsx:442
msgid "Logged-out visibility"
msgstr "Visibilitas pengguna yang tidak login"
-#: src/view/com/auth/login/ChooseAccountForm.tsx:133
+#: src/components/AccountList.tsx:54
msgid "Login to account that is not listed"
msgstr "Masuk ke akun yang tidak ada di daftar"
#~ msgid "Looks like this feed is only available to users with a Bluesky account. Please sign up or sign in to view this feed!"
#~ msgstr "Sepertinya feed ini hanya tersedia untuk pengguna dengan akun Bluesky. Silakan daftar atau masuk untuk melihat feed ini!"
-#: src/view/com/modals/LinkWarning.tsx:65
+#: src/screens/Login/SetNewPasswordForm.tsx:116
+msgid "Looks like XXXXX-XXXXX"
+msgstr ""
+
+#: src/view/com/modals/LinkWarning.tsx:79
msgid "Make sure this is where you intend to go!"
msgstr "Pastikan ini adalah website yang Anda tuju!"
-#: src/components/dialogs/MutedWords.tsx:83
+#: src/components/dialogs/MutedWords.tsx:82
msgid "Manage your muted words and tags"
msgstr ""
#: src/view/com/auth/create/Step2.tsx:118
-msgid "May not be longer than 253 characters"
-msgstr ""
+#~ msgid "May not be longer than 253 characters"
+#~ msgstr ""
#: src/view/com/auth/create/Step2.tsx:109
-msgid "May only contain letters and numbers"
-msgstr ""
+#~ msgid "May only contain letters and numbers"
+#~ msgstr ""
-#: src/view/screens/Profile.tsx:182
+#: src/view/screens/Profile.tsx:197
msgid "Media"
msgstr "Media"
@@ -2326,73 +2795,92 @@ msgid "Mentioned users"
msgstr "Pengguna yang disebutkan"
#: src/view/com/util/ViewHeader.tsx:87
-#: src/view/screens/Search/Search.tsx:646
+#: src/view/screens/Search/Search.tsx:795
msgid "Menu"
msgstr "Menu"
#~ msgid "Message from server"
#~ msgstr "Pesan dari server"
-#: src/view/com/posts/FeedErrorMessage.tsx:197
+#: src/view/com/posts/FeedErrorMessage.tsx:192
msgid "Message from server: {0}"
msgstr "Pesan dari server: {0}"
-#: src/Navigation.tsx:117
-#: src/view/screens/Moderation.tsx:66
-#: src/view/screens/Settings/index.tsx:625
-#: src/view/shell/desktop/LeftNav.tsx:397
-#: src/view/shell/Drawer.tsx:511
-#: src/view/shell/Drawer.tsx:512
+#: src/lib/moderation/useReportOptions.ts:45
+msgid "Misleading Account"
+msgstr ""
+
+#: src/Navigation.tsx:119
+#: src/screens/Moderation/index.tsx:104
+#: src/view/screens/Settings/index.tsx:596
+#: src/view/shell/desktop/LeftNav.tsx:401
+#: src/view/shell/Drawer.tsx:520
+#: src/view/shell/Drawer.tsx:521
msgid "Moderation"
msgstr "Moderasi"
+#: src/components/moderation/ModerationDetailsDialog.tsx:112
+msgid "Moderation details"
+msgstr ""
+
#: src/view/com/lists/ListCard.tsx:93
#: src/view/com/modals/UserAddRemoveLists.tsx:206
msgid "Moderation list by {0}"
msgstr "Daftar moderasi oleh {0}"
-#: src/view/screens/ProfileList.tsx:775
+#: src/view/screens/ProfileList.tsx:791
msgid "Moderation list by <0/>"
msgstr "Daftar moderasi oleh <0/>"
#: src/view/com/lists/ListCard.tsx:91
#: src/view/com/modals/UserAddRemoveLists.tsx:204
-#: src/view/screens/ProfileList.tsx:773
+#: src/view/screens/ProfileList.tsx:789
msgid "Moderation list by you"
msgstr "Daftar moderasi oleh Anda"
-#: src/view/com/modals/CreateOrEditList.tsx:197
+#: src/view/com/modals/CreateOrEditList.tsx:198
msgid "Moderation list created"
msgstr "Daftar moderasi dibuat"
-#: src/view/com/modals/CreateOrEditList.tsx:183
+#: src/view/com/modals/CreateOrEditList.tsx:184
msgid "Moderation list updated"
msgstr "Daftar moderasi diperbarui"
-#: src/view/screens/Moderation.tsx:114
+#: src/screens/Moderation/index.tsx:243
msgid "Moderation lists"
msgstr "Daftar moderasi"
-#: src/Navigation.tsx:122
+#: src/Navigation.tsx:124
#: src/view/screens/ModerationModlists.tsx:58
msgid "Moderation Lists"
msgstr "Daftar Moderasi"
-#: src/view/screens/Settings/index.tsx:619
+#: src/view/screens/Settings/index.tsx:590
msgid "Moderation settings"
msgstr "Pengaturan moderasi"
-#: src/view/com/modals/ModerationDetails.tsx:35
+#: src/Navigation.tsx:216
+msgid "Moderation states"
+msgstr ""
+
+#: src/screens/Moderation/index.tsx:215
+msgid "Moderation tools"
+msgstr ""
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:48
+#: src/lib/moderation/useModerationCauseDescription.ts:40
msgid "Moderator has chosen to set a general warning on the content."
msgstr "Moderator telah memilih untuk menetapkan peringatan umum pada konten."
+#: src/view/com/post-thread/PostThreadItem.tsx:535
+msgid "More"
+msgstr ""
+
#: src/view/shell/desktop/Feeds.tsx:65
msgid "More feeds"
msgstr "Feed lainnya"
-#: src/view/com/profile/ProfileHeader.tsx:523
-#: src/view/screens/ProfileFeed.tsx:363
-#: src/view/screens/ProfileList.tsx:617
+#: src/view/screens/ProfileList.tsx:601
msgid "More options"
msgstr "Pilihan lainnya"
@@ -2405,8 +2893,8 @@ msgid "Most-liked replies first"
msgstr "Balasan yang paling disukai lebih dulu"
#: src/view/com/auth/create/Step2.tsx:122
-msgid "Must be at least 3 characters"
-msgstr ""
+#~ msgid "Must be at least 3 characters"
+#~ msgstr ""
#: src/components/TagMenu/index.tsx:249
msgid "Mute"
@@ -2416,11 +2904,12 @@ msgstr ""
msgid "Mute {truncatedTag}"
msgstr ""
-#: src/view/com/profile/ProfileHeader.tsx:327
+#: src/view/com/profile/ProfileMenu.tsx:279
+#: src/view/com/profile/ProfileMenu.tsx:286
msgid "Mute Account"
msgstr "Bisukan Akun"
-#: src/view/screens/ProfileList.tsx:544
+#: src/view/screens/ProfileList.tsx:520
msgid "Mute accounts"
msgstr "Bisukan akun"
@@ -2432,41 +2921,42 @@ msgstr ""
#~ msgid "Mute all {tag} posts"
#~ msgstr ""
-#: src/components/dialogs/MutedWords.tsx:149
+#: src/components/dialogs/MutedWords.tsx:148
msgid "Mute in tags only"
msgstr ""
-#: src/components/dialogs/MutedWords.tsx:134
+#: src/components/dialogs/MutedWords.tsx:133
msgid "Mute in text & tags"
msgstr ""
-#: src/view/screens/ProfileList.tsx:491
+#: src/view/screens/ProfileList.tsx:463
+#: src/view/screens/ProfileList.tsx:626
msgid "Mute list"
msgstr "Daftar akun yang dibisukan"
-#: src/view/screens/ProfileList.tsx:275
+#: src/view/screens/ProfileList.tsx:621
msgid "Mute these accounts?"
msgstr "Bisukan akun ini?"
#: src/view/screens/ProfileList.tsx:279
-msgid "Mute this List"
-msgstr "Bisukan Daftar ini"
+#~ msgid "Mute this List"
+#~ msgstr "Bisukan Daftar ini"
-#: src/components/dialogs/MutedWords.tsx:127
+#: src/components/dialogs/MutedWords.tsx:126
msgid "Mute this word in post text and tags"
msgstr ""
-#: src/components/dialogs/MutedWords.tsx:142
+#: src/components/dialogs/MutedWords.tsx:141
msgid "Mute this word in tags only"
msgstr ""
-#: src/view/com/util/forms/PostDropdownBtn.tsx:251
-#: src/view/com/util/forms/PostDropdownBtn.tsx:257
+#: src/view/com/util/forms/PostDropdownBtn.tsx:269
+#: src/view/com/util/forms/PostDropdownBtn.tsx:275
msgid "Mute thread"
msgstr "Bisukan utasan"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:267
-#: src/view/com/util/forms/PostDropdownBtn.tsx:269
+#: src/view/com/util/forms/PostDropdownBtn.tsx:285
+#: src/view/com/util/forms/PostDropdownBtn.tsx:287
msgid "Mute words & tags"
msgstr ""
@@ -2474,32 +2964,37 @@ msgstr ""
msgid "Muted"
msgstr "Dibisukan"
-#: src/view/screens/Moderation.tsx:128
+#: src/screens/Moderation/index.tsx:255
msgid "Muted accounts"
msgstr "Akun yang dibisukan"
-#: src/Navigation.tsx:127
-#: src/view/screens/ModerationMutedAccounts.tsx:107
+#: src/Navigation.tsx:129
+#: src/view/screens/ModerationMutedAccounts.tsx:112
msgid "Muted Accounts"
msgstr "Akun yang Dibisukan"
-#: src/view/screens/ModerationMutedAccounts.tsx:115
+#: src/view/screens/ModerationMutedAccounts.tsx:120
msgid "Muted accounts have their posts removed from your feed and from your notifications. Mutes are completely private."
msgstr "Postingan dari akun yang dibisukan akan dihilangkan dari feed dan notifikasi Anda. Pembisuan ini bersifat privat."
-#: src/view/screens/Moderation.tsx:100
+#: src/lib/moderation/useModerationCauseDescription.ts:85
+msgid "Muted by \"{0}\""
+msgstr ""
+
+#: src/screens/Moderation/index.tsx:231
msgid "Muted words & tags"
msgstr ""
-#: src/view/screens/ProfileList.tsx:277
+#: src/view/screens/ProfileList.tsx:623
msgid "Muting is private. Muted accounts can interact with you, but you will not see their posts or receive notifications from them."
msgstr "Pembisuan akun bersifat privat. Akun yang dibisukan tetap dapat berinteraksi dengan Anda, namun Anda tidak akan melihat postingan atau notifikasi dari mereka."
-#: src/view/com/modals/BirthDateSettings.tsx:56
+#: src/components/dialogs/BirthDateSettings.tsx:35
+#: src/components/dialogs/BirthDateSettings.tsx:38
msgid "My Birthday"
msgstr "Tanggal Lahir Saya"
-#: src/view/screens/Feeds.tsx:663
+#: src/view/screens/Feeds.tsx:688
msgid "My Feeds"
msgstr "Feed Saya"
@@ -2507,32 +3002,40 @@ msgstr "Feed Saya"
msgid "My Profile"
msgstr "Profil Saya"
-#: src/view/screens/Settings/index.tsx:582
+#: src/view/screens/Settings/index.tsx:547
+msgid "My saved feeds"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:553
msgid "My Saved Feeds"
msgstr "Feed Tersimpan Saya"
#: src/view/com/auth/server-input/index.tsx:118
-msgid "my-server.com"
-msgstr ""
+#~ msgid "my-server.com"
+#~ msgstr ""
-#: src/view/com/modals/AddAppPasswords.tsx:179
-#: src/view/com/modals/CreateOrEditList.tsx:290
+#: src/view/com/modals/AddAppPasswords.tsx:180
+#: src/view/com/modals/CreateOrEditList.tsx:291
msgid "Name"
msgstr "Nama"
-#: src/view/com/modals/CreateOrEditList.tsx:145
+#: src/view/com/modals/CreateOrEditList.tsx:146
msgid "Name is required"
msgstr "Nama harus diisi"
-#: src/screens/Onboarding/index.tsx:25
-msgid "Nature"
+#: src/lib/moderation/useReportOptions.ts:57
+#: src/lib/moderation/useReportOptions.ts:78
+#: src/lib/moderation/useReportOptions.ts:86
+msgid "Name or Description Violates Community Standards"
msgstr ""
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:190
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:219
-#: src/view/com/auth/login/LoginForm.tsx:289
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:196
-#: src/view/com/modals/ChangePassword.tsx:166
+#: src/screens/Onboarding/index.tsx:25
+msgid "Nature"
+msgstr "Alam"
+
+#: src/screens/Login/ForgotPasswordForm.tsx:173
+#: src/screens/Login/LoginForm.tsx:255
+#: src/view/com/modals/ChangePassword.tsx:168
msgid "Navigates to the next screen"
msgstr "Menuju ke layar berikutnya"
@@ -2540,22 +3043,30 @@ msgstr "Menuju ke layar berikutnya"
msgid "Navigates to your profile"
msgstr "Menuju ke profil Anda"
+#: src/components/ReportDialog/SelectReportOptionView.tsx:123
+msgid "Need to report a copyright violation?"
+msgstr ""
+
#: src/view/com/modals/EmbedConsent.tsx:107
#: src/view/com/modals/EmbedConsent.tsx:123
-msgid "Never load embeds from {0}"
-msgstr "Jangan pernah memuat embed dari {0}"
+#~ msgid "Never load embeds from {0}"
+#~ msgstr "Jangan pernah memuat embed dari {0}"
#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:72
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:72
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:74
msgid "Never lose access to your followers and data."
msgstr "Tidak akan lagi kehilangan akses ke data dan pengikut Anda."
-#: src/screens/Onboarding/StepFinished.tsx:119
+#: src/screens/Onboarding/StepFinished.tsx:123
msgid "Never lose access to your followers or data."
-msgstr ""
+msgstr "Tidak akan lagi kehilangan akses ke data dan pengikut Anda."
#: src/components/dialogs/MutedWords.tsx:293
-msgid "Nevermind"
+#~ msgid "Nevermind"
+#~ msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:519
+msgid "Nevermind, create a handle for me"
msgstr ""
#: src/view/screens/Lists.tsx:76
@@ -2567,34 +3078,34 @@ msgstr "Baru"
msgid "New"
msgstr "Baru"
-#: src/view/com/modals/CreateOrEditList.tsx:252
+#: src/view/com/modals/CreateOrEditList.tsx:253
msgid "New Moderation List"
msgstr "Daftar Moderasi Baru"
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:150
+#: src/view/com/modals/ChangePassword.tsx:212
msgid "New password"
msgstr "Kata sandi baru"
-#: src/view/com/modals/ChangePassword.tsx:215
+#: src/view/com/modals/ChangePassword.tsx:217
msgid "New Password"
-msgstr ""
+msgstr "Kata Sandi Baru"
-#: src/view/com/feeds/FeedPage.tsx:126
+#: src/view/com/feeds/FeedPage.tsx:149
msgctxt "action"
msgid "New post"
msgstr "Postingan baru"
-#: src/view/screens/Feeds.tsx:555
+#: src/view/screens/Feeds.tsx:580
#: src/view/screens/Notifications.tsx:168
-#: src/view/screens/Profile.tsx:382
-#: src/view/screens/ProfileFeed.tsx:433
-#: src/view/screens/ProfileList.tsx:196
-#: src/view/screens/ProfileList.tsx:224
-#: src/view/shell/desktop/LeftNav.tsx:248
+#: src/view/screens/Profile.tsx:480
+#: src/view/screens/ProfileFeed.tsx:445
+#: src/view/screens/ProfileList.tsx:200
+#: src/view/screens/ProfileList.tsx:228
+#: src/view/shell/desktop/LeftNav.tsx:252
msgid "New post"
msgstr "Postingan baru"
-#: src/view/shell/desktop/LeftNav.tsx:258
+#: src/view/shell/desktop/LeftNav.tsx:262
msgctxt "action"
msgid "New Post"
msgstr "Postingan baru"
@@ -2602,7 +3113,7 @@ msgstr "Postingan baru"
#~ msgid "New Post"
#~ msgstr "Postingan Baru"
-#: src/view/com/modals/CreateOrEditList.tsx:247
+#: src/view/com/modals/CreateOrEditList.tsx:248
msgid "New User List"
msgstr "Daftar Pengguna Baru"
@@ -2612,17 +3123,18 @@ msgstr "Balasan terbaru terlebih dahulu"
#: src/screens/Onboarding/index.tsx:23
msgid "News"
-msgstr ""
+msgstr "Berita"
-#: src/view/com/auth/create/CreateAccount.tsx:172
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:182
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:192
-#: src/view/com/auth/login/LoginForm.tsx:291
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:187
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:198
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:79
-#: src/view/com/modals/ChangePassword.tsx:251
+#: src/screens/Login/ForgotPasswordForm.tsx:143
+#: src/screens/Login/ForgotPasswordForm.tsx:150
+#: src/screens/Login/LoginForm.tsx:254
+#: src/screens/Login/LoginForm.tsx:261
+#: src/screens/Login/SetNewPasswordForm.tsx:174
+#: src/screens/Login/SetNewPasswordForm.tsx:180
+#: src/screens/Signup/index.tsx:207
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:80
#: src/view/com/modals/ChangePassword.tsx:253
+#: src/view/com/modals/ChangePassword.tsx:255
msgid "Next"
msgstr "Berikutnya"
@@ -2631,7 +3143,7 @@ msgctxt "action"
msgid "Next"
msgstr "Selanjutnya"
-#: src/view/com/lightbox/Lightbox.web.tsx:149
+#: src/view/com/lightbox/Lightbox.web.tsx:169
msgid "Next image"
msgstr "Gambar berikutnya"
@@ -2644,39 +3156,48 @@ msgstr "Gambar berikutnya"
msgid "No"
msgstr "Tidak"
-#: src/view/screens/ProfileFeed.tsx:584
-#: src/view/screens/ProfileList.tsx:755
+#: src/view/screens/ProfileFeed.tsx:574
+#: src/view/screens/ProfileList.tsx:771
msgid "No description"
msgstr "Tidak ada deskripsi"
-#: src/view/com/profile/ProfileHeader.tsx:170
+#: src/view/com/modals/ChangeHandle.tsx:405
+msgid "No DNS Panel"
+msgstr ""
+
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:118
msgid "No longer following {0}"
msgstr "Tidak lagi mengikuti {0}"
+#: src/screens/Signup/StepHandle.tsx:115
+msgid "No longer than 253 characters"
+msgstr ""
+
#: src/view/com/notifications/Feed.tsx:109
msgid "No notifications yet!"
msgstr "Belum ada notifikasi!"
-#: src/view/com/composer/text-input/mobile/Autocomplete.tsx:97
-#: src/view/com/composer/text-input/web/Autocomplete.tsx:191
+#: src/view/com/composer/text-input/mobile/Autocomplete.tsx:101
+#: src/view/com/composer/text-input/web/Autocomplete.tsx:195
msgid "No result"
msgstr "Tidak ada hasil"
-#: src/components/Lists.tsx:192
+#: src/components/Lists.tsx:183
msgid "No results found"
msgstr ""
-#: src/view/screens/Feeds.tsx:495
+#: src/view/screens/Feeds.tsx:520
msgid "No results found for \"{query}\""
msgstr "Tidak ada hasil ditemukan untuk \"{query}\""
#: src/view/com/modals/ListAddRemoveUsers.tsx:127
-#: src/view/screens/Search/Search.tsx:281
-#: src/view/screens/Search/Search.tsx:309
+#: src/view/screens/Search/Search.tsx:349
+#: src/view/screens/Search/Search.tsx:387
msgid "No results found for {query}"
msgstr "Tidak ada hasil ditemukan untuk {query}"
-#: src/view/com/modals/EmbedConsent.tsx:129
+#: src/components/dialogs/EmbedConsent.tsx:105
+#: src/components/dialogs/EmbedConsent.tsx:112
msgid "No thanks"
msgstr "Tidak terima kasih"
@@ -2684,12 +3205,21 @@ msgstr "Tidak terima kasih"
msgid "Nobody"
msgstr "Tak seorang pun"
+#: src/components/LikedByList.tsx:79
+#: src/components/LikesDialog.tsx:99
+msgid "Nobody has liked this yet. Maybe you should be the first!"
+msgstr ""
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:42
+msgid "Non-sexual Nudity"
+msgstr ""
+
#: src/view/com/modals/SelfLabel.tsx:135
msgid "Not Applicable."
msgstr "Tidak Berlaku."
-#: src/Navigation.tsx:107
-#: src/view/screens/Profile.tsx:106
+#: src/Navigation.tsx:109
+#: src/view/screens/Profile.tsx:101
msgid "Not Found"
msgstr "Tidak ditemukan"
@@ -2698,17 +3228,23 @@ msgstr "Tidak ditemukan"
msgid "Not right now"
msgstr "Jangan sekarang"
-#: src/view/screens/Moderation.tsx:252
+#: src/view/com/profile/ProfileMenu.tsx:368
+#: src/view/com/util/forms/PostDropdownBtn.tsx:364
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:248
+msgid "Note about sharing"
+msgstr ""
+
+#: src/screens/Moderation/index.tsx:540
msgid "Note: Bluesky is an open and public network. This setting only limits the visibility of your content on the Bluesky app and website, and other apps may not respect this setting. Your content may still be shown to logged-out users by other apps and websites."
msgstr "Catatan: Bluesky merupakan jaringan terbuka dan publik. Pengaturan ini hanya akan membatasi visibilitas konten Anda pada aplikasi dan website Bluesky, dan aplikasi lain mungkin tidak mengindahkan pengaturan ini. Konten Anda mungkin tetap ditampilkan kepada pengguna yang tidak login oleh aplikasi dan website lain."
-#: src/Navigation.tsx:457
+#: src/Navigation.tsx:461
#: src/view/screens/Notifications.tsx:124
#: src/view/screens/Notifications.tsx:148
-#: src/view/shell/bottom-bar/BottomBar.tsx:205
-#: src/view/shell/desktop/LeftNav.tsx:361
-#: src/view/shell/Drawer.tsx:435
-#: src/view/shell/Drawer.tsx:436
+#: src/view/shell/bottom-bar/BottomBar.tsx:216
+#: src/view/shell/desktop/LeftNav.tsx:365
+#: src/view/shell/Drawer.tsx:444
+#: src/view/shell/Drawer.tsx:445
msgid "Notifications"
msgstr "Notifikasi"
@@ -2716,15 +3252,36 @@ msgstr "Notifikasi"
msgid "Nudity"
msgstr "Ketelanjangan"
-#: src/view/com/util/ErrorBoundary.tsx:35
+#: src/lib/moderation/useReportOptions.ts:71
+msgid "Nudity or adult content not labeled as such"
+msgstr ""
+
+#: src/lib/moderation/useReportOptions.ts:71
+#~ msgid "Nudity or pornography not labeled as such"
+#~ msgstr ""
+
+#: src/screens/Signup/index.tsx:143
+msgid "of"
+msgstr ""
+
+#: src/lib/moderation/useLabelBehaviorDescription.ts:11
+msgid "Off"
+msgstr ""
+
+#: src/view/com/util/ErrorBoundary.tsx:49
msgid "Oh no!"
msgstr "Oh tidak!"
-#: src/screens/Onboarding/StepInterests/index.tsx:128
+#: src/screens/Onboarding/StepInterests/index.tsx:132
msgid "Oh no! Something went wrong."
+msgstr "Oh tidak! Sepertinya ada yang salah."
+
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:126
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:333
+msgid "OK"
msgstr ""
-#: src/view/com/auth/login/PasswordUpdatedForm.tsx:41
+#: src/screens/Login/PasswordUpdatedForm.tsx:44
msgid "Okay"
msgstr "Baiklah"
@@ -2732,11 +3289,11 @@ msgstr "Baiklah"
msgid "Oldest replies first"
msgstr "Balasan terlama terlebih dahulu"
-#: src/view/screens/Settings/index.tsx:234
+#: src/view/screens/Settings/index.tsx:247
msgid "Onboarding reset"
msgstr "Atur ulang orientasi"
-#: src/view/com/composer/Composer.tsx:382
+#: src/view/com/composer/Composer.tsx:392
msgid "One or more images is missing alt text."
msgstr "Satu atau lebih gambar belum ada teks alt."
@@ -2744,49 +3301,66 @@ msgstr "Satu atau lebih gambar belum ada teks alt."
msgid "Only {0} can reply."
msgstr "Hanya {0} dapat membalas."
-#: src/components/Lists.tsx:82
+#: src/screens/Signup/StepHandle.tsx:98
+msgid "Only contains letters, numbers, and hyphens"
+msgstr ""
+
+#: src/components/Lists.tsx:75
msgid "Oops, something went wrong!"
msgstr ""
-#: src/components/Lists.tsx:188
-#: src/view/screens/AppPasswords.tsx:65
-#: src/view/screens/Profile.tsx:106
+#: src/components/Lists.tsx:170
+#: src/view/screens/AppPasswords.tsx:67
+#: src/view/screens/Profile.tsx:101
msgid "Oops!"
msgstr "Uups!"
-#: src/screens/Onboarding/StepFinished.tsx:115
+#: src/screens/Onboarding/StepFinished.tsx:119
msgid "Open"
-msgstr ""
+msgstr "Buka"
#: src/view/screens/Moderation.tsx:75
-msgid "Open content filtering settings"
-msgstr ""
+#~ msgid "Open content filtering settings"
+#~ msgstr ""
-#: src/view/com/composer/Composer.tsx:477
-#: src/view/com/composer/Composer.tsx:478
+#: src/view/com/composer/Composer.tsx:491
+#: src/view/com/composer/Composer.tsx:492
msgid "Open emoji picker"
msgstr "Buka pemilih emoji"
-#: src/view/screens/Settings/index.tsx:712
+#: src/view/screens/ProfileFeed.tsx:311
+msgid "Open feed options menu"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:685
msgid "Open links with in-app browser"
msgstr "Buka tautan dengan browser dalam aplikasi"
-#: src/view/screens/Moderation.tsx:92
-msgid "Open muted words settings"
+#: src/screens/Moderation/index.tsx:227
+msgid "Open muted words and tags settings"
msgstr ""
-#: src/view/com/home/HomeHeaderLayoutMobile.tsx:50
+#: src/view/screens/Moderation.tsx:92
+#~ msgid "Open muted words settings"
+#~ msgstr ""
+
+#: src/view/com/home/HomeHeaderLayoutMobile.tsx:52
msgid "Open navigation"
msgstr "Buka navigasi"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:175
+#: src/view/com/util/forms/PostDropdownBtn.tsx:191
msgid "Open post options menu"
msgstr ""
-#: src/view/screens/Settings/index.tsx:804
+#: src/view/screens/Settings/index.tsx:792
+#: src/view/screens/Settings/index.tsx:802
msgid "Open storybook page"
msgstr "Buka halaman buku cerita"
+#: src/view/screens/Settings/index.tsx:780
+msgid "Open system log"
+msgstr ""
+
#: src/view/com/util/forms/DropdownButton.tsx:154
msgid "Opens {numItems} options"
msgstr "Membuka opsi {numItems}"
@@ -2795,11 +3369,11 @@ msgstr "Membuka opsi {numItems}"
msgid "Opens additional details for a debug entry"
msgstr "Membuka detail tambahan untuk entri debug"
-#: src/view/com/notifications/FeedItem.tsx:349
+#: src/view/com/notifications/FeedItem.tsx:355
msgid "Opens an expanded list of users in this notification"
msgstr "Membuka daftar pengguna yang diperluas dalam notifikasi ini"
-#: src/view/com/composer/photos/OpenCameraBtn.tsx:61
+#: src/view/com/composer/photos/OpenCameraBtn.tsx:78
msgid "Opens camera on device"
msgstr "Membuka kamera pada perangkat"
@@ -2807,7 +3381,7 @@ msgstr "Membuka kamera pada perangkat"
msgid "Opens composer"
msgstr "Membuka penyusun postingan"
-#: src/view/screens/Settings/index.tsx:595
+#: src/view/screens/Settings/index.tsx:566
msgid "Opens configurable language settings"
msgstr "Membuka pengaturan bahasa yang dapat dikonfigurasi"
@@ -2816,71 +3390,114 @@ msgid "Opens device photo gallery"
msgstr "Membuka galeri foto perangkat"
#: src/view/com/profile/ProfileHeader.tsx:420
-msgid "Opens editor for profile display name, avatar, background image, and description"
-msgstr "Membuka editor untuk nama tampilan profil, avatar, gambar latar belakang, dan deskripsi"
+#~ msgid "Opens editor for profile display name, avatar, background image, and description"
+#~ msgstr "Membuka editor untuk nama tampilan profil, avatar, gambar latar belakang, dan deskripsi"
-#: src/view/screens/Settings/index.tsx:649
+#: src/view/screens/Settings/index.tsx:620
msgid "Opens external embeds settings"
msgstr "Membuka pengaturan penyematan eksternal"
+#: src/view/com/auth/SplashScreen.tsx:50
+#: src/view/com/auth/SplashScreen.web.tsx:94
+msgid "Opens flow to create a new Bluesky account"
+msgstr ""
+
+#: src/view/com/auth/SplashScreen.tsx:65
+#: src/view/com/auth/SplashScreen.web.tsx:109
+msgid "Opens flow to sign into your existing Bluesky account"
+msgstr ""
+
#: src/view/com/profile/ProfileHeader.tsx:575
-msgid "Opens followers list"
-msgstr "Membuka daftar pengikut"
+#~ msgid "Opens followers list"
+#~ msgstr "Membuka daftar pengikut"
#: src/view/com/profile/ProfileHeader.tsx:594
-msgid "Opens following list"
-msgstr "Membuka daftar mengikuti"
+#~ msgid "Opens following list"
+#~ msgstr "Membuka daftar mengikuti"
#: src/view/screens/Settings.tsx:412
#~ msgid "Opens invite code list"
#~ msgstr "Membuka daftar kode undangan"
-#: src/view/com/modals/InviteCodes.tsx:172
+#: src/view/com/modals/InviteCodes.tsx:173
msgid "Opens list of invite codes"
msgstr "Membuka daftar kode undangan"
-#: src/view/screens/Settings/index.tsx:774
-msgid "Opens modal for account deletion confirmation. Requires email code."
-msgstr "Membuka modal untuk konfirmasi penghapusan akun. Membutuhkan kode email."
+#: src/view/screens/Settings/index.tsx:762
+msgid "Opens modal for account deletion confirmation. Requires email code"
+msgstr ""
-#: src/view/com/modals/ChangeHandle.tsx:281
+#: src/view/screens/Settings/index.tsx:774
+#~ msgid "Opens modal for account deletion confirmation. Requires email code."
+#~ msgstr "Membuka modal untuk konfirmasi penghapusan akun. Membutuhkan kode email."
+
+#: src/view/screens/Settings/index.tsx:720
+msgid "Opens modal for changing your Bluesky password"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:669
+msgid "Opens modal for choosing a new Bluesky handle"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:743
+msgid "Opens modal for downloading your Bluesky account data (repository)"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:932
+msgid "Opens modal for email verification"
+msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:282
msgid "Opens modal for using custom domain"
msgstr "Buka modal untuk menggunakan domain kustom"
-#: src/view/screens/Settings/index.tsx:620
+#: src/view/screens/Settings/index.tsx:591
msgid "Opens moderation settings"
msgstr "Buka pengaturan moderasi"
-#: src/view/com/auth/login/LoginForm.tsx:239
+#: src/screens/Login/LoginForm.tsx:202
msgid "Opens password reset form"
msgstr "Membuka formulir pengaturan ulang kata sandi"
-#: src/view/com/home/HomeHeaderLayout.web.tsx:63
-#: src/view/screens/Feeds.tsx:356
+#: src/view/com/home/HomeHeaderLayout.web.tsx:67
+#: src/view/screens/Feeds.tsx:381
msgid "Opens screen to edit Saved Feeds"
-msgstr "Membuka layar untuk mengedit Umpan Tersimpan"
+msgstr "Membuka layar untuk mengedit Feed Tersimpan"
-#: src/view/screens/Settings/index.tsx:576
+#: src/view/screens/Settings/index.tsx:548
msgid "Opens screen with all saved feeds"
msgstr "Buka halaman dengan semua feed tersimpan"
+#: src/view/screens/Settings/index.tsx:647
+msgid "Opens the app password settings"
+msgstr ""
+
#: src/view/screens/Settings/index.tsx:676
-msgid "Opens the app password settings page"
-msgstr "Buka halaman pengaturan kata sandi aplikasi"
+#~ msgid "Opens the app password settings page"
+#~ msgstr "Buka halaman pengaturan kata sandi aplikasi"
+
+#: src/view/screens/Settings/index.tsx:505
+msgid "Opens the Following feed preferences"
+msgstr ""
#: src/view/screens/Settings/index.tsx:535
-msgid "Opens the home feed preferences"
-msgstr "Buka preferensi feed beranda"
+#~ msgid "Opens the home feed preferences"
+#~ msgstr "Buka preferensi feed beranda"
-#: src/view/screens/Settings/index.tsx:805
+#: src/view/com/modals/LinkWarning.tsx:93
+msgid "Opens the linked website"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:793
+#: src/view/screens/Settings/index.tsx:803
msgid "Opens the storybook page"
msgstr "Buka halaman storybook"
-#: src/view/screens/Settings/index.tsx:793
+#: src/view/screens/Settings/index.tsx:781
msgid "Opens the system log page"
msgstr "Buka halaman log sistem"
-#: src/view/screens/Settings/index.tsx:556
+#: src/view/screens/Settings/index.tsx:526
msgid "Opens the threads preferences"
msgstr "Buka preferensi utasan"
@@ -2888,15 +3505,23 @@ msgstr "Buka preferensi utasan"
msgid "Option {0} of {numItems}"
msgstr "Opsi {0} dari {numItems}"
+#: src/components/ReportDialog/SubmitView.tsx:160
+msgid "Optionally provide additional information below:"
+msgstr ""
+
#: src/view/com/modals/Threadgate.tsx:89
msgid "Or combine these options:"
msgstr "Atau gabungkan opsi-opsi berikut:"
#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:122
#~ msgid "Or you can try our \"Discover\" algorithm:"
-#~ msgstr ""
+#~ msgstr "Atau Anda dapat mencoba algoritma \"Temukan\" kami:"
-#: src/view/com/auth/login/ChooseAccountForm.tsx:138
+#: src/lib/moderation/useReportOptions.ts:25
+msgid "Other"
+msgstr ""
+
+#: src/components/AccountList.tsx:73
msgid "Other account"
msgstr "Akun lainnya"
@@ -2908,36 +3533,44 @@ msgstr "Akun lainnya"
msgid "Other..."
msgstr "Lainnya..."
-#: src/components/Lists.tsx:194
+#: src/components/Lists.tsx:184
#: src/view/screens/NotFound.tsx:45
msgid "Page not found"
msgstr "Halaman tidak ditemukan"
#: src/view/screens/NotFound.tsx:42
msgid "Page Not Found"
-msgstr ""
+msgstr "Halaman Tidak Ditemukan"
-#: src/view/com/auth/create/Step1.tsx:191
-#: src/view/com/auth/create/Step1.tsx:201
-#: src/view/com/auth/login/LoginForm.tsx:226
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:161
-#: src/view/com/modals/DeleteAccount.tsx:202
+#: src/screens/Login/LoginForm.tsx:178
+#: src/screens/Signup/StepInfo/index.tsx:102
+#: src/view/com/modals/DeleteAccount.tsx:194
+#: src/view/com/modals/DeleteAccount.tsx:201
msgid "Password"
msgstr "Kata sandi"
-#: src/view/com/auth/login/Login.tsx:157
+#: src/view/com/modals/ChangePassword.tsx:142
+msgid "Password Changed"
+msgstr ""
+
+#: src/screens/Login/index.tsx:157
msgid "Password updated"
msgstr "Kata sandi diganti"
-#: src/view/com/auth/login/PasswordUpdatedForm.tsx:28
+#: src/screens/Login/PasswordUpdatedForm.tsx:30
msgid "Password updated!"
msgstr "Kata sandi diganti!"
-#: src/Navigation.tsx:162
+#: src/view/screens/Search/Search.tsx:447
+#: src/view/screens/Search/Search.tsx:456
+msgid "People"
+msgstr ""
+
+#: src/Navigation.tsx:164
msgid "People followed by @{0}"
msgstr "Orang yang diikuti oleh @{0}"
-#: src/Navigation.tsx:155
+#: src/Navigation.tsx:157
msgid "People following @{0}"
msgstr "Orang yang mengikuti @{0}"
@@ -2951,47 +3584,51 @@ msgstr "Izin untuk mengakses rol kamera ditolak. Silakan aktifkan di pengaturan
#: src/screens/Onboarding/index.tsx:31
msgid "Pets"
-msgstr ""
+msgstr "Hewan Peliharaan"
#: src/view/com/auth/create/Step2.tsx:183
#~ msgid "Phone number"
-#~ msgstr ""
+#~ msgstr "Nomor telepon"
#: src/view/com/modals/SelfLabel.tsx:121
msgid "Pictures meant for adults."
msgstr "Gambar yang ditujukan untuk orang dewasa."
-#: src/view/screens/ProfileFeed.tsx:354
-#: src/view/screens/ProfileList.tsx:581
+#: src/view/screens/ProfileFeed.tsx:303
+#: src/view/screens/ProfileList.tsx:565
msgid "Pin to home"
msgstr "Sematkan ke beranda"
-#: src/view/screens/SavedFeeds.tsx:88
+#: src/view/screens/ProfileFeed.tsx:306
+msgid "Pin to Home"
+msgstr ""
+
+#: src/view/screens/SavedFeeds.tsx:89
msgid "Pinned Feeds"
msgstr "Feed Tersemat"
-#: src/view/com/util/post-embeds/ExternalGifEmbed.tsx:111
+#: src/view/com/util/post-embeds/ExternalGifEmbed.tsx:123
msgid "Play {0}"
msgstr "Putar {0}"
-#: src/view/com/util/post-embeds/ExternalPlayerEmbed.tsx:54
-#: src/view/com/util/post-embeds/ExternalPlayerEmbed.tsx:55
+#: src/view/com/util/post-embeds/ExternalPlayerEmbed.tsx:57
+#: src/view/com/util/post-embeds/ExternalPlayerEmbed.tsx:58
msgid "Play Video"
msgstr "Putar Video"
-#: src/view/com/util/post-embeds/ExternalGifEmbed.tsx:110
+#: src/view/com/util/post-embeds/ExternalGifEmbed.tsx:122
msgid "Plays the GIF"
msgstr "Putar GIF"
-#: src/view/com/auth/create/state.ts:124
+#: src/screens/Signup/state.ts:241
msgid "Please choose your handle."
msgstr "Silakan pilih handle Anda."
-#: src/view/com/auth/create/state.ts:117
+#: src/screens/Signup/state.ts:234
msgid "Please choose your password."
msgstr "Masukkan kata sandi Anda."
-#: src/view/com/auth/create/state.ts:131
+#: src/screens/Signup/state.ts:251
msgid "Please complete the verification captcha."
msgstr ""
@@ -2999,42 +3636,46 @@ msgstr ""
msgid "Please confirm your email before changing it. This is a temporary requirement while email-updating tools are added, and it will soon be removed."
msgstr "Harap konfirmasi email Anda sebelum mengubahnya. Ini adalah persyaratan sementara selama alat pembaruan email ditambahkan, dan akan segera dihapus."
-#: src/view/com/modals/AddAppPasswords.tsx:90
+#: src/view/com/modals/AddAppPasswords.tsx:91
msgid "Please enter a name for your app password. All spaces is not allowed."
msgstr "Masukkan nama untuk kata sandi aplikasi Anda. Semua spasi tidak diperbolehkan."
#: src/view/com/auth/create/Step2.tsx:206
#~ msgid "Please enter a phone number that can receive SMS text messages."
-#~ msgstr ""
+#~ msgstr "Masukkan nomor telepon yang dapat menerima pesan teks SMS."
-#: src/view/com/modals/AddAppPasswords.tsx:145
+#: src/view/com/modals/AddAppPasswords.tsx:146
msgid "Please enter a unique name for this App Password or use our randomly generated one."
msgstr "Masukkan nama unik untuk Kata Sandi Aplikasi ini atau gunakan nama yang dibuat secara acak."
-#: src/components/dialogs/MutedWords.tsx:68
+#: src/components/dialogs/MutedWords.tsx:67
msgid "Please enter a valid word, tag, or phrase to mute"
msgstr ""
#: src/view/com/auth/create/state.ts:170
#~ msgid "Please enter the code you received by SMS."
-#~ msgstr ""
+#~ msgstr "Masukkan kode yang Anda terima melalui SMS."
#: src/view/com/auth/create/Step2.tsx:282
#~ msgid "Please enter the verification code sent to {phoneNumberFormatted}."
-#~ msgstr ""
+#~ msgstr "Masukkan kode verifikasi yang dikirim ke {phoneNumberFormatted}."
-#: src/view/com/auth/create/state.ts:103
+#: src/screens/Signup/state.ts:220
msgid "Please enter your email."
msgstr "Masukkan email Anda."
-#: src/view/com/modals/DeleteAccount.tsx:191
+#: src/view/com/modals/DeleteAccount.tsx:190
msgid "Please enter your password as well:"
msgstr "Masukkan juga kata sandi Anda:"
+#: src/components/moderation/LabelsOnMeDialog.tsx:221
+msgid "Please explain why you think this label was incorrectly applied by {0}"
+msgstr ""
+
#: src/view/com/modals/AppealLabel.tsx:72
#: src/view/com/modals/AppealLabel.tsx:75
-msgid "Please tell us why you think this content warning was incorrectly applied!"
-msgstr "Mohon beri tahu kami mengapa menurut Anda peringatan konten ini salah diterapkan!"
+#~ msgid "Please tell us why you think this content warning was incorrectly applied!"
+#~ msgstr "Mohon beri tahu kami mengapa menurut Anda peringatan konten ini salah diterapkan!"
#~ msgid "Please tell us why you think this decision was incorrect."
#~ msgstr "Mohon beritahu kami mengapa menurut Anda keputusan ini salah."
@@ -3049,19 +3690,23 @@ msgstr "Harap tunggu hingga kartu tautan Anda selesai dimuat"
#: src/screens/Onboarding/index.tsx:37
msgid "Politics"
-msgstr ""
+msgstr "Politik"
#: src/view/com/modals/SelfLabel.tsx:111
msgid "Porn"
msgstr "Pornografi"
-#: src/view/com/composer/Composer.tsx:357
-#: src/view/com/composer/Composer.tsx:365
+#: src/lib/moderation/useGlobalLabelStrings.ts:34
+#~ msgid "Pornography"
+#~ msgstr ""
+
+#: src/view/com/composer/Composer.tsx:367
+#: src/view/com/composer/Composer.tsx:375
msgctxt "action"
msgid "Post"
msgstr "Posting"
-#: src/view/com/post-thread/PostThread.tsx:303
+#: src/view/com/post-thread/PostThread.tsx:292
msgctxt "description"
msgid "Post"
msgstr "Posting"
@@ -3073,20 +3718,30 @@ msgstr "Posting"
msgid "Post by {0}"
msgstr "Postingan oleh {0}"
-#: src/Navigation.tsx:174
-#: src/Navigation.tsx:181
-#: src/Navigation.tsx:188
+#: src/Navigation.tsx:176
+#: src/Navigation.tsx:183
+#: src/Navigation.tsx:190
msgid "Post by @{0}"
msgstr "Postingan oleh @{0}"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:108
+#: src/view/com/util/forms/PostDropdownBtn.tsx:111
msgid "Post deleted"
msgstr "Postingan dihapus"
-#: src/view/com/post-thread/PostThread.tsx:462
+#: src/view/com/post-thread/PostThread.tsx:157
msgid "Post hidden"
msgstr "Postingan disembunyikan"
+#: src/components/moderation/ModerationDetailsDialog.tsx:97
+#: src/lib/moderation/useModerationCauseDescription.ts:99
+msgid "Post Hidden by Muted Word"
+msgstr ""
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:100
+#: src/lib/moderation/useModerationCauseDescription.ts:108
+msgid "Post Hidden by You"
+msgstr ""
+
#: src/view/com/composer/select-language/SelectLangBtn.tsx:87
msgid "Post language"
msgstr "Bahasa postingan"
@@ -3095,7 +3750,8 @@ msgstr "Bahasa postingan"
msgid "Post Languages"
msgstr "Bahasa Postingan"
-#: src/view/com/post-thread/PostThread.tsx:514
+#: src/view/com/post-thread/PostThread.tsx:152
+#: src/view/com/post-thread/PostThread.tsx:164
msgid "Post not found"
msgstr "Postingan tidak ditemukan"
@@ -3103,11 +3759,12 @@ msgstr "Postingan tidak ditemukan"
msgid "posts"
msgstr ""
-#: src/view/screens/Profile.tsx:180
+#: src/view/screens/Profile.tsx:195
+#: src/view/screens/Search/Search.tsx:467
msgid "Posts"
msgstr "Postingan"
-#: src/components/dialogs/MutedWords.tsx:90
+#: src/components/dialogs/MutedWords.tsx:89
msgid "Posts can be muted based on their text, their tags, or both."
msgstr ""
@@ -3115,11 +3772,21 @@ msgstr ""
msgid "Posts hidden"
msgstr "Postingan disembunyikan"
-#: src/view/com/modals/LinkWarning.tsx:46
+#: src/view/com/modals/LinkWarning.tsx:60
msgid "Potentially Misleading Link"
msgstr "Tautan yang Mungkin Menyesatkan"
-#: src/view/com/lightbox/Lightbox.web.tsx:135
+#: src/components/forms/HostingProvider.tsx:46
+msgid "Press to change hosting provider"
+msgstr ""
+
+#: src/components/Error.tsx:74
+#: src/components/Lists.tsx:80
+#: src/screens/Signup/index.tsx:187
+msgid "Press to retry"
+msgstr ""
+
+#: src/view/com/lightbox/Lightbox.web.tsx:150
msgid "Previous image"
msgstr "Gambar sebelumnya"
@@ -3131,41 +3798,47 @@ msgstr "Bahasa Utama"
msgid "Prioritize Your Follows"
msgstr "Prioritaskan Pengikut Anda"
-#: src/view/screens/Settings/index.tsx:632
+#: src/view/screens/Settings/index.tsx:603
#: src/view/shell/desktop/RightNav.tsx:72
msgid "Privacy"
msgstr "Privasi"
-#: src/Navigation.tsx:219
+#: src/Navigation.tsx:231
+#: src/screens/Signup/StepInfo/Policies.tsx:56
#: src/view/screens/PrivacyPolicy.tsx:29
-#: src/view/screens/Settings/index.tsx:891
-#: src/view/shell/Drawer.tsx:262
+#: src/view/screens/Settings/index.tsx:887
+#: src/view/shell/Drawer.tsx:271
msgid "Privacy Policy"
msgstr "Kebijakan Privasi"
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:198
+#: src/screens/Login/ForgotPasswordForm.tsx:156
msgid "Processing..."
msgstr "Memproses..."
-#: src/view/shell/bottom-bar/BottomBar.tsx:247
-#: src/view/shell/desktop/LeftNav.tsx:415
+#: src/view/screens/DebugMod.tsx:888
+#: src/view/screens/Profile.tsx:361
+msgid "profile"
+msgstr ""
+
+#: src/view/shell/bottom-bar/BottomBar.tsx:261
+#: src/view/shell/desktop/LeftNav.tsx:419
#: src/view/shell/Drawer.tsx:70
-#: src/view/shell/Drawer.tsx:546
-#: src/view/shell/Drawer.tsx:547
+#: src/view/shell/Drawer.tsx:555
+#: src/view/shell/Drawer.tsx:556
msgid "Profile"
msgstr "Profil"
-#: src/view/com/modals/EditProfile.tsx:128
+#: src/view/com/modals/EditProfile.tsx:129
msgid "Profile updated"
msgstr "Profil diperbarui"
-#: src/view/screens/Settings/index.tsx:949
+#: src/view/screens/Settings/index.tsx:945
msgid "Protect your account by verifying your email."
msgstr "Amankan akun Anda dengan memverifikasi email Anda."
-#: src/screens/Onboarding/StepFinished.tsx:101
+#: src/screens/Onboarding/StepFinished.tsx:105
msgid "Public"
-msgstr ""
+msgstr "Publik"
#: src/view/screens/ModerationModlists.tsx:61
msgid "Public, shareable lists of users to mute or block in bulk."
@@ -3175,15 +3848,15 @@ msgstr "Daftar publik yang dapat dibagikan oleh pengguna untuk dibisukan atau di
msgid "Public, shareable lists which can drive feeds."
msgstr "Publik, daftar yang dapat dibagikan dan dapat berimbas ke feed."
-#: src/view/com/composer/Composer.tsx:342
+#: src/view/com/composer/Composer.tsx:352
msgid "Publish post"
msgstr "Publikasikan postingan"
-#: src/view/com/composer/Composer.tsx:342
+#: src/view/com/composer/Composer.tsx:352
msgid "Publish reply"
msgstr "Publikasikan balasan"
-#: src/view/com/modals/Repost.tsx:65
+#: src/view/com/modals/Repost.tsx:66
msgctxt "action"
msgid "Quote post"
msgstr "Kutip postingan"
@@ -3192,7 +3865,7 @@ msgstr "Kutip postingan"
msgid "Quote post"
msgstr "Kutip postingan"
-#: src/view/com/modals/Repost.tsx:70
+#: src/view/com/modals/Repost.tsx:71
msgctxt "action"
msgid "Quote Post"
msgstr "Kutip Postingan"
@@ -3204,48 +3877,66 @@ msgstr "Kutip Postingan"
msgid "Random (aka \"Poster's Roulette\")"
msgstr "Acak (alias \"Rolet Poster\")"
-#: src/view/com/modals/EditImage.tsx:236
+#: src/view/com/modals/EditImage.tsx:237
msgid "Ratios"
msgstr "Rasio"
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:116
+#: src/view/screens/Search/Search.tsx:924
+msgid "Recent Searches"
+msgstr ""
+
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:117
msgid "Recommended Feeds"
msgstr "Feed Direkomendasikan"
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:180
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:181
msgid "Recommended Users"
msgstr "Pengguna Direkomendasikan"
-#: src/components/dialogs/MutedWords.tsx:298
-#: src/view/com/modals/ListAddRemoveUsers.tsx:264
+#: src/components/dialogs/MutedWords.tsx:286
+#: src/view/com/feeds/FeedSourceCard.tsx:283
+#: src/view/com/modals/ListAddRemoveUsers.tsx:268
#: src/view/com/modals/SelfLabel.tsx:83
#: src/view/com/modals/UserAddRemoveLists.tsx:219
-#: src/view/com/util/UserAvatar.tsx:285
-#: src/view/com/util/UserBanner.tsx:91
+#: src/view/com/posts/FeedErrorMessage.tsx:204
msgid "Remove"
msgstr "Hapus"
#: src/view/com/feeds/FeedSourceCard.tsx:108
-msgid "Remove {0} from my feeds?"
-msgstr "Hapus {0} dari daftar feed saya?"
+#~ msgid "Remove {0} from my feeds?"
+#~ msgstr "Hapus {0} dari daftar feed saya?"
#: src/view/com/util/AccountDropdownBtn.tsx:22
msgid "Remove account"
msgstr "Hapus akun"
-#: src/view/com/posts/FeedErrorMessage.tsx:131
-#: src/view/com/posts/FeedErrorMessage.tsx:166
+#: src/view/com/util/UserAvatar.tsx:360
+msgid "Remove Avatar"
+msgstr ""
+
+#: src/view/com/util/UserBanner.tsx:148
+msgid "Remove Banner"
+msgstr ""
+
+#: src/view/com/posts/FeedErrorMessage.tsx:160
msgid "Remove feed"
msgstr "Hapus feed"
-#: src/view/com/feeds/FeedSourceCard.tsx:107
-#: src/view/com/feeds/FeedSourceCard.tsx:169
-#: src/view/com/feeds/FeedSourceCard.tsx:174
-#: src/view/com/feeds/FeedSourceCard.tsx:245
-#: src/view/screens/ProfileFeed.tsx:273
+#: src/view/com/posts/FeedErrorMessage.tsx:201
+msgid "Remove feed?"
+msgstr ""
+
+#: src/view/com/feeds/FeedSourceCard.tsx:173
+#: src/view/com/feeds/FeedSourceCard.tsx:233
+#: src/view/screens/ProfileFeed.tsx:346
+#: src/view/screens/ProfileFeed.tsx:352
msgid "Remove from my feeds"
msgstr "Hapus dari feed saya"
+#: src/view/com/feeds/FeedSourceCard.tsx:278
+msgid "Remove from my feeds?"
+msgstr ""
+
#: src/view/com/composer/photos/Gallery.tsx:167
msgid "Remove image"
msgstr "Hapus gambar"
@@ -3254,37 +3945,44 @@ msgstr "Hapus gambar"
msgid "Remove image preview"
msgstr "Hapus pratinjau gambar"
-#: src/components/dialogs/MutedWords.tsx:343
+#: src/components/dialogs/MutedWords.tsx:329
msgid "Remove mute word from your list"
msgstr ""
-#: src/view/com/modals/Repost.tsx:47
+#: src/view/com/modals/Repost.tsx:48
msgid "Remove repost"
msgstr "Hapus postingan ulang"
#: src/view/com/feeds/FeedSourceCard.tsx:175
-msgid "Remove this feed from my feeds?"
-msgstr "Hapus feed ini dari feed saya?"
+#~ msgid "Remove this feed from my feeds?"
+#~ msgstr "Hapus feed ini dari feed saya?"
+
+#: src/view/com/posts/FeedErrorMessage.tsx:202
+msgid "Remove this feed from your saved feeds"
+msgstr ""
#: src/view/com/posts/FeedErrorMessage.tsx:132
-msgid "Remove this feed from your saved feeds?"
-msgstr "Hapus feed ini dari feed tersimpan Anda?"
+#~ msgid "Remove this feed from your saved feeds?"
+#~ msgstr "Hapus feed ini dari feed tersimpan Anda?"
#: src/view/com/modals/ListAddRemoveUsers.tsx:199
#: src/view/com/modals/UserAddRemoveLists.tsx:152
msgid "Removed from list"
msgstr "Dihapus dari daftar"
-#: src/view/com/feeds/FeedSourceCard.tsx:113
-#: src/view/com/feeds/FeedSourceCard.tsx:180
+#: src/view/com/feeds/FeedSourceCard.tsx:121
msgid "Removed from my feeds"
msgstr "Dihapus dari feed saya"
+#: src/view/screens/ProfileFeed.tsx:210
+msgid "Removed from your feeds"
+msgstr ""
+
#: src/view/com/composer/ExternalEmbed.tsx:71
msgid "Removes default thumbnail from {0}"
msgstr "Menghapus gambar pra tinjau bawaan dari {0}"
-#: src/view/screens/Profile.tsx:181
+#: src/view/screens/Profile.tsx:196
msgid "Replies"
msgstr "Balasan"
@@ -3292,7 +3990,7 @@ msgstr "Balasan"
msgid "Replies to this thread are disabled"
msgstr "Balasan ke utas ini dinonaktifkan"
-#: src/view/com/composer/Composer.tsx:355
+#: src/view/com/composer/Composer.tsx:365
msgctxt "action"
msgid "Reply"
msgstr "Balas"
@@ -3301,37 +3999,62 @@ msgstr "Balas"
msgid "Reply Filters"
msgstr "Penyaring Balasan"
-#: src/view/com/post/Post.tsx:167
-#: src/view/com/posts/FeedItem.tsx:287
+#: src/view/com/post/Post.tsx:177
+#: src/view/com/posts/FeedItem.tsx:285
msgctxt "description"
msgid "Reply to <0/>"
msgstr "Balas ke <0/>"
#: src/view/com/modals/report/Modal.tsx:166
-msgid "Report {collectionName}"
-msgstr "Laporkan {collectionName}"
+#~ msgid "Report {collectionName}"
+#~ msgstr "Laporkan {collectionName}"
-#: src/view/com/profile/ProfileHeader.tsx:361
+#: src/view/com/profile/ProfileMenu.tsx:319
+#: src/view/com/profile/ProfileMenu.tsx:322
msgid "Report Account"
msgstr "Laporkan Akun"
-#: src/view/screens/ProfileFeed.tsx:293
+#: src/components/ReportDialog/index.tsx:49
+msgid "Report dialog"
+msgstr ""
+
+#: src/view/screens/ProfileFeed.tsx:363
+#: src/view/screens/ProfileFeed.tsx:365
msgid "Report feed"
msgstr "Laporkan feed"
-#: src/view/screens/ProfileList.tsx:459
+#: src/view/screens/ProfileList.tsx:431
msgid "Report List"
msgstr "Laporkan Daftar"
-#: src/view/com/modals/report/SendReportButton.tsx:37
-#: src/view/com/util/forms/PostDropdownBtn.tsx:301
-#: src/view/com/util/forms/PostDropdownBtn.tsx:309
+#: src/view/com/util/forms/PostDropdownBtn.tsx:312
+#: src/view/com/util/forms/PostDropdownBtn.tsx:314
msgid "Report post"
msgstr "Laporkan postingan"
-#: src/view/com/modals/Repost.tsx:43
-#: src/view/com/modals/Repost.tsx:48
-#: src/view/com/modals/Repost.tsx:53
+#: src/components/ReportDialog/SelectReportOptionView.tsx:42
+msgid "Report this content"
+msgstr ""
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:55
+msgid "Report this feed"
+msgstr ""
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:52
+msgid "Report this list"
+msgstr ""
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:49
+msgid "Report this post"
+msgstr ""
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:46
+msgid "Report this user"
+msgstr ""
+
+#: src/view/com/modals/Repost.tsx:44
+#: src/view/com/modals/Repost.tsx:49
+#: src/view/com/modals/Repost.tsx:54
#: src/view/com/util/post-ctrls/RepostButton.tsx:61
msgctxt "action"
msgid "Repost"
@@ -3352,25 +4075,29 @@ msgstr "Posting ulang atau kutip postingan"
#: src/view/screens/PostRepostedBy.tsx:27
msgid "Reposted By"
-msgstr ""
+msgstr "Diposting Ulang Oleh"
-#: src/view/com/posts/FeedItem.tsx:207
+#: src/view/com/posts/FeedItem.tsx:199
msgid "Reposted by {0}"
-msgstr ""
+msgstr "Diposting ulang oleh {0}"
#: src/view/com/posts/FeedItem.tsx:206
#~ msgid "Reposted by {0})"
#~ msgstr "Diposting ulang oleh {0})"
-#: src/view/com/posts/FeedItem.tsx:224
-msgid "Reposted by <0/>"
-msgstr "Diposting ulang oleh <0/>"
+#: src/view/com/posts/FeedItem.tsx:214
+#~ msgid "Reposted by <0/>"
+#~ msgstr "Diposting ulang oleh <0/>"
-#: src/view/com/notifications/FeedItem.tsx:162
+#: src/view/com/posts/FeedItem.tsx:216
+msgid "Reposted by <0><1/>0>"
+msgstr ""
+
+#: src/view/com/notifications/FeedItem.tsx:168
msgid "reposted your post"
msgstr "posting ulang posting Anda"
-#: src/view/com/post-thread/PostThreadItem.tsx:188
+#: src/view/com/post-thread/PostThreadItem.tsx:187
msgid "Reposts of this post"
msgstr "Posting ulang postingan ini"
@@ -3381,59 +4108,60 @@ msgstr "Ajukan Perubahan"
#: src/view/com/auth/create/Step2.tsx:219
#~ msgid "Request code"
-#~ msgstr ""
+#~ msgstr "Minta kode"
-#: src/view/com/modals/ChangePassword.tsx:239
#: src/view/com/modals/ChangePassword.tsx:241
+#: src/view/com/modals/ChangePassword.tsx:243
msgid "Request Code"
-msgstr ""
+msgstr "Minta Kode"
-#: src/view/screens/Settings/index.tsx:456
+#: src/view/screens/Settings/index.tsx:426
msgid "Require alt text before posting"
msgstr "Memerlukan teks alt sebelum memposting"
-#: src/view/com/auth/create/Step1.tsx:146
+#: src/screens/Signup/StepInfo/index.tsx:69
msgid "Required for this provider"
msgstr "Diwajibkan untuk provider ini"
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:124
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:136
+#: src/view/com/modals/ChangePassword.tsx:185
msgid "Reset code"
msgstr "Kode reset"
-#: src/view/com/modals/ChangePassword.tsx:190
+#: src/view/com/modals/ChangePassword.tsx:192
msgid "Reset Code"
-msgstr ""
+msgstr "Kode Reset"
#: src/view/screens/Settings/index.tsx:824
-msgid "Reset onboarding"
-msgstr "Atur ulang onboarding"
+#~ msgid "Reset onboarding"
+#~ msgstr "Atur ulang onboarding"
-#: src/view/screens/Settings/index.tsx:827
+#: src/view/screens/Settings/index.tsx:822
+#: src/view/screens/Settings/index.tsx:825
msgid "Reset onboarding state"
msgstr "Reset status onboarding"
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:104
+#: src/screens/Login/ForgotPasswordForm.tsx:86
msgid "Reset password"
msgstr "Reset kata sandi"
#: src/view/screens/Settings/index.tsx:814
-msgid "Reset preferences"
-msgstr "Atur ulang preferensi"
+#~ msgid "Reset preferences"
+#~ msgstr "Atur ulang preferensi"
-#: src/view/screens/Settings/index.tsx:817
+#: src/view/screens/Settings/index.tsx:812
+#: src/view/screens/Settings/index.tsx:815
msgid "Reset preferences state"
msgstr "Atur ulang status preferensi"
-#: src/view/screens/Settings/index.tsx:825
+#: src/view/screens/Settings/index.tsx:823
msgid "Resets the onboarding state"
msgstr "Reset status onboarding"
-#: src/view/screens/Settings/index.tsx:815
+#: src/view/screens/Settings/index.tsx:813
msgid "Resets the preferences state"
msgstr "Reset status preferensi"
-#: src/view/com/auth/login/LoginForm.tsx:269
+#: src/screens/Login/LoginForm.tsx:235
msgid "Retries login"
msgstr "Mencoba masuk kembali"
@@ -3442,12 +4170,13 @@ msgstr "Mencoba masuk kembali"
msgid "Retries the last action, which errored out"
msgstr "Coba kembali tindakan terakhir, yang gagal"
-#: src/screens/Onboarding/StepInterests/index.tsx:221
-#: src/screens/Onboarding/StepInterests/index.tsx:224
-#: src/view/com/auth/create/CreateAccount.tsx:181
-#: src/view/com/auth/create/CreateAccount.tsx:186
-#: src/view/com/auth/login/LoginForm.tsx:268
-#: src/view/com/auth/login/LoginForm.tsx:271
+#: src/components/Error.tsx:79
+#: src/components/Lists.tsx:91
+#: src/screens/Login/LoginForm.tsx:234
+#: src/screens/Login/LoginForm.tsx:241
+#: src/screens/Onboarding/StepInterests/index.tsx:225
+#: src/screens/Onboarding/StepInterests/index.tsx:228
+#: src/screens/Signup/index.tsx:194
#: src/view/com/util/error/ErrorMessage.tsx:55
#: src/view/com/util/error/ErrorScreen.tsx:72
msgid "Retry"
@@ -3455,88 +4184,117 @@ msgstr "Ulangi"
#: src/view/com/auth/create/Step2.tsx:247
#~ msgid "Retry."
-#~ msgstr ""
+#~ msgstr "Ulangi"
-#: src/view/screens/ProfileList.tsx:903
+#: src/components/Error.tsx:86
+#: src/view/screens/ProfileList.tsx:919
msgid "Return to previous page"
msgstr "Kembali ke halaman sebelumnya"
+#: src/view/screens/NotFound.tsx:59
+msgid "Returns to home page"
+msgstr ""
+
+#: src/view/screens/NotFound.tsx:58
+#: src/view/screens/ProfileFeed.tsx:113
+msgid "Returns to previous page"
+msgstr ""
+
#: src/view/shell/desktop/RightNav.tsx:55
#~ msgid "SANDBOX. Posts and accounts are not permanent."
#~ msgstr "SANDBOX. Postingan dan akun tidak bersifat permanen."
+#: src/components/dialogs/BirthDateSettings.tsx:125
+#: src/view/com/modals/ChangeHandle.tsx:174
+#: src/view/com/modals/CreateOrEditList.tsx:338
+#: src/view/com/modals/EditProfile.tsx:225
+msgid "Save"
+msgstr "Simpan"
+
#: src/view/com/lightbox/Lightbox.tsx:132
-#: src/view/com/modals/CreateOrEditList.tsx:345
+#: src/view/com/modals/CreateOrEditList.tsx:346
msgctxt "action"
msgid "Save"
msgstr "Simpan"
-#: src/view/com/modals/BirthDateSettings.tsx:94
-#: src/view/com/modals/BirthDateSettings.tsx:97
-#: src/view/com/modals/ChangeHandle.tsx:173
-#: src/view/com/modals/CreateOrEditList.tsx:337
-#: src/view/com/modals/EditProfile.tsx:224
-#: src/view/screens/ProfileFeed.tsx:346
-msgid "Save"
-msgstr "Simpan"
-
-#: src/view/com/modals/AltImage.tsx:130
+#: src/view/com/modals/AltImage.tsx:131
msgid "Save alt text"
msgstr "Simpan teks alt"
-#: src/view/com/modals/EditProfile.tsx:232
+#: src/components/dialogs/BirthDateSettings.tsx:119
+msgid "Save birthday"
+msgstr ""
+
+#: src/view/com/modals/EditProfile.tsx:233
msgid "Save Changes"
msgstr "Simpan Perubahan"
-#: src/view/com/modals/ChangeHandle.tsx:170
+#: src/view/com/modals/ChangeHandle.tsx:171
msgid "Save handle change"
msgstr "Simpan perubahan handle"
-#: src/view/com/modals/crop-image/CropImage.web.tsx:144
+#: src/view/com/modals/crop-image/CropImage.web.tsx:145
msgid "Save image crop"
msgstr "Simpan potongan gambar"
-#: src/view/screens/SavedFeeds.tsx:122
+#: src/view/screens/ProfileFeed.tsx:347
+#: src/view/screens/ProfileFeed.tsx:353
+msgid "Save to my feeds"
+msgstr ""
+
+#: src/view/screens/SavedFeeds.tsx:123
msgid "Saved Feeds"
msgstr "Simpan Feed"
-#: src/view/com/modals/EditProfile.tsx:225
+#: src/view/com/lightbox/Lightbox.tsx:81
+msgid "Saved to your camera roll."
+msgstr ""
+
+#: src/view/screens/ProfileFeed.tsx:214
+msgid "Saved to your feeds"
+msgstr ""
+
+#: src/view/com/modals/EditProfile.tsx:226
msgid "Saves any changes to your profile"
msgstr "Simpan setiap perubahan pada profil Anda"
-#: src/view/com/modals/ChangeHandle.tsx:171
+#: src/view/com/modals/ChangeHandle.tsx:172
msgid "Saves handle change to {handle}"
msgstr "Simpan perubahan handle ke {handle}"
-#: src/screens/Onboarding/index.tsx:36
-msgid "Science"
+#: src/view/com/modals/crop-image/CropImage.web.tsx:146
+msgid "Saves image crop settings"
msgstr ""
-#: src/view/screens/ProfileList.tsx:859
+#: src/screens/Onboarding/index.tsx:36
+msgid "Science"
+msgstr "Sains"
+
+#: src/view/screens/ProfileList.tsx:875
msgid "Scroll to top"
msgstr "Gulir ke atas"
-#: src/Navigation.tsx:447
-#: src/view/com/auth/LoggedOut.tsx:122
+#: src/Navigation.tsx:451
+#: src/view/com/auth/LoggedOut.tsx:123
#: src/view/com/modals/ListAddRemoveUsers.tsx:75
#: src/view/com/util/forms/SearchInput.tsx:67
#: src/view/com/util/forms/SearchInput.tsx:79
-#: src/view/screens/Search/Search.tsx:419
-#: src/view/screens/Search/Search.tsx:668
-#: src/view/screens/Search/Search.tsx:686
-#: src/view/shell/bottom-bar/BottomBar.tsx:159
-#: src/view/shell/desktop/LeftNav.tsx:324
-#: src/view/shell/desktop/Search.tsx:214
-#: src/view/shell/desktop/Search.tsx:223
-#: src/view/shell/Drawer.tsx:362
-#: src/view/shell/Drawer.tsx:363
+#: src/view/screens/Search/Search.tsx:568
+#: src/view/screens/Search/Search.tsx:817
+#: src/view/screens/Search/Search.tsx:835
+#: src/view/shell/bottom-bar/BottomBar.tsx:170
+#: src/view/shell/desktop/LeftNav.tsx:328
+#: src/view/shell/desktop/Search.tsx:215
+#: src/view/shell/desktop/Search.tsx:224
+#: src/view/shell/Drawer.tsx:371
+#: src/view/shell/Drawer.tsx:372
msgid "Search"
msgstr "Cari"
-#: src/view/screens/Search/Search.tsx:735
-#: src/view/shell/desktop/Search.tsx:255
+#: src/view/screens/Search/Search.tsx:884
+#: src/view/shell/desktop/Search.tsx:256
msgid "Search for \"{query}\""
-msgstr ""
+msgstr "Cari \"{query}\""
#: src/components/TagMenu/index.tsx:145
msgid "Search for all posts by @{authorHandle} with tag {displayTag}"
@@ -3554,8 +4312,8 @@ msgstr ""
#~ msgid "Search for all posts with tag {tag}"
#~ msgstr ""
-#: src/view/com/auth/LoggedOut.tsx:104
#: src/view/com/auth/LoggedOut.tsx:105
+#: src/view/com/auth/LoggedOut.tsx:106
#: src/view/com/modals/ListAddRemoveUsers.tsx:70
msgid "Search for users"
msgstr "Cari pengguna"
@@ -3588,37 +4346,58 @@ msgstr ""
#~ msgid "See <0>{tag}0> posts by this user"
#~ msgstr ""
-#: src/view/screens/SavedFeeds.tsx:163
+#: src/view/com/notifications/FeedItem.tsx:419
+#: src/view/com/util/UserAvatar.tsx:381
+msgid "See profile"
+msgstr ""
+
+#: src/view/screens/SavedFeeds.tsx:164
msgid "See this guide"
msgstr "Lihat panduan ini"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:39
-msgid "See what's next"
-msgstr "Lihat apa yang akan datang"
+#: src/view/com/auth/HomeLoggedOutCTA.tsx:40
+#~ msgid "See what's next"
+#~ msgstr "Lihat apa yang akan datang"
#: src/view/com/util/Selector.tsx:106
msgid "Select {item}"
msgstr "Pilih {item}"
+#: src/screens/Login/ChooseAccountForm.tsx:61
+msgid "Select account"
+msgstr ""
+
#: src/view/com/modals/ServerInput.tsx:75
#~ msgid "Select Bluesky Social"
#~ msgstr "Pilih Bluesky Social"
-#: src/view/com/auth/login/Login.tsx:117
+#: src/screens/Login/index.tsx:120
msgid "Select from an existing account"
msgstr "Pilih dari akun yang sudah ada"
+#: src/view/screens/LanguageSettings.tsx:299
+msgid "Select languages"
+msgstr ""
+
+#: src/components/ReportDialog/SelectLabelerView.tsx:30
+msgid "Select moderator"
+msgstr ""
+
#: src/view/com/util/Selector.tsx:107
msgid "Select option {i} of {numItems}"
msgstr "Pilih opsi {i} dari {numItems}"
#: src/view/com/auth/create/Step1.tsx:96
-#: src/view/com/auth/login/LoginForm.tsx:150
-msgid "Select service"
-msgstr "Pilih layanan"
+#: src/view/com/auth/login/LoginForm.tsx:153
+#~ msgid "Select service"
+#~ msgstr "Pilih layanan"
#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:52
msgid "Select some accounts below to follow"
+msgstr "Pilih beberapa akun di bawah ini untuk diikuti"
+
+#: src/components/ReportDialog/SubmitView.tsx:133
+msgid "Select the moderation service(s) to report to"
msgstr ""
#: src/view/com/auth/server-input/index.tsx:82
@@ -3627,54 +4406,62 @@ msgstr ""
#: src/screens/Onboarding/StepModeration/index.tsx:49
#~ msgid "Select the types of content that you want to see (or not see), and we'll handle the rest."
-#~ msgstr ""
+#~ msgstr "Pilih jenis konten yang ingin Anda lihat (atau tidak lihat), dan kami akan menangani sisanya."
-#: src/screens/Onboarding/StepTopicalFeeds.tsx:96
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:100
msgid "Select topical feeds to follow from the list below"
-msgstr ""
+msgstr "Pilih feed terkini untuk diikuti dari daftar di bawah ini"
-#: src/screens/Onboarding/StepModeration/index.tsx:75
+#: src/screens/Onboarding/StepModeration/index.tsx:63
msgid "Select what you want to see (or not see), and we’ll handle the rest."
-msgstr ""
+msgstr "Pilih apa yang ingin Anda lihat (atau tidak lihat), dan kami akan menangani sisanya."
#: src/view/screens/LanguageSettings.tsx:281
msgid "Select which languages you want your subscribed feeds to include. If none are selected, all languages will be shown."
msgstr "Pilih bahasa yang ingin Anda langgani di feed Anda. Jika tidak memilih, maka semua bahasa akan ditampilkan."
#: src/view/screens/LanguageSettings.tsx:98
-msgid "Select your app language for the default text to display in the app"
-msgstr "Pilih bahasa aplikasi Anda untuk tampilan teks bawaan dalam aplikasi"
+#~ msgid "Select your app language for the default text to display in the app"
+#~ msgstr "Pilih bahasa aplikasi Anda untuk tampilan teks bawaan dalam aplikasi"
-#: src/screens/Onboarding/StepInterests/index.tsx:196
-msgid "Select your interests from the options below"
+#: src/view/screens/LanguageSettings.tsx:98
+msgid "Select your app language for the default text to display in the app."
msgstr ""
+#: src/screens/Signup/StepInfo/index.tsx:135
+msgid "Select your date of birth"
+msgstr ""
+
+#: src/screens/Onboarding/StepInterests/index.tsx:200
+msgid "Select your interests from the options below"
+msgstr "Pilih minat Anda dari opsi di bawah ini"
+
#: src/view/com/auth/create/Step2.tsx:155
#~ msgid "Select your phone's country"
-#~ msgstr ""
+#~ msgstr "Pilih negara telepon Anda"
#: src/view/screens/LanguageSettings.tsx:190
msgid "Select your preferred language for translations in your feed."
msgstr "Pilih bahasa yang disukai untuk penerjemahaan feed Anda."
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:116
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:117
msgid "Select your primary algorithmic feeds"
-msgstr ""
+msgstr "Pilih feed algoritma utama Anda"
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:142
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:133
msgid "Select your secondary algorithmic feeds"
-msgstr ""
+msgstr "Pilih feed algoritma sekunder Anda"
#: src/view/com/modals/VerifyEmail.tsx:202
#: src/view/com/modals/VerifyEmail.tsx:204
msgid "Send Confirmation Email"
msgstr "Kirim Email Konfirmasi"
-#: src/view/com/modals/DeleteAccount.tsx:131
+#: src/view/com/modals/DeleteAccount.tsx:130
msgid "Send email"
msgstr "Kirim email"
-#: src/view/com/modals/DeleteAccount.tsx:144
+#: src/view/com/modals/DeleteAccount.tsx:143
msgctxt "action"
msgid "Send Email"
msgstr "Kirim Email"
@@ -3682,60 +4469,73 @@ msgstr "Kirim Email"
#~ msgid "Send Email"
#~ msgstr "Kirim Email"
-#: src/view/shell/Drawer.tsx:295
-#: src/view/shell/Drawer.tsx:316
+#: src/view/shell/Drawer.tsx:304
+#: src/view/shell/Drawer.tsx:325
msgid "Send feedback"
msgstr "Kirim masukan"
-#: src/view/com/modals/report/SendReportButton.tsx:45
-msgid "Send Report"
-msgstr "Kirim Laporan"
+#: src/components/ReportDialog/SubmitView.tsx:213
+#: src/components/ReportDialog/SubmitView.tsx:217
+msgid "Send report"
+msgstr ""
-#: src/view/com/modals/DeleteAccount.tsx:133
+#: src/view/com/modals/report/SendReportButton.tsx:45
+#~ msgid "Send Report"
+#~ msgstr "Kirim Laporan"
+
+#: src/components/ReportDialog/SelectLabelerView.tsx:44
+msgid "Send report to {0}"
+msgstr ""
+
+#: src/view/com/modals/DeleteAccount.tsx:132
msgid "Sends email with confirmation code for account deletion"
msgstr "Kirim email dengan kode konfirmasi untuk penghapusan akun"
-#: src/view/com/auth/server-input/index.tsx:110
+#: src/view/com/auth/server-input/index.tsx:114
msgid "Server address"
msgstr ""
#: src/view/com/modals/ContentFilteringSettings.tsx:311
-msgid "Set {value} for {labelGroup} content moderation policy"
-msgstr "Tetapkan {value} untuk kebijakan moderasi konten {labelGroup}"
+#~ msgid "Set {value} for {labelGroup} content moderation policy"
+#~ msgstr "Tetapkan {value} untuk kebijakan moderasi konten {labelGroup}"
#: src/view/com/modals/ContentFilteringSettings.tsx:160
#: src/view/com/modals/ContentFilteringSettings.tsx:179
-msgctxt "action"
-msgid "Set Age"
-msgstr "Tetapkan Usia"
+#~ msgctxt "action"
+#~ msgid "Set Age"
+#~ msgstr "Tetapkan Usia"
+
+#: src/screens/Moderation/index.tsx:304
+msgid "Set birthdate"
+msgstr ""
#: src/view/screens/Settings/index.tsx:488
-msgid "Set color theme to dark"
-msgstr "Atur tema menjadi gelap"
+#~ msgid "Set color theme to dark"
+#~ msgstr "Atur tema menjadi gelap"
#: src/view/screens/Settings/index.tsx:481
-msgid "Set color theme to light"
-msgstr "Atur tema menjadi terang"
+#~ msgid "Set color theme to light"
+#~ msgstr "Atur tema menjadi terang"
#: src/view/screens/Settings/index.tsx:475
-msgid "Set color theme to system setting"
-msgstr "Atur tema warna ke pengaturan sistem"
+#~ msgid "Set color theme to system setting"
+#~ msgstr "Atur tema warna ke pengaturan sistem"
#: src/view/screens/Settings/index.tsx:514
-msgid "Set dark theme to the dark theme"
-msgstr ""
+#~ msgid "Set dark theme to the dark theme"
+#~ msgstr "Atur tema gelap ke tema gelap"
#: src/view/screens/Settings/index.tsx:507
-msgid "Set dark theme to the dim theme"
-msgstr ""
+#~ msgid "Set dark theme to the dim theme"
+#~ msgstr "Atur tema gelap ke tema redup"
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:104
+#: src/screens/Login/SetNewPasswordForm.tsx:102
msgid "Set new password"
msgstr "Buat kata sandi baru"
#: src/view/com/auth/create/Step1.tsx:202
-msgid "Set password"
-msgstr "Atur kata sandi"
+#~ msgid "Set password"
+#~ msgstr "Atur kata sandi"
#: src/view/screens/PreferencesFollowingFeed.tsx:225
msgid "Set this setting to \"No\" to hide all quote posts from your feed. Reposts will still be visible."
@@ -3755,42 +4555,74 @@ msgstr "Pilih \"Ya\" untuk menampilkan balasan dalam bentuk utasan. Ini merupaka
#: src/view/screens/PreferencesHomeFeed.tsx:261
#~ msgid "Set this setting to \"Yes\" to show samples of your saved feeds in your following feed. This is an experimental feature."
-#~ msgstr "Pilih \"Ya\" untuk menampilkan beberapa sampel dari feed tersimpan Anda pada feed mengikuti. Ini merupakan fitur eksperimental."
+#~ msgstr "Pilih \"Ya\" untuk menampilkan beberapa sampel dari feed tersimpan di feed mengikuti Anda. Ini merupakan fitur eksperimental."
#: src/view/screens/PreferencesFollowingFeed.tsx:261
msgid "Set this setting to \"Yes\" to show samples of your saved feeds in your Following feed. This is an experimental feature."
-msgstr ""
+msgstr "Pilih \"Ya\" untuk menampilkan beberapa sampel dari feed tersimpan di feed Mengikuti Anda. Ini merupakan fitur eksperimental"
-#: src/screens/Onboarding/Layout.tsx:50
+#: src/screens/Onboarding/Layout.tsx:48
msgid "Set up your account"
-msgstr ""
+msgstr "Atur akun Anda"
-#: src/view/com/modals/ChangeHandle.tsx:266
+#: src/view/com/modals/ChangeHandle.tsx:267
msgid "Sets Bluesky username"
msgstr "Atur nama pengguna Bluesky"
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:157
+#: src/view/screens/Settings/index.tsx:458
+msgid "Sets color theme to dark"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:451
+msgid "Sets color theme to light"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:445
+msgid "Sets color theme to system setting"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:484
+msgid "Sets dark theme to the dark theme"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:477
+msgid "Sets dark theme to the dim theme"
+msgstr ""
+
+#: src/screens/Login/ForgotPasswordForm.tsx:113
msgid "Sets email for password reset"
msgstr "Atur email untuk pengaturan ulang kata sandi"
#: src/view/com/auth/login/ForgotPasswordForm.tsx:122
-msgid "Sets hosting provider for password reset"
-msgstr "Atur penyedia hosting untuk pengaturan ulang kata sandi"
+#~ msgid "Sets hosting provider for password reset"
+#~ msgstr "Atur penyedia hosting untuk pengaturan ulang kata sandi"
#: src/view/com/auth/create/Step1.tsx:143
#~ msgid "Sets hosting provider to {label}"
#~ msgstr "Atur penyedia hosting ke {label}"
-#: src/view/com/auth/create/Step1.tsx:97
-#: src/view/com/auth/login/LoginForm.tsx:151
-msgid "Sets server for the Bluesky client"
-msgstr "Atur server untuk klien Bluesky"
+#: src/view/com/modals/crop-image/CropImage.web.tsx:124
+msgid "Sets image aspect ratio to square"
+msgstr ""
-#: src/Navigation.tsx:137
-#: src/view/screens/Settings/index.tsx:294
-#: src/view/shell/desktop/LeftNav.tsx:433
-#: src/view/shell/Drawer.tsx:567
-#: src/view/shell/Drawer.tsx:568
+#: src/view/com/modals/crop-image/CropImage.web.tsx:114
+msgid "Sets image aspect ratio to tall"
+msgstr ""
+
+#: src/view/com/modals/crop-image/CropImage.web.tsx:104
+msgid "Sets image aspect ratio to wide"
+msgstr ""
+
+#: src/view/com/auth/create/Step1.tsx:97
+#: src/view/com/auth/login/LoginForm.tsx:154
+#~ msgid "Sets server for the Bluesky client"
+#~ msgstr "Atur server untuk klien Bluesky"
+
+#: src/Navigation.tsx:139
+#: src/view/screens/Settings/index.tsx:316
+#: src/view/shell/desktop/LeftNav.tsx:437
+#: src/view/shell/Drawer.tsx:576
+#: src/view/shell/Drawer.tsx:577
msgid "Settings"
msgstr "Pengaturan"
@@ -3798,28 +4630,49 @@ msgstr "Pengaturan"
msgid "Sexual activity or erotic nudity."
msgstr "Aktivitas seksual atau ketelanjangan erotis."
+#: src/lib/moderation/useGlobalLabelStrings.ts:38
+msgid "Sexually Suggestive"
+msgstr ""
+
#: src/view/com/lightbox/Lightbox.tsx:141
msgctxt "action"
msgid "Share"
msgstr "Bagikan"
-#: src/view/com/profile/ProfileHeader.tsx:295
-#: src/view/com/util/forms/PostDropdownBtn.tsx:231
-#: src/view/com/util/forms/PostDropdownBtn.tsx:237
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:215
-#: src/view/screens/ProfileList.tsx:418
+#: src/view/com/profile/ProfileMenu.tsx:215
+#: src/view/com/profile/ProfileMenu.tsx:224
+#: src/view/com/util/forms/PostDropdownBtn.tsx:236
+#: src/view/com/util/forms/PostDropdownBtn.tsx:245
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:237
+#: src/view/screens/ProfileList.tsx:390
msgid "Share"
msgstr "Bagikan"
-#: src/view/screens/ProfileFeed.tsx:305
+#: src/view/com/profile/ProfileMenu.tsx:373
+#: src/view/com/util/forms/PostDropdownBtn.tsx:369
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:253
+msgid "Share anyway"
+msgstr ""
+
+#: src/view/screens/ProfileFeed.tsx:373
+#: src/view/screens/ProfileFeed.tsx:375
msgid "Share feed"
msgstr "Bagikan feed"
-#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:43
-#: src/view/com/modals/ContentFilteringSettings.tsx:266
-#: src/view/com/util/moderation/ContentHider.tsx:107
-#: src/view/com/util/moderation/PostHider.tsx:108
-#: src/view/screens/Settings/index.tsx:344
+#: src/view/com/modals/LinkWarning.tsx:89
+#: src/view/com/modals/LinkWarning.tsx:95
+msgid "Share Link"
+msgstr ""
+
+#: src/view/com/modals/LinkWarning.tsx:92
+msgid "Shares the linked website"
+msgstr ""
+
+#: src/components/moderation/ContentHider.tsx:115
+#: src/components/moderation/LabelPreference.tsx:136
+#: src/components/moderation/PostHider.tsx:107
+#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:54
+#: src/view/screens/Settings/index.tsx:366
msgid "Show"
msgstr "Tampilkan"
@@ -3827,21 +4680,31 @@ msgstr "Tampilkan"
msgid "Show all replies"
msgstr "Tampilkan semua balasan"
-#: src/view/com/util/moderation/ScreenHider.tsx:132
+#: src/components/moderation/ScreenHider.tsx:169
+#: src/components/moderation/ScreenHider.tsx:172
msgid "Show anyway"
msgstr "Tetap tampilkan"
-#: src/view/com/modals/EmbedConsent.tsx:87
-msgid "Show embeds from {0}"
-msgstr "Tampilkan embed dari {0}"
+#: src/lib/moderation/useLabelBehaviorDescription.ts:27
+#: src/lib/moderation/useLabelBehaviorDescription.ts:63
+msgid "Show badge"
+msgstr ""
-#: src/view/com/profile/ProfileHeader.tsx:459
+#: src/lib/moderation/useLabelBehaviorDescription.ts:61
+msgid "Show badge and filter from feeds"
+msgstr ""
+
+#: src/view/com/modals/EmbedConsent.tsx:87
+#~ msgid "Show embeds from {0}"
+#~ msgstr "Tampilkan embed dari {0}"
+
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:200
msgid "Show follows similar to {0}"
msgstr "Tampilkan berikut ini mirip dengan {0}"
-#: src/view/com/post-thread/PostThreadItem.tsx:538
-#: src/view/com/post/Post.tsx:198
-#: src/view/com/posts/FeedItem.tsx:363
+#: src/view/com/post-thread/PostThreadItem.tsx:501
+#: src/view/com/post/Post.tsx:212
+#: src/view/com/posts/FeedItem.tsx:360
msgid "Show More"
msgstr "Tampilkan Lebih Lanjut"
@@ -3853,17 +4716,17 @@ msgstr "Tampilkan Postingan dari Feed Saya"
msgid "Show Quote Posts"
msgstr "Tampilkan Kutipan Postingan"
-#: src/screens/Onboarding/StepFollowingFeed.tsx:118
+#: src/screens/Onboarding/StepFollowingFeed.tsx:119
msgid "Show quote-posts in Following feed"
-msgstr ""
+msgstr "Tampilkan kutipan postingan di feed Mengikuti"
-#: src/screens/Onboarding/StepFollowingFeed.tsx:134
+#: src/screens/Onboarding/StepFollowingFeed.tsx:135
msgid "Show quotes in Following"
-msgstr ""
+msgstr "Tampilkan kutipan di Mengikuti"
-#: src/screens/Onboarding/StepFollowingFeed.tsx:94
+#: src/screens/Onboarding/StepFollowingFeed.tsx:95
msgid "Show re-posts in Following feed"
-msgstr ""
+msgstr "Tampilkan posting ulang di feed Mengikuti"
#: src/view/screens/PreferencesFollowingFeed.tsx:119
msgid "Show Replies"
@@ -3873,13 +4736,13 @@ msgstr "Tampilkan Balasan"
msgid "Show replies by people you follow before all other replies."
msgstr "Tampilkan balasan dari orang yang Anda ikuti sebelum balasan lainnya."
-#: src/screens/Onboarding/StepFollowingFeed.tsx:86
+#: src/screens/Onboarding/StepFollowingFeed.tsx:87
msgid "Show replies in Following"
-msgstr ""
+msgstr "Tampilkan balasan di Mengikuti"
-#: src/screens/Onboarding/StepFollowingFeed.tsx:70
+#: src/screens/Onboarding/StepFollowingFeed.tsx:71
msgid "Show replies in Following feed"
-msgstr ""
+msgstr "Tampilkan balasan di feed Mengikuti"
#: src/view/screens/PreferencesFollowingFeed.tsx:70
msgid "Show replies with at least {value} {0}"
@@ -3889,131 +4752,157 @@ msgstr "Tampilkan balasan dengan setidaknya {value} {0}"
msgid "Show Reposts"
msgstr "Tampilkan Posting Ulang"
-#: src/screens/Onboarding/StepFollowingFeed.tsx:110
+#: src/screens/Onboarding/StepFollowingFeed.tsx:111
msgid "Show reposts in Following"
-msgstr ""
+msgstr "Tampilkan posting ulang di Mengikuti"
-#: src/view/com/util/moderation/ContentHider.tsx:67
-#: src/view/com/util/moderation/PostHider.tsx:61
+#: src/components/moderation/ContentHider.tsx:68
+#: src/components/moderation/PostHider.tsx:64
msgid "Show the content"
msgstr "Tampilkan konten"
-#: src/view/com/notifications/FeedItem.tsx:347
+#: src/view/com/notifications/FeedItem.tsx:353
msgid "Show users"
msgstr "Tampilkan pengguna"
-#: src/view/com/profile/ProfileHeader.tsx:462
-msgid "Shows a list of users similar to this user."
-msgstr "Tampilkan daftar pengguna yang mirip dengan pengguna ini."
+#: src/lib/moderation/useLabelBehaviorDescription.ts:58
+msgid "Show warning"
+msgstr ""
-#: src/view/com/post-thread/PostThreadFollowBtn.tsx:124
-#: src/view/com/profile/ProfileHeader.tsx:506
+#: src/lib/moderation/useLabelBehaviorDescription.ts:56
+msgid "Show warning and filter from feeds"
+msgstr ""
+
+#: src/view/com/profile/ProfileHeader.tsx:462
+#~ msgid "Shows a list of users similar to this user."
+#~ msgstr "Tampilkan daftar pengguna yang mirip dengan pengguna ini."
+
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:130
msgid "Shows posts from {0} in your feed"
msgstr "Tampilkan postingan dari {0} di feed Anda"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:70
-#: src/view/com/auth/login/Login.tsx:98
-#: src/view/com/auth/SplashScreen.tsx:79
-#: src/view/shell/bottom-bar/BottomBar.tsx:285
-#: src/view/shell/bottom-bar/BottomBar.tsx:286
-#: src/view/shell/bottom-bar/BottomBar.tsx:288
+#: src/components/dialogs/Signin.tsx:97
+#: src/components/dialogs/Signin.tsx:99
+#: src/screens/Login/index.tsx:100
+#: src/screens/Login/index.tsx:119
+#: src/screens/Login/LoginForm.tsx:131
+#: src/view/com/auth/SplashScreen.tsx:63
+#: src/view/com/auth/SplashScreen.tsx:72
+#: src/view/com/auth/SplashScreen.web.tsx:107
+#: src/view/com/auth/SplashScreen.web.tsx:116
+#: src/view/shell/bottom-bar/BottomBar.tsx:301
+#: src/view/shell/bottom-bar/BottomBar.tsx:302
+#: src/view/shell/bottom-bar/BottomBar.tsx:304
#: src/view/shell/bottom-bar/BottomBarWeb.tsx:178
#: src/view/shell/bottom-bar/BottomBarWeb.tsx:179
#: src/view/shell/bottom-bar/BottomBarWeb.tsx:181
-#: src/view/shell/NavSignupCard.tsx:58
-#: src/view/shell/NavSignupCard.tsx:59
+#: src/view/shell/NavSignupCard.tsx:63
+#: src/view/shell/NavSignupCard.tsx:64
+#: src/view/shell/NavSignupCard.tsx:66
msgid "Sign in"
msgstr "Masuk"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:78
-#: src/view/com/auth/SplashScreen.tsx:82
+#: src/view/com/auth/HomeLoggedOutCTA.tsx:82
+#: src/view/com/auth/SplashScreen.tsx:86
#: src/view/com/auth/SplashScreen.web.tsx:91
-msgid "Sign In"
-msgstr "Masuk"
+#~ msgid "Sign In"
+#~ msgstr "Masuk"
-#: src/view/com/auth/login/ChooseAccountForm.tsx:44
+#: src/components/AccountList.tsx:109
msgid "Sign in as {0}"
msgstr "Masuk sebagai {0}"
-#: src/view/com/auth/login/ChooseAccountForm.tsx:118
-#: src/view/com/auth/login/Login.tsx:116
+#: src/screens/Login/ChooseAccountForm.tsx:64
msgid "Sign in as..."
msgstr "Masuk sebagai..."
-#: src/view/com/auth/login/LoginForm.tsx:137
-msgid "Sign into"
-msgstr "Masuk ke"
+#: src/components/dialogs/Signin.tsx:75
+msgid "Sign in or create your account to join the conversation!"
+msgstr ""
-#: src/view/com/modals/SwitchAccount.tsx:64
-#: src/view/com/modals/SwitchAccount.tsx:69
-#: src/view/screens/Settings/index.tsx:100
-#: src/view/screens/Settings/index.tsx:103
+#: src/view/com/auth/login/LoginForm.tsx:140
+#~ msgid "Sign into"
+#~ msgstr "Masuk ke"
+
+#: src/components/dialogs/Signin.tsx:46
+msgid "Sign into Bluesky or create a new account"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:118
+#: src/view/screens/Settings/index.tsx:121
msgid "Sign out"
msgstr "Keluar"
-#: src/view/shell/bottom-bar/BottomBar.tsx:275
-#: src/view/shell/bottom-bar/BottomBar.tsx:276
-#: src/view/shell/bottom-bar/BottomBar.tsx:278
+#: src/view/shell/bottom-bar/BottomBar.tsx:291
+#: src/view/shell/bottom-bar/BottomBar.tsx:292
+#: src/view/shell/bottom-bar/BottomBar.tsx:294
#: src/view/shell/bottom-bar/BottomBarWeb.tsx:168
#: src/view/shell/bottom-bar/BottomBarWeb.tsx:169
#: src/view/shell/bottom-bar/BottomBarWeb.tsx:171
-#: src/view/shell/NavSignupCard.tsx:49
-#: src/view/shell/NavSignupCard.tsx:50
-#: src/view/shell/NavSignupCard.tsx:52
+#: src/view/shell/NavSignupCard.tsx:54
+#: src/view/shell/NavSignupCard.tsx:55
+#: src/view/shell/NavSignupCard.tsx:57
msgid "Sign up"
msgstr "Daftar"
-#: src/view/shell/NavSignupCard.tsx:42
+#: src/view/shell/NavSignupCard.tsx:47
msgid "Sign up or sign in to join the conversation"
msgstr "Daftar atau masuk untuk bergabung dalam obrolan"
-#: src/view/com/util/moderation/ScreenHider.tsx:76
+#: src/components/moderation/ScreenHider.tsx:97
+#: src/lib/moderation/useGlobalLabelStrings.ts:28
msgid "Sign-in Required"
msgstr "Dibutuhkan Masuk"
-#: src/view/screens/Settings/index.tsx:355
+#: src/view/screens/Settings/index.tsx:377
msgid "Signed in as"
msgstr "Masuk sebagai"
-#: src/view/com/auth/login/ChooseAccountForm.tsx:103
+#: src/screens/Login/ChooseAccountForm.tsx:48
msgid "Signed in as @{0}"
msgstr "Masuk sebagai @{0}"
-#: src/view/com/modals/SwitchAccount.tsx:66
-msgid "Signs {0} out of Bluesky"
-msgstr "Mengeluarkan {0} dari Bluesky"
+#: src/view/com/modals/SwitchAccount.tsx:70
+#~ msgid "Signs {0} out of Bluesky"
+#~ msgstr "Mengeluarkan {0} dari Bluesky"
-#: src/screens/Onboarding/StepInterests/index.tsx:235
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:195
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:33
+#: src/screens/Onboarding/StepInterests/index.tsx:239
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:203
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:35
msgid "Skip"
msgstr "Lewati"
-#: src/screens/Onboarding/StepInterests/index.tsx:232
+#: src/screens/Onboarding/StepInterests/index.tsx:236
msgid "Skip this flow"
-msgstr ""
+msgstr "Lewati tahap ini"
#: src/view/com/auth/create/Step2.tsx:82
#~ msgid "SMS verification"
-#~ msgstr ""
+#~ msgstr "Verifikasi SMS"
#: src/screens/Onboarding/index.tsx:40
msgid "Software Dev"
-msgstr ""
+msgstr "Pengembang Perangkat Lunak"
#: src/view/com/modals/ProfilePreview.tsx:62
#~ msgid "Something went wrong and we're not sure what."
#~ msgstr "Ada yang tidak beres dan kami tidak yakin apa itu."
-#: src/components/Lists.tsx:203
-msgid "Something went wrong!"
+#: src/components/ReportDialog/index.tsx:59
+#: src/screens/Moderation/index.tsx:114
+#: src/screens/Profile/Sections/Labels.tsx:87
+msgid "Something went wrong, please try again."
msgstr ""
+#: src/components/Lists.tsx:203
+#~ msgid "Something went wrong!"
+#~ msgstr ""
+
#: src/view/com/modals/Waitlist.tsx:51
#~ msgid "Something went wrong. Check your email and try again."
#~ msgstr "Ada yang tidak beres. Periksa email Anda dan coba lagi."
-#: src/App.native.tsx:66
+#: src/App.native.tsx:64
msgid "Sorry! Your session expired. Please log in again."
msgstr "Maaf! Sesi Anda telah berakhir. Silakan masuk lagi."
@@ -4025,11 +4914,23 @@ msgstr "Urutkan Balasan"
msgid "Sort replies to the same post by:"
msgstr "Urutkan balasan ke postingan yang sama berdasarkan:"
-#: src/screens/Onboarding/index.tsx:30
-msgid "Sports"
+#: src/components/moderation/LabelsOnMeDialog.tsx:146
+msgid "Source:"
msgstr ""
-#: src/view/com/modals/crop-image/CropImage.web.tsx:122
+#: src/lib/moderation/useReportOptions.ts:65
+msgid "Spam"
+msgstr ""
+
+#: src/lib/moderation/useReportOptions.ts:53
+msgid "Spam; excessive mentions or replies"
+msgstr ""
+
+#: src/screens/Onboarding/index.tsx:30
+msgid "Sports"
+msgstr "Olahraga"
+
+#: src/view/com/modals/crop-image/CropImage.web.tsx:123
msgid "Square"
msgstr "Persegi"
@@ -4037,49 +4938,66 @@ msgstr "Persegi"
#~ msgid "Staging"
#~ msgstr "Staging"
-#: src/view/screens/Settings/index.tsx:871
+#: src/view/screens/Settings/index.tsx:867
msgid "Status page"
msgstr "Halaman status"
-#: src/view/com/auth/create/StepHeader.tsx:22
-msgid "Step {0} of {numSteps}"
+#: src/screens/Signup/index.tsx:143
+msgid "Step"
msgstr ""
+#: src/view/com/auth/create/StepHeader.tsx:22
+#~ msgid "Step {0} of {numSteps}"
+#~ msgstr "Langkah {0} dari {numSteps}"
+
#: src/view/com/auth/create/StepHeader.tsx:15
#~ msgid "Step {step} of 3"
#~ msgstr "Langkah {step} dari 3"
-#: src/view/screens/Settings/index.tsx:274
+#: src/view/screens/Settings/index.tsx:295
msgid "Storage cleared, you need to restart the app now."
msgstr "Penyimpanan dihapus, Anda perlu memulai ulang aplikasi sekarang."
-#: src/Navigation.tsx:204
-#: src/view/screens/Settings/index.tsx:807
+#: src/Navigation.tsx:211
+#: src/view/screens/Settings/index.tsx:795
msgid "Storybook"
msgstr "Storybook"
-#: src/view/com/modals/AppealLabel.tsx:101
+#: src/components/moderation/LabelsOnMeDialog.tsx:255
+#: src/components/moderation/LabelsOnMeDialog.tsx:256
msgid "Submit"
msgstr "Kirim"
-#: src/view/screens/ProfileList.tsx:608
+#: src/view/screens/ProfileList.tsx:592
msgid "Subscribe"
msgstr "Langganan"
-#: src/screens/Onboarding/StepAlgoFeeds/FeedCard.tsx:173
-#: src/screens/Onboarding/StepAlgoFeeds/FeedCard.tsx:308
-msgid "Subscribe to the {0} feed"
+#: src/screens/Profile/Sections/Labels.tsx:191
+msgid "Subscribe to @{0} to use these labels:"
msgstr ""
-#: src/view/screens/ProfileList.tsx:604
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:227
+msgid "Subscribe to Labeler"
+msgstr ""
+
+#: src/screens/Onboarding/StepAlgoFeeds/FeedCard.tsx:172
+#: src/screens/Onboarding/StepAlgoFeeds/FeedCard.tsx:307
+msgid "Subscribe to the {0} feed"
+msgstr "Langganan ke feed {0}"
+
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:191
+msgid "Subscribe to this labeler"
+msgstr ""
+
+#: src/view/screens/ProfileList.tsx:588
msgid "Subscribe to this list"
msgstr "Langganan ke daftar ini"
-#: src/view/screens/Search/Search.tsx:374
+#: src/view/screens/Search/Search.tsx:523
msgid "Suggested Follows"
msgstr "Saran untuk Diikuti"
-#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:64
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:65
msgid "Suggested for you"
msgstr "Disarankan untuk Anda"
@@ -4087,7 +5005,7 @@ msgstr "Disarankan untuk Anda"
msgid "Suggestive"
msgstr "Sugestif"
-#: src/Navigation.tsx:214
+#: src/Navigation.tsx:226
#: src/view/screens/Support.tsx:30
#: src/view/screens/Support.tsx:33
msgid "Support"
@@ -4097,29 +5015,28 @@ msgstr "Dukungan"
#~ msgid "Swipe up to see more"
#~ msgstr "Geser ke atas untuk melihat lebih banyak"
-#: src/view/com/modals/SwitchAccount.tsx:117
+#: src/components/dialogs/SwitchAccount.tsx:46
+#: src/components/dialogs/SwitchAccount.tsx:49
msgid "Switch Account"
msgstr "Pindah Akun"
-#: src/view/com/modals/SwitchAccount.tsx:97
-#: src/view/screens/Settings/index.tsx:130
+#: src/view/screens/Settings/index.tsx:150
msgid "Switch to {0}"
msgstr "Beralih ke {0}"
-#: src/view/com/modals/SwitchAccount.tsx:98
-#: src/view/screens/Settings/index.tsx:131
+#: src/view/screens/Settings/index.tsx:151
msgid "Switches the account you are logged in to"
msgstr "Mengganti akun yang Anda masuki"
-#: src/view/screens/Settings/index.tsx:472
+#: src/view/screens/Settings/index.tsx:442
msgid "System"
msgstr "Sistem"
-#: src/view/screens/Settings/index.tsx:795
+#: src/view/screens/Settings/index.tsx:783
msgid "System log"
msgstr "Log sistem"
-#: src/components/dialogs/MutedWords.tsx:337
+#: src/components/dialogs/MutedWords.tsx:323
msgid "tag"
msgstr ""
@@ -4131,7 +5048,7 @@ msgstr ""
#~ msgid "Tag menu: {tag}"
#~ msgstr ""
-#: src/view/com/modals/crop-image/CropImage.web.tsx:112
+#: src/view/com/modals/crop-image/CropImage.web.tsx:113
msgid "Tall"
msgstr "Tinggi"
@@ -4141,36 +5058,55 @@ msgstr "Ketuk untuk melihat sepenuhnya"
#: src/screens/Onboarding/index.tsx:39
msgid "Tech"
-msgstr ""
+msgstr "Teknologi"
#: src/view/shell/desktop/RightNav.tsx:81
msgid "Terms"
msgstr "Ketentuan"
-#: src/Navigation.tsx:224
-#: src/view/screens/Settings/index.tsx:885
+#: src/Navigation.tsx:236
+#: src/screens/Signup/StepInfo/Policies.tsx:49
+#: src/view/screens/Settings/index.tsx:881
#: src/view/screens/TermsOfService.tsx:29
-#: src/view/shell/Drawer.tsx:256
+#: src/view/shell/Drawer.tsx:265
msgid "Terms of Service"
msgstr "Ketentuan Layanan"
-#: src/components/dialogs/MutedWords.tsx:337
+#: src/lib/moderation/useReportOptions.ts:58
+#: src/lib/moderation/useReportOptions.ts:79
+#: src/lib/moderation/useReportOptions.ts:87
+msgid "Terms used violate community standards"
+msgstr ""
+
+#: src/components/dialogs/MutedWords.tsx:323
msgid "text"
msgstr ""
-#: src/view/com/modals/AppealLabel.tsx:70
-#: src/view/com/modals/report/InputIssueDetails.tsx:51
+#: src/components/moderation/LabelsOnMeDialog.tsx:219
msgid "Text input field"
msgstr "Area input teks"
-#: src/view/com/auth/create/CreateAccount.tsx:94
+#: src/components/ReportDialog/SubmitView.tsx:76
+msgid "Thank you. Your report has been sent."
+msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:465
+msgid "That contains the following:"
+msgstr ""
+
+#: src/screens/Signup/index.tsx:85
msgid "That handle is already taken."
msgstr ""
-#: src/view/com/profile/ProfileHeader.tsx:263
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:282
+#: src/view/com/profile/ProfileMenu.tsx:349
msgid "The account will be able to interact with you after unblocking."
msgstr "Akun ini akan dapat berinteraksi dengan Anda setelah blokir dibuka."
+#: src/components/moderation/ModerationDetailsDialog.tsx:127
+msgid "the author"
+msgstr ""
+
#: src/view/screens/CommunityGuidelines.tsx:36
msgid "The Community Guidelines have been moved to <0/>"
msgstr "Panduan Komunitas telah dipindahkan ke <0/>"
@@ -4179,11 +5115,20 @@ msgstr "Panduan Komunitas telah dipindahkan ke <0/>"
msgid "The Copyright Policy has been moved to <0/>"
msgstr "Kebijakan Hak Cipta telah dipindahkan ke <0/>"
-#: src/screens/Onboarding/Layout.tsx:60
-msgid "The following steps will help customize your Bluesky experience."
+#: src/components/moderation/LabelsOnMeDialog.tsx:48
+msgid "The following labels were applied to your account."
msgstr ""
-#: src/view/com/post-thread/PostThread.tsx:517
+#: src/components/moderation/LabelsOnMeDialog.tsx:49
+msgid "The following labels were applied to your content."
+msgstr ""
+
+#: src/screens/Onboarding/Layout.tsx:58
+msgid "The following steps will help customize your Bluesky experience."
+msgstr "Langkah berikut akan membantu menyesuaikan pengalaman Bluesky Anda."
+
+#: src/view/com/post-thread/PostThread.tsx:153
+#: src/view/com/post-thread/PostThread.tsx:165
msgid "The post may have been deleted."
msgstr "Postingan mungkin telah dihapus."
@@ -4202,35 +5147,35 @@ msgstr "Formulir dukungan telah dipindahkan. Jika Anda memerlukan bantuan, silak
msgid "The Terms of Service have been moved to"
msgstr "Ketentuan Layanan telah dipindahkan ke"
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:150
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:141
msgid "There are many feeds to try:"
-msgstr ""
+msgstr "Ada banyak feed untuk dicoba:"
-#: src/view/screens/ProfileFeed.tsx:550
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:114
+#: src/view/screens/ProfileFeed.tsx:556
msgid "There was an an issue contacting the server, please check your internet connection and try again."
msgstr "Ada masalah saat menghubungi server, silakan periksa koneksi internet Anda dan coba lagi."
-#: src/view/com/posts/FeedErrorMessage.tsx:139
+#: src/view/com/posts/FeedErrorMessage.tsx:138
msgid "There was an an issue removing this feed. Please check your internet connection and try again."
msgstr "Ada masalah saat menghapus feed ini. Periksa koneksi internet Anda dan coba lagi."
-#: src/view/screens/ProfileFeed.tsx:210
+#: src/view/screens/ProfileFeed.tsx:219
msgid "There was an an issue updating your feeds, please check your internet connection and try again."
msgstr "Ada masalah saat memperbarui feed Anda, periksa koneksi internet Anda dan coba lagi."
-#: src/view/screens/ProfileFeed.tsx:237
-#: src/view/screens/ProfileList.tsx:267
-#: src/view/screens/SavedFeeds.tsx:209
-#: src/view/screens/SavedFeeds.tsx:231
-#: src/view/screens/SavedFeeds.tsx:252
+#: src/view/screens/ProfileFeed.tsx:247
+#: src/view/screens/ProfileList.tsx:277
+#: src/view/screens/SavedFeeds.tsx:211
+#: src/view/screens/SavedFeeds.tsx:241
+#: src/view/screens/SavedFeeds.tsx:262
msgid "There was an issue contacting the server"
msgstr "Ada masalah saat menghubungi server"
#: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:57
#: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:66
-#: src/view/com/feeds/FeedSourceCard.tsx:115
-#: src/view/com/feeds/FeedSourceCard.tsx:129
-#: src/view/com/feeds/FeedSourceCard.tsx:183
+#: src/view/com/feeds/FeedSourceCard.tsx:110
+#: src/view/com/feeds/FeedSourceCard.tsx:123
msgid "There was an issue contacting your server"
msgstr "Ada masalah saat menghubungi server Anda"
@@ -4238,7 +5183,7 @@ msgstr "Ada masalah saat menghubungi server Anda"
msgid "There was an issue fetching notifications. Tap here to try again."
msgstr "Ada masalah saat mengambil notifikasi. Ketuk di sini untuk mencoba lagi."
-#: src/view/com/posts/Feed.tsx:265
+#: src/view/com/posts/Feed.tsx:287
msgid "There was an issue fetching posts. Tap here to try again."
msgstr "Ada masalah saat mengambil postingan. Ketuk di sini untuk mencoba lagi."
@@ -4246,74 +5191,93 @@ msgstr "Ada masalah saat mengambil postingan. Ketuk di sini untuk mencoba lagi."
msgid "There was an issue fetching the list. Tap here to try again."
msgstr "Ada masalah saat mengambil daftar. Ketuk di sini untuk mencoba lagi."
-#: src/view/com/feeds/ProfileFeedgens.tsx:148
-#: src/view/com/lists/ProfileLists.tsx:155
+#: src/view/com/feeds/ProfileFeedgens.tsx:156
+#: src/view/com/lists/ProfileLists.tsx:163
msgid "There was an issue fetching your lists. Tap here to try again."
msgstr "Ada masalah saat mengambil daftar Anda. Ketuk di sini untuk mencoba lagi."
-#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:63
-#: src/view/com/modals/ContentFilteringSettings.tsx:126
+#: src/components/ReportDialog/SubmitView.tsx:81
+msgid "There was an issue sending your report. Please check your internet connection."
+msgstr ""
+
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:65
msgid "There was an issue syncing your preferences with the server"
msgstr "Ada masalah saat mensinkronkan preferensi Anda dengan server"
-#: src/view/screens/AppPasswords.tsx:66
+#: src/view/screens/AppPasswords.tsx:68
msgid "There was an issue with fetching your app passwords"
msgstr "Ada masalah dengan pengambilan kata sandi aplikasi Anda"
-#: src/view/com/post-thread/PostThreadFollowBtn.tsx:93
-#: src/view/com/post-thread/PostThreadFollowBtn.tsx:105
-#: src/view/com/profile/ProfileHeader.tsx:157
-#: src/view/com/profile/ProfileHeader.tsx:178
-#: src/view/com/profile/ProfileHeader.tsx:217
-#: src/view/com/profile/ProfileHeader.tsx:230
-#: src/view/com/profile/ProfileHeader.tsx:250
-#: src/view/com/profile/ProfileHeader.tsx:272
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:105
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:127
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:141
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:99
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:111
+#: src/view/com/profile/ProfileMenu.tsx:106
+#: src/view/com/profile/ProfileMenu.tsx:117
+#: src/view/com/profile/ProfileMenu.tsx:132
+#: src/view/com/profile/ProfileMenu.tsx:143
+#: src/view/com/profile/ProfileMenu.tsx:157
+#: src/view/com/profile/ProfileMenu.tsx:170
msgid "There was an issue! {0}"
msgstr "Ada masalah! {0}"
-#: src/view/screens/ProfileList.tsx:288
-#: src/view/screens/ProfileList.tsx:307
-#: src/view/screens/ProfileList.tsx:329
-#: src/view/screens/ProfileList.tsx:348
+#: src/view/screens/ProfileList.tsx:290
+#: src/view/screens/ProfileList.tsx:304
+#: src/view/screens/ProfileList.tsx:318
+#: src/view/screens/ProfileList.tsx:332
msgid "There was an issue. Please check your internet connection and try again."
msgstr "Ada masalah. Periksa koneksi internet Anda dan coba lagi."
-#: src/view/com/util/ErrorBoundary.tsx:36
+#: src/view/com/util/ErrorBoundary.tsx:51
msgid "There was an unexpected issue in the application. Please let us know if this happened to you!"
msgstr "Sepertinya ada masalah pada aplikasi. Harap beri tahu kami jika Anda mengalaminya!"
#: src/screens/Deactivated.tsx:106
msgid "There's been a rush of new users to Bluesky! We'll activate your account as soon as we can."
-msgstr ""
+msgstr "Sedang ada lonjakan pengguna baru di Bluesky! Kami akan mengaktifkan akun Anda secepat mungkin."
#: src/view/com/auth/create/Step2.tsx:55
#~ msgid "There's something wrong with this number. Please choose your country and enter your full phone number!"
-#~ msgstr ""
+#~ msgstr "Ada kesalahan pada nomor ini. Mohon pilih negara dan masukkan nomor telepon lengkap Anda!"
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:138
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:146
msgid "These are popular accounts you might like:"
-msgstr ""
+msgstr "Berikut adalah akun populer yang mungkin Anda sukai:"
#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:138
#~ msgid "These are popular accounts you might like."
-#~ msgstr ""
+#~ msgstr "Berikut adalah akun populer yang mungkin Anda sukai."
#~ msgid "This {0} has been labeled."
#~ msgstr "Ini {0} telah diberi label."
-#: src/view/com/util/moderation/ScreenHider.tsx:88
+#: src/components/moderation/ScreenHider.tsx:116
msgid "This {screenDescription} has been flagged:"
msgstr "Ini {screenDescription} telah ditandai:"
-#: src/view/com/util/moderation/ScreenHider.tsx:83
+#: src/components/moderation/ScreenHider.tsx:111
msgid "This account has requested that users sign in to view their profile."
msgstr "Akun ini mewajibkan pengguna untuk masuk agar bisa melihat profilnya."
-#: src/view/com/modals/EmbedConsent.tsx:68
+#: src/components/moderation/LabelsOnMeDialog.tsx:204
+msgid "This appeal will be sent to <0>{0}0>."
+msgstr ""
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:19
+msgid "This content has been hidden by the moderators."
+msgstr ""
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:24
+msgid "This content has received a general warning from moderators."
+msgstr ""
+
+#: src/components/dialogs/EmbedConsent.tsx:64
msgid "This content is hosted by {0}. Do you want to enable external media?"
msgstr "Konten ini disediakan oleh {0}. Apakah Anda ingin mengaktifkan media eksternal?"
-#: src/view/com/modals/ModerationDetails.tsx:67
+#: src/components/moderation/ModerationDetailsDialog.tsx:77
+#: src/lib/moderation/useModerationCauseDescription.ts:77
msgid "This content is not available because one of the users involved has blocked the other."
msgstr "Konten ini tidak tersedia karena salah satu pengguna yang terlibat telah memblokir pengguna lainnya."
@@ -4322,16 +5286,20 @@ msgid "This content is not viewable without a Bluesky account."
msgstr "Konten ini tidak dapat dilihat tanpa akun Bluesky."
#: src/view/screens/Settings/ExportCarDialog.tsx:75
-msgid "This feature is in beta. You can read more about repository exports in <0>this blogpost.0>"
+#~ msgid "This feature is in beta. You can read more about repository exports in <0>this blogpost.0>"
+#~ msgstr ""
+
+#: src/view/screens/Settings/ExportCarDialog.tsx:75
+msgid "This feature is in beta. You can read more about repository exports in <0>this blogpost0>."
msgstr ""
#: src/view/com/posts/FeedErrorMessage.tsx:114
msgid "This feed is currently receiving high traffic and is temporarily unavailable. Please try again later."
msgstr "Feed ini sedang menerima terlalu banyak trafik dan sementara tidak tersedia. Silakan coba lagi nanti."
-#: src/view/screens/Profile.tsx:420
-#: src/view/screens/ProfileFeed.tsx:476
-#: src/view/screens/ProfileList.tsx:661
+#: src/screens/Profile/Sections/Feed.tsx:59
+#: src/view/screens/ProfileFeed.tsx:488
+#: src/view/screens/ProfileList.tsx:677
msgid "This feed is empty!"
msgstr "Feed ini kosong!"
@@ -4339,7 +5307,7 @@ msgstr "Feed ini kosong!"
msgid "This feed is empty! You may need to follow more users or tune your language settings."
msgstr "Feed ini kosong! Anda mungkin perlu mengikuti lebih banyak pengguna atau menyesuaikan pengaturan bahasa Anda."
-#: src/view/com/modals/BirthDateSettings.tsx:61
+#: src/components/dialogs/BirthDateSettings.tsx:41
msgid "This information is not shared with other users."
msgstr "Informasi ini tidak akan dibagikan ke pengguna lainnya."
@@ -4351,15 +5319,27 @@ msgstr "Ini penting jika Anda butuh untuk mengganti email atau reset kata sandi
#~ msgid "This is the service that keeps you online."
#~ msgstr "Ini adalah layanan yang menjaga Anda tetap online."
-#: src/view/com/modals/LinkWarning.tsx:58
+#: src/components/moderation/ModerationDetailsDialog.tsx:124
+msgid "This label was applied by {0}."
+msgstr ""
+
+#: src/screens/Profile/Sections/Labels.tsx:178
+msgid "This labeler hasn't declared what labels it publishes, and may not be active."
+msgstr ""
+
+#: src/view/com/modals/LinkWarning.tsx:72
msgid "This link is taking you to the following website:"
msgstr "Tautan ini akan membawa Anda ke website:"
-#: src/view/screens/ProfileList.tsx:839
+#: src/view/screens/ProfileList.tsx:855
msgid "This list is empty!"
msgstr "Daftar ini kosong!"
-#: src/view/com/modals/AddAppPasswords.tsx:106
+#: src/screens/Profile/ErrorState.tsx:40
+msgid "This moderation service is unavailable. See below for more details. If this issue persists, contact us."
+msgstr ""
+
+#: src/view/com/modals/AddAppPasswords.tsx:107
msgid "This name is already in use"
msgstr "Nama ini sudah digunakan"
@@ -4367,36 +5347,82 @@ msgstr "Nama ini sudah digunakan"
msgid "This post has been deleted."
msgstr "Postingan ini telah dihapus."
-#: src/view/com/modals/ModerationDetails.tsx:62
+#: src/view/com/util/forms/PostDropdownBtn.tsx:366
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:250
+msgid "This post is only visible to logged-in users. It won't be visible to people who aren't logged in."
+msgstr ""
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:348
+msgid "This post will be hidden from feeds."
+msgstr ""
+
+#: src/view/com/profile/ProfileMenu.tsx:370
+msgid "This profile is only visible to logged-in users. It won't be visible to people who aren't logged in."
+msgstr ""
+
+#: src/screens/Signup/StepInfo/Policies.tsx:37
+msgid "This service has not provided terms of service or a privacy policy."
+msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:445
+msgid "This should create a domain record at:"
+msgstr ""
+
+#: src/view/com/profile/ProfileFollowers.tsx:87
+msgid "This user doesn't have any followers."
+msgstr ""
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:72
+#: src/lib/moderation/useModerationCauseDescription.ts:68
msgid "This user has blocked you. You cannot view their content."
msgstr "Pengguna ini telah memblokir Anda. Anda tidak dapat melihat konten mereka."
+#: src/lib/moderation/useGlobalLabelStrings.ts:30
+msgid "This user has requested that their content only be shown to signed-in users."
+msgstr ""
+
#: src/view/com/modals/ModerationDetails.tsx:42
-msgid "This user is included in the <0/> list which you have blocked."
-msgstr "Pengguna ini termasuk dalam daftar <0/> yang telah Anda blokir."
+#~ msgid "This user is included in the <0/> list which you have blocked."
+#~ msgstr "Pengguna ini termasuk dalam daftar <0/> yang telah Anda blokir."
#: src/view/com/modals/ModerationDetails.tsx:74
-msgid "This user is included in the <0/> list which you have muted."
-msgstr ""
+#~ msgid "This user is included in the <0/> list which you have muted."
+#~ msgstr "Pengguna ini termasuk dalam daftar <0/> yang telah Anda bisukan."
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:55
+msgid "This user is included in the <0>{0}0> list which you have blocked."
+msgstr "Pengguna ini termasuk dalam daftar <0>{0}0> yang telah Anda blokir"
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:84
+msgid "This user is included in the <0>{0}0> list which you have muted."
+msgstr "Pengguna ini termasuk dalam daftar <0>{0}0> yang telah Anda bisukan"
#: src/view/com/modals/ModerationDetails.tsx:74
#~ msgid "This user is included the <0/> list which you have muted."
#~ msgstr "Pengguna ini termasuk dalam daftar <0/> yang telah Anda bisukan."
+#: src/view/com/profile/ProfileFollows.tsx:87
+msgid "This user isn't following anyone."
+msgstr ""
+
#: src/view/com/modals/SelfLabel.tsx:137
msgid "This warning is only available for posts with media attached."
msgstr "Peringatan ini hanya tersedia untuk postingan dengan lampiran media."
-#: src/components/dialogs/MutedWords.tsx:285
+#: src/components/dialogs/MutedWords.tsx:283
msgid "This will delete {0} from your muted words. You can always add it back later."
msgstr ""
#: src/view/com/util/forms/PostDropdownBtn.tsx:282
-msgid "This will hide this post from your feeds."
-msgstr "Ini akan menyembunyikan postingan ini dari feed Anda."
+#~ msgid "This will hide this post from your feeds."
+#~ msgstr "Ini akan menyembunyikan postingan ini dari feed Anda."
+
+#: src/view/screens/Settings/index.tsx:525
+msgid "Thread preferences"
+msgstr ""
#: src/view/screens/PreferencesThreads.tsx:53
-#: src/view/screens/Settings/index.tsx:565
+#: src/view/screens/Settings/index.tsx:535
msgid "Thread Preferences"
msgstr "Preferensi Utasan"
@@ -4404,11 +5430,15 @@ msgstr "Preferensi Utasan"
msgid "Threaded Mode"
msgstr "Mode Utasan"
-#: src/Navigation.tsx:257
+#: src/Navigation.tsx:269
msgid "Threads Preferences"
msgstr "Preferensi Utas"
-#: src/components/dialogs/MutedWords.tsx:113
+#: src/components/ReportDialog/SelectLabelerView.tsx:33
+msgid "To whom would you like to send this report?"
+msgstr ""
+
+#: src/components/dialogs/MutedWords.tsx:112
msgid "Toggle between muted word options."
msgstr ""
@@ -4416,14 +5446,22 @@ msgstr ""
msgid "Toggle dropdown"
msgstr "Beralih dropdown"
-#: src/view/com/modals/EditImage.tsx:271
+#: src/screens/Moderation/index.tsx:332
+msgid "Toggle to enable or disable adult content"
+msgstr ""
+
+#: src/view/screens/Search/Search.tsx:427
+msgid "Top"
+msgstr ""
+
+#: src/view/com/modals/EditImage.tsx:272
msgid "Transformations"
msgstr "Transformasi"
-#: src/view/com/post-thread/PostThreadItem.tsx:685
-#: src/view/com/post-thread/PostThreadItem.tsx:687
-#: src/view/com/util/forms/PostDropdownBtn.tsx:215
-#: src/view/com/util/forms/PostDropdownBtn.tsx:217
+#: src/view/com/post-thread/PostThreadItem.tsx:638
+#: src/view/com/post-thread/PostThreadItem.tsx:640
+#: src/view/com/util/forms/PostDropdownBtn.tsx:220
+#: src/view/com/util/forms/PostDropdownBtn.tsx:222
msgid "Translate"
msgstr "Terjemahkan"
@@ -4435,63 +5473,89 @@ msgstr "Coba lagi"
#~ msgid "Try again"
#~ msgstr "Ulangi"
-#: src/view/screens/ProfileList.tsx:506
+#: src/view/com/modals/ChangeHandle.tsx:428
+msgid "Type:"
+msgstr ""
+
+#: src/view/screens/ProfileList.tsx:480
msgid "Un-block list"
msgstr "Buka blokir daftar"
-#: src/view/screens/ProfileList.tsx:491
+#: src/view/screens/ProfileList.tsx:463
msgid "Un-mute list"
msgstr "Bunyikan daftar"
-#: src/view/com/auth/create/CreateAccount.tsx:58
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:87
-#: src/view/com/auth/login/Login.tsx:76
-#: src/view/com/auth/login/LoginForm.tsx:118
+#: src/screens/Login/ForgotPasswordForm.tsx:74
+#: src/screens/Login/index.tsx:78
+#: src/screens/Login/LoginForm.tsx:119
+#: src/screens/Login/SetNewPasswordForm.tsx:77
+#: src/screens/Signup/index.tsx:64
#: src/view/com/modals/ChangePassword.tsx:70
msgid "Unable to contact your service. Please check your Internet connection."
msgstr "Tidak dapat terhubung ke layanan. Mohon periksa koneksi internet Anda."
-#: src/view/com/profile/ProfileHeader.tsx:433
-#: src/view/screens/ProfileList.tsx:590
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:181
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:286
+#: src/view/com/profile/ProfileMenu.tsx:361
+#: src/view/screens/ProfileList.tsx:574
msgid "Unblock"
msgstr "Buka blokir"
-#: src/view/com/profile/ProfileHeader.tsx:436
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:186
msgctxt "action"
msgid "Unblock"
msgstr "Buka blokir"
-#: src/view/com/profile/ProfileHeader.tsx:261
-#: src/view/com/profile/ProfileHeader.tsx:345
+#: src/view/com/profile/ProfileMenu.tsx:299
+#: src/view/com/profile/ProfileMenu.tsx:305
msgid "Unblock Account"
msgstr "Buka blokir Akun"
-#: src/view/com/modals/Repost.tsx:42
-#: src/view/com/modals/Repost.tsx:55
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:280
+#: src/view/com/profile/ProfileMenu.tsx:343
+msgid "Unblock Account?"
+msgstr ""
+
+#: src/view/com/modals/Repost.tsx:43
+#: src/view/com/modals/Repost.tsx:56
#: src/view/com/util/post-ctrls/RepostButton.tsx:60
#: src/view/com/util/post-ctrls/RepostButton.web.tsx:48
msgid "Undo repost"
msgstr "Batalkan posting ulang"
-#: src/view/com/profile/FollowButton.tsx:55
+#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:141
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:248
+msgid "Unfollow"
+msgstr ""
+
+#: src/view/com/profile/FollowButton.tsx:60
msgctxt "action"
msgid "Unfollow"
msgstr "Berhenti mengikuti"
-#: src/view/com/profile/ProfileHeader.tsx:485
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:220
msgid "Unfollow {0}"
msgstr "Berhenti mengikuti {0}"
-#: src/view/com/auth/create/state.ts:262
-msgid "Unfortunately, you do not meet the requirements to create an account."
-msgstr "Sayangnya, Anda tidak memenuhi syarat untuk membuat akun."
+#: src/view/com/profile/ProfileMenu.tsx:241
+#: src/view/com/profile/ProfileMenu.tsx:251
+msgid "Unfollow Account"
+msgstr ""
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:182
+#: src/view/com/auth/create/state.ts:262
+#~ msgid "Unfortunately, you do not meet the requirements to create an account."
+#~ msgstr "Sayangnya, Anda tidak memenuhi syarat untuk membuat akun."
+
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:197
msgid "Unlike"
msgstr "Tidak suka"
+#: src/view/screens/ProfileFeed.tsx:585
+msgid "Unlike this feed"
+msgstr ""
+
#: src/components/TagMenu/index.tsx:249
-#: src/view/screens/ProfileList.tsx:597
+#: src/view/screens/ProfileList.tsx:581
msgid "Unmute"
msgstr "Bunyikan"
@@ -4499,7 +5563,8 @@ msgstr "Bunyikan"
msgid "Unmute {truncatedTag}"
msgstr ""
-#: src/view/com/profile/ProfileHeader.tsx:326
+#: src/view/com/profile/ProfileMenu.tsx:278
+#: src/view/com/profile/ProfileMenu.tsx:284
msgid "Unmute Account"
msgstr "Bunyikan Akun"
@@ -4511,45 +5576,92 @@ msgstr ""
#~ msgid "Unmute all {tag} posts"
#~ msgstr ""
-#: src/view/com/util/forms/PostDropdownBtn.tsx:251
-#: src/view/com/util/forms/PostDropdownBtn.tsx:256
+#: src/view/com/util/forms/PostDropdownBtn.tsx:269
+#: src/view/com/util/forms/PostDropdownBtn.tsx:274
msgid "Unmute thread"
msgstr "Bunyikan utasan"
-#: src/view/screens/ProfileFeed.tsx:354
-#: src/view/screens/ProfileList.tsx:581
+#: src/view/screens/ProfileFeed.tsx:306
+#: src/view/screens/ProfileList.tsx:565
msgid "Unpin"
msgstr "Lepas sematan"
-#: src/view/screens/ProfileList.tsx:474
+#: src/view/screens/ProfileFeed.tsx:303
+msgid "Unpin from home"
+msgstr ""
+
+#: src/view/screens/ProfileList.tsx:446
msgid "Unpin moderation list"
msgstr "Lepas sematan daftar moderasi"
#: src/view/screens/ProfileFeed.tsx:346
-msgid "Unsave"
-msgstr "Batal simpan"
+#~ msgid "Unsave"
+#~ msgstr "Batal simpan"
+
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:225
+msgid "Unsubscribe"
+msgstr ""
+
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:190
+msgid "Unsubscribe from this labeler"
+msgstr ""
+
+#: src/lib/moderation/useReportOptions.ts:70
+msgid "Unwanted Sexual Content"
+msgstr ""
#: src/view/com/modals/UserAddRemoveLists.tsx:70
msgid "Update {displayName} in Lists"
msgstr "Memperbarui {displayName} di Daftar"
#: src/lib/hooks/useOTAUpdate.ts:15
-msgid "Update Available"
-msgstr "Pembaruan Tersedia"
+#~ msgid "Update Available"
+#~ msgstr "Pembaruan Tersedia"
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:204
+#: src/view/com/modals/ChangeHandle.tsx:508
+msgid "Update to {handle}"
+msgstr ""
+
+#: src/screens/Login/SetNewPasswordForm.tsx:186
msgid "Updating..."
msgstr "Memperbarui..."
-#: src/view/com/modals/ChangeHandle.tsx:455
+#: src/view/com/modals/ChangeHandle.tsx:454
msgid "Upload a text file to:"
msgstr "Unggah berkas teks ke:"
-#: src/view/screens/AppPasswords.tsx:195
+#: src/view/com/util/UserAvatar.tsx:328
+#: src/view/com/util/UserAvatar.tsx:331
+#: src/view/com/util/UserBanner.tsx:116
+#: src/view/com/util/UserBanner.tsx:119
+msgid "Upload from Camera"
+msgstr ""
+
+#: src/view/com/util/UserAvatar.tsx:345
+#: src/view/com/util/UserBanner.tsx:133
+msgid "Upload from Files"
+msgstr ""
+
+#: src/view/com/util/UserAvatar.tsx:339
+#: src/view/com/util/UserAvatar.tsx:343
+#: src/view/com/util/UserBanner.tsx:127
+#: src/view/com/util/UserBanner.tsx:131
+msgid "Upload from Library"
+msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:408
+msgid "Use a file on your server"
+msgstr ""
+
+#: src/view/screens/AppPasswords.tsx:197
msgid "Use app passwords to login to other Bluesky clients without giving full access to your account or password."
msgstr "Gunakan kata sandi aplikasi untuk masuk ke klien Bluesky lainnya tanpa memberikan akses penuh ke akun atau kata sandi Anda."
-#: src/view/com/modals/ChangeHandle.tsx:515
+#: src/view/com/modals/ChangeHandle.tsx:517
+msgid "Use bsky.social as hosting provider"
+msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:516
msgid "Use default provider"
msgstr "Gunakan layanan bawaan"
@@ -4563,7 +5675,11 @@ msgstr "Gunakan peramban dalam aplikasi"
msgid "Use my default browser"
msgstr "Gunakan peramban bawaan saya"
-#: src/view/com/modals/AddAppPasswords.tsx:155
+#: src/view/com/modals/ChangeHandle.tsx:400
+msgid "Use the DNS panel"
+msgstr ""
+
+#: src/view/com/modals/AddAppPasswords.tsx:156
msgid "Use this to sign into the other app along with your handle."
msgstr "Gunakan ini untuk masuk ke aplikasi lain dengan handle Anda."
@@ -4571,46 +5687,55 @@ msgstr "Gunakan ini untuk masuk ke aplikasi lain dengan handle Anda."
#~ msgid "Use your domain as your Bluesky client service provider"
#~ msgstr "Gunakan domain Anda sebagai penyedia layanan klien Bluesky Anda"
-#: src/view/com/modals/InviteCodes.tsx:200
+#: src/view/com/modals/InviteCodes.tsx:201
msgid "Used by:"
msgstr "Digunakan oleh:"
-#: src/view/com/modals/ModerationDetails.tsx:54
+#: src/components/moderation/ModerationDetailsDialog.tsx:64
+#: src/lib/moderation/useModerationCauseDescription.ts:56
msgid "User Blocked"
msgstr "Pengguna Diblokir"
-#: src/view/com/modals/ModerationDetails.tsx:40
+#: src/lib/moderation/useModerationCauseDescription.ts:48
+msgid "User Blocked by \"{0}\""
+msgstr ""
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:53
msgid "User Blocked by List"
msgstr "Pengguna Diblokir oleh Daftar"
-#: src/view/com/modals/ModerationDetails.tsx:60
+#: src/lib/moderation/useModerationCauseDescription.ts:66
+msgid "User Blocking You"
+msgstr ""
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:70
msgid "User Blocks You"
msgstr "Pengguna Memblokir Anda"
#: src/view/com/auth/create/Step2.tsx:79
-msgid "User handle"
-msgstr "Handle pengguna"
+#~ msgid "User handle"
+#~ msgstr "Handle pengguna"
#: src/view/com/lists/ListCard.tsx:85
#: src/view/com/modals/UserAddRemoveLists.tsx:198
msgid "User list by {0}"
msgstr "Daftar pengguna oleh {0}"
-#: src/view/screens/ProfileList.tsx:763
+#: src/view/screens/ProfileList.tsx:779
msgid "User list by <0/>"
msgstr "Daftar pengguna oleh<0/>"
#: src/view/com/lists/ListCard.tsx:83
#: src/view/com/modals/UserAddRemoveLists.tsx:196
-#: src/view/screens/ProfileList.tsx:761
+#: src/view/screens/ProfileList.tsx:777
msgid "User list by you"
msgstr "Daftar pengguna oleh Anda"
-#: src/view/com/modals/CreateOrEditList.tsx:196
+#: src/view/com/modals/CreateOrEditList.tsx:197
msgid "User list created"
msgstr "Daftar pengguna dibuat"
-#: src/view/com/modals/CreateOrEditList.tsx:182
+#: src/view/com/modals/CreateOrEditList.tsx:183
msgid "User list updated"
msgstr "Daftar pengguna diperbarui"
@@ -4618,12 +5743,13 @@ msgstr "Daftar pengguna diperbarui"
msgid "User Lists"
msgstr "Daftar Pengguna"
-#: src/view/com/auth/login/LoginForm.tsx:177
-#: src/view/com/auth/login/LoginForm.tsx:195
+#: src/screens/Login/LoginForm.tsx:151
msgid "Username or email address"
msgstr "Nama pengguna atau alamat email"
-#: src/view/screens/ProfileList.tsx:797
+#: src/view/screens/ProfileList.tsx:813
+#: src/view/screens/Search/Search.tsx:473
+#: src/view/screens/Search/Search.tsx:482
msgid "Users"
msgstr "Pengguna"
@@ -4635,19 +5761,31 @@ msgstr "pengguna yang diikuti <0/>"
msgid "Users in \"{0}\""
msgstr "Pengguna di \"{0}\""
+#: src/components/LikesDialog.tsx:85
+msgid "Users that have liked this content or profile"
+msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:436
+msgid "Value:"
+msgstr ""
+
#: src/view/com/auth/create/Step2.tsx:243
#~ msgid "Verification code"
-#~ msgstr ""
+#~ msgstr "Kode verifikasi"
-#: src/view/screens/Settings/index.tsx:910
+#: src/view/com/modals/ChangeHandle.tsx:509
+msgid "Verify {0}"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:906
msgid "Verify email"
msgstr "Verifikasi email"
-#: src/view/screens/Settings/index.tsx:935
+#: src/view/screens/Settings/index.tsx:931
msgid "Verify my email"
msgstr "Verifikasi email saya"
-#: src/view/screens/Settings/index.tsx:944
+#: src/view/screens/Settings/index.tsx:940
msgid "Verify My Email"
msgstr "Verifikasi Email Saya"
@@ -4660,11 +5798,15 @@ msgstr "Verifikasi Email Baru"
msgid "Verify Your Email"
msgstr "Verifikasi Email Anda"
-#: src/screens/Onboarding/index.tsx:42
-msgid "Video Games"
+#: src/view/screens/Settings/index.tsx:857
+msgid "Version {0}"
msgstr ""
-#: src/view/com/profile/ProfileHeader.tsx:662
+#: src/screens/Onboarding/index.tsx:42
+msgid "Video Games"
+msgstr "Permainan Video"
+
+#: src/screens/Profile/Header/Shell.tsx:107
msgid "View {0}'s avatar"
msgstr "Lihat avatar {0}"
@@ -4672,11 +5814,25 @@ msgstr "Lihat avatar {0}"
msgid "View debug entry"
msgstr "Lihat entri debug"
-#: src/view/com/posts/FeedSlice.tsx:103
+#: src/components/ReportDialog/SelectReportOptionView.tsx:132
+msgid "View details"
+msgstr ""
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:127
+msgid "View details for reporting a copyright violation"
+msgstr ""
+
+#: src/view/com/posts/FeedSlice.tsx:99
msgid "View full thread"
msgstr "Lihat utas lengkap"
-#: src/view/com/posts/FeedErrorMessage.tsx:172
+#: src/components/moderation/LabelsOnMe.tsx:51
+msgid "View information about these labels"
+msgstr ""
+
+#: src/components/ProfileHoverCard/index.web.tsx:264
+#: src/components/ProfileHoverCard/index.web.tsx:293
+#: src/view/com/posts/FeedErrorMessage.tsx:166
msgid "View profile"
msgstr "Lihat profil"
@@ -4684,30 +5840,49 @@ msgstr "Lihat profil"
msgid "View the avatar"
msgstr "Lihat avatar"
-#: src/view/com/modals/LinkWarning.tsx:75
+#: src/components/LabelingServiceCard/index.tsx:140
+msgid "View the labeling service provided by @{0}"
+msgstr ""
+
+#: src/view/screens/ProfileFeed.tsx:597
+msgid "View users who like this feed"
+msgstr ""
+
+#: src/view/com/modals/LinkWarning.tsx:89
+#: src/view/com/modals/LinkWarning.tsx:95
msgid "Visit Site"
msgstr "Kunjungi Halaman"
-#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:42
-#: src/view/com/modals/ContentFilteringSettings.tsx:259
+#: src/components/moderation/LabelPreference.tsx:135
+#: src/lib/moderation/useLabelBehaviorDescription.ts:17
+#: src/lib/moderation/useLabelBehaviorDescription.ts:22
+#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:53
msgid "Warn"
msgstr "Peringatkan"
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:134
-msgid "We also think you'll like \"For You\" by Skygaze:"
+#: src/lib/moderation/useLabelBehaviorDescription.ts:48
+msgid "Warn content"
msgstr ""
-#: src/screens/Hashtag.tsx:132
+#: src/lib/moderation/useLabelBehaviorDescription.ts:46
+msgid "Warn content and filter from feeds"
+msgstr ""
+
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:134
+#~ msgid "We also think you'll like \"For You\" by Skygaze:"
+#~ msgstr "Sepertinya Anda juga akan menyukai \"For You\" oleh Skygaze:"
+
+#: src/screens/Hashtag.tsx:133
msgid "We couldn't find any results for that hashtag."
msgstr ""
#: src/screens/Deactivated.tsx:133
msgid "We estimate {estimatedTime} until your account is ready."
-msgstr ""
+msgstr "Kami perkirakan {estimatedTime} hingga akun Anda siap."
-#: src/screens/Onboarding/StepFinished.tsx:93
+#: src/screens/Onboarding/StepFinished.tsx:97
msgid "We hope you have a wonderful time. Remember, Bluesky is:"
-msgstr ""
+msgstr "Semoga Anda senang dan betah di sini. Ingat, Bluesky adalah:"
#: src/view/com/posts/DiscoverFallbackHeader.tsx:29
#~ msgid "We ran out of posts from your follows. Here's the latest from"
@@ -4715,74 +5890,87 @@ msgstr ""
#: src/view/com/posts/DiscoverFallbackHeader.tsx:29
msgid "We ran out of posts from your follows. Here's the latest from <0/>."
-msgstr ""
+msgstr "Kami kehabisan postingan dari akun yang Anda ikuti. Inilah yang terbaru dari <0/>."
#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:118
#~ msgid "We recommend \"For You\" by Skygaze:"
-#~ msgstr ""
+#~ msgstr "Kami merekomendasikan \"For You\" oleh Skygaze:"
-#: src/components/dialogs/MutedWords.tsx:204
+#: src/components/dialogs/MutedWords.tsx:203
msgid "We recommend avoiding common words that appear in many posts, since it can result in no posts being shown."
msgstr ""
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:124
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:125
msgid "We recommend our \"Discover\" feed:"
+msgstr "Kami merekomendasikan feed \"Discover\" kami:"
+
+#: src/components/dialogs/BirthDateSettings.tsx:52
+msgid "We were unable to load your birth date preferences. Please try again."
msgstr ""
-#: src/screens/Onboarding/StepInterests/index.tsx:133
-msgid "We weren't able to connect. Please try again to continue setting up your account. If it continues to fail, you can skip this flow."
+#: src/screens/Moderation/index.tsx:385
+msgid "We were unable to load your configured labelers at this time."
msgstr ""
+#: src/screens/Onboarding/StepInterests/index.tsx:137
+msgid "We weren't able to connect. Please try again to continue setting up your account. If it continues to fail, you can skip this flow."
+msgstr "Sepertinya ada masalah koneksi. Mohon coba lagi untuk melanjutkan pengaturan akun Anda. Jika terus gagal, Anda dapat melewati langkah ini."
+
#: src/screens/Deactivated.tsx:137
msgid "We will let you know when your account is ready."
-msgstr ""
+msgstr "Kami akan memberi tahu Anda ketika akun Anda siap."
#: src/view/com/modals/AppealLabel.tsx:48
-msgid "We'll look into your appeal promptly."
-msgstr "Kami akan segera memeriksa permohonan banding Anda."
+#~ msgid "We'll look into your appeal promptly."
+#~ msgstr "Kami akan segera memeriksa permohonan banding Anda."
-#: src/screens/Onboarding/StepInterests/index.tsx:138
+#: src/screens/Onboarding/StepInterests/index.tsx:142
msgid "We'll use this to help customize your experience."
-msgstr ""
+msgstr "Kami akan menggunakan ini untuk menyesuaikan pengalaman Anda."
-#: src/view/com/auth/create/CreateAccount.tsx:134
+#: src/screens/Signup/index.tsx:131
msgid "We're so excited to have you join us!"
msgstr "Kami sangat senang Anda bergabung dengan kami!"
-#: src/view/screens/ProfileList.tsx:86
+#: src/view/screens/ProfileList.tsx:90
msgid "We're sorry, but we were unable to resolve this list. If this persists, please contact the list creator, @{handleOrDid}."
msgstr "Mohon maaf, kami tidak dapat menyelesaikan daftar ini. Jika hal ini terus berlanjut, silakan hubungi pembuat daftar, @{handleOrDid}."
-#: src/components/dialogs/MutedWords.tsx:230
+#: src/components/dialogs/MutedWords.tsx:229
msgid "We're sorry, but we weren't able to load your muted words at this time. Please try again."
msgstr ""
-#: src/view/screens/Search/Search.tsx:254
+#: src/view/screens/Search/Search.tsx:322
msgid "We're sorry, but your search could not be completed. Please try again in a few minutes."
msgstr "Maaf, pencarian Anda tidak dapat dilakukan. Mohon coba lagi dalam beberapa menit."
-#: src/components/Lists.tsx:211
+#: src/components/Lists.tsx:188
#: src/view/screens/NotFound.tsx:48
msgid "We're sorry! We can't find the page you were looking for."
msgstr "Maaf! Kami tidak dapat menemukan halaman yang Anda cari."
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:46
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:327
+msgid "We're sorry! You can only subscribe to ten labelers, and you've reached your limit of ten."
+msgstr ""
+
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:48
msgid "Welcome to <0>Bluesky0>"
msgstr "Selamat Datang di <0>Bluesky0>"
-#: src/screens/Onboarding/StepInterests/index.tsx:130
+#: src/screens/Onboarding/StepInterests/index.tsx:134
msgid "What are your interests?"
-msgstr ""
+msgstr "Apa saja minat Anda?"
#: src/view/com/modals/report/Modal.tsx:169
-msgid "What is the issue with this {collectionName}?"
-msgstr "Apa yang bermasalah dengan {collectionName}?"
+#~ msgid "What is the issue with this {collectionName}?"
+#~ msgstr "Apa yang bermasalah dengan {collectionName}?"
#~ msgid "What's next?"
#~ msgstr "Apa selanjutnya?"
-#: src/view/com/auth/SplashScreen.tsx:59
-#: src/view/com/composer/Composer.tsx:286
+#: src/view/com/auth/SplashScreen.tsx:40
+#: src/view/com/auth/SplashScreen.web.tsx:81
+#: src/view/com/composer/Composer.tsx:296
msgid "What's up?"
msgstr "Apa kabar?"
@@ -4799,26 +5987,46 @@ msgstr "Bahasa apa yang ingin Anda lihat di feed Anda?"
msgid "Who can reply"
msgstr "Siapa yang dapat membalas"
-#: src/view/com/modals/crop-image/CropImage.web.tsx:102
+#: src/components/ReportDialog/SelectReportOptionView.tsx:43
+msgid "Why should this content be reviewed?"
+msgstr ""
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:56
+msgid "Why should this feed be reviewed?"
+msgstr ""
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:53
+msgid "Why should this list be reviewed?"
+msgstr ""
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:50
+msgid "Why should this post be reviewed?"
+msgstr ""
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:47
+msgid "Why should this user be reviewed?"
+msgstr ""
+
+#: src/view/com/modals/crop-image/CropImage.web.tsx:103
msgid "Wide"
msgstr "Lebar"
-#: src/view/com/composer/Composer.tsx:422
+#: src/view/com/composer/Composer.tsx:436
msgid "Write post"
msgstr "Tulis postingan"
-#: src/view/com/composer/Composer.tsx:285
-#: src/view/com/composer/Prompt.tsx:33
+#: src/view/com/composer/Composer.tsx:295
+#: src/view/com/composer/Prompt.tsx:37
msgid "Write your reply"
msgstr "Tulis balasan Anda"
#: src/screens/Onboarding/index.tsx:28
msgid "Writers"
-msgstr ""
+msgstr "Penulis"
#: src/view/com/auth/create/Step2.tsx:263
#~ msgid "XXXXXX"
-#~ msgstr ""
+#~ msgstr "XXXXXX"
#: src/view/com/composer/select-language/SuggestedLanguage.tsx:77
#: src/view/screens/PreferencesFollowingFeed.tsx:129
@@ -4832,10 +6040,14 @@ msgstr "Ya"
#: src/screens/Onboarding/StepModeration/index.tsx:46
#~ msgid "You are in control"
-#~ msgstr ""
+#~ msgstr "Anda memiliki kendali"
#: src/screens/Deactivated.tsx:130
msgid "You are in line."
+msgstr "Anda sedang dalam antrian."
+
+#: src/view/com/profile/ProfileFollows.tsx:86
+msgid "You are not following anyone."
msgstr ""
#: src/view/com/posts/FollowingEmptyState.tsx:67
@@ -4845,124 +6057,172 @@ msgstr "Anda juga dapat menemukan Feed Khusus baru untuk diikuti."
#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:123
#~ msgid "You can also try our \"Discover\" algorithm:"
-#~ msgstr ""
+#~ msgstr "Anda juga dapat mencoba algoritma \"Discover\" kami:"
#: src/view/com/auth/create/Step1.tsx:106
#~ msgid "You can change hosting providers at any time."
#~ msgstr "Anda dapat mengganti layanan hosting kapan pun."
-#: src/screens/Onboarding/StepFollowingFeed.tsx:142
+#: src/screens/Onboarding/StepFollowingFeed.tsx:143
msgid "You can change these settings later."
-msgstr ""
+msgstr "Anda dapat mengubah pengaturan ini nanti."
-#: src/view/com/auth/login/Login.tsx:158
-#: src/view/com/auth/login/PasswordUpdatedForm.tsx:31
+#: src/screens/Login/index.tsx:158
+#: src/screens/Login/PasswordUpdatedForm.tsx:33
msgid "You can now sign in with your new password."
msgstr "Sekarang Anda dapat masuk dengan kata sandi baru."
-#: src/view/com/modals/InviteCodes.tsx:66
+#: src/view/com/profile/ProfileFollowers.tsx:86
+msgid "You do not have any followers."
+msgstr ""
+
+#: src/view/com/modals/InviteCodes.tsx:67
msgid "You don't have any invite codes yet! We'll send you some when you've been on Bluesky for a little longer."
msgstr "Anda belum memiliki kode undangan! Kami akan mengirimkan kode saat Anda sudah sedikit lama di Bluesky."
-#: src/view/screens/SavedFeeds.tsx:102
+#: src/view/screens/SavedFeeds.tsx:103
msgid "You don't have any pinned feeds."
msgstr "Anda tidak memiliki feed yang disematkan."
-#: src/view/screens/Feeds.tsx:452
+#: src/view/screens/Feeds.tsx:477
msgid "You don't have any saved feeds!"
msgstr "Anda tidak memiliki feed yang disimpan!"
-#: src/view/screens/SavedFeeds.tsx:135
+#: src/view/screens/SavedFeeds.tsx:136
msgid "You don't have any saved feeds."
msgstr "Anda tidak memiliki feed yang disimpan."
-#: src/view/com/post-thread/PostThread.tsx:465
+#: src/view/com/post-thread/PostThread.tsx:159
msgid "You have blocked the author or you have been blocked by the author."
msgstr "Anda telah memblokir atau diblokir oleh penulis ini."
-#: src/view/com/modals/ModerationDetails.tsx:56
+#: src/components/moderation/ModerationDetailsDialog.tsx:66
+#: src/lib/moderation/useModerationCauseDescription.ts:50
+#: src/lib/moderation/useModerationCauseDescription.ts:58
msgid "You have blocked this user. You cannot view their content."
msgstr "Anda telah memblokir pengguna ini. Anda tidak dapat melihat konten mereka."
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:57
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:92
+#: src/screens/Login/SetNewPasswordForm.tsx:54
+#: src/screens/Login/SetNewPasswordForm.tsx:91
#: src/view/com/modals/ChangePassword.tsx:87
#: src/view/com/modals/ChangePassword.tsx:121
msgid "You have entered an invalid code. It should look like XXXXX-XXXXX."
+msgstr "Anda telah memasukkan kode yang tidak valid. Seharusnya terlihat seperti XXXXX-XXXXX."
+
+#: src/lib/moderation/useModerationCauseDescription.ts:109
+msgid "You have hidden this post"
+msgstr ""
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:101
+msgid "You have hidden this post."
+msgstr ""
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:94
+#: src/lib/moderation/useModerationCauseDescription.ts:92
+msgid "You have muted this account."
+msgstr ""
+
+#: src/lib/moderation/useModerationCauseDescription.ts:86
+msgid "You have muted this user"
msgstr ""
#: src/view/com/modals/ModerationDetails.tsx:87
-msgid "You have muted this user."
-msgstr "Anda telah membisukan pengguna ini."
+#~ msgid "You have muted this user."
+#~ msgstr "Anda telah membisukan pengguna ini."
-#: src/view/com/feeds/ProfileFeedgens.tsx:136
+#: src/view/com/feeds/ProfileFeedgens.tsx:144
msgid "You have no feeds."
msgstr "Anda tidak punya feed."
#: src/view/com/lists/MyLists.tsx:89
-#: src/view/com/lists/ProfileLists.tsx:140
+#: src/view/com/lists/ProfileLists.tsx:148
msgid "You have no lists."
msgstr "Anda tidak punya daftar."
-#: src/view/screens/ModerationBlockedAccounts.tsx:132
-msgid "You have not blocked any accounts yet. To block an account, go to their profile and selected \"Block account\" from the menu on their account."
-msgstr "Anda belum memblokir akun lain. Untuk memblokir akun, kunjungi profil mereka dan pilih \"Blokir akun\" pada menu di akun mereka."
+#: src/view/screens/ModerationBlockedAccounts.tsx:138
+msgid "You have not blocked any accounts yet. To block an account, go to their profile and select \"Block account\" from the menu on their account."
+msgstr ""
-#: src/view/screens/AppPasswords.tsx:87
+#: src/view/screens/ModerationBlockedAccounts.tsx:132
+#~ msgid "You have not blocked any accounts yet. To block an account, go to their profile and selected \"Block account\" from the menu on their account."
+#~ msgstr "Anda belum memblokir akun lain. Untuk memblokir akun, kunjungi profil mereka dan pilih \"Blokir akun\" pada menu di akun mereka."
+
+#: src/view/screens/AppPasswords.tsx:89
msgid "You have not created any app passwords yet. You can create one by pressing the button below."
msgstr "Anda belum membuat kata sandi aplikasi. Anda dapat membuatnya dengan menekan tombol di bawah ini."
-#: src/view/screens/ModerationMutedAccounts.tsx:131
-msgid "You have not muted any accounts yet. To mute an account, go to their profile and selected \"Mute account\" from the menu on their account."
-msgstr "Anda belum membisukan akun lain. Untuk membisukan akun, kunjungi profil mereka dan pilih \"Bisukan akun\" pada menu di akun mereka."
+#: src/view/screens/ModerationMutedAccounts.tsx:136
+msgid "You have not muted any accounts yet. To mute an account, go to their profile and select \"Mute account\" from the menu on their account."
+msgstr ""
-#: src/components/dialogs/MutedWords.tsx:250
+#: src/view/screens/ModerationMutedAccounts.tsx:131
+#~ msgid "You have not muted any accounts yet. To mute an account, go to their profile and selected \"Mute account\" from the menu on their account."
+#~ msgstr "Anda belum membisukan akun lain. Untuk membisukan akun, kunjungi profil mereka dan pilih \"Bisukan akun\" pada menu di akun mereka."
+
+#: src/components/dialogs/MutedWords.tsx:249
msgid "You haven't muted any words or tags yet"
msgstr ""
-#: src/view/com/modals/ContentFilteringSettings.tsx:175
-msgid "You must be 18 or older to enable adult content."
-msgstr "Anda harus berusia 18 tahun atau lebih untuk mengaktifkan konten dewasa."
-
-#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:103
-msgid "You must be 18 years or older to enable adult content"
+#: src/components/moderation/LabelsOnMeDialog.tsx:68
+msgid "You may appeal these labels if you feel they were placed in error."
msgstr ""
-#: src/view/com/util/forms/PostDropdownBtn.tsx:147
+#: src/screens/Signup/StepInfo/Policies.tsx:79
+msgid "You must be 13 years of age or older to sign up."
+msgstr ""
+
+#: src/view/com/modals/ContentFilteringSettings.tsx:175
+#~ msgid "You must be 18 or older to enable adult content."
+#~ msgstr "Anda harus berusia 18 tahun atau lebih untuk mengaktifkan konten dewasa."
+
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:110
+msgid "You must be 18 years or older to enable adult content"
+msgstr "Anda harus berusia 18 tahun atau lebih untuk mengaktifkan konten dewasa"
+
+#: src/components/ReportDialog/SubmitView.tsx:203
+msgid "You must select at least one labeler for a report"
+msgstr ""
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:150
msgid "You will no longer receive notifications for this thread"
msgstr "Anda tidak akan lagi menerima notifikasi untuk utas ini"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:150
+#: src/view/com/util/forms/PostDropdownBtn.tsx:153
msgid "You will now receive notifications for this thread"
msgstr "Anda sekarang akan menerima notifikasi untuk utas ini"
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:107
+#: src/screens/Login/SetNewPasswordForm.tsx:104
msgid "You will receive an email with a \"reset code.\" Enter that code here, then enter your new password."
msgstr "Anda akan menerima email berisikan \"kode reset\". Masukkan kode tersebut di sini, lalu masukkan kata sandi baru."
-#: src/screens/Onboarding/StepModeration/index.tsx:72
+#: src/screens/Onboarding/StepModeration/index.tsx:60
msgid "You're in control"
-msgstr ""
+msgstr "Anda memiliki kendali"
#: src/screens/Deactivated.tsx:87
#: src/screens/Deactivated.tsx:88
#: src/screens/Deactivated.tsx:103
msgid "You're in line"
-msgstr ""
+msgstr "Anda sedang dalam antrian"
-#: src/screens/Onboarding/StepFinished.tsx:90
+#: src/screens/Onboarding/StepFinished.tsx:94
msgid "You're ready to go!"
+msgstr "Anda siap untuk mulai!"
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:98
+#: src/lib/moderation/useModerationCauseDescription.ts:101
+msgid "You've chosen to hide a word or tag within this post."
msgstr ""
#: src/view/com/posts/FollowingEndOfFeed.tsx:48
msgid "You've reached the end of your feed! Find some more accounts to follow."
msgstr "Anda telah mencapai akhir feed Anda! Temukan beberapa akun lain untuk diikuti."
-#: src/view/com/auth/create/Step1.tsx:67
+#: src/screens/Signup/index.tsx:151
msgid "Your account"
msgstr "Akun Anda"
-#: src/view/com/modals/DeleteAccount.tsx:67
+#: src/view/com/modals/DeleteAccount.tsx:68
msgid "Your account has been deleted"
msgstr "Akun Anda telah dihapus"
@@ -4970,7 +6230,7 @@ msgstr "Akun Anda telah dihapus"
msgid "Your account repository, containing all public data records, can be downloaded as a \"CAR\" file. This file does not include media embeds, such as images, or your private data, which must be fetched separately."
msgstr ""
-#: src/view/com/auth/create/Step1.tsx:215
+#: src/screens/Signup/StepInfo/index.tsx:123
msgid "Your birth date"
msgstr "Tanggal lahir Anda"
@@ -4978,12 +6238,12 @@ msgstr "Tanggal lahir Anda"
msgid "Your choice will be saved, but can be changed later in settings."
msgstr "Pilihan Anda akan disimpan, tetapi dapat diubah nanti di pengaturan."
-#: src/screens/Onboarding/StepFollowingFeed.tsx:61
+#: src/screens/Onboarding/StepFollowingFeed.tsx:62
msgid "Your default feed is \"Following\""
-msgstr ""
+msgstr "Feed bawaan Anda adalah \"Mengikuti\""
-#: src/view/com/auth/create/state.ts:110
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:70
+#: src/screens/Login/ForgotPasswordForm.tsx:57
+#: src/screens/Signup/state.ts:227
#: src/view/com/modals/ChangePassword.tsx:54
msgid "Your email appears to be invalid."
msgstr "Email Anda tidak valid."
@@ -5004,11 +6264,11 @@ msgstr "Alamat email Anda belum diverifikasi. Ini merupakan langkah keamanan pen
msgid "Your following feed is empty! Follow more users to see what's happening."
msgstr "Feed mengikuti Anda kosong! Ikuti lebih banyak pengguna untuk melihat apa yang terjadi."
-#: src/view/com/auth/create/Step2.tsx:83
+#: src/screens/Signup/StepHandle.tsx:73
msgid "Your full handle will be"
msgstr "Handle lengkap Anda akan menjadi"
-#: src/view/com/modals/ChangeHandle.tsx:270
+#: src/view/com/modals/ChangeHandle.tsx:271
msgid "Your full handle will be <0>@{0}0>"
msgstr "Handle lengkap Anda akan menjadi <0>@{0}0>"
@@ -5022,33 +6282,32 @@ msgstr "Handle lengkap Anda akan menjadi <0>@{0}0>"
#~ msgid "Your invite codes are hidden when logged in using an App Password"
#~ msgstr "Kode undangan Anda disembunyikan saat masuk menggunakan Kata Sandi Aplikasi"
-#: src/components/dialogs/MutedWords.tsx:221
+#: src/components/dialogs/MutedWords.tsx:220
msgid "Your muted words"
msgstr ""
-#: src/view/com/modals/ChangePassword.tsx:155
+#: src/view/com/modals/ChangePassword.tsx:157
msgid "Your password has been changed successfully!"
-msgstr ""
+msgstr "Kata sandi Anda telah berhasil diubah!"
-#: src/view/com/composer/Composer.tsx:274
+#: src/view/com/composer/Composer.tsx:284
msgid "Your post has been published"
msgstr "Postingan Anda telah dipublikasikan"
-#: src/screens/Onboarding/StepFinished.tsx:105
+#: src/screens/Onboarding/StepFinished.tsx:109
#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:59
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:59
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:61
msgid "Your posts, likes, and blocks are public. Mutes are private."
msgstr "Postingan, suka, dan blokir Anda bersifat publik. Bisukan bersifat privat."
-#: src/view/com/modals/SwitchAccount.tsx:84
-#: src/view/screens/Settings/index.tsx:118
+#: src/view/screens/Settings/index.tsx:136
msgid "Your profile"
msgstr "Profil Anda"
-#: src/view/com/composer/Composer.tsx:273
+#: src/view/com/composer/Composer.tsx:283
msgid "Your reply has been published"
msgstr "Balasan Anda telah dipublikasikan"
-#: src/view/com/auth/create/Step2.tsx:65
+#: src/screens/Signup/index.tsx:153
msgid "Your user handle"
msgstr "Handle Anda"
diff --git a/src/locale/locales/it/messages.po b/src/locale/locales/it/messages.po
index 89f7b71063..a2b61ed114 100644
--- a/src/locale/locales/it/messages.po
+++ b/src/locale/locales/it/messages.po
@@ -3,7 +3,7 @@ msgstr ""
"Project-Id-Version: Italian localization\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-01-05 11:44+0530\n"
-"PO-Revision-Date: 2024-02-18\n"
+"PO-Revision-Date: 2024-04-03 17:58+0200\n"
"Last-Translator: Gabriella Nonino \n"
"Language-Team: Gabriella Nonino sandswimmer@gmail.com\n"
"Language: it\n"
@@ -18,7 +18,6 @@ msgstr ""
msgid "(no email)"
msgstr "(no email)"
-#: src/view/shell/desktop/RightNav.tsx:168
#~ msgid "{0, plural, one {# invite code available} other {# invite codes available}}"
#~ msgstr "{0, plural, one {# codice d'invito disponibile} other {# codici d'inviti disponibili}}"
@@ -26,13 +25,26 @@ msgstr "(no email)"
#~ msgstr "{0}"
#~ msgid "{0} {purposeLabel} List"
-#~ msgstr "Llista {purposeLabel} {0}"
+#~ msgstr "Lista {purposeLabel} {0}"
-#: src/view/com/profile/ProfileHeader.tsx:593
+#: src/components/ProfileHoverCard/index.web.tsx:323
+#: src/screens/Profile/Header/Metrics.tsx:44
msgid "{following} following"
msgstr "{following} seguendo"
-#: src/view/shell/Drawer.tsx:440
+#~ msgid "{invitesAvailable, plural, one {Invite codes: # available} other {Invite codes: # available}}"
+#~ msgstr "{invitesAvailable, plural, one {Codici d'invito: # available} other {Codici d'invito: # available}}"
+
+#~ msgid "{invitesAvailable} invite code available"
+#~ msgstr "{invitesAvailable} codice d'invito disponibile"
+
+#~ msgid "{invitesAvailable} invite codes available"
+#~ msgstr "{invitesAvailable} codici d'invito disponibili"
+
+#~ msgid "{message}"
+#~ msgstr "{message}"
+
+#: src/view/shell/Drawer.tsx:449
msgid "{numUnreadNotifications} unread"
msgstr "{numUnreadNotifications} non letto"
@@ -40,67 +52,83 @@ msgstr "{numUnreadNotifications} non letto"
msgid "<0/> members"
msgstr "<0/> membri"
-#: src/view/com/profile/ProfileHeader.tsx:595
-msgid "<0>{following} 0><1>following1>"
-msgstr "<0>{following} 0><1>seguiti1>"
+#: src/view/shell/Drawer.tsx:97
+msgid "<0>{0}0> following"
+msgstr "<0>{0}0> following"
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:30
+#: src/components/ProfileHoverCard/index.web.tsx:314
+msgid "<0>{followers} 0><1>{pluralizedFollowers}1>"
+msgstr ""
+
+#: src/components/ProfileHoverCard/index.web.tsx:326
+#: src/screens/Profile/Header/Metrics.tsx:45
+msgid "<0>{following} 0><1>following1>"
+msgstr "<0>{following} 0><1>following1>"
+
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:31
msgid "<0>Choose your0><1>Recommended1><2>Feeds2>"
msgstr "<0>Scegli I tuoi0><1>feeds1><2>consigliati2>"
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:37
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:38
msgid "<0>Follow some0><1>Recommended1><2>Users2>"
msgstr "<0>Segui alcuni0><1>utenti1><2>consigliati2>"
#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:21
msgid "<0>Welcome to0><1>Bluesky1>"
-msgstr "<0>Ti diamo il benvenuto a0><1>Bluesky1>"
+msgstr "<0>Ti diamo il benvenuto su0><1>Bluesky1>"
-#: src/view/com/profile/ProfileHeader.tsx:558
+#: src/screens/Profile/Header/Handle.tsx:43
msgid "⚠Invalid Handle"
msgstr "⚠Nome utente non valido"
-#: src/view/com/util/moderation/LabelInfo.tsx:45
-msgid "A content warning has been applied to this {0}."
-msgstr "A questo post è stato applicato un avviso di contenuto {0}."
+#~ msgid "A content warning has been applied to this {0}."
+#~ msgstr "A questo post è stato applicato un avviso di contenuto {0}."
-#: src/lib/hooks/useOTAUpdate.ts:16
-msgid "A new version of the app is available. Please update to continue using the app."
-msgstr "È disponibile una nuova versione dell'app. Aggiorna per continuare a utilizzarla."
+#~ msgid "A new version of the app is available. Please update to continue using the app."
+#~ msgstr "È disponibile una nuova versione dell'app. Aggiorna per continuare a utilizzarla."
#: src/view/com/util/ViewHeader.tsx:89
-#: src/view/screens/Search/Search.tsx:647
+#: src/view/screens/Search/Search.tsx:796
msgid "Access navigation links and settings"
msgstr "Accedi alle impostazioni di navigazione"
-#: src/view/com/home/HomeHeaderLayoutMobile.tsx:52
+#: src/view/com/home/HomeHeaderLayoutMobile.tsx:54
msgid "Access profile and other navigation links"
msgstr "Accedi al profilo e altre impostazioni di navigazione"
-#: src/view/com/modals/EditImage.tsx:299
-#: src/view/screens/Settings/index.tsx:451
+#: src/view/com/modals/EditImage.tsx:300
+#: src/view/screens/Settings/index.tsx:421
msgid "Accessibility"
msgstr "Accessibilità"
-#: src/view/com/auth/login/LoginForm.tsx:166
-#: src/view/screens/Settings/index.tsx:308
-#: src/view/screens/Settings/index.tsx:721
+#: src/components/moderation/LabelsOnMe.tsx:42
+msgid "account"
+msgstr "account"
+
+#: src/screens/Login/LoginForm.tsx:144
+#: src/view/screens/Settings/index.tsx:330
+#: src/view/screens/Settings/index.tsx:707
msgid "Account"
msgstr "Account"
-#: src/view/com/profile/ProfileHeader.tsx:246
+#: src/view/com/profile/ProfileMenu.tsx:139
msgid "Account blocked"
msgstr "Account bloccato"
-#: src/view/com/profile/ProfileHeader.tsx:213
+#: src/view/com/profile/ProfileMenu.tsx:153
+msgid "Account followed"
+msgstr "Account seguito"
+
+#: src/view/com/profile/ProfileMenu.tsx:113
msgid "Account muted"
msgstr "Account silenziato"
-#: src/view/com/modals/ModerationDetails.tsx:86
+#: src/components/moderation/ModerationDetailsDialog.tsx:93
+#: src/lib/moderation/useModerationCauseDescription.ts:91
msgid "Account Muted"
msgstr "Account Silenziato"
-#: src/view/com/modals/ModerationDetails.tsx:72
+#: src/components/moderation/ModerationDetailsDialog.tsx:82
msgid "Account Muted by List"
msgstr "Account silenziato dalla Lista"
@@ -112,19 +140,24 @@ msgstr "Opzioni dell'account"
msgid "Account removed from quick access"
msgstr "Account rimosso dall'accesso immediato"
-#: src/view/com/profile/ProfileHeader.tsx:268
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:137
+#: src/view/com/profile/ProfileMenu.tsx:128
msgid "Account unblocked"
msgstr "Account sbloccato"
-#: src/view/com/profile/ProfileHeader.tsx:226
+#: src/view/com/profile/ProfileMenu.tsx:166
+msgid "Account unfollowed"
+msgstr "Account non seguito"
+
+#: src/view/com/profile/ProfileMenu.tsx:102
msgid "Account unmuted"
msgstr "Account non silenziato"
-#: src/components/dialogs/MutedWords.tsx:165
+#: src/components/dialogs/MutedWords.tsx:164
#: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:150
-#: src/view/com/modals/ListAddRemoveUsers.tsx:264
+#: src/view/com/modals/ListAddRemoveUsers.tsx:268
#: src/view/com/modals/UserAddRemoveLists.tsx:219
-#: src/view/screens/ProfileList.tsx:813
+#: src/view/screens/ProfileList.tsx:829
msgid "Add"
msgstr "Aggiungi"
@@ -132,61 +165,60 @@ msgstr "Aggiungi"
msgid "Add a content warning"
msgstr "Aggiungi un avviso sul contenuto"
-#: src/view/screens/ProfileList.tsx:803
+#: src/view/screens/ProfileList.tsx:819
msgid "Add a user to this list"
msgstr "Aggiungi un utente a questo elenco"
-#: src/view/screens/Settings/index.tsx:383
-#: src/view/screens/Settings/index.tsx:392
+#: src/components/dialogs/SwitchAccount.tsx:55
+#: src/view/screens/Settings/index.tsx:405
+#: src/view/screens/Settings/index.tsx:414
msgid "Add account"
msgstr "Aggiungi account"
#: src/view/com/composer/photos/Gallery.tsx:119
#: src/view/com/composer/photos/Gallery.tsx:180
-#: src/view/com/modals/AltImage.tsx:116
+#: src/view/com/modals/AltImage.tsx:117
msgid "Add alt text"
msgstr "Aggiungi testo alternativo"
-#: src/view/screens/AppPasswords.tsx:102 src/view/screens/AppPasswords.tsx:143
-#: src/view/screens/AppPasswords.tsx:156
+#: src/view/screens/AppPasswords.tsx:104
+#: src/view/screens/AppPasswords.tsx:145
+#: src/view/screens/AppPasswords.tsx:158
msgid "Add App Password"
msgstr "Aggiungi la Password per l'App"
-#: src/view/com/modals/report/InputIssueDetails.tsx:41
-#: src/view/com/modals/report/Modal.tsx:191
-msgid "Add details"
-msgstr "Aggiungi i dettagli"
+#~ msgid "Add details"
+#~ msgstr "Aggiungi i dettagli"
-#: src/view/com/modals/report/Modal.tsx:194
-msgid "Add details to report"
-msgstr "Aggiungi dettagli da segnalare"
+#~ msgid "Add details to report"
+#~ msgstr "Aggiungi dettagli da segnalare"
-#: src/view/com/composer/Composer.tsx:453
+#: src/view/com/composer/Composer.tsx:467
msgid "Add link card"
-msgstr "Aggiungi la scheda collegata al link"
+msgstr "Aggiungi anteprima del link"
-#: src/view/com/composer/Composer.tsx:458
+#: src/view/com/composer/Composer.tsx:472
msgid "Add link card:"
-msgstr "Aggiungi la scheda relazionata al link:"
+msgstr "Aggiungi anteprima del link:"
-#: src/components/dialogs/MutedWords.tsx:158
+#: src/components/dialogs/MutedWords.tsx:157
msgid "Add mute word for configured settings"
-msgstr ""
+msgstr "Aggiungi parola silenziata alle impostazioni configurate"
-#: src/components/dialogs/MutedWords.tsx:87
+#: src/components/dialogs/MutedWords.tsx:86
msgid "Add muted words and tags"
-msgstr ""
+msgstr "Aggiungi parole silenziate e tags"
-#: src/view/com/modals/ChangeHandle.tsx:417
+#: src/view/com/modals/ChangeHandle.tsx:416
msgid "Add the following DNS record to your domain:"
msgstr "Aggiungi il seguente record DNS al tuo dominio:"
-#: src/view/com/profile/ProfileHeader.tsx:310
+#: src/view/com/profile/ProfileMenu.tsx:263
+#: src/view/com/profile/ProfileMenu.tsx:266
msgid "Add to Lists"
msgstr "Aggiungi alle liste"
-#: src/view/com/feeds/FeedSourceCard.tsx:245
-#: src/view/screens/ProfileFeed.tsx:273
+#: src/view/com/feeds/FeedSourceCard.tsx:234
msgid "Add to my feeds"
msgstr "Aggiungi ai miei feed"
@@ -199,7 +231,7 @@ msgstr "Aggiunto"
msgid "Added to list"
msgstr "Aggiunto alla lista"
-#: src/view/com/feeds/FeedSourceCard.tsx:127
+#: src/view/com/feeds/FeedSourceCard.tsx:108
msgid "Added to my feeds"
msgstr "Aggiunto ai miei feeds"
@@ -207,36 +239,42 @@ msgstr "Aggiunto ai miei feeds"
msgid "Adjust the number of likes a reply must have to be shown in your feed."
msgstr "Modifica il numero Mi Piace che una risposta deve avere per essere mostrata nel tuo feed."
+#: src/lib/moderation/useGlobalLabelStrings.ts:34
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:117
#: src/view/com/modals/SelfLabel.tsx:75
msgid "Adult Content"
msgstr "Contenuto per adulti"
-#: src/view/com/modals/ContentFilteringSettings.tsx:141
-msgid "Adult content can only be enabled via the Web at <0/>."
-msgstr "I contenuti per adulti possono essere abilitati solo dal sito Web a <0/>."
+#~ msgid "Adult content can only be enabled via the Web at <0/>."
+#~ msgstr "I contenuti per adulti possono essere abilitati solo dal sito Web a <0/>."
-#: src/view/screens/Settings/index.tsx:664
+#: src/components/moderation/LabelPreference.tsx:242
+msgid "Adult content is disabled."
+msgstr "Il contenuto per adulti è disattivato."
+
+#: src/screens/Moderation/index.tsx:375
+#: src/view/screens/Settings/index.tsx:635
msgid "Advanced"
msgstr "Avanzato"
-#: src/view/screens/Feeds.tsx:666
+#: src/view/screens/Feeds.tsx:691
msgid "All the feeds you've saved, right in one place."
msgstr "Tutti i feed che hai salvato, in un unico posto."
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:221
-#: src/view/com/modals/ChangePassword.tsx:168
+#: src/screens/Login/ForgotPasswordForm.tsx:178
+#: src/view/com/modals/ChangePassword.tsx:170
msgid "Already have a code?"
msgstr "Hai già un codice?"
-#: src/view/com/auth/login/ChooseAccountForm.tsx:98
+#: src/screens/Login/ChooseAccountForm.tsx:39
msgid "Already signed in as @{0}"
-msgstr "Già effettuato l'accesso come @{0}"
+msgstr "Hai già effettuato l'accesso come @{0}"
#: src/view/com/composer/photos/Gallery.tsx:130
msgid "ALT"
msgstr "ALT"
-#: src/view/com/modals/EditImage.tsx:315
+#: src/view/com/modals/EditImage.tsx:316
msgid "Alt text"
msgstr "Testo alternativo"
@@ -252,12 +290,20 @@ msgstr "È stata inviata un'e-mail a {0}. Include un codice di conferma che puoi
msgid "An email has been sent to your previous address, {0}. It includes a confirmation code which you can enter below."
msgstr "Una email è stata inviata al tuo indirizzo precedente, {0}. Include un codice di conferma che puoi inserire di seguito."
-#: src/view/com/profile/FollowButton.tsx:30
-#: src/view/com/profile/FollowButton.tsx:40
+#: src/lib/moderation/useReportOptions.ts:26
+msgid "An issue not included in these options"
+msgstr "Un problema non incluso in queste opzioni"
+
+#: src/components/hooks/useFollowMethods.ts:35
+#: src/components/hooks/useFollowMethods.ts:50
+#: src/view/com/profile/FollowButton.tsx:35
+#: src/view/com/profile/FollowButton.tsx:45
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:188
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:198
msgid "An issue occurred, please try again."
msgstr "Si è verificato un problema, riprova un'altra volta."
-#: src/view/com/notifications/FeedItem.tsx:237
+#: src/view/com/notifications/FeedItem.tsx:242
#: src/view/com/threadgate/WhoCanReply.tsx:178
msgid "and"
msgstr "e"
@@ -266,73 +312,89 @@ msgstr "e"
msgid "Animals"
msgstr "Animali"
+#: src/lib/moderation/useReportOptions.ts:31
+msgid "Anti-Social Behavior"
+msgstr "Comportamento antisociale"
+
#: src/view/screens/LanguageSettings.tsx:95
msgid "App Language"
msgstr "Lingua dell'app"
-#: src/view/screens/AppPasswords.tsx:228
+#: src/view/screens/AppPasswords.tsx:223
msgid "App password deleted"
msgstr "Password dell'app eliminata"
-#: src/view/com/modals/AddAppPasswords.tsx:134
+#: src/view/com/modals/AddAppPasswords.tsx:135
msgid "App Password names can only contain letters, numbers, spaces, dashes, and underscores."
msgstr "Le password per le app possono contenere solo lettere, numeri, spazi, trattini e trattini bassi."
-#: src/view/com/modals/AddAppPasswords.tsx:99
+#: src/view/com/modals/AddAppPasswords.tsx:100
msgid "App Password names must be at least 4 characters long."
msgstr "I nomi delle password delle app devono contenere almeno 4 caratteri."
-#: src/view/screens/Settings/index.tsx:675
+#: src/view/screens/Settings/index.tsx:646
msgid "App password settings"
msgstr "Impostazioni della password dell'app"
-#: src/view/screens/Settings.tsx:650
#~ msgid "App passwords"
#~ msgstr "Passwords dell'app"
-#: src/Navigation.tsx:239
-#: src/view/screens/AppPasswords.tsx:187
-#: src/view/screens/Settings/index.tsx:684
+#: src/Navigation.tsx:251
+#: src/view/screens/AppPasswords.tsx:189
+#: src/view/screens/Settings/index.tsx:655
msgid "App Passwords"
msgstr "Passwords dell'App"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:337
-#: src/view/com/util/forms/PostDropdownBtn.tsx:346
-msgid "Appeal content warning"
-msgstr "Ricorso contro l'avviso sui contenuti"
+#: src/components/moderation/LabelsOnMeDialog.tsx:133
+#: src/components/moderation/LabelsOnMeDialog.tsx:136
+msgid "Appeal"
+msgstr "Ricorso"
-#: src/view/com/modals/AppealLabel.tsx:65
-msgid "Appeal Content Warning"
-msgstr "Ricorso contro l'Avviso sui Contenuti"
+#: src/components/moderation/LabelsOnMeDialog.tsx:201
+msgid "Appeal \"{0}\" label"
+msgstr "Etichetta \"{0}\" del ricorso"
-#: src/view/com/util/moderation/LabelInfo.tsx:52
-msgid "Appeal this decision"
-msgstr "Appella contro questa decisione"
+#~ msgid "Appeal content warning"
+#~ msgstr "Ricorso contro l'avviso sui contenuti"
-#: src/view/com/util/moderation/LabelInfo.tsx:56
-msgid "Appeal this decision."
-msgstr "Appella contro questa decisione."
+#~ msgid "Appeal Content Warning"
+#~ msgstr "Ricorso contro l'Avviso sui Contenuti"
-#: src/view/screens/Settings/index.tsx:466
+#~ msgid "Appeal Decision"
+#~ msgstr "Decisión de apelación"
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:192
+msgid "Appeal submitted."
+msgstr "Ricorso presentato."
+
+#~ msgid "Appeal this decision"
+#~ msgstr "Appella contro questa decisione"
+
+#~ msgid "Appeal this decision."
+#~ msgstr "Appella contro questa decisione."
+
+#: src/view/screens/Settings/index.tsx:436
msgid "Appearance"
msgstr "Aspetto"
-#: src/view/screens/AppPasswords.tsx:224
+#: src/view/screens/AppPasswords.tsx:265
msgid "Are you sure you want to delete the app password \"{name}\"?"
msgstr "Conferma di voler eliminare la password dell'app \"{name}\"?"
-#: src/view/com/composer/Composer.tsx:150
+#: src/view/com/feeds/FeedSourceCard.tsx:280
+msgid "Are you sure you want to remove {0} from your feeds?"
+msgstr "Vuoi rimuovere {0} dai tuoi feed?"
+
+#: src/view/com/composer/Composer.tsx:509
msgid "Are you sure you'd like to discard this draft?"
msgstr "Conferma di voler eliminare questa bozza?"
-#: src/components/dialogs/MutedWords.tsx:282
-#: src/view/screens/ProfileList.tsx:365
+#: src/components/dialogs/MutedWords.tsx:281
msgid "Are you sure?"
msgstr "Confermi?"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:322
-msgid "Are you sure? This cannot be undone."
-msgstr "Vuoi proseguire? Questa operazione non può essere annullata."
+#~ msgid "Are you sure? This cannot be undone."
+#~ msgstr "Vuoi proseguire? Questa operazione non può essere annullata."
#: src/view/com/composer/select-language/SuggestedLanguage.tsx:60
msgid "Are you writing in <0>{0}0>?"
@@ -346,237 +408,292 @@ msgstr "Arte"
msgid "Artistic or non-erotic nudity."
msgstr "Nudità artistica o non erotica."
-#: src/view/com/auth/create/CreateAccount.tsx:158
-#: src/view/com/auth/login/ChooseAccountForm.tsx:151
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:174
-#: src/view/com/auth/login/LoginForm.tsx:259
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:179
-#: src/view/com/modals/report/InputIssueDetails.tsx:46
-#: src/view/com/post-thread/PostThread.tsx:472
-#: src/view/com/post-thread/PostThread.tsx:522
-#: src/view/com/post-thread/PostThread.tsx:530
-#: src/view/com/profile/ProfileHeader.tsx:649
+#: src/screens/Signup/StepHandle.tsx:119
+msgid "At least 3 characters"
+msgstr ""
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:246
+#: src/components/moderation/LabelsOnMeDialog.tsx:247
+#: src/screens/Login/ChooseAccountForm.tsx:73
+#: src/screens/Login/ChooseAccountForm.tsx:78
+#: src/screens/Login/ForgotPasswordForm.tsx:129
+#: src/screens/Login/ForgotPasswordForm.tsx:135
+#: src/screens/Login/LoginForm.tsx:221
+#: src/screens/Login/LoginForm.tsx:227
+#: src/screens/Login/SetNewPasswordForm.tsx:160
+#: src/screens/Login/SetNewPasswordForm.tsx:166
+#: src/screens/Profile/Header/Shell.tsx:96
+#: src/screens/Signup/index.tsx:180
#: src/view/com/util/ViewHeader.tsx:87
msgid "Back"
msgstr "Indietro"
-#: src/view/com/post-thread/PostThread.tsx:480
-msgctxt "action"
-msgid "Back"
-msgstr "Indietro"
+#~ msgctxt "action"
+#~ msgid "Back"
+#~ msgstr "Indietro"
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:136
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:144
msgid "Based on your interest in {interestsText}"
-msgstr "Basato su i tuoi interessi {interestsText}"
+msgstr "Basato sui tuoi interessi {interestsText}"
-#: src/view/screens/Settings/index.tsx:523
+#: src/view/screens/Settings/index.tsx:493
msgid "Basics"
msgstr "Preferenze"
-#: src/view/com/auth/create/Step1.tsx:227
-#: src/view/com/modals/BirthDateSettings.tsx:73
+#: src/components/dialogs/BirthDateSettings.tsx:107
msgid "Birthday"
msgstr "Compleanno"
-#: src/view/screens/Settings/index.tsx:340
+#: src/view/screens/Settings/index.tsx:362
msgid "Birthday:"
msgstr "Compleanno:"
-#: src/view/com/profile/ProfileHeader.tsx:239
-#: src/view/com/profile/ProfileHeader.tsx:346
-msgid "Block Account"
-msgstr "Blocca l'account"
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:286
+#: src/view/com/profile/ProfileMenu.tsx:361
+msgid "Block"
+msgstr "Blocca"
-#: src/view/screens/ProfileList.tsx:556
+#: src/view/com/profile/ProfileMenu.tsx:300
+#: src/view/com/profile/ProfileMenu.tsx:307
+msgid "Block Account"
+msgstr "Blocca Account"
+
+#: src/view/com/profile/ProfileMenu.tsx:344
+msgid "Block Account?"
+msgstr "Blocca Account?"
+
+#: src/view/screens/ProfileList.tsx:532
msgid "Block accounts"
msgstr "Blocca gli accounts"
-#: src/view/screens/ProfileList.tsx:506
+#: src/view/screens/ProfileList.tsx:480
+#: src/view/screens/ProfileList.tsx:636
msgid "Block list"
msgstr "Lista di blocchi"
-#: src/view/screens/ProfileList.tsx:316
+#: src/view/screens/ProfileList.tsx:631
msgid "Block these accounts?"
msgstr "Vuoi bloccare questi accounts?"
-#: src/view/screens/ProfileList.tsx:320
-msgid "Block this List"
-msgstr "Blocca questa Lista"
+#~ msgid "Block this List"
+#~ msgstr "Blocca questa Lista"
#: src/view/com/lists/ListCard.tsx:110
-#: src/view/com/util/post-embeds/QuoteEmbed.tsx:61
+#: src/view/com/util/post-embeds/QuoteEmbed.tsx:58
msgid "Blocked"
msgstr "Bloccato"
-#: src/view/screens/Moderation.tsx:142
+#: src/screens/Moderation/index.tsx:267
msgid "Blocked accounts"
msgstr "Accounts bloccati"
-#: src/Navigation.tsx:132
-#: src/view/screens/ModerationBlockedAccounts.tsx:107
+#: src/Navigation.tsx:134
+#: src/view/screens/ModerationBlockedAccounts.tsx:113
msgid "Blocked Accounts"
msgstr "Accounts bloccati"
-#: src/view/com/profile/ProfileHeader.tsx:241
+#: src/view/com/profile/ProfileMenu.tsx:356
msgid "Blocked accounts cannot reply in your threads, mention you, or otherwise interact with you."
-msgstr "Gli account bloccati non possono rispondere nelle tue discussioni, menzionarti o interagire in nessun altro modo con te."
+msgstr "Gli account bloccati non possono rispondere alle tue discussioni, menzionarti o interagire in nessun altro modo con te."
-#: src/view/screens/ModerationBlockedAccounts.tsx:115
+#: src/view/screens/ModerationBlockedAccounts.tsx:121
msgid "Blocked accounts cannot reply in your threads, mention you, or otherwise interact with you. You will not see their content and they will be prevented from seeing yours."
-msgstr "Gli account bloccati non possono rispondere nelle tue discussioni, menzionarti in nessun altro modo con te. Non vedrai il loro contenuto e non vedranno il tuo.."
+msgstr "Gli account bloccati non possono rispondere alle tue discussioni, menzionarti, o interagire in nessun altro modo con te. Non vedrai il loro contenuto e non vedranno il tuo."
-#: src/view/com/post-thread/PostThread.tsx:324
+#: src/view/com/post-thread/PostThread.tsx:313
msgid "Blocked post."
msgstr "Post bloccato."
-#: src/view/screens/ProfileList.tsx:318
-msgid "Blocking is public. Blocked accounts cannot reply in your threads, mention you, or otherwise interact with you."
-msgstr "Il blocco è pubblico. Gli accounts bloccati non possono rispondere nelle tue discussioni, menzionarti o interagire con te in nessun altro modo."
+#: src/screens/Profile/Sections/Labels.tsx:163
+msgid "Blocking does not prevent this labeler from placing labels on your account."
+msgstr "Il blocco non impedisce al labeler di inserire etichette nel tuo account."
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:93
-#: src/view/com/auth/SplashScreen.web.tsx:133
+#: src/view/screens/ProfileList.tsx:633
+msgid "Blocking is public. Blocked accounts cannot reply in your threads, mention you, or otherwise interact with you."
+msgstr "l blocco è pubblico. Gli account bloccati non possono rispondere alle tue discussioni, menzionarti, o interagire con te in nessun altro modo."
+
+#: src/view/com/profile/ProfileMenu.tsx:353
+msgid "Blocking will not prevent labels from being applied on your account, but it will stop this account from replying in your threads or interacting with you."
+msgstr "Il blocco non impedirà l'applicazione delle etichette al tuo account, ma impedirà a questo account di rispondere alle tue discussioni o di interagire con te."
+
+#: src/view/com/auth/SplashScreen.web.tsx:149
msgid "Blog"
msgstr "Blog"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:31
#: src/view/com/auth/server-input/index.tsx:89
-#: src/view/com/auth/server-input/index.tsx:90
+#: src/view/com/auth/server-input/index.tsx:91
msgid "Bluesky"
msgstr "Bluesky"
-#: src/view/com/auth/server-input/index.tsx:150
+#: src/view/com/auth/server-input/index.tsx:154
msgid "Bluesky is an open network where you can choose your hosting provider. Custom hosting is now available in beta for developers."
-msgstr "Bluesky è una network aperto in cui puoi scegliere il tuo provider di hosting. L'hosting personalizzato adesso è disponibile in versione beta per i developers."
+msgstr "Bluesky è un network aperto in cui puoi scegliere il tuo provider di hosting. L'hosting personalizzato è adesso disponibile in versione beta per gli sviluppatori."
#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:80
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:80
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:82
msgid "Bluesky is flexible."
msgstr "Bluesky è flessibile."
#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:69
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:69
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:71
msgid "Bluesky is open."
msgstr "Bluesky è aperto."
#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:56
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:56
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:58
msgid "Bluesky is public."
msgstr "Bluesky è pubblico."
-#: src/view/com/modals/Waitlist.tsx:70
#~ msgid "Bluesky uses invites to build a healthier community. If you don't know anybody with an invite, you can sign up for the waitlist and we'll send one soon."
#~ msgstr "Bluesky utilizza gli inviti per costruire una comunità più sana. Se non conosci nessuno con un invito, puoi iscriverti alla lista d'attesa e te ne invieremo uno al più presto."
-#: src/view/screens/Moderation.tsx:245
+#: src/screens/Moderation/index.tsx:533
msgid "Bluesky will not show your profile and posts to logged-out users. Other apps may not honor this request. This does not make your account private."
-msgstr "Bluesky non mostrerà il tuo profilo e i tuoi post agli utenti disconnessi. Altre app potrebbero non rispettare questa richiesta. Questo non rende il tuo account privato."
+msgstr "Bluesky non mostrerà il tuo profilo e i tuoi post agli utenti non loggati. Altre applicazioni potrebbero non rispettare questa istruzione. Ciò non rende il tuo account privato."
+
+#~ msgid "Bluesky.Social"
+#~ msgstr "Bluesky.Social"
+
+#: src/lib/moderation/useLabelBehaviorDescription.ts:53
+msgid "Blur images"
+msgstr "Sfoca le immagini"
+
+#: src/lib/moderation/useLabelBehaviorDescription.ts:51
+msgid "Blur images and filter from feeds"
+msgstr "Sfoca le immagini e filtra dai feed"
#: src/screens/Onboarding/index.tsx:33
msgid "Books"
msgstr "Libri"
-#: src/view/screens/Settings/index.tsx:859
-msgid "Build version {0} {1}"
-msgstr "Versione {0} {1}"
+#: src/view/screens/Settings/index.tsx:893
+#~ msgid "Build version {0} {1}"
+#~ msgstr "Versione {0} {1}"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:87
-#: src/view/com/auth/SplashScreen.web.tsx:128
+#: src/view/com/auth/SplashScreen.web.tsx:146
msgid "Business"
msgstr "Attività commerciale"
+#~ msgid "Button disabled. Input custom domain to proceed."
+#~ msgstr "Pulsante disabilitato. Inserisci il dominio personalizzato per procedere."
+
#: src/view/com/profile/ProfileSubpageHeader.tsx:157
msgid "by —"
-msgstr "da—"
+msgstr "da —"
#: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:100
msgid "by {0}"
-msgstr "da {0}"
+msgstr "di {0}"
+
+#: src/components/LabelingServiceCard/index.tsx:57
+msgid "By {0}"
+msgstr "Di {0}"
#: src/view/com/profile/ProfileSubpageHeader.tsx:161
msgid "by <0/>"
-msgstr "da <0/>"
+msgstr "di <0/>"
+
+#: src/screens/Signup/StepInfo/Policies.tsx:74
+msgid "By creating an account you agree to the {els}."
+msgstr "Creando un account accetti i {els}."
#: src/view/com/profile/ProfileSubpageHeader.tsx:159
msgid "by you"
msgstr "da te"
-#: src/view/com/composer/photos/OpenCameraBtn.tsx:60
-#: src/view/com/util/UserAvatar.tsx:224 src/view/com/util/UserBanner.tsx:40
+#: src/view/com/composer/photos/OpenCameraBtn.tsx:77
msgid "Camera"
msgstr "Fotocamera"
-#: src/view/com/modals/AddAppPasswords.tsx:216
+#: src/view/com/modals/AddAppPasswords.tsx:217
msgid "Can only contain letters, numbers, spaces, dashes, and underscores. Must be at least 4 characters long, but no more than 32 characters long."
msgstr "Può contenere solo lettere, numeri, spazi, trattini e trattini bassi. Deve contenere almeno 4 caratteri, ma non più di 32 caratteri."
-#: src/components/Prompt.tsx:101
-#: src/view/com/composer/Composer.tsx:307
-#: src/view/com/composer/Composer.tsx:312
+#: src/components/Menu/index.tsx:213
+#: src/components/Prompt.tsx:113
+#: src/components/Prompt.tsx:115
+#: src/components/TagMenu/index.tsx:268
+#: src/view/com/composer/Composer.tsx:317
+#: src/view/com/composer/Composer.tsx:322
#: src/view/com/modals/ChangeEmail.tsx:218
#: src/view/com/modals/ChangeEmail.tsx:220
-#: src/view/com/modals/ChangePassword.tsx:265
-#: src/view/com/modals/ChangePassword.tsx:268
-#: src/view/com/modals/CreateOrEditList.tsx:355
-#: src/view/com/modals/EditImage.tsx:323
-#: src/view/com/modals/EditProfile.tsx:249
+#: src/view/com/modals/ChangeHandle.tsx:154
+#: src/view/com/modals/ChangePassword.tsx:267
+#: src/view/com/modals/ChangePassword.tsx:270
+#: src/view/com/modals/CreateOrEditList.tsx:356
+#: src/view/com/modals/crop-image/CropImage.web.tsx:138
+#: src/view/com/modals/EditImage.tsx:324
+#: src/view/com/modals/EditProfile.tsx:250
#: src/view/com/modals/InAppBrowserConsent.tsx:78
-#: src/view/com/modals/LinkWarning.tsx:87 src/view/com/modals/Repost.tsx:87
+#: src/view/com/modals/InAppBrowserConsent.tsx:80
+#: src/view/com/modals/LinkWarning.tsx:105
+#: src/view/com/modals/LinkWarning.tsx:107
+#: src/view/com/modals/Repost.tsx:88
#: src/view/com/modals/VerifyEmail.tsx:247
#: src/view/com/modals/VerifyEmail.tsx:253
-#: src/view/screens/Search/Search.tsx:716
-#: src/view/shell/desktop/Search.tsx:238
+#: src/view/screens/Search/Search.tsx:865
+#: src/view/shell/desktop/Search.tsx:239
msgid "Cancel"
msgstr "Cancella"
-#: src/view/com/modals/Confirm.tsx:88 src/view/com/modals/Confirm.tsx:91
-#: src/view/com/modals/CreateOrEditList.tsx:360
-#: src/view/com/modals/DeleteAccount.tsx:156
-#: src/view/com/modals/DeleteAccount.tsx:234
+#: src/view/com/modals/CreateOrEditList.tsx:361
+#: src/view/com/modals/DeleteAccount.tsx:155
+#: src/view/com/modals/DeleteAccount.tsx:233
msgctxt "action"
msgid "Cancel"
msgstr "Cancella"
-#: src/view/com/modals/DeleteAccount.tsx:152
-#: src/view/com/modals/DeleteAccount.tsx:230
+#: src/view/com/modals/DeleteAccount.tsx:151
+#: src/view/com/modals/DeleteAccount.tsx:229
msgid "Cancel account deletion"
msgstr "Annulla la cancellazione dell'account"
-#: src/view/com/modals/ChangeHandle.tsx:149
+#~ msgid "Cancel add image alt text"
+#~ msgstr "Cancel·la afegir text a la imatge"
+
+#: src/view/com/modals/ChangeHandle.tsx:150
msgid "Cancel change handle"
msgstr "Annulla il cambio del tuo nome utente"
-#: src/view/com/modals/crop-image/CropImage.web.tsx:134
+#: src/view/com/modals/crop-image/CropImage.web.tsx:135
msgid "Cancel image crop"
msgstr "Annulla il ritaglio dell'immagine"
-#: src/view/com/modals/EditProfile.tsx:244
+#: src/view/com/modals/EditProfile.tsx:245
msgid "Cancel profile editing"
msgstr "Annulla la modifica del profilo"
-#: src/view/com/modals/Repost.tsx:78
+#: src/view/com/modals/Repost.tsx:79
msgid "Cancel quote post"
msgstr "Annnulla la citazione del post"
#: src/view/com/modals/ListAddRemoveUsers.tsx:87
-#: src/view/shell/desktop/Search.tsx:234
+#: src/view/shell/desktop/Search.tsx:235
msgid "Cancel search"
msgstr "Annulla la ricerca"
-#: src/view/com/modals/Waitlist.tsx:136
#~ msgid "Cancel waitlist signup"
#~ msgstr "Annulla l'iscrizione alla lista d'attesa"
-#: src/view/screens/Settings/index.tsx:334
+#: src/view/com/modals/LinkWarning.tsx:106
+msgid "Cancels opening the linked website"
+msgstr "Annulla l'apertura del sito collegato"
+
+#: src/view/com/modals/VerifyEmail.tsx:152
+msgid "Change"
+msgstr "Cambia"
+
+#: src/view/screens/Settings/index.tsx:356
msgctxt "action"
msgid "Change"
msgstr "Cambia"
-#: src/view/screens/Settings/index.tsx:696
+#: src/view/screens/Settings/index.tsx:667
msgid "Change handle"
msgstr "Cambia il nome utente"
-#: src/view/com/modals/ChangeHandle.tsx:161
-#: src/view/screens/Settings/index.tsx:705
+#: src/view/com/modals/ChangeHandle.tsx:162
+#: src/view/screens/Settings/index.tsx:678
msgid "Change Handle"
msgstr "Cambia il Nome Utente"
@@ -584,11 +701,12 @@ msgstr "Cambia il Nome Utente"
msgid "Change my email"
msgstr "Cambia la mia email"
-#: src/view/screens/Settings/index.tsx:732
+#: src/view/screens/Settings/index.tsx:718
msgid "Change password"
msgstr "Cambia la password"
-#: src/view/screens/Settings/index.tsx:741
+#: src/view/com/modals/ChangePassword.tsx:141
+#: src/view/screens/Settings/index.tsx:729
msgid "Change Password"
msgstr "Cambia la Password"
@@ -596,27 +714,27 @@ msgstr "Cambia la Password"
msgid "Change post language to {0}"
msgstr "Cambia la lingua del post a {0}"
-#: src/view/screens/Settings/index.tsx:733
-msgid "Change your Bluesky password"
-msgstr "Cambia la tua password di Bluesky"
+#~ msgid "Change your Bluesky password"
+#~ msgstr "Cambia la tua password di Bluesky"
#: src/view/com/modals/ChangeEmail.tsx:109
msgid "Change Your Email"
msgstr "Cambia la tua email"
-#: src/screens/Deactivated.tsx:72 src/screens/Deactivated.tsx:76
+#: src/screens/Deactivated.tsx:72
+#: src/screens/Deactivated.tsx:76
msgid "Check my status"
msgstr "Verifica il mio stato"
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:121
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:122
msgid "Check out some recommended feeds. Tap + to add them to your list of pinned feeds."
-msgstr "Dai un'occhiata ad alcuni feed consigliati. Clicca + per aggiungerli al tuo elenco dei feeds."
+msgstr "Dai un'occhiata ad alcuni feed consigliati. Clicca + per aggiungerli al tuo elenco dei feed."
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:185
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:186
msgid "Check out some recommended users. Follow them to see similar users."
msgstr "Scopri alcuni utenti consigliati. Seguili per vedere utenti simili."
-#: src/view/com/modals/DeleteAccount.tsx:169
+#: src/view/com/modals/DeleteAccount.tsx:168
msgid "Check your inbox for an email with the confirmation code to enter below:"
msgstr "Controlla la tua posta in arrivo, dovrebbe contenere un'e-mail con il codice di conferma da inserire di seguito:"
@@ -624,121 +742,127 @@ msgstr "Controlla la tua posta in arrivo, dovrebbe contenere un'e-mail con il co
msgid "Choose \"Everybody\" or \"Nobody\""
msgstr "Scegli \"Tutti\" o \"Nessuno\""
-#: src/view/screens/Settings/index.tsx:697
-msgid "Choose a new Bluesky username or create"
-msgstr "Scegli un nuovo nome utente Bluesky o creane uno"
+#~ msgid "Choose a new Bluesky username or create"
+#~ msgstr "Scegli un nuovo nome utente Bluesky o creane uno"
#: src/view/com/auth/server-input/index.tsx:79
msgid "Choose Service"
msgstr "Scegli il servizio"
-#: src/screens/Onboarding/StepFinished.tsx:135
+#: src/screens/Onboarding/StepFinished.tsx:139
msgid "Choose the algorithms that power your custom feeds."
msgstr "Scegli gli algoritmi che compilano i tuoi feed personalizzati."
#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:83
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:83
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:85
msgid "Choose the algorithms that power your experience with custom feeds."
-msgstr "Scegli gli algoritmi che alimentano la tua esperienza con feed personalizzati."
+msgstr "Scegli gli algoritmi che migliorano la tua esperienza con i feed personalizzati."
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:103
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:104
msgid "Choose your main feeds"
msgstr "Scegli i tuoi feed principali"
-#: src/view/com/auth/create/Step1.tsx:196
+#: src/screens/Signup/StepInfo/index.tsx:114
msgid "Choose your password"
msgstr "Scegli la tua password"
-#: src/view/screens/Settings/index.tsx:834
-#: src/view/screens/Settings/index.tsx:835
+#: src/view/screens/Settings/index.tsx:832
msgid "Clear all legacy storage data"
msgstr "Cancella tutti i dati legacy in archivio"
-#: src/view/screens/Settings/index.tsx:837
+#: src/view/screens/Settings/index.tsx:835
msgid "Clear all legacy storage data (restart after this)"
msgstr "Cancella tutti i dati legacy in archivio (poi ricomincia)"
-#: src/view/screens/Settings/index.tsx:846
-#: src/view/screens/Settings/index.tsx:847
+#: src/view/screens/Settings/index.tsx:844
msgid "Clear all storage data"
msgstr "Cancella tutti i dati in archivio"
-#: src/view/screens/Settings/index.tsx:849
+#: src/view/screens/Settings/index.tsx:847
msgid "Clear all storage data (restart after this)"
msgstr "Cancella tutti i dati in archivio (poi ricomincia)"
#: src/view/com/util/forms/SearchInput.tsx:88
-#: src/view/screens/Search/Search.tsx:697
+#: src/view/screens/Search/Search.tsx:846
msgid "Clear search query"
msgstr "Annulla la ricerca"
+#: src/view/screens/Settings/index.tsx:833
+msgid "Clears all legacy storage data"
+msgstr "Cancella tutti i dati di archiviazione legacy"
+
+#: src/view/screens/Settings/index.tsx:845
+msgid "Clears all storage data"
+msgstr "Cancella tutti i dati di archiviazione"
+
#: src/view/screens/Support.tsx:40
msgid "click here"
msgstr "clicca qui"
#: src/components/TagMenu/index.web.tsx:138
msgid "Click here to open tag menu for {tag}"
-msgstr ""
+msgstr "Clicca qui per aprire il menu per {tag}"
-#: src/components/RichText.tsx:191
+#: src/components/RichText.tsx:198
msgid "Click here to open tag menu for #{tag}"
-msgstr ""
+msgstr "Clicca qui per aprire il menu per #{tag}"
#: src/screens/Onboarding/index.tsx:35
msgid "Climate"
msgstr "Clima"
-#: src/view/com/modals/ChangePassword.tsx:265
-#: src/view/com/modals/ChangePassword.tsx:268
+#: src/view/com/modals/ChangePassword.tsx:267
+#: src/view/com/modals/ChangePassword.tsx:270
msgid "Close"
msgstr "Chiudi"
-#: src/components/Dialog/index.web.tsx:84
-#: src/components/Dialog/index.web.tsx:198
+#: src/components/Dialog/index.web.tsx:106
+#: src/components/Dialog/index.web.tsx:218
msgid "Close active dialog"
-msgstr "Chiudi il dialogo attivo"
+msgstr "Chiudi la finestra attiva"
-#: src/view/com/auth/login/PasswordUpdatedForm.tsx:38
+#: src/screens/Login/PasswordUpdatedForm.tsx:38
msgid "Close alert"
msgstr "Chiudi l'avviso"
-#: src/view/com/util/BottomSheetCustomBackdrop.tsx:33
+#: src/view/com/util/BottomSheetCustomBackdrop.tsx:36
msgid "Close bottom drawer"
msgstr "Chiudi il bottom drawer"
-#: src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx:26
+#: src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx:36
msgid "Close image"
msgstr "Chiudi l'immagine"
-#: src/view/com/lightbox/Lightbox.web.tsx:119
+#: src/view/com/lightbox/Lightbox.web.tsx:129
msgid "Close image viewer"
msgstr "Chiudi il visualizzatore di immagini"
-#: src/view/shell/index.web.tsx:51
+#: src/view/shell/index.web.tsx:57
msgid "Close navigation footer"
msgstr "Chiudi la navigazione del footer"
+#: src/components/Menu/index.tsx:207
#: src/components/TagMenu/index.tsx:262
msgid "Close this dialog"
-msgstr ""
+msgstr "Chiudi la finestra"
-#: src/view/shell/index.web.tsx:52
+#: src/view/shell/index.web.tsx:58
msgid "Closes bottom navigation bar"
msgstr "Chiude la barra di navigazione in basso"
-#: src/view/com/auth/login/PasswordUpdatedForm.tsx:39
+#: src/screens/Login/PasswordUpdatedForm.tsx:39
msgid "Closes password update alert"
msgstr "Chiude l'avviso di aggiornamento della password"
-#: src/view/com/composer/Composer.tsx:309
+#: src/view/com/composer/Composer.tsx:319
msgid "Closes post composer and discards post draft"
msgstr "Chiude l'editore del post ed elimina la bozza del post"
-#: src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx:27
+#: src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx:37
msgid "Closes viewer for header image"
msgstr "Chiude il visualizzatore dell'immagine di intestazione"
-#: src/view/com/notifications/FeedItem.tsx:318
+#: src/view/com/notifications/FeedItem.tsx:323
msgid "Collapses list of users for a given notification"
msgstr "Comprime l'elenco degli utenti per una determinata notifica"
@@ -750,20 +874,20 @@ msgstr "Commedia"
msgid "Comics"
msgstr "Fumetti"
-#: src/Navigation.tsx:229
+#: src/Navigation.tsx:241
#: src/view/screens/CommunityGuidelines.tsx:32
msgid "Community Guidelines"
msgstr "Linee guida della community"
-#: src/screens/Onboarding/StepFinished.tsx:148
+#: src/screens/Onboarding/StepFinished.tsx:152
msgid "Complete onboarding and start using your account"
msgstr "Completa l'incorporazione e inizia a utilizzare il tuo account"
-#: src/view/com/auth/create/Step3.tsx:73
+#: src/screens/Signup/index.tsx:155
msgid "Complete the challenge"
-msgstr ""
+msgstr "Completa la challenge"
-#: src/view/com/composer/Composer.tsx:424
+#: src/view/com/composer/Composer.tsx:438
msgid "Compose posts up to {MAX_GRAPHEME_LENGTH} characters in length"
msgstr "Componi un post fino a {MAX_GRAPHEME_LENGTH} caratteri"
@@ -771,12 +895,20 @@ msgstr "Componi un post fino a {MAX_GRAPHEME_LENGTH} caratteri"
msgid "Compose reply"
msgstr "Scrivi la risposta"
-#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:67
+#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:81
msgid "Configure content filtering setting for category: {0}"
msgstr "Configura l'impostazione del filtro dei contenuti per la categoria:{0}"
-#: src/components/Prompt.tsx:124
-#: src/view/com/modals/AppealLabel.tsx:98
+#: src/components/moderation/LabelPreference.tsx:81
+msgid "Configure content filtering setting for category: {name}"
+msgstr ""
+
+#: src/components/moderation/LabelPreference.tsx:244
+msgid "Configured in <0>moderation settings0>."
+msgstr "Configurato nelle <0>impostazioni di moderazione0>."
+
+#: src/components/Prompt.tsx:153
+#: src/components/Prompt.tsx:156
#: src/view/com/modals/SelfLabel.tsx:154
#: src/view/com/modals/VerifyEmail.tsx:231
#: src/view/com/modals/VerifyEmail.tsx:233
@@ -785,66 +917,84 @@ msgstr "Configura l'impostazione del filtro dei contenuti per la categoria:{0}"
msgid "Confirm"
msgstr "Conferma"
-#: src/view/com/modals/Confirm.tsx:75 src/view/com/modals/Confirm.tsx:78
-msgctxt "action"
-msgid "Confirm"
-msgstr "Conferma"
+#~ msgctxt "action"
+#~ msgid "Confirm"
+#~ msgstr "Conferma"
#: src/view/com/modals/ChangeEmail.tsx:193
#: src/view/com/modals/ChangeEmail.tsx:195
msgid "Confirm Change"
msgstr "Conferma il cambio"
-#: src/view/com/modals/lang-settings/ConfirmLanguagesButton.tsx:34
+#: src/view/com/modals/lang-settings/ConfirmLanguagesButton.tsx:35
msgid "Confirm content language settings"
msgstr "Conferma le impostazioni della lingua del contenuto"
-#: src/view/com/modals/DeleteAccount.tsx:220
+#: src/view/com/modals/DeleteAccount.tsx:219
msgid "Confirm delete account"
msgstr "Conferma l'eliminazione dell'account"
-#: src/view/com/modals/ContentFilteringSettings.tsx:156
-msgid "Confirm your age to enable adult content."
-msgstr "Conferma la tua età per abilitare i contenuti per adulti."
+#~ msgid "Confirm your age to enable adult content."
+#~ msgstr "Conferma la tua età per abilitare i contenuti per adulti."
+
+#: src/screens/Moderation/index.tsx:301
+msgid "Confirm your age:"
+msgstr "Conferma la tua età:"
+
+#: src/screens/Moderation/index.tsx:292
+msgid "Confirm your birthdate"
+msgstr "Conferma la tua data di nascita"
#: src/view/com/modals/ChangeEmail.tsx:157
-#: src/view/com/modals/DeleteAccount.tsx:182
+#: src/view/com/modals/DeleteAccount.tsx:175
+#: src/view/com/modals/DeleteAccount.tsx:181
#: src/view/com/modals/VerifyEmail.tsx:165
msgid "Confirmation code"
msgstr "Codice di conferma"
-#: src/view/com/modals/Waitlist.tsx:120
#~ msgid "Confirms signing up {email} to the waitlist"
#~ msgstr "Conferma l'iscrizione di {email} alla lista d'attesa"
-#: src/view/com/auth/create/CreateAccount.tsx:193
-#: src/view/com/auth/login/LoginForm.tsx:278
+#: src/screens/Login/LoginForm.tsx:248
msgid "Connecting..."
msgstr "Connessione in corso..."
-#: src/view/com/auth/create/CreateAccount.tsx:213
+#: src/screens/Signup/index.tsx:225
msgid "Contact support"
msgstr "Contatta il supporto"
-#: src/view/screens/Moderation.tsx:83
-msgid "Content filtering"
-msgstr "Filtro dei contenuti"
+#: src/components/moderation/LabelsOnMe.tsx:42
+msgid "content"
+msgstr "contenuto"
-#: src/view/com/modals/ContentFilteringSettings.tsx:44
-msgid "Content Filtering"
-msgstr "Filtro dei Contenuti"
+#: src/lib/moderation/useGlobalLabelStrings.ts:18
+msgid "Content Blocked"
+msgstr "Contenuto Bloccato"
+
+#~ msgid "Content filtering"
+#~ msgstr "Filtro dei contenuti"
+
+#~ msgid "Content Filtering"
+#~ msgstr "Filtro dei Contenuti"
+
+#: src/screens/Moderation/index.tsx:285
+msgid "Content filters"
+msgstr "Filtri dei contenuti"
#: src/view/com/modals/lang-settings/ContentLanguagesSettings.tsx:74
#: src/view/screens/LanguageSettings.tsx:278
msgid "Content Languages"
msgstr "Lingue dei contenuti"
-#: src/view/com/modals/ModerationDetails.tsx:65
+#: src/components/moderation/ModerationDetailsDialog.tsx:75
+#: src/lib/moderation/useModerationCauseDescription.ts:75
msgid "Content Not Available"
msgstr "Contenuto non disponibile"
-#: src/view/com/modals/ModerationDetails.tsx:33
-#: src/view/com/util/moderation/ScreenHider.tsx:78
+#: src/components/moderation/ModerationDetailsDialog.tsx:46
+#: src/components/moderation/ScreenHider.tsx:99
+#: src/lib/moderation/useGlobalLabelStrings.ts:22
+#: src/lib/moderation/useModerationCauseDescription.ts:38
msgid "Content Warning"
msgstr "Avviso sul Contenuto"
@@ -852,28 +1002,38 @@ msgstr "Avviso sul Contenuto"
msgid "Content warnings"
msgstr "Avviso sui contenuti"
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:170
-#: src/screens/Onboarding/StepFollowingFeed.tsx:153
-#: src/screens/Onboarding/StepInterests/index.tsx:248
-#: src/screens/Onboarding/StepModeration/index.tsx:118
-#: src/screens/Onboarding/StepTopicalFeeds.tsx:114
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:148
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:209
+#: src/components/Menu/index.web.tsx:84
+msgid "Context menu backdrop, click to close the menu."
+msgstr "Sfondo del menu contestuale, clicca per chiudere il menu."
+
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:161
+#: src/screens/Onboarding/StepFollowingFeed.tsx:154
+#: src/screens/Onboarding/StepInterests/index.tsx:252
+#: src/screens/Onboarding/StepModeration/index.tsx:103
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:118
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:150
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:211
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:96
msgid "Continue"
msgstr "Continua"
-#: src/screens/Onboarding/StepFollowingFeed.tsx:150
-#: src/screens/Onboarding/StepInterests/index.tsx:245
-#: src/screens/Onboarding/StepModeration/index.tsx:115
-#: src/screens/Onboarding/StepTopicalFeeds.tsx:111
+#: src/components/AccountList.tsx:108
+msgid "Continue as {0} (currently signed in)"
+msgstr ""
+
+#: src/screens/Onboarding/StepFollowingFeed.tsx:151
+#: src/screens/Onboarding/StepInterests/index.tsx:249
+#: src/screens/Onboarding/StepModeration/index.tsx:100
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:115
+#: src/screens/Signup/index.tsx:200
msgid "Continue to next step"
msgstr "Vai al passaggio successivo"
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:167
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:158
msgid "Continue to the next step"
msgstr "Vai al passaggio successivo"
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:191
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:199
msgid "Continue to the next step without following any accounts"
msgstr "Vai al passaggio successivo senza seguire nessun account"
@@ -881,100 +1041,118 @@ msgstr "Vai al passaggio successivo senza seguire nessun account"
msgid "Cooking"
msgstr "Cucina"
-#: src/view/com/modals/AddAppPasswords.tsx:195
-#: src/view/com/modals/InviteCodes.tsx:182
+#: src/view/com/modals/AddAppPasswords.tsx:196
+#: src/view/com/modals/InviteCodes.tsx:183
msgid "Copied"
msgstr "Copiato"
-#: src/view/screens/Settings/index.tsx:241
+#: src/view/screens/Settings/index.tsx:254
msgid "Copied build version to clipboard"
msgstr "Versione di build copiata nella clipboard"
-#: src/view/com/modals/AddAppPasswords.tsx:76
-#: src/view/com/modals/InviteCodes.tsx:152
-#: src/view/com/util/forms/PostDropdownBtn.tsx:161
+#: src/view/com/modals/AddAppPasswords.tsx:77
+#: src/view/com/modals/ChangeHandle.tsx:326
+#: src/view/com/modals/InviteCodes.tsx:153
+#: src/view/com/util/forms/PostDropdownBtn.tsx:164
msgid "Copied to clipboard"
msgstr "Copiato nel clipboard"
-#: src/view/com/modals/AddAppPasswords.tsx:189
+#: src/components/dialogs/Embed.tsx:134
+msgid "Copied!"
+msgstr ""
+
+#: src/view/com/modals/AddAppPasswords.tsx:190
msgid "Copies app password"
msgstr "Copia la password dell'app"
-#: src/view/com/modals/AddAppPasswords.tsx:188
+#: src/view/com/modals/AddAppPasswords.tsx:189
msgid "Copy"
msgstr "Copia"
-#: src/view/screens/ProfileList.tsx:418
+#: src/view/com/modals/ChangeHandle.tsx:480
+msgid "Copy {0}"
+msgstr "Copia {0}"
+
+#: src/components/dialogs/Embed.tsx:120
+#: src/components/dialogs/Embed.tsx:139
+msgid "Copy code"
+msgstr ""
+
+#: src/view/screens/ProfileList.tsx:390
msgid "Copy link to list"
msgstr "Copia il link alla lista"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:231
-#: src/view/com/util/forms/PostDropdownBtn.tsx:237
+#: src/view/com/util/forms/PostDropdownBtn.tsx:236
+#: src/view/com/util/forms/PostDropdownBtn.tsx:245
msgid "Copy link to post"
msgstr "Copia il link al post"
-#: src/view/com/profile/ProfileHeader.tsx:295
-msgid "Copy link to profile"
-msgstr "Copia il link al profilo"
+#~ msgid "Copy link to profile"
+#~ msgstr "Copia il link al profilo"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:223
-#: src/view/com/util/forms/PostDropdownBtn.tsx:225
+#: src/view/com/util/forms/PostDropdownBtn.tsx:228
+#: src/view/com/util/forms/PostDropdownBtn.tsx:230
msgid "Copy post text"
msgstr "Copia il testo del post"
-#: src/Navigation.tsx:234
+#: src/Navigation.tsx:246
#: src/view/screens/CopyrightPolicy.tsx:29
msgid "Copyright Policy"
msgstr "Politica sul diritto d'autore"
-#: src/view/screens/ProfileFeed.tsx:97
+#: src/view/screens/ProfileFeed.tsx:103
msgid "Could not load feed"
msgstr "Feed non caricato"
-#: src/view/screens/ProfileList.tsx:893
+#: src/view/screens/ProfileList.tsx:909
msgid "Could not load list"
msgstr "No si è potuto caricare la lista"
-#: src/view/com/auth/create/Step2.tsx:91
#~ msgid "Country"
#~ msgstr "Paese"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:62
-#: src/view/com/auth/SplashScreen.tsx:71
-#: src/view/com/auth/SplashScreen.web.tsx:81
+#: src/view/com/auth/SplashScreen.tsx:57
+#: src/view/com/auth/SplashScreen.web.tsx:101
msgid "Create a new account"
msgstr "Crea un nuovo account"
-#: src/view/screens/Settings/index.tsx:384
+#: src/view/screens/Settings/index.tsx:406
msgid "Create a new Bluesky account"
msgstr "Crea un nuovo Bluesky account"
-#: src/view/com/auth/create/CreateAccount.tsx:133
+#: src/screens/Signup/index.tsx:130
msgid "Create Account"
msgstr "Crea un account"
-#: src/view/com/modals/AddAppPasswords.tsx:226
+#: src/components/dialogs/Signin.tsx:86
+#: src/components/dialogs/Signin.tsx:88
+msgid "Create an account"
+msgstr ""
+
+#: src/view/com/modals/AddAppPasswords.tsx:227
msgid "Create App Password"
msgstr "Crea un password per l'app"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:54
-#: src/view/com/auth/SplashScreen.tsx:68
+#: src/view/com/auth/SplashScreen.tsx:48
+#: src/view/com/auth/SplashScreen.web.tsx:92
msgid "Create new account"
msgstr "Crea un nuovo account"
-#: src/view/screens/AppPasswords.tsx:249
+#: src/components/ReportDialog/SelectReportOptionView.tsx:94
+msgid "Create report for {0}"
+msgstr "Crea un report per {0}"
+
+#: src/view/screens/AppPasswords.tsx:246
msgid "Created {0}"
msgstr "Creato {0}"
-#: src/view/screens/ProfileFeed.tsx:616
-msgid "Created by <0/>"
-msgstr "Creato da <0/>"
+#~ msgid "Created by <0/>"
+#~ msgstr "Creato da <0/>"
-#: src/view/screens/ProfileFeed.tsx:614
-msgid "Created by you"
-msgstr "Creato da te"
+#~ msgid "Created by you"
+#~ msgstr "Creato da te"
-#: src/view/com/composer/Composer.tsx:455
+#: src/view/com/composer/Composer.tsx:469
msgid "Creates a card with a thumbnail. The card links to {url}"
msgstr "Crea una scheda con una miniatura. La scheda si collega a {url}"
@@ -982,26 +1160,29 @@ msgstr "Crea una scheda con una miniatura. La scheda si collega a {url}"
msgid "Culture"
msgstr "Cultura"
-#: src/view/com/auth/server-input/index.tsx:95
-#: src/view/com/auth/server-input/index.tsx:96
+#: src/view/com/auth/server-input/index.tsx:97
+#: src/view/com/auth/server-input/index.tsx:99
msgid "Custom"
msgstr "Personalizzato"
-#: src/view/com/modals/ChangeHandle.tsx:389
+#: src/view/com/modals/ChangeHandle.tsx:388
msgid "Custom domain"
msgstr "Dominio personalizzato"
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:106
-#: src/view/screens/Feeds.tsx:692
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:107
+#: src/view/screens/Feeds.tsx:717
msgid "Custom feeds built by the community bring you new experiences and help you find the content you love."
-msgstr "I feed personalizzati creati dalla comunità ti offrono nuove esperienze e ti aiutano a trovare i contenuti che ami."
+msgstr "I feed personalizzati creati dalla comunità ti offrono nuove esperienze e ti aiutano a trovare contenuti interessanti."
#: src/view/screens/PreferencesExternalEmbeds.tsx:55
msgid "Customize media from external sites."
msgstr "Personalizza i media da i siti esterni."
-#: src/view/screens/Settings/index.tsx:485
-#: src/view/screens/Settings/index.tsx:511
+#~ msgid "Danger Zone"
+#~ msgstr "Zona di Pericolo"
+
+#: src/view/screens/Settings/index.tsx:455
+#: src/view/screens/Settings/index.tsx:481
msgid "Dark"
msgstr "Scuro"
@@ -1009,67 +1190,90 @@ msgstr "Scuro"
msgid "Dark mode"
msgstr "Aspetto scuro"
-#: src/view/screens/Settings/index.tsx:498
+#: src/view/screens/Settings/index.tsx:468
msgid "Dark Theme"
msgstr "Tema scuro"
+#: src/screens/Signup/StepInfo/index.tsx:134
+msgid "Date of birth"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:805
+msgid "Debug Moderation"
+msgstr "Eliminare errori nella Moderazione"
+
#: src/view/screens/Debug.tsx:83
msgid "Debug panel"
msgstr "Pannello per il debug"
-#: src/view/screens/Settings/index.tsx:772
+#: src/view/com/util/forms/PostDropdownBtn.tsx:341
+#: src/view/screens/AppPasswords.tsx:268
+#: src/view/screens/ProfileList.tsx:615
+msgid "Delete"
+msgstr "Elimina"
+
+#: src/view/screens/Settings/index.tsx:760
msgid "Delete account"
-msgstr "Eliminare l'account"
+msgstr "Elimina l'account"
-#: src/view/com/modals/DeleteAccount.tsx:87
+#: src/view/com/modals/DeleteAccount.tsx:86
msgid "Delete Account"
-msgstr "Eliminare l'Account"
+msgstr "Elimina l'Account"
-#: src/view/screens/AppPasswords.tsx:222 src/view/screens/AppPasswords.tsx:242
+#: src/view/screens/AppPasswords.tsx:239
msgid "Delete app password"
msgstr "Elimina la password dell'app"
-#: src/view/screens/ProfileList.tsx:364
-#: src/view/screens/ProfileList.tsx:445
+#: src/view/screens/AppPasswords.tsx:263
+msgid "Delete app password?"
+msgstr "Eliminare la password dell'app?"
+
+#: src/view/screens/ProfileList.tsx:417
msgid "Delete List"
msgstr "Elimina la lista"
-#: src/view/com/modals/DeleteAccount.tsx:223
+#: src/view/com/modals/DeleteAccount.tsx:222
msgid "Delete my account"
msgstr "Cancellare account"
-#: src/view/screens/Settings/index.tsx:784
+#~ msgid "Delete my account…"
+#~ msgstr "Cancella il mio account…"
+
+#: src/view/screens/Settings/index.tsx:772
msgid "Delete My Account…"
msgstr "Cancellare Account…"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:317
-#: src/view/com/util/forms/PostDropdownBtn.tsx:326
+#: src/view/com/util/forms/PostDropdownBtn.tsx:322
+#: src/view/com/util/forms/PostDropdownBtn.tsx:324
msgid "Delete post"
msgstr "Elimina il post"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:321
+#: src/view/screens/ProfileList.tsx:610
+msgid "Delete this list?"
+msgstr "Elimina questa lista?"
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:336
msgid "Delete this post?"
msgstr "Eliminare questo post?"
-#: src/view/com/util/post-embeds/QuoteEmbed.tsx:70
+#: src/view/com/util/post-embeds/QuoteEmbed.tsx:67
msgid "Deleted"
msgstr "Eliminato"
-#: src/view/com/post-thread/PostThread.tsx:316
+#: src/view/com/post-thread/PostThread.tsx:305
msgid "Deleted post."
msgstr "Post eliminato."
-#: src/view/com/modals/CreateOrEditList.tsx:300
-#: src/view/com/modals/CreateOrEditList.tsx:321
-#: src/view/com/modals/EditProfile.tsx:198
-#: src/view/com/modals/EditProfile.tsx:210
+#: src/view/com/modals/CreateOrEditList.tsx:301
+#: src/view/com/modals/CreateOrEditList.tsx:322
+#: src/view/com/modals/EditProfile.tsx:199
+#: src/view/com/modals/EditProfile.tsx:211
msgid "Description"
msgstr "Descrizione"
#~ msgid "Dev Server"
-#~ msgstr "Servidor de desenvolupament"
+#~ msgstr "Server di sviluppo"
-#: src/view/screens/Settings.tsx:711
#~ msgid "Developer Tools"
#~ msgstr "Strumenti per sviluppatori"
@@ -1077,19 +1281,38 @@ msgstr "Descrizione"
msgid "Did you want to say anything?"
msgstr "Volevi dire qualcosa?"
-#: src/view/screens/Settings/index.tsx:504
+#: src/view/screens/Settings/index.tsx:474
msgid "Dim"
msgstr "Fioco"
-#: src/view/com/composer/Composer.tsx:151
+#: src/view/screens/Settings/index.tsx:697
+msgid "Disable haptics"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:697
+msgid "Disable vibrations"
+msgstr ""
+
+#: src/lib/moderation/useLabelBehaviorDescription.ts:32
+#: src/lib/moderation/useLabelBehaviorDescription.ts:42
+#: src/lib/moderation/useLabelBehaviorDescription.ts:68
+#: src/screens/Moderation/index.tsx:341
+msgid "Disabled"
+msgstr "Disabilitato"
+
+#: src/view/com/composer/Composer.tsx:511
msgid "Discard"
msgstr "Scartare"
-#: src/view/com/composer/Composer.tsx:145
-msgid "Discard draft"
-msgstr "Scarta la bozza"
+#~ msgid "Discard draft"
+#~ msgstr "Scarta la bozza"
-#: src/view/screens/Moderation.tsx:226
+#: src/view/com/composer/Composer.tsx:508
+msgid "Discard draft?"
+msgstr "Scartare la bozza?"
+
+#: src/screens/Moderation/index.tsx:518
+#: src/screens/Moderation/index.tsx:522
msgid "Discourage apps from showing my account to logged-out users"
msgstr "Scoraggia le app dal mostrare il mio account agli utenti disconnessi"
@@ -1098,30 +1321,67 @@ msgstr "Scoraggia le app dal mostrare il mio account agli utenti disconnessi"
msgid "Discover new custom feeds"
msgstr "Scopri nuovi feeds personalizzati"
-#: src/view/screens/Feeds.tsx:689
+#~ msgid "Discover new feeds"
+#~ msgstr "Scopri nuovi feeds"
+
+#: src/view/screens/Feeds.tsx:714
msgid "Discover New Feeds"
msgstr "Scopri nuovi feeds"
-#: src/view/com/modals/EditProfile.tsx:192
+#: src/view/com/modals/EditProfile.tsx:193
msgid "Display name"
msgstr "Nome visualizzato"
-#: src/view/com/modals/EditProfile.tsx:180
+#: src/view/com/modals/EditProfile.tsx:181
msgid "Display Name"
msgstr "Nome Visualizzato"
-#: src/view/com/modals/ChangeHandle.tsx:487
+#: src/view/com/modals/ChangeHandle.tsx:397
+msgid "DNS Panel"
+msgstr "Pannello DNS"
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:39
+msgid "Does not include nudity."
+msgstr "Non include nudità."
+
+#: src/screens/Signup/StepHandle.tsx:105
+msgid "Doesn't begin or end with a hyphen"
+msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:481
+msgid "Domain Value"
+msgstr "Valore del dominio"
+
+#: src/view/com/modals/ChangeHandle.tsx:488
msgid "Domain verified!"
msgstr "Dominio verificato!"
-#: src/view/com/auth/create/Step1.tsx:170
#~ msgid "Don't have an invite code?"
#~ msgstr "Non hai un codice di invito?"
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:86
-#: src/view/com/modals/EditImage.tsx:333
+#: src/components/dialogs/BirthDateSettings.tsx:119
+#: src/components/dialogs/BirthDateSettings.tsx:125
+#: src/components/forms/DateField/index.tsx:74
+#: src/components/forms/DateField/index.tsx:80
+#: src/view/com/auth/server-input/index.tsx:169
+#: src/view/com/auth/server-input/index.tsx:170
+#: src/view/com/modals/AddAppPasswords.tsx:227
+#: src/view/com/modals/AltImage.tsx:140
+#: src/view/com/modals/crop-image/CropImage.web.tsx:153
+#: src/view/com/modals/InviteCodes.tsx:81
+#: src/view/com/modals/InviteCodes.tsx:124
+#: src/view/com/modals/ListAddRemoveUsers.tsx:142
+#: src/view/screens/PreferencesFollowingFeed.tsx:311
+#: src/view/screens/Settings/ExportCarDialog.tsx:94
+#: src/view/screens/Settings/ExportCarDialog.tsx:96
+msgid "Done"
+msgstr "Fatto"
+
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:87
+#: src/view/com/modals/EditImage.tsx:334
#: src/view/com/modals/ListAddRemoveUsers.tsx:144
-#: src/view/com/modals/SelfLabel.tsx:157 src/view/com/modals/Threadgate.tsx:129
+#: src/view/com/modals/SelfLabel.tsx:157
+#: src/view/com/modals/Threadgate.tsx:129
#: src/view/com/modals/Threadgate.tsx:132
#: src/view/com/modals/UserAddRemoveLists.tsx:95
#: src/view/com/modals/UserAddRemoveLists.tsx:98
@@ -1130,33 +1390,16 @@ msgctxt "action"
msgid "Done"
msgstr "Fatto"
-#: src/view/com/auth/server-input/index.tsx:165
-#: src/view/com/auth/server-input/index.tsx:166
-#: src/view/com/modals/AddAppPasswords.tsx:226
-#: src/view/com/modals/AltImage.tsx:139
-#: src/view/com/modals/ContentFilteringSettings.tsx:88
-#: src/view/com/modals/ContentFilteringSettings.tsx:96
-#: src/view/com/modals/crop-image/CropImage.web.tsx:152
-#: src/view/com/modals/InviteCodes.tsx:80
-#: src/view/com/modals/InviteCodes.tsx:123
-#: src/view/com/modals/ListAddRemoveUsers.tsx:142
-#: src/view/screens/PreferencesFollowingFeed.tsx:311
-#: src/view/screens/Settings/ExportCarDialog.tsx:93
-#: src/view/screens/Settings/ExportCarDialog.tsx:94
-msgid "Done"
-msgstr "Fatto"
-
-#: src/view/com/modals/lang-settings/ConfirmLanguagesButton.tsx:42
+#: src/view/com/modals/lang-settings/ConfirmLanguagesButton.tsx:43
msgid "Done{extraText}"
msgstr "Fatto{extraText}"
-#: src/view/com/auth/login/ChooseAccountForm.tsx:45
-msgid "Double tap to sign in"
-msgstr "Usa il doppio tocco per accedere"
+#: src/view/com/auth/login/ChooseAccountForm.tsx:46
+#~ msgid "Double tap to sign in"
+#~ msgstr "Usa il doppio tocco per accedere"
-#: src/view/screens/Settings/index.tsx:755
-msgid "Download Bluesky account data (repository)"
-msgstr "Scarica i dati dell'account Bluesky (archivio)"
+#~ msgid "Download Bluesky account data (repository)"
+#~ msgstr "Scarica i dati dell'account Bluesky (archivio)"
#: src/view/screens/Settings/ExportCarDialog.tsx:59
#: src/view/screens/Settings/ExportCarDialog.tsx:63
@@ -1167,35 +1410,47 @@ msgstr "Scarica il CAR file"
msgid "Drop to add images"
msgstr "Trascina e rilascia per aggiungere immagini"
-#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:111
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:120
msgid "Due to Apple policies, adult content can only be enabled on the web after completing sign up."
msgstr "A causa delle politiche di Apple, i contenuti per adulti possono essere abilitati sul Web solo dopo aver completato la registrazione."
-#: src/view/com/modals/EditProfile.tsx:185
-msgid "e.g. Alice Roberts"
-msgstr "e.g. Anna Rossi"
+#: src/view/com/modals/ChangeHandle.tsx:258
+msgid "e.g. alice"
+msgstr "e.g. alice"
-#: src/view/com/modals/EditProfile.tsx:203
+#: src/view/com/modals/EditProfile.tsx:186
+msgid "e.g. Alice Roberts"
+msgstr "e.g. Alice Roberts"
+
+#: src/view/com/modals/ChangeHandle.tsx:380
+msgid "e.g. alice.com"
+msgstr "e.g. alice.com"
+
+#: src/view/com/modals/EditProfile.tsx:204
msgid "e.g. Artist, dog-lover, and avid reader."
msgstr "e.g. Artista, amo i gatti, mi piace leggere."
-#: src/view/com/modals/CreateOrEditList.tsx:283
+#: src/lib/moderation/useGlobalLabelStrings.ts:43
+msgid "E.g. artistic nudes."
+msgstr "E.g. nudi artistici."
+
+#: src/view/com/modals/CreateOrEditList.tsx:284
msgid "e.g. Great Posters"
msgstr "e.g. Gli utenti più seguiti"
-#: src/view/com/modals/CreateOrEditList.tsx:284
+#: src/view/com/modals/CreateOrEditList.tsx:285
msgid "e.g. Spammers"
msgstr "e.g. Spammers"
-#: src/view/com/modals/CreateOrEditList.tsx:312
+#: src/view/com/modals/CreateOrEditList.tsx:313
msgid "e.g. The posters who never miss."
msgstr "e.g. Utenti più prolifici."
-#: src/view/com/modals/CreateOrEditList.tsx:313
+#: src/view/com/modals/CreateOrEditList.tsx:314
msgid "e.g. Users that repeatedly reply with ads."
msgstr "e.g. Utenti che rispondono ripetutamente con annunci."
-#: src/view/com/modals/InviteCodes.tsx:96
+#: src/view/com/modals/InviteCodes.tsx:97
msgid "Each code works once. You'll receive more invite codes periodically."
msgstr "Ogni codice funziona per un solo uso. Riceverai periodicamente più codici di invito."
@@ -1204,51 +1459,58 @@ msgctxt "action"
msgid "Edit"
msgstr "Modifica"
+#: src/view/com/util/UserAvatar.tsx:301
+#: src/view/com/util/UserBanner.tsx:85
+msgid "Edit avatar"
+msgstr "Modifica l'avatar"
+
#: src/view/com/composer/photos/Gallery.tsx:144
-#: src/view/com/modals/EditImage.tsx:207
+#: src/view/com/modals/EditImage.tsx:208
msgid "Edit image"
msgstr "Modifica l'immagine"
-#: src/view/screens/ProfileList.tsx:433
+#: src/view/screens/ProfileList.tsx:405
msgid "Edit list details"
msgstr "Modifica i dettagli della lista"
-#: src/view/com/modals/CreateOrEditList.tsx:250
+#: src/view/com/modals/CreateOrEditList.tsx:251
msgid "Edit Moderation List"
msgstr "Modifica l'elenco di moderazione"
-#: src/Navigation.tsx:244
-#: src/view/screens/Feeds.tsx:434
-#: src/view/screens/SavedFeeds.tsx:84
+#: src/Navigation.tsx:256
+#: src/view/screens/Feeds.tsx:459
+#: src/view/screens/SavedFeeds.tsx:85
msgid "Edit My Feeds"
msgstr "Modifica i miei feeds"
-#: src/view/com/modals/EditProfile.tsx:152
+#: src/view/com/modals/EditProfile.tsx:153
msgid "Edit my profile"
msgstr "Modifica il mio profilo"
-#: src/view/com/profile/ProfileHeader.tsx:418
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:178
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:168
msgid "Edit profile"
msgstr "Modifica il profilo"
-#: src/view/com/profile/ProfileHeader.tsx:423
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:181
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:171
msgid "Edit Profile"
msgstr "Modifica il Profilo"
-#: src/view/com/home/HomeHeaderLayout.web.tsx:62
-#: src/view/screens/Feeds.tsx:355
+#: src/view/com/home/HomeHeaderLayout.web.tsx:66
+#: src/view/screens/Feeds.tsx:380
msgid "Edit Saved Feeds"
msgstr "Modifica i feeds memorizzati"
-#: src/view/com/modals/CreateOrEditList.tsx:245
+#: src/view/com/modals/CreateOrEditList.tsx:246
msgid "Edit User List"
msgstr "Modifica l'elenco degli utenti"
-#: src/view/com/modals/EditProfile.tsx:193
+#: src/view/com/modals/EditProfile.tsx:194
msgid "Edit your display name"
msgstr "Modifica il tuo nome visualizzato"
-#: src/view/com/modals/EditProfile.tsx:211
+#: src/view/com/modals/EditProfile.tsx:212
msgid "Edit your profile description"
msgstr "Modifica la descrizione del tuo profilo"
@@ -1256,14 +1518,12 @@ msgstr "Modifica la descrizione del tuo profilo"
msgid "Education"
msgstr "Formazione scolastica"
-#: src/view/com/auth/create/Step1.tsx:176
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:156
+#: src/screens/Signup/StepInfo/index.tsx:80
#: src/view/com/modals/ChangeEmail.tsx:141
msgid "Email"
msgstr "Email"
-#: src/view/com/auth/create/Step1.tsx:167
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:147
+#: src/screens/Login/ForgotPasswordForm.tsx:99
msgid "Email address"
msgstr "Indirizzo email"
@@ -1280,26 +1540,49 @@ msgstr "Email Aggiornata"
msgid "Email verified"
msgstr "Email verificata"
-#: src/view/screens/Settings/index.tsx:312
+#: src/view/screens/Settings/index.tsx:334
msgid "Email:"
msgstr "Email:"
-#: src/view/com/modals/EmbedConsent.tsx:113
+#: src/components/dialogs/Embed.tsx:112
+msgid "Embed HTML code"
+msgstr ""
+
+#: src/components/dialogs/Embed.tsx:97
+#: src/view/com/util/forms/PostDropdownBtn.tsx:253
+#: src/view/com/util/forms/PostDropdownBtn.tsx:255
+msgid "Embed post"
+msgstr ""
+
+#: src/components/dialogs/Embed.tsx:101
+msgid "Embed this post in your website. Simply copy the following snippet and paste it into the HTML code of your website."
+msgstr ""
+
+#: src/components/dialogs/EmbedConsent.tsx:101
msgid "Enable {0} only"
msgstr "Attiva {0} solo"
-#: src/view/com/modals/ContentFilteringSettings.tsx:167
+#: src/screens/Moderation/index.tsx:329
+msgid "Enable adult content"
+msgstr "Attiva il contenuto per adulti"
+
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:94
msgid "Enable Adult Content"
msgstr "Attiva Contenuto per Adulti"
-#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:76
-#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:77
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:78
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:79
msgid "Enable adult content in your feeds"
msgstr "Abilita i contenuti per adulti nei tuoi feeds"
+#: src/components/dialogs/EmbedConsent.tsx:82
+#: src/components/dialogs/EmbedConsent.tsx:89
+msgid "Enable external media"
+msgstr ""
+
#: src/view/com/modals/EmbedConsent.tsx:97
-msgid "Enable External Media"
-msgstr "Attiva Media Esterna"
+#~ msgid "Enable External Media"
+#~ msgstr "Attiva Media Esterna"
#: src/view/screens/PreferencesExternalEmbeds.tsx:75
msgid "Enable media players for"
@@ -1309,45 +1592,59 @@ msgstr "Attiva i lettori multimediali per"
msgid "Enable this setting to only see replies between people you follow."
msgstr "Abilita questa impostazione per vedere solo le risposte delle persone che segui."
-#: src/view/screens/Profile.tsx:455
+#: src/components/dialogs/EmbedConsent.tsx:94
+msgid "Enable this source only"
+msgstr ""
+
+#: src/screens/Moderation/index.tsx:339
+msgid "Enabled"
+msgstr "Abilitato"
+
+#: src/screens/Profile/Sections/Feed.tsx:100
msgid "End of feed"
msgstr "Fine del feed"
-#: src/view/com/modals/AddAppPasswords.tsx:166
+#: src/view/com/modals/AddAppPasswords.tsx:167
msgid "Enter a name for this App Password"
msgstr "Inserisci un nome per questa password dell'app"
-#: src/components/dialogs/MutedWords.tsx:100
-#: src/components/dialogs/MutedWords.tsx:101
-msgid "Enter a word or tag"
+#: src/screens/Login/SetNewPasswordForm.tsx:139
+msgid "Enter a password"
msgstr ""
+#: src/components/dialogs/MutedWords.tsx:99
+#: src/components/dialogs/MutedWords.tsx:100
+msgid "Enter a word or tag"
+msgstr "Inserisci una parola o tag"
+
#: src/view/com/modals/VerifyEmail.tsx:105
msgid "Enter Confirmation Code"
msgstr "Inserire il codice di conferma"
-#: src/view/com/modals/ChangePassword.tsx:151
+#~ msgid "Enter the address of your provider:"
+#~ msgstr "Inserisci l'indirizzo del tuo provider:"
+
+#: src/view/com/modals/ChangePassword.tsx:153
msgid "Enter the code you received to change your password."
msgstr "Inserisci il codice che hai ricevuto per modificare la tua password."
-#: src/view/com/modals/ChangeHandle.tsx:371
+#: src/view/com/modals/ChangeHandle.tsx:370
msgid "Enter the domain you want to use"
msgstr "Inserisci il dominio che vuoi utilizzare"
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:107
+#: src/screens/Login/ForgotPasswordForm.tsx:119
msgid "Enter the email you used to create your account. We'll send you a \"reset code\" so you can set a new password."
msgstr "Inserisci l'e-mail che hai utilizzato per creare il tuo account. Ti invieremo un \"codice di reset\" in modo che tu possa impostare una nuova password."
-#: src/view/com/auth/create/Step1.tsx:228
-#: src/view/com/modals/BirthDateSettings.tsx:74
+#: src/components/dialogs/BirthDateSettings.tsx:108
msgid "Enter your birth date"
msgstr "Inserisci la tua data di nascita"
-#: src/view/com/modals/Waitlist.tsx:78
#~ msgid "Enter your email"
#~ msgstr "Inserisci la tua email"
-#: src/view/com/auth/create/Step1.tsx:172
+#: src/screens/Login/ForgotPasswordForm.tsx:105
+#: src/screens/Signup/StepInfo/index.tsx:92
msgid "Enter your email address"
msgstr "Inserisci il tuo indirizzo email"
@@ -1359,19 +1656,18 @@ msgstr "Inserisci la tua nuova email qui sopra"
msgid "Enter your new email address below."
msgstr "Inserisci il tuo nuovo indirizzo email qui sotto."
-#: src/view/com/auth/create/Step2.tsx:188
#~ msgid "Enter your phone number"
#~ msgstr "Inserisci il tuo numero di telefono"
-#: src/view/com/auth/login/Login.tsx:99
+#: src/screens/Login/index.tsx:101
msgid "Enter your username and password"
msgstr "Inserisci il tuo nome di utente e la tua password"
-#: src/view/com/auth/create/Step3.tsx:67
+#: src/screens/Signup/StepCaptcha/index.tsx:49
msgid "Error receiving captcha response."
-msgstr ""
+msgstr "Errore nella risposta del captcha."
-#: src/view/screens/Search/Search.tsx:110
+#: src/view/screens/Search/Search.tsx:115
msgid "Error:"
msgstr "Errore:"
@@ -1379,122 +1675,154 @@ msgstr "Errore:"
msgid "Everybody"
msgstr "Tutti"
-#: src/view/com/modals/ChangeHandle.tsx:150
+#: src/lib/moderation/useReportOptions.ts:66
+msgid "Excessive mentions or replies"
+msgstr "Menzioni o risposte eccessive"
+
+#: src/view/com/modals/DeleteAccount.tsx:230
+msgid "Exits account deletion process"
+msgstr "Uscita dall'eliminazione dell'account"
+
+#: src/view/com/modals/ChangeHandle.tsx:151
msgid "Exits handle change process"
msgstr "Uscita dal processo di modifica"
-#: src/view/com/lightbox/Lightbox.web.tsx:120
+#: src/view/com/modals/crop-image/CropImage.web.tsx:136
+msgid "Exits image cropping process"
+msgstr "Uscita dal processo di ritaglio dell'immagine"
+
+#: src/view/com/lightbox/Lightbox.web.tsx:130
msgid "Exits image view"
msgstr "Uscita dalla visualizzazione dell'immagine"
#: src/view/com/modals/ListAddRemoveUsers.tsx:88
-#: src/view/shell/desktop/Search.tsx:235
+#: src/view/shell/desktop/Search.tsx:236
msgid "Exits inputting search query"
msgstr "Uscita dall'inserzione della domanda di ricerca"
-#: src/view/com/modals/Waitlist.tsx:138
#~ msgid "Exits signing up for waitlist with {email}"
#~ msgstr "Uscita dall'iscrizione alla lista d'attesa con {email}"
-#: src/view/com/lightbox/Lightbox.web.tsx:163
+#: src/view/com/lightbox/Lightbox.web.tsx:183
msgid "Expand alt text"
msgstr "Ampliare il testo alternativo"
-#: src/view/com/composer/ComposerReplyTo.tsx:81
-#: src/view/com/composer/ComposerReplyTo.tsx:84
+#: src/view/com/composer/ComposerReplyTo.tsx:82
+#: src/view/com/composer/ComposerReplyTo.tsx:85
msgid "Expand or collapse the full post you are replying to"
msgstr "Espandi o comprimi l'intero post a cui stai rispondendo"
-#: src/view/screens/Settings/index.tsx:753
+#: src/lib/moderation/useGlobalLabelStrings.ts:47
+msgid "Explicit or potentially disturbing media."
+msgstr "Media espliciti o potenzialmente inquietanti."
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:35
+msgid "Explicit sexual images."
+msgstr "Immagini sessuali esplicite."
+
+#: src/view/screens/Settings/index.tsx:741
msgid "Export my data"
msgstr "Esporta i miei dati"
#: src/view/screens/Settings/ExportCarDialog.tsx:44
-#: src/view/screens/Settings/index.tsx:764
+#: src/view/screens/Settings/index.tsx:752
msgid "Export My Data"
msgstr "Esporta i miei dati"
-#: src/view/com/modals/EmbedConsent.tsx:64
+#: src/components/dialogs/EmbedConsent.tsx:55
+#: src/components/dialogs/EmbedConsent.tsx:59
msgid "External Media"
msgstr "Media esterni"
-#: src/view/com/modals/EmbedConsent.tsx:75
+#: src/components/dialogs/EmbedConsent.tsx:71
#: src/view/screens/PreferencesExternalEmbeds.tsx:66
msgid "External media may allow websites to collect information about you and your device. No information is sent or requested until you press the \"play\" button."
msgstr "I multimediali esterni possono consentire ai siti web di raccogliere informazioni su di te e sul tuo dispositivo. Nessuna informazione viene inviata o richiesta finché non si preme il pulsante \"Riproduci\"."
-#: src/Navigation.tsx:263
+#: src/Navigation.tsx:275
#: src/view/screens/PreferencesExternalEmbeds.tsx:52
-#: src/view/screens/Settings/index.tsx:657
+#: src/view/screens/Settings/index.tsx:628
msgid "External Media Preferences"
msgstr "Preferenze multimediali esterni"
-#: src/view/screens/Settings/index.tsx:648
+#: src/view/screens/Settings/index.tsx:619
msgid "External media settings"
msgstr "Impostazioni multimediali esterni"
-#: src/view/com/modals/AddAppPasswords.tsx:115
-#: src/view/com/modals/AddAppPasswords.tsx:119
+#: src/view/com/modals/AddAppPasswords.tsx:116
+#: src/view/com/modals/AddAppPasswords.tsx:120
msgid "Failed to create app password."
msgstr "Impossibile creare la password dell'app."
-#: src/view/com/modals/CreateOrEditList.tsx:206
+#: src/view/com/modals/CreateOrEditList.tsx:207
msgid "Failed to create the list. Check your internet connection and try again."
msgstr "Impossibile creare l'elenco. Controlla la connessione Internet e riprova."
-#: src/view/com/util/forms/PostDropdownBtn.tsx:128
+#: src/view/com/util/forms/PostDropdownBtn.tsx:131
msgid "Failed to delete post, please try again"
msgstr "Non possiamo eliminare il post, riprova di nuovo"
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:109
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:141
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:110
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:143
msgid "Failed to load recommended feeds"
msgstr "Non possiamo caricare i feed consigliati"
-#: src/Navigation.tsx:194
+#: src/view/com/lightbox/Lightbox.tsx:83
+msgid "Failed to save image: {0}"
+msgstr "Non è possibile salvare l'immagine: {0}"
+
+#: src/Navigation.tsx:196
msgid "Feed"
msgstr "Feed"
-#: src/view/com/feeds/FeedSourceCard.tsx:231
+#: src/view/com/feeds/FeedSourceCard.tsx:218
msgid "Feed by {0}"
msgstr "Feed fatto da {0}"
-#: src/view/screens/Feeds.tsx:605
+#: src/view/screens/Feeds.tsx:630
msgid "Feed offline"
msgstr "Feed offline"
-#: src/view/com/feeds/FeedPage.tsx:143
#~ msgid "Feed Preferences"
#~ msgstr "Preferenze del feed"
#: src/view/shell/desktop/RightNav.tsx:61
-#: src/view/shell/Drawer.tsx:311
+#: src/view/shell/Drawer.tsx:320
msgid "Feedback"
msgstr "Commenti"
-#: src/Navigation.tsx:452
-#: src/view/screens/Feeds.tsx:419
-#: src/view/screens/Feeds.tsx:524
-#: src/view/screens/Profile.tsx:184
-#: src/view/shell/bottom-bar/BottomBar.tsx:181
-#: src/view/shell/desktop/LeftNav.tsx:342 src/view/shell/Drawer.tsx:476
-#: src/view/shell/Drawer.tsx:477
+#: src/Navigation.tsx:456
+#: src/view/screens/Feeds.tsx:444
+#: src/view/screens/Feeds.tsx:549
+#: src/view/screens/Profile.tsx:199
+#: src/view/shell/bottom-bar/BottomBar.tsx:192
+#: src/view/shell/desktop/LeftNav.tsx:346
+#: src/view/shell/Drawer.tsx:485
+#: src/view/shell/Drawer.tsx:486
msgid "Feeds"
msgstr "Feeds"
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:57
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:58
msgid "Feeds are created by users to curate content. Choose some feeds that you find interesting."
msgstr "I feed vengono creati dagli utenti per curare i contenuti. Scegli alcuni feed che ritieni interessanti."
-#: src/view/screens/SavedFeeds.tsx:156
+#: src/view/screens/SavedFeeds.tsx:157
msgid "Feeds are custom algorithms that users build with a little coding expertise. <0/> for more information."
msgstr "I feed sono algoritmi personalizzati che gli utenti creano con un minimo di esperienza nella codifica. Vedi <0/> per ulteriori informazioni."
-#: src/screens/Onboarding/StepTopicalFeeds.tsx:76
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:80
msgid "Feeds can be topical as well!"
msgstr "I feeds possono anche avere tematiche!"
-#: src/screens/Onboarding/StepFinished.tsx:151
+#: src/view/com/modals/ChangeHandle.tsx:481
+msgid "File Contents"
+msgstr "Archivia i contenuti"
+
+#: src/lib/moderation/useLabelBehaviorDescription.ts:66
+msgid "Filter from feeds"
+msgstr "Filtra dai feed"
+
+#: src/screens/Onboarding/StepFinished.tsx:155
msgid "Finalizing"
msgstr "Finalizzando"
@@ -1504,23 +1832,22 @@ msgstr "Finalizzando"
msgid "Find accounts to follow"
msgstr "Trova account da seguire"
-#: src/view/screens/Search/Search.tsx:440
+#: src/view/screens/Search/Search.tsx:589
msgid "Find users on Bluesky"
msgstr "Trova utenti su Bluesky"
-#: src/view/screens/Search/Search.tsx:438
+#: src/view/screens/Search/Search.tsx:587
msgid "Find users with the search tool on the right"
msgstr "Trova gli utenti con lo strumento di ricerca sulla destra"
-#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:150
+#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:155
msgid "Finding similar accounts..."
msgstr "Trovare account simili…"
#: src/view/screens/PreferencesFollowingFeed.tsx:111
msgid "Fine-tune the content you see on your Following feed."
-msgstr ""
+msgstr "Ottimizza il contenuto che vedi nel tuo Following feed."
-#: src/view/screens/PreferencesHomeFeed.tsx:111
#~ msgid "Fine-tune the content you see on your home screen."
#~ msgstr "Ottimizza il contenuto che vedi nella pagina d'inizio."
@@ -1532,48 +1859,60 @@ msgstr "Ottimizza i la visualizzazione delle discussioni."
msgid "Fitness"
msgstr "Fitness"
-#: src/screens/Onboarding/StepFinished.tsx:131
+#: src/screens/Onboarding/StepFinished.tsx:135
msgid "Flexible"
msgstr "Flessibile"
-#: src/view/com/modals/EditImage.tsx:115
+#: src/view/com/modals/EditImage.tsx:116
msgid "Flip horizontal"
msgstr "Gira in orizzontale"
-#: src/view/com/modals/EditImage.tsx:120 src/view/com/modals/EditImage.tsx:287
+#: src/view/com/modals/EditImage.tsx:121
+#: src/view/com/modals/EditImage.tsx:288
msgid "Flip vertically"
msgstr "Gira in verticale"
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:181
-#: src/view/com/post-thread/PostThreadFollowBtn.tsx:136
-#: src/view/com/profile/ProfileHeader.tsx:513
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:189
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:235
+#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:141
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:146
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:248
msgid "Follow"
msgstr "Segui"
-#: src/view/com/profile/FollowButton.tsx:64
+#: src/view/com/profile/FollowButton.tsx:69
msgctxt "action"
msgid "Follow"
msgstr "Segui"
#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:58
-#: src/view/com/post-thread/PostThreadFollowBtn.tsx:122
-#: src/view/com/profile/ProfileHeader.tsx:504
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:221
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:128
msgid "Follow {0}"
msgstr "Segui {0}"
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:179
+#: src/view/com/profile/ProfileMenu.tsx:242
+#: src/view/com/profile/ProfileMenu.tsx:253
+msgid "Follow Account"
+msgstr "Segui l'Account"
+
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:187
msgid "Follow All"
msgstr "Segui tutti"
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:174
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:144
+msgid "Follow Back"
+msgstr ""
+
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:182
msgid "Follow selected accounts and continue to the next step"
msgstr "Segui gli account selezionati e vai al passaggio successivo"
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:64
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:65
msgid "Follow some users to get started. We can recommend you more users based on who you find interesting."
msgstr "Segui alcuni utenti per iniziare. Possiamo consigliarti più utenti in base a chi trovi interessante."
-#: src/view/com/profile/ProfileCard.tsx:194
+#: src/view/com/profile/ProfileCard.tsx:219
msgid "Followed by {0}"
msgstr "Seguito da {0}"
@@ -1585,37 +1924,46 @@ msgstr "Utenti seguiti"
msgid "Followed users only"
msgstr "Solo utenti seguiti"
-#: src/view/com/notifications/FeedItem.tsx:166
+#: src/view/com/notifications/FeedItem.tsx:172
msgid "followed you"
msgstr "ti segue"
+#: src/view/com/profile/ProfileFollowers.tsx:104
#: src/view/screens/ProfileFollowers.tsx:25
msgid "Followers"
msgstr "Followers"
-#: src/view/com/post-thread/PostThreadFollowBtn.tsx:136
-#: src/view/com/profile/ProfileHeader.tsx:495
+#~ msgid "following"
+#~ msgstr "following"
+
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:233
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:149
+#: src/view/com/profile/ProfileFollows.tsx:104
#: src/view/screens/ProfileFollows.tsx:25
msgid "Following"
msgstr "Following"
-#: src/view/com/profile/ProfileHeader.tsx:149
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:93
msgid "Following {0}"
msgstr "Seguiti {0}"
-#: src/Navigation.tsx:250
-#: src/view/com/home/HomeHeaderLayout.web.tsx:50
-#: src/view/com/home/HomeHeaderLayoutMobile.tsx:84
-#: src/view/screens/PreferencesFollowingFeed.tsx:104
-#: src/view/screens/Settings/index.tsx:543
-msgid "Following Feed Preferences"
-msgstr ""
+#: src/view/screens/Settings/index.tsx:504
+msgid "Following feed preferences"
+msgstr "Preferenze del Following feed"
-#: src/view/com/profile/ProfileHeader.tsx:546
+#: src/Navigation.tsx:262
+#: src/view/com/home/HomeHeaderLayout.web.tsx:54
+#: src/view/com/home/HomeHeaderLayoutMobile.tsx:87
+#: src/view/screens/PreferencesFollowingFeed.tsx:104
+#: src/view/screens/Settings/index.tsx:513
+msgid "Following Feed Preferences"
+msgstr "Preferenze del Following Feed"
+
+#: src/screens/Profile/Header/Handle.tsx:24
msgid "Follows you"
msgstr "Ti segue"
-#: src/view/com/profile/ProfileCard.tsx:141
+#: src/view/com/profile/ProfileCard.tsx:144
msgid "Follows You"
msgstr "Ti Segue"
@@ -1623,32 +1971,45 @@ msgstr "Ti Segue"
msgid "Food"
msgstr "Gastronomia"
-#: src/view/com/modals/DeleteAccount.tsx:111
+#: src/view/com/modals/DeleteAccount.tsx:110
msgid "For security reasons, we'll need to send a confirmation code to your email address."
msgstr "Per motivi di sicurezza, invieremo un codice di conferma al tuo indirizzo email."
-#: src/view/com/modals/AddAppPasswords.tsx:209
+#: src/view/com/modals/AddAppPasswords.tsx:210
msgid "For security reasons, you won't be able to view this again. If you lose this password, you'll need to generate a new one."
msgstr "Per motivi di sicurezza non potrai visualizzarlo nuovamente. Se perdi questa password, dovrai generarne una nuova."
+#: src/view/com/auth/login/LoginForm.tsx:244
+#~ msgid "Forgot"
+#~ msgstr "Dimenticato"
+
#: src/view/com/auth/login/LoginForm.tsx:241
-msgid "Forgot"
-msgstr "Dimenticato"
+#~ msgid "Forgot password"
+#~ msgstr "Ho dimenticato il password"
-#: src/view/com/auth/login/LoginForm.tsx:238
-msgid "Forgot password"
-msgstr "Ho dimenticato il password"
-
-#: src/view/com/auth/login/Login.tsx:127 src/view/com/auth/login/Login.tsx:143
+#: src/screens/Login/index.tsx:129
+#: src/screens/Login/index.tsx:144
msgid "Forgot Password"
msgstr "Ho dimenticato il Password"
-#: src/screens/Hashtag.tsx:108
-#: src/screens/Hashtag.tsx:148
-msgid "From @{sanitizedAuthor}"
+#: src/screens/Login/LoginForm.tsx:201
+msgid "Forgot password?"
msgstr ""
-#: src/view/com/posts/FeedItem.tsx:189
+#: src/screens/Login/LoginForm.tsx:212
+msgid "Forgot?"
+msgstr ""
+
+#: src/lib/moderation/useReportOptions.ts:52
+msgid "Frequently Posts Unwanted Content"
+msgstr "Pubblica spesso contenuti indesiderati"
+
+#: src/screens/Hashtag.tsx:109
+#: src/screens/Hashtag.tsx:149
+msgid "From @{sanitizedAuthor}"
+msgstr "Di @{sanitizedAuthor}"
+
+#: src/view/com/posts/FeedItem.tsx:181
msgctxt "from-feed"
msgid "From <0/>"
msgstr "Da <0/>"
@@ -1662,111 +2023,139 @@ msgstr "Galleria"
msgid "Get Started"
msgstr "Inizia"
-#: src/view/com/auth/LoggedOut.tsx:81 src/view/com/auth/LoggedOut.tsx:82
-#: src/view/com/util/moderation/ScreenHider.tsx:123
-#: src/view/shell/desktop/LeftNav.tsx:104
+#: src/lib/moderation/useReportOptions.ts:37
+msgid "Glaring violations of law or terms of service"
+msgstr "Evidenti violazioni della legge o dei termini di servizio"
+
+#: src/components/moderation/ScreenHider.tsx:151
+#: src/components/moderation/ScreenHider.tsx:160
+#: src/view/com/auth/LoggedOut.tsx:82
+#: src/view/com/auth/LoggedOut.tsx:83
+#: src/view/screens/NotFound.tsx:55
+#: src/view/screens/ProfileFeed.tsx:112
+#: src/view/screens/ProfileList.tsx:918
+#: src/view/shell/desktop/LeftNav.tsx:108
msgid "Go back"
msgstr "Torna indietro"
-#: src/view/screens/ProfileFeed.tsx:106
-#: src/view/screens/ProfileFeed.tsx:111
-#: src/view/screens/ProfileList.tsx:902
-#: src/view/screens/ProfileList.tsx:907
+#: src/components/Error.tsx:91
+#: src/screens/Profile/ErrorState.tsx:62
+#: src/screens/Profile/ErrorState.tsx:66
+#: src/view/screens/NotFound.tsx:54
+#: src/view/screens/ProfileFeed.tsx:117
+#: src/view/screens/ProfileList.tsx:923
msgid "Go Back"
msgstr "Torna Indietro"
-#: src/screens/Onboarding/Layout.tsx:104 src/screens/Onboarding/Layout.tsx:193
+#: src/components/ReportDialog/SelectReportOptionView.tsx:73
+#: src/components/ReportDialog/SubmitView.tsx:102
+#: src/screens/Onboarding/Layout.tsx:102
+#: src/screens/Onboarding/Layout.tsx:191
+#: src/screens/Signup/index.tsx:174
msgid "Go back to previous step"
msgstr "Torna al passaggio precedente"
-#: src/view/screens/Search/Search.tsx:747
-#: src/view/shell/desktop/Search.tsx:262
+#: src/view/screens/NotFound.tsx:55
+msgid "Go home"
+msgstr "Torna Home"
+
+#: src/view/screens/NotFound.tsx:54
+msgid "Go Home"
+msgstr "Torna Home"
+
+#: src/view/screens/Search/Search.tsx:896
+#: src/view/shell/desktop/Search.tsx:263
msgid "Go to @{queryMaybeHandle}"
msgstr "Vai a @{queryMaybeHandle}"
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:189
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:218
-#: src/view/com/auth/login/LoginForm.tsx:288
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:195
-#: src/view/com/modals/ChangePassword.tsx:165
+#: src/screens/Login/ForgotPasswordForm.tsx:172
+#: src/view/com/modals/ChangePassword.tsx:167
msgid "Go to next"
msgstr "Seguente"
-#: src/view/com/modals/ChangeHandle.tsx:265
+#: src/lib/moderation/useGlobalLabelStrings.ts:46
+msgid "Graphic Media"
+msgstr "Media grafici"
+
+#: src/view/com/modals/ChangeHandle.tsx:266
msgid "Handle"
msgstr "Nome Utente"
-#: src/Navigation.tsx:270
+#: src/lib/moderation/useReportOptions.ts:32
+msgid "Harassment, trolling, or intolerance"
+msgstr "Molestie, trolling o intolleranza"
+
+#: src/Navigation.tsx:282
msgid "Hashtag"
-msgstr ""
+msgstr "Hashtag"
-#: src/components/RichText.tsx:188
-#~ msgid "Hashtag: {tag}"
-#~ msgstr ""
-
-#: src/components/RichText.tsx:190
+#: src/components/RichText.tsx:197
msgid "Hashtag: #{tag}"
-msgstr ""
+msgstr "Hashtag: #{tag}"
-#: src/view/com/auth/create/CreateAccount.tsx:208
+#: src/screens/Signup/index.tsx:221
msgid "Having trouble?"
msgstr "Ci sono problemi?"
#: src/view/shell/desktop/RightNav.tsx:90
-#: src/view/shell/Drawer.tsx:321
+#: src/view/shell/Drawer.tsx:330
msgid "Help"
msgstr "Aiuto"
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:132
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:140
msgid "Here are some accounts for you to follow"
msgstr "Ecco alcuni account da seguire"
-#: src/screens/Onboarding/StepTopicalFeeds.tsx:85
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:89
msgid "Here are some popular topical feeds. You can choose to follow as many as you like."
msgstr "Ecco alcuni feed più visitati. Puoi seguire quanti ne vuoi."
-#: src/screens/Onboarding/StepTopicalFeeds.tsx:80
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:84
msgid "Here are some topical feeds based on your interests: {interestsText}. You can choose to follow as many as you like."
msgstr "Ecco alcuni feed di attualità scelti in base ai tuoi interessi: {interestsText}. Puoi seguire quanti ne vuoi."
-#: src/view/com/modals/AddAppPasswords.tsx:153
+#: src/view/com/modals/AddAppPasswords.tsx:154
msgid "Here is your app password."
msgstr "Ecco la password dell'app."
-#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:41
-#: src/view/com/modals/ContentFilteringSettings.tsx:251
-#: src/view/com/util/moderation/ContentHider.tsx:105
-#: src/view/com/util/moderation/PostHider.tsx:108
+#: src/components/moderation/ContentHider.tsx:115
+#: src/components/moderation/LabelPreference.tsx:134
+#: src/components/moderation/PostHider.tsx:107
+#: src/lib/moderation/useLabelBehaviorDescription.ts:15
+#: src/lib/moderation/useLabelBehaviorDescription.ts:20
+#: src/lib/moderation/useLabelBehaviorDescription.ts:25
+#: src/lib/moderation/useLabelBehaviorDescription.ts:30
+#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:52
+#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:76
+#: src/view/com/util/forms/PostDropdownBtn.tsx:350
msgid "Hide"
msgstr "Nascondi"
-#: src/view/com/modals/ContentFilteringSettings.tsx:224
-#: src/view/com/notifications/FeedItem.tsx:326
+#: src/view/com/notifications/FeedItem.tsx:331
msgctxt "action"
msgid "Hide"
msgstr "Nascondi"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:276
-#: src/view/com/util/forms/PostDropdownBtn.tsx:287
+#: src/view/com/util/forms/PostDropdownBtn.tsx:294
+#: src/view/com/util/forms/PostDropdownBtn.tsx:296
msgid "Hide post"
msgstr "Nascondi il messaggio"
-#: src/view/com/util/moderation/ContentHider.tsx:67
-#: src/view/com/util/moderation/PostHider.tsx:61
+#: src/components/moderation/ContentHider.tsx:67
+#: src/components/moderation/PostHider.tsx:64
msgid "Hide the content"
msgstr "Nascondere il contenuto"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:280
+#: src/view/com/util/forms/PostDropdownBtn.tsx:347
msgid "Hide this post?"
msgstr "Vuoi nascondere questo post?"
-#: src/view/com/notifications/FeedItem.tsx:316
+#: src/view/com/notifications/FeedItem.tsx:321
msgid "Hide user list"
msgstr "Nascondi elenco utenti"
-#: src/view/com/profile/ProfileHeader.tsx:487
-msgid "Hides posts from {0} in your feed"
-msgstr "Nasconde i post di {0} nel tuo feed"
+#~ msgid "Hides posts from {0} in your feed"
+#~ msgstr "Nasconde i post di {0} nel tuo feed"
#: src/view/com/posts/FeedErrorMessage.tsx:111
msgid "Hmm, some kind of issue occurred when contacting the feed server. Please let the feed owner know about this issue."
@@ -1788,25 +2177,39 @@ msgstr "Il server del feed ha dato una risposta negativa. Informa il proprietari
msgid "Hmm, we're having trouble finding this feed. It may have been deleted."
msgstr "Stiamo riscontrando problemi nel trovare questo feed. Potrebbe essere stato cancellato."
-#: src/Navigation.tsx:442
-#: src/view/shell/bottom-bar/BottomBar.tsx:137
-#: src/view/shell/desktop/LeftNav.tsx:306
-#: src/view/shell/Drawer.tsx:398
-#: src/view/shell/Drawer.tsx:399
+#: src/screens/Moderation/index.tsx:59
+msgid "Hmmmm, it seems we're having trouble loading this data. See below for more details. If this issue persists, please contact us."
+msgstr "Stiamo riscontrando problemi nel trovare questi dati. Guarda PI[U giù per trovare più dettagli. Se il problema continua mettiti in contatto."
+
+#: src/screens/Profile/ErrorState.tsx:31
+msgid "Hmmmm, we couldn't load that moderation service."
+msgstr "Non siamo riusciti a caricare il servizio di moderazione."
+
+#: src/Navigation.tsx:446
+#: src/view/shell/bottom-bar/BottomBar.tsx:148
+#: src/view/shell/desktop/LeftNav.tsx:310
+#: src/view/shell/Drawer.tsx:407
+#: src/view/shell/Drawer.tsx:408
msgid "Home"
msgstr "Home"
-#: src/Navigation.tsx:247 src/view/com/pager/FeedsTabBarMobile.tsx:123
-#: src/view/screens/PreferencesHomeFeed.tsx:104
-#: src/view/screens/Settings/index.tsx:543
#~ msgid "Home Feed Preferences"
#~ msgstr "Preferenze per i feed per la pagina d'inizio"
-#: src/view/com/auth/create/Step1.tsx:75
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:120
+#: src/view/com/modals/ChangeHandle.tsx:420
+msgid "Host:"
+msgstr "Hosting:"
+
+#: src/screens/Login/ForgotPasswordForm.tsx:89
+#: src/screens/Login/LoginForm.tsx:134
+#: src/screens/Signup/StepInfo/index.tsx:40
+#: src/view/com/modals/ChangeHandle.tsx:281
msgid "Hosting provider"
msgstr "Servizio di hosting"
+#~ msgid "Hosting provider address"
+#~ msgstr "Indirizzo del fornitore di hosting"
+
#: src/view/com/modals/InAppBrowserConsent.tsx:44
msgid "How should we open this link?"
msgstr "Come dovremmo aprire questo link?"
@@ -1819,11 +2222,11 @@ msgstr "Ho un codice"
msgid "I have a confirmation code"
msgstr "Ho un codice di conferma"
-#: src/view/com/modals/ChangeHandle.tsx:283
+#: src/view/com/modals/ChangeHandle.tsx:284
msgid "I have my own domain"
msgstr "Ho il mio dominio"
-#: src/view/com/lightbox/Lightbox.web.tsx:165
+#: src/view/com/lightbox/Lightbox.web.tsx:185
msgid "If alt text is long, toggles alt text expanded state"
msgstr "Se il testo alternativo è lungo, attiva/disattiva lo stato del testo alternativo"
@@ -1831,126 +2234,146 @@ msgstr "Se il testo alternativo è lungo, attiva/disattiva lo stato del testo al
msgid "If none are selected, suitable for all ages."
msgstr "Se niente è selezionato, adatto a tutte le età."
-#: src/view/com/modals/ChangePassword.tsx:146
+#: src/screens/Signup/StepInfo/Policies.tsx:83
+msgid "If you are not yet an adult according to the laws of your country, your parent or legal guardian must read these Terms on your behalf."
+msgstr "Se non sei ancora maggiorenne secondo le leggi del tuo Paese, il tuo genitore o tutore legale deve leggere i Termini a tuo nome."
+
+#: src/view/screens/ProfileList.tsx:612
+msgid "If you delete this list, you won't be able to recover it."
+msgstr "Se elimini questa lista, non potrai recuperarla."
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:338
+msgid "If you remove this post, you won't be able to recover it."
+msgstr "Se rimuovi questo post, non potrai recuperarlo."
+
+#: src/view/com/modals/ChangePassword.tsx:148
msgid "If you want to change your password, we will send you a code to verify that this is your account."
msgstr "Se vuoi modificare la password, ti invieremo un codice per verificare se questo è il tuo account."
+#: src/lib/moderation/useReportOptions.ts:36
+msgid "Illegal and Urgent"
+msgstr "Illegale e Urgente"
+
#: src/view/com/util/images/Gallery.tsx:38
msgid "Image"
msgstr "Immagine"
-#: src/view/com/modals/AltImage.tsx:120
+#: src/view/com/modals/AltImage.tsx:121
msgid "Image alt text"
msgstr "Testo alternativo dell'immagine"
-#: src/view/com/util/UserAvatar.tsx:311 src/view/com/util/UserBanner.tsx:118
-msgid "Image options"
-msgstr "Opzioni per l'immagine"
+#~ msgid "Image options"
+#~ msgstr "Opzioni per l'immagine"
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:138
+#: src/lib/moderation/useReportOptions.ts:47
+msgid "Impersonation or false claims about identity or affiliation"
+msgstr "Furto d'identità o false affermazioni sull'identità o sull'affiliazione"
+
+#: src/screens/Login/SetNewPasswordForm.tsx:127
msgid "Input code sent to your email for password reset"
msgstr "Inserisci il codice inviato alla tua email per reimpostare la password"
-#: src/view/com/modals/DeleteAccount.tsx:184
+#: src/view/com/modals/DeleteAccount.tsx:183
msgid "Input confirmation code for account deletion"
msgstr "Inserisci il codice di conferma per la cancellazione dell'account"
#: src/view/com/auth/create/Step1.tsx:177
-msgid "Input email for Bluesky account"
-msgstr "Inserisci l'e-mail per l'account di Bluesky"
+#~ msgid "Input email for Bluesky account"
+#~ msgstr "Inserisci l'e-mail per l'account di Bluesky"
#: src/view/com/auth/create/Step1.tsx:151
-msgid "Input invite code to proceed"
-msgstr "Inserisci il codice di invito per procedere"
+#~ msgid "Input invite code to proceed"
+#~ msgstr "Inserisci il codice di invito per procedere"
-#: src/view/com/modals/AddAppPasswords.tsx:180
+#: src/view/com/modals/AddAppPasswords.tsx:181
msgid "Input name for app password"
msgstr "Inserisci il nome per la password dell'app"
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:162
+#: src/screens/Login/SetNewPasswordForm.tsx:151
msgid "Input new password"
msgstr "Inserisci la nuova password"
-#: src/view/com/modals/DeleteAccount.tsx:203
+#: src/view/com/modals/DeleteAccount.tsx:202
msgid "Input password for account deletion"
msgstr "Inserisci la password per la cancellazione dell'account"
-#: src/view/com/auth/create/Step2.tsx:196
#~ msgid "Input phone number for SMS verification"
#~ msgstr "Inserisci il numero di telefono per la verifica via SMS"
-#: src/view/com/auth/login/LoginForm.tsx:230
+#: src/screens/Login/LoginForm.tsx:195
msgid "Input the password tied to {identifier}"
msgstr "Inserisci la password relazionata a {identifier}"
-#: src/view/com/auth/login/LoginForm.tsx:197
+#: src/screens/Login/LoginForm.tsx:168
msgid "Input the username or email address you used at signup"
msgstr "Inserisci il nome utente o l'indirizzo email che hai utilizzato al momento della registrazione"
-#: src/view/com/auth/create/Step2.tsx:271
#~ msgid "Input the verification code we have texted to you"
#~ msgstr "Inserisci il codice di verifica che ti abbiamo inviato tramite SMS"
-#: src/view/com/modals/Waitlist.tsx:90
#~ msgid "Input your email to get on the Bluesky waitlist"
#~ msgstr "Inserisci la tua email per entrare nella lista d'attesa di Bluesky"
-#: src/view/com/auth/login/LoginForm.tsx:229
+#: src/screens/Login/LoginForm.tsx:194
msgid "Input your password"
msgstr "Inserisci la tua password"
-#: src/view/com/auth/create/Step2.tsx:80
+#: src/view/com/modals/ChangeHandle.tsx:389
+msgid "Input your preferred hosting provider"
+msgstr "Inserisci il tuo provider di hosting preferito"
+
+#: src/screens/Signup/StepHandle.tsx:63
msgid "Input your user handle"
msgstr "Inserisci il tuo identificatore"
-#: src/view/com/post-thread/PostThreadItem.tsx:226
+#: src/view/com/post-thread/PostThreadItem.tsx:221
msgid "Invalid or unsupported post record"
msgstr "Protocollo del post non valido o non supportato"
-#: src/view/com/auth/login/LoginForm.tsx:113
+#: src/screens/Login/LoginForm.tsx:114
msgid "Invalid username or password"
msgstr "Nome dell'utente o password errato"
-#: src/view/com/modals/InviteCodes.tsx:93
+#~ msgid "Invite"
+#~ msgstr "Invita"
+
+#: src/view/com/modals/InviteCodes.tsx:94
msgid "Invite a Friend"
msgstr "Invita un amico"
-#: src/view/com/auth/create/Step1.tsx:141
-#: src/view/com/auth/create/Step1.tsx:150
+#: src/screens/Signup/StepInfo/index.tsx:58
msgid "Invite code"
msgstr "Codice d'invito"
-#: src/view/com/auth/create/state.ts:158
+#: src/screens/Signup/state.ts:278
msgid "Invite code not accepted. Check that you input it correctly and try again."
msgstr "Codice invito non accettato. Controlla di averlo inserito correttamente e riprova."
-#: src/view/com/modals/InviteCodes.tsx:170
+#: src/view/com/modals/InviteCodes.tsx:171
msgid "Invite codes: {0} available"
msgstr "Codici di invito: {0} disponibili"
-#: src/view/com/modals/InviteCodes.tsx:169
+#~ msgid "Invite codes: {invitesAvailable} available"
+#~ msgstr "Codici di invito: {invitesAvailable} disponibili"
+
+#: src/view/com/modals/InviteCodes.tsx:170
msgid "Invite codes: 1 available"
msgstr "Codici di invito: 1 disponibile"
-#: src/screens/Onboarding/StepFollowingFeed.tsx:64
+#: src/screens/Onboarding/StepFollowingFeed.tsx:65
msgid "It shows posts from the people you follow as they happen."
msgstr "Mostra i post delle persone che segui."
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:99
-#: src/view/com/auth/SplashScreen.web.tsx:138
+#: src/view/com/auth/SplashScreen.web.tsx:152
msgid "Jobs"
msgstr "Lavori"
-#: src/view/com/modals/Waitlist.tsx:67
#~ msgid "Join the waitlist"
#~ msgstr "Iscriviti alla lista d'attesa"
-#: src/view/com/auth/create/Step1.tsx:174
-#: src/view/com/auth/create/Step1.tsx:178
#~ msgid "Join the waitlist."
#~ msgstr "Iscriviti alla lista d'attesa."
-#: src/view/com/modals/Waitlist.tsx:128
#~ msgid "Join Waitlist"
#~ msgstr "Iscriviti alla Lista d'Attesa"
@@ -1958,54 +2381,93 @@ msgstr "Lavori"
msgid "Journalism"
msgstr "Giornalismo"
+#: src/components/moderation/LabelsOnMe.tsx:59
+msgid "label has been placed on this {labelTarget}"
+msgstr "l'etichetta è stata inserita su questo {labelTarget}"
+
+#: src/components/moderation/ContentHider.tsx:144
+msgid "Labeled by {0}."
+msgstr "Etichettato da {0}."
+
+#: src/components/moderation/ContentHider.tsx:142
+msgid "Labeled by the author."
+msgstr "Etichettato dall'autore."
+
+#: src/view/screens/Profile.tsx:193
+msgid "Labels"
+msgstr "Etichette"
+
+#: src/screens/Profile/Sections/Labels.tsx:153
+msgid "Labels are annotations on users and content. They can be used to hide, warn, and categorize the network."
+msgstr "Le etichette sono annotazioni su utenti e contenuti. Possono essere utilizzate per nascondere, avvisare e classificare il network."
+
+#: src/components/moderation/LabelsOnMe.tsx:61
+msgid "labels have been placed on this {labelTarget}"
+msgstr "le etichette sono state inserite su questo {labelTarget}"
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:62
+msgid "Labels on your account"
+msgstr "Etichette sul tuo account"
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:64
+msgid "Labels on your content"
+msgstr "Etichette sul tuo contenuto"
+
#: src/view/com/composer/select-language/SelectLangBtn.tsx:104
msgid "Language selection"
msgstr "Seleziona la lingua"
-#: src/view/screens/Settings/index.tsx:594
+#: src/view/screens/Settings/index.tsx:565
msgid "Language settings"
msgstr "Impostazione delle lingue"
-#: src/Navigation.tsx:142
+#: src/Navigation.tsx:144
#: src/view/screens/LanguageSettings.tsx:89
msgid "Language Settings"
msgstr "Impostazione delle Lingue"
-#: src/view/screens/Settings/index.tsx:603
+#: src/view/screens/Settings/index.tsx:574
msgid "Languages"
msgstr "Lingue"
#: src/view/com/auth/create/StepHeader.tsx:20
-msgid "Last step!"
-msgstr "Ultimo passo!"
+#~ msgid "Last step!"
+#~ msgstr "Ultimo passo!"
-#: src/view/com/util/moderation/ContentHider.tsx:103
-msgid "Learn more"
-msgstr "Ulteriori informazioni"
+#: src/view/screens/Search/Search.tsx:437
+msgid "Latest"
+msgstr ""
-#: src/view/com/util/moderation/PostAlerts.tsx:47
-#: src/view/com/util/moderation/ProfileHeaderAlerts.tsx:65
-#: src/view/com/util/moderation/ScreenHider.tsx:104
+#~ msgid "Learn more"
+#~ msgstr "Ulteriori informazioni"
+
+#: src/components/moderation/ScreenHider.tsx:136
msgid "Learn More"
msgstr "Ulteriori Informazioni"
-#: src/view/com/util/moderation/ContentHider.tsx:85
-#: src/view/com/util/moderation/PostAlerts.tsx:40
-#: src/view/com/util/moderation/PostHider.tsx:78
-#: src/view/com/util/moderation/ProfileHeaderAlerts.tsx:49
-#: src/view/com/util/moderation/ScreenHider.tsx:101
+#: src/components/moderation/ContentHider.tsx:65
+#: src/components/moderation/ContentHider.tsx:128
+msgid "Learn more about the moderation applied to this content."
+msgstr "Scopri di più sulla moderazione applicata a questo contenuto."
+
+#: src/components/moderation/PostHider.tsx:85
+#: src/components/moderation/ScreenHider.tsx:125
msgid "Learn more about this warning"
msgstr "Ulteriori informazioni su questo avviso"
-#: src/view/screens/Moderation.tsx:262
+#: src/screens/Moderation/index.tsx:549
msgid "Learn more about what is public on Bluesky."
msgstr "Scopri cosa è pubblico su Bluesky."
+#: src/components/moderation/ContentHider.tsx:152
+msgid "Learn more."
+msgstr "Saperne di più."
+
#: src/view/com/modals/lang-settings/ContentLanguagesSettings.tsx:82
msgid "Leave them all unchecked to see any language."
msgstr "Deseleziona tutte per vedere qualsiasi lingua."
-#: src/view/com/modals/LinkWarning.tsx:51
+#: src/view/com/modals/LinkWarning.tsx:65
msgid "Leaving Bluesky"
msgstr "Stai lasciando Bluesky"
@@ -2013,169 +2475,189 @@ msgstr "Stai lasciando Bluesky"
msgid "left to go."
msgstr "mancano."
-#: src/view/screens/Settings/index.tsx:278
+#: src/view/screens/Settings/index.tsx:299
msgid "Legacy storage cleared, you need to restart the app now."
msgstr "L'archivio legacy è stato cancellato, riattiva la app."
-#: src/view/com/auth/login/Login.tsx:128 src/view/com/auth/login/Login.tsx:144
+#: src/screens/Login/index.tsx:130
+#: src/screens/Login/index.tsx:145
msgid "Let's get your password reset!"
msgstr "Reimpostazione della password!"
-#: src/screens/Onboarding/StepFinished.tsx:151
+#: src/screens/Onboarding/StepFinished.tsx:155
msgid "Let's go!"
msgstr "Andiamo!"
-#: src/view/com/util/UserAvatar.tsx:248 src/view/com/util/UserBanner.tsx:62
-msgid "Library"
-msgstr "Biblioteca"
+#~ msgid "Library"
+#~ msgstr "Biblioteca"
-#: src/view/screens/Settings/index.tsx:479
+#: src/view/screens/Settings/index.tsx:449
msgid "Light"
msgstr "Chiaro"
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:182
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:197
msgid "Like"
msgstr "Mi piace"
-#: src/view/screens/ProfileFeed.tsx:591
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:264
+#: src/view/screens/ProfileFeed.tsx:585
msgid "Like this feed"
msgstr "Metti mi piace a questo feed"
-#: src/Navigation.tsx:199
+#: src/components/LikesDialog.tsx:87
+#: src/Navigation.tsx:201
+#: src/Navigation.tsx:206
msgid "Liked by"
msgstr "Piace a"
+#: src/screens/Profile/ProfileLabelerLikedBy.tsx:29
#: src/view/screens/PostLikedBy.tsx:27
#: src/view/screens/ProfileFeedLikedBy.tsx:27
msgid "Liked By"
msgstr "Piace A"
-#: src/view/com/feeds/FeedSourceCard.tsx:279
+#: src/view/com/feeds/FeedSourceCard.tsx:268
msgid "Liked by {0} {1}"
msgstr "Piace a {0} {1}"
-#: src/view/screens/ProfileFeed.tsx:606
+#: src/components/LabelingServiceCard/index.tsx:72
+msgid "Liked by {count} {0}"
+msgstr "È piaciuto a {count} {0}"
+
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:284
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:298
+#: src/view/screens/ProfileFeed.tsx:600
msgid "Liked by {likeCount} {0}"
msgstr "Piace a {likeCount} {0}"
-#: src/view/com/notifications/FeedItem.tsx:170
+#: src/view/com/notifications/FeedItem.tsx:176
msgid "liked your custom feed"
msgstr "piace il tuo feed personalizzato"
-#: src/view/com/notifications/FeedItem.tsx:155
+#~ msgid "liked your custom feed{0}"
+#~ msgstr "piace il feed personalizzato{0}"
+
+#: src/view/com/notifications/FeedItem.tsx:161
msgid "liked your post"
msgstr "piace il tuo post"
-#: src/view/screens/Profile.tsx:183
+#: src/view/screens/Profile.tsx:198
msgid "Likes"
msgstr "Mi piace"
-#: src/view/com/post-thread/PostThreadItem.tsx:183
+#: src/view/com/post-thread/PostThreadItem.tsx:182
msgid "Likes on this post"
msgstr "Mi Piace in questo post"
-#: src/Navigation.tsx:168
+#: src/Navigation.tsx:170
msgid "List"
msgstr "Lista"
-#: src/view/com/modals/CreateOrEditList.tsx:261
+#: src/view/com/modals/CreateOrEditList.tsx:262
msgid "List Avatar"
msgstr "Lista avatar"
-#: src/view/screens/ProfileList.tsx:324
+#: src/view/screens/ProfileList.tsx:313
msgid "List blocked"
msgstr "Lista bloccata"
-#: src/view/com/feeds/FeedSourceCard.tsx:233
+#: src/view/com/feeds/FeedSourceCard.tsx:220
msgid "List by {0}"
msgstr "Lista di {0}"
-#: src/view/screens/ProfileList.tsx:378
+#: src/view/screens/ProfileList.tsx:357
msgid "List deleted"
msgstr "Lista cancellata"
-#: src/view/screens/ProfileList.tsx:283
+#: src/view/screens/ProfileList.tsx:285
msgid "List muted"
msgstr "Lista muta"
-#: src/view/com/modals/CreateOrEditList.tsx:275
+#: src/view/com/modals/CreateOrEditList.tsx:276
msgid "List Name"
msgstr "Nome della lista"
-#: src/view/screens/ProfileList.tsx:343
+#: src/view/screens/ProfileList.tsx:327
msgid "List unblocked"
msgstr "Lista sbloccata"
-#: src/view/screens/ProfileList.tsx:302
+#: src/view/screens/ProfileList.tsx:299
msgid "List unmuted"
msgstr "Lista non mutata"
-#: src/Navigation.tsx:112
-#: src/view/screens/Profile.tsx:185
-#: src/view/shell/desktop/LeftNav.tsx:379
-#: src/view/shell/Drawer.tsx:492
-#: src/view/shell/Drawer.tsx:493
+#: src/Navigation.tsx:114
+#: src/view/screens/Profile.tsx:194
+#: src/view/screens/Profile.tsx:200
+#: src/view/shell/desktop/LeftNav.tsx:383
+#: src/view/shell/Drawer.tsx:501
+#: src/view/shell/Drawer.tsx:502
msgid "Lists"
msgstr "Liste"
-#: src/view/com/post-thread/PostThread.tsx:333
-#: src/view/com/post-thread/PostThread.tsx:341
-msgid "Load more posts"
-msgstr "Carica più post"
+#~ msgid "Load more posts"
+#~ msgstr "Carica più post"
#: src/view/screens/Notifications.tsx:159
msgid "Load new notifications"
msgstr "Carica più notifiche"
-#: src/view/com/feeds/FeedPage.tsx:115
-#: src/view/screens/Profile.tsx:440
-#: src/view/screens/ProfileFeed.tsx:495
-#: src/view/screens/ProfileList.tsx:681
+#: src/screens/Profile/Sections/Feed.tsx:86
+#: src/view/com/feeds/FeedPage.tsx:138
+#: src/view/screens/ProfileFeed.tsx:507
+#: src/view/screens/ProfileList.tsx:697
msgid "Load new posts"
msgstr "Carica nuovi posts"
-#: src/view/com/composer/text-input/mobile/Autocomplete.tsx:95
+#: src/view/com/composer/text-input/mobile/Autocomplete.tsx:99
msgid "Loading..."
msgstr "Caricamento..."
-#: src/view/com/modals/ServerInput.tsx:50
#~ msgid "Local dev server"
#~ msgstr "Server di sviluppo locale"
-#: src/Navigation.tsx:209
+#: src/Navigation.tsx:221
msgid "Log"
msgstr "Log"
-#: src/screens/Deactivated.tsx:149 src/screens/Deactivated.tsx:152
-#: src/screens/Deactivated.tsx:178 src/screens/Deactivated.tsx:181
+#: src/screens/Deactivated.tsx:149
+#: src/screens/Deactivated.tsx:152
+#: src/screens/Deactivated.tsx:178
+#: src/screens/Deactivated.tsx:181
msgid "Log out"
msgstr "Disconnetta l'account"
-#: src/view/screens/Moderation.tsx:155
+#: src/screens/Moderation/index.tsx:442
msgid "Logged-out visibility"
msgstr "Visibilità degli utenti disconnessi"
-#: src/view/com/auth/login/ChooseAccountForm.tsx:133
+#: src/components/AccountList.tsx:54
msgid "Login to account that is not listed"
msgstr "Accedi all'account che non è nella lista"
-#: src/view/com/modals/LinkWarning.tsx:65
+#~ msgid "Looks like this feed is only available to users with a Bluesky account. Please sign up or sign in to view this feed!"
+#~ msgstr "Sembra che questo feed sia disponibile solo per gli utenti con un account Bluesky. Per favore registrati o accedi per visualizzare questo feed!"
+
+#: src/screens/Login/SetNewPasswordForm.tsx:116
+msgid "Looks like XXXXX-XXXXX"
+msgstr ""
+
+#: src/view/com/modals/LinkWarning.tsx:79
msgid "Make sure this is where you intend to go!"
msgstr "Assicurati che questo sia dove intendi andare!"
-#: src/components/dialogs/MutedWords.tsx:83
+#: src/components/dialogs/MutedWords.tsx:82
msgid "Manage your muted words and tags"
-msgstr ""
+msgstr "Gestisci le parole mute e i tags"
#: src/view/com/auth/create/Step2.tsx:118
-msgid "May not be longer than 253 characters"
-msgstr ""
+#~ msgid "May not be longer than 253 characters"
+#~ msgstr "Non può contenere più di 253 caratteri"
#: src/view/com/auth/create/Step2.tsx:109
-msgid "May only contain letters and numbers"
-msgstr ""
+#~ msgid "May only contain letters and numbers"
+#~ msgstr "Può contenere solo lettere e numeri"
-#: src/view/screens/Profile.tsx:182
+#: src/view/screens/Profile.tsx:197
msgid "Media"
msgstr "Media"
@@ -2188,73 +2670,95 @@ msgid "Mentioned users"
msgstr "Utenti menzionati"
#: src/view/com/util/ViewHeader.tsx:87
-#: src/view/screens/Search/Search.tsx:646
+#: src/view/screens/Search/Search.tsx:795
msgid "Menu"
msgstr "Menù"
-#: src/view/com/posts/FeedErrorMessage.tsx:197
+#~ msgid "Message from server"
+#~ msgstr "Messaggio dal server"
+
+#: src/view/com/posts/FeedErrorMessage.tsx:192
msgid "Message from server: {0}"
msgstr "Messaggio dal server: {0}"
-#: src/Navigation.tsx:117
-#: src/view/screens/Moderation.tsx:66
-#: src/view/screens/Settings/index.tsx:625
-#: src/view/shell/desktop/LeftNav.tsx:397 src/view/shell/Drawer.tsx:511
-#: src/view/shell/Drawer.tsx:512
+#: src/lib/moderation/useReportOptions.ts:45
+msgid "Misleading Account"
+msgstr "Account Ingannevole"
+
+#: src/Navigation.tsx:119
+#: src/screens/Moderation/index.tsx:104
+#: src/view/screens/Settings/index.tsx:596
+#: src/view/shell/desktop/LeftNav.tsx:401
+#: src/view/shell/Drawer.tsx:520
+#: src/view/shell/Drawer.tsx:521
msgid "Moderation"
msgstr "Moderazione"
+#: src/components/moderation/ModerationDetailsDialog.tsx:112
+msgid "Moderation details"
+msgstr "Dettagli sulla moderazione"
+
#: src/view/com/lists/ListCard.tsx:93
#: src/view/com/modals/UserAddRemoveLists.tsx:206
msgid "Moderation list by {0}"
msgstr "Lista di moderazione di {0}"
-#: src/view/screens/ProfileList.tsx:775
+#: src/view/screens/ProfileList.tsx:791
msgid "Moderation list by <0/>"
msgstr "Lista di moderazione di <0/>"
#: src/view/com/lists/ListCard.tsx:91
#: src/view/com/modals/UserAddRemoveLists.tsx:204
-#: src/view/screens/ProfileList.tsx:773
+#: src/view/screens/ProfileList.tsx:789
msgid "Moderation list by you"
msgstr "Le tue liste di moderazione"
-#: src/view/com/modals/CreateOrEditList.tsx:197
+#: src/view/com/modals/CreateOrEditList.tsx:198
msgid "Moderation list created"
msgstr "Lista di moderazione creata"
-#: src/view/com/modals/CreateOrEditList.tsx:183
+#: src/view/com/modals/CreateOrEditList.tsx:184
msgid "Moderation list updated"
msgstr "Lista di moderazione aggiornata"
-#: src/view/screens/Moderation.tsx:114
+#: src/screens/Moderation/index.tsx:243
msgid "Moderation lists"
msgstr "Liste di moderazione"
-#: src/Navigation.tsx:122
+#: src/Navigation.tsx:124
#: src/view/screens/ModerationModlists.tsx:58
msgid "Moderation Lists"
msgstr "Liste di Moderazione"
-#: src/view/screens/Settings/index.tsx:619
+#: src/view/screens/Settings/index.tsx:590
msgid "Moderation settings"
msgstr "Impostazioni di moderazione"
-#: src/view/com/modals/ModerationDetails.tsx:35
+#: src/Navigation.tsx:216
+msgid "Moderation states"
+msgstr "Stati di moderazione"
+
+#: src/screens/Moderation/index.tsx:215
+msgid "Moderation tools"
+msgstr "Strumenti di moderazione"
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:48
+#: src/lib/moderation/useModerationCauseDescription.ts:40
msgid "Moderator has chosen to set a general warning on the content."
msgstr "Il moderatore ha scelto di mettere un avviso generale sul contenuto."
+#: src/view/com/post-thread/PostThreadItem.tsx:535
+msgid "More"
+msgstr "Di più"
+
#: src/view/shell/desktop/Feeds.tsx:65
msgid "More feeds"
msgstr "Altri feed"
-#: src/view/com/profile/ProfileHeader.tsx:523
-#: src/view/screens/ProfileFeed.tsx:363
-#: src/view/screens/ProfileList.tsx:617
+#: src/view/screens/ProfileList.tsx:601
msgid "More options"
msgstr "Altre opzioni"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:315
#~ msgid "More post options"
#~ msgstr "Altre impostazioni per il post"
@@ -2263,101 +2767,103 @@ msgid "Most-liked replies first"
msgstr "Dai priorità alle risposte con più likes"
#: src/view/com/auth/create/Step2.tsx:122
-msgid "Must be at least 3 characters"
-msgstr ""
+#~ msgid "Must be at least 3 characters"
+#~ msgstr "Deve contenere almeno 3 caratteri"
#: src/components/TagMenu/index.tsx:249
msgid "Mute"
-msgstr ""
+msgstr "Silenzia"
#: src/components/TagMenu/index.web.tsx:105
msgid "Mute {truncatedTag}"
-msgstr ""
+msgstr "Silenzia {truncatedTag}"
-#: src/view/com/profile/ProfileHeader.tsx:327
+#: src/view/com/profile/ProfileMenu.tsx:279
+#: src/view/com/profile/ProfileMenu.tsx:286
msgid "Mute Account"
-msgstr "Silenziare Account"
+msgstr "Silenzia l'account"
-#: src/view/screens/ProfileList.tsx:544
+#: src/view/screens/ProfileList.tsx:520
msgid "Mute accounts"
-msgstr "Silenziare accounts"
+msgstr "Silenzia gli accounts"
#: src/components/TagMenu/index.tsx:209
msgid "Mute all {displayTag} posts"
-msgstr ""
+msgstr "Silenzia tutti i post {displayTag}"
-#: src/components/TagMenu/index.tsx:211
-#~ msgid "Mute all {tag} posts"
-#~ msgstr ""
-
-#: src/components/dialogs/MutedWords.tsx:149
+#: src/components/dialogs/MutedWords.tsx:148
msgid "Mute in tags only"
-msgstr ""
+msgstr "Silenzia solo i tags"
-#: src/components/dialogs/MutedWords.tsx:134
+#: src/components/dialogs/MutedWords.tsx:133
msgid "Mute in text & tags"
-msgstr ""
+msgstr "Silenzia nel testo & tags"
-#: src/view/screens/ProfileList.tsx:491
+#: src/view/screens/ProfileList.tsx:463
+#: src/view/screens/ProfileList.tsx:626
msgid "Mute list"
msgstr "Silenziare la lista"
-#: src/view/screens/ProfileList.tsx:275
+#: src/view/screens/ProfileList.tsx:621
msgid "Mute these accounts?"
msgstr "Vuoi silenziare queste liste?"
-#: src/view/screens/ProfileList.tsx:279
-msgid "Mute this List"
-msgstr "Silenzia questa Lista"
+#~ msgid "Mute this List"
+#~ msgstr "Silenzia questa Lista"
-#: src/components/dialogs/MutedWords.tsx:127
+#: src/components/dialogs/MutedWords.tsx:126
msgid "Mute this word in post text and tags"
-msgstr ""
+msgstr "Silenzia questa parola nel testo e nei tag del post"
-#: src/components/dialogs/MutedWords.tsx:142
+#: src/components/dialogs/MutedWords.tsx:141
msgid "Mute this word in tags only"
-msgstr ""
+msgstr "Siilenzia questa parola solo nei tags"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:251
-#: src/view/com/util/forms/PostDropdownBtn.tsx:257
+#: src/view/com/util/forms/PostDropdownBtn.tsx:269
+#: src/view/com/util/forms/PostDropdownBtn.tsx:275
msgid "Mute thread"
msgstr "Silenzia questa discussione"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:267
-#: src/view/com/util/forms/PostDropdownBtn.tsx:269
+#: src/view/com/util/forms/PostDropdownBtn.tsx:285
+#: src/view/com/util/forms/PostDropdownBtn.tsx:287
msgid "Mute words & tags"
-msgstr ""
+msgstr "Silenzia parole & tags"
#: src/view/com/lists/ListCard.tsx:102
msgid "Muted"
msgstr "Silenziato"
-#: src/view/screens/Moderation.tsx:128
+#: src/screens/Moderation/index.tsx:255
msgid "Muted accounts"
msgstr "Account silenziato"
-#: src/Navigation.tsx:127
-#: src/view/screens/ModerationMutedAccounts.tsx:107
+#: src/Navigation.tsx:129
+#: src/view/screens/ModerationMutedAccounts.tsx:112
msgid "Muted Accounts"
msgstr "Accounts Silenziati"
-#: src/view/screens/ModerationMutedAccounts.tsx:115
+#: src/view/screens/ModerationMutedAccounts.tsx:120
msgid "Muted accounts have their posts removed from your feed and from your notifications. Mutes are completely private."
msgstr "I post degli account silenziati verranno rimossi dal tuo feed e dalle tue notifiche. Silenziare è completamente privato."
-#: src/view/screens/Moderation.tsx:100
-msgid "Muted words & tags"
-msgstr ""
+#: src/lib/moderation/useModerationCauseDescription.ts:85
+msgid "Muted by \"{0}\""
+msgstr "Silenziato da \"{0}\""
-#: src/view/screens/ProfileList.tsx:277
+#: src/screens/Moderation/index.tsx:231
+msgid "Muted words & tags"
+msgstr "Parole e tags silenziati"
+
+#: src/view/screens/ProfileList.tsx:623
msgid "Muting is private. Muted accounts can interact with you, but you will not see their posts or receive notifications from them."
msgstr "Silenziare un account è privato. Gli account silenziati possono interagire con te, ma non vedrai i loro post né riceverai le loro notifiche."
-#: src/view/com/modals/BirthDateSettings.tsx:56
+#: src/components/dialogs/BirthDateSettings.tsx:35
+#: src/components/dialogs/BirthDateSettings.tsx:38
msgid "My Birthday"
msgstr "Il mio Compleanno"
-#: src/view/screens/Feeds.tsx:663
+#: src/view/screens/Feeds.tsx:688
msgid "My Feeds"
msgstr "I miei Feeds"
@@ -2365,32 +2871,39 @@ msgstr "I miei Feeds"
msgid "My Profile"
msgstr "Il mio Profilo"
-#: src/view/screens/Settings/index.tsx:582
+#: src/view/screens/Settings/index.tsx:547
+msgid "My saved feeds"
+msgstr "I miei feed salvati"
+
+#: src/view/screens/Settings/index.tsx:553
msgid "My Saved Feeds"
msgstr "I miei Feeds Salvati"
-#: src/view/com/auth/server-input/index.tsx:118
-msgid "my-server.com"
-msgstr "my-server.com"
+#~ msgid "my-server.com"
+#~ msgstr "my-server.com"
-#: src/view/com/modals/AddAppPasswords.tsx:179
-#: src/view/com/modals/CreateOrEditList.tsx:290
+#: src/view/com/modals/AddAppPasswords.tsx:180
+#: src/view/com/modals/CreateOrEditList.tsx:291
msgid "Name"
msgstr "Nome"
-#: src/view/com/modals/CreateOrEditList.tsx:145
+#: src/view/com/modals/CreateOrEditList.tsx:146
msgid "Name is required"
msgstr "Il nome è obbligatorio"
+#: src/lib/moderation/useReportOptions.ts:57
+#: src/lib/moderation/useReportOptions.ts:78
+#: src/lib/moderation/useReportOptions.ts:86
+msgid "Name or Description Violates Community Standards"
+msgstr "Il Nome o la Descrizione Viola gli Standard della Comunità"
+
#: src/screens/Onboarding/index.tsx:25
msgid "Nature"
msgstr "Natura"
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:190
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:219
-#: src/view/com/auth/login/LoginForm.tsx:289
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:196
-#: src/view/com/modals/ChangePassword.tsx:166
+#: src/screens/Login/ForgotPasswordForm.tsx:173
+#: src/screens/Login/LoginForm.tsx:255
+#: src/view/com/modals/ChangePassword.tsx:168
msgid "Navigates to the next screen"
msgstr "Vai alla schermata successiva"
@@ -2398,23 +2911,27 @@ msgstr "Vai alla schermata successiva"
msgid "Navigates to your profile"
msgstr "Vai al tuo profilo"
+#: src/components/ReportDialog/SelectReportOptionView.tsx:123
+msgid "Need to report a copyright violation?"
+msgstr "Hai bisogno di segnalare una violazione del copyright?"
+
#: src/view/com/modals/EmbedConsent.tsx:107
#: src/view/com/modals/EmbedConsent.tsx:123
-msgid "Never load embeds from {0}"
-msgstr "Non caricare mai gli inserimenti di {0}"
+#~ msgid "Never load embeds from {0}"
+#~ msgstr "Non caricare mai gli inserimenti di {0}"
#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:72
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:72
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:74
msgid "Never lose access to your followers and data."
msgstr "Non perdere mai l'accesso ai tuoi follower e ai tuoi dati."
-#: src/screens/Onboarding/StepFinished.tsx:119
+#: src/screens/Onboarding/StepFinished.tsx:123
msgid "Never lose access to your followers or data."
msgstr "Non perdere mai l'accesso ai tuoi follower o ai tuoi dati."
-#: src/components/dialogs/MutedWords.tsx:293
-msgid "Nevermind"
-msgstr ""
+#: src/view/com/modals/ChangeHandle.tsx:519
+msgid "Nevermind, create a handle for me"
+msgstr "Non importa, crea una handle per me"
#: src/view/screens/Lists.tsx:76
msgctxt "action"
@@ -2425,39 +2942,42 @@ msgstr "Nuova"
msgid "New"
msgstr "Nuova"
-#: src/view/com/modals/CreateOrEditList.tsx:252
+#: src/view/com/modals/CreateOrEditList.tsx:253
msgid "New Moderation List"
msgstr "Nuova Lista di Moderazione"
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:150
+#: src/view/com/modals/ChangePassword.tsx:212
msgid "New password"
msgstr "Nuovo Password"
-#: src/view/com/modals/ChangePassword.tsx:215
+#: src/view/com/modals/ChangePassword.tsx:217
msgid "New Password"
msgstr "Nuovo Password"
-#: src/view/com/feeds/FeedPage.tsx:126
+#: src/view/com/feeds/FeedPage.tsx:149
msgctxt "action"
msgid "New post"
msgstr "Nuovo Post"
-#: src/view/screens/Feeds.tsx:555
+#: src/view/screens/Feeds.tsx:580
#: src/view/screens/Notifications.tsx:168
-#: src/view/screens/Profile.tsx:382
-#: src/view/screens/ProfileFeed.tsx:433
-#: src/view/screens/ProfileList.tsx:196
-#: src/view/screens/ProfileList.tsx:224
-#: src/view/shell/desktop/LeftNav.tsx:248
+#: src/view/screens/Profile.tsx:480
+#: src/view/screens/ProfileFeed.tsx:445
+#: src/view/screens/ProfileList.tsx:200
+#: src/view/screens/ProfileList.tsx:228
+#: src/view/shell/desktop/LeftNav.tsx:252
msgid "New post"
msgstr "Nuovo post"
-#: src/view/shell/desktop/LeftNav.tsx:258
+#: src/view/shell/desktop/LeftNav.tsx:262
msgctxt "action"
msgid "New Post"
msgstr "Nuovo post"
-#: src/view/com/modals/CreateOrEditList.tsx:247
+#~ msgid "New Post"
+#~ msgstr "Nuovo Post"
+
+#: src/view/com/modals/CreateOrEditList.tsx:248
msgid "New User List"
msgstr "Nuova lista"
@@ -2469,15 +2989,16 @@ msgstr "Mostrare prima le risposte più recenti"
msgid "News"
msgstr "Notizie"
-#: src/view/com/auth/create/CreateAccount.tsx:172
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:182
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:192
-#: src/view/com/auth/login/LoginForm.tsx:291
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:187
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:198
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:79
-#: src/view/com/modals/ChangePassword.tsx:251
+#: src/screens/Login/ForgotPasswordForm.tsx:143
+#: src/screens/Login/ForgotPasswordForm.tsx:150
+#: src/screens/Login/LoginForm.tsx:254
+#: src/screens/Login/LoginForm.tsx:261
+#: src/screens/Login/SetNewPasswordForm.tsx:174
+#: src/screens/Login/SetNewPasswordForm.tsx:180
+#: src/screens/Signup/index.tsx:207
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:80
#: src/view/com/modals/ChangePassword.tsx:253
+#: src/view/com/modals/ChangePassword.tsx:255
msgid "Next"
msgstr "Seguente"
@@ -2486,7 +3007,7 @@ msgctxt "action"
msgid "Next"
msgstr "Seguente"
-#: src/view/com/lightbox/Lightbox.web.tsx:149
+#: src/view/com/lightbox/Lightbox.web.tsx:169
msgid "Next image"
msgstr "Immagine seguente"
@@ -2499,39 +3020,48 @@ msgstr "Immagine seguente"
msgid "No"
msgstr "No"
-#: src/view/screens/ProfileFeed.tsx:584
-#: src/view/screens/ProfileList.tsx:755
+#: src/view/screens/ProfileFeed.tsx:574
+#: src/view/screens/ProfileList.tsx:771
msgid "No description"
msgstr "Senza descrizione"
-#: src/view/com/profile/ProfileHeader.tsx:170
+#: src/view/com/modals/ChangeHandle.tsx:405
+msgid "No DNS Panel"
+msgstr "Nessun pannello DNS"
+
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:118
msgid "No longer following {0}"
msgstr "Non segui più {0}"
+#: src/screens/Signup/StepHandle.tsx:115
+msgid "No longer than 253 characters"
+msgstr ""
+
#: src/view/com/notifications/Feed.tsx:109
msgid "No notifications yet!"
msgstr "Ancora nessuna notifica!"
-#: src/view/com/composer/text-input/mobile/Autocomplete.tsx:97
-#: src/view/com/composer/text-input/web/Autocomplete.tsx:191
+#: src/view/com/composer/text-input/mobile/Autocomplete.tsx:101
+#: src/view/com/composer/text-input/web/Autocomplete.tsx:195
msgid "No result"
msgstr "Nessun risultato"
-#: src/components/Lists.tsx:192
+#: src/components/Lists.tsx:183
msgid "No results found"
-msgstr ""
+msgstr "Non si è trovato nessun risultato"
-#: src/view/screens/Feeds.tsx:495
+#: src/view/screens/Feeds.tsx:520
msgid "No results found for \"{query}\""
msgstr "Nessun risultato trovato per \"{query}\""
#: src/view/com/modals/ListAddRemoveUsers.tsx:127
-#: src/view/screens/Search/Search.tsx:281
-#: src/view/screens/Search/Search.tsx:309
+#: src/view/screens/Search/Search.tsx:349
+#: src/view/screens/Search/Search.tsx:387
msgid "No results found for {query}"
msgstr "Nessun risultato trovato per {query}"
-#: src/view/com/modals/EmbedConsent.tsx:129
+#: src/components/dialogs/EmbedConsent.tsx:105
+#: src/components/dialogs/EmbedConsent.tsx:112
msgid "No thanks"
msgstr "No grazie"
@@ -2539,12 +3069,21 @@ msgstr "No grazie"
msgid "Nobody"
msgstr "Nessuno"
+#: src/components/LikedByList.tsx:79
+#: src/components/LikesDialog.tsx:99
+msgid "Nobody has liked this yet. Maybe you should be the first!"
+msgstr "Nessuno ha fatto ancora un like. Fai il primo tu!"
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:42
+msgid "Non-sexual Nudity"
+msgstr "Nudità non sessuale"
+
#: src/view/com/modals/SelfLabel.tsx:135
msgid "Not Applicable."
msgstr "Non applicabile."
-#: src/Navigation.tsx:107
-#: src/view/screens/Profile.tsx:106
+#: src/Navigation.tsx:109
+#: src/view/screens/Profile.tsx:101
msgid "Not Found"
msgstr "Non trovato"
@@ -2553,16 +3092,23 @@ msgstr "Non trovato"
msgid "Not right now"
msgstr "Non adesso"
-#: src/view/screens/Moderation.tsx:252
+#: src/view/com/profile/ProfileMenu.tsx:368
+#: src/view/com/util/forms/PostDropdownBtn.tsx:364
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:248
+msgid "Note about sharing"
+msgstr "Nota sulla condivisione"
+
+#: src/screens/Moderation/index.tsx:540
msgid "Note: Bluesky is an open and public network. This setting only limits the visibility of your content on the Bluesky app and website, and other apps may not respect this setting. Your content may still be shown to logged-out users by other apps and websites."
msgstr "Nota: Bluesky è una rete aperta e pubblica. Questa impostazione limita solo la visibilità dei tuoi contenuti sull'app e sul sito Web di Bluesky e altre app potrebbero non rispettare questa impostazione. I tuoi contenuti potrebbero comunque essere mostrati agli utenti disconnessi da altre app e siti web."
-#: src/Navigation.tsx:457
+#: src/Navigation.tsx:461
#: src/view/screens/Notifications.tsx:124
#: src/view/screens/Notifications.tsx:148
-#: src/view/shell/bottom-bar/BottomBar.tsx:205
-#: src/view/shell/desktop/LeftNav.tsx:361 src/view/shell/Drawer.tsx:435
-#: src/view/shell/Drawer.tsx:436
+#: src/view/shell/bottom-bar/BottomBar.tsx:216
+#: src/view/shell/desktop/LeftNav.tsx:365
+#: src/view/shell/Drawer.tsx:444
+#: src/view/shell/Drawer.tsx:445
msgid "Notifications"
msgstr "Notifiche"
@@ -2570,15 +3116,36 @@ msgstr "Notifiche"
msgid "Nudity"
msgstr "Nudità"
-#: src/view/com/util/ErrorBoundary.tsx:35
+#: src/lib/moderation/useReportOptions.ts:71
+msgid "Nudity or adult content not labeled as such"
+msgstr ""
+
+#: src/lib/moderation/useReportOptions.ts:71
+#~ msgid "Nudity or pornography not labeled as such"
+#~ msgstr "Nudità o pornografia non etichettata come tale"
+
+#: src/screens/Signup/index.tsx:143
+msgid "of"
+msgstr ""
+
+#: src/lib/moderation/useLabelBehaviorDescription.ts:11
+msgid "Off"
+msgstr "Spento"
+
+#: src/view/com/util/ErrorBoundary.tsx:49
msgid "Oh no!"
msgstr "Oh no!"
-#: src/screens/Onboarding/StepInterests/index.tsx:128
+#: src/screens/Onboarding/StepInterests/index.tsx:132
msgid "Oh no! Something went wrong."
-msgstr "Oh no! Qualcosa è andato storto."
+msgstr "Oh no! Qualcosa è andato male."
-#: src/view/com/auth/login/PasswordUpdatedForm.tsx:41
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:126
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:333
+msgid "OK"
+msgstr "OK"
+
+#: src/screens/Login/PasswordUpdatedForm.tsx:44
msgid "Okay"
msgstr "Va bene"
@@ -2586,11 +3153,11 @@ msgstr "Va bene"
msgid "Oldest replies first"
msgstr "Mostrare prima le risposte più vecchie"
-#: src/view/screens/Settings/index.tsx:234
+#: src/view/screens/Settings/index.tsx:247
msgid "Onboarding reset"
msgstr "Reimpostazione dell'onboarding"
-#: src/view/com/composer/Composer.tsx:382
+#: src/view/com/composer/Composer.tsx:392
msgid "One or more images is missing alt text."
msgstr "A una o più immagini manca il testo alternativo."
@@ -2598,49 +3165,58 @@ msgstr "A una o più immagini manca il testo alternativo."
msgid "Only {0} can reply."
msgstr "Solo {0} può rispondere."
-#: src/components/Lists.tsx:82
-msgid "Oops, something went wrong!"
+#: src/screens/Signup/StepHandle.tsx:98
+msgid "Only contains letters, numbers, and hyphens"
msgstr ""
-#: src/components/Lists.tsx:188
-#: src/view/screens/AppPasswords.tsx:65
-#: src/view/screens/Profile.tsx:106
+#: src/components/Lists.tsx:75
+msgid "Oops, something went wrong!"
+msgstr "Ops! Qualcosa è andato male!"
+
+#: src/components/Lists.tsx:170
+#: src/view/screens/AppPasswords.tsx:67
+#: src/view/screens/Profile.tsx:101
msgid "Oops!"
msgstr "Ops!"
-#: src/screens/Onboarding/StepFinished.tsx:115
+#: src/screens/Onboarding/StepFinished.tsx:119
msgid "Open"
msgstr "Apri"
-#: src/view/screens/Moderation.tsx:75
-msgid "Open content filtering settings"
-msgstr ""
-
-#: src/view/com/composer/Composer.tsx:477
-#: src/view/com/composer/Composer.tsx:478
+#: src/view/com/composer/Composer.tsx:491
+#: src/view/com/composer/Composer.tsx:492
msgid "Open emoji picker"
msgstr "Apri il selettore emoji"
-#: src/view/screens/Settings/index.tsx:712
+#: src/view/screens/ProfileFeed.tsx:311
+msgid "Open feed options menu"
+msgstr "Apri il menu delle opzioni del feed"
+
+#: src/view/screens/Settings/index.tsx:685
msgid "Open links with in-app browser"
msgstr "Apri i links con il navigatore della app"
-#: src/view/screens/Moderation.tsx:92
-msgid "Open muted words settings"
-msgstr ""
+#: src/screens/Moderation/index.tsx:227
+msgid "Open muted words and tags settings"
+msgstr "Apri le impostazioni delle parole e dei tag silenziati"
-#: src/view/com/home/HomeHeaderLayoutMobile.tsx:50
+#: src/view/com/home/HomeHeaderLayoutMobile.tsx:52
msgid "Open navigation"
msgstr "Apri la navigazione"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:175
+#: src/view/com/util/forms/PostDropdownBtn.tsx:191
msgid "Open post options menu"
-msgstr ""
+msgstr "Apri il menu delle opzioni del post"
-#: src/view/screens/Settings/index.tsx:804
+#: src/view/screens/Settings/index.tsx:792
+#: src/view/screens/Settings/index.tsx:802
msgid "Open storybook page"
msgstr "Apri la pagina della cronologia"
+#: src/view/screens/Settings/index.tsx:780
+msgid "Open system log"
+msgstr "Apri il registro di sistema"
+
#: src/view/com/util/forms/DropdownButton.tsx:154
msgid "Opens {numItems} options"
msgstr "Apre le {numItems} opzioni"
@@ -2649,11 +3225,11 @@ msgstr "Apre le {numItems} opzioni"
msgid "Opens additional details for a debug entry"
msgstr "Apre dettagli aggiuntivi per una debug entry"
-#: src/view/com/notifications/FeedItem.tsx:349
+#: src/view/com/notifications/FeedItem.tsx:355
msgid "Opens an expanded list of users in this notification"
msgstr "Apre un elenco ampliato di utenti in questa notifica"
-#: src/view/com/composer/photos/OpenCameraBtn.tsx:61
+#: src/view/com/composer/photos/OpenCameraBtn.tsx:78
msgid "Opens camera on device"
msgstr "Apre la fotocamera sul dispositivo"
@@ -2661,7 +3237,7 @@ msgstr "Apre la fotocamera sul dispositivo"
msgid "Opens composer"
msgstr "Apre il compositore"
-#: src/view/screens/Settings/index.tsx:595
+#: src/view/screens/Settings/index.tsx:566
msgid "Opens configurable language settings"
msgstr "Apre le impostazioni configurabili delle lingue"
@@ -2669,68 +3245,108 @@ msgstr "Apre le impostazioni configurabili delle lingue"
msgid "Opens device photo gallery"
msgstr "Apre la galleria fotografica del dispositivo"
-#: src/view/com/profile/ProfileHeader.tsx:420
-msgid "Opens editor for profile display name, avatar, background image, and description"
-msgstr "Apre l'editor per il nome configurato del profilo, l'avatar, l'immagine di sfondo e la descrizione"
+#~ msgid "Opens editor for profile display name, avatar, background image, and description"
+#~ msgstr "Apre l'editor per il nome configurato del profilo, l'avatar, l'immagine di sfondo e la descrizione"
-#: src/view/screens/Settings/index.tsx:649
+#: src/view/screens/Settings/index.tsx:620
msgid "Opens external embeds settings"
msgstr "Apre le impostazioni esterne per gli incorporamenti"
-#: src/view/com/profile/ProfileHeader.tsx:575
-msgid "Opens followers list"
-msgstr "Apre la lista dei followers"
+#: src/view/com/auth/SplashScreen.tsx:50
+#: src/view/com/auth/SplashScreen.web.tsx:94
+msgid "Opens flow to create a new Bluesky account"
+msgstr "Apre il procedimento per creare un nuovo account Bluesky"
-#: src/view/com/profile/ProfileHeader.tsx:594
-msgid "Opens following list"
-msgstr "Apre la lista di chi segui"
+#: src/view/com/auth/SplashScreen.tsx:65
+#: src/view/com/auth/SplashScreen.web.tsx:109
+msgid "Opens flow to sign into your existing Bluesky account"
+msgstr "Apre il procedimento per accedere al tuo account esistente di Bluesky"
-#: src/view/com/modals/InviteCodes.tsx:172
+#~ msgid "Opens followers list"
+#~ msgstr "Apre la lista dei followers"
+
+#~ msgid "Opens following list"
+#~ msgstr "Apre la lista di chi segui"
+
+#~ msgid "Opens invite code list"
+#~ msgstr "Apre la lista dei codici di invito"
+
+#: src/view/com/modals/InviteCodes.tsx:173
msgid "Opens list of invite codes"
msgstr "Apre la lista dei codici di invito"
-#: src/view/screens/Settings/index.tsx:774
-msgid "Opens modal for account deletion confirmation. Requires email code."
-msgstr "Apre il modal per la conferma dell'eliminazione dell'account. Richiede un codice email."
+#: src/view/screens/Settings/index.tsx:762
+msgid "Opens modal for account deletion confirmation. Requires email code"
+msgstr "Apre la modale per la conferma dell'eliminazione dell'account. Richiede un codice e-mail"
-#: src/view/com/modals/ChangeHandle.tsx:281
+#~ msgid "Opens modal for account deletion confirmation. Requires email code."
+#~ msgstr "Apre il modal per la conferma dell'eliminazione dell'account. Richiede un codice email."
+
+#: src/view/screens/Settings/index.tsx:720
+msgid "Opens modal for changing your Bluesky password"
+msgstr "Apre la modale per modificare il tuo password di Bluesky"
+
+#: src/view/screens/Settings/index.tsx:669
+msgid "Opens modal for choosing a new Bluesky handle"
+msgstr "Apre la modale per la scelta di un nuovo handle di Bluesky"
+
+#: src/view/screens/Settings/index.tsx:743
+msgid "Opens modal for downloading your Bluesky account data (repository)"
+msgstr "Apre la modale per scaricare i dati del tuo account Bluesky (repository)"
+
+#: src/view/screens/Settings/index.tsx:932
+msgid "Opens modal for email verification"
+msgstr "Apre la modale per la verifica dell'e-mail"
+
+#: src/view/com/modals/ChangeHandle.tsx:282
msgid "Opens modal for using custom domain"
msgstr "Apre il modal per l'utilizzo del dominio personalizzato"
-#: src/view/screens/Settings/index.tsx:620
+#: src/view/screens/Settings/index.tsx:591
msgid "Opens moderation settings"
msgstr "Apre le impostazioni di moderazione"
-#: src/view/com/auth/login/LoginForm.tsx:239
+#: src/screens/Login/LoginForm.tsx:202
msgid "Opens password reset form"
msgstr "Apre il modulo di reimpostazione della password"
-#: src/view/com/home/HomeHeaderLayout.web.tsx:63
-#: src/view/screens/Feeds.tsx:356
+#: src/view/com/home/HomeHeaderLayout.web.tsx:67
+#: src/view/screens/Feeds.tsx:381
msgid "Opens screen to edit Saved Feeds"
msgstr "Apre la schermata per modificare i feed salvati"
-#: src/view/screens/Settings/index.tsx:576
+#: src/view/screens/Settings/index.tsx:548
msgid "Opens screen with all saved feeds"
msgstr "Apre la schermata con tutti i feed salvati"
-#: src/view/screens/Settings/index.tsx:676
-msgid "Opens the app password settings page"
-msgstr "Apre la pagina delle impostazioni della password dell'app"
+#: src/view/screens/Settings/index.tsx:647
+msgid "Opens the app password settings"
+msgstr "Apre le impostazioni della password dell'app"
-#: src/view/screens/Settings/index.tsx:535
-msgid "Opens the home feed preferences"
-msgstr "Apre le preferenze del home feed"
+#~ msgid "Opens the app password settings page"
+#~ msgstr "Apre la pagina delle impostazioni della password dell'app"
-#: src/view/screens/Settings/index.tsx:805
+#: src/view/screens/Settings/index.tsx:505
+msgid "Opens the Following feed preferences"
+msgstr "Apre le preferenze del feed Following"
+
+#~ msgid "Opens the home feed preferences"
+#~ msgstr "Apre le preferenze del home feed"
+
+#: src/view/com/modals/LinkWarning.tsx:93
+msgid "Opens the linked website"
+msgstr "Apre il sito Web collegato"
+
+#: src/view/screens/Settings/index.tsx:793
+#: src/view/screens/Settings/index.tsx:803
msgid "Opens the storybook page"
msgstr "Apri la pagina della cronologia"
-#: src/view/screens/Settings/index.tsx:793
+#: src/view/screens/Settings/index.tsx:781
msgid "Opens the system log page"
msgstr "Apre la pagina del registro di sistema"
-#: src/view/screens/Settings/index.tsx:556
+#: src/view/screens/Settings/index.tsx:526
msgid "Opens the threads preferences"
msgstr "Apre le preferenze dei threads"
@@ -2738,19 +3354,30 @@ msgstr "Apre le preferenze dei threads"
msgid "Option {0} of {numItems}"
msgstr "Opzione {0} di {numItems}"
+#: src/components/ReportDialog/SubmitView.tsx:160
+msgid "Optionally provide additional information below:"
+msgstr "Facoltativamente, fornisci ulteriori informazioni di seguito:"
+
#: src/view/com/modals/Threadgate.tsx:89
msgid "Or combine these options:"
msgstr "Oppure combina queste opzioni:"
-#: src/view/com/auth/login/ChooseAccountForm.tsx:138
+#: src/lib/moderation/useReportOptions.ts:25
+msgid "Other"
+msgstr "Altri"
+
+#: src/components/AccountList.tsx:73
msgid "Other account"
msgstr "Altro account"
+#~ msgid "Other service"
+#~ msgstr "Altro servizio"
+
#: src/view/com/composer/select-language/SelectLangBtn.tsx:91
msgid "Other..."
msgstr "Altro..."
-#: src/components/Lists.tsx:194
+#: src/components/Lists.tsx:184
#: src/view/screens/NotFound.tsx:45
msgid "Page not found"
msgstr "Pagina non trovata"
@@ -2759,27 +3386,35 @@ msgstr "Pagina non trovata"
msgid "Page Not Found"
msgstr "Pagina non trovata"
-#: src/view/com/auth/create/Step1.tsx:191
-#: src/view/com/auth/create/Step1.tsx:201
-#: src/view/com/auth/login/LoginForm.tsx:226
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:161
-#: src/view/com/modals/DeleteAccount.tsx:202
+#: src/screens/Login/LoginForm.tsx:178
+#: src/screens/Signup/StepInfo/index.tsx:102
+#: src/view/com/modals/DeleteAccount.tsx:194
+#: src/view/com/modals/DeleteAccount.tsx:201
msgid "Password"
msgstr "Password"
-#: src/view/com/auth/login/Login.tsx:157
+#: src/view/com/modals/ChangePassword.tsx:142
+msgid "Password Changed"
+msgstr "Password Cambiato"
+
+#: src/screens/Login/index.tsx:157
msgid "Password updated"
msgstr "Password aggiornata"
-#: src/view/com/auth/login/PasswordUpdatedForm.tsx:28
+#: src/screens/Login/PasswordUpdatedForm.tsx:30
msgid "Password updated!"
msgstr "Password aggiornata!"
-#: src/Navigation.tsx:162
+#: src/view/screens/Search/Search.tsx:447
+#: src/view/screens/Search/Search.tsx:456
+msgid "People"
+msgstr ""
+
+#: src/Navigation.tsx:164
msgid "People followed by @{0}"
msgstr "Persone seguite da @{0}"
-#: src/Navigation.tsx:155
+#: src/Navigation.tsx:157
msgid "People following @{0}"
msgstr "Persone che seguono @{0}"
@@ -2795,7 +3430,6 @@ msgstr "L'autorizzazione per accedere la cartella delle immagini è stata negata
msgid "Pets"
msgstr "Animali di compagnia"
-#: src/view/com/auth/create/Step2.tsx:183
#~ msgid "Phone number"
#~ msgstr "Numero di telefono"
@@ -2803,80 +3437,86 @@ msgstr "Animali di compagnia"
msgid "Pictures meant for adults."
msgstr "Immagini per adulti."
-#: src/view/screens/ProfileFeed.tsx:354
-#: src/view/screens/ProfileList.tsx:581
+#: src/view/screens/ProfileFeed.tsx:303
+#: src/view/screens/ProfileList.tsx:565
msgid "Pin to home"
-msgstr "Fissa sulla home page"
+msgstr "Fissa su Home"
-#: src/view/screens/SavedFeeds.tsx:88
+#: src/view/screens/ProfileFeed.tsx:306
+msgid "Pin to Home"
+msgstr "Fissa su Home"
+
+#: src/view/screens/SavedFeeds.tsx:89
msgid "Pinned Feeds"
msgstr "Feeds Fissi"
-#: src/view/com/util/post-embeds/ExternalGifEmbed.tsx:111
+#: src/view/com/util/post-embeds/ExternalGifEmbed.tsx:123
msgid "Play {0}"
msgstr "Riproduci {0}"
-#: src/view/com/util/post-embeds/ExternalPlayerEmbed.tsx:54
-#: src/view/com/util/post-embeds/ExternalPlayerEmbed.tsx:55
+#: src/view/com/util/post-embeds/ExternalPlayerEmbed.tsx:57
+#: src/view/com/util/post-embeds/ExternalPlayerEmbed.tsx:58
msgid "Play Video"
msgstr "Riproduci video"
-#: src/view/com/util/post-embeds/ExternalGifEmbed.tsx:110
+#: src/view/com/util/post-embeds/ExternalGifEmbed.tsx:122
msgid "Plays the GIF"
msgstr "Riproduci questa GIF"
-#: src/view/com/auth/create/state.ts:124
+#: src/screens/Signup/state.ts:241
msgid "Please choose your handle."
msgstr "Scegli il tuo nome utente."
-#: src/view/com/auth/create/state.ts:117
+#: src/screens/Signup/state.ts:234
msgid "Please choose your password."
msgstr "Scegli la tua password."
-#: src/view/com/auth/create/state.ts:131
+#: src/screens/Signup/state.ts:251
msgid "Please complete the verification captcha."
-msgstr ""
+msgstr "Si prega di completare il captcha di verifica."
#: src/view/com/modals/ChangeEmail.tsx:67
msgid "Please confirm your email before changing it. This is a temporary requirement while email-updating tools are added, and it will soon be removed."
msgstr "Conferma la tua email prima di cambiarla. Si tratta di un requisito temporaneo durante l'aggiunta degli strumenti di aggiornamento della posta elettronica e verrà presto rimosso."
-#: src/view/com/modals/AddAppPasswords.tsx:90
+#: src/view/com/modals/AddAppPasswords.tsx:91
msgid "Please enter a name for your app password. All spaces is not allowed."
msgstr "Inserisci un nome per la password dell'app. Tutti gli spazi non sono consentiti."
-#: src/view/com/auth/create/Step2.tsx:206
#~ msgid "Please enter a phone number that can receive SMS text messages."
#~ msgstr "Inserisci un numero di telefono in grado di ricevere messaggi di testo SMS."
-#: src/view/com/modals/AddAppPasswords.tsx:145
+#: src/view/com/modals/AddAppPasswords.tsx:146
msgid "Please enter a unique name for this App Password or use our randomly generated one."
msgstr "Inserisci un nome unico per la password dell'app o utilizzane uno generato automaticamente."
-#: src/components/dialogs/MutedWords.tsx:68
+#: src/components/dialogs/MutedWords.tsx:67
msgid "Please enter a valid word, tag, or phrase to mute"
-msgstr ""
+msgstr "Inserisci una parola, un tag o una frase valida da silenziare"
-#: src/view/com/auth/create/state.ts:170
#~ msgid "Please enter the code you received by SMS."
#~ msgstr "Inserisci il codice che hai ricevuto via SMS."
-#: src/view/com/auth/create/Step2.tsx:282
#~ msgid "Please enter the verification code sent to {phoneNumberFormatted}."
#~ msgstr "Inserisci il codice di verifica inviato a {phoneNumberFormatted}."
-#: src/view/com/auth/create/state.ts:103
+#: src/screens/Signup/state.ts:220
msgid "Please enter your email."
msgstr "Inserisci la tua email."
-#: src/view/com/modals/DeleteAccount.tsx:191
+#: src/view/com/modals/DeleteAccount.tsx:190
msgid "Please enter your password as well:"
msgstr "Inserisci anche la tua password:"
-#: src/view/com/modals/AppealLabel.tsx:72
-#: src/view/com/modals/AppealLabel.tsx:75
-msgid "Please tell us why you think this content warning was incorrectly applied!"
-msgstr "Spiegaci perché ritieni che questo avviso sui contenuti sia stato applicato in modo errato!"
+#: src/components/moderation/LabelsOnMeDialog.tsx:221
+msgid "Please explain why you think this label was incorrectly applied by {0}"
+msgstr "Spiega perché ritieni che questa etichetta sia stata applicata in modo errato da {0}"
+
+#~ msgid "Please tell us why you think this content warning was incorrectly applied!"
+#~ msgstr "Spiegaci perché ritieni che questo avviso sui contenuti sia stato applicato in modo errato!"
+
+#~ msgid "Please tell us why you think this decision was incorrect."
+#~ msgstr "Per favore spiegaci perché ritieni che questa decisione sia stata sbagliata."
#: src/view/com/modals/VerifyEmail.tsx:101
msgid "Please Verify Your Email"
@@ -2894,38 +3534,52 @@ msgstr "Politica"
msgid "Porn"
msgstr "Porno"
-#: src/view/com/composer/Composer.tsx:357
-#: src/view/com/composer/Composer.tsx:365
+#: src/lib/moderation/useGlobalLabelStrings.ts:34
+#~ msgid "Pornography"
+#~ msgstr "Pornografia"
+
+#: src/view/com/composer/Composer.tsx:367
+#: src/view/com/composer/Composer.tsx:375
msgctxt "action"
msgid "Post"
msgstr "Post"
-#: src/view/com/post-thread/PostThread.tsx:303
+#: src/view/com/post-thread/PostThread.tsx:292
msgctxt "description"
msgid "Post"
msgstr "Post"
#~ msgid "Post"
-#~ msgstr "Publicació"
+#~ msgstr "Post"
#: src/view/com/post-thread/PostThreadItem.tsx:175
msgid "Post by {0}"
msgstr "Pubblicato da {0}"
-#: src/Navigation.tsx:174
-#: src/Navigation.tsx:181
-#: src/Navigation.tsx:188
+#: src/Navigation.tsx:176
+#: src/Navigation.tsx:183
+#: src/Navigation.tsx:190
msgid "Post by @{0}"
msgstr "Pubblicato da @{0}"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:108
+#: src/view/com/util/forms/PostDropdownBtn.tsx:111
msgid "Post deleted"
msgstr "Post eliminato"
-#: src/view/com/post-thread/PostThread.tsx:462
+#: src/view/com/post-thread/PostThread.tsx:157
msgid "Post hidden"
msgstr "Post nascosto"
+#: src/components/moderation/ModerationDetailsDialog.tsx:97
+#: src/lib/moderation/useModerationCauseDescription.ts:99
+msgid "Post Hidden by Muted Word"
+msgstr "Post nascosto dalla Parola Silenziata"
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:100
+#: src/lib/moderation/useModerationCauseDescription.ts:108
+msgid "Post Hidden by You"
+msgstr "Post nascosto da te"
+
#: src/view/com/composer/select-language/SelectLangBtn.tsx:87
msgid "Post language"
msgstr "Lingua del post"
@@ -2934,31 +3588,43 @@ msgstr "Lingua del post"
msgid "Post Languages"
msgstr "Lingue del post"
-#: src/view/com/post-thread/PostThread.tsx:514
+#: src/view/com/post-thread/PostThread.tsx:152
+#: src/view/com/post-thread/PostThread.tsx:164
msgid "Post not found"
msgstr "Post non trovato"
#: src/components/TagMenu/index.tsx:253
msgid "posts"
-msgstr ""
+msgstr "post"
-#: src/view/screens/Profile.tsx:180
+#: src/view/screens/Profile.tsx:195
+#: src/view/screens/Search/Search.tsx:467
msgid "Posts"
msgstr "Post"
-#: src/components/dialogs/MutedWords.tsx:90
+#: src/components/dialogs/MutedWords.tsx:89
msgid "Posts can be muted based on their text, their tags, or both."
-msgstr ""
+msgstr "I post possono essere silenziati in base al testo, ai tag o entrambi."
#: src/view/com/posts/FeedErrorMessage.tsx:64
msgid "Posts hidden"
msgstr "Post nascosto"
-#: src/view/com/modals/LinkWarning.tsx:46
+#: src/view/com/modals/LinkWarning.tsx:60
msgid "Potentially Misleading Link"
msgstr "Link potenzialmente fuorviante"
-#: src/view/com/lightbox/Lightbox.web.tsx:135
+#: src/components/forms/HostingProvider.tsx:46
+msgid "Press to change hosting provider"
+msgstr ""
+
+#: src/components/Error.tsx:74
+#: src/components/Lists.tsx:80
+#: src/screens/Signup/index.tsx:187
+msgid "Press to retry"
+msgstr "Premere per riprovare"
+
+#: src/view/com/lightbox/Lightbox.web.tsx:150
msgid "Previous image"
msgstr "Immagine precedente"
@@ -2970,37 +3636,45 @@ msgstr "Lingua principale"
msgid "Prioritize Your Follows"
msgstr "Dai priorità a quelli che segui"
-#: src/view/screens/Settings/index.tsx:632
+#: src/view/screens/Settings/index.tsx:603
#: src/view/shell/desktop/RightNav.tsx:72
msgid "Privacy"
msgstr "Privacy"
-#: src/Navigation.tsx:219
+#: src/Navigation.tsx:231
+#: src/screens/Signup/StepInfo/Policies.tsx:56
#: src/view/screens/PrivacyPolicy.tsx:29
-#: src/view/screens/Settings/index.tsx:891
-#: src/view/shell/Drawer.tsx:262
+#: src/view/screens/Settings/index.tsx:887
+#: src/view/shell/Drawer.tsx:271
msgid "Privacy Policy"
msgstr "Informativa sulla privacy"
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:198
+#: src/screens/Login/ForgotPasswordForm.tsx:156
msgid "Processing..."
msgstr "Elaborazione in corso…"
-#: src/view/shell/bottom-bar/BottomBar.tsx:247
-#: src/view/shell/desktop/LeftNav.tsx:415 src/view/shell/Drawer.tsx:70
-#: src/view/shell/Drawer.tsx:546 src/view/shell/Drawer.tsx:547
+#: src/view/screens/DebugMod.tsx:888
+#: src/view/screens/Profile.tsx:361
+msgid "profile"
+msgstr "profilo"
+
+#: src/view/shell/bottom-bar/BottomBar.tsx:261
+#: src/view/shell/desktop/LeftNav.tsx:419
+#: src/view/shell/Drawer.tsx:70
+#: src/view/shell/Drawer.tsx:555
+#: src/view/shell/Drawer.tsx:556
msgid "Profile"
msgstr "Profilo"
-#: src/view/com/modals/EditProfile.tsx:128
+#: src/view/com/modals/EditProfile.tsx:129
msgid "Profile updated"
msgstr "Profilo aggiornato"
-#: src/view/screens/Settings/index.tsx:949
+#: src/view/screens/Settings/index.tsx:945
msgid "Protect your account by verifying your email."
msgstr "Proteggi il tuo account verificando la tua email."
-#: src/screens/Onboarding/StepFinished.tsx:101
+#: src/screens/Onboarding/StepFinished.tsx:105
msgid "Public"
msgstr "Pubblico"
@@ -3012,15 +3686,15 @@ msgstr "Elenchi pubblici e condivisibili di utenti da disattivare o bloccare in
msgid "Public, shareable lists which can drive feeds."
msgstr "Liste pubbliche e condivisibili che possono impulsare i feeds."
-#: src/view/com/composer/Composer.tsx:342
+#: src/view/com/composer/Composer.tsx:352
msgid "Publish post"
msgstr "Pubblica il post"
-#: src/view/com/composer/Composer.tsx:342
+#: src/view/com/composer/Composer.tsx:352
msgid "Publish reply"
msgstr "Pubblica la risposta"
-#: src/view/com/modals/Repost.tsx:65
+#: src/view/com/modals/Repost.tsx:66
msgctxt "action"
msgid "Quote post"
msgstr "Cita il post"
@@ -3029,56 +3703,77 @@ msgstr "Cita il post"
msgid "Quote post"
msgstr "Cita il post"
-#: src/view/com/modals/Repost.tsx:70
+#: src/view/com/modals/Repost.tsx:71
msgctxt "action"
msgid "Quote Post"
msgstr "Cita il post"
+#~ msgid "Quote Post"
+#~ msgstr "Cita il post"
+
#: src/view/screens/PreferencesThreads.tsx:86
msgid "Random (aka \"Poster's Roulette\")"
msgstr "Selezione a caso (nota anche come \"Poster's Roulette\")"
-#: src/view/com/modals/EditImage.tsx:236
+#: src/view/com/modals/EditImage.tsx:237
msgid "Ratios"
msgstr "Rapporti"
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:116
+#: src/view/screens/Search/Search.tsx:924
+msgid "Recent Searches"
+msgstr "Ricerche recenti"
+
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:117
msgid "Recommended Feeds"
msgstr "Feeds consigliati"
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:180
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:181
msgid "Recommended Users"
msgstr "Utenti consigliati"
-#: src/components/dialogs/MutedWords.tsx:298
-#: src/view/com/modals/ListAddRemoveUsers.tsx:264
+#: src/components/dialogs/MutedWords.tsx:286
+#: src/view/com/feeds/FeedSourceCard.tsx:283
+#: src/view/com/modals/ListAddRemoveUsers.tsx:268
#: src/view/com/modals/SelfLabel.tsx:83
#: src/view/com/modals/UserAddRemoveLists.tsx:219
-#: src/view/com/util/UserAvatar.tsx:285 src/view/com/util/UserBanner.tsx:91
+#: src/view/com/posts/FeedErrorMessage.tsx:204
msgid "Remove"
msgstr "Rimuovi"
-#: src/view/com/feeds/FeedSourceCard.tsx:108
-msgid "Remove {0} from my feeds?"
-msgstr "Rimuovere {0} dai miei feeds?"
+#~ msgid "Remove {0} from my feeds?"
+#~ msgstr "Rimuovere {0} dai miei feeds?"
#: src/view/com/util/AccountDropdownBtn.tsx:22
msgid "Remove account"
msgstr "Rimuovi l'account"
-#: src/view/com/posts/FeedErrorMessage.tsx:131
-#: src/view/com/posts/FeedErrorMessage.tsx:166
+#: src/view/com/util/UserAvatar.tsx:360
+msgid "Remove Avatar"
+msgstr "Rimuovere Avatar"
+
+#: src/view/com/util/UserBanner.tsx:148
+msgid "Remove Banner"
+msgstr "Rimuovi il Banner"
+
+#: src/view/com/posts/FeedErrorMessage.tsx:160
msgid "Remove feed"
msgstr "Rimuovi il feed"
-#: src/view/com/feeds/FeedSourceCard.tsx:107
-#: src/view/com/feeds/FeedSourceCard.tsx:169
-#: src/view/com/feeds/FeedSourceCard.tsx:174
-#: src/view/com/feeds/FeedSourceCard.tsx:245
-#: src/view/screens/ProfileFeed.tsx:273
+#: src/view/com/posts/FeedErrorMessage.tsx:201
+msgid "Remove feed?"
+msgstr "Rimuovere il feed?"
+
+#: src/view/com/feeds/FeedSourceCard.tsx:173
+#: src/view/com/feeds/FeedSourceCard.tsx:233
+#: src/view/screens/ProfileFeed.tsx:346
+#: src/view/screens/ProfileFeed.tsx:352
msgid "Remove from my feeds"
msgstr "Rimuovi dai miei feed"
+#: src/view/com/feeds/FeedSourceCard.tsx:278
+msgid "Remove from my feeds?"
+msgstr "Rimuovere dai miei feed?"
+
#: src/view/com/composer/photos/Gallery.tsx:167
msgid "Remove image"
msgstr "Rimuovi l'immagine"
@@ -3087,37 +3782,42 @@ msgstr "Rimuovi l'immagine"
msgid "Remove image preview"
msgstr "Rimuovi l'anteprima dell'immagine"
-#: src/components/dialogs/MutedWords.tsx:343
+#: src/components/dialogs/MutedWords.tsx:329
msgid "Remove mute word from your list"
-msgstr ""
+msgstr "Rimuovi la parola silenziata dalla tua lista"
-#: src/view/com/modals/Repost.tsx:47
+#: src/view/com/modals/Repost.tsx:48
msgid "Remove repost"
msgstr "Rimuovi la ripubblicazione"
-#: src/view/com/feeds/FeedSourceCard.tsx:175
-msgid "Remove this feed from my feeds?"
-msgstr "Rimuovere questo feed dai miei feeds?"
+#~ msgid "Remove this feed from my feeds?"
+#~ msgstr "Rimuovere questo feed dai miei feeds?"
-#: src/view/com/posts/FeedErrorMessage.tsx:132
-msgid "Remove this feed from your saved feeds?"
-msgstr "Elimina questo feed dai feeds salvati?"
+#: src/view/com/posts/FeedErrorMessage.tsx:202
+msgid "Remove this feed from your saved feeds"
+msgstr "Rimuovi questo feed dai feed salvati"
+
+#~ msgid "Remove this feed from your saved feeds?"
+#~ msgstr "Elimina questo feed dai feeds salvati?"
#: src/view/com/modals/ListAddRemoveUsers.tsx:199
#: src/view/com/modals/UserAddRemoveLists.tsx:152
msgid "Removed from list"
msgstr "Elimina dalla lista"
-#: src/view/com/feeds/FeedSourceCard.tsx:113
-#: src/view/com/feeds/FeedSourceCard.tsx:180
+#: src/view/com/feeds/FeedSourceCard.tsx:121
msgid "Removed from my feeds"
msgstr "Rimuovere dai miei feeds"
+#: src/view/screens/ProfileFeed.tsx:210
+msgid "Removed from your feeds"
+msgstr "Rimosso dai tuoi feed"
+
#: src/view/com/composer/ExternalEmbed.tsx:71
msgid "Removes default thumbnail from {0}"
msgstr "Elimina la miniatura predefinita da {0}"
-#: src/view/screens/Profile.tsx:181
+#: src/view/screens/Profile.tsx:196
msgid "Replies"
msgstr "Risposte"
@@ -3125,7 +3825,7 @@ msgstr "Risposte"
msgid "Replies to this thread are disabled"
msgstr "Le risposte a questo thread sono disabilitate"
-#: src/view/com/composer/Composer.tsx:355
+#: src/view/com/composer/Composer.tsx:365
msgctxt "action"
msgid "Reply"
msgstr "Risposta"
@@ -3134,36 +3834,61 @@ msgstr "Risposta"
msgid "Reply Filters"
msgstr "Filtri di risposta"
-#: src/view/com/post/Post.tsx:167
-#: src/view/com/posts/FeedItem.tsx:287
+#: src/view/com/post/Post.tsx:177
+#: src/view/com/posts/FeedItem.tsx:285
msgctxt "description"
msgid "Reply to <0/>"
msgstr "In risposta a <0/>"
-#: src/view/com/modals/report/Modal.tsx:166
-msgid "Report {collectionName}"
-msgstr "Segnala {collectionName}"
+#~ msgid "Report {collectionName}"
+#~ msgstr "Segnala {collectionName}"
-#: src/view/com/profile/ProfileHeader.tsx:361
+#: src/view/com/profile/ProfileMenu.tsx:319
+#: src/view/com/profile/ProfileMenu.tsx:322
msgid "Report Account"
-msgstr "Segnala il conto"
+msgstr "Segnala l'account"
-#: src/view/screens/ProfileFeed.tsx:293
+#: src/components/ReportDialog/index.tsx:49
+msgid "Report dialog"
+msgstr ""
+
+#: src/view/screens/ProfileFeed.tsx:363
+#: src/view/screens/ProfileFeed.tsx:365
msgid "Report feed"
msgstr "Segnala il feed"
-#: src/view/screens/ProfileList.tsx:459
+#: src/view/screens/ProfileList.tsx:431
msgid "Report List"
msgstr "Segnala la lista"
-#: src/view/com/modals/report/SendReportButton.tsx:37
-#: src/view/com/util/forms/PostDropdownBtn.tsx:301
-#: src/view/com/util/forms/PostDropdownBtn.tsx:309
+#: src/view/com/util/forms/PostDropdownBtn.tsx:312
+#: src/view/com/util/forms/PostDropdownBtn.tsx:314
msgid "Report post"
msgstr "Segnala il post"
-#: src/view/com/modals/Repost.tsx:43 src/view/com/modals/Repost.tsx:48
-#: src/view/com/modals/Repost.tsx:53
+#: src/components/ReportDialog/SelectReportOptionView.tsx:42
+msgid "Report this content"
+msgstr "Segnala questo contenuto"
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:55
+msgid "Report this feed"
+msgstr "Segnala questo feed"
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:52
+msgid "Report this list"
+msgstr "Segnala questa lista"
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:49
+msgid "Report this post"
+msgstr "Segnala questo post"
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:46
+msgid "Report this user"
+msgstr "Segnala questo utente"
+
+#: src/view/com/modals/Repost.tsx:44
+#: src/view/com/modals/Repost.tsx:49
+#: src/view/com/modals/Repost.tsx:54
#: src/view/com/util/post-ctrls/RepostButton.tsx:61
msgctxt "action"
msgid "Repost"
@@ -3178,23 +3903,33 @@ msgstr "Ripubblicare"
msgid "Repost or quote post"
msgstr "Ripubblicare o citare il post"
+#~ msgid "Reposted by"
+#~ msgstr "Repost di"
+
#: src/view/screens/PostRepostedBy.tsx:27
msgid "Reposted By"
msgstr "Repost di"
-#: src/view/com/posts/FeedItem.tsx:207
+#: src/view/com/posts/FeedItem.tsx:199
msgid "Reposted by {0}"
msgstr "Repost di {0}"
-#: src/view/com/posts/FeedItem.tsx:224
-msgid "Reposted by <0/>"
-msgstr "Repost di <0/>"
+#~ msgid "Reposted by {0})"
+#~ msgstr "Repost di {0})"
-#: src/view/com/notifications/FeedItem.tsx:162
+#: src/view/com/posts/FeedItem.tsx:214
+#~ msgid "Reposted by <0/>"
+#~ msgstr "Repost di <0/>"
+
+#: src/view/com/posts/FeedItem.tsx:216
+msgid "Reposted by <0><1/>0>"
+msgstr ""
+
+#: src/view/com/notifications/FeedItem.tsx:168
msgid "reposted your post"
msgstr "reposted il tuo post"
-#: src/view/com/post-thread/PostThreadItem.tsx:188
+#: src/view/com/post-thread/PostThreadItem.tsx:187
msgid "Reposts of this post"
msgstr "Repost di questo post"
@@ -3203,61 +3938,59 @@ msgstr "Repost di questo post"
msgid "Request Change"
msgstr "Richiedi un cambio"
-#: src/view/com/auth/create/Step2.tsx:219
#~ msgid "Request code"
#~ msgstr "Richiedi un codice"
-#: src/view/com/modals/ChangePassword.tsx:239
#: src/view/com/modals/ChangePassword.tsx:241
+#: src/view/com/modals/ChangePassword.tsx:243
msgid "Request Code"
msgstr "Richiedi il codice"
-#: src/view/screens/Settings/index.tsx:456
+#: src/view/screens/Settings/index.tsx:426
msgid "Require alt text before posting"
msgstr "Richiedi il testo alternativo prima di pubblicare"
-#: src/view/com/auth/create/Step1.tsx:146
+#: src/screens/Signup/StepInfo/index.tsx:69
msgid "Required for this provider"
msgstr "Obbligatorio per questo operatore"
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:124
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:136
+#: src/view/com/modals/ChangePassword.tsx:185
msgid "Reset code"
msgstr "Reimpostare il codice"
-#: src/view/com/modals/ChangePassword.tsx:190
+#: src/view/com/modals/ChangePassword.tsx:192
msgid "Reset Code"
msgstr "Reimposta il Codice"
-#: src/view/screens/Settings/index.tsx:824
-msgid "Reset onboarding"
-msgstr "Reimposta l'incorporazione"
+#~ msgid "Reset onboarding"
+#~ msgstr "Reimposta l'incorporazione"
-#: src/view/screens/Settings/index.tsx:827
+#: src/view/screens/Settings/index.tsx:822
+#: src/view/screens/Settings/index.tsx:825
msgid "Reset onboarding state"
msgstr "Reimposta lo stato dell' incorporazione"
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:104
+#: src/screens/Login/ForgotPasswordForm.tsx:86
msgid "Reset password"
msgstr "Reimposta la password"
-#: src/view/screens/Settings/index.tsx:814
-msgid "Reset preferences"
-msgstr "Reimposta le preferenze"
+#~ msgid "Reset preferences"
+#~ msgstr "Reimposta le preferenze"
-#: src/view/screens/Settings/index.tsx:817
+#: src/view/screens/Settings/index.tsx:812
+#: src/view/screens/Settings/index.tsx:815
msgid "Reset preferences state"
msgstr "Reimposta lo stato delle preferenze"
-#: src/view/screens/Settings/index.tsx:825
+#: src/view/screens/Settings/index.tsx:823
msgid "Resets the onboarding state"
msgstr "Reimposta lo stato dell'incorporazione"
-#: src/view/screens/Settings/index.tsx:815
+#: src/view/screens/Settings/index.tsx:813
msgid "Resets the preferences state"
msgstr "Reimposta lo stato delle preferenze"
-#: src/view/com/auth/login/LoginForm.tsx:269
+#: src/screens/Login/LoginForm.tsx:235
msgid "Retries login"
msgstr "Ritenta l'accesso"
@@ -3266,118 +3999,140 @@ msgstr "Ritenta l'accesso"
msgid "Retries the last action, which errored out"
msgstr "Ritenta l'ultima azione che ha generato un errore"
-#: src/screens/Onboarding/StepInterests/index.tsx:221
-#: src/screens/Onboarding/StepInterests/index.tsx:224
-#: src/view/com/auth/create/CreateAccount.tsx:181
-#: src/view/com/auth/create/CreateAccount.tsx:186
-#: src/view/com/auth/login/LoginForm.tsx:268
-#: src/view/com/auth/login/LoginForm.tsx:271
+#: src/components/Error.tsx:79
+#: src/components/Lists.tsx:91
+#: src/screens/Login/LoginForm.tsx:234
+#: src/screens/Login/LoginForm.tsx:241
+#: src/screens/Onboarding/StepInterests/index.tsx:225
+#: src/screens/Onboarding/StepInterests/index.tsx:228
+#: src/screens/Signup/index.tsx:194
#: src/view/com/util/error/ErrorMessage.tsx:55
#: src/view/com/util/error/ErrorScreen.tsx:72
msgid "Retry"
msgstr "Riprova"
-#: src/view/com/auth/create/Step2.tsx:247
#~ msgid "Retry."
#~ msgstr "Riprova."
-#: src/view/screens/ProfileList.tsx:903
+#: src/components/Error.tsx:86
+#: src/view/screens/ProfileList.tsx:919
msgid "Return to previous page"
msgstr "Ritorna alla pagina precedente"
-#: src/view/shell/desktop/RightNav.tsx:55
+#: src/view/screens/NotFound.tsx:59
+msgid "Returns to home page"
+msgstr "Ritorna su Home"
+
+#: src/view/screens/NotFound.tsx:58
+#: src/view/screens/ProfileFeed.tsx:113
+msgid "Returns to previous page"
+msgstr "Ritorna alla pagina precedente"
+
#~ msgid "SANDBOX. Posts and accounts are not permanent."
#~ msgstr "SANDBOX. I post e gli account non sono permanenti."
+#: src/components/dialogs/BirthDateSettings.tsx:125
+#: src/view/com/modals/ChangeHandle.tsx:174
+#: src/view/com/modals/CreateOrEditList.tsx:338
+#: src/view/com/modals/EditProfile.tsx:225
+msgid "Save"
+msgstr "Salva"
+
#: src/view/com/lightbox/Lightbox.tsx:132
-#: src/view/com/modals/CreateOrEditList.tsx:345
+#: src/view/com/modals/CreateOrEditList.tsx:346
msgctxt "action"
msgid "Save"
msgstr "Salva"
-#: src/view/com/modals/BirthDateSettings.tsx:94
-#: src/view/com/modals/BirthDateSettings.tsx:97
-#: src/view/com/modals/ChangeHandle.tsx:173
-#: src/view/com/modals/CreateOrEditList.tsx:337
-#: src/view/com/modals/EditProfile.tsx:224
-#: src/view/screens/ProfileFeed.tsx:346
-msgid "Save"
-msgstr "Salva"
-
-#: src/view/com/modals/AltImage.tsx:130
+#: src/view/com/modals/AltImage.tsx:131
msgid "Save alt text"
msgstr "Salva il testo alternativo"
-#: src/view/com/modals/EditProfile.tsx:232
+#: src/components/dialogs/BirthDateSettings.tsx:119
+msgid "Save birthday"
+msgstr "Salva il compleanno"
+
+#: src/view/com/modals/EditProfile.tsx:233
msgid "Save Changes"
msgstr "Salva i cambi"
-#: src/view/com/modals/ChangeHandle.tsx:170
+#: src/view/com/modals/ChangeHandle.tsx:171
msgid "Save handle change"
msgstr "Salva la modifica del tuo identificatore"
-#: src/view/com/modals/crop-image/CropImage.web.tsx:144
+#: src/view/com/modals/crop-image/CropImage.web.tsx:145
msgid "Save image crop"
msgstr "Salva il ritaglio dell'immagine"
-#: src/view/screens/SavedFeeds.tsx:122
+#: src/view/screens/ProfileFeed.tsx:347
+#: src/view/screens/ProfileFeed.tsx:353
+msgid "Save to my feeds"
+msgstr "Salva nei miei feed"
+
+#: src/view/screens/SavedFeeds.tsx:123
msgid "Saved Feeds"
msgstr "Canali salvati"
-#: src/view/com/modals/EditProfile.tsx:225
+#: src/view/com/lightbox/Lightbox.tsx:81
+msgid "Saved to your camera roll."
+msgstr "Salvato nel rullino fotografico."
+
+#: src/view/screens/ProfileFeed.tsx:214
+msgid "Saved to your feeds"
+msgstr "Salvato nei tuoi feed"
+
+#: src/view/com/modals/EditProfile.tsx:226
msgid "Saves any changes to your profile"
msgstr "Salva eventuali modifiche al tuo profilo"
-#: src/view/com/modals/ChangeHandle.tsx:171
+#: src/view/com/modals/ChangeHandle.tsx:172
msgid "Saves handle change to {handle}"
msgstr "Salva la modifica del cambio dell'utente in {handle}"
+#: src/view/com/modals/crop-image/CropImage.web.tsx:146
+msgid "Saves image crop settings"
+msgstr "Salva le impostazioni di ritaglio dell'immagine"
+
#: src/screens/Onboarding/index.tsx:36
msgid "Science"
msgstr "Scienza"
-#: src/view/screens/ProfileList.tsx:859
+#: src/view/screens/ProfileList.tsx:875
msgid "Scroll to top"
msgstr "Scorri verso l'alto"
-#: src/Navigation.tsx:447
-#: src/view/com/auth/LoggedOut.tsx:122
+#: src/Navigation.tsx:451
+#: src/view/com/auth/LoggedOut.tsx:123
#: src/view/com/modals/ListAddRemoveUsers.tsx:75
#: src/view/com/util/forms/SearchInput.tsx:67
#: src/view/com/util/forms/SearchInput.tsx:79
-#: src/view/screens/Search/Search.tsx:419
-#: src/view/screens/Search/Search.tsx:668
-#: src/view/screens/Search/Search.tsx:686
-#: src/view/shell/bottom-bar/BottomBar.tsx:159
-#: src/view/shell/desktop/LeftNav.tsx:324 src/view/shell/desktop/Search.tsx:214
-#: src/view/shell/desktop/Search.tsx:223 src/view/shell/Drawer.tsx:362
-#: src/view/shell/Drawer.tsx:363
+#: src/view/screens/Search/Search.tsx:568
+#: src/view/screens/Search/Search.tsx:817
+#: src/view/screens/Search/Search.tsx:835
+#: src/view/shell/bottom-bar/BottomBar.tsx:170
+#: src/view/shell/desktop/LeftNav.tsx:328
+#: src/view/shell/desktop/Search.tsx:215
+#: src/view/shell/desktop/Search.tsx:224
+#: src/view/shell/Drawer.tsx:371
+#: src/view/shell/Drawer.tsx:372
msgid "Search"
msgstr "Cerca"
-#: src/view/screens/Search/Search.tsx:735
-#: src/view/shell/desktop/Search.tsx:255
+#: src/view/screens/Search/Search.tsx:884
+#: src/view/shell/desktop/Search.tsx:256
msgid "Search for \"{query}\""
msgstr "Cerca \"{query}\""
#: src/components/TagMenu/index.tsx:145
msgid "Search for all posts by @{authorHandle} with tag {displayTag}"
-msgstr ""
-
-#: src/components/TagMenu/index.tsx:145
-#~ msgid "Search for all posts by @{authorHandle} with tag {tag}"
-#~ msgstr ""
+msgstr "Cerca tutti i post di @{authorHandle} con tag {displayTag}"
#: src/components/TagMenu/index.tsx:94
msgid "Search for all posts with tag {displayTag}"
-msgstr ""
+msgstr "Cerca tutti i post con il tag {displayTag}"
-#: src/components/TagMenu/index.tsx:90
-#~ msgid "Search for all posts with tag {tag}"
-#~ msgstr ""
-
-#: src/view/com/auth/LoggedOut.tsx:104
#: src/view/com/auth/LoggedOut.tsx:105
+#: src/view/com/auth/LoggedOut.tsx:106
#: src/view/com/modals/ListAddRemoveUsers.tsx:70
msgid "Search for users"
msgstr "Cerca utenti"
@@ -3388,66 +4143,82 @@ msgstr "Passaggio di sicurezza obbligatorio"
#: src/components/TagMenu/index.web.tsx:66
msgid "See {truncatedTag} posts"
-msgstr ""
+msgstr "Vedi {truncatedTag} post"
#: src/components/TagMenu/index.web.tsx:83
msgid "See {truncatedTag} posts by user"
-msgstr ""
+msgstr "Visualizza i post {truncatedTag} per utente"
#: src/components/TagMenu/index.tsx:128
msgid "See <0>{displayTag}0> posts"
-msgstr ""
+msgstr "Vedi <0>{displayTag}0> posts"
#: src/components/TagMenu/index.tsx:187
msgid "See <0>{displayTag}0> posts by this user"
+msgstr "Vedi <0>{displayTag}0> posts di questo utente"
+
+#: src/view/com/notifications/FeedItem.tsx:419
+#: src/view/com/util/UserAvatar.tsx:381
+msgid "See profile"
msgstr ""
-#: src/components/TagMenu/index.tsx:128
-#~ msgid "See <0>{tag}0> posts"
-#~ msgstr ""
-
-#: src/components/TagMenu/index.tsx:189
-#~ msgid "See <0>{tag}0> posts by this user"
-#~ msgstr ""
-
-#: src/view/screens/SavedFeeds.tsx:163
+#: src/view/screens/SavedFeeds.tsx:164
msgid "See this guide"
msgstr "Consulta questa guida"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:39
-msgid "See what's next"
-msgstr "Scopri cosa c'è dopo"
+#: src/view/com/auth/HomeLoggedOutCTA.tsx:40
+#~ msgid "See what's next"
+#~ msgstr "Scopri cosa c'è dopo"
#: src/view/com/util/Selector.tsx:106
msgid "Select {item}"
msgstr "Seleziona {item}"
-#: src/view/com/auth/login/Login.tsx:117
+#: src/screens/Login/ChooseAccountForm.tsx:61
+msgid "Select account"
+msgstr ""
+
+#~ msgid "Select Bluesky Social"
+#~ msgstr "Seleziona Bluesky Social"
+
+#: src/screens/Login/index.tsx:120
msgid "Select from an existing account"
msgstr "Seleziona da un account esistente"
+#: src/view/screens/LanguageSettings.tsx:299
+msgid "Select languages"
+msgstr "Seleziona lingue"
+
+#: src/components/ReportDialog/SelectLabelerView.tsx:30
+msgid "Select moderator"
+msgstr "Seleziona moderatore"
+
#: src/view/com/util/Selector.tsx:107
msgid "Select option {i} of {numItems}"
msgstr "Seleziona l'opzione {i} di {numItems}"
#: src/view/com/auth/create/Step1.tsx:96
-#: src/view/com/auth/login/LoginForm.tsx:150
-msgid "Select service"
-msgstr "Selecciona el servei"
+#: src/view/com/auth/login/LoginForm.tsx:153
+#~ msgid "Select service"
+#~ msgstr "Selecciona el servei"
#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:52
msgid "Select some accounts below to follow"
msgstr "Seleziona alcuni account da seguire qui giù"
+#: src/components/ReportDialog/SubmitView.tsx:133
+msgid "Select the moderation service(s) to report to"
+msgstr "Seleziona il/i servizio/i di moderazione per fare la segnalazione"
+
#: src/view/com/auth/server-input/index.tsx:82
msgid "Select the service that hosts your data."
msgstr "Seleziona il servizio che ospita i tuoi dati."
-#: src/screens/Onboarding/StepTopicalFeeds.tsx:96
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:100
msgid "Select topical feeds to follow from the list below"
msgstr "Seleziona i feeds con temi da seguire dal seguente elenco"
-#: src/screens/Onboarding/StepModeration/index.tsx:75
+#: src/screens/Onboarding/StepModeration/index.tsx:63
msgid "Select what you want to see (or not see), and we’ll handle the rest."
msgstr "Seleziona ciò che vuoi vedere (o non vedere) e noi gestiremo il resto."
@@ -3455,15 +4226,21 @@ msgstr "Seleziona ciò che vuoi vedere (o non vedere) e noi gestiremo il resto."
msgid "Select which languages you want your subscribed feeds to include. If none are selected, all languages will be shown."
msgstr "Seleziona le lingue che desideri includere nei feed a cui sei iscritto. Se non ne viene selezionata nessuna, verranno visualizzate tutte le lingue."
-#: src/view/screens/LanguageSettings.tsx:98
-msgid "Select your app language for the default text to display in the app"
-msgstr "Seleziona la lingua dell'app per il testo predefinito da visualizzare nell'app"
+#~ msgid "Select your app language for the default text to display in the app"
+#~ msgstr "Seleziona la lingua dell'app per il testo predefinito da visualizzare nell'app"
-#: src/screens/Onboarding/StepInterests/index.tsx:196
+#: src/view/screens/LanguageSettings.tsx:98
+msgid "Select your app language for the default text to display in the app."
+msgstr "Seleziona la lingua dell'app per il testo predefinito da visualizzare nell'app."
+
+#: src/screens/Signup/StepInfo/index.tsx:135
+msgid "Select your date of birth"
+msgstr ""
+
+#: src/screens/Onboarding/StepInterests/index.tsx:200
msgid "Select your interests from the options below"
msgstr "Seleziona i tuoi interessi dalle seguenti opzioni"
-#: src/view/com/auth/create/Step2.tsx:155
#~ msgid "Select your phone's country"
#~ msgstr "Seleziona il Paese del tuo cellulare"
@@ -3471,11 +4248,11 @@ msgstr "Seleziona i tuoi interessi dalle seguenti opzioni"
msgid "Select your preferred language for translations in your feed."
msgstr "Seleziona la tua lingua preferita per le traduzioni nel tuo feed."
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:116
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:117
msgid "Select your primary algorithmic feeds"
msgstr "Seleziona i tuoi feed algoritmici principali"
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:142
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:133
msgid "Select your secondary algorithmic feeds"
msgstr "Seleziona i tuoi feed algoritmici secondari"
@@ -3484,68 +4261,76 @@ msgstr "Seleziona i tuoi feed algoritmici secondari"
msgid "Send Confirmation Email"
msgstr "Invia email di conferma"
-#: src/view/com/modals/DeleteAccount.tsx:131
+#: src/view/com/modals/DeleteAccount.tsx:130
msgid "Send email"
msgstr "Invia email"
-#: src/view/com/modals/DeleteAccount.tsx:144
+#: src/view/com/modals/DeleteAccount.tsx:143
msgctxt "action"
msgid "Send Email"
msgstr "Invia email"
-#: src/view/shell/Drawer.tsx:295 src/view/shell/Drawer.tsx:316
+#~ msgid "Send Email"
+#~ msgstr "Envia Email"
+
+#: src/view/shell/Drawer.tsx:304
+#: src/view/shell/Drawer.tsx:325
msgid "Send feedback"
msgstr "Invia feedback"
-#: src/view/com/modals/report/SendReportButton.tsx:45
-msgid "Send Report"
-msgstr "Invia segnalazione"
+#: src/components/ReportDialog/SubmitView.tsx:213
+#: src/components/ReportDialog/SubmitView.tsx:217
+msgid "Send report"
+msgstr "Invia la segnalazione"
-#: src/view/com/modals/DeleteAccount.tsx:133
+#~ msgid "Send Report"
+#~ msgstr "Invia segnalazione"
+
+#: src/components/ReportDialog/SelectLabelerView.tsx:44
+msgid "Send report to {0}"
+msgstr "Invia la segnalazione a {0}"
+
+#: src/view/com/modals/DeleteAccount.tsx:132
msgid "Sends email with confirmation code for account deletion"
msgstr "Invia un'email con il codice di conferma per la cancellazione dell'account"
-#: src/view/com/auth/server-input/index.tsx:110
+#: src/view/com/auth/server-input/index.tsx:114
msgid "Server address"
msgstr "Indirizzo del server"
-#: src/view/com/modals/ContentFilteringSettings.tsx:311
-msgid "Set {value} for {labelGroup} content moderation policy"
-msgstr "Imposta {value} per la politica di moderazione dei contenuti di {labelGroup}"
+#~ msgid "Set {value} for {labelGroup} content moderation policy"
+#~ msgstr "Imposta {value} per la politica di moderazione dei contenuti di {labelGroup}"
-#: src/view/com/modals/ContentFilteringSettings.tsx:160
-#: src/view/com/modals/ContentFilteringSettings.tsx:179
-msgctxt "action"
-msgid "Set Age"
-msgstr "Imposta l'età"
+#~ msgctxt "action"
+#~ msgid "Set Age"
+#~ msgstr "Imposta l'età"
-#: src/view/screens/Settings/index.tsx:488
-msgid "Set color theme to dark"
-msgstr "Imposta il colore del tema scuro"
+#: src/screens/Moderation/index.tsx:304
+msgid "Set birthdate"
+msgstr "Imposta la data di nascita"
-#: src/view/screens/Settings/index.tsx:481
-msgid "Set color theme to light"
-msgstr "Imposta il colore del tema su chiaro"
+#~ msgid "Set color theme to dark"
+#~ msgstr "Imposta il colore del tema scuro"
-#: src/view/screens/Settings/index.tsx:475
-msgid "Set color theme to system setting"
-msgstr "Imposta il colore del tema basato sulle impostazioni del tuo sistema"
+#~ msgid "Set color theme to light"
+#~ msgstr "Imposta il colore del tema su chiaro"
-#: src/view/screens/Settings/index.tsx:514
-msgid "Set dark theme to the dark theme"
-msgstr "Imposta il tema scuro sul tema scuro"
+#~ msgid "Set color theme to system setting"
+#~ msgstr "Imposta il colore del tema basato sulle impostazioni del tuo sistema"
-#: src/view/screens/Settings/index.tsx:507
-msgid "Set dark theme to the dim theme"
-msgstr "Imposta il tema scuro sul tema scuro"
+#~ msgid "Set dark theme to the dark theme"
+#~ msgstr "Imposta il tema scuro sul tema scuro"
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:104
+#~ msgid "Set dark theme to the dim theme"
+#~ msgstr "Imposta il tema scuro sul tema scuro"
+
+#: src/screens/Login/SetNewPasswordForm.tsx:102
msgid "Set new password"
msgstr "Imposta una nuova password"
#: src/view/com/auth/create/Step1.tsx:202
-msgid "Set password"
-msgstr "Imposta la password"
+#~ msgid "Set password"
+#~ msgstr "Imposta la password"
#: src/view/screens/PreferencesFollowingFeed.tsx:225
msgid "Set this setting to \"No\" to hide all quote posts from your feed. Reposts will still be visible."
@@ -3563,40 +4348,71 @@ msgstr "Seleziona \"No\" per nascondere tutte le ripubblicazioni dal tuo feed."
msgid "Set this setting to \"Yes\" to show replies in a threaded view. This is an experimental feature."
msgstr "Seleziona \"Sì\" per mostrare le risposte in una visualizzazione concatenata. Questa è una funzionalità sperimentale."
-#: src/view/screens/PreferencesHomeFeed.tsx:261
#~ msgid "Set this setting to \"Yes\" to show samples of your saved feeds in your following feed. This is an experimental feature."
#~ msgstr "Seleziona \"Sì\" per mostrare esempi dei feed salvati nel feed successivo. Questa è una funzionalità sperimentale."
#: src/view/screens/PreferencesFollowingFeed.tsx:261
msgid "Set this setting to \"Yes\" to show samples of your saved feeds in your Following feed. This is an experimental feature."
-msgstr ""
+msgstr "Imposta questa impostazione su \"Sì\" per mostrare esempi dei tuoi feed salvati nel feed Seguiti. Questa è una funzionalità sperimentale."
-#: src/screens/Onboarding/Layout.tsx:50
+#: src/screens/Onboarding/Layout.tsx:48
msgid "Set up your account"
msgstr "Configura il tuo account"
-#: src/view/com/modals/ChangeHandle.tsx:266
+#: src/view/com/modals/ChangeHandle.tsx:267
msgid "Sets Bluesky username"
msgstr "Imposta il tuo nome utente di Bluesky"
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:157
+#: src/view/screens/Settings/index.tsx:458
+msgid "Sets color theme to dark"
+msgstr "Imposta il tema colore su scuro"
+
+#: src/view/screens/Settings/index.tsx:451
+msgid "Sets color theme to light"
+msgstr "Imposta il tema colore su chiaro"
+
+#: src/view/screens/Settings/index.tsx:445
+msgid "Sets color theme to system setting"
+msgstr "Imposta il tema colore basato impostazioni di sistema"
+
+#: src/view/screens/Settings/index.tsx:484
+msgid "Sets dark theme to the dark theme"
+msgstr "Imposta il tema scuro sul tema scuro"
+
+#: src/view/screens/Settings/index.tsx:477
+msgid "Sets dark theme to the dim theme"
+msgstr "Imposta il tema scuro sul tema semi fosco"
+
+#: src/screens/Login/ForgotPasswordForm.tsx:113
msgid "Sets email for password reset"
msgstr "Imposta l'email per la reimpostazione della password"
#: src/view/com/auth/login/ForgotPasswordForm.tsx:122
-msgid "Sets hosting provider for password reset"
-msgstr "Imposta il provider del hosting per la reimpostazione della password"
+#~ msgid "Sets hosting provider for password reset"
+#~ msgstr "Imposta il provider del hosting per la reimpostazione della password"
+
+#: src/view/com/modals/crop-image/CropImage.web.tsx:124
+msgid "Sets image aspect ratio to square"
+msgstr "Imposta le proporzioni quadrate sull'immagine"
+
+#: src/view/com/modals/crop-image/CropImage.web.tsx:114
+msgid "Sets image aspect ratio to tall"
+msgstr "Imposta l'altura sulle proporzioni dell'immagine"
+
+#: src/view/com/modals/crop-image/CropImage.web.tsx:104
+msgid "Sets image aspect ratio to wide"
+msgstr "Imposta l'amplio sulle proporzioni dell'immagine"
#: src/view/com/auth/create/Step1.tsx:97
-#: src/view/com/auth/login/LoginForm.tsx:151
-msgid "Sets server for the Bluesky client"
-msgstr "Imposta il server per il client Bluesky"
+#: src/view/com/auth/login/LoginForm.tsx:154
+#~ msgid "Sets server for the Bluesky client"
+#~ msgstr "Imposta il server per il client Bluesky"
-#: src/Navigation.tsx:137
-#: src/view/screens/Settings/index.tsx:294
-#: src/view/shell/desktop/LeftNav.tsx:433
-#: src/view/shell/Drawer.tsx:567
-#: src/view/shell/Drawer.tsx:568
+#: src/Navigation.tsx:139
+#: src/view/screens/Settings/index.tsx:316
+#: src/view/shell/desktop/LeftNav.tsx:437
+#: src/view/shell/Drawer.tsx:576
+#: src/view/shell/Drawer.tsx:577
msgid "Settings"
msgstr "Impostazioni"
@@ -3604,28 +4420,49 @@ msgstr "Impostazioni"
msgid "Sexual activity or erotic nudity."
msgstr "Attività sessuale o nudità erotica."
+#: src/lib/moderation/useGlobalLabelStrings.ts:38
+msgid "Sexually Suggestive"
+msgstr "Sessualmente suggestivo"
+
#: src/view/com/lightbox/Lightbox.tsx:141
msgctxt "action"
msgid "Share"
msgstr "Condividi"
-#: src/view/com/profile/ProfileHeader.tsx:295
-#: src/view/com/util/forms/PostDropdownBtn.tsx:231
-#: src/view/com/util/forms/PostDropdownBtn.tsx:237
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:215
-#: src/view/screens/ProfileList.tsx:418
+#: src/view/com/profile/ProfileMenu.tsx:215
+#: src/view/com/profile/ProfileMenu.tsx:224
+#: src/view/com/util/forms/PostDropdownBtn.tsx:236
+#: src/view/com/util/forms/PostDropdownBtn.tsx:245
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:237
+#: src/view/screens/ProfileList.tsx:390
msgid "Share"
msgstr "Condividi"
-#: src/view/screens/ProfileFeed.tsx:305
+#: src/view/com/profile/ProfileMenu.tsx:373
+#: src/view/com/util/forms/PostDropdownBtn.tsx:369
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:253
+msgid "Share anyway"
+msgstr "Condividi comunque"
+
+#: src/view/screens/ProfileFeed.tsx:373
+#: src/view/screens/ProfileFeed.tsx:375
msgid "Share feed"
msgstr "Condividi il feed"
-#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:43
-#: src/view/com/modals/ContentFilteringSettings.tsx:266
-#: src/view/com/util/moderation/ContentHider.tsx:107
-#: src/view/com/util/moderation/PostHider.tsx:108
-#: src/view/screens/Settings/index.tsx:344
+#: src/view/com/modals/LinkWarning.tsx:89
+#: src/view/com/modals/LinkWarning.tsx:95
+msgid "Share Link"
+msgstr ""
+
+#: src/view/com/modals/LinkWarning.tsx:92
+msgid "Shares the linked website"
+msgstr ""
+
+#: src/components/moderation/ContentHider.tsx:115
+#: src/components/moderation/LabelPreference.tsx:136
+#: src/components/moderation/PostHider.tsx:107
+#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:54
+#: src/view/screens/Settings/index.tsx:366
msgid "Show"
msgstr "Mostra"
@@ -3633,21 +4470,31 @@ msgstr "Mostra"
msgid "Show all replies"
msgstr "Mostra tutte le repliche"
-#: src/view/com/util/moderation/ScreenHider.tsx:132
+#: src/components/moderation/ScreenHider.tsx:169
+#: src/components/moderation/ScreenHider.tsx:172
msgid "Show anyway"
msgstr "Mostra comunque"
-#: src/view/com/modals/EmbedConsent.tsx:87
-msgid "Show embeds from {0}"
-msgstr "Mostra incorporamenti di {0}"
+#: src/lib/moderation/useLabelBehaviorDescription.ts:27
+#: src/lib/moderation/useLabelBehaviorDescription.ts:63
+msgid "Show badge"
+msgstr "Mostra badge"
-#: src/view/com/profile/ProfileHeader.tsx:459
+#: src/lib/moderation/useLabelBehaviorDescription.ts:61
+msgid "Show badge and filter from feeds"
+msgstr "Mostra badge e filtra dai feed"
+
+#: src/view/com/modals/EmbedConsent.tsx:87
+#~ msgid "Show embeds from {0}"
+#~ msgstr "Mostra incorporamenti di {0}"
+
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:200
msgid "Show follows similar to {0}"
msgstr "Mostra follows simile a {0}"
-#: src/view/com/post-thread/PostThreadItem.tsx:538
-#: src/view/com/post/Post.tsx:198
-#: src/view/com/posts/FeedItem.tsx:363
+#: src/view/com/post-thread/PostThreadItem.tsx:501
+#: src/view/com/post/Post.tsx:212
+#: src/view/com/posts/FeedItem.tsx:360
msgid "Show More"
msgstr "Mostra di più"
@@ -3659,15 +4506,15 @@ msgstr "Mostra post dai miei feed"
msgid "Show Quote Posts"
msgstr "Mostra post con citazioni"
-#: src/screens/Onboarding/StepFollowingFeed.tsx:118
+#: src/screens/Onboarding/StepFollowingFeed.tsx:119
msgid "Show quote-posts in Following feed"
msgstr "Mostra i post con citazioni nel feed Seguiti"
-#: src/screens/Onboarding/StepFollowingFeed.tsx:134
+#: src/screens/Onboarding/StepFollowingFeed.tsx:135
msgid "Show quotes in Following"
msgstr "Mostra le citazioni in Seguiti"
-#: src/screens/Onboarding/StepFollowingFeed.tsx:94
+#: src/screens/Onboarding/StepFollowingFeed.tsx:95
msgid "Show re-posts in Following feed"
msgstr "Mostra re-post nel feed Seguiti"
@@ -3679,11 +4526,11 @@ msgstr "Mostra risposte"
msgid "Show replies by people you follow before all other replies."
msgstr "Mostra le risposte delle persone che segui prima delle altre risposte."
-#: src/screens/Onboarding/StepFollowingFeed.tsx:86
+#: src/screens/Onboarding/StepFollowingFeed.tsx:87
msgid "Show replies in Following"
msgstr "Mostra le risposte in Seguiti"
-#: src/screens/Onboarding/StepFollowingFeed.tsx:70
+#: src/screens/Onboarding/StepFollowingFeed.tsx:71
msgid "Show replies in Following feed"
msgstr "Mostra le risposte nel feed Seguiti"
@@ -3695,108 +4542,129 @@ msgstr "Mostra risposte con almeno {value} {0}"
msgid "Show Reposts"
msgstr "Mostra ripubblicazioni"
-#: src/screens/Onboarding/StepFollowingFeed.tsx:110
+#: src/screens/Onboarding/StepFollowingFeed.tsx:111
msgid "Show reposts in Following"
msgstr "Mostra i re-repost in Seguiti"
-#: src/view/com/util/moderation/ContentHider.tsx:67
-#: src/view/com/util/moderation/PostHider.tsx:61
+#: src/components/moderation/ContentHider.tsx:68
+#: src/components/moderation/PostHider.tsx:64
msgid "Show the content"
msgstr "Mostra il contenuto"
-#: src/view/com/notifications/FeedItem.tsx:347
+#: src/view/com/notifications/FeedItem.tsx:353
msgid "Show users"
msgstr "Mostra utenti"
-#: src/view/com/profile/ProfileHeader.tsx:462
-msgid "Shows a list of users similar to this user."
-msgstr "Mostra un elenco di utenti simili a questo utente."
+#: src/lib/moderation/useLabelBehaviorDescription.ts:58
+msgid "Show warning"
+msgstr "Mostra avviso"
-#: src/view/com/post-thread/PostThreadFollowBtn.tsx:124
-#: src/view/com/profile/ProfileHeader.tsx:506
+#: src/lib/moderation/useLabelBehaviorDescription.ts:56
+msgid "Show warning and filter from feeds"
+msgstr "Mostra avviso e filtra dai feed"
+
+#~ msgid "Shows a list of users similar to this user."
+#~ msgstr "Mostra un elenco di utenti simili a questo utente."
+
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:130
msgid "Shows posts from {0} in your feed"
msgstr "Mostra i post di {0} nel tuo feed"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:70
-#: src/view/com/auth/login/Login.tsx:98 src/view/com/auth/SplashScreen.tsx:79
-#: src/view/shell/bottom-bar/BottomBar.tsx:285
-#: src/view/shell/bottom-bar/BottomBar.tsx:286
-#: src/view/shell/bottom-bar/BottomBar.tsx:288
+#: src/components/dialogs/Signin.tsx:97
+#: src/components/dialogs/Signin.tsx:99
+#: src/screens/Login/index.tsx:100
+#: src/screens/Login/index.tsx:119
+#: src/screens/Login/LoginForm.tsx:131
+#: src/view/com/auth/SplashScreen.tsx:63
+#: src/view/com/auth/SplashScreen.tsx:72
+#: src/view/com/auth/SplashScreen.web.tsx:107
+#: src/view/com/auth/SplashScreen.web.tsx:116
+#: src/view/shell/bottom-bar/BottomBar.tsx:301
+#: src/view/shell/bottom-bar/BottomBar.tsx:302
+#: src/view/shell/bottom-bar/BottomBar.tsx:304
#: src/view/shell/bottom-bar/BottomBarWeb.tsx:178
#: src/view/shell/bottom-bar/BottomBarWeb.tsx:179
#: src/view/shell/bottom-bar/BottomBarWeb.tsx:181
-#: src/view/shell/NavSignupCard.tsx:58 src/view/shell/NavSignupCard.tsx:59
+#: src/view/shell/NavSignupCard.tsx:63
+#: src/view/shell/NavSignupCard.tsx:64
+#: src/view/shell/NavSignupCard.tsx:66
msgid "Sign in"
msgstr "Accedi"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:78
-#: src/view/com/auth/SplashScreen.tsx:82
+#: src/view/com/auth/HomeLoggedOutCTA.tsx:82
+#: src/view/com/auth/SplashScreen.tsx:86
#: src/view/com/auth/SplashScreen.web.tsx:91
-msgid "Sign In"
-msgstr "Accedi"
+#~ msgid "Sign In"
+#~ msgstr "Accedi"
-#: src/view/com/auth/login/ChooseAccountForm.tsx:44
+#: src/components/AccountList.tsx:109
msgid "Sign in as {0}"
msgstr "Accedi come... {0}"
-#: src/view/com/auth/login/ChooseAccountForm.tsx:118
-#: src/view/com/auth/login/Login.tsx:116
+#: src/screens/Login/ChooseAccountForm.tsx:64
msgid "Sign in as..."
msgstr "Accedi come..."
-#: src/view/com/auth/login/LoginForm.tsx:137
-msgid "Sign into"
-msgstr "Accedere a"
+#: src/components/dialogs/Signin.tsx:75
+msgid "Sign in or create your account to join the conversation!"
+msgstr ""
-#: src/view/com/modals/SwitchAccount.tsx:64
-#: src/view/com/modals/SwitchAccount.tsx:69
-#: src/view/screens/Settings/index.tsx:100
-#: src/view/screens/Settings/index.tsx:103
+#: src/view/com/auth/login/LoginForm.tsx:140
+#~ msgid "Sign into"
+#~ msgstr "Accedere a"
+
+#: src/components/dialogs/Signin.tsx:46
+msgid "Sign into Bluesky or create a new account"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:118
+#: src/view/screens/Settings/index.tsx:121
msgid "Sign out"
msgstr "Disconnetta"
-#: src/view/shell/bottom-bar/BottomBar.tsx:275
-#: src/view/shell/bottom-bar/BottomBar.tsx:276
-#: src/view/shell/bottom-bar/BottomBar.tsx:278
+#: src/view/shell/bottom-bar/BottomBar.tsx:291
+#: src/view/shell/bottom-bar/BottomBar.tsx:292
+#: src/view/shell/bottom-bar/BottomBar.tsx:294
#: src/view/shell/bottom-bar/BottomBarWeb.tsx:168
#: src/view/shell/bottom-bar/BottomBarWeb.tsx:169
#: src/view/shell/bottom-bar/BottomBarWeb.tsx:171
-#: src/view/shell/NavSignupCard.tsx:49 src/view/shell/NavSignupCard.tsx:50
-#: src/view/shell/NavSignupCard.tsx:52
+#: src/view/shell/NavSignupCard.tsx:54
+#: src/view/shell/NavSignupCard.tsx:55
+#: src/view/shell/NavSignupCard.tsx:57
msgid "Sign up"
msgstr "Iscrizione"
-#: src/view/shell/NavSignupCard.tsx:42
+#: src/view/shell/NavSignupCard.tsx:47
msgid "Sign up or sign in to join the conversation"
msgstr "Iscriviti o accedi per partecipare alla conversazione"
-#: src/view/com/util/moderation/ScreenHider.tsx:76
+#: src/components/moderation/ScreenHider.tsx:97
+#: src/lib/moderation/useGlobalLabelStrings.ts:28
msgid "Sign-in Required"
msgstr "È richiesta l'autenticazione"
-#: src/view/screens/Settings/index.tsx:355
+#: src/view/screens/Settings/index.tsx:377
msgid "Signed in as"
-msgstr "Registrato come"
+msgstr "Registrato/a come"
-#: src/view/com/auth/login/ChooseAccountForm.tsx:103
+#: src/screens/Login/ChooseAccountForm.tsx:48
msgid "Signed in as @{0}"
-msgstr "Registrato come @{0}"
+msgstr "Registrato/a come @{0}"
-#: src/view/com/modals/SwitchAccount.tsx:66
-msgid "Signs {0} out of Bluesky"
-msgstr "{0} esce da Bluesky"
+#: src/view/com/modals/SwitchAccount.tsx:70
+#~ msgid "Signs {0} out of Bluesky"
+#~ msgstr "{0} esce da Bluesky"
-#: src/screens/Onboarding/StepInterests/index.tsx:235
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:195
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:33
+#: src/screens/Onboarding/StepInterests/index.tsx:239
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:203
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:35
msgid "Skip"
msgstr "Salta questo passo"
-#: src/screens/Onboarding/StepInterests/index.tsx:232
+#: src/screens/Onboarding/StepInterests/index.tsx:236
msgid "Skip this flow"
msgstr "Salta questa corrente"
-#: src/view/com/auth/create/Step2.tsx:82
#~ msgid "SMS verification"
#~ msgstr "Verifica tramite SMS"
@@ -3804,19 +4672,19 @@ msgstr "Salta questa corrente"
msgid "Software Dev"
msgstr "Sviluppo Software"
-#: src/view/com/modals/ProfilePreview.tsx:62
#~ msgid "Something went wrong and we're not sure what."
#~ msgstr "Qualcosa è andato storto ma non siamo sicuri di cosa."
-#: src/components/Lists.tsx:203
-msgid "Something went wrong!"
-msgstr ""
+#: src/components/ReportDialog/index.tsx:59
+#: src/screens/Moderation/index.tsx:114
+#: src/screens/Profile/Sections/Labels.tsx:87
+msgid "Something went wrong, please try again."
+msgstr "Qualcosa è andato male, prova di nuovo."
-#: src/view/com/modals/Waitlist.tsx:51
#~ msgid "Something went wrong. Check your email and try again."
#~ msgstr "Qualcosa è andato storto. Controlla la tua email e riprova."
-#: src/App.native.tsx:66
+#: src/App.native.tsx:64
msgid "Sorry! Your session expired. Please log in again."
msgstr "Scusa! La tua sessione è scaduta. Per favore accedi di nuovo."
@@ -3828,53 +4696,85 @@ msgstr "Ordina le risposte"
msgid "Sort replies to the same post by:"
msgstr "Ordina le risposte allo stesso post per:"
+#: src/components/moderation/LabelsOnMeDialog.tsx:146
+msgid "Source:"
+msgstr "Origine:"
+
+#: src/lib/moderation/useReportOptions.ts:65
+msgid "Spam"
+msgstr "Spam"
+
+#: src/lib/moderation/useReportOptions.ts:53
+msgid "Spam; excessive mentions or replies"
+msgstr "Spam; menzioni o risposte eccessive"
+
#: src/screens/Onboarding/index.tsx:30
msgid "Sports"
msgstr "Sports"
-#: src/view/com/modals/crop-image/CropImage.web.tsx:122
+#: src/view/com/modals/crop-image/CropImage.web.tsx:123
msgid "Square"
msgstr "Quadrato"
-#: src/view/screens/Settings/index.tsx:871
+#~ msgid "Staging"
+#~ msgstr "Allestimento"
+
+#: src/view/screens/Settings/index.tsx:867
msgid "Status page"
msgstr "Pagina di stato"
-#: src/view/com/auth/create/StepHeader.tsx:22
-msgid "Step {0} of {numSteps}"
-msgstr "Passo {0} di {numSteps}"
+#: src/screens/Signup/index.tsx:143
+msgid "Step"
+msgstr ""
-#: src/view/screens/Settings/index.tsx:274
+#: src/view/com/auth/create/StepHeader.tsx:22
+#~ msgid "Step {0} of {numSteps}"
+#~ msgstr "Passo {0} di {numSteps}"
+
+#: src/view/screens/Settings/index.tsx:295
msgid "Storage cleared, you need to restart the app now."
msgstr "Spazio di archiviazione eliminato. Riavvia l'app."
-#: src/Navigation.tsx:204
-#: src/view/screens/Settings/index.tsx:807
+#: src/Navigation.tsx:211
+#: src/view/screens/Settings/index.tsx:795
msgid "Storybook"
msgstr "Cronologia"
-#: src/view/com/modals/AppealLabel.tsx:101
+#: src/components/moderation/LabelsOnMeDialog.tsx:255
+#: src/components/moderation/LabelsOnMeDialog.tsx:256
msgid "Submit"
msgstr "Invia"
-#: src/view/screens/ProfileList.tsx:608
+#: src/view/screens/ProfileList.tsx:592
msgid "Subscribe"
msgstr "Iscriviti"
-#: src/screens/Onboarding/StepAlgoFeeds/FeedCard.tsx:173
-#: src/screens/Onboarding/StepAlgoFeeds/FeedCard.tsx:308
+#: src/screens/Profile/Sections/Labels.tsx:191
+msgid "Subscribe to @{0} to use these labels:"
+msgstr "Iscriviti a @{0} per utilizzare queste etichette:"
+
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:227
+msgid "Subscribe to Labeler"
+msgstr "Iscriviti a Labeler"
+
+#: src/screens/Onboarding/StepAlgoFeeds/FeedCard.tsx:172
+#: src/screens/Onboarding/StepAlgoFeeds/FeedCard.tsx:307
msgid "Subscribe to the {0} feed"
msgstr "Iscriviti a {0} feed"
-#: src/view/screens/ProfileList.tsx:604
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:191
+msgid "Subscribe to this labeler"
+msgstr "Iscriviti a questo labeler"
+
+#: src/view/screens/ProfileList.tsx:588
msgid "Subscribe to this list"
msgstr "Iscriviti alla lista"
-#: src/view/screens/Search/Search.tsx:374
+#: src/view/screens/Search/Search.tsx:523
msgid "Suggested Follows"
msgstr "Followers suggeriti"
-#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:64
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:65
msgid "Suggested for you"
msgstr "Suggerito per te"
@@ -3882,47 +4782,45 @@ msgstr "Suggerito per te"
msgid "Suggestive"
msgstr "Suggestivo"
-#: src/Navigation.tsx:214
+#: src/Navigation.tsx:226
#: src/view/screens/Support.tsx:30
#: src/view/screens/Support.tsx:33
msgid "Support"
msgstr "Supporto"
-#: src/view/com/modals/SwitchAccount.tsx:117
+#~ msgid "Swipe up to see more"
+#~ msgstr "Scorri verso l'alto per vedere di più"
+
+#: src/components/dialogs/SwitchAccount.tsx:46
+#: src/components/dialogs/SwitchAccount.tsx:49
msgid "Switch Account"
msgstr "Cambia account"
-#: src/view/com/modals/SwitchAccount.tsx:97
-#: src/view/screens/Settings/index.tsx:130
+#: src/view/screens/Settings/index.tsx:150
msgid "Switch to {0}"
msgstr "Cambia a {0}"
-#: src/view/com/modals/SwitchAccount.tsx:98
-#: src/view/screens/Settings/index.tsx:131
+#: src/view/screens/Settings/index.tsx:151
msgid "Switches the account you are logged in to"
msgstr "Cambia l'account dal quale hai effettuato l'accesso"
-#: src/view/screens/Settings/index.tsx:472
+#: src/view/screens/Settings/index.tsx:442
msgid "System"
msgstr "Sistema"
-#: src/view/screens/Settings/index.tsx:795
+#: src/view/screens/Settings/index.tsx:783
msgid "System log"
msgstr "Registro di sistema"
-#: src/components/dialogs/MutedWords.tsx:337
+#: src/components/dialogs/MutedWords.tsx:323
msgid "tag"
-msgstr ""
+msgstr "tag"
#: src/components/TagMenu/index.tsx:78
msgid "Tag menu: {displayTag}"
-msgstr ""
+msgstr "Tag menu: {displayTag}"
-#: src/components/TagMenu/index.tsx:74
-#~ msgid "Tag menu: {tag}"
-#~ msgstr ""
-
-#: src/view/com/modals/crop-image/CropImage.web.tsx:112
+#: src/view/com/modals/crop-image/CropImage.web.tsx:113
msgid "Tall"
msgstr "Alto"
@@ -3938,30 +4836,49 @@ msgstr "Tecnologia"
msgid "Terms"
msgstr "Termini"
-#: src/Navigation.tsx:224
-#: src/view/screens/Settings/index.tsx:885
+#: src/Navigation.tsx:236
+#: src/screens/Signup/StepInfo/Policies.tsx:49
+#: src/view/screens/Settings/index.tsx:881
#: src/view/screens/TermsOfService.tsx:29
-#: src/view/shell/Drawer.tsx:256
+#: src/view/shell/Drawer.tsx:265
msgid "Terms of Service"
msgstr "Termini di servizio"
-#: src/components/dialogs/MutedWords.tsx:337
-msgid "text"
-msgstr ""
+#: src/lib/moderation/useReportOptions.ts:58
+#: src/lib/moderation/useReportOptions.ts:79
+#: src/lib/moderation/useReportOptions.ts:87
+msgid "Terms used violate community standards"
+msgstr "I termini utilizzati violano gli standard della comunità"
-#: src/view/com/modals/AppealLabel.tsx:70
-#: src/view/com/modals/report/InputIssueDetails.tsx:51
+#: src/components/dialogs/MutedWords.tsx:323
+msgid "text"
+msgstr "testo"
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:219
msgid "Text input field"
msgstr "Campo di testo"
-#: src/view/com/auth/create/CreateAccount.tsx:94
-msgid "That handle is already taken."
-msgstr ""
+#: src/components/ReportDialog/SubmitView.tsx:76
+msgid "Thank you. Your report has been sent."
+msgstr "Grazie. La tua segnalazione è stata inviata."
-#: src/view/com/profile/ProfileHeader.tsx:263
+#: src/view/com/modals/ChangeHandle.tsx:465
+msgid "That contains the following:"
+msgstr "Che contiene il seguente:"
+
+#: src/screens/Signup/index.tsx:85
+msgid "That handle is already taken."
+msgstr "Questo handle è già stato preso."
+
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:282
+#: src/view/com/profile/ProfileMenu.tsx:349
msgid "The account will be able to interact with you after unblocking."
msgstr "L'account sarà in grado di interagire con te dopo lo sblocco."
+#: src/components/moderation/ModerationDetailsDialog.tsx:127
+msgid "the author"
+msgstr "l'autore"
+
#: src/view/screens/CommunityGuidelines.tsx:36
msgid "The Community Guidelines have been moved to <0/>"
msgstr "Le Linee guida della community sono state spostate a<0/>"
@@ -3970,11 +4887,20 @@ msgstr "Le Linee guida della community sono state spostate a<0/>"
msgid "The Copyright Policy has been moved to <0/>"
msgstr "La politica sul copyright è stata spostata a <0/>"
-#: src/screens/Onboarding/Layout.tsx:60
+#: src/components/moderation/LabelsOnMeDialog.tsx:48
+msgid "The following labels were applied to your account."
+msgstr "Al tuo account sono state applicate le seguenti etichette."
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:49
+msgid "The following labels were applied to your content."
+msgstr "Ai tuoi contenuti sono state applicate le seguenti etichette."
+
+#: src/screens/Onboarding/Layout.tsx:58
msgid "The following steps will help customize your Bluesky experience."
msgstr "I passaggi seguenti ti aiuteranno a personalizzare la tua esperienza con Bluesky."
-#: src/view/com/post-thread/PostThread.tsx:517
+#: src/view/com/post-thread/PostThread.tsx:153
+#: src/view/com/post-thread/PostThread.tsx:165
msgid "The post may have been deleted."
msgstr "Il post potrebbe essere stato cancellato."
@@ -3986,39 +4912,42 @@ msgstr "La politica sulla privacy è stata spostata a <0/><0/>"
msgid "The support form has been moved. If you need help, please <0/> or visit {HELP_DESK_URL} to get in touch with us."
msgstr "Il modulo di supporto è stato spostato. Se hai bisogno di aiuto, <0/> o visita {HELP_DESK_URL} per metterti in contatto con noi."
+#~ msgid "The support form has been moved. If you need help, please<0/> or visit {HELP_DESK_URL} to get in touch with us."
+#~ msgstr "Il modulo di supporto è stato spostato. Se hai bisogno di aiuto, <0/> o visita {HELP_DESK_URL} per metterti in contatto con noi."
+
#: src/view/screens/TermsOfService.tsx:33
msgid "The Terms of Service have been moved to"
msgstr "I Termini di Servizio sono stati spostati a"
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:150
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:141
msgid "There are many feeds to try:"
msgstr "Ci sono molti feed da provare:"
-#: src/view/screens/ProfileFeed.tsx:550
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:114
+#: src/view/screens/ProfileFeed.tsx:556
msgid "There was an an issue contacting the server, please check your internet connection and try again."
msgstr "Si è verificato un problema nel contattare il server, controlla la tua connessione Internet e riprova."
-#: src/view/com/posts/FeedErrorMessage.tsx:139
+#: src/view/com/posts/FeedErrorMessage.tsx:138
msgid "There was an an issue removing this feed. Please check your internet connection and try again."
msgstr "Si è verificato un problema durante la rimozione di questo feed. Per favore controlla la tua connessione Internet e prova di nuovo."
-#: src/view/screens/ProfileFeed.tsx:210
+#: src/view/screens/ProfileFeed.tsx:219
msgid "There was an an issue updating your feeds, please check your internet connection and try again."
msgstr "Si è verificato un problema durante la rimozione di questo feed. Per favore controlla la tua connessione Internet e prova di nuovo."
-#: src/view/screens/ProfileFeed.tsx:237
-#: src/view/screens/ProfileList.tsx:267
-#: src/view/screens/SavedFeeds.tsx:209
-#: src/view/screens/SavedFeeds.tsx:231
-#: src/view/screens/SavedFeeds.tsx:252
+#: src/view/screens/ProfileFeed.tsx:247
+#: src/view/screens/ProfileList.tsx:277
+#: src/view/screens/SavedFeeds.tsx:211
+#: src/view/screens/SavedFeeds.tsx:241
+#: src/view/screens/SavedFeeds.tsx:262
msgid "There was an issue contacting the server"
msgstr "Si è verificato un problema durante il contatto con il server"
#: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:57
#: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:66
-#: src/view/com/feeds/FeedSourceCard.tsx:115
-#: src/view/com/feeds/FeedSourceCard.tsx:129
-#: src/view/com/feeds/FeedSourceCard.tsx:183
+#: src/view/com/feeds/FeedSourceCard.tsx:110
+#: src/view/com/feeds/FeedSourceCard.tsx:123
msgid "There was an issue contacting your server"
msgstr "Si è verificato un problema durante il contatto con il tuo server"
@@ -4026,7 +4955,7 @@ msgstr "Si è verificato un problema durante il contatto con il tuo server"
msgid "There was an issue fetching notifications. Tap here to try again."
msgstr "Si è verificato un problema durante il recupero delle notifiche. Tocca qui per riprovare."
-#: src/view/com/posts/Feed.tsx:265
+#: src/view/com/posts/Feed.tsx:287
msgid "There was an issue fetching posts. Tap here to try again."
msgstr "Si è verificato un problema nel recupero dei post. Tocca qui per riprovare."
@@ -4034,39 +4963,45 @@ msgstr "Si è verificato un problema nel recupero dei post. Tocca qui per riprov
msgid "There was an issue fetching the list. Tap here to try again."
msgstr "Si è verificato un problema durante il recupero dell'elenco. Tocca qui per riprovare."
-#: src/view/com/feeds/ProfileFeedgens.tsx:148
-#: src/view/com/lists/ProfileLists.tsx:155
+#: src/view/com/feeds/ProfileFeedgens.tsx:156
+#: src/view/com/lists/ProfileLists.tsx:163
msgid "There was an issue fetching your lists. Tap here to try again."
msgstr "Si è verificato un problema durante il recupero delle tue liste. Tocca qui per riprovare."
-#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:63
-#: src/view/com/modals/ContentFilteringSettings.tsx:126
+#: src/components/ReportDialog/SubmitView.tsx:81
+msgid "There was an issue sending your report. Please check your internet connection."
+msgstr "Si è verificato un problema durante l'invio della segnalazione. Per favore controlla la tua connessione Internet."
+
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:65
msgid "There was an issue syncing your preferences with the server"
msgstr "Si è verificato un problema durante la sincronizzazione delle tue preferenze con il server"
-#: src/view/screens/AppPasswords.tsx:66
+#: src/view/screens/AppPasswords.tsx:68
msgid "There was an issue with fetching your app passwords"
msgstr "Si è verificato un problema durante il recupero delle password dell'app"
-#: src/view/com/post-thread/PostThreadFollowBtn.tsx:93
-#: src/view/com/post-thread/PostThreadFollowBtn.tsx:105
-#: src/view/com/profile/ProfileHeader.tsx:157
-#: src/view/com/profile/ProfileHeader.tsx:178
-#: src/view/com/profile/ProfileHeader.tsx:217
-#: src/view/com/profile/ProfileHeader.tsx:230
-#: src/view/com/profile/ProfileHeader.tsx:250
-#: src/view/com/profile/ProfileHeader.tsx:272
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:105
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:127
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:141
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:99
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:111
+#: src/view/com/profile/ProfileMenu.tsx:106
+#: src/view/com/profile/ProfileMenu.tsx:117
+#: src/view/com/profile/ProfileMenu.tsx:132
+#: src/view/com/profile/ProfileMenu.tsx:143
+#: src/view/com/profile/ProfileMenu.tsx:157
+#: src/view/com/profile/ProfileMenu.tsx:170
msgid "There was an issue! {0}"
msgstr "Si è verificato un problema! {0}"
-#: src/view/screens/ProfileList.tsx:288
-#: src/view/screens/ProfileList.tsx:307
-#: src/view/screens/ProfileList.tsx:329
-#: src/view/screens/ProfileList.tsx:348
+#: src/view/screens/ProfileList.tsx:290
+#: src/view/screens/ProfileList.tsx:304
+#: src/view/screens/ProfileList.tsx:318
+#: src/view/screens/ProfileList.tsx:332
msgid "There was an issue. Please check your internet connection and try again."
msgstr "Si è verificato un problema. Per favore controlla la tua connessione Internet e prova di nuovo."
-#: src/view/com/util/ErrorBoundary.tsx:36
+#: src/view/com/util/ErrorBoundary.tsx:51
msgid "There was an unexpected issue in the application. Please let us know if this happened to you!"
msgstr "Si è verificato un problema imprevisto nell'applicazione. Per favore facci sapere se ti è successo!"
@@ -4074,27 +5009,42 @@ msgstr "Si è verificato un problema imprevisto nell'applicazione. Per favore fa
msgid "There's been a rush of new users to Bluesky! We'll activate your account as soon as we can."
msgstr "C'è stata un'ondata di nuovi utenti su Bluesky! Attiveremo il tuo account il prima possibile."
-#: src/view/com/auth/create/Step2.tsx:55
#~ msgid "There's something wrong with this number. Please choose your country and enter your full phone number!"
#~ msgstr "C'è qualcosa di sbagliato in questo numero. Scegli il tuo Paese e inserisci il tuo numero di telefono completo!"
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:138
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:146
msgid "These are popular accounts you might like:"
msgstr "Questi sono gli account popolari che potrebbero piacerti:"
-#: src/view/com/util/moderation/ScreenHider.tsx:88
+#~ msgid "This {0} has been labeled."
+#~ msgstr "Questo {0} è stato etichettato."
+
+#: src/components/moderation/ScreenHider.tsx:116
msgid "This {screenDescription} has been flagged:"
msgstr "Questa {screenDescription} è stata segnalata:"
-#: src/view/com/util/moderation/ScreenHider.tsx:83
+#: src/components/moderation/ScreenHider.tsx:111
msgid "This account has requested that users sign in to view their profile."
msgstr "Questo account ha richiesto agli utenti di accedere Bluesky per visualizzare il profilo."
-#: src/view/com/modals/EmbedConsent.tsx:68
+#: src/components/moderation/LabelsOnMeDialog.tsx:204
+msgid "This appeal will be sent to <0>{0}0>."
+msgstr "Questo ricorso verrà inviato a <0>{0}0>."
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:19
+msgid "This content has been hidden by the moderators."
+msgstr "Questo contenuto è stato nascosto dai moderatori."
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:24
+msgid "This content has received a general warning from moderators."
+msgstr "Questo contenuto ha ricevuto un avviso generale dai moderatori."
+
+#: src/components/dialogs/EmbedConsent.tsx:64
msgid "This content is hosted by {0}. Do you want to enable external media?"
msgstr "Questo contenuto è hosted da {0}. Vuoi abilitare i media esterni?"
-#: src/view/com/modals/ModerationDetails.tsx:67
+#: src/components/moderation/ModerationDetailsDialog.tsx:77
+#: src/lib/moderation/useModerationCauseDescription.ts:77
msgid "This content is not available because one of the users involved has blocked the other."
msgstr "Questo contenuto non è disponibile perché uno degli utenti coinvolti ha bloccato l'altro."
@@ -4102,17 +5052,20 @@ msgstr "Questo contenuto non è disponibile perché uno degli utenti coinvolti h
msgid "This content is not viewable without a Bluesky account."
msgstr "Questo contenuto non è visualizzabile senza un account Bluesky."
+#~ msgid "This feature is in beta. You can read more about repository exports in <0>this blogpost.0>"
+#~ msgstr "Questa funzionalità è in versione beta. Puoi leggere ulteriori informazioni sulle esportazioni dell' archivio in <0>questo post del blog.0>"
+
#: src/view/screens/Settings/ExportCarDialog.tsx:75
-msgid "This feature is in beta. You can read more about repository exports in <0>this blogpost.0>"
-msgstr "Questa funzionalità è in versione beta. Puoi leggere ulteriori informazioni sulle esportazioni dell' archivio in <0>questo post del blog.0>"
+msgid "This feature is in beta. You can read more about repository exports in <0>this blogpost0>."
+msgstr "Questa funzionalità è in versione beta. Puoi leggere ulteriori informazioni sulle esportazioni del repository in <0>questo post del blog0>."
#: src/view/com/posts/FeedErrorMessage.tsx:114
msgid "This feed is currently receiving high traffic and is temporarily unavailable. Please try again later."
msgstr "Questo canale al momento sta ricevendo molte visite ed è temporaneamente non disponibile. Riprova più tardi."
-#: src/view/screens/Profile.tsx:420
-#: src/view/screens/ProfileFeed.tsx:476
-#: src/view/screens/ProfileList.tsx:661
+#: src/screens/Profile/Sections/Feed.tsx:59
+#: src/view/screens/ProfileFeed.tsx:488
+#: src/view/screens/ProfileList.tsx:677
msgid "This feed is empty!"
msgstr "Questo feed è vuoto!"
@@ -4120,7 +5073,7 @@ msgstr "Questo feed è vuoto!"
msgid "This feed is empty! You may need to follow more users or tune your language settings."
msgstr "Questo feed è vuoto! Prova a seguire più utenti o ottimizza le impostazioni della lingua."
-#: src/view/com/modals/BirthDateSettings.tsx:61
+#: src/components/dialogs/BirthDateSettings.tsx:41
msgid "This information is not shared with other users."
msgstr "Queste informazioni non vengono condivise con altri utenti."
@@ -4128,15 +5081,30 @@ msgstr "Queste informazioni non vengono condivise con altri utenti."
msgid "This is important in case you ever need to change your email or reset your password."
msgstr "Questo è importante nel caso in cui avessi bisogno di modificare la tua email o reimpostare la password."
-#: src/view/com/modals/LinkWarning.tsx:58
+#~ msgid "This is the service that keeps you online."
+#~ msgstr "Questo è il servizio che ti mantiene online."
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:124
+msgid "This label was applied by {0}."
+msgstr "Questa etichetta è stata applicata da {0}."
+
+#: src/screens/Profile/Sections/Labels.tsx:178
+msgid "This labeler hasn't declared what labels it publishes, and may not be active."
+msgstr "Questo etichettatore non ha dichiarato quali etichette pubblica e potrebbe non essere attivo."
+
+#: src/view/com/modals/LinkWarning.tsx:72
msgid "This link is taking you to the following website:"
msgstr "Questo link ti porta al seguente sito web:"
-#: src/view/screens/ProfileList.tsx:839
+#: src/view/screens/ProfileList.tsx:855
msgid "This list is empty!"
msgstr "La lista è vuota!"
-#: src/view/com/modals/AddAppPasswords.tsx:106
+#: src/screens/Profile/ErrorState.tsx:40
+msgid "This moderation service is unavailable. See below for more details. If this issue persists, contact us."
+msgstr "Questo servizio di moderazione non è disponibile. Vedi giù per ulteriori dettagli. Se il problema persiste, contattaci."
+
+#: src/view/com/modals/AddAppPasswords.tsx:107
msgid "This name is already in use"
msgstr "Questo nome è già in uso"
@@ -4144,59 +5112,117 @@ msgstr "Questo nome è già in uso"
msgid "This post has been deleted."
msgstr "Questo post è stato cancellato."
-#: src/view/com/modals/ModerationDetails.tsx:62
+#: src/view/com/util/forms/PostDropdownBtn.tsx:366
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:250
+msgid "This post is only visible to logged-in users. It won't be visible to people who aren't logged in."
+msgstr "Questo post è visibile solo agli utenti registrati. Non sarà visibile alle persone che non hanno effettuato l'accesso."
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:348
+msgid "This post will be hidden from feeds."
+msgstr "Questo post verrà nascosto dai feed."
+
+#: src/view/com/profile/ProfileMenu.tsx:370
+msgid "This profile is only visible to logged-in users. It won't be visible to people who aren't logged in."
+msgstr "Questo profilo è visibile solo agli utenti registrati. Non sarà visibile alle persone che non hanno effettuato l'accesso."
+
+#: src/screens/Signup/StepInfo/Policies.tsx:37
+msgid "This service has not provided terms of service or a privacy policy."
+msgstr "Questo servizio non ha fornito termini di servizio o un'informativa sulla privacy."
+
+#: src/view/com/modals/ChangeHandle.tsx:445
+msgid "This should create a domain record at:"
+msgstr "Questo dovrebbe creare un record di dominio in:"
+
+#: src/view/com/profile/ProfileFollowers.tsx:87
+msgid "This user doesn't have any followers."
+msgstr "Questo utente non ha follower."
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:72
+#: src/lib/moderation/useModerationCauseDescription.ts:68
msgid "This user has blocked you. You cannot view their content."
msgstr "Questo utente ti ha bloccato. Non è possibile visualizzare il suo contenuto."
-#: src/view/com/modals/ModerationDetails.tsx:42
-msgid "This user is included in the <0/> list which you have blocked."
-msgstr "Questo utente è incluso nell'elenco <0/> che hai bloccato."
+#: src/lib/moderation/useGlobalLabelStrings.ts:30
+msgid "This user has requested that their content only be shown to signed-in users."
+msgstr "Questo utente ha richiesto che i suoi contenuti vengano mostrati solo agli utenti che hanno effettuato l'accesso."
-#: src/view/com/modals/ModerationDetails.tsx:74
-msgid "This user is included in the <0/> list which you have muted."
-msgstr "Questo utente è incluso nell'elenco <0/> che hai disattivato."
+#~ msgid "This user is included in the <0/> list which you have blocked."
+#~ msgstr "Questo utente è incluso nell'elenco <0/> che hai bloccato."
+
+#~ msgid "This user is included in the <0/> list which you have muted."
+#~ msgstr "Questo utente è incluso nell'elenco <0/> che hai disattivato."
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:55
+msgid "This user is included in the <0>{0}0> list which you have blocked."
+msgstr "Questo utente è incluso nell'elenco <0>{0}0> che hai bloccato."
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:84
+msgid "This user is included in the <0>{0}0> list which you have muted."
+msgstr "Questo utente è incluso nell'elenco <0>{0}0> che hai silenziato."
+
+#~ msgid "This user is included the <0/> list which you have muted."
+#~ msgstr "Questo utente è incluso nella lista <0/> che hai silenziato."
+
+#: src/view/com/profile/ProfileFollows.tsx:87
+msgid "This user isn't following anyone."
+msgstr "Questo utente non sta seguendo nessuno."
#: src/view/com/modals/SelfLabel.tsx:137
msgid "This warning is only available for posts with media attached."
msgstr "Questo avviso è disponibile solo per i post con contenuti multimediali allegati."
-#: src/components/dialogs/MutedWords.tsx:285
+#: src/components/dialogs/MutedWords.tsx:283
msgid "This will delete {0} from your muted words. You can always add it back later."
-msgstr ""
+msgstr "Questo eliminerà {0} dalle parole disattivate. Puoi sempre aggiungerla nuovamente in seguito."
-#: src/view/com/util/forms/PostDropdownBtn.tsx:282
-msgid "This will hide this post from your feeds."
-msgstr "Questo nasconderà il post dai tuoi feeds."
+#~ msgid "This will hide this post from your feeds."
+#~ msgstr "Questo nasconderà il post dai tuoi feeds."
+
+#: src/view/screens/Settings/index.tsx:525
+msgid "Thread preferences"
+msgstr "Preferenze delle discussioni"
#: src/view/screens/PreferencesThreads.tsx:53
-#: src/view/screens/Settings/index.tsx:565
+#: src/view/screens/Settings/index.tsx:535
msgid "Thread Preferences"
-msgstr "Preferenze delle discussioni"
+msgstr "Preferenze delle Discussioni"
#: src/view/screens/PreferencesThreads.tsx:119
msgid "Threaded Mode"
msgstr "Modalità discussione"
-#: src/Navigation.tsx:257
+#: src/Navigation.tsx:269
msgid "Threads Preferences"
msgstr "Preferenze per le discussioni"
-#: src/components/dialogs/MutedWords.tsx:113
+#: src/components/ReportDialog/SelectLabelerView.tsx:33
+msgid "To whom would you like to send this report?"
+msgstr "A chi desideri inviare questo report?"
+
+#: src/components/dialogs/MutedWords.tsx:112
msgid "Toggle between muted word options."
-msgstr ""
+msgstr "Alterna tra le opzioni delle parole silenziate."
#: src/view/com/util/forms/DropdownButton.tsx:246
msgid "Toggle dropdown"
msgstr "Attiva/disattiva il menu a discesa"
-#: src/view/com/modals/EditImage.tsx:271
+#: src/screens/Moderation/index.tsx:332
+msgid "Toggle to enable or disable adult content"
+msgstr "Seleziona per abilitare o disabilitare i contenuti per adulti"
+
+#: src/view/screens/Search/Search.tsx:427
+msgid "Top"
+msgstr ""
+
+#: src/view/com/modals/EditImage.tsx:272
msgid "Transformations"
msgstr "Trasformazioni"
-#: src/view/com/post-thread/PostThreadItem.tsx:685
-#: src/view/com/post-thread/PostThreadItem.tsx:687
-#: src/view/com/util/forms/PostDropdownBtn.tsx:215
-#: src/view/com/util/forms/PostDropdownBtn.tsx:217
+#: src/view/com/post-thread/PostThreadItem.tsx:638
+#: src/view/com/post-thread/PostThreadItem.tsx:640
+#: src/view/com/util/forms/PostDropdownBtn.tsx:220
+#: src/view/com/util/forms/PostDropdownBtn.tsx:222
msgid "Translate"
msgstr "Tradurre"
@@ -4206,122 +5232,191 @@ msgid "Try again"
msgstr "Riprova"
#~ msgid "Try again"
-#~ msgstr "Torna-ho a provar"
+#~ msgstr "Provalo di nuovo"
-#: src/view/screens/ProfileList.tsx:506
+#: src/view/com/modals/ChangeHandle.tsx:428
+msgid "Type:"
+msgstr "Tipo:"
+
+#: src/view/screens/ProfileList.tsx:480
msgid "Un-block list"
msgstr "Sblocca la lista"
-#: src/view/screens/ProfileList.tsx:491
+#: src/view/screens/ProfileList.tsx:463
msgid "Un-mute list"
msgstr "Riattiva questa lista"
-#: src/view/com/auth/create/CreateAccount.tsx:58
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:87
-#: src/view/com/auth/login/Login.tsx:76
-#: src/view/com/auth/login/LoginForm.tsx:118
+#: src/screens/Login/ForgotPasswordForm.tsx:74
+#: src/screens/Login/index.tsx:78
+#: src/screens/Login/LoginForm.tsx:119
+#: src/screens/Login/SetNewPasswordForm.tsx:77
+#: src/screens/Signup/index.tsx:64
#: src/view/com/modals/ChangePassword.tsx:70
msgid "Unable to contact your service. Please check your Internet connection."
msgstr "Impossibile contattare il servizio. Per favore controlla la tua connessione Internet."
-#: src/view/com/profile/ProfileHeader.tsx:433
-#: src/view/screens/ProfileList.tsx:590
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:181
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:286
+#: src/view/com/profile/ProfileMenu.tsx:361
+#: src/view/screens/ProfileList.tsx:574
msgid "Unblock"
msgstr "Sblocca"
-#: src/view/com/profile/ProfileHeader.tsx:436
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:186
msgctxt "action"
msgid "Unblock"
msgstr "Sblocca"
-#: src/view/com/profile/ProfileHeader.tsx:261
-#: src/view/com/profile/ProfileHeader.tsx:345
+#: src/view/com/profile/ProfileMenu.tsx:299
+#: src/view/com/profile/ProfileMenu.tsx:305
msgid "Unblock Account"
-msgstr "Sblocca il conto"
+msgstr "Sblocca Account"
-#: src/view/com/modals/Repost.tsx:42 src/view/com/modals/Repost.tsx:55
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:280
+#: src/view/com/profile/ProfileMenu.tsx:343
+msgid "Unblock Account?"
+msgstr "Sblocca Account?"
+
+#: src/view/com/modals/Repost.tsx:43
+#: src/view/com/modals/Repost.tsx:56
#: src/view/com/util/post-ctrls/RepostButton.tsx:60
#: src/view/com/util/post-ctrls/RepostButton.web.tsx:48
msgid "Undo repost"
msgstr "Annulla la ripubblicazione"
-#: src/view/com/profile/FollowButton.tsx:55
+#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:141
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:248
+msgid "Unfollow"
+msgstr "Smetti di seguire"
+
+#: src/view/com/profile/FollowButton.tsx:60
msgctxt "action"
msgid "Unfollow"
msgstr "Smetti di seguire"
-#: src/view/com/profile/ProfileHeader.tsx:485
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:220
msgid "Unfollow {0}"
msgstr "Smetti di seguire {0}"
-#: src/view/com/auth/create/state.ts:262
-msgid "Unfortunately, you do not meet the requirements to create an account."
-msgstr "Sfortunatamente, non soddisfi i requisiti per creare un account."
+#: src/view/com/profile/ProfileMenu.tsx:241
+#: src/view/com/profile/ProfileMenu.tsx:251
+msgid "Unfollow Account"
+msgstr "Smetti di seguire questo account"
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:182
+#: src/view/com/auth/create/state.ts:262
+#~ msgid "Unfortunately, you do not meet the requirements to create an account."
+#~ msgstr "Sfortunatamente, non soddisfi i requisiti per creare un account."
+
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:197
msgid "Unlike"
msgstr "Togli Mi piace"
+#: src/view/screens/ProfileFeed.tsx:585
+msgid "Unlike this feed"
+msgstr "Togli il like a questo feed"
+
#: src/components/TagMenu/index.tsx:249
-#: src/view/screens/ProfileList.tsx:597
+#: src/view/screens/ProfileList.tsx:581
msgid "Unmute"
msgstr "Riattiva"
#: src/components/TagMenu/index.web.tsx:104
msgid "Unmute {truncatedTag}"
-msgstr ""
+msgstr "Riattiva {truncatedTag}"
-#: src/view/com/profile/ProfileHeader.tsx:326
+#: src/view/com/profile/ProfileMenu.tsx:278
+#: src/view/com/profile/ProfileMenu.tsx:284
msgid "Unmute Account"
msgstr "Riattiva questo account"
#: src/components/TagMenu/index.tsx:208
msgid "Unmute all {displayTag} posts"
-msgstr ""
+msgstr "Riattiva tutti i post di {displayTag}"
-#: src/components/TagMenu/index.tsx:210
-#~ msgid "Unmute all {tag} posts"
-#~ msgstr ""
-
-#: src/view/com/util/forms/PostDropdownBtn.tsx:251
-#: src/view/com/util/forms/PostDropdownBtn.tsx:256
+#: src/view/com/util/forms/PostDropdownBtn.tsx:269
+#: src/view/com/util/forms/PostDropdownBtn.tsx:274
msgid "Unmute thread"
msgstr "Riattiva questa discussione"
-#: src/view/screens/ProfileFeed.tsx:354
-#: src/view/screens/ProfileList.tsx:581
+#: src/view/screens/ProfileFeed.tsx:306
+#: src/view/screens/ProfileList.tsx:565
msgid "Unpin"
msgstr "Stacca dal profilo"
-#: src/view/screens/ProfileList.tsx:474
+#: src/view/screens/ProfileFeed.tsx:303
+msgid "Unpin from home"
+msgstr "Stacca dalla Home"
+
+#: src/view/screens/ProfileList.tsx:446
msgid "Unpin moderation list"
msgstr "Stacca la lista di moderazione"
-#: src/view/screens/ProfileFeed.tsx:346
-msgid "Unsave"
-msgstr "Rimuovi"
+#~ msgid "Unsave"
+#~ msgstr "Rimuovi"
+
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:225
+msgid "Unsubscribe"
+msgstr "Annulla l'iscrizione"
+
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:190
+msgid "Unsubscribe from this labeler"
+msgstr "Annulla l'iscrizione a questo/a labeler"
+
+#: src/lib/moderation/useReportOptions.ts:70
+msgid "Unwanted Sexual Content"
+msgstr "Contenuti Sessuali Indesiderati"
#: src/view/com/modals/UserAddRemoveLists.tsx:70
msgid "Update {displayName} in Lists"
msgstr "Aggiorna {displayName} negli elenchi"
-#: src/lib/hooks/useOTAUpdate.ts:15
-msgid "Update Available"
-msgstr "Aggiornamento disponibile"
+#~ msgid "Update Available"
+#~ msgstr "Aggiornamento disponibile"
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:204
+#: src/view/com/modals/ChangeHandle.tsx:508
+msgid "Update to {handle}"
+msgstr "Aggiorna a {handle}"
+
+#: src/screens/Login/SetNewPasswordForm.tsx:186
msgid "Updating..."
msgstr "In aggiornamento..."
-#: src/view/com/modals/ChangeHandle.tsx:455
+#: src/view/com/modals/ChangeHandle.tsx:454
msgid "Upload a text file to:"
msgstr "Carica una file di testo a:"
-#: src/view/screens/AppPasswords.tsx:195
+#: src/view/com/util/UserAvatar.tsx:328
+#: src/view/com/util/UserAvatar.tsx:331
+#: src/view/com/util/UserBanner.tsx:116
+#: src/view/com/util/UserBanner.tsx:119
+msgid "Upload from Camera"
+msgstr "Carica dalla fotocamera"
+
+#: src/view/com/util/UserAvatar.tsx:345
+#: src/view/com/util/UserBanner.tsx:133
+msgid "Upload from Files"
+msgstr "Carica dai Files"
+
+#: src/view/com/util/UserAvatar.tsx:339
+#: src/view/com/util/UserAvatar.tsx:343
+#: src/view/com/util/UserBanner.tsx:127
+#: src/view/com/util/UserBanner.tsx:131
+msgid "Upload from Library"
+msgstr "Carica dalla Libreria"
+
+#: src/view/com/modals/ChangeHandle.tsx:408
+msgid "Use a file on your server"
+msgstr "Utilizza un file sul tuo server"
+
+#: src/view/screens/AppPasswords.tsx:197
msgid "Use app passwords to login to other Bluesky clients without giving full access to your account or password."
msgstr "Utilizza le password dell'app per accedere ad altri client Bluesky senza fornire l'accesso completo al tuo account o alla tua password."
-#: src/view/com/modals/ChangeHandle.tsx:515
+#: src/view/com/modals/ChangeHandle.tsx:517
+msgid "Use bsky.social as hosting provider"
+msgstr "Utilizza bsky.social come provider di hosting"
+
+#: src/view/com/modals/ChangeHandle.tsx:516
msgid "Use default provider"
msgstr "Utilizza il tuo provider predefinito"
@@ -4335,50 +5430,66 @@ msgstr "Utilizza il browser dell'app"
msgid "Use my default browser"
msgstr "Utilizza il mio browser predefinito"
-#: src/view/com/modals/AddAppPasswords.tsx:155
+#: src/view/com/modals/ChangeHandle.tsx:400
+msgid "Use the DNS panel"
+msgstr "Utilizza il pannello DNS"
+
+#: src/view/com/modals/AddAppPasswords.tsx:156
msgid "Use this to sign into the other app along with your handle."
msgstr "Utilizza questo per accedere all'altra app insieme al tuo nome utente."
-#: src/view/com/modals/InviteCodes.tsx:200
+#~ msgid "Use your domain as your Bluesky client service provider"
+#~ msgstr "Utilizza il tuo dominio come provider di servizi clienti Bluesky"
+
+#: src/view/com/modals/InviteCodes.tsx:201
msgid "Used by:"
msgstr "Usato da:"
-#: src/view/com/modals/ModerationDetails.tsx:54
+#: src/components/moderation/ModerationDetailsDialog.tsx:64
+#: src/lib/moderation/useModerationCauseDescription.ts:56
msgid "User Blocked"
msgstr "Utente bloccato"
-#: src/view/com/modals/ModerationDetails.tsx:40
+#: src/lib/moderation/useModerationCauseDescription.ts:48
+msgid "User Blocked by \"{0}\""
+msgstr "Utente bloccato da \"{0}\""
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:53
msgid "User Blocked by List"
msgstr "Utente bloccato dalla lista"
-#: src/view/com/modals/ModerationDetails.tsx:60
+#: src/lib/moderation/useModerationCauseDescription.ts:66
+msgid "User Blocking You"
+msgstr "Questo Utente ti Blocca"
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:70
msgid "User Blocks You"
msgstr "Questo utente ti blocca"
#: src/view/com/auth/create/Step2.tsx:79
-msgid "User handle"
-msgstr "Handle dell'utente"
+#~ msgid "User handle"
+#~ msgstr "Handle dell'utente"
#: src/view/com/lists/ListCard.tsx:85
#: src/view/com/modals/UserAddRemoveLists.tsx:198
msgid "User list by {0}"
msgstr "Lista di {0}"
-#: src/view/screens/ProfileList.tsx:763
+#: src/view/screens/ProfileList.tsx:779
msgid "User list by <0/>"
msgstr "Lista di<0/>"
#: src/view/com/lists/ListCard.tsx:83
#: src/view/com/modals/UserAddRemoveLists.tsx:196
-#: src/view/screens/ProfileList.tsx:761
+#: src/view/screens/ProfileList.tsx:777
msgid "User list by you"
msgstr "La tua lista"
-#: src/view/com/modals/CreateOrEditList.tsx:196
+#: src/view/com/modals/CreateOrEditList.tsx:197
msgid "User list created"
msgstr "Lista creata"
-#: src/view/com/modals/CreateOrEditList.tsx:182
+#: src/view/com/modals/CreateOrEditList.tsx:183
msgid "User list updated"
msgstr "Lista aggiornata"
@@ -4386,12 +5497,13 @@ msgstr "Lista aggiornata"
msgid "User Lists"
msgstr "Liste publiche"
-#: src/view/com/auth/login/LoginForm.tsx:177
-#: src/view/com/auth/login/LoginForm.tsx:195
+#: src/screens/Login/LoginForm.tsx:151
msgid "Username or email address"
msgstr "Nome utente o indirizzo Email"
-#: src/view/screens/ProfileList.tsx:797
+#: src/view/screens/ProfileList.tsx:813
+#: src/view/screens/Search/Search.tsx:473
+#: src/view/screens/Search/Search.tsx:482
msgid "Users"
msgstr "Utenti"
@@ -4403,19 +5515,30 @@ msgstr "utenti seguiti da <0/>"
msgid "Users in \"{0}\""
msgstr "Utenti in «{0}»"
-#: src/view/com/auth/create/Step2.tsx:243
+#: src/components/LikesDialog.tsx:85
+msgid "Users that have liked this content or profile"
+msgstr "Utenti a cui è piaciuto questo contenuto o profilo"
+
+#: src/view/com/modals/ChangeHandle.tsx:436
+msgid "Value:"
+msgstr "Valore:"
+
#~ msgid "Verification code"
#~ msgstr "Codice di verifica"
-#: src/view/screens/Settings/index.tsx:910
+#: src/view/com/modals/ChangeHandle.tsx:509
+msgid "Verify {0}"
+msgstr "Verifica {0}"
+
+#: src/view/screens/Settings/index.tsx:906
msgid "Verify email"
msgstr "Verifica Email"
-#: src/view/screens/Settings/index.tsx:935
+#: src/view/screens/Settings/index.tsx:931
msgid "Verify my email"
msgstr "Verifica la mia email"
-#: src/view/screens/Settings/index.tsx:944
+#: src/view/screens/Settings/index.tsx:940
msgid "Verify My Email"
msgstr "Verifica la Mia Email"
@@ -4428,11 +5551,15 @@ msgstr "Verifica la nuova email"
msgid "Verify Your Email"
msgstr "Verifica la tua email"
+#: src/view/screens/Settings/index.tsx:857
+msgid "Version {0}"
+msgstr ""
+
#: src/screens/Onboarding/index.tsx:42
msgid "Video Games"
msgstr "Video Games"
-#: src/view/com/profile/ProfileHeader.tsx:662
+#: src/screens/Profile/Header/Shell.tsx:107
msgid "View {0}'s avatar"
msgstr "Vedi l'avatar di {0}"
@@ -4440,11 +5567,25 @@ msgstr "Vedi l'avatar di {0}"
msgid "View debug entry"
msgstr "Vedi le informazioni del debug"
-#: src/view/com/posts/FeedSlice.tsx:103
+#: src/components/ReportDialog/SelectReportOptionView.tsx:132
+msgid "View details"
+msgstr "Vedere dettagli"
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:127
+msgid "View details for reporting a copyright violation"
+msgstr "Visualizza i dettagli per segnalare una violazione del copyright"
+
+#: src/view/com/posts/FeedSlice.tsx:99
msgid "View full thread"
msgstr "Vedi la discussione completa"
-#: src/view/com/posts/FeedErrorMessage.tsx:172
+#: src/components/moderation/LabelsOnMe.tsx:51
+msgid "View information about these labels"
+msgstr "Visualizza le informazioni su queste etichette"
+
+#: src/components/ProfileHoverCard/index.web.tsx:264
+#: src/components/ProfileHoverCard/index.web.tsx:293
+#: src/view/com/posts/FeedErrorMessage.tsx:166
msgid "View profile"
msgstr "Vedi il profilo"
@@ -4452,28 +5593,47 @@ msgstr "Vedi il profilo"
msgid "View the avatar"
msgstr "Vedi l'avatar"
-#: src/view/com/modals/LinkWarning.tsx:75
+#: src/components/LabelingServiceCard/index.tsx:140
+msgid "View the labeling service provided by @{0}"
+msgstr "Visualizza il servizio di etichettatura fornito da @{0}"
+
+#: src/view/screens/ProfileFeed.tsx:597
+msgid "View users who like this feed"
+msgstr "Visualizza gli utenti a cui piace questo feed"
+
+#: src/view/com/modals/LinkWarning.tsx:89
+#: src/view/com/modals/LinkWarning.tsx:95
msgid "Visit Site"
msgstr "Visita il sito"
-#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:42
-#: src/view/com/modals/ContentFilteringSettings.tsx:259
+#: src/components/moderation/LabelPreference.tsx:135
+#: src/lib/moderation/useLabelBehaviorDescription.ts:17
+#: src/lib/moderation/useLabelBehaviorDescription.ts:22
+#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:53
msgid "Warn"
msgstr "Avvisa"
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:134
-msgid "We also think you'll like \"For You\" by Skygaze:"
-msgstr "Pensiamo che ti piacerà anche \"Per Te\" di Skygaze:"
+#: src/lib/moderation/useLabelBehaviorDescription.ts:48
+msgid "Warn content"
+msgstr "Avvisa il contenuto"
-#: src/screens/Hashtag.tsx:132
+#: src/lib/moderation/useLabelBehaviorDescription.ts:46
+msgid "Warn content and filter from feeds"
+msgstr "Avvisa i contenuti e filtra dai feed"
+
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:134
+#~ msgid "We also think you'll like \"For You\" by Skygaze:"
+#~ msgstr "Pensiamo che ti piacerà anche \"Per Te\" di Skygaze:"
+
+#: src/screens/Hashtag.tsx:133
msgid "We couldn't find any results for that hashtag."
-msgstr ""
+msgstr "Non siamo riusciti a trovare alcun risultato per quell'hashtag."
#: src/screens/Deactivated.tsx:133
msgid "We estimate {estimatedTime} until your account is ready."
msgstr "Stimiamo {estimatedTime} prima che il tuo account sia pronto."
-#: src/screens/Onboarding/StepFinished.tsx:93
+#: src/screens/Onboarding/StepFinished.tsx:97
msgid "We hope you have a wonderful time. Remember, Bluesky is:"
msgstr "Speriamo di darti dei momenti dei bei momenti. Ricorda, Bluesky è:"
@@ -4481,15 +5641,23 @@ msgstr "Speriamo di darti dei momenti dei bei momenti. Ricorda, Bluesky è:"
msgid "We ran out of posts from your follows. Here's the latest from <0/>."
msgstr "Abbiamo esaurito i posts dei tuoi follower. Ecco le ultime novità da <0/>."
-#: src/components/dialogs/MutedWords.tsx:204
+#: src/components/dialogs/MutedWords.tsx:203
msgid "We recommend avoiding common words that appear in many posts, since it can result in no posts being shown."
-msgstr ""
+msgstr "Ti consigliamo di evitare usare parole comuni che compaiono in molti post, perchè ciò potrebbe comportare la mancata visualizzazione dei post."
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:124
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:125
msgid "We recommend our \"Discover\" feed:"
msgstr "Consigliamo il nostro feed \"Scopri\":"
-#: src/screens/Onboarding/StepInterests/index.tsx:133
+#: src/components/dialogs/BirthDateSettings.tsx:52
+msgid "We were unable to load your birth date preferences. Please try again."
+msgstr "Non siamo riusciti a caricare le tue preferenze relative alla data di nascita. Per favore riprova."
+
+#: src/screens/Moderation/index.tsx:385
+msgid "We were unable to load your configured labelers at this time."
+msgstr "Al momento non è stato possibile caricare le etichettatori configurati."
+
+#: src/screens/Onboarding/StepInterests/index.tsx:137
msgid "We weren't able to connect. Please try again to continue setting up your account. If it continues to fail, you can skip this flow."
msgstr "Non siamo riusciti a connetterci. Riprova per continuare a configurare il tuo account. Se il problema persiste, puoi ignorare questo flusso."
@@ -4497,52 +5665,55 @@ msgstr "Non siamo riusciti a connetterci. Riprova per continuare a configurare i
msgid "We will let you know when your account is ready."
msgstr "Ti faremo sapere quando il tuo account sarà pronto."
-#: src/view/com/modals/AppealLabel.tsx:48
-msgid "We'll look into your appeal promptly."
-msgstr "Esamineremo il tuo ricorso al più presto."
+#~ msgid "We'll look into your appeal promptly."
+#~ msgstr "Esamineremo il tuo ricorso al più presto."
-#: src/screens/Onboarding/StepInterests/index.tsx:138
+#: src/screens/Onboarding/StepInterests/index.tsx:142
msgid "We'll use this to help customize your experience."
msgstr "Lo useremo per personalizzare la tua esperienza."
-#: src/view/com/auth/create/CreateAccount.tsx:134
+#: src/screens/Signup/index.tsx:131
msgid "We're so excited to have you join us!"
msgstr "Siamo felici che tu ti unisca a noi!"
-#: src/view/screens/ProfileList.tsx:86
+#: src/view/screens/ProfileList.tsx:90
msgid "We're sorry, but we were unable to resolve this list. If this persists, please contact the list creator, @{handleOrDid}."
msgstr "Siamo spiacenti, ma non siamo riusciti a risolvere questa lista. Se il problema persiste, contatta il creatore della lista, @{handleOrDid}."
-#: src/components/dialogs/MutedWords.tsx:230
+#: src/components/dialogs/MutedWords.tsx:229
msgid "We're sorry, but we weren't able to load your muted words at this time. Please try again."
-msgstr ""
+msgstr "Siamo spiacenti, ma al momento non siamo riusciti a caricare le parole silenziate. Per favore riprova si nuovo."
-#: src/view/screens/Search/Search.tsx:254
+#: src/view/screens/Search/Search.tsx:322
msgid "We're sorry, but your search could not be completed. Please try again in a few minutes."
msgstr "Siamo spiacenti, ma non è stato possibile completare la ricerca. Riprova tra qualche minuto."
-#: src/components/Lists.tsx:211
+#: src/components/Lists.tsx:188
#: src/view/screens/NotFound.tsx:48
msgid "We're sorry! We can't find the page you were looking for."
msgstr "Ci dispiace! Non riusciamo a trovare la pagina che stavi cercando."
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:46
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:327
+msgid "We're sorry! You can only subscribe to ten labelers, and you've reached your limit of ten."
+msgstr "Ci dispiace! Puoi abbonarti solo a dieci etichettatori e hai raggiunto il limite di dieci."
+
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:48
msgid "Welcome to <0>Bluesky0>"
msgstr "Ti diamo il benvenuto a <0>Bluesky0>"
-#: src/screens/Onboarding/StepInterests/index.tsx:130
+#: src/screens/Onboarding/StepInterests/index.tsx:134
msgid "What are your interests?"
msgstr "Quali sono i tuoi interessi?"
-#: src/view/com/modals/report/Modal.tsx:169
-msgid "What is the issue with this {collectionName}?"
-msgstr "Qual è il problema con questo {collectionName}?"
+#~ msgid "What is the issue with this {collectionName}?"
+#~ msgstr "Qual è il problema con questo {collectionName}?"
#~ msgid "What's next?"
-#~ msgstr "¿Qué sigue?"
+#~ msgstr "Qual è il prossimo?"
-#: src/view/com/auth/SplashScreen.tsx:59
-#: src/view/com/composer/Composer.tsx:286
+#: src/view/com/auth/SplashScreen.tsx:40
+#: src/view/com/auth/SplashScreen.web.tsx:81
+#: src/view/com/composer/Composer.tsx:296
msgid "What's up?"
msgstr "Come va?"
@@ -4559,16 +5730,36 @@ msgstr "Quali lingue vorresti vedere negli algoritmi dei tuoi feeds?"
msgid "Who can reply"
msgstr "Chi può rispondere"
-#: src/view/com/modals/crop-image/CropImage.web.tsx:102
+#: src/components/ReportDialog/SelectReportOptionView.tsx:43
+msgid "Why should this content be reviewed?"
+msgstr "Perché questo contenuto dovrebbe essere revisionato?"
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:56
+msgid "Why should this feed be reviewed?"
+msgstr "Perché questo feed dovrebbe essere revisionato?"
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:53
+msgid "Why should this list be reviewed?"
+msgstr "Perché questa lista dovrebbe essere revisionata?"
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:50
+msgid "Why should this post be reviewed?"
+msgstr "Perché questo post dovrebbe essere revisionato?"
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:47
+msgid "Why should this user be reviewed?"
+msgstr "Perché questo utente dovrebbe essere revisionato?"
+
+#: src/view/com/modals/crop-image/CropImage.web.tsx:103
msgid "Wide"
msgstr "Largo"
-#: src/view/com/composer/Composer.tsx:422
+#: src/view/com/composer/Composer.tsx:436
msgid "Write post"
msgstr "Scrivi un post"
-#: src/view/com/composer/Composer.tsx:285
-#: src/view/com/composer/Prompt.tsx:33
+#: src/view/com/composer/Composer.tsx:295
+#: src/view/com/composer/Prompt.tsx:37
msgid "Write your reply"
msgstr "Scrivi la tua risposta"
@@ -4576,7 +5767,6 @@ msgstr "Scrivi la tua risposta"
msgid "Writers"
msgstr "Scrittori"
-#: src/view/com/auth/create/Step2.tsx:263
#~ msgid "XXXXXX"
#~ msgstr "XXXXXX"
@@ -4594,121 +5784,174 @@ msgstr "Si"
msgid "You are in line."
msgstr "Sei nella fila."
+#: src/view/com/profile/ProfileFollows.tsx:86
+msgid "You are not following anyone."
+msgstr "Non stai seguendo nessuno."
+
#: src/view/com/posts/FollowingEmptyState.tsx:67
#: src/view/com/posts/FollowingEndOfFeed.tsx:68
msgid "You can also discover new Custom Feeds to follow."
msgstr "Puoi anche scoprire nuovi feed personalizzati da seguire."
-#: src/screens/Onboarding/StepFollowingFeed.tsx:142
+#~ msgid "You can change hosting providers at any time."
+#~ msgstr "Puoi cambiare provider di hosting in qualsiasi momento."
+
+#: src/screens/Onboarding/StepFollowingFeed.tsx:143
msgid "You can change these settings later."
msgstr "Potrai modificare queste impostazioni in seguito."
-#: src/view/com/auth/login/Login.tsx:158
-#: src/view/com/auth/login/PasswordUpdatedForm.tsx:31
+#: src/screens/Login/index.tsx:158
+#: src/screens/Login/PasswordUpdatedForm.tsx:33
msgid "You can now sign in with your new password."
msgstr "Adesso puoi accedere con la tua nuova password."
-#: src/view/com/modals/InviteCodes.tsx:66
+#: src/view/com/profile/ProfileFollowers.tsx:86
+msgid "You do not have any followers."
+msgstr "Non hai follower."
+
+#: src/view/com/modals/InviteCodes.tsx:67
msgid "You don't have any invite codes yet! We'll send you some when you've been on Bluesky for a little longer."
msgstr "Non hai ancora alcun codice di invito! Te ne invieremo alcuni quando utilizzerai Bluesky per un po' più a lungo."
-#: src/view/screens/SavedFeeds.tsx:102
+#: src/view/screens/SavedFeeds.tsx:103
msgid "You don't have any pinned feeds."
msgstr "Non hai fissato nessun feed."
-#: src/view/screens/Feeds.tsx:452
+#: src/view/screens/Feeds.tsx:477
msgid "You don't have any saved feeds!"
msgstr "Non hai salvato nessun feed!"
-#: src/view/screens/SavedFeeds.tsx:135
+#: src/view/screens/SavedFeeds.tsx:136
msgid "You don't have any saved feeds."
msgstr "Non hai salvato nessun feed."
-#: src/view/com/post-thread/PostThread.tsx:465
+#: src/view/com/post-thread/PostThread.tsx:159
msgid "You have blocked the author or you have been blocked by the author."
msgstr "Hai bloccato l'autore o sei stato bloccato dall'autore."
-#: src/view/com/modals/ModerationDetails.tsx:56
+#: src/components/moderation/ModerationDetailsDialog.tsx:66
+#: src/lib/moderation/useModerationCauseDescription.ts:50
+#: src/lib/moderation/useModerationCauseDescription.ts:58
msgid "You have blocked this user. You cannot view their content."
msgstr "Hai bloccato questo utente. Non è possibile visualizzare il contenuto."
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:57
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:92
+#: src/screens/Login/SetNewPasswordForm.tsx:54
+#: src/screens/Login/SetNewPasswordForm.tsx:91
#: src/view/com/modals/ChangePassword.tsx:87
#: src/view/com/modals/ChangePassword.tsx:121
msgid "You have entered an invalid code. It should look like XXXXX-XXXXX."
msgstr "Hai inserito un codice non valido. Dovrebbe apparire come XXXX-XXXXXX."
-#: src/view/com/modals/ModerationDetails.tsx:87
-msgid "You have muted this user."
-msgstr "Hai disattivato questo utente."
+#: src/lib/moderation/useModerationCauseDescription.ts:109
+msgid "You have hidden this post"
+msgstr "Hai nascosto questo post"
-#: src/view/com/feeds/ProfileFeedgens.tsx:136
+#: src/components/moderation/ModerationDetailsDialog.tsx:101
+msgid "You have hidden this post."
+msgstr "Hai silenziato questo post."
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:94
+#: src/lib/moderation/useModerationCauseDescription.ts:92
+msgid "You have muted this account."
+msgstr "Hai silenziato questo account."
+
+#: src/lib/moderation/useModerationCauseDescription.ts:86
+msgid "You have muted this user"
+msgstr "Hai silenziato questo utente"
+
+#~ msgid "You have muted this user."
+#~ msgstr "Hai disattivato questo utente."
+
+#: src/view/com/feeds/ProfileFeedgens.tsx:144
msgid "You have no feeds."
msgstr "Non hai feeds."
-#: src/view/com/lists/MyLists.tsx:89 src/view/com/lists/ProfileLists.tsx:140
+#: src/view/com/lists/MyLists.tsx:89
+#: src/view/com/lists/ProfileLists.tsx:148
msgid "You have no lists."
msgstr "Non hai liste."
-#: src/view/screens/ModerationBlockedAccounts.tsx:132
-msgid "You have not blocked any accounts yet. To block an account, go to their profile and selected \"Block account\" from the menu on their account."
-msgstr "Non hai ancora bloccato nessun conto. Per bloccare un conto, vai al profilo e seleziona \"Blocca conto\" dal menu del suo conto."
+#: src/view/screens/ModerationBlockedAccounts.tsx:138
+msgid "You have not blocked any accounts yet. To block an account, go to their profile and select \"Block account\" from the menu on their account."
+msgstr "Non hai ancora bloccato nessun account. Per bloccare un account, vai sul profilo e seleziona \"Blocca account\" dal menu dell'account."
-#: src/view/screens/AppPasswords.tsx:87
+#~ msgid "You have not blocked any accounts yet. To block an account, go to their profile and selected \"Block account\" from the menu on their account."
+#~ msgstr "Non hai ancora bloccato nessun conto. Per bloccare un conto, vai al profilo e seleziona \"Blocca conto\" dal menu del suo conto."
+
+#: src/view/screens/AppPasswords.tsx:89
msgid "You have not created any app passwords yet. You can create one by pressing the button below."
msgstr "Non hai ancora creato alcuna password per l'app. Puoi crearne uno premendo il pulsante qui sotto."
-#: src/view/screens/ModerationMutedAccounts.tsx:131
-msgid "You have not muted any accounts yet. To mute an account, go to their profile and selected \"Mute account\" from the menu on their account."
-msgstr "Non hai ancora disattivato alcun account. Per disattivare un account, vai al suo profilo e seleziona \"Disattiva account\" dal menu del account."
+#: src/view/screens/ModerationMutedAccounts.tsx:136
+msgid "You have not muted any accounts yet. To mute an account, go to their profile and select \"Mute account\" from the menu on their account."
+msgstr "Non hai ancora silenziato nessun account. Per silenziare un account, vai al suo profilo e seleziona \"Silenzia account\" dal menu dell' account."
-#: src/components/dialogs/MutedWords.tsx:250
+#~ msgid "You have not muted any accounts yet. To mute an account, go to their profile and selected \"Mute account\" from the menu on their account."
+#~ msgstr "Non hai ancora disattivato alcun account. Per disattivare un account, vai al suo profilo e seleziona \"Disattiva account\" dal menu del account."
+
+#: src/components/dialogs/MutedWords.tsx:249
msgid "You haven't muted any words or tags yet"
+msgstr "Non hai ancora silenziato nessuna parola o tag"
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:68
+msgid "You may appeal these labels if you feel they were placed in error."
+msgstr "Puoi presentare ricorso contro queste etichette se ritieni che siano state inserite per errore."
+
+#: src/screens/Signup/StepInfo/Policies.tsx:79
+msgid "You must be 13 years of age or older to sign up."
msgstr ""
-#: src/view/com/modals/ContentFilteringSettings.tsx:175
-msgid "You must be 18 or older to enable adult content."
-msgstr "Devi avere almeno 18 anni per abilitare i contenuti per adulti."
+#~ msgid "You must be 18 or older to enable adult content."
+#~ msgstr "Devi avere almeno 18 anni per abilitare i contenuti per adulti."
-#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:103
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:110
msgid "You must be 18 years or older to enable adult content"
msgstr "Devi avere almeno 18 anni per abilitare i contenuti per adulti"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:147
+#: src/components/ReportDialog/SubmitView.tsx:203
+msgid "You must select at least one labeler for a report"
+msgstr "È necessario selezionare almeno un'etichettatore per un report"
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:150
msgid "You will no longer receive notifications for this thread"
msgstr "Non riceverai più notifiche per questo filo di discussione"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:150
+#: src/view/com/util/forms/PostDropdownBtn.tsx:153
msgid "You will now receive notifications for this thread"
msgstr "Adesso riceverai le notifiche per questa discussione"
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:107
+#: src/screens/Login/SetNewPasswordForm.tsx:104
msgid "You will receive an email with a \"reset code.\" Enter that code here, then enter your new password."
msgstr "Riceverai un'email con un \"codice di reset\". Inserisci il codice qui, poi inserisci la nuova password."
-#: src/screens/Onboarding/StepModeration/index.tsx:72
+#: src/screens/Onboarding/StepModeration/index.tsx:60
msgid "You're in control"
msgstr "Sei in controllo"
-#: src/screens/Deactivated.tsx:87 src/screens/Deactivated.tsx:88
+#: src/screens/Deactivated.tsx:87
+#: src/screens/Deactivated.tsx:88
#: src/screens/Deactivated.tsx:103
msgid "You're in line"
msgstr "Sei in fila"
-#: src/screens/Onboarding/StepFinished.tsx:90
+#: src/screens/Onboarding/StepFinished.tsx:94
msgid "You're ready to go!"
msgstr "Sei pronto per iniziare!"
+#: src/components/moderation/ModerationDetailsDialog.tsx:98
+#: src/lib/moderation/useModerationCauseDescription.ts:101
+msgid "You've chosen to hide a word or tag within this post."
+msgstr "Hai scelto di nascondere una parola o un tag in questo post."
+
#: src/view/com/posts/FollowingEndOfFeed.tsx:48
msgid "You've reached the end of your feed! Find some more accounts to follow."
msgstr "Hai raggiunto la fine del tuo feed! Trova altri account da seguire."
-#: src/view/com/auth/create/Step1.tsx:67
+#: src/screens/Signup/index.tsx:151
msgid "Your account"
msgstr "Il tuo account"
-#: src/view/com/modals/DeleteAccount.tsx:67
+#: src/view/com/modals/DeleteAccount.tsx:68
msgid "Your account has been deleted"
msgstr "Il tuo account è stato eliminato"
@@ -4716,7 +5959,7 @@ msgstr "Il tuo account è stato eliminato"
msgid "Your account repository, containing all public data records, can be downloaded as a \"CAR\" file. This file does not include media embeds, such as images, or your private data, which must be fetched separately."
msgstr "L'archivio del tuo account, che contiene tutti i record di dati pubblici, può essere scaricato come file \"CAR\". Questo file non include elementi multimediali incorporati, come immagini o dati privati, che devono essere recuperati separatamente."
-#: src/view/com/auth/create/Step1.tsx:215
+#: src/screens/Signup/StepInfo/index.tsx:123
msgid "Your birth date"
msgstr "La tua data di nascita"
@@ -4724,17 +5967,16 @@ msgstr "La tua data di nascita"
msgid "Your choice will be saved, but can be changed later in settings."
msgstr "La tua scelta verrà salvata, ma potrà essere modificata successivamente nelle impostazioni."
-#: src/screens/Onboarding/StepFollowingFeed.tsx:61
+#: src/screens/Onboarding/StepFollowingFeed.tsx:62
msgid "Your default feed is \"Following\""
msgstr "Il tuo feed predefinito è \"Following\""
-#: src/view/com/auth/create/state.ts:110
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:70
+#: src/screens/Login/ForgotPasswordForm.tsx:57
+#: src/screens/Signup/state.ts:227
#: src/view/com/modals/ChangePassword.tsx:54
msgid "Your email appears to be invalid."
msgstr "Your email appears to be invalid."
-#: src/view/com/modals/Waitlist.tsx:109
#~ msgid "Your email has been saved! We'll be in touch soon."
#~ msgstr "La tua email è stata salvata! Ci metteremo in contatto al più presto."
@@ -4750,199 +5992,46 @@ msgstr "La tua email non è stata ancora verificata. Ti consigliamo di fare ques
msgid "Your following feed is empty! Follow more users to see what's happening."
msgstr "Il tuo feed seguente è vuoto! Segui più utenti per vedere cosa sta succedendo."
-#: src/view/com/auth/create/Step2.tsx:83
+#: src/screens/Signup/StepHandle.tsx:73
msgid "Your full handle will be"
msgstr "Il tuo nome di utente completo sarà"
-#: src/view/com/modals/ChangeHandle.tsx:270
+#: src/view/com/modals/ChangeHandle.tsx:271
msgid "Your full handle will be <0>@{0}0>"
msgstr "Il tuo nome di utente completo sarà <0>@{0}0>"
-#~ msgid "Your hosting provider"
-#~ msgstr "El teu proveïdor d'allotjament"
-
-#: src/view/screens/Settings.tsx:NaN
-#: src/view/shell/Drawer.tsx:660
-#~ msgid "Your invite codes are hidden when logged in using an App Password"
-#~ msgstr "I tuoi codici di invito vengono celati quando accedi utilizzando una password per l'app"
-
-#: src/components/dialogs/MutedWords.tsx:221
-msgid "Your muted words"
-msgstr ""
-
-#: src/view/com/modals/ChangePassword.tsx:155
-msgid "Your password has been changed successfully!"
-msgstr "La tua password è stata modificata correttamente!"
-
-#: src/view/com/composer/Composer.tsx:274
-msgid "Your post has been published"
-msgstr "Il tuo post è stato pubblicato"
-
-#: src/screens/Onboarding/StepFinished.tsx:105
-#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:59
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:59
-msgid "Your posts, likes, and blocks are public. Mutes are private."
-msgstr "I tuoi post, i tuoi Mi piace e i tuoi blocchi sono pubblici. I conti silenziati sono privati."
-
-#: src/view/com/modals/SwitchAccount.tsx:84
-#: src/view/screens/Settings/index.tsx:118
-msgid "Your profile"
-msgstr "Il tuo profilo"
-
-#: src/view/com/composer/Composer.tsx:273
-msgid "Your reply has been published"
-msgstr "La tua risposta è stata pubblicata"
-
-#: src/view/com/auth/create/Step2.tsx:65
-msgid "Your user handle"
-msgstr "Il tuo handle utente"
-
-#~ msgid "{0, plural, one {# invite code available} other {# invite codes available}}"
-#~ msgstr "{0, plural, one {# codice d'invito disponibile} other {# codici d'inviti disponibili}}"
-
-#~ msgid "{0}"
-#~ msgstr "{0}"
-
-#~ msgid "{0} {purposeLabel} List"
-#~ msgstr "Lista {purposeLabel} {0}"
-
-#~ msgid "{invitesAvailable, plural, one {Invite codes: # available} other {Invite codes: # available}}"
-#~ msgstr "{invitesAvailable, plural, one {Codici d'invito: # available} other {Codici d'invito: # available}}"
-
-#~ msgid "{invitesAvailable} invite code available"
-#~ msgstr "{invitesAvailable} codice d'invito disponibile"
-
-#~ msgid "{invitesAvailable} invite codes available"
-#~ msgstr "{invitesAvailable} codici d'invito disponibili"
-
-#~ msgid "{message}"
-#~ msgstr "{message}"
-
-#~ msgid "App passwords"
-#~ msgstr "Passwords dell'app"
-
-#~ msgid "Appeal Decision"
-#~ msgstr "Decisión de apelación"
-
-#~ msgid "Bluesky.Social"
-#~ msgstr "Bluesky.Social"
-
-#~ msgid "Button disabled. Input custom domain to proceed."
-#~ msgstr "Pulsante disabilitato. Inserisci il dominio personalizzato per procedere."
-
-#~ msgid "Cancel add image alt text"
-#~ msgstr "Cancel·la afegir text a la imatge"
-
-#~ msgid "Change"
-#~ msgstr "Cambia"
-
-#~ msgid "Danger Zone"
-#~ msgstr "Zona di Pericolo"
-
-#~ msgid "Delete my account…"
-#~ msgstr "Cancella il mio account…"
-
-#~ msgid "Dev Server"
-#~ msgstr "Server di sviluppo"
-
-#~ msgid "Developer Tools"
-#~ msgstr "Strumenti per sviluppatori"
-
-#~ msgid "Discover new feeds"
-#~ msgstr "Scopri nuovi feeds"
-
-#~ msgid "Enter the address of your provider:"
-#~ msgstr "Inserisci l'indirizzo del tuo provider:"
-
-#~ msgid "following"
-#~ msgstr "following"
-
-#~ msgid "Hosting provider address"
-#~ msgstr "Indirizzo del fornitore di hosting"
-
-#~ msgid "Invite"
-#~ msgstr "Invita"
-
-#~ msgid "Invite codes: {invitesAvailable} available"
-#~ msgstr "Codici di invito: {invitesAvailable} disponibili"
-
-#~ msgid "liked your custom feed{0}"
-#~ msgstr "piace il feed personalizzato{0}"
-
-#~ msgid "Local dev server"
-#~ msgstr "Server di sviluppo locale"
-
-#~ msgid "Looks like this feed is only available to users with a Bluesky account. Please sign up or sign in to view this feed!"
-#~ msgstr "Sembra che questo feed sia disponibile solo per gli utenti con un account Bluesky. Per favore registrati o accedi per visualizzare questo feed!"
-
-#~ msgid "Message from server"
-#~ msgstr "Messaggio dal server"
-
-#~ msgid "New Post"
-#~ msgstr "Nuovo Post"
-
-#~ msgid "Opens invite code list"
-#~ msgstr "Apre la lista dei codici di invito"
-
-#~ msgid "Other service"
-#~ msgstr "Altro servizio"
-
-#~ msgid "Please tell us why you think this decision was incorrect."
-#~ msgstr "Per favore spiegaci perché ritieni che questa decisione sia stata sbagliata."
-
-#~ msgid "Post"
-#~ msgstr "Post"
-
-#~ msgid "Quote Post"
-#~ msgstr "Cita il post"
-
-#~ msgid "Reposted by"
-#~ msgstr "Repost di"
-
-#~ msgid "Reposted by {0})"
-#~ msgstr "Repost di {0})"
-
-#~ msgid "Select Bluesky Social"
-#~ msgstr "Seleziona Bluesky Social"
-
-#~ msgid "Send Email"
-#~ msgstr "Envia Email"
-
-#~ msgid "Something went wrong and we're not sure what."
-#~ msgstr "Qualcosa è andato storto ma non siamo sicuri di cosa."
-
-#~ msgid "Staging"
-#~ msgstr "Allestimento"
-
-#~ msgid "Swipe up to see more"
-#~ msgstr "Scorri verso l'alto per vedere di più"
-
-#~ msgid "The support form has been moved. If you need help, please<0/> or visit {HELP_DESK_URL} to get in touch with us."
-#~ msgstr "Il modulo di supporto è stato spostato. Se hai bisogno di aiuto, <0/> o visita {HELP_DESK_URL} per metterti in contatto con noi."
-
-#~ msgid "This {0} has been labeled."
-#~ msgstr "Questo {0} è stato etichettato."
-
-#~ msgid "This is the service that keeps you online."
-#~ msgstr "Questo è il servizio che ti mantiene online."
-
-#~ msgid "This user is included the <0/> list which you have muted."
-#~ msgstr "Questo utente è incluso nella lista <0/> che hai silenziato."
-
-#~ msgid "Try again"
-#~ msgstr "Provalo di nuovo"
-
-#~ msgid "Use your domain as your Bluesky client service provider"
-#~ msgstr "Utilizza il tuo dominio come provider di servizi clienti Bluesky"
-
-#~ msgid "What's next?"
-#~ msgstr "Qual è il prossimo?"
-
-#~ msgid "You can change hosting providers at any time."
-#~ msgstr "Puoi cambiare provider di hosting in qualsiasi momento."
-
#~ msgid "Your hosting provider"
#~ msgstr "Il tuo fornitore di hosting"
#~ msgid "Your invite codes are hidden when logged in using an App Password"
#~ msgstr "I tuoi codici di invito vengono celati quando accedi utilizzando una password per l'app"
+
+#: src/components/dialogs/MutedWords.tsx:220
+msgid "Your muted words"
+msgstr "Le tue parole silenziate"
+
+#: src/view/com/modals/ChangePassword.tsx:157
+msgid "Your password has been changed successfully!"
+msgstr "La tua password è stata modificata correttamente!"
+
+#: src/view/com/composer/Composer.tsx:284
+msgid "Your post has been published"
+msgstr "Il tuo post è stato pubblicato"
+
+#: src/screens/Onboarding/StepFinished.tsx:109
+#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:59
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:61
+msgid "Your posts, likes, and blocks are public. Mutes are private."
+msgstr "I tuoi post, i tuoi Mi piace e i tuoi blocchi sono pubblici. I conti silenziati sono privati."
+
+#: src/view/screens/Settings/index.tsx:136
+msgid "Your profile"
+msgstr "Il tuo profilo"
+
+#: src/view/com/composer/Composer.tsx:283
+msgid "Your reply has been published"
+msgstr "La tua risposta è stata pubblicata"
+
+#: src/screens/Signup/index.tsx:153
+msgid "Your user handle"
+msgstr "Il tuo handle utente"
diff --git a/src/locale/locales/ja/messages.po b/src/locale/locales/ja/messages.po
index 6c50bc9f21..48533e4c0e 100644
--- a/src/locale/locales/ja/messages.po
+++ b/src/locale/locales/ja/messages.po
@@ -1,6 +1,6 @@
msgid ""
msgstr ""
-"POT-Creation-Date: 2023-11-22 17:10-0800\n"
+"POT-Creation-Date: 2024-03-19 20:30-0700\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
@@ -8,9 +8,9 @@ msgstr ""
"Language: ja\n"
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2024-01-30 19:00+0900\n"
-"Last-Translator: Hima-Zinn\n"
-"Language-Team: Hima-Zinn, tkusano, dolciss, oboenikui, noritada, middlingphys\n"
+"PO-Revision-Date: 2024-04-05 22:07+0900\n"
+"Last-Translator: tkusano\n"
+"Language-Team: Hima-Zinn, tkusano, dolciss, oboenikui, noritada, middlingphys, hibiki, reindex-ot, haoyayoi, vyv03354\n"
"Plural-Forms: \n"
#: src/view/com/modals/VerifyEmail.tsx:142
@@ -30,9 +30,10 @@ msgstr "メールがありません"
#~ msgid "{0} {purposeLabel} List"
#~ msgstr "{0} {purposeLabel} リスト"
-#: src/view/com/profile/ProfileHeader.tsx:593
+#: src/components/ProfileHoverCard/index.web.tsx:323
+#: src/screens/Profile/Header/Metrics.tsx:44
msgid "{following} following"
-msgstr "{following}人をフォロー中"
+msgstr "{following} フォロー"
#: src/view/shell/desktop/RightNav.tsx:151
#~ msgid "{invitesAvailable, plural, one {Invite codes: # available} other {Invite codes: # available}}"
@@ -52,7 +53,7 @@ msgstr "{following}人をフォロー中"
#~ msgid "{message}"
#~ msgstr "{message}"
-#: src/view/shell/Drawer.tsx:440
+#: src/view/shell/Drawer.tsx:449
msgid "{numUnreadNotifications} unread"
msgstr "{numUnreadNotifications}件の未読"
@@ -64,15 +65,24 @@ msgstr "{numUnreadNotifications}件の未読"
msgid "<0/> members"
msgstr "<0/>のメンバー"
-#: src/view/com/profile/ProfileHeader.tsx:595
-msgid "<0>{following} 0><1>following1>"
-msgstr "<0>{following}0><1>人をフォロー中1>"
+#: src/view/shell/Drawer.tsx:97
+msgid "<0>{0}0> following"
+msgstr "<0>{0}0> フォロー"
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:30
+#: src/components/ProfileHoverCard/index.web.tsx:314
+msgid "<0>{followers} 0><1>{pluralizedFollowers}1>"
+msgstr ""
+
+#: src/components/ProfileHoverCard/index.web.tsx:326
+#: src/screens/Profile/Header/Metrics.tsx:45
+msgid "<0>{following} 0><1>following1>"
+msgstr "<0>{following} 0><1>フォロー1>"
+
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:31
msgid "<0>Choose your0><1>Recommended1><2>Feeds2>"
msgstr "<1>おすすめの1><2>フィード2><0>を選択0>"
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:37
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:38
msgid "<0>Follow some0><1>Recommended1><2>Users2>"
msgstr "<1>おすすめの1><2>ユーザー2><0>をフォロー0>"
@@ -80,51 +90,60 @@ msgstr "<1>おすすめの1><2>ユーザー2><0>をフォロー0>"
msgid "<0>Welcome to0><1>Bluesky1>"
msgstr "<1>Bluesky1><0>へようこそ0>"
-#: src/view/com/profile/ProfileHeader.tsx:558
+#: src/screens/Profile/Header/Handle.tsx:43
msgid "⚠Invalid Handle"
-msgstr "⚠不正なハンドル"
+msgstr "⚠無効なハンドル"
#: src/view/com/util/moderation/LabelInfo.tsx:45
-msgid "A content warning has been applied to this {0}."
-msgstr "この{0}にコンテンツの警告が適用されています。"
+#~ msgid "A content warning has been applied to this {0}."
+#~ msgstr "この{0}にコンテンツの警告が適用されています。"
#: src/lib/hooks/useOTAUpdate.ts:16
-msgid "A new version of the app is available. Please update to continue using the app."
-msgstr "新しいバージョンのアプリが利用可能です。継続して使用するためにはアップデートしてください。"
+#~ msgid "A new version of the app is available. Please update to continue using the app."
+#~ msgstr "新しいバージョンのアプリが利用可能です。継続して使用するためにはアップデートしてください。"
#: src/view/com/util/ViewHeader.tsx:89
-#: src/view/screens/Search/Search.tsx:647
+#: src/view/screens/Search/Search.tsx:796
msgid "Access navigation links and settings"
msgstr "ナビゲーションリンクと設定にアクセス"
-#: src/view/com/home/HomeHeaderLayoutMobile.tsx:52
+#: src/view/com/home/HomeHeaderLayoutMobile.tsx:54
msgid "Access profile and other navigation links"
msgstr "プロフィールと他のナビゲーションリンクにアクセス"
-#: src/view/com/modals/EditImage.tsx:299
-#: src/view/screens/Settings/index.tsx:451
+#: src/view/com/modals/EditImage.tsx:300
+#: src/view/screens/Settings/index.tsx:421
msgid "Accessibility"
msgstr "アクセシビリティ"
-#: src/view/com/auth/login/LoginForm.tsx:166
-#: src/view/screens/Settings/index.tsx:308
-#: src/view/screens/Settings/index.tsx:721
+#: src/components/moderation/LabelsOnMe.tsx:42
+msgid "account"
+msgstr "アカウント"
+
+#: src/screens/Login/LoginForm.tsx:144
+#: src/view/screens/Settings/index.tsx:330
+#: src/view/screens/Settings/index.tsx:707
msgid "Account"
msgstr "アカウント"
-#: src/view/com/profile/ProfileHeader.tsx:246
+#: src/view/com/profile/ProfileMenu.tsx:139
msgid "Account blocked"
msgstr "アカウントをブロックしました"
-#: src/view/com/profile/ProfileHeader.tsx:213
+#: src/view/com/profile/ProfileMenu.tsx:153
+msgid "Account followed"
+msgstr "アカウントをフォローしました"
+
+#: src/view/com/profile/ProfileMenu.tsx:113
msgid "Account muted"
msgstr "アカウントをミュートしました"
-#: src/view/com/modals/ModerationDetails.tsx:86
+#: src/components/moderation/ModerationDetailsDialog.tsx:93
+#: src/lib/moderation/useModerationCauseDescription.ts:91
msgid "Account Muted"
msgstr "ミュート中のアカウント"
-#: src/view/com/modals/ModerationDetails.tsx:72
+#: src/components/moderation/ModerationDetailsDialog.tsx:82
msgid "Account Muted by List"
msgstr "リストによってミュート中のアカウント"
@@ -136,19 +155,24 @@ msgstr "アカウントオプション"
msgid "Account removed from quick access"
msgstr "クイックアクセスからアカウントを解除"
-#: src/view/com/profile/ProfileHeader.tsx:268
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:137
+#: src/view/com/profile/ProfileMenu.tsx:128
msgid "Account unblocked"
msgstr "アカウントのブロックを解除しました"
-#: src/view/com/profile/ProfileHeader.tsx:226
+#: src/view/com/profile/ProfileMenu.tsx:166
+msgid "Account unfollowed"
+msgstr "アカウントのフォローを解除しました"
+
+#: src/view/com/profile/ProfileMenu.tsx:102
msgid "Account unmuted"
msgstr "アカウントのミュートを解除しました"
-#: src/components/dialogs/MutedWords.tsx:165
+#: src/components/dialogs/MutedWords.tsx:164
#: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:150
-#: src/view/com/modals/ListAddRemoveUsers.tsx:264
+#: src/view/com/modals/ListAddRemoveUsers.tsx:268
#: src/view/com/modals/UserAddRemoveLists.tsx:219
-#: src/view/screens/ProfileList.tsx:813
+#: src/view/screens/ProfileList.tsx:829
msgid "Add"
msgstr "追加"
@@ -156,62 +180,63 @@ msgstr "追加"
msgid "Add a content warning"
msgstr "コンテンツの警告を追加"
-#: src/view/screens/ProfileList.tsx:803
+#: src/view/screens/ProfileList.tsx:819
msgid "Add a user to this list"
msgstr "リストにユーザーを追加"
-#: src/view/screens/Settings/index.tsx:383
-#: src/view/screens/Settings/index.tsx:392
+#: src/components/dialogs/SwitchAccount.tsx:55
+#: src/view/screens/Settings/index.tsx:405
+#: src/view/screens/Settings/index.tsx:414
msgid "Add account"
msgstr "アカウントを追加"
#: src/view/com/composer/photos/Gallery.tsx:119
#: src/view/com/composer/photos/Gallery.tsx:180
-#: src/view/com/modals/AltImage.tsx:116
+#: src/view/com/modals/AltImage.tsx:117
msgid "Add alt text"
msgstr "ALTテキストを追加"
-#: src/view/screens/AppPasswords.tsx:102
-#: src/view/screens/AppPasswords.tsx:143
-#: src/view/screens/AppPasswords.tsx:156
+#: src/view/screens/AppPasswords.tsx:104
+#: src/view/screens/AppPasswords.tsx:145
+#: src/view/screens/AppPasswords.tsx:158
msgid "Add App Password"
msgstr "アプリパスワードを追加"
#: src/view/com/modals/report/InputIssueDetails.tsx:41
#: src/view/com/modals/report/Modal.tsx:191
-msgid "Add details"
-msgstr "詳細を追加"
+#~ msgid "Add details"
+#~ msgstr "詳細を追加"
#: src/view/com/modals/report/Modal.tsx:194
-msgid "Add details to report"
-msgstr "レポートに詳細を追加"
+#~ msgid "Add details to report"
+#~ msgstr "報告に詳細を追加"
-#: src/view/com/composer/Composer.tsx:453
+#: src/view/com/composer/Composer.tsx:467
msgid "Add link card"
msgstr "リンクカードを追加"
-#: src/view/com/composer/Composer.tsx:458
+#: src/view/com/composer/Composer.tsx:472
msgid "Add link card:"
msgstr "リンクカードを追加:"
-#: src/components/dialogs/MutedWords.tsx:158
+#: src/components/dialogs/MutedWords.tsx:157
msgid "Add mute word for configured settings"
-msgstr ""
+msgstr "ミュートするワードを設定に追加"
-#: src/components/dialogs/MutedWords.tsx:87
+#: src/components/dialogs/MutedWords.tsx:86
msgid "Add muted words and tags"
-msgstr ""
+msgstr "ミュートするワードとタグを追加"
-#: src/view/com/modals/ChangeHandle.tsx:417
+#: src/view/com/modals/ChangeHandle.tsx:416
msgid "Add the following DNS record to your domain:"
msgstr "次のDNSレコードをドメインに追加してください:"
-#: src/view/com/profile/ProfileHeader.tsx:310
+#: src/view/com/profile/ProfileMenu.tsx:263
+#: src/view/com/profile/ProfileMenu.tsx:266
msgid "Add to Lists"
msgstr "リストに追加"
-#: src/view/com/feeds/FeedSourceCard.tsx:245
-#: src/view/screens/ProfileFeed.tsx:273
+#: src/view/com/feeds/FeedSourceCard.tsx:234
msgid "Add to my feeds"
msgstr "マイフィードに追加"
@@ -224,40 +249,47 @@ msgstr "追加済み"
msgid "Added to list"
msgstr "リストに追加"
-#: src/view/com/feeds/FeedSourceCard.tsx:127
+#: src/view/com/feeds/FeedSourceCard.tsx:108
msgid "Added to my feeds"
msgstr "マイフィードに追加"
#: src/view/screens/PreferencesFollowingFeed.tsx:173
msgid "Adjust the number of likes a reply must have to be shown in your feed."
-msgstr "返信がフィードに表示されるために必要な「いいね」の数を調整します。"
+msgstr "返信がフィードに表示されるために必要ないいねの数を調整します。"
+#: src/lib/moderation/useGlobalLabelStrings.ts:34
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:117
#: src/view/com/modals/SelfLabel.tsx:75
msgid "Adult Content"
msgstr "成人向けコンテンツ"
#: src/view/com/modals/ContentFilteringSettings.tsx:141
-msgid "Adult content can only be enabled via the Web at <0/>."
-msgstr "成人向けコンテンツはウェブ(<0/>)からのみ有効化できます。"
+#~ msgid "Adult content can only be enabled via the Web at <0/>."
+#~ msgstr "成人向けコンテンツはウェブ(<0/>)からのみ有効化できます。"
#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:78
#~ msgid "Adult content can only be enabled via the Web at <0>bsky.app0>."
#~ msgstr "成人向けコンテンツはウェブ(<0>bsky.app0>)からのみ有効化できます。"
-#: src/view/screens/Settings/index.tsx:664
+#: src/components/moderation/LabelPreference.tsx:242
+msgid "Adult content is disabled."
+msgstr "成人向けコンテンツは無効になっています。"
+
+#: src/screens/Moderation/index.tsx:375
+#: src/view/screens/Settings/index.tsx:635
msgid "Advanced"
msgstr "高度な設定"
-#: src/view/screens/Feeds.tsx:666
+#: src/view/screens/Feeds.tsx:691
msgid "All the feeds you've saved, right in one place."
-msgstr ""
+msgstr "保存したすべてのフィードを1箇所にまとめます。"
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:221
-#: src/view/com/modals/ChangePassword.tsx:168
+#: src/screens/Login/ForgotPasswordForm.tsx:178
+#: src/view/com/modals/ChangePassword.tsx:170
msgid "Already have a code?"
msgstr "コードをすでに持っていますか?"
-#: src/view/com/auth/login/ChooseAccountForm.tsx:98
+#: src/screens/Login/ChooseAccountForm.tsx:39
msgid "Already signed in as @{0}"
msgstr "@{0}としてすでにサインイン済み"
@@ -265,7 +297,7 @@ msgstr "@{0}としてすでにサインイン済み"
msgid "ALT"
msgstr "ALT"
-#: src/view/com/modals/EditImage.tsx:315
+#: src/view/com/modals/EditImage.tsx:316
msgid "Alt text"
msgstr "ALTテキスト"
@@ -281,12 +313,20 @@ msgstr "メールが{0}に送信されました。以下に入力できる確認
msgid "An email has been sent to your previous address, {0}. It includes a confirmation code which you can enter below."
msgstr "以前のメールアドレス{0}にメールが送信されました。以下に入力できる確認コードがそのメールに記載されています。"
-#: src/view/com/profile/FollowButton.tsx:30
-#: src/view/com/profile/FollowButton.tsx:40
+#: src/lib/moderation/useReportOptions.ts:26
+msgid "An issue not included in these options"
+msgstr "ほかの選択肢にはあてはまらない問題"
+
+#: src/components/hooks/useFollowMethods.ts:35
+#: src/components/hooks/useFollowMethods.ts:50
+#: src/view/com/profile/FollowButton.tsx:35
+#: src/view/com/profile/FollowButton.tsx:45
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:188
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:198
msgid "An issue occurred, please try again."
msgstr "問題が発生しました。もう一度お試しください。"
-#: src/view/com/notifications/FeedItem.tsx:237
+#: src/view/com/notifications/FeedItem.tsx:242
#: src/view/com/threadgate/WhoCanReply.tsx:178
msgid "and"
msgstr "および"
@@ -295,23 +335,27 @@ msgstr "および"
msgid "Animals"
msgstr "動物"
+#: src/lib/moderation/useReportOptions.ts:31
+msgid "Anti-Social Behavior"
+msgstr "反社会的な行動"
+
#: src/view/screens/LanguageSettings.tsx:95
msgid "App Language"
msgstr "アプリの言語"
-#: src/view/screens/AppPasswords.tsx:228
+#: src/view/screens/AppPasswords.tsx:223
msgid "App password deleted"
msgstr "アプリパスワードを削除しました"
-#: src/view/com/modals/AddAppPasswords.tsx:134
+#: src/view/com/modals/AddAppPasswords.tsx:135
msgid "App Password names can only contain letters, numbers, spaces, dashes, and underscores."
msgstr "アプリパスワードの名前には、英数字、スペース、ハイフン、アンダースコアのみが使用可能です。"
-#: src/view/com/modals/AddAppPasswords.tsx:99
+#: src/view/com/modals/AddAppPasswords.tsx:100
msgid "App Password names must be at least 4 characters long."
-msgstr "アプリパスワードの名前は長さが4文字以上である必要があります。"
+msgstr "アプリパスワードの名前は長さが4文字以上である必要があります。"
-#: src/view/screens/Settings/index.tsx:675
+#: src/view/screens/Settings/index.tsx:646
msgid "App password settings"
msgstr "アプリパスワードの設定"
@@ -319,53 +363,69 @@ msgstr "アプリパスワードの設定"
#~ msgid "App passwords"
#~ msgstr "アプリパスワード"
-#: src/Navigation.tsx:239
-#: src/view/screens/AppPasswords.tsx:187
-#: src/view/screens/Settings/index.tsx:684
+#: src/Navigation.tsx:251
+#: src/view/screens/AppPasswords.tsx:189
+#: src/view/screens/Settings/index.tsx:655
msgid "App Passwords"
msgstr "アプリパスワード"
+#: src/components/moderation/LabelsOnMeDialog.tsx:133
+#: src/components/moderation/LabelsOnMeDialog.tsx:136
+msgid "Appeal"
+msgstr "異議を申し立てる"
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:201
+msgid "Appeal \"{0}\" label"
+msgstr "「{0}」のラベルに異議を申し立てる"
+
#: src/view/com/util/forms/PostDropdownBtn.tsx:337
#: src/view/com/util/forms/PostDropdownBtn.tsx:346
-msgid "Appeal content warning"
-msgstr "コンテンツの警告に異議を申し立てる"
+#~ msgid "Appeal content warning"
+#~ msgstr "コンテンツの警告に異議を申し立てる"
#: src/view/com/modals/AppealLabel.tsx:65
-msgid "Appeal Content Warning"
-msgstr "コンテンツの警告に異議を申し立てる"
+#~ msgid "Appeal Content Warning"
+#~ msgstr "コンテンツの警告に異議を申し立てる"
#: src/view/com/modals/AppealLabel.tsx:65
#~ msgid "Appeal Decision"
#~ msgstr "判断に異議を申し立てる"
+#: src/components/moderation/LabelsOnMeDialog.tsx:192
+msgid "Appeal submitted."
+msgstr "異議申し立てを提出しました。"
+
#: src/view/com/util/moderation/LabelInfo.tsx:52
-msgid "Appeal this decision"
-msgstr "この判断に異議を申し立てる"
+#~ msgid "Appeal this decision"
+#~ msgstr "この判断に異議を申し立てる"
#: src/view/com/util/moderation/LabelInfo.tsx:56
-msgid "Appeal this decision."
-msgstr "この判断に異議を申し立てる"
+#~ msgid "Appeal this decision."
+#~ msgstr "この判断に異議を申し立てる"
-#: src/view/screens/Settings/index.tsx:466
+#: src/view/screens/Settings/index.tsx:436
msgid "Appearance"
msgstr "背景"
-#: src/view/screens/AppPasswords.tsx:224
+#: src/view/screens/AppPasswords.tsx:265
msgid "Are you sure you want to delete the app password \"{name}\"?"
msgstr "アプリパスワード「{name}」を本当に削除しますか?"
-#: src/view/com/composer/Composer.tsx:150
+#: src/view/com/feeds/FeedSourceCard.tsx:280
+msgid "Are you sure you want to remove {0} from your feeds?"
+msgstr "あなたのフィードから{0}を削除してもよろしいですか?"
+
+#: src/view/com/composer/Composer.tsx:509
msgid "Are you sure you'd like to discard this draft?"
msgstr "本当にこの下書きを破棄しますか?"
-#: src/components/dialogs/MutedWords.tsx:282
-#: src/view/screens/ProfileList.tsx:365
+#: src/components/dialogs/MutedWords.tsx:281
msgid "Are you sure?"
msgstr "本当によろしいですか?"
#: src/view/com/util/forms/PostDropdownBtn.tsx:322
-msgid "Are you sure? This cannot be undone."
-msgstr "本当によろしいですか?これは元に戻せません。"
+#~ msgid "Are you sure? This cannot be undone."
+#~ msgstr "本当によろしいですか?これは元に戻せません。"
#: src/view/com/composer/select-language/SuggestedLanguage.tsx:60
msgid "Are you writing in <0>{0}0>?"
@@ -379,120 +439,141 @@ msgstr "アート"
msgid "Artistic or non-erotic nudity."
msgstr "芸術的または性的ではないヌード。"
-#: src/view/com/auth/create/CreateAccount.tsx:158
-#: src/view/com/auth/login/ChooseAccountForm.tsx:151
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:174
-#: src/view/com/auth/login/LoginForm.tsx:259
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:179
-#: src/view/com/modals/report/InputIssueDetails.tsx:46
-#: src/view/com/post-thread/PostThread.tsx:472
-#: src/view/com/post-thread/PostThread.tsx:522
-#: src/view/com/post-thread/PostThread.tsx:530
-#: src/view/com/profile/ProfileHeader.tsx:649
+#: src/screens/Signup/StepHandle.tsx:119
+msgid "At least 3 characters"
+msgstr "少なくとも3文字"
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:246
+#: src/components/moderation/LabelsOnMeDialog.tsx:247
+#: src/screens/Login/ChooseAccountForm.tsx:73
+#: src/screens/Login/ChooseAccountForm.tsx:78
+#: src/screens/Login/ForgotPasswordForm.tsx:129
+#: src/screens/Login/ForgotPasswordForm.tsx:135
+#: src/screens/Login/LoginForm.tsx:221
+#: src/screens/Login/LoginForm.tsx:227
+#: src/screens/Login/SetNewPasswordForm.tsx:160
+#: src/screens/Login/SetNewPasswordForm.tsx:166
+#: src/screens/Profile/Header/Shell.tsx:96
+#: src/screens/Signup/index.tsx:180
#: src/view/com/util/ViewHeader.tsx:87
msgid "Back"
msgstr "戻る"
#: src/view/com/post-thread/PostThread.tsx:480
-msgctxt "action"
-msgid "Back"
-msgstr "戻る"
+#~ msgctxt "action"
+#~ msgid "Back"
+#~ msgstr "戻る"
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:136
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:144
msgid "Based on your interest in {interestsText}"
-msgstr "「{interestsText}」への興味に基づいたおすすめです。"
+msgstr "{interestsText}への興味に基づいたおすすめ"
-#: src/view/screens/Settings/index.tsx:523
+#: src/view/screens/Settings/index.tsx:493
msgid "Basics"
msgstr "基本"
-#: src/view/com/auth/create/Step1.tsx:227
-#: src/view/com/modals/BirthDateSettings.tsx:73
+#: src/components/dialogs/BirthDateSettings.tsx:107
msgid "Birthday"
-msgstr "誕生日"
+msgstr "生年月日"
-#: src/view/screens/Settings/index.tsx:340
+#: src/view/screens/Settings/index.tsx:362
msgid "Birthday:"
-msgstr "誕生日:"
+msgstr "生年月日:"
-#: src/view/com/profile/ProfileHeader.tsx:239
-#: src/view/com/profile/ProfileHeader.tsx:346
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:286
+#: src/view/com/profile/ProfileMenu.tsx:361
+msgid "Block"
+msgstr "ブロック"
+
+#: src/view/com/profile/ProfileMenu.tsx:300
+#: src/view/com/profile/ProfileMenu.tsx:307
msgid "Block Account"
msgstr "アカウントをブロック"
-#: src/view/screens/ProfileList.tsx:556
+#: src/view/com/profile/ProfileMenu.tsx:344
+msgid "Block Account?"
+msgstr "アカウントをブロックしますか?"
+
+#: src/view/screens/ProfileList.tsx:532
msgid "Block accounts"
msgstr "アカウントをブロック"
-#: src/view/screens/ProfileList.tsx:506
+#: src/view/screens/ProfileList.tsx:480
+#: src/view/screens/ProfileList.tsx:636
msgid "Block list"
msgstr "リストをブロック"
-#: src/view/screens/ProfileList.tsx:316
+#: src/view/screens/ProfileList.tsx:631
msgid "Block these accounts?"
msgstr "これらのアカウントをブロックしますか?"
#: src/view/screens/ProfileList.tsx:320
-msgid "Block this List"
-msgstr "このリストをブロック"
+#~ msgid "Block this List"
+#~ msgstr "このリストをブロック"
#: src/view/com/lists/ListCard.tsx:110
-#: src/view/com/util/post-embeds/QuoteEmbed.tsx:61
+#: src/view/com/util/post-embeds/QuoteEmbed.tsx:58
msgid "Blocked"
msgstr "ブロックされています"
-#: src/view/screens/Moderation.tsx:142
+#: src/screens/Moderation/index.tsx:267
msgid "Blocked accounts"
msgstr "ブロック中のアカウント"
-#: src/Navigation.tsx:132
-#: src/view/screens/ModerationBlockedAccounts.tsx:107
+#: src/Navigation.tsx:134
+#: src/view/screens/ModerationBlockedAccounts.tsx:113
msgid "Blocked Accounts"
msgstr "ブロック中のアカウント"
-#: src/view/com/profile/ProfileHeader.tsx:241
+#: src/view/com/profile/ProfileMenu.tsx:356
msgid "Blocked accounts cannot reply in your threads, mention you, or otherwise interact with you."
msgstr "ブロック中のアカウントは、あなたのスレッドでの返信、あなたへのメンション、その他の方法であなたとやり取りすることはできません。"
-#: src/view/screens/ModerationBlockedAccounts.tsx:115
+#: src/view/screens/ModerationBlockedAccounts.tsx:121
msgid "Blocked accounts cannot reply in your threads, mention you, or otherwise interact with you. You will not see their content and they will be prevented from seeing yours."
msgstr "ブロック中のアカウントは、あなたのスレッドでの返信、あなたへのメンション、その他の方法であなたとやり取りすることはできません。あなたは相手のコンテンツを見ることができず、相手はあなたのコンテンツを見ることができなくなります。"
-#: src/view/com/post-thread/PostThread.tsx:324
+#: src/view/com/post-thread/PostThread.tsx:313
msgid "Blocked post."
msgstr "投稿をブロックしました。"
-#: src/view/screens/ProfileList.tsx:318
+#: src/screens/Profile/Sections/Labels.tsx:163
+msgid "Blocking does not prevent this labeler from placing labels on your account."
+msgstr "ブロックしてもこのラベラーがあなたのアカウントにラベルを貼ることができます。"
+
+#: src/view/screens/ProfileList.tsx:633
msgid "Blocking is public. Blocked accounts cannot reply in your threads, mention you, or otherwise interact with you."
msgstr "ブロックしたことは公開されます。ブロック中のアカウントは、あなたのスレッドでの返信、あなたへのメンション、その他の方法であなたとやり取りすることはできません。"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:93
-#: src/view/com/auth/SplashScreen.web.tsx:133
+#: src/view/com/profile/ProfileMenu.tsx:353
+msgid "Blocking will not prevent labels from being applied on your account, but it will stop this account from replying in your threads or interacting with you."
+msgstr "ブロックしてもこのラベラーがあなたのアカウントにラベルを貼ることができますが、このアカウントがあなたのスレッドに返信したり、やりとりをしたりといったことはできなくなります。"
+
+#: src/view/com/auth/SplashScreen.web.tsx:149
msgid "Blog"
msgstr "ブログ"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:31
#: src/view/com/auth/server-input/index.tsx:89
-#: src/view/com/auth/server-input/index.tsx:90
+#: src/view/com/auth/server-input/index.tsx:91
msgid "Bluesky"
msgstr "Bluesky"
-#: src/view/com/auth/server-input/index.tsx:150
+#: src/view/com/auth/server-input/index.tsx:154
msgid "Bluesky is an open network where you can choose your hosting provider. Custom hosting is now available in beta for developers."
-msgstr "Bluesky は、ホスティング プロバイダーを選択できるオープン ネットワークです。 カスタム ホスティングは、開発者向けのベータ版で利用できるようになりました。"
+msgstr "Bluesky は、ホスティング プロバイダーを選択できるオープン ネットワークです。 カスタムホスティングは、開発者向けのベータ版で利用できるようになりました。"
#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:80
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:80
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:82
msgid "Bluesky is flexible."
msgstr "Blueskyは柔軟です。"
#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:69
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:69
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:71
msgid "Bluesky is open."
msgstr "Blueskyは開かれています。"
#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:56
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:56
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:58
msgid "Bluesky is public."
msgstr "Blueskyはパブリックです。"
@@ -500,7 +581,7 @@ msgstr "Blueskyはパブリックです。"
#~ msgid "Bluesky uses invites to build a healthier community. If you don't know anybody with an invite, you can sign up for the waitlist and we'll send one soon."
#~ msgstr "Blueskyはより健全なコミュニティーを構築するために招待状を使用します。招待状をお持ちでない場合、Waitlistにお申し込みいただくと招待状をお送りします。"
-#: src/view/screens/Moderation.tsx:245
+#: src/screens/Moderation/index.tsx:533
msgid "Bluesky will not show your profile and posts to logged-out users. Other apps may not honor this request. This does not make your account private."
msgstr "Blueskyはログアウトしたユーザーにあなたのプロフィールや投稿を表示しません。他のアプリはこのリクエストに応じない場合があります。この設定はあなたのアカウントを非公開にするものではありません。"
@@ -508,16 +589,23 @@ msgstr "Blueskyはログアウトしたユーザーにあなたのプロフィ
#~ msgid "Bluesky.Social"
#~ msgstr "Bluesky.Social"
+#: src/lib/moderation/useLabelBehaviorDescription.ts:53
+msgid "Blur images"
+msgstr "画像をぼかす"
+
+#: src/lib/moderation/useLabelBehaviorDescription.ts:51
+msgid "Blur images and filter from feeds"
+msgstr "画像のぼかしとフィードからのフィルタリング"
+
#: src/screens/Onboarding/index.tsx:33
msgid "Books"
msgstr "書籍"
-#: src/view/screens/Settings/index.tsx:859
-msgid "Build version {0} {1}"
-msgstr "ビルドバージョン {0} {1}"
+#: src/view/screens/Settings/index.tsx:893
+#~ msgid "Build version {0} {1}"
+#~ msgstr "ビルドバージョン {0} {1}"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:87
-#: src/view/com/auth/SplashScreen.web.tsx:128
+#: src/view/com/auth/SplashScreen.web.tsx:146
msgid "Business"
msgstr "ビジネス"
@@ -533,55 +621,66 @@ msgstr "作成者:-"
msgid "by {0}"
msgstr "作成者:{0}"
+#: src/components/LabelingServiceCard/index.tsx:57
+msgid "By {0}"
+msgstr "作成者:{0}"
+
#: src/view/com/profile/ProfileSubpageHeader.tsx:161
msgid "by <0/>"
msgstr "作成者:<0/>"
+#: src/screens/Signup/StepInfo/Policies.tsx:74
+msgid "By creating an account you agree to the {els}."
+msgstr "アカウントを作成することで、{els}に同意したものとみなされます。"
+
#: src/view/com/profile/ProfileSubpageHeader.tsx:159
msgid "by you"
msgstr "作成者:あなた"
-#: src/view/com/composer/photos/OpenCameraBtn.tsx:60
-#: src/view/com/util/UserAvatar.tsx:224
-#: src/view/com/util/UserBanner.tsx:40
+#: src/view/com/composer/photos/OpenCameraBtn.tsx:77
msgid "Camera"
msgstr "カメラ"
-#: src/view/com/modals/AddAppPasswords.tsx:216
+#: src/view/com/modals/AddAppPasswords.tsx:217
msgid "Can only contain letters, numbers, spaces, dashes, and underscores. Must be at least 4 characters long, but no more than 32 characters long."
-msgstr "英数字、スペース、ハイフン、アンダースコアのみが使用可能です。長さは4文字以上32文字以下である必要があります。"
+msgstr "英数字、スペース、ハイフン、アンダースコアのみが使用可能です。長さは4文字以上32文字以下である必要があります。"
-#: src/components/Prompt.tsx:101
-#: src/view/com/composer/Composer.tsx:307
-#: src/view/com/composer/Composer.tsx:312
+#: src/components/Menu/index.tsx:213
+#: src/components/Prompt.tsx:113
+#: src/components/Prompt.tsx:115
+#: src/components/TagMenu/index.tsx:268
+#: src/view/com/composer/Composer.tsx:317
+#: src/view/com/composer/Composer.tsx:322
#: src/view/com/modals/ChangeEmail.tsx:218
#: src/view/com/modals/ChangeEmail.tsx:220
-#: src/view/com/modals/ChangePassword.tsx:265
-#: src/view/com/modals/ChangePassword.tsx:268
-#: src/view/com/modals/CreateOrEditList.tsx:355
-#: src/view/com/modals/EditImage.tsx:323
-#: src/view/com/modals/EditProfile.tsx:249
+#: src/view/com/modals/ChangeHandle.tsx:154
+#: src/view/com/modals/ChangePassword.tsx:267
+#: src/view/com/modals/ChangePassword.tsx:270
+#: src/view/com/modals/CreateOrEditList.tsx:356
+#: src/view/com/modals/crop-image/CropImage.web.tsx:138
+#: src/view/com/modals/EditImage.tsx:324
+#: src/view/com/modals/EditProfile.tsx:250
#: src/view/com/modals/InAppBrowserConsent.tsx:78
-#: src/view/com/modals/LinkWarning.tsx:87
-#: src/view/com/modals/Repost.tsx:87
+#: src/view/com/modals/InAppBrowserConsent.tsx:80
+#: src/view/com/modals/LinkWarning.tsx:105
+#: src/view/com/modals/LinkWarning.tsx:107
+#: src/view/com/modals/Repost.tsx:88
#: src/view/com/modals/VerifyEmail.tsx:247
#: src/view/com/modals/VerifyEmail.tsx:253
-#: src/view/screens/Search/Search.tsx:716
-#: src/view/shell/desktop/Search.tsx:238
+#: src/view/screens/Search/Search.tsx:865
+#: src/view/shell/desktop/Search.tsx:239
msgid "Cancel"
msgstr "キャンセル"
-#: src/view/com/modals/Confirm.tsx:88
-#: src/view/com/modals/Confirm.tsx:91
-#: src/view/com/modals/CreateOrEditList.tsx:360
-#: src/view/com/modals/DeleteAccount.tsx:156
-#: src/view/com/modals/DeleteAccount.tsx:234
+#: src/view/com/modals/CreateOrEditList.tsx:361
+#: src/view/com/modals/DeleteAccount.tsx:155
+#: src/view/com/modals/DeleteAccount.tsx:233
msgctxt "action"
msgid "Cancel"
msgstr "キャンセル"
-#: src/view/com/modals/DeleteAccount.tsx:152
-#: src/view/com/modals/DeleteAccount.tsx:230
+#: src/view/com/modals/DeleteAccount.tsx:151
+#: src/view/com/modals/DeleteAccount.tsx:229
msgid "Cancel account deletion"
msgstr "アカウントの削除をキャンセル"
@@ -589,24 +688,24 @@ msgstr "アカウントの削除をキャンセル"
#~ msgid "Cancel add image alt text"
#~ msgstr "画像のALTテキストの追加をキャンセル"
-#: src/view/com/modals/ChangeHandle.tsx:149
+#: src/view/com/modals/ChangeHandle.tsx:150
msgid "Cancel change handle"
msgstr "ハンドルの変更をキャンセル"
-#: src/view/com/modals/crop-image/CropImage.web.tsx:134
+#: src/view/com/modals/crop-image/CropImage.web.tsx:135
msgid "Cancel image crop"
msgstr "画像の切り抜きをキャンセル"
-#: src/view/com/modals/EditProfile.tsx:244
+#: src/view/com/modals/EditProfile.tsx:245
msgid "Cancel profile editing"
msgstr "プロフィールの編集をキャンセル"
-#: src/view/com/modals/Repost.tsx:78
+#: src/view/com/modals/Repost.tsx:79
msgid "Cancel quote post"
msgstr "引用をキャンセル"
#: src/view/com/modals/ListAddRemoveUsers.tsx:87
-#: src/view/shell/desktop/Search.tsx:234
+#: src/view/shell/desktop/Search.tsx:235
msgid "Cancel search"
msgstr "検索をキャンセル"
@@ -614,21 +713,25 @@ msgstr "検索をキャンセル"
#~ msgid "Cancel waitlist signup"
#~ msgstr "Waitlistの登録をキャンセル"
-#: src/view/screens/Settings/index.tsx:334
+#: src/view/com/modals/LinkWarning.tsx:106
+msgid "Cancels opening the linked website"
+msgstr "リンク先のウェブサイトを開くことをキャンセル"
+
+#: src/view/com/modals/VerifyEmail.tsx:152
+msgid "Change"
+msgstr "変更"
+
+#: src/view/screens/Settings/index.tsx:356
msgctxt "action"
msgid "Change"
msgstr "変更"
-#: src/view/screens/Settings.tsx:306
-#~ msgid "Change"
-#~ msgstr "変更"
-
-#: src/view/screens/Settings/index.tsx:696
+#: src/view/screens/Settings/index.tsx:667
msgid "Change handle"
msgstr "ハンドルを変更"
-#: src/view/com/modals/ChangeHandle.tsx:161
-#: src/view/screens/Settings/index.tsx:705
+#: src/view/com/modals/ChangeHandle.tsx:162
+#: src/view/screens/Settings/index.tsx:678
msgid "Change Handle"
msgstr "ハンドルを変更"
@@ -636,11 +739,12 @@ msgstr "ハンドルを変更"
msgid "Change my email"
msgstr "メールアドレスを変更"
-#: src/view/screens/Settings/index.tsx:732
+#: src/view/screens/Settings/index.tsx:718
msgid "Change password"
msgstr "パスワードを変更"
-#: src/view/screens/Settings/index.tsx:741
+#: src/view/com/modals/ChangePassword.tsx:141
+#: src/view/screens/Settings/index.tsx:729
msgid "Change Password"
msgstr "パスワードを変更"
@@ -649,8 +753,8 @@ msgid "Change post language to {0}"
msgstr "投稿の言語を{0}に変更します"
#: src/view/screens/Settings/index.tsx:733
-msgid "Change your Bluesky password"
-msgstr "Blueskyのパスワードを変更"
+#~ msgid "Change your Bluesky password"
+#~ msgstr "Blueskyのパスワードを変更"
#: src/view/com/modals/ChangeEmail.tsx:109
msgid "Change Your Email"
@@ -661,15 +765,15 @@ msgstr "メールアドレスを変更"
msgid "Check my status"
msgstr "ステータスを確認"
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:121
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:122
msgid "Check out some recommended feeds. Tap + to add them to your list of pinned feeds."
msgstr "おすすめのフィードを確認してください。「+」をタップするとピン留めしたフィードのリストに追加されます。"
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:185
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:186
msgid "Check out some recommended users. Follow them to see similar users."
msgstr "おすすめのユーザーを確認してください。フォローすることであなたに合ったユーザーが見つかるかもしれません。"
-#: src/view/com/modals/DeleteAccount.tsx:169
+#: src/view/com/modals/DeleteAccount.tsx:168
msgid "Check your inbox for an email with the confirmation code to enter below:"
msgstr "入力したメールアドレスの受信トレイを確認して、以下に入力するための確認コードが記載されたメールが届いていないか確認してください:"
@@ -678,19 +782,19 @@ msgid "Choose \"Everybody\" or \"Nobody\""
msgstr "「全員」か「返信不可」のどちらかを選択"
#: src/view/screens/Settings/index.tsx:697
-msgid "Choose a new Bluesky username or create"
-msgstr "Blueskyの別のユーザー名を選択するか、新規に作成します"
+#~ msgid "Choose a new Bluesky username or create"
+#~ msgstr "Blueskyの別のユーザー名を選択するか、新規作成します"
#: src/view/com/auth/server-input/index.tsx:79
msgid "Choose Service"
msgstr "サービスを選択"
-#: src/screens/Onboarding/StepFinished.tsx:135
+#: src/screens/Onboarding/StepFinished.tsx:139
msgid "Choose the algorithms that power your custom feeds."
msgstr "カスタムフィードのアルゴリズムを選択できます。"
#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:83
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:83
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:85
msgid "Choose the algorithms that power your experience with custom feeds."
msgstr "カスタムフィードを使用してあなたの体験を強化するアルゴリズムを選択します。"
@@ -698,104 +802,111 @@ msgstr "カスタムフィードを使用してあなたの体験を強化する
#~ msgid "Choose your algorithmic feeds"
#~ msgstr "フィードのアルゴリズムを選択"
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:103
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:104
msgid "Choose your main feeds"
msgstr "メインのフィードを選択"
-#: src/view/com/auth/create/Step1.tsx:196
+#: src/screens/Signup/StepInfo/index.tsx:114
msgid "Choose your password"
msgstr "パスワードを入力"
-#: src/view/screens/Settings/index.tsx:834
-#: src/view/screens/Settings/index.tsx:835
+#: src/view/screens/Settings/index.tsx:832
msgid "Clear all legacy storage data"
msgstr "レガシーストレージデータをすべてクリア"
-#: src/view/screens/Settings/index.tsx:837
+#: src/view/screens/Settings/index.tsx:835
msgid "Clear all legacy storage data (restart after this)"
-msgstr "すべてのレガシーストレージデータをクリア(この後再起動します)"
+msgstr "すべてのレガシーストレージデータをクリア(このあと再起動します)"
-#: src/view/screens/Settings/index.tsx:846
-#: src/view/screens/Settings/index.tsx:847
+#: src/view/screens/Settings/index.tsx:844
msgid "Clear all storage data"
msgstr "すべてのストレージデータをクリア"
-#: src/view/screens/Settings/index.tsx:849
+#: src/view/screens/Settings/index.tsx:847
msgid "Clear all storage data (restart after this)"
-msgstr "すべてのストレージデータをクリア(この後再起動します)"
+msgstr "すべてのストレージデータをクリア(このあと再起動します)"
#: src/view/com/util/forms/SearchInput.tsx:88
-#: src/view/screens/Search/Search.tsx:697
+#: src/view/screens/Search/Search.tsx:846
msgid "Clear search query"
msgstr "検索クエリをクリア"
+#: src/view/screens/Settings/index.tsx:833
+msgid "Clears all legacy storage data"
+msgstr "すべてのレガシーストレージデータをクリア"
+
+#: src/view/screens/Settings/index.tsx:845
+msgid "Clears all storage data"
+msgstr "すべてのストレージデータをクリア"
+
#: src/view/screens/Support.tsx:40
msgid "click here"
msgstr "こちらをクリック"
#: src/components/TagMenu/index.web.tsx:138
msgid "Click here to open tag menu for {tag}"
-msgstr ""
+msgstr "{tag}のタグメニューをクリックして表示"
-#: src/components/RichText.tsx:191
+#: src/components/RichText.tsx:198
msgid "Click here to open tag menu for #{tag}"
-msgstr ""
+msgstr "#{tag}のタグメニューをクリックして表示"
#: src/screens/Onboarding/index.tsx:35
msgid "Climate"
msgstr "気象"
-#: src/view/com/modals/ChangePassword.tsx:265
-#: src/view/com/modals/ChangePassword.tsx:268
+#: src/view/com/modals/ChangePassword.tsx:267
+#: src/view/com/modals/ChangePassword.tsx:270
msgid "Close"
msgstr "閉じる"
-#: src/components/Dialog/index.web.tsx:84
-#: src/components/Dialog/index.web.tsx:198
+#: src/components/Dialog/index.web.tsx:106
+#: src/components/Dialog/index.web.tsx:218
msgid "Close active dialog"
msgstr "アクティブなダイアログを閉じる"
-#: src/view/com/auth/login/PasswordUpdatedForm.tsx:38
+#: src/screens/Login/PasswordUpdatedForm.tsx:38
msgid "Close alert"
msgstr "アラートを閉じる"
-#: src/view/com/util/BottomSheetCustomBackdrop.tsx:33
+#: src/view/com/util/BottomSheetCustomBackdrop.tsx:36
msgid "Close bottom drawer"
msgstr "一番下の引き出しを閉じる"
-#: src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx:26
+#: src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx:36
msgid "Close image"
msgstr "画像を閉じる"
-#: src/view/com/lightbox/Lightbox.web.tsx:119
+#: src/view/com/lightbox/Lightbox.web.tsx:129
msgid "Close image viewer"
msgstr "画像ビューアを閉じる"
-#: src/view/shell/index.web.tsx:51
+#: src/view/shell/index.web.tsx:57
msgid "Close navigation footer"
msgstr "ナビゲーションフッターを閉じる"
+#: src/components/Menu/index.tsx:207
#: src/components/TagMenu/index.tsx:262
msgid "Close this dialog"
-msgstr ""
+msgstr "このダイアログを閉じる"
-#: src/view/shell/index.web.tsx:52
+#: src/view/shell/index.web.tsx:58
msgid "Closes bottom navigation bar"
msgstr "下部のナビゲーションバーを閉じる"
-#: src/view/com/auth/login/PasswordUpdatedForm.tsx:39
+#: src/screens/Login/PasswordUpdatedForm.tsx:39
msgid "Closes password update alert"
msgstr "パスワード更新アラートを閉じる"
-#: src/view/com/composer/Composer.tsx:309
+#: src/view/com/composer/Composer.tsx:319
msgid "Closes post composer and discards post draft"
-msgstr "投稿の編集画面を閉じ、下書きを削除する"
+msgstr "投稿の編集画面を閉じて下書きを削除する"
-#: src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx:27
+#: src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx:37
msgid "Closes viewer for header image"
msgstr "ヘッダー画像のビューワーを閉じる"
-#: src/view/com/notifications/FeedItem.tsx:318
+#: src/view/com/notifications/FeedItem.tsx:323
msgid "Collapses list of users for a given notification"
msgstr "指定した通知のユーザーリストを折りたたむ"
@@ -807,20 +918,20 @@ msgstr "コメディー"
msgid "Comics"
msgstr "漫画"
-#: src/Navigation.tsx:229
+#: src/Navigation.tsx:241
#: src/view/screens/CommunityGuidelines.tsx:32
msgid "Community Guidelines"
msgstr "コミュニティーガイドライン"
-#: src/screens/Onboarding/StepFinished.tsx:148
+#: src/screens/Onboarding/StepFinished.tsx:152
msgid "Complete onboarding and start using your account"
msgstr "初期設定を完了してアカウントを使い始める"
-#: src/view/com/auth/create/Step3.tsx:73
+#: src/screens/Signup/index.tsx:155
msgid "Complete the challenge"
-msgstr ""
+msgstr "テストをクリアしてください"
-#: src/view/com/composer/Composer.tsx:424
+#: src/view/com/composer/Composer.tsx:438
msgid "Compose posts up to {MAX_GRAPHEME_LENGTH} characters in length"
msgstr "{MAX_GRAPHEME_LENGTH}文字までの投稿を作成"
@@ -828,12 +939,20 @@ msgstr "{MAX_GRAPHEME_LENGTH}文字までの投稿を作成"
msgid "Compose reply"
msgstr "返信を作成"
-#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:67
+#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:81
msgid "Configure content filtering setting for category: {0}"
-msgstr "このカテゴリのコンテンツフィルタリングを設定: {0}"
+msgstr "このカテゴリのコンテンツフィルタリングを設定:{0}"
-#: src/components/Prompt.tsx:124
-#: src/view/com/modals/AppealLabel.tsx:98
+#: src/components/moderation/LabelPreference.tsx:81
+msgid "Configure content filtering setting for category: {name}"
+msgstr "このカテゴリのコンテンツフィルタリングを設定:{name}"
+
+#: src/components/moderation/LabelPreference.tsx:244
+msgid "Configured in <0>moderation settings0>."
+msgstr "<0>モデレーションの設定0>で設定されています。"
+
+#: src/components/Prompt.tsx:153
+#: src/components/Prompt.tsx:156
#: src/view/com/modals/SelfLabel.tsx:154
#: src/view/com/modals/VerifyEmail.tsx:231
#: src/view/com/modals/VerifyEmail.tsx:233
@@ -844,29 +963,38 @@ msgstr "確認"
#: src/view/com/modals/Confirm.tsx:75
#: src/view/com/modals/Confirm.tsx:78
-msgctxt "action"
-msgid "Confirm"
-msgstr "確認"
+#~ msgctxt "action"
+#~ msgid "Confirm"
+#~ msgstr "確認"
#: src/view/com/modals/ChangeEmail.tsx:193
#: src/view/com/modals/ChangeEmail.tsx:195
msgid "Confirm Change"
msgstr "変更を確認"
-#: src/view/com/modals/lang-settings/ConfirmLanguagesButton.tsx:34
+#: src/view/com/modals/lang-settings/ConfirmLanguagesButton.tsx:35
msgid "Confirm content language settings"
msgstr "コンテンツの言語設定を確認"
-#: src/view/com/modals/DeleteAccount.tsx:220
+#: src/view/com/modals/DeleteAccount.tsx:219
msgid "Confirm delete account"
msgstr "アカウントの削除を確認"
#: src/view/com/modals/ContentFilteringSettings.tsx:156
-msgid "Confirm your age to enable adult content."
-msgstr "成人向けコンテンツを有効にするために年齢を確認してください。"
+#~ msgid "Confirm your age to enable adult content."
+#~ msgstr "成人向けコンテンツを有効にするために年齢を確認してください。"
+
+#: src/screens/Moderation/index.tsx:301
+msgid "Confirm your age:"
+msgstr "年齢の確認:"
+
+#: src/screens/Moderation/index.tsx:292
+msgid "Confirm your birthdate"
+msgstr "生年月日の確認"
#: src/view/com/modals/ChangeEmail.tsx:157
-#: src/view/com/modals/DeleteAccount.tsx:182
+#: src/view/com/modals/DeleteAccount.tsx:175
+#: src/view/com/modals/DeleteAccount.tsx:181
#: src/view/com/modals/VerifyEmail.tsx:165
msgid "Confirmation code"
msgstr "確認コード"
@@ -875,34 +1003,48 @@ msgstr "確認コード"
#~ msgid "Confirms signing up {email} to the waitlist"
#~ msgstr "{email}のWaitlistへの登録を確認"
-#: src/view/com/auth/create/CreateAccount.tsx:193
-#: src/view/com/auth/login/LoginForm.tsx:278
+#: src/screens/Login/LoginForm.tsx:248
msgid "Connecting..."
msgstr "接続中..."
-#: src/view/com/auth/create/CreateAccount.tsx:213
+#: src/screens/Signup/index.tsx:225
msgid "Contact support"
msgstr "サポートに連絡"
+#: src/components/moderation/LabelsOnMe.tsx:42
+msgid "content"
+msgstr "コンテンツ"
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:18
+msgid "Content Blocked"
+msgstr "ブロックされたコンテンツ"
+
#: src/view/screens/Moderation.tsx:83
-msgid "Content filtering"
-msgstr "コンテンツのフィルタリング"
+#~ msgid "Content filtering"
+#~ msgstr "コンテンツのフィルタリング"
#: src/view/com/modals/ContentFilteringSettings.tsx:44
-msgid "Content Filtering"
-msgstr "コンテンツのフィルタリング"
+#~ msgid "Content Filtering"
+#~ msgstr "コンテンツのフィルタリング"
+
+#: src/screens/Moderation/index.tsx:285
+msgid "Content filters"
+msgstr "コンテンツのフィルター"
#: src/view/com/modals/lang-settings/ContentLanguagesSettings.tsx:74
#: src/view/screens/LanguageSettings.tsx:278
msgid "Content Languages"
msgstr "コンテンツの言語"
-#: src/view/com/modals/ModerationDetails.tsx:65
+#: src/components/moderation/ModerationDetailsDialog.tsx:75
+#: src/lib/moderation/useModerationCauseDescription.ts:75
msgid "Content Not Available"
msgstr "コンテンツはありません"
-#: src/view/com/modals/ModerationDetails.tsx:33
-#: src/view/com/util/moderation/ScreenHider.tsx:78
+#: src/components/moderation/ModerationDetailsDialog.tsx:46
+#: src/components/moderation/ScreenHider.tsx:99
+#: src/lib/moderation/useGlobalLabelStrings.ts:22
+#: src/lib/moderation/useModerationCauseDescription.ts:38
msgid "Content Warning"
msgstr "コンテンツの警告"
@@ -910,28 +1052,38 @@ msgstr "コンテンツの警告"
msgid "Content warnings"
msgstr "コンテンツの警告"
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:170
-#: src/screens/Onboarding/StepFollowingFeed.tsx:153
-#: src/screens/Onboarding/StepInterests/index.tsx:248
-#: src/screens/Onboarding/StepModeration/index.tsx:118
-#: src/screens/Onboarding/StepTopicalFeeds.tsx:114
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:148
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:209
+#: src/components/Menu/index.web.tsx:84
+msgid "Context menu backdrop, click to close the menu."
+msgstr "コンテキストメニューの背景をクリックし、メニューを閉じる。"
+
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:161
+#: src/screens/Onboarding/StepFollowingFeed.tsx:154
+#: src/screens/Onboarding/StepInterests/index.tsx:252
+#: src/screens/Onboarding/StepModeration/index.tsx:103
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:118
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:150
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:211
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:96
msgid "Continue"
msgstr "続行"
-#: src/screens/Onboarding/StepFollowingFeed.tsx:150
-#: src/screens/Onboarding/StepInterests/index.tsx:245
-#: src/screens/Onboarding/StepModeration/index.tsx:115
-#: src/screens/Onboarding/StepTopicalFeeds.tsx:111
+#: src/components/AccountList.tsx:108
+msgid "Continue as {0} (currently signed in)"
+msgstr "{0}として続行 (現在サインイン中)"
+
+#: src/screens/Onboarding/StepFollowingFeed.tsx:151
+#: src/screens/Onboarding/StepInterests/index.tsx:249
+#: src/screens/Onboarding/StepModeration/index.tsx:100
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:115
+#: src/screens/Signup/index.tsx:200
msgid "Continue to next step"
msgstr "次のステップへ進む"
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:167
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:158
msgid "Continue to the next step"
msgstr "次のステップへ進む"
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:191
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:199
msgid "Continue to the next step without following any accounts"
msgstr "アカウントをフォローせずに次のステップへ進む"
@@ -939,100 +1091,122 @@ msgstr "アカウントをフォローせずに次のステップへ進む"
msgid "Cooking"
msgstr "料理"
-#: src/view/com/modals/AddAppPasswords.tsx:195
-#: src/view/com/modals/InviteCodes.tsx:182
+#: src/view/com/modals/AddAppPasswords.tsx:196
+#: src/view/com/modals/InviteCodes.tsx:183
msgid "Copied"
msgstr "コピーしました"
-#: src/view/screens/Settings/index.tsx:241
+#: src/view/screens/Settings/index.tsx:254
msgid "Copied build version to clipboard"
msgstr "ビルドバージョンをクリップボードにコピーしました"
-#: src/view/com/modals/AddAppPasswords.tsx:76
-#: src/view/com/modals/InviteCodes.tsx:152
-#: src/view/com/util/forms/PostDropdownBtn.tsx:161
+#: src/view/com/modals/AddAppPasswords.tsx:77
+#: src/view/com/modals/ChangeHandle.tsx:326
+#: src/view/com/modals/InviteCodes.tsx:153
+#: src/view/com/util/forms/PostDropdownBtn.tsx:164
msgid "Copied to clipboard"
msgstr "クリップボードにコピーしました"
-#: src/view/com/modals/AddAppPasswords.tsx:189
+#: src/components/dialogs/Embed.tsx:134
+msgid "Copied!"
+msgstr ""
+
+#: src/view/com/modals/AddAppPasswords.tsx:190
msgid "Copies app password"
msgstr "アプリパスワードをコピーします"
-#: src/view/com/modals/AddAppPasswords.tsx:188
+#: src/view/com/modals/AddAppPasswords.tsx:189
msgid "Copy"
msgstr "コピー"
-#: src/view/screens/ProfileList.tsx:418
+#: src/view/com/modals/ChangeHandle.tsx:480
+msgid "Copy {0}"
+msgstr "{0}をコピー"
+
+#: src/components/dialogs/Embed.tsx:120
+#: src/components/dialogs/Embed.tsx:139
+msgid "Copy code"
+msgstr ""
+
+#: src/view/screens/ProfileList.tsx:390
msgid "Copy link to list"
msgstr "リストへのリンクをコピー"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:231
-#: src/view/com/util/forms/PostDropdownBtn.tsx:237
+#: src/view/com/util/forms/PostDropdownBtn.tsx:236
+#: src/view/com/util/forms/PostDropdownBtn.tsx:245
msgid "Copy link to post"
msgstr "投稿へのリンクをコピー"
#: src/view/com/profile/ProfileHeader.tsx:295
-msgid "Copy link to profile"
-msgstr "プロフィールへのリンクをコピー"
+#~ msgid "Copy link to profile"
+#~ msgstr "プロフィールへのリンクをコピー"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:223
-#: src/view/com/util/forms/PostDropdownBtn.tsx:225
+#: src/view/com/util/forms/PostDropdownBtn.tsx:228
+#: src/view/com/util/forms/PostDropdownBtn.tsx:230
msgid "Copy post text"
msgstr "投稿のテキストをコピー"
-#: src/Navigation.tsx:234
+#: src/Navigation.tsx:246
#: src/view/screens/CopyrightPolicy.tsx:29
msgid "Copyright Policy"
msgstr "著作権ポリシー"
-#: src/view/screens/ProfileFeed.tsx:97
+#: src/view/screens/ProfileFeed.tsx:103
msgid "Could not load feed"
-msgstr "フィードのロードに失敗しました"
+msgstr "フィードの読み込みに失敗しました"
-#: src/view/screens/ProfileList.tsx:893
+#: src/view/screens/ProfileList.tsx:909
msgid "Could not load list"
-msgstr "リストのロードに失敗しました"
+msgstr "リストの読み込みに失敗しました"
#: src/view/com/auth/create/Step2.tsx:91
#~ msgid "Country"
#~ msgstr "国"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:62
-#: src/view/com/auth/SplashScreen.tsx:71
-#: src/view/com/auth/SplashScreen.web.tsx:81
+#: src/view/com/auth/SplashScreen.tsx:57
+#: src/view/com/auth/SplashScreen.web.tsx:101
msgid "Create a new account"
msgstr "新しいアカウントを作成"
-#: src/view/screens/Settings/index.tsx:384
+#: src/view/screens/Settings/index.tsx:406
msgid "Create a new Bluesky account"
msgstr "新しいBlueskyアカウントを作成"
-#: src/view/com/auth/create/CreateAccount.tsx:133
+#: src/screens/Signup/index.tsx:130
msgid "Create Account"
msgstr "アカウントを作成"
-#: src/view/com/modals/AddAppPasswords.tsx:226
+#: src/components/dialogs/Signin.tsx:86
+#: src/components/dialogs/Signin.tsx:88
+msgid "Create an account"
+msgstr ""
+
+#: src/view/com/modals/AddAppPasswords.tsx:227
msgid "Create App Password"
msgstr "アプリパスワードを作成"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:54
-#: src/view/com/auth/SplashScreen.tsx:68
+#: src/view/com/auth/SplashScreen.tsx:48
+#: src/view/com/auth/SplashScreen.web.tsx:92
msgid "Create new account"
msgstr "新しいアカウントを作成"
-#: src/view/screens/AppPasswords.tsx:249
+#: src/components/ReportDialog/SelectReportOptionView.tsx:94
+msgid "Create report for {0}"
+msgstr "{0}の報告を作成"
+
+#: src/view/screens/AppPasswords.tsx:246
msgid "Created {0}"
-msgstr "{0}を作成済み"
+msgstr "{0}に作成"
#: src/view/screens/ProfileFeed.tsx:616
-msgid "Created by <0/>"
-msgstr "作成者:<0/>"
+#~ msgid "Created by <0/>"
+#~ msgstr "作成者:<0/>"
#: src/view/screens/ProfileFeed.tsx:614
-msgid "Created by you"
-msgstr "作成者:あなた"
+#~ msgid "Created by you"
+#~ msgstr "作成者:あなた"
-#: src/view/com/composer/Composer.tsx:455
+#: src/view/com/composer/Composer.tsx:469
msgid "Creates a card with a thumbnail. The card links to {url}"
msgstr "サムネイル付きのカードを作成します。そのカードは次のアドレスへリンクします:{url}"
@@ -1040,17 +1214,17 @@ msgstr "サムネイル付きのカードを作成します。そのカードは
msgid "Culture"
msgstr "文化"
-#: src/view/com/auth/server-input/index.tsx:95
-#: src/view/com/auth/server-input/index.tsx:96
+#: src/view/com/auth/server-input/index.tsx:97
+#: src/view/com/auth/server-input/index.tsx:99
msgid "Custom"
msgstr "カスタム"
-#: src/view/com/modals/ChangeHandle.tsx:389
+#: src/view/com/modals/ChangeHandle.tsx:388
msgid "Custom domain"
msgstr "カスタムドメイン"
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:106
-#: src/view/screens/Feeds.tsx:692
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:107
+#: src/view/screens/Feeds.tsx:717
msgid "Custom feeds built by the community bring you new experiences and help you find the content you love."
msgstr "コミュニティーによって作成されたカスタムフィードは、あなたに新しい体験をもたらし、あなたが好きなコンテンツを見つけるのに役立ちます。"
@@ -1062,8 +1236,8 @@ msgstr "外部サイトのメディアをカスタマイズします。"
#~ msgid "Danger Zone"
#~ msgstr "危険地帯"
-#: src/view/screens/Settings/index.tsx:485
-#: src/view/screens/Settings/index.tsx:511
+#: src/view/screens/Settings/index.tsx:455
+#: src/view/screens/Settings/index.tsx:481
msgid "Dark"
msgstr "ダーク"
@@ -1071,37 +1245,53 @@ msgstr "ダーク"
msgid "Dark mode"
msgstr "ダークモード"
-#: src/view/screens/Settings/index.tsx:498
+#: src/view/screens/Settings/index.tsx:468
msgid "Dark Theme"
msgstr "ダークテーマ"
+#: src/screens/Signup/StepInfo/index.tsx:134
+msgid "Date of birth"
+msgstr "生年月日"
+
#: src/Navigation.tsx:204
#~ msgid "Debug"
#~ msgstr "デバッグ"
+#: src/view/screens/Settings/index.tsx:805
+msgid "Debug Moderation"
+msgstr "モデレーションをデバッグ"
+
#: src/view/screens/Debug.tsx:83
msgid "Debug panel"
msgstr "デバッグパネル"
-#: src/view/screens/Settings/index.tsx:772
+#: src/view/com/util/forms/PostDropdownBtn.tsx:341
+#: src/view/screens/AppPasswords.tsx:268
+#: src/view/screens/ProfileList.tsx:615
+msgid "Delete"
+msgstr "削除"
+
+#: src/view/screens/Settings/index.tsx:760
msgid "Delete account"
msgstr "アカウントを削除"
-#: src/view/com/modals/DeleteAccount.tsx:87
+#: src/view/com/modals/DeleteAccount.tsx:86
msgid "Delete Account"
msgstr "アカウントを削除"
-#: src/view/screens/AppPasswords.tsx:222
-#: src/view/screens/AppPasswords.tsx:242
+#: src/view/screens/AppPasswords.tsx:239
msgid "Delete app password"
msgstr "アプリパスワードを削除"
-#: src/view/screens/ProfileList.tsx:364
-#: src/view/screens/ProfileList.tsx:445
+#: src/view/screens/AppPasswords.tsx:263
+msgid "Delete app password?"
+msgstr "アプリパスワードを削除しますか?"
+
+#: src/view/screens/ProfileList.tsx:417
msgid "Delete List"
msgstr "リストを削除"
-#: src/view/com/modals/DeleteAccount.tsx:223
+#: src/view/com/modals/DeleteAccount.tsx:222
msgid "Delete my account"
msgstr "マイアカウントを削除"
@@ -1109,31 +1299,35 @@ msgstr "マイアカウントを削除"
#~ msgid "Delete my account…"
#~ msgstr "マイアカウントを削除…"
-#: src/view/screens/Settings/index.tsx:784
+#: src/view/screens/Settings/index.tsx:772
msgid "Delete My Account…"
msgstr "マイアカウントを削除…"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:317
-#: src/view/com/util/forms/PostDropdownBtn.tsx:326
+#: src/view/com/util/forms/PostDropdownBtn.tsx:322
+#: src/view/com/util/forms/PostDropdownBtn.tsx:324
msgid "Delete post"
msgstr "投稿を削除"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:321
+#: src/view/screens/ProfileList.tsx:610
+msgid "Delete this list?"
+msgstr "このリストを削除しますか?"
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:336
msgid "Delete this post?"
msgstr "この投稿を削除しますか?"
-#: src/view/com/util/post-embeds/QuoteEmbed.tsx:70
+#: src/view/com/util/post-embeds/QuoteEmbed.tsx:67
msgid "Deleted"
msgstr "削除されています"
-#: src/view/com/post-thread/PostThread.tsx:316
+#: src/view/com/post-thread/PostThread.tsx:305
msgid "Deleted post."
msgstr "投稿を削除しました。"
-#: src/view/com/modals/CreateOrEditList.tsx:300
-#: src/view/com/modals/CreateOrEditList.tsx:321
-#: src/view/com/modals/EditProfile.tsx:198
-#: src/view/com/modals/EditProfile.tsx:210
+#: src/view/com/modals/CreateOrEditList.tsx:301
+#: src/view/com/modals/CreateOrEditList.tsx:322
+#: src/view/com/modals/EditProfile.tsx:199
+#: src/view/com/modals/EditProfile.tsx:211
msgid "Description"
msgstr "説明"
@@ -1149,19 +1343,39 @@ msgstr "説明"
msgid "Did you want to say anything?"
msgstr "なにか言いたいことはあった?"
-#: src/view/screens/Settings/index.tsx:504
+#: src/view/screens/Settings/index.tsx:474
msgid "Dim"
msgstr "グレー"
-#: src/view/com/composer/Composer.tsx:151
+#: src/view/screens/Settings/index.tsx:697
+msgid "Disable haptics"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:697
+msgid "Disable vibrations"
+msgstr ""
+
+#: src/lib/moderation/useLabelBehaviorDescription.ts:32
+#: src/lib/moderation/useLabelBehaviorDescription.ts:42
+#: src/lib/moderation/useLabelBehaviorDescription.ts:68
+#: src/screens/Moderation/index.tsx:341
+msgid "Disabled"
+msgstr "無効"
+
+#: src/view/com/composer/Composer.tsx:511
msgid "Discard"
msgstr "破棄"
#: src/view/com/composer/Composer.tsx:145
-msgid "Discard draft"
-msgstr "下書きを破棄"
+#~ msgid "Discard draft"
+#~ msgstr "下書きを破棄"
-#: src/view/screens/Moderation.tsx:226
+#: src/view/com/composer/Composer.tsx:508
+msgid "Discard draft?"
+msgstr "下書きを削除しますか?"
+
+#: src/screens/Moderation/index.tsx:518
+#: src/screens/Moderation/index.tsx:522
msgid "Discourage apps from showing my account to logged-out users"
msgstr "アプリがログアウトしたユーザーに自分のアカウントを表示しないようにする"
@@ -1172,21 +1386,37 @@ msgstr "新しいカスタムフィードを見つける"
#: src/view/screens/Feeds.tsx:473
#~ msgid "Discover new feeds"
-#~ msgstr "新しいフィードを見つける"
+#~ msgstr "新しいフィードを探す"
-#: src/view/screens/Feeds.tsx:689
+#: src/view/screens/Feeds.tsx:714
msgid "Discover New Feeds"
-msgstr ""
+msgstr "新しいフィードを探す"
-#: src/view/com/modals/EditProfile.tsx:192
+#: src/view/com/modals/EditProfile.tsx:193
msgid "Display name"
msgstr "表示名"
-#: src/view/com/modals/EditProfile.tsx:180
+#: src/view/com/modals/EditProfile.tsx:181
msgid "Display Name"
msgstr "表示名"
-#: src/view/com/modals/ChangeHandle.tsx:487
+#: src/view/com/modals/ChangeHandle.tsx:397
+msgid "DNS Panel"
+msgstr "DNSパネルがある場合"
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:39
+msgid "Does not include nudity."
+msgstr "ヌードは含まれません。"
+
+#: src/screens/Signup/StepHandle.tsx:105
+msgid "Doesn't begin or end with a hyphen"
+msgstr "ハイフンで始まったり終ったりしない"
+
+#: src/view/com/modals/ChangeHandle.tsx:481
+msgid "Domain Value"
+msgstr "ドメインの値"
+
+#: src/view/com/modals/ChangeHandle.tsx:488
msgid "Domain verified!"
msgstr "ドメインを確認しました!"
@@ -1194,8 +1424,26 @@ msgstr "ドメインを確認しました!"
#~ msgid "Don't have an invite code?"
#~ msgstr "招待コードをお持ちでない場合"
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:86
-#: src/view/com/modals/EditImage.tsx:333
+#: src/components/dialogs/BirthDateSettings.tsx:119
+#: src/components/dialogs/BirthDateSettings.tsx:125
+#: src/components/forms/DateField/index.tsx:74
+#: src/components/forms/DateField/index.tsx:80
+#: src/view/com/auth/server-input/index.tsx:169
+#: src/view/com/auth/server-input/index.tsx:170
+#: src/view/com/modals/AddAppPasswords.tsx:227
+#: src/view/com/modals/AltImage.tsx:140
+#: src/view/com/modals/crop-image/CropImage.web.tsx:153
+#: src/view/com/modals/InviteCodes.tsx:81
+#: src/view/com/modals/InviteCodes.tsx:124
+#: src/view/com/modals/ListAddRemoveUsers.tsx:142
+#: src/view/screens/PreferencesFollowingFeed.tsx:311
+#: src/view/screens/Settings/ExportCarDialog.tsx:94
+#: src/view/screens/Settings/ExportCarDialog.tsx:96
+msgid "Done"
+msgstr "完了"
+
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:87
+#: src/view/com/modals/EditImage.tsx:334
#: src/view/com/modals/ListAddRemoveUsers.tsx:144
#: src/view/com/modals/SelfLabel.tsx:157
#: src/view/com/modals/Threadgate.tsx:129
@@ -1207,72 +1455,68 @@ msgctxt "action"
msgid "Done"
msgstr "完了"
-#: src/view/com/auth/server-input/index.tsx:165
-#: src/view/com/auth/server-input/index.tsx:166
-#: src/view/com/modals/AddAppPasswords.tsx:226
-#: src/view/com/modals/AltImage.tsx:139
-#: src/view/com/modals/ContentFilteringSettings.tsx:88
-#: src/view/com/modals/ContentFilteringSettings.tsx:96
-#: src/view/com/modals/crop-image/CropImage.web.tsx:152
-#: src/view/com/modals/InviteCodes.tsx:80
-#: src/view/com/modals/InviteCodes.tsx:123
-#: src/view/com/modals/ListAddRemoveUsers.tsx:142
-#: src/view/screens/PreferencesFollowingFeed.tsx:311
-#: src/view/screens/Settings/ExportCarDialog.tsx:93
-#: src/view/screens/Settings/ExportCarDialog.tsx:94
-msgid "Done"
-msgstr "完了"
-
-#: src/view/com/modals/lang-settings/ConfirmLanguagesButton.tsx:42
+#: src/view/com/modals/lang-settings/ConfirmLanguagesButton.tsx:43
msgid "Done{extraText}"
msgstr "完了{extraText}"
-#: src/view/com/auth/login/ChooseAccountForm.tsx:45
-msgid "Double tap to sign in"
-msgstr "ダブルタップでサインイン"
+#: src/view/com/auth/login/ChooseAccountForm.tsx:46
+#~ msgid "Double tap to sign in"
+#~ msgstr "ダブルタップでサインイン"
#: src/view/screens/Settings/index.tsx:755
-msgid "Download Bluesky account data (repository)"
-msgstr ""
+#~ msgid "Download Bluesky account data (repository)"
+#~ msgstr "Blueskyのアカウントのデータ(リポジトリ)をダウンロード"
#: src/view/screens/Settings/ExportCarDialog.tsx:59
#: src/view/screens/Settings/ExportCarDialog.tsx:63
msgid "Download CAR file"
-msgstr ""
+msgstr "CARファイルをダウンロード"
#: src/view/com/composer/text-input/TextInput.web.tsx:249
msgid "Drop to add images"
msgstr "ドロップして画像を追加する"
-#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:111
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:120
msgid "Due to Apple policies, adult content can only be enabled on the web after completing sign up."
msgstr "Appleのポリシーにより、成人向けコンテンツはサインアップ完了後にウェブ上でのみ有効にすることができます。"
-#: src/view/com/modals/EditProfile.tsx:185
+#: src/view/com/modals/ChangeHandle.tsx:258
+msgid "e.g. alice"
+msgstr "例:太郎"
+
+#: src/view/com/modals/EditProfile.tsx:186
msgid "e.g. Alice Roberts"
msgstr "例:山田 太郎"
-#: src/view/com/modals/EditProfile.tsx:203
+#: src/view/com/modals/ChangeHandle.tsx:380
+msgid "e.g. alice.com"
+msgstr "例:taro.com"
+
+#: src/view/com/modals/EditProfile.tsx:204
msgid "e.g. Artist, dog-lover, and avid reader."
msgstr "例:アーティスト、犬好き、熱烈な読書愛好家。"
-#: src/view/com/modals/CreateOrEditList.tsx:283
+#: src/lib/moderation/useGlobalLabelStrings.ts:43
+msgid "E.g. artistic nudes."
+msgstr "例:芸術的なヌード。"
+
+#: src/view/com/modals/CreateOrEditList.tsx:284
msgid "e.g. Great Posters"
msgstr "例:重要な投稿をするユーザー"
-#: src/view/com/modals/CreateOrEditList.tsx:284
+#: src/view/com/modals/CreateOrEditList.tsx:285
msgid "e.g. Spammers"
msgstr "例:スパム"
-#: src/view/com/modals/CreateOrEditList.tsx:312
+#: src/view/com/modals/CreateOrEditList.tsx:313
msgid "e.g. The posters who never miss."
msgstr "例:絶対に投稿を見逃してはならないユーザー。"
-#: src/view/com/modals/CreateOrEditList.tsx:313
+#: src/view/com/modals/CreateOrEditList.tsx:314
msgid "e.g. Users that repeatedly reply with ads."
msgstr "例:返信として広告を繰り返し送ってくるユーザー。"
-#: src/view/com/modals/InviteCodes.tsx:96
+#: src/view/com/modals/InviteCodes.tsx:97
msgid "Each code works once. You'll receive more invite codes periodically."
msgstr "それぞれのコードは一回限り有効です。定期的に追加の招待コードをお送りします。"
@@ -1281,51 +1525,58 @@ msgctxt "action"
msgid "Edit"
msgstr "編集"
+#: src/view/com/util/UserAvatar.tsx:301
+#: src/view/com/util/UserBanner.tsx:85
+msgid "Edit avatar"
+msgstr "アバターを編集"
+
#: src/view/com/composer/photos/Gallery.tsx:144
-#: src/view/com/modals/EditImage.tsx:207
+#: src/view/com/modals/EditImage.tsx:208
msgid "Edit image"
msgstr "画像を編集"
-#: src/view/screens/ProfileList.tsx:433
+#: src/view/screens/ProfileList.tsx:405
msgid "Edit list details"
msgstr "リストの詳細を編集"
-#: src/view/com/modals/CreateOrEditList.tsx:250
+#: src/view/com/modals/CreateOrEditList.tsx:251
msgid "Edit Moderation List"
msgstr "モデレーションリストを編集"
-#: src/Navigation.tsx:244
-#: src/view/screens/Feeds.tsx:434
-#: src/view/screens/SavedFeeds.tsx:84
+#: src/Navigation.tsx:256
+#: src/view/screens/Feeds.tsx:459
+#: src/view/screens/SavedFeeds.tsx:85
msgid "Edit My Feeds"
msgstr "マイフィードを編集"
-#: src/view/com/modals/EditProfile.tsx:152
+#: src/view/com/modals/EditProfile.tsx:153
msgid "Edit my profile"
msgstr "マイプロフィールを編集"
-#: src/view/com/profile/ProfileHeader.tsx:418
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:178
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:168
msgid "Edit profile"
msgstr "プロフィールを編集"
-#: src/view/com/profile/ProfileHeader.tsx:423
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:181
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:171
msgid "Edit Profile"
msgstr "プロフィールを編集"
-#: src/view/com/home/HomeHeaderLayout.web.tsx:62
-#: src/view/screens/Feeds.tsx:355
+#: src/view/com/home/HomeHeaderLayout.web.tsx:66
+#: src/view/screens/Feeds.tsx:380
msgid "Edit Saved Feeds"
msgstr "保存されたフィードを編集"
-#: src/view/com/modals/CreateOrEditList.tsx:245
+#: src/view/com/modals/CreateOrEditList.tsx:246
msgid "Edit User List"
msgstr "ユーザーリストを編集"
-#: src/view/com/modals/EditProfile.tsx:193
+#: src/view/com/modals/EditProfile.tsx:194
msgid "Edit your display name"
msgstr "あなたの表示名を編集します"
-#: src/view/com/modals/EditProfile.tsx:211
+#: src/view/com/modals/EditProfile.tsx:212
msgid "Edit your profile description"
msgstr "あなたのプロフィールの説明を編集します"
@@ -1333,14 +1584,12 @@ msgstr "あなたのプロフィールの説明を編集します"
msgid "Education"
msgstr "教育"
-#: src/view/com/auth/create/Step1.tsx:176
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:156
+#: src/screens/Signup/StepInfo/index.tsx:80
#: src/view/com/modals/ChangeEmail.tsx:141
msgid "Email"
msgstr "メールアドレス"
-#: src/view/com/auth/create/Step1.tsx:167
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:147
+#: src/screens/Login/ForgotPasswordForm.tsx:99
msgid "Email address"
msgstr "メールアドレス"
@@ -1357,27 +1606,50 @@ msgstr "メールアドレスは更新されました"
msgid "Email verified"
msgstr "メールアドレスは認証されました"
-#: src/view/screens/Settings/index.tsx:312
+#: src/view/screens/Settings/index.tsx:334
msgid "Email:"
msgstr "メールアドレス:"
-#: src/view/com/modals/EmbedConsent.tsx:113
+#: src/components/dialogs/Embed.tsx:112
+msgid "Embed HTML code"
+msgstr ""
+
+#: src/components/dialogs/Embed.tsx:97
+#: src/view/com/util/forms/PostDropdownBtn.tsx:253
+#: src/view/com/util/forms/PostDropdownBtn.tsx:255
+msgid "Embed post"
+msgstr ""
+
+#: src/components/dialogs/Embed.tsx:101
+msgid "Embed this post in your website. Simply copy the following snippet and paste it into the HTML code of your website."
+msgstr ""
+
+#: src/components/dialogs/EmbedConsent.tsx:101
msgid "Enable {0} only"
msgstr "{0}のみ有効にする"
-#: src/view/com/modals/ContentFilteringSettings.tsx:167
+#: src/screens/Moderation/index.tsx:329
+msgid "Enable adult content"
+msgstr "成人向けコンテンツを有効にする"
+
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:94
msgid "Enable Adult Content"
msgstr "成人向けコンテンツを有効にする"
-#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:76
-#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:77
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:78
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:79
msgid "Enable adult content in your feeds"
msgstr "フィードで成人向けコンテンツを有効にする"
-#: src/view/com/modals/EmbedConsent.tsx:97
-msgid "Enable External Media"
+#: src/components/dialogs/EmbedConsent.tsx:82
+#: src/components/dialogs/EmbedConsent.tsx:89
+msgid "Enable external media"
msgstr "外部メディアを有効にする"
+#: src/view/com/modals/EmbedConsent.tsx:97
+#~ msgid "Enable External Media"
+#~ msgstr "外部メディアを有効にする"
+
#: src/view/screens/PreferencesExternalEmbeds.tsx:75
msgid "Enable media players for"
msgstr "有効にするメディアプレイヤー"
@@ -1386,18 +1658,30 @@ msgstr "有効にするメディアプレイヤー"
msgid "Enable this setting to only see replies between people you follow."
msgstr "この設定を有効にすると、自分がフォローしているユーザーからの返信だけが表示されます。"
-#: src/view/screens/Profile.tsx:455
+#: src/components/dialogs/EmbedConsent.tsx:94
+msgid "Enable this source only"
+msgstr "このソースのみ有効にする"
+
+#: src/screens/Moderation/index.tsx:339
+msgid "Enabled"
+msgstr "有効"
+
+#: src/screens/Profile/Sections/Feed.tsx:100
msgid "End of feed"
msgstr "フィードの終わり"
-#: src/view/com/modals/AddAppPasswords.tsx:166
+#: src/view/com/modals/AddAppPasswords.tsx:167
msgid "Enter a name for this App Password"
msgstr "このアプリパスワードの名前を入力"
+#: src/screens/Login/SetNewPasswordForm.tsx:139
+msgid "Enter a password"
+msgstr "パスワードを入力"
+
+#: src/components/dialogs/MutedWords.tsx:99
#: src/components/dialogs/MutedWords.tsx:100
-#: src/components/dialogs/MutedWords.tsx:101
msgid "Enter a word or tag"
-msgstr ""
+msgstr "ワードまたはタグを入力"
#: src/view/com/modals/VerifyEmail.tsx:105
msgid "Enter Confirmation Code"
@@ -1407,28 +1691,28 @@ msgstr "確認コードを入力してください"
#~ msgid "Enter the address of your provider:"
#~ msgstr "プロバイダーのアドレスを入力してください:"
-#: src/view/com/modals/ChangePassword.tsx:151
+#: src/view/com/modals/ChangePassword.tsx:153
msgid "Enter the code you received to change your password."
msgstr "パスワードを変更するために受け取ったコードを入力してください。"
-#: src/view/com/modals/ChangeHandle.tsx:371
+#: src/view/com/modals/ChangeHandle.tsx:370
msgid "Enter the domain you want to use"
msgstr "使用するドメインを入力してください"
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:107
+#: src/screens/Login/ForgotPasswordForm.tsx:119
msgid "Enter the email you used to create your account. We'll send you a \"reset code\" so you can set a new password."
msgstr "アカウントの作成に使用したメールアドレスを入力します。新しいパスワードを設定できるように、「リセットコード」をお送りします。"
-#: src/view/com/auth/create/Step1.tsx:228
-#: src/view/com/modals/BirthDateSettings.tsx:74
+#: src/components/dialogs/BirthDateSettings.tsx:108
msgid "Enter your birth date"
-msgstr "誕生日を入力してください"
+msgstr "生年月日を入力してください"
#: src/view/com/modals/Waitlist.tsx:78
#~ msgid "Enter your email"
#~ msgstr "メールアドレスを入力してください"
-#: src/view/com/auth/create/Step1.tsx:172
+#: src/screens/Login/ForgotPasswordForm.tsx:105
+#: src/screens/Signup/StepInfo/index.tsx:92
msgid "Enter your email address"
msgstr "メールアドレスを入力してください"
@@ -1444,15 +1728,15 @@ msgstr "以下に新しいメールアドレスを入力してください。"
#~ msgid "Enter your phone number"
#~ msgstr "電話番号を入力"
-#: src/view/com/auth/login/Login.tsx:99
+#: src/screens/Login/index.tsx:101
msgid "Enter your username and password"
msgstr "ユーザー名とパスワードを入力してください"
-#: src/view/com/auth/create/Step3.tsx:67
+#: src/screens/Signup/StepCaptcha/index.tsx:49
msgid "Error receiving captcha response."
-msgstr ""
+msgstr "Captchaレスポンスの受信中にエラーが発生しました。"
-#: src/view/screens/Search/Search.tsx:110
+#: src/view/screens/Search/Search.tsx:115
msgid "Error:"
msgstr "エラー:"
@@ -1460,16 +1744,28 @@ msgstr "エラー:"
msgid "Everybody"
msgstr "全員"
-#: src/view/com/modals/ChangeHandle.tsx:150
+#: src/lib/moderation/useReportOptions.ts:66
+msgid "Excessive mentions or replies"
+msgstr "過剰なメンションや返信"
+
+#: src/view/com/modals/DeleteAccount.tsx:230
+msgid "Exits account deletion process"
+msgstr "アカウントの削除処理を終了"
+
+#: src/view/com/modals/ChangeHandle.tsx:151
msgid "Exits handle change process"
msgstr "ハンドルの変更を終了"
-#: src/view/com/lightbox/Lightbox.web.tsx:120
+#: src/view/com/modals/crop-image/CropImage.web.tsx:136
+msgid "Exits image cropping process"
+msgstr "画像の切り抜き処理を終了"
+
+#: src/view/com/lightbox/Lightbox.web.tsx:130
msgid "Exits image view"
msgstr "画像表示を終了"
#: src/view/com/modals/ListAddRemoveUsers.tsx:88
-#: src/view/shell/desktop/Search.tsx:235
+#: src/view/shell/desktop/Search.tsx:236
msgid "Exits inputting search query"
msgstr "検索クエリの入力を終了"
@@ -1477,70 +1773,83 @@ msgstr "検索クエリの入力を終了"
#~ msgid "Exits signing up for waitlist with {email}"
#~ msgstr "{email}でWaitlistへの登録を終了"
-#: src/view/com/lightbox/Lightbox.web.tsx:163
+#: src/view/com/lightbox/Lightbox.web.tsx:183
msgid "Expand alt text"
msgstr "ALTテキストを展開"
-#: src/view/com/composer/ComposerReplyTo.tsx:81
-#: src/view/com/composer/ComposerReplyTo.tsx:84
+#: src/view/com/composer/ComposerReplyTo.tsx:82
+#: src/view/com/composer/ComposerReplyTo.tsx:85
msgid "Expand or collapse the full post you are replying to"
msgstr "返信する投稿全体を展開または折りたたむ"
-#: src/view/screens/Settings/index.tsx:753
+#: src/lib/moderation/useGlobalLabelStrings.ts:47
+msgid "Explicit or potentially disturbing media."
+msgstr "露骨な、または不愉快になる可能性のあるメディア。"
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:35
+msgid "Explicit sexual images."
+msgstr "露骨な性的画像。"
+
+#: src/view/screens/Settings/index.tsx:741
msgid "Export my data"
msgstr "私のデータをエクスポートする"
#: src/view/screens/Settings/ExportCarDialog.tsx:44
-#: src/view/screens/Settings/index.tsx:764
+#: src/view/screens/Settings/index.tsx:752
msgid "Export My Data"
msgstr "私のデータをエクスポートする"
-#: src/view/com/modals/EmbedConsent.tsx:64
+#: src/components/dialogs/EmbedConsent.tsx:55
+#: src/components/dialogs/EmbedConsent.tsx:59
msgid "External Media"
msgstr "外部メディア"
-#: src/view/com/modals/EmbedConsent.tsx:75
+#: src/components/dialogs/EmbedConsent.tsx:71
#: src/view/screens/PreferencesExternalEmbeds.tsx:66
msgid "External media may allow websites to collect information about you and your device. No information is sent or requested until you press the \"play\" button."
msgstr "外部メディアを有効にすると、それらのメディアのウェブサイトがあなたやお使いのデバイスに関する情報を収集する場合があります。その場合でも、あなたが「再生」ボタンを押すまで情報は送信されず、要求もされません。"
-#: src/Navigation.tsx:263
+#: src/Navigation.tsx:275
#: src/view/screens/PreferencesExternalEmbeds.tsx:52
-#: src/view/screens/Settings/index.tsx:657
+#: src/view/screens/Settings/index.tsx:628
msgid "External Media Preferences"
msgstr "外部メディアの設定"
-#: src/view/screens/Settings/index.tsx:648
+#: src/view/screens/Settings/index.tsx:619
msgid "External media settings"
msgstr "外部メディアの設定"
-#: src/view/com/modals/AddAppPasswords.tsx:115
-#: src/view/com/modals/AddAppPasswords.tsx:119
+#: src/view/com/modals/AddAppPasswords.tsx:116
+#: src/view/com/modals/AddAppPasswords.tsx:120
msgid "Failed to create app password."
msgstr "アプリパスワードの作成に失敗しました。"
-#: src/view/com/modals/CreateOrEditList.tsx:206
+#: src/view/com/modals/CreateOrEditList.tsx:207
msgid "Failed to create the list. Check your internet connection and try again."
msgstr "リストの作成に失敗しました。インターネットへの接続を確認の上、もう一度お試しください。"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:128
+#: src/view/com/util/forms/PostDropdownBtn.tsx:131
msgid "Failed to delete post, please try again"
msgstr "投稿の削除に失敗しました。もう一度お試しください。"
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:109
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:141
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:110
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:143
msgid "Failed to load recommended feeds"
-msgstr "おすすめのフィードのロードに失敗しました"
+msgstr "おすすめのフィードの読み込みに失敗しました"
-#: src/Navigation.tsx:194
+#: src/view/com/lightbox/Lightbox.tsx:83
+msgid "Failed to save image: {0}"
+msgstr "画像の保存に失敗しました:{0}"
+
+#: src/Navigation.tsx:196
msgid "Feed"
msgstr "フィード"
-#: src/view/com/feeds/FeedSourceCard.tsx:231
+#: src/view/com/feeds/FeedSourceCard.tsx:218
msgid "Feed by {0}"
msgstr "{0}によるフィード"
-#: src/view/screens/Feeds.tsx:605
+#: src/view/screens/Feeds.tsx:630
msgid "Feed offline"
msgstr "フィードはオフラインです"
@@ -1549,18 +1858,18 @@ msgstr "フィードはオフラインです"
#~ msgstr "フィードの設定"
#: src/view/shell/desktop/RightNav.tsx:61
-#: src/view/shell/Drawer.tsx:311
+#: src/view/shell/Drawer.tsx:320
msgid "Feedback"
msgstr "フィードバック"
-#: src/Navigation.tsx:452
-#: src/view/screens/Feeds.tsx:419
-#: src/view/screens/Feeds.tsx:524
-#: src/view/screens/Profile.tsx:184
-#: src/view/shell/bottom-bar/BottomBar.tsx:181
-#: src/view/shell/desktop/LeftNav.tsx:342
-#: src/view/shell/Drawer.tsx:476
-#: src/view/shell/Drawer.tsx:477
+#: src/Navigation.tsx:456
+#: src/view/screens/Feeds.tsx:444
+#: src/view/screens/Feeds.tsx:549
+#: src/view/screens/Profile.tsx:199
+#: src/view/shell/bottom-bar/BottomBar.tsx:192
+#: src/view/shell/desktop/LeftNav.tsx:346
+#: src/view/shell/Drawer.tsx:485
+#: src/view/shell/Drawer.tsx:486
msgid "Feeds"
msgstr "フィード"
@@ -1572,19 +1881,27 @@ msgstr "フィード"
#~ msgid "Feeds are created by users and organizations. They offer you varied experiences and suggest content you may like using algorithms."
#~ msgstr "フィードはさまざまなユーザーや組織によって作成されています。さまざまな体験や、アルゴリズムによっておすすめコンテンツを提案してくれます。"
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:57
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:58
msgid "Feeds are created by users to curate content. Choose some feeds that you find interesting."
msgstr "フィードはコンテンツを整理する為にユーザーによって作成されます。興味のあるフィードをいくつか選択してください。"
-#: src/view/screens/SavedFeeds.tsx:156
+#: src/view/screens/SavedFeeds.tsx:157
msgid "Feeds are custom algorithms that users build with a little coding expertise. <0/> for more information."
msgstr "フィードはユーザーがプログラミングの専門知識を持って構築するカスタムアルゴリズムです。詳細については、<0/>を参照してください。"
-#: src/screens/Onboarding/StepTopicalFeeds.tsx:76
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:80
msgid "Feeds can be topical as well!"
msgstr "フィードには特定の話題に焦点を当てたものもあります!"
-#: src/screens/Onboarding/StepFinished.tsx:151
+#: src/view/com/modals/ChangeHandle.tsx:481
+msgid "File Contents"
+msgstr "ファイルのコンテンツ"
+
+#: src/lib/moderation/useLabelBehaviorDescription.ts:66
+msgid "Filter from feeds"
+msgstr "フィードからのフィルター"
+
+#: src/screens/Onboarding/StepFinished.tsx:155
msgid "Finalizing"
msgstr "最後に"
@@ -1594,21 +1911,21 @@ msgstr "最後に"
msgid "Find accounts to follow"
msgstr "フォローするアカウントを探す"
-#: src/view/screens/Search/Search.tsx:440
+#: src/view/screens/Search/Search.tsx:589
msgid "Find users on Bluesky"
msgstr "Blueskyでユーザーを検索"
-#: src/view/screens/Search/Search.tsx:438
+#: src/view/screens/Search/Search.tsx:587
msgid "Find users with the search tool on the right"
msgstr "右側の検索ツールでユーザーを検索"
-#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:150
+#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:155
msgid "Finding similar accounts..."
msgstr "似ているアカウントを検索中..."
#: src/view/screens/PreferencesFollowingFeed.tsx:111
msgid "Fine-tune the content you see on your Following feed."
-msgstr ""
+msgstr "Followingフィードに表示されるコンテンツを調整します。"
#: src/view/screens/PreferencesHomeFeed.tsx:111
#~ msgid "Fine-tune the content you see on your home screen."
@@ -1622,41 +1939,52 @@ msgstr "ディスカッションスレッドを微調整します。"
msgid "Fitness"
msgstr "フィットネス"
-#: src/screens/Onboarding/StepFinished.tsx:131
+#: src/screens/Onboarding/StepFinished.tsx:135
msgid "Flexible"
msgstr "柔軟です"
-#: src/view/com/modals/EditImage.tsx:115
+#: src/view/com/modals/EditImage.tsx:116
msgid "Flip horizontal"
msgstr "水平方向に反転"
-#: src/view/com/modals/EditImage.tsx:120
-#: src/view/com/modals/EditImage.tsx:287
+#: src/view/com/modals/EditImage.tsx:121
+#: src/view/com/modals/EditImage.tsx:288
msgid "Flip vertically"
msgstr "垂直方向に反転"
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:181
-#: src/view/com/post-thread/PostThreadFollowBtn.tsx:136
-#: src/view/com/profile/ProfileHeader.tsx:513
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:189
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:235
+#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:141
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:146
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:248
msgid "Follow"
msgstr "フォロー"
-#: src/view/com/profile/FollowButton.tsx:64
+#: src/view/com/profile/FollowButton.tsx:69
msgctxt "action"
msgid "Follow"
msgstr "フォロー"
#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:58
-#: src/view/com/post-thread/PostThreadFollowBtn.tsx:122
-#: src/view/com/profile/ProfileHeader.tsx:504
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:221
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:128
msgid "Follow {0}"
msgstr "{0}をフォロー"
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:179
+#: src/view/com/profile/ProfileMenu.tsx:242
+#: src/view/com/profile/ProfileMenu.tsx:253
+msgid "Follow Account"
+msgstr "アカウントをフォロー"
+
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:187
msgid "Follow All"
msgstr "すべてのアカウントをフォロー"
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:174
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:144
+msgid "Follow Back"
+msgstr "フォローバック"
+
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:182
msgid "Follow selected accounts and continue to the next step"
msgstr "選択したアカウントをフォローして次のステップへ進む"
@@ -1664,11 +1992,11 @@ msgstr "選択したアカウントをフォローして次のステップへ進
#~ msgid "Follow selected accounts and continue to then next step"
#~ msgstr "選択したアカウントをフォローして次のステップへ進む"
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:64
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:65
msgid "Follow some users to get started. We can recommend you more users based on who you find interesting."
msgstr "何人かのユーザーをフォローして開始します。興味を持っている人に基づいて、より多くのユーザーをおすすめします。"
-#: src/view/com/profile/ProfileCard.tsx:194
+#: src/view/com/profile/ProfileCard.tsx:219
msgid "Followed by {0}"
msgstr "{0}がフォロー中"
@@ -1680,10 +2008,11 @@ msgstr "自分がフォローしているユーザー"
msgid "Followed users only"
msgstr "自分がフォローしているユーザーのみ"
-#: src/view/com/notifications/FeedItem.tsx:166
+#: src/view/com/notifications/FeedItem.tsx:172
msgid "followed you"
msgstr "あなたをフォローしました"
+#: src/view/com/profile/ProfileFollowers.tsx:104
#: src/view/screens/ProfileFollowers.tsx:25
msgid "Followers"
msgstr "フォロワー"
@@ -1692,29 +2021,34 @@ msgstr "フォロワー"
#~ msgid "following"
#~ msgstr "フォロー中"
-#: src/view/com/post-thread/PostThreadFollowBtn.tsx:136
-#: src/view/com/profile/ProfileHeader.tsx:495
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:233
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:149
+#: src/view/com/profile/ProfileFollows.tsx:104
#: src/view/screens/ProfileFollows.tsx:25
msgid "Following"
msgstr "フォロー中"
-#: src/view/com/profile/ProfileHeader.tsx:149
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:93
msgid "Following {0}"
msgstr "{0}をフォローしています"
-#: src/Navigation.tsx:250
-#: src/view/com/home/HomeHeaderLayout.web.tsx:50
-#: src/view/com/home/HomeHeaderLayoutMobile.tsx:84
-#: src/view/screens/PreferencesFollowingFeed.tsx:104
-#: src/view/screens/Settings/index.tsx:543
-msgid "Following Feed Preferences"
-msgstr ""
+#: src/view/screens/Settings/index.tsx:504
+msgid "Following feed preferences"
+msgstr "Followingフィードの設定"
-#: src/view/com/profile/ProfileHeader.tsx:546
+#: src/Navigation.tsx:262
+#: src/view/com/home/HomeHeaderLayout.web.tsx:54
+#: src/view/com/home/HomeHeaderLayoutMobile.tsx:87
+#: src/view/screens/PreferencesFollowingFeed.tsx:104
+#: src/view/screens/Settings/index.tsx:513
+msgid "Following Feed Preferences"
+msgstr "Followingフィードの設定"
+
+#: src/screens/Profile/Header/Handle.tsx:24
msgid "Follows you"
msgstr "あなたをフォロー"
-#: src/view/com/profile/ProfileCard.tsx:141
+#: src/view/com/profile/ProfileCard.tsx:144
msgid "Follows You"
msgstr "あなたをフォロー"
@@ -1722,33 +2056,45 @@ msgstr "あなたをフォロー"
msgid "Food"
msgstr "食べ物"
-#: src/view/com/modals/DeleteAccount.tsx:111
+#: src/view/com/modals/DeleteAccount.tsx:110
msgid "For security reasons, we'll need to send a confirmation code to your email address."
msgstr "セキュリティ上の理由から、あなたのメールアドレスに確認コードを送信する必要があります。"
-#: src/view/com/modals/AddAppPasswords.tsx:209
+#: src/view/com/modals/AddAppPasswords.tsx:210
msgid "For security reasons, you won't be able to view this again. If you lose this password, you'll need to generate a new one."
msgstr "セキュリティ上の理由から、これを再度表示することはできません。このパスワードを紛失した場合は、新しいパスワードを生成する必要があります。"
+#: src/view/com/auth/login/LoginForm.tsx:244
+#~ msgid "Forgot"
+#~ msgstr "忘れた"
+
#: src/view/com/auth/login/LoginForm.tsx:241
-msgid "Forgot"
-msgstr "忘れた"
+#~ msgid "Forgot password"
+#~ msgstr "パスワードを忘れた"
-#: src/view/com/auth/login/LoginForm.tsx:238
-msgid "Forgot password"
-msgstr "パスワードを忘れた"
-
-#: src/view/com/auth/login/Login.tsx:127
-#: src/view/com/auth/login/Login.tsx:143
+#: src/screens/Login/index.tsx:129
+#: src/screens/Login/index.tsx:144
msgid "Forgot Password"
msgstr "パスワードを忘れた"
-#: src/screens/Hashtag.tsx:108
-#: src/screens/Hashtag.tsx:148
-msgid "From @{sanitizedAuthor}"
-msgstr ""
+#: src/screens/Login/LoginForm.tsx:201
+msgid "Forgot password?"
+msgstr "パスワードを忘れた?"
-#: src/view/com/posts/FeedItem.tsx:189
+#: src/screens/Login/LoginForm.tsx:212
+msgid "Forgot?"
+msgstr "忘れた?"
+
+#: src/lib/moderation/useReportOptions.ts:52
+msgid "Frequently Posts Unwanted Content"
+msgstr "望ましくないコンテンツを頻繁に投稿"
+
+#: src/screens/Hashtag.tsx:109
+#: src/screens/Hashtag.tsx:149
+msgid "From @{sanitizedAuthor}"
+msgstr "@{sanitizedAuthor}による"
+
+#: src/view/com/posts/FeedItem.tsx:181
msgctxt "from-feed"
msgid "From <0/>"
msgstr "<0/>から"
@@ -1762,64 +2108,90 @@ msgstr "ギャラリー"
msgid "Get Started"
msgstr "開始"
-#: src/view/com/auth/LoggedOut.tsx:81
+#: src/lib/moderation/useReportOptions.ts:37
+msgid "Glaring violations of law or terms of service"
+msgstr "法律または利用規約への明らかな違反"
+
+#: src/components/moderation/ScreenHider.tsx:151
+#: src/components/moderation/ScreenHider.tsx:160
#: src/view/com/auth/LoggedOut.tsx:82
-#: src/view/com/util/moderation/ScreenHider.tsx:123
-#: src/view/shell/desktop/LeftNav.tsx:104
+#: src/view/com/auth/LoggedOut.tsx:83
+#: src/view/screens/NotFound.tsx:55
+#: src/view/screens/ProfileFeed.tsx:112
+#: src/view/screens/ProfileList.tsx:918
+#: src/view/shell/desktop/LeftNav.tsx:108
msgid "Go back"
msgstr "戻る"
-#: src/view/screens/ProfileFeed.tsx:106
-#: src/view/screens/ProfileFeed.tsx:111
-#: src/view/screens/ProfileList.tsx:902
-#: src/view/screens/ProfileList.tsx:907
+#: src/components/Error.tsx:91
+#: src/screens/Profile/ErrorState.tsx:62
+#: src/screens/Profile/ErrorState.tsx:66
+#: src/view/screens/NotFound.tsx:54
+#: src/view/screens/ProfileFeed.tsx:117
+#: src/view/screens/ProfileList.tsx:923
msgid "Go Back"
msgstr "戻る"
-#: src/screens/Onboarding/Layout.tsx:104
-#: src/screens/Onboarding/Layout.tsx:193
+#: src/components/ReportDialog/SelectReportOptionView.tsx:73
+#: src/components/ReportDialog/SubmitView.tsx:102
+#: src/screens/Onboarding/Layout.tsx:102
+#: src/screens/Onboarding/Layout.tsx:191
+#: src/screens/Signup/index.tsx:174
msgid "Go back to previous step"
msgstr "前のステップに戻る"
-#: src/view/screens/Search/Search.tsx:747
-#: src/view/shell/desktop/Search.tsx:262
+#: src/view/screens/NotFound.tsx:55
+msgid "Go home"
+msgstr "ホームへ"
+
+#: src/view/screens/NotFound.tsx:54
+msgid "Go Home"
+msgstr "ホームへ"
+
+#: src/view/screens/Search/Search.tsx:896
+#: src/view/shell/desktop/Search.tsx:263
msgid "Go to @{queryMaybeHandle}"
msgstr "@{queryMaybeHandle}へ"
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:189
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:218
-#: src/view/com/auth/login/LoginForm.tsx:288
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:195
-#: src/view/com/modals/ChangePassword.tsx:165
+#: src/screens/Login/ForgotPasswordForm.tsx:172
+#: src/view/com/modals/ChangePassword.tsx:167
msgid "Go to next"
msgstr "次へ"
-#: src/view/com/modals/ChangeHandle.tsx:265
+#: src/lib/moderation/useGlobalLabelStrings.ts:46
+msgid "Graphic Media"
+msgstr "生々しいメディア"
+
+#: src/view/com/modals/ChangeHandle.tsx:266
msgid "Handle"
msgstr "ハンドル"
-#: src/Navigation.tsx:270
+#: src/lib/moderation/useReportOptions.ts:32
+msgid "Harassment, trolling, or intolerance"
+msgstr "嫌がらせ、荒らし、不寛容"
+
+#: src/Navigation.tsx:282
msgid "Hashtag"
-msgstr ""
+msgstr "ハッシュタグ"
#: src/components/RichText.tsx:188
#~ msgid "Hashtag: {tag}"
-#~ msgstr ""
+#~ msgstr "ハッシュタグ:{tag}"
-#: src/components/RichText.tsx:190
+#: src/components/RichText.tsx:197
msgid "Hashtag: #{tag}"
-msgstr ""
+msgstr "ハッシュタグ:#{tag}"
-#: src/view/com/auth/create/CreateAccount.tsx:208
+#: src/screens/Signup/index.tsx:221
msgid "Having trouble?"
-msgstr "何か問題が発生しましたか?"
+msgstr "なにか問題が発生しましたか?"
#: src/view/shell/desktop/RightNav.tsx:90
-#: src/view/shell/Drawer.tsx:321
+#: src/view/shell/Drawer.tsx:330
msgid "Help"
msgstr "ヘルプ"
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:132
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:140
msgid "Here are some accounts for you to follow"
msgstr "あなたがフォローしそうなアカウントを紹介します"
@@ -1827,52 +2199,57 @@ msgstr "あなたがフォローしそうなアカウントを紹介します"
#~ msgid "Here are some accounts for your to follow"
#~ msgstr "あなたがフォローしそうなアカウントを紹介します"
-#: src/screens/Onboarding/StepTopicalFeeds.tsx:85
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:89
msgid "Here are some popular topical feeds. You can choose to follow as many as you like."
msgstr "人気のあるフィードを紹介します。好きなだけフォローすることができます。"
-#: src/screens/Onboarding/StepTopicalFeeds.tsx:80
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:84
msgid "Here are some topical feeds based on your interests: {interestsText}. You can choose to follow as many as you like."
-msgstr "「{interestsText}」への興味に基づいたおすすめです。好きなだけフォローすることができます。"
+msgstr "{interestsText}への興味に基づいたおすすめです。好きなだけフォローすることができます。"
-#: src/view/com/modals/AddAppPasswords.tsx:153
+#: src/view/com/modals/AddAppPasswords.tsx:154
msgid "Here is your app password."
msgstr "アプリパスワードをお知らせします。"
-#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:41
-#: src/view/com/modals/ContentFilteringSettings.tsx:251
-#: src/view/com/util/moderation/ContentHider.tsx:105
-#: src/view/com/util/moderation/PostHider.tsx:108
+#: src/components/moderation/ContentHider.tsx:115
+#: src/components/moderation/LabelPreference.tsx:134
+#: src/components/moderation/PostHider.tsx:107
+#: src/lib/moderation/useLabelBehaviorDescription.ts:15
+#: src/lib/moderation/useLabelBehaviorDescription.ts:20
+#: src/lib/moderation/useLabelBehaviorDescription.ts:25
+#: src/lib/moderation/useLabelBehaviorDescription.ts:30
+#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:52
+#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:76
+#: src/view/com/util/forms/PostDropdownBtn.tsx:350
msgid "Hide"
msgstr "非表示"
-#: src/view/com/modals/ContentFilteringSettings.tsx:224
-#: src/view/com/notifications/FeedItem.tsx:326
+#: src/view/com/notifications/FeedItem.tsx:331
msgctxt "action"
msgid "Hide"
msgstr "非表示"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:276
-#: src/view/com/util/forms/PostDropdownBtn.tsx:287
+#: src/view/com/util/forms/PostDropdownBtn.tsx:294
+#: src/view/com/util/forms/PostDropdownBtn.tsx:296
msgid "Hide post"
msgstr "投稿を非表示"
-#: src/view/com/util/moderation/ContentHider.tsx:67
-#: src/view/com/util/moderation/PostHider.tsx:61
+#: src/components/moderation/ContentHider.tsx:67
+#: src/components/moderation/PostHider.tsx:64
msgid "Hide the content"
msgstr "コンテンツを非表示"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:280
+#: src/view/com/util/forms/PostDropdownBtn.tsx:347
msgid "Hide this post?"
msgstr "この投稿を非表示にしますか?"
-#: src/view/com/notifications/FeedItem.tsx:316
+#: src/view/com/notifications/FeedItem.tsx:321
msgid "Hide user list"
msgstr "ユーザーリストを非表示"
#: src/view/com/profile/ProfileHeader.tsx:487
-msgid "Hides posts from {0} in your feed"
-msgstr "{0}の投稿をあなたのフィードで非表示にします"
+#~ msgid "Hides posts from {0} in your feed"
+#~ msgstr "{0}の投稿をあなたのフィードで非表示にします"
#: src/view/com/posts/FeedErrorMessage.tsx:111
msgid "Hmm, some kind of issue occurred when contacting the feed server. Please let the feed owner know about this issue."
@@ -1894,11 +2271,19 @@ msgstr "フィードサーバーの反応が悪いようです。この問題を
msgid "Hmm, we're having trouble finding this feed. It may have been deleted."
msgstr "このフィードが見つからないようです。もしかしたら削除されたのかもしれません。"
-#: src/Navigation.tsx:442
-#: src/view/shell/bottom-bar/BottomBar.tsx:137
-#: src/view/shell/desktop/LeftNav.tsx:306
-#: src/view/shell/Drawer.tsx:398
-#: src/view/shell/Drawer.tsx:399
+#: src/screens/Moderation/index.tsx:59
+msgid "Hmmmm, it seems we're having trouble loading this data. See below for more details. If this issue persists, please contact us."
+msgstr "このデータの読み込みに問題があるようです。詳細は以下をご覧ください。この問題が解決しない場合は、サポートにご連絡ください。"
+
+#: src/screens/Profile/ErrorState.tsx:31
+msgid "Hmmmm, we couldn't load that moderation service."
+msgstr "そのモデレーションサービスを読み込めませんでした。"
+
+#: src/Navigation.tsx:446
+#: src/view/shell/bottom-bar/BottomBar.tsx:148
+#: src/view/shell/desktop/LeftNav.tsx:310
+#: src/view/shell/Drawer.tsx:407
+#: src/view/shell/Drawer.tsx:408
msgid "Home"
msgstr "ホーム"
@@ -1909,8 +2294,14 @@ msgstr "ホーム"
#~ msgid "Home Feed Preferences"
#~ msgstr "ホームフィードの設定"
-#: src/view/com/auth/create/Step1.tsx:75
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:120
+#: src/view/com/modals/ChangeHandle.tsx:420
+msgid "Host:"
+msgstr "ホスト:"
+
+#: src/screens/Login/ForgotPasswordForm.tsx:89
+#: src/screens/Login/LoginForm.tsx:134
+#: src/screens/Signup/StepInfo/index.tsx:40
+#: src/view/com/modals/ChangeHandle.tsx:281
msgid "Hosting provider"
msgstr "ホスティングプロバイダー"
@@ -1931,46 +2322,66 @@ msgstr "コードを持っています"
msgid "I have a confirmation code"
msgstr "確認コードを持っています"
-#: src/view/com/modals/ChangeHandle.tsx:283
+#: src/view/com/modals/ChangeHandle.tsx:284
msgid "I have my own domain"
msgstr "自分のドメインを持っています"
-#: src/view/com/lightbox/Lightbox.web.tsx:165
+#: src/view/com/lightbox/Lightbox.web.tsx:185
msgid "If alt text is long, toggles alt text expanded state"
msgstr "ALTテキストが長い場合、ALTテキストの展開状態を切り替える"
#: src/view/com/modals/SelfLabel.tsx:127
msgid "If none are selected, suitable for all ages."
-msgstr "何も選択しない場合は、全年齢対象です。"
+msgstr "なにも選択しない場合は、全年齢対象です。"
-#: src/view/com/modals/ChangePassword.tsx:146
+#: src/screens/Signup/StepInfo/Policies.tsx:83
+msgid "If you are not yet an adult according to the laws of your country, your parent or legal guardian must read these Terms on your behalf."
+msgstr "あなたがお住いの国の法律においてまだ成人していない場合は、親権者または法定後見人があなたに代わって本規約をお読みください。"
+
+#: src/view/screens/ProfileList.tsx:612
+msgid "If you delete this list, you won't be able to recover it."
+msgstr "このリストを削除すると、復元できなくなります。"
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:338
+msgid "If you remove this post, you won't be able to recover it."
+msgstr "この投稿を削除すると、復元できなくなります。"
+
+#: src/view/com/modals/ChangePassword.tsx:148
msgid "If you want to change your password, we will send you a code to verify that this is your account."
msgstr "パスワードを変更する場合は、あなたのアカウントであることを確認するためのコードをお送りします。"
+#: src/lib/moderation/useReportOptions.ts:36
+msgid "Illegal and Urgent"
+msgstr "違法かつ緊急"
+
#: src/view/com/util/images/Gallery.tsx:38
msgid "Image"
msgstr "画像"
-#: src/view/com/modals/AltImage.tsx:120
+#: src/view/com/modals/AltImage.tsx:121
msgid "Image alt text"
msgstr "画像のALTテキスト"
#: src/view/com/util/UserAvatar.tsx:311
#: src/view/com/util/UserBanner.tsx:118
-msgid "Image options"
-msgstr "画像のオプション"
+#~ msgid "Image options"
+#~ msgstr "画像のオプション"
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:138
+#: src/lib/moderation/useReportOptions.ts:47
+msgid "Impersonation or false claims about identity or affiliation"
+msgstr "なりすまし、または身元もしくは所属に関する虚偽の主張"
+
+#: src/screens/Login/SetNewPasswordForm.tsx:127
msgid "Input code sent to your email for password reset"
msgstr "パスワードをリセットするためにあなたのメールアドレスに送られたコードを入力"
-#: src/view/com/modals/DeleteAccount.tsx:184
+#: src/view/com/modals/DeleteAccount.tsx:183
msgid "Input confirmation code for account deletion"
msgstr "アカウント削除のために確認コードを入力"
#: src/view/com/auth/create/Step1.tsx:177
-msgid "Input email for Bluesky account"
-msgstr "Blueskyアカウント用のメールアドレスを入力してください"
+#~ msgid "Input email for Bluesky account"
+#~ msgstr "Blueskyアカウント用のメールアドレスを入力してください"
#: src/view/com/auth/create/Step2.tsx:109
#~ msgid "Input email for Bluesky waitlist"
@@ -1981,18 +2392,18 @@ msgstr "Blueskyアカウント用のメールアドレスを入力してくだ
#~ msgstr "ホスティングプロバイダーのアドレスを入力"
#: src/view/com/auth/create/Step1.tsx:151
-msgid "Input invite code to proceed"
-msgstr "招待コードを入力して次に進む"
+#~ msgid "Input invite code to proceed"
+#~ msgstr "招待コードを入力して次に進む"
-#: src/view/com/modals/AddAppPasswords.tsx:180
+#: src/view/com/modals/AddAppPasswords.tsx:181
msgid "Input name for app password"
msgstr "アプリパスワードの名前を入力"
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:162
+#: src/screens/Login/SetNewPasswordForm.tsx:151
msgid "Input new password"
msgstr "新しいパスワードを入力"
-#: src/view/com/modals/DeleteAccount.tsx:203
+#: src/view/com/modals/DeleteAccount.tsx:202
msgid "Input password for account deletion"
msgstr "アカウント削除のためにパスワードを入力"
@@ -2000,11 +2411,11 @@ msgstr "アカウント削除のためにパスワードを入力"
#~ msgid "Input phone number for SMS verification"
#~ msgstr "SMS認証に用いる電話番号を入力"
-#: src/view/com/auth/login/LoginForm.tsx:230
+#: src/screens/Login/LoginForm.tsx:195
msgid "Input the password tied to {identifier}"
msgstr "{identifier}に紐づくパスワードを入力"
-#: src/view/com/auth/login/LoginForm.tsx:197
+#: src/screens/Login/LoginForm.tsx:168
msgid "Input the username or email address you used at signup"
msgstr "サインアップ時に使用したユーザー名またはメールアドレスを入力"
@@ -2016,19 +2427,23 @@ msgstr "サインアップ時に使用したユーザー名またはメールア
#~ msgid "Input your email to get on the Bluesky waitlist"
#~ msgstr "BlueskyのWaitlistに登録するメールアドレスを入力"
-#: src/view/com/auth/login/LoginForm.tsx:229
+#: src/screens/Login/LoginForm.tsx:194
msgid "Input your password"
msgstr "あなたのパスワードを入力"
-#: src/view/com/auth/create/Step2.tsx:80
+#: src/view/com/modals/ChangeHandle.tsx:389
+msgid "Input your preferred hosting provider"
+msgstr "ご希望のホスティングプロバイダーを入力"
+
+#: src/screens/Signup/StepHandle.tsx:63
msgid "Input your user handle"
msgstr "あなたのユーザーハンドルを入力"
-#: src/view/com/post-thread/PostThreadItem.tsx:226
+#: src/view/com/post-thread/PostThreadItem.tsx:221
msgid "Invalid or unsupported post record"
msgstr "無効またはサポートされていない投稿のレコード"
-#: src/view/com/auth/login/LoginForm.tsx:113
+#: src/screens/Login/LoginForm.tsx:114
msgid "Invalid username or password"
msgstr "無効なユーザー名またはパスワード"
@@ -2036,37 +2451,35 @@ msgstr "無効なユーザー名またはパスワード"
#~ msgid "Invite"
#~ msgstr "招待"
-#: src/view/com/modals/InviteCodes.tsx:93
+#: src/view/com/modals/InviteCodes.tsx:94
msgid "Invite a Friend"
msgstr "友達を招待"
-#: src/view/com/auth/create/Step1.tsx:141
-#: src/view/com/auth/create/Step1.tsx:150
+#: src/screens/Signup/StepInfo/index.tsx:58
msgid "Invite code"
msgstr "招待コード"
-#: src/view/com/auth/create/state.ts:158
+#: src/screens/Signup/state.ts:278
msgid "Invite code not accepted. Check that you input it correctly and try again."
msgstr "招待コードが確認できません。正しく入力されていることを確認し、もう一度実行してください。"
-#: src/view/com/modals/InviteCodes.tsx:170
+#: src/view/com/modals/InviteCodes.tsx:171
msgid "Invite codes: {0} available"
msgstr "招待コード:{0}個使用可能"
#: src/view/shell/Drawer.tsx:645
#~ msgid "Invite codes: {invitesAvailable} available"
-#~ msgstr "使用可能な招待コード: {invitesAvailable} 個"
+#~ msgstr "使用可能な招待コード:{invitesAvailable}個"
-#: src/view/com/modals/InviteCodes.tsx:169
+#: src/view/com/modals/InviteCodes.tsx:170
msgid "Invite codes: 1 available"
msgstr "招待コード:1個使用可能"
-#: src/screens/Onboarding/StepFollowingFeed.tsx:64
+#: src/screens/Onboarding/StepFollowingFeed.tsx:65
msgid "It shows posts from the people you follow as they happen."
-msgstr "あなたがフォローした人の投稿が随時表示されます。"
+msgstr "あなたがフォローしたユーザーの投稿が随時表示されます。"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:99
-#: src/view/com/auth/SplashScreen.web.tsx:138
+#: src/view/com/auth/SplashScreen.web.tsx:152
msgid "Jobs"
msgstr "仕事"
@@ -2087,54 +2500,94 @@ msgstr "仕事"
msgid "Journalism"
msgstr "報道"
+#: src/components/moderation/LabelsOnMe.tsx:59
+msgid "label has been placed on this {labelTarget}"
+msgstr "個のラベルがこの{labelTarget}に貼られました"
+
+#: src/components/moderation/ContentHider.tsx:144
+msgid "Labeled by {0}."
+msgstr "{0}によるラベル"
+
+#: src/components/moderation/ContentHider.tsx:142
+msgid "Labeled by the author."
+msgstr "投稿者によるラベル。"
+
+#: src/view/screens/Profile.tsx:193
+msgid "Labels"
+msgstr "ラベル"
+
+#: src/screens/Profile/Sections/Labels.tsx:153
+msgid "Labels are annotations on users and content. They can be used to hide, warn, and categorize the network."
+msgstr "ラベルは、ユーザーやコンテンツに対する注釈です。ラベルはネットワークを隠したり、警告したり、分類したりするのに使われます。"
+
+#: src/components/moderation/LabelsOnMe.tsx:61
+msgid "labels have been placed on this {labelTarget}"
+msgstr "個のラベルがこの{labelTarget}に貼られました"
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:62
+msgid "Labels on your account"
+msgstr "あなたのアカウントのラベル"
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:64
+msgid "Labels on your content"
+msgstr "あなたのコンテンツのラベル"
+
#: src/view/com/composer/select-language/SelectLangBtn.tsx:104
msgid "Language selection"
msgstr "言語の選択"
-#: src/view/screens/Settings/index.tsx:594
+#: src/view/screens/Settings/index.tsx:565
msgid "Language settings"
msgstr "言語の設定"
-#: src/Navigation.tsx:142
+#: src/Navigation.tsx:144
#: src/view/screens/LanguageSettings.tsx:89
msgid "Language Settings"
msgstr "言語の設定"
-#: src/view/screens/Settings/index.tsx:603
+#: src/view/screens/Settings/index.tsx:574
msgid "Languages"
msgstr "言語"
#: src/view/com/auth/create/StepHeader.tsx:20
-msgid "Last step!"
-msgstr "最後のステップ!"
+#~ msgid "Last step!"
+#~ msgstr "最後のステップ!"
+
+#: src/view/screens/Search/Search.tsx:437
+msgid "Latest"
+msgstr "最新"
#: src/view/com/util/moderation/ContentHider.tsx:103
-msgid "Learn more"
-msgstr "詳細"
+#~ msgid "Learn more"
+#~ msgstr "詳細"
-#: src/view/com/util/moderation/PostAlerts.tsx:47
-#: src/view/com/util/moderation/ProfileHeaderAlerts.tsx:65
-#: src/view/com/util/moderation/ScreenHider.tsx:104
+#: src/components/moderation/ScreenHider.tsx:136
msgid "Learn More"
msgstr "詳細"
-#: src/view/com/util/moderation/ContentHider.tsx:85
-#: src/view/com/util/moderation/PostAlerts.tsx:40
-#: src/view/com/util/moderation/PostHider.tsx:78
-#: src/view/com/util/moderation/ProfileHeaderAlerts.tsx:49
-#: src/view/com/util/moderation/ScreenHider.tsx:101
+#: src/components/moderation/ContentHider.tsx:65
+#: src/components/moderation/ContentHider.tsx:128
+msgid "Learn more about the moderation applied to this content."
+msgstr "このコンテンツに適用されるモデレーションはこちらを参照してください。"
+
+#: src/components/moderation/PostHider.tsx:85
+#: src/components/moderation/ScreenHider.tsx:125
msgid "Learn more about this warning"
msgstr "この警告の詳細"
-#: src/view/screens/Moderation.tsx:262
+#: src/screens/Moderation/index.tsx:549
msgid "Learn more about what is public on Bluesky."
msgstr "Blueskyで公開されている内容はこちらを参照してください。"
+#: src/components/moderation/ContentHider.tsx:152
+msgid "Learn more."
+msgstr "詳細。"
+
#: src/view/com/modals/lang-settings/ContentLanguagesSettings.tsx:82
msgid "Leave them all unchecked to see any language."
msgstr "どの言語も表示するには、すべてのチェックを外したままにします。"
-#: src/view/com/modals/LinkWarning.tsx:51
+#: src/view/com/modals/LinkWarning.tsx:65
msgid "Leaving Bluesky"
msgstr "Blueskyから離れる"
@@ -2142,54 +2595,64 @@ msgstr "Blueskyから離れる"
msgid "left to go."
msgstr "あと少しです。"
-#: src/view/screens/Settings/index.tsx:278
+#: src/view/screens/Settings/index.tsx:299
msgid "Legacy storage cleared, you need to restart the app now."
msgstr "レガシーストレージがクリアされたため、今すぐアプリを再起動する必要があります。"
-#: src/view/com/auth/login/Login.tsx:128
-#: src/view/com/auth/login/Login.tsx:144
+#: src/screens/Login/index.tsx:130
+#: src/screens/Login/index.tsx:145
msgid "Let's get your password reset!"
msgstr "パスワードをリセットしましょう!"
-#: src/screens/Onboarding/StepFinished.tsx:151
+#: src/screens/Onboarding/StepFinished.tsx:155
msgid "Let's go!"
msgstr "さあ始めましょう!"
#: src/view/com/util/UserAvatar.tsx:248
#: src/view/com/util/UserBanner.tsx:62
-msgid "Library"
-msgstr "ライブラリー"
+#~ msgid "Library"
+#~ msgstr "ライブラリー"
-#: src/view/screens/Settings/index.tsx:479
+#: src/view/screens/Settings/index.tsx:449
msgid "Light"
msgstr "ライト"
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:182
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:197
msgid "Like"
msgstr "いいね"
-#: src/view/screens/ProfileFeed.tsx:591
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:264
+#: src/view/screens/ProfileFeed.tsx:585
msgid "Like this feed"
msgstr "このフィードをいいね"
-#: src/Navigation.tsx:199
+#: src/components/LikesDialog.tsx:87
+#: src/Navigation.tsx:201
+#: src/Navigation.tsx:206
msgid "Liked by"
msgstr "いいねしたユーザー"
+#: src/screens/Profile/ProfileLabelerLikedBy.tsx:29
#: src/view/screens/PostLikedBy.tsx:27
#: src/view/screens/ProfileFeedLikedBy.tsx:27
msgid "Liked By"
msgstr "いいねしたユーザー"
-#: src/view/com/feeds/FeedSourceCard.tsx:279
+#: src/view/com/feeds/FeedSourceCard.tsx:268
msgid "Liked by {0} {1}"
msgstr "{0} {1}にいいねされました"
-#: src/view/screens/ProfileFeed.tsx:606
+#: src/components/LabelingServiceCard/index.tsx:72
+msgid "Liked by {count} {0}"
+msgstr "{count} {0}にいいねされました"
+
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:284
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:298
+#: src/view/screens/ProfileFeed.tsx:600
msgid "Liked by {likeCount} {0}"
msgstr "いいねしたユーザー:{likeCount}人"
-#: src/view/com/notifications/FeedItem.tsx:170
+#: src/view/com/notifications/FeedItem.tsx:176
msgid "liked your custom feed"
msgstr "あなたのカスタムフィードがいいねされました"
@@ -2201,15 +2664,15 @@ msgstr "あなたのカスタムフィードがいいねされました"
#~ msgid "liked your custom feed{0}"
#~ msgstr "{0}にあなたのカスタムフィードがいいねされました"
-#: src/view/com/notifications/FeedItem.tsx:155
+#: src/view/com/notifications/FeedItem.tsx:161
msgid "liked your post"
msgstr "あなたの投稿がいいねされました"
-#: src/view/screens/Profile.tsx:183
+#: src/view/screens/Profile.tsx:198
msgid "Likes"
msgstr "いいね"
-#: src/view/com/post-thread/PostThreadItem.tsx:183
+#: src/view/com/post-thread/PostThreadItem.tsx:182
msgid "Likes on this post"
msgstr "この投稿をいいねする"
@@ -2217,75 +2680,76 @@ msgstr "この投稿をいいねする"
#~ msgid "Limit the visibility of my account to logged-out users"
#~ msgstr "ログアウトしたユーザーに対して私のアカウントの閲覧を制限"
-#: src/Navigation.tsx:168
+#: src/Navigation.tsx:170
msgid "List"
msgstr "リスト"
-#: src/view/com/modals/CreateOrEditList.tsx:261
+#: src/view/com/modals/CreateOrEditList.tsx:262
msgid "List Avatar"
msgstr "リストのアバター"
-#: src/view/screens/ProfileList.tsx:324
+#: src/view/screens/ProfileList.tsx:313
msgid "List blocked"
msgstr "リストをブロックしました"
-#: src/view/com/feeds/FeedSourceCard.tsx:233
+#: src/view/com/feeds/FeedSourceCard.tsx:220
msgid "List by {0}"
msgstr "{0}によるリスト"
-#: src/view/screens/ProfileList.tsx:378
+#: src/view/screens/ProfileList.tsx:357
msgid "List deleted"
msgstr "リストを削除しました"
-#: src/view/screens/ProfileList.tsx:283
+#: src/view/screens/ProfileList.tsx:285
msgid "List muted"
msgstr "リストをミュートしました"
-#: src/view/com/modals/CreateOrEditList.tsx:275
+#: src/view/com/modals/CreateOrEditList.tsx:276
msgid "List Name"
msgstr "リストの名前"
-#: src/view/screens/ProfileList.tsx:343
+#: src/view/screens/ProfileList.tsx:327
msgid "List unblocked"
msgstr "リストのブロックを解除しました"
-#: src/view/screens/ProfileList.tsx:302
+#: src/view/screens/ProfileList.tsx:299
msgid "List unmuted"
msgstr "リストのミュートを解除しました"
-#: src/Navigation.tsx:112
-#: src/view/screens/Profile.tsx:185
-#: src/view/shell/desktop/LeftNav.tsx:379
-#: src/view/shell/Drawer.tsx:492
-#: src/view/shell/Drawer.tsx:493
+#: src/Navigation.tsx:114
+#: src/view/screens/Profile.tsx:194
+#: src/view/screens/Profile.tsx:200
+#: src/view/shell/desktop/LeftNav.tsx:383
+#: src/view/shell/Drawer.tsx:501
+#: src/view/shell/Drawer.tsx:502
msgid "Lists"
msgstr "リスト"
#: src/view/com/post-thread/PostThread.tsx:333
#: src/view/com/post-thread/PostThread.tsx:341
-msgid "Load more posts"
-msgstr "投稿をさらにロード"
+#~ msgid "Load more posts"
+#~ msgstr "投稿をさらに読み込む"
#: src/view/screens/Notifications.tsx:159
msgid "Load new notifications"
-msgstr "最新の通知をロード"
+msgstr "最新の通知を読み込む"
-#: src/view/com/feeds/FeedPage.tsx:115
-#: src/view/screens/Profile.tsx:440
-#: src/view/screens/ProfileFeed.tsx:495
-#: src/view/screens/ProfileList.tsx:681
+#: src/screens/Profile/Sections/Feed.tsx:86
+#: src/view/com/feeds/FeedPage.tsx:138
+#: src/view/screens/ProfileFeed.tsx:507
+#: src/view/screens/ProfileList.tsx:697
msgid "Load new posts"
-msgstr "最新の投稿をロード"
+msgstr "最新の投稿を読み込む"
-#: src/view/com/composer/text-input/mobile/Autocomplete.tsx:95
+#: src/view/com/composer/text-input/mobile/Autocomplete.tsx:99
msgid "Loading..."
-msgstr "ロード中..."
+msgstr "読み込み中..."
#: src/view/com/modals/ServerInput.tsx:50
#~ msgid "Local dev server"
#~ msgstr "ローカル開発者サーバー"
-#: src/Navigation.tsx:209
+#: src/Navigation.tsx:221
msgid "Log"
msgstr "ログ"
@@ -2300,11 +2764,11 @@ msgstr "ログアウト"
#~ msgid "Logged-out users"
#~ msgstr "ログアウトしたユーザー"
-#: src/view/screens/Moderation.tsx:155
+#: src/screens/Moderation/index.tsx:442
msgid "Logged-out visibility"
msgstr "ログアウトしたユーザーからの可視性"
-#: src/view/com/auth/login/ChooseAccountForm.tsx:133
+#: src/components/AccountList.tsx:54
msgid "Login to account that is not listed"
msgstr "リストにないアカウントにログイン"
@@ -2312,23 +2776,27 @@ msgstr "リストにないアカウントにログイン"
#~ msgid "Looks like this feed is only available to users with a Bluesky account. Please sign up or sign in to view this feed!"
#~ msgstr "このフィードはBlueskyのアカウントを持っているユーザーのみが利用できるようです。このフィードを表示するには、サインアップするかサインインしてください!"
-#: src/view/com/modals/LinkWarning.tsx:65
+#: src/screens/Login/SetNewPasswordForm.tsx:116
+msgid "Looks like XXXXX-XXXXX"
+msgstr "XXXXX-XXXXXみたいなもの"
+
+#: src/view/com/modals/LinkWarning.tsx:79
msgid "Make sure this is where you intend to go!"
msgstr "意図した場所であることを確認してください!"
-#: src/components/dialogs/MutedWords.tsx:83
+#: src/components/dialogs/MutedWords.tsx:82
msgid "Manage your muted words and tags"
-msgstr ""
+msgstr "ミュートしたワードとタグの管理"
#: src/view/com/auth/create/Step2.tsx:118
-msgid "May not be longer than 253 characters"
-msgstr ""
+#~ msgid "May not be longer than 253 characters"
+#~ msgstr "253文字より長くはできません"
#: src/view/com/auth/create/Step2.tsx:109
-msgid "May only contain letters and numbers"
-msgstr ""
+#~ msgid "May only contain letters and numbers"
+#~ msgstr "英字と数字のみ使用可能です"
-#: src/view/screens/Profile.tsx:182
+#: src/view/screens/Profile.tsx:197
msgid "Media"
msgstr "メディア"
@@ -2341,7 +2809,7 @@ msgid "Mentioned users"
msgstr "メンションされたユーザー"
#: src/view/com/util/ViewHeader.tsx:87
-#: src/view/screens/Search/Search.tsx:646
+#: src/view/screens/Search/Search.tsx:795
msgid "Menu"
msgstr "メニュー"
@@ -2349,173 +2817,199 @@ msgstr "メニュー"
#~ msgid "Message from server"
#~ msgstr "サーバーからのメッセージ"
-#: src/view/com/posts/FeedErrorMessage.tsx:197
+#: src/view/com/posts/FeedErrorMessage.tsx:192
msgid "Message from server: {0}"
msgstr "サーバーからのメッセージ:{0}"
-#: src/Navigation.tsx:117
-#: src/view/screens/Moderation.tsx:66
-#: src/view/screens/Settings/index.tsx:625
-#: src/view/shell/desktop/LeftNav.tsx:397
-#: src/view/shell/Drawer.tsx:511
-#: src/view/shell/Drawer.tsx:512
+#: src/lib/moderation/useReportOptions.ts:45
+msgid "Misleading Account"
+msgstr "誤解を招くアカウント"
+
+#: src/Navigation.tsx:119
+#: src/screens/Moderation/index.tsx:104
+#: src/view/screens/Settings/index.tsx:596
+#: src/view/shell/desktop/LeftNav.tsx:401
+#: src/view/shell/Drawer.tsx:520
+#: src/view/shell/Drawer.tsx:521
msgid "Moderation"
msgstr "モデレーション"
+#: src/components/moderation/ModerationDetailsDialog.tsx:112
+msgid "Moderation details"
+msgstr "モデレーションの詳細"
+
#: src/view/com/lists/ListCard.tsx:93
#: src/view/com/modals/UserAddRemoveLists.tsx:206
msgid "Moderation list by {0}"
msgstr "{0}の作成したモデレーションリスト"
-#: src/view/screens/ProfileList.tsx:775
+#: src/view/screens/ProfileList.tsx:791
msgid "Moderation list by <0/>"
msgstr "<0/>の作成したモデレーションリスト"
#: src/view/com/lists/ListCard.tsx:91
#: src/view/com/modals/UserAddRemoveLists.tsx:204
-#: src/view/screens/ProfileList.tsx:773
+#: src/view/screens/ProfileList.tsx:789
msgid "Moderation list by you"
msgstr "あなたの作成したモデレーションリスト"
-#: src/view/com/modals/CreateOrEditList.tsx:197
+#: src/view/com/modals/CreateOrEditList.tsx:198
msgid "Moderation list created"
msgstr "モデレーションリストを作成しました"
-#: src/view/com/modals/CreateOrEditList.tsx:183
+#: src/view/com/modals/CreateOrEditList.tsx:184
msgid "Moderation list updated"
msgstr "モデレーションリストを更新しました"
-#: src/view/screens/Moderation.tsx:114
+#: src/screens/Moderation/index.tsx:243
msgid "Moderation lists"
msgstr "モデレーションリスト"
-#: src/Navigation.tsx:122
+#: src/Navigation.tsx:124
#: src/view/screens/ModerationModlists.tsx:58
msgid "Moderation Lists"
msgstr "モデレーションリスト"
-#: src/view/screens/Settings/index.tsx:619
+#: src/view/screens/Settings/index.tsx:590
msgid "Moderation settings"
msgstr "モデレーションの設定"
-#: src/view/com/modals/ModerationDetails.tsx:35
+#: src/Navigation.tsx:216
+msgid "Moderation states"
+msgstr "モデレーションのステータス"
+
+#: src/screens/Moderation/index.tsx:215
+msgid "Moderation tools"
+msgstr "モデレーションのツール"
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:48
+#: src/lib/moderation/useModerationCauseDescription.ts:40
msgid "Moderator has chosen to set a general warning on the content."
msgstr "モデレーターによりコンテンツに一般的な警告が設定されました。"
+#: src/view/com/post-thread/PostThreadItem.tsx:535
+msgid "More"
+msgstr "さらに"
+
#: src/view/shell/desktop/Feeds.tsx:65
msgid "More feeds"
msgstr "その他のフィード"
-#: src/view/com/profile/ProfileHeader.tsx:523
-#: src/view/screens/ProfileFeed.tsx:363
-#: src/view/screens/ProfileList.tsx:617
+#: src/view/screens/ProfileList.tsx:601
msgid "More options"
msgstr "その他のオプション"
#: src/view/com/util/forms/PostDropdownBtn.tsx:315
#~ msgid "More post options"
-#~ msgstr "そのほかの投稿のオプション"
+#~ msgstr "その他の投稿のオプション"
#: src/view/screens/PreferencesThreads.tsx:82
msgid "Most-liked replies first"
msgstr "いいねの数が多い順に返信を表示"
#: src/view/com/auth/create/Step2.tsx:122
-msgid "Must be at least 3 characters"
-msgstr ""
+#~ msgid "Must be at least 3 characters"
+#~ msgstr "最低でも3文字以上にしてください"
#: src/components/TagMenu/index.tsx:249
msgid "Mute"
-msgstr ""
+msgstr "ミュート"
#: src/components/TagMenu/index.web.tsx:105
msgid "Mute {truncatedTag}"
-msgstr ""
+msgstr "{truncatedTag}をミュート"
-#: src/view/com/profile/ProfileHeader.tsx:327
+#: src/view/com/profile/ProfileMenu.tsx:279
+#: src/view/com/profile/ProfileMenu.tsx:286
msgid "Mute Account"
msgstr "アカウントをミュート"
-#: src/view/screens/ProfileList.tsx:544
+#: src/view/screens/ProfileList.tsx:520
msgid "Mute accounts"
msgstr "アカウントをミュート"
#: src/components/TagMenu/index.tsx:209
msgid "Mute all {displayTag} posts"
-msgstr ""
+msgstr "{displayTag}のすべての投稿をミュート"
#: src/components/TagMenu/index.tsx:211
#~ msgid "Mute all {tag} posts"
-#~ msgstr ""
+#~ msgstr "{tag}のすべての投稿をミュート"
-#: src/components/dialogs/MutedWords.tsx:149
+#: src/components/dialogs/MutedWords.tsx:148
msgid "Mute in tags only"
-msgstr ""
+msgstr "タグのみをミュート"
-#: src/components/dialogs/MutedWords.tsx:134
+#: src/components/dialogs/MutedWords.tsx:133
msgid "Mute in text & tags"
-msgstr ""
+msgstr "テキストとタグをミュート"
-#: src/view/screens/ProfileList.tsx:491
+#: src/view/screens/ProfileList.tsx:463
+#: src/view/screens/ProfileList.tsx:626
msgid "Mute list"
msgstr "リストをミュート"
-#: src/view/screens/ProfileList.tsx:275
+#: src/view/screens/ProfileList.tsx:621
msgid "Mute these accounts?"
msgstr "これらのアカウントをミュートしますか?"
#: src/view/screens/ProfileList.tsx:279
-msgid "Mute this List"
-msgstr "このリストをミュート"
+#~ msgid "Mute this List"
+#~ msgstr "このリストをミュート"
-#: src/components/dialogs/MutedWords.tsx:127
+#: src/components/dialogs/MutedWords.tsx:126
msgid "Mute this word in post text and tags"
-msgstr ""
+msgstr "投稿のテキストやタグでこのワードをミュート"
-#: src/components/dialogs/MutedWords.tsx:142
+#: src/components/dialogs/MutedWords.tsx:141
msgid "Mute this word in tags only"
-msgstr ""
+msgstr "タグのみでこのワードをミュート"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:251
-#: src/view/com/util/forms/PostDropdownBtn.tsx:257
+#: src/view/com/util/forms/PostDropdownBtn.tsx:269
+#: src/view/com/util/forms/PostDropdownBtn.tsx:275
msgid "Mute thread"
msgstr "スレッドをミュート"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:267
-#: src/view/com/util/forms/PostDropdownBtn.tsx:269
+#: src/view/com/util/forms/PostDropdownBtn.tsx:285
+#: src/view/com/util/forms/PostDropdownBtn.tsx:287
msgid "Mute words & tags"
-msgstr ""
+msgstr "ワードとタグをミュート"
#: src/view/com/lists/ListCard.tsx:102
msgid "Muted"
msgstr "ミュートされています"
-#: src/view/screens/Moderation.tsx:128
+#: src/screens/Moderation/index.tsx:255
msgid "Muted accounts"
msgstr "ミュート中のアカウント"
-#: src/Navigation.tsx:127
-#: src/view/screens/ModerationMutedAccounts.tsx:107
+#: src/Navigation.tsx:129
+#: src/view/screens/ModerationMutedAccounts.tsx:112
msgid "Muted Accounts"
msgstr "ミュート中のアカウント"
-#: src/view/screens/ModerationMutedAccounts.tsx:115
+#: src/view/screens/ModerationMutedAccounts.tsx:120
msgid "Muted accounts have their posts removed from your feed and from your notifications. Mutes are completely private."
msgstr "ミュート中のアカウントの投稿は、フィードや通知から取り除かれます。ミュートの設定は完全に非公開です。"
-#: src/view/screens/Moderation.tsx:100
-msgid "Muted words & tags"
-msgstr ""
+#: src/lib/moderation/useModerationCauseDescription.ts:85
+msgid "Muted by \"{0}\""
+msgstr "「{0}」によってミュート中"
-#: src/view/screens/ProfileList.tsx:277
+#: src/screens/Moderation/index.tsx:231
+msgid "Muted words & tags"
+msgstr "ミュートしたワードとタグ"
+
+#: src/view/screens/ProfileList.tsx:623
msgid "Muting is private. Muted accounts can interact with you, but you will not see their posts or receive notifications from them."
msgstr "ミュートの設定は非公開です。ミュート中のアカウントはあなたと引き続き関わることができますが、そのアカウントの投稿や通知を受信することはできません。"
-#: src/view/com/modals/BirthDateSettings.tsx:56
+#: src/components/dialogs/BirthDateSettings.tsx:35
+#: src/components/dialogs/BirthDateSettings.tsx:38
msgid "My Birthday"
-msgstr "誕生日"
+msgstr "生年月日"
-#: src/view/screens/Feeds.tsx:663
+#: src/view/screens/Feeds.tsx:688
msgid "My Feeds"
msgstr "マイフィード"
@@ -2523,32 +3017,40 @@ msgstr "マイフィード"
msgid "My Profile"
msgstr "マイプロフィール"
-#: src/view/screens/Settings/index.tsx:582
+#: src/view/screens/Settings/index.tsx:547
+msgid "My saved feeds"
+msgstr "保存されたフィード"
+
+#: src/view/screens/Settings/index.tsx:553
msgid "My Saved Feeds"
msgstr "保存されたフィード"
#: src/view/com/auth/server-input/index.tsx:118
-msgid "my-server.com"
-msgstr ""
+#~ msgid "my-server.com"
+#~ msgstr "my-server.com"
-#: src/view/com/modals/AddAppPasswords.tsx:179
-#: src/view/com/modals/CreateOrEditList.tsx:290
+#: src/view/com/modals/AddAppPasswords.tsx:180
+#: src/view/com/modals/CreateOrEditList.tsx:291
msgid "Name"
msgstr "名前"
-#: src/view/com/modals/CreateOrEditList.tsx:145
+#: src/view/com/modals/CreateOrEditList.tsx:146
msgid "Name is required"
msgstr "名前は必須です"
+#: src/lib/moderation/useReportOptions.ts:57
+#: src/lib/moderation/useReportOptions.ts:78
+#: src/lib/moderation/useReportOptions.ts:86
+msgid "Name or Description Violates Community Standards"
+msgstr "名前または説明がコミュニティ基準に違反"
+
#: src/screens/Onboarding/index.tsx:25
msgid "Nature"
msgstr "自然"
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:190
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:219
-#: src/view/com/auth/login/LoginForm.tsx:289
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:196
-#: src/view/com/modals/ChangePassword.tsx:166
+#: src/screens/Login/ForgotPasswordForm.tsx:173
+#: src/screens/Login/LoginForm.tsx:255
+#: src/view/com/modals/ChangePassword.tsx:168
msgid "Navigates to the next screen"
msgstr "次の画面に移動します"
@@ -2556,23 +3058,31 @@ msgstr "次の画面に移動します"
msgid "Navigates to your profile"
msgstr "あなたのプロフィールに移動します"
+#: src/components/ReportDialog/SelectReportOptionView.tsx:123
+msgid "Need to report a copyright violation?"
+msgstr "著作権侵害を報告する必要がありますか?"
+
#: src/view/com/modals/EmbedConsent.tsx:107
#: src/view/com/modals/EmbedConsent.tsx:123
-msgid "Never load embeds from {0}"
-msgstr "{0}からの埋め込みを表示しない"
+#~ msgid "Never load embeds from {0}"
+#~ msgstr "{0}からの埋め込みを表示しない"
#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:72
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:72
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:74
msgid "Never lose access to your followers and data."
msgstr "フォロワーやデータへのアクセスを失うことはありません。"
-#: src/screens/Onboarding/StepFinished.tsx:119
+#: src/screens/Onboarding/StepFinished.tsx:123
msgid "Never lose access to your followers or data."
msgstr "フォロワーやデータへのアクセスを失うことはありません。"
#: src/components/dialogs/MutedWords.tsx:293
-msgid "Nevermind"
-msgstr ""
+#~ msgid "Nevermind"
+#~ msgstr "やめておく"
+
+#: src/view/com/modals/ChangeHandle.tsx:519
+msgid "Nevermind, create a handle for me"
+msgstr "気にせずにハンドルを作成"
#: src/view/screens/Lists.tsx:76
msgctxt "action"
@@ -2583,34 +3093,34 @@ msgstr "新規"
msgid "New"
msgstr "新規"
-#: src/view/com/modals/CreateOrEditList.tsx:252
+#: src/view/com/modals/CreateOrEditList.tsx:253
msgid "New Moderation List"
msgstr "新しいモデレーションリスト"
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:150
+#: src/view/com/modals/ChangePassword.tsx:212
msgid "New password"
msgstr "新しいパスワード"
-#: src/view/com/modals/ChangePassword.tsx:215
+#: src/view/com/modals/ChangePassword.tsx:217
msgid "New Password"
msgstr "新しいパスワード"
-#: src/view/com/feeds/FeedPage.tsx:126
+#: src/view/com/feeds/FeedPage.tsx:149
msgctxt "action"
msgid "New post"
msgstr "新しい投稿"
-#: src/view/screens/Feeds.tsx:555
+#: src/view/screens/Feeds.tsx:580
#: src/view/screens/Notifications.tsx:168
-#: src/view/screens/Profile.tsx:382
-#: src/view/screens/ProfileFeed.tsx:433
-#: src/view/screens/ProfileList.tsx:196
-#: src/view/screens/ProfileList.tsx:224
-#: src/view/shell/desktop/LeftNav.tsx:248
+#: src/view/screens/Profile.tsx:480
+#: src/view/screens/ProfileFeed.tsx:445
+#: src/view/screens/ProfileList.tsx:200
+#: src/view/screens/ProfileList.tsx:228
+#: src/view/shell/desktop/LeftNav.tsx:252
msgid "New post"
msgstr "新しい投稿"
-#: src/view/shell/desktop/LeftNav.tsx:258
+#: src/view/shell/desktop/LeftNav.tsx:262
msgctxt "action"
msgid "New Post"
msgstr "新しい投稿"
@@ -2619,7 +3129,7 @@ msgstr "新しい投稿"
#~ msgid "New Post"
#~ msgstr "新しい投稿"
-#: src/view/com/modals/CreateOrEditList.tsx:247
+#: src/view/com/modals/CreateOrEditList.tsx:248
msgid "New User List"
msgstr "新しいユーザーリスト"
@@ -2631,15 +3141,16 @@ msgstr "新しい順に返信を表示"
msgid "News"
msgstr "ニュース"
-#: src/view/com/auth/create/CreateAccount.tsx:172
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:182
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:192
-#: src/view/com/auth/login/LoginForm.tsx:291
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:187
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:198
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:79
-#: src/view/com/modals/ChangePassword.tsx:251
+#: src/screens/Login/ForgotPasswordForm.tsx:143
+#: src/screens/Login/ForgotPasswordForm.tsx:150
+#: src/screens/Login/LoginForm.tsx:254
+#: src/screens/Login/LoginForm.tsx:261
+#: src/screens/Login/SetNewPasswordForm.tsx:174
+#: src/screens/Login/SetNewPasswordForm.tsx:180
+#: src/screens/Signup/index.tsx:207
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:80
#: src/view/com/modals/ChangePassword.tsx:253
+#: src/view/com/modals/ChangePassword.tsx:255
msgid "Next"
msgstr "次へ"
@@ -2648,7 +3159,7 @@ msgctxt "action"
msgid "Next"
msgstr "次へ"
-#: src/view/com/lightbox/Lightbox.web.tsx:149
+#: src/view/com/lightbox/Lightbox.web.tsx:169
msgid "Next image"
msgstr "次の画像"
@@ -2661,39 +3172,48 @@ msgstr "次の画像"
msgid "No"
msgstr "いいえ"
-#: src/view/screens/ProfileFeed.tsx:584
-#: src/view/screens/ProfileList.tsx:755
+#: src/view/screens/ProfileFeed.tsx:574
+#: src/view/screens/ProfileList.tsx:771
msgid "No description"
msgstr "説明はありません"
-#: src/view/com/profile/ProfileHeader.tsx:170
+#: src/view/com/modals/ChangeHandle.tsx:405
+msgid "No DNS Panel"
+msgstr "DNSパネルがない場合"
+
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:118
msgid "No longer following {0}"
msgstr "{0}のフォローを解除しました"
+#: src/screens/Signup/StepHandle.tsx:115
+msgid "No longer than 253 characters"
+msgstr "253文字まで"
+
#: src/view/com/notifications/Feed.tsx:109
msgid "No notifications yet!"
msgstr "お知らせはありません!"
-#: src/view/com/composer/text-input/mobile/Autocomplete.tsx:97
-#: src/view/com/composer/text-input/web/Autocomplete.tsx:191
+#: src/view/com/composer/text-input/mobile/Autocomplete.tsx:101
+#: src/view/com/composer/text-input/web/Autocomplete.tsx:195
msgid "No result"
msgstr "結果はありません"
-#: src/components/Lists.tsx:192
+#: src/components/Lists.tsx:183
msgid "No results found"
-msgstr ""
+msgstr "結果は見つかりません"
-#: src/view/screens/Feeds.tsx:495
+#: src/view/screens/Feeds.tsx:520
msgid "No results found for \"{query}\""
msgstr "「{query}」の検索結果はありません"
#: src/view/com/modals/ListAddRemoveUsers.tsx:127
-#: src/view/screens/Search/Search.tsx:281
-#: src/view/screens/Search/Search.tsx:309
+#: src/view/screens/Search/Search.tsx:349
+#: src/view/screens/Search/Search.tsx:387
msgid "No results found for {query}"
msgstr "「{query}」の検索結果はありません"
-#: src/view/com/modals/EmbedConsent.tsx:129
+#: src/components/dialogs/EmbedConsent.tsx:105
+#: src/components/dialogs/EmbedConsent.tsx:112
msgid "No thanks"
msgstr "結構です"
@@ -2701,12 +3221,21 @@ msgstr "結構です"
msgid "Nobody"
msgstr "返信不可"
+#: src/components/LikedByList.tsx:79
+#: src/components/LikesDialog.tsx:99
+msgid "Nobody has liked this yet. Maybe you should be the first!"
+msgstr "まだ誰もこれをいいねしていません。あなたが最初になるべきかもしれません!"
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:42
+msgid "Non-sexual Nudity"
+msgstr "性的ではないヌード"
+
#: src/view/com/modals/SelfLabel.tsx:135
msgid "Not Applicable."
msgstr "該当なし。"
-#: src/Navigation.tsx:107
-#: src/view/screens/Profile.tsx:106
+#: src/Navigation.tsx:109
+#: src/view/screens/Profile.tsx:101
msgid "Not Found"
msgstr "見つかりません"
@@ -2715,21 +3244,27 @@ msgstr "見つかりません"
msgid "Not right now"
msgstr "今はしない"
+#: src/view/com/profile/ProfileMenu.tsx:368
+#: src/view/com/util/forms/PostDropdownBtn.tsx:364
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:248
+msgid "Note about sharing"
+msgstr "共有についての注意事項"
+
#: src/view/screens/Moderation.tsx:227
#~ msgid "Note: Bluesky is an open and public network, and enabling this will not make your profile private or limit the ability of logged in users to see your posts. This setting only limits the visibility of posts on the Bluesky app and website; third-party apps that display Bluesky content may not respect this setting, and could show your content to logged-out users."
#~ msgstr "注記:Blueskyはオープンでパブリックなネットワークであり、この設定を有効にしてもログインしているユーザーはあなたのプロフィールや投稿を制限なく閲覧できます。この設定はBlueskyのアプリおよびウェブサイト上のみでのあなたのコンテンツの可視性を制限するものです。Blueskyのコンテンツを表示するサードパーティーのアプリやウェブサイトなどはこの設定を尊重しない場合があり、ログアウトしたユーザーに対しあなたのコンテンツが表示される可能性があります。"
-#: src/view/screens/Moderation.tsx:252
+#: src/screens/Moderation/index.tsx:540
msgid "Note: Bluesky is an open and public network. This setting only limits the visibility of your content on the Bluesky app and website, and other apps may not respect this setting. Your content may still be shown to logged-out users by other apps and websites."
msgstr "注記:Blueskyはオープンでパブリックなネットワークです。この設定はBlueskyのアプリおよびウェブサイト上のみでのあなたのコンテンツの可視性を制限するものであり、他のアプリではこの設定を尊重しない場合があります。他のアプリやウェブサイトでは、ログアウトしたユーザーにあなたのコンテンツが表示される場合があります。"
-#: src/Navigation.tsx:457
+#: src/Navigation.tsx:461
#: src/view/screens/Notifications.tsx:124
#: src/view/screens/Notifications.tsx:148
-#: src/view/shell/bottom-bar/BottomBar.tsx:205
-#: src/view/shell/desktop/LeftNav.tsx:361
-#: src/view/shell/Drawer.tsx:435
-#: src/view/shell/Drawer.tsx:436
+#: src/view/shell/bottom-bar/BottomBar.tsx:216
+#: src/view/shell/desktop/LeftNav.tsx:365
+#: src/view/shell/Drawer.tsx:444
+#: src/view/shell/Drawer.tsx:445
msgid "Notifications"
msgstr "通知"
@@ -2737,15 +3272,36 @@ msgstr "通知"
msgid "Nudity"
msgstr "ヌード"
-#: src/view/com/util/ErrorBoundary.tsx:35
+#: src/lib/moderation/useReportOptions.ts:71
+msgid "Nudity or adult content not labeled as such"
+msgstr "ヌードあるいは成人向けコンテンツと表示されていないもの"
+
+#: src/lib/moderation/useReportOptions.ts:71
+#~ msgid "Nudity or pornography not labeled as such"
+#~ msgstr "ヌードもしくはポルノと表示されていないもの"
+
+#: src/screens/Signup/index.tsx:143
+msgid "of"
+msgstr "/"
+
+#: src/lib/moderation/useLabelBehaviorDescription.ts:11
+msgid "Off"
+msgstr "オフ"
+
+#: src/view/com/util/ErrorBoundary.tsx:49
msgid "Oh no!"
msgstr "ちょっと!"
-#: src/screens/Onboarding/StepInterests/index.tsx:128
+#: src/screens/Onboarding/StepInterests/index.tsx:132
msgid "Oh no! Something went wrong."
-msgstr "ちょっと!何かがおかしいです。"
+msgstr "ちょっと!なにかがおかしいです。"
-#: src/view/com/auth/login/PasswordUpdatedForm.tsx:41
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:126
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:333
+msgid "OK"
+msgstr "OK"
+
+#: src/screens/Login/PasswordUpdatedForm.tsx:44
msgid "Okay"
msgstr "OK"
@@ -2753,61 +3309,78 @@ msgstr "OK"
msgid "Oldest replies first"
msgstr "古い順に返信を表示"
-#: src/view/screens/Settings/index.tsx:234
+#: src/view/screens/Settings/index.tsx:247
msgid "Onboarding reset"
msgstr "オンボーディングのリセット"
-#: src/view/com/composer/Composer.tsx:382
+#: src/view/com/composer/Composer.tsx:392
msgid "One or more images is missing alt text."
-msgstr "1つもしくは複数の画像にALTテキストがありません。"
+msgstr "1つもしくは複数の画像にALTテキストがありません。"
#: src/view/com/threadgate/WhoCanReply.tsx:100
msgid "Only {0} can reply."
msgstr "{0}のみ返信可能"
-#: src/components/Lists.tsx:82
-msgid "Oops, something went wrong!"
-msgstr ""
+#: src/screens/Signup/StepHandle.tsx:98
+msgid "Only contains letters, numbers, and hyphens"
+msgstr "英数字とハイフンのみ"
-#: src/components/Lists.tsx:188
-#: src/view/screens/AppPasswords.tsx:65
-#: src/view/screens/Profile.tsx:106
+#: src/components/Lists.tsx:75
+msgid "Oops, something went wrong!"
+msgstr "おっと、なにかが間違っているようです!"
+
+#: src/components/Lists.tsx:170
+#: src/view/screens/AppPasswords.tsx:67
+#: src/view/screens/Profile.tsx:101
msgid "Oops!"
msgstr "おっと!"
-#: src/screens/Onboarding/StepFinished.tsx:115
+#: src/screens/Onboarding/StepFinished.tsx:119
msgid "Open"
msgstr "開かれています"
#: src/view/screens/Moderation.tsx:75
-msgid "Open content filtering settings"
-msgstr ""
+#~ msgid "Open content filtering settings"
+#~ msgstr "コンテンツのフィルタリング設定を開く"
-#: src/view/com/composer/Composer.tsx:477
-#: src/view/com/composer/Composer.tsx:478
+#: src/view/com/composer/Composer.tsx:491
+#: src/view/com/composer/Composer.tsx:492
msgid "Open emoji picker"
msgstr "絵文字を入力"
-#: src/view/screens/Settings/index.tsx:712
+#: src/view/screens/ProfileFeed.tsx:311
+msgid "Open feed options menu"
+msgstr "フィードの設定メニューを開く"
+
+#: src/view/screens/Settings/index.tsx:685
msgid "Open links with in-app browser"
msgstr "アプリ内ブラウザーでリンクを開く"
-#: src/view/screens/Moderation.tsx:92
-msgid "Open muted words settings"
-msgstr ""
+#: src/screens/Moderation/index.tsx:227
+msgid "Open muted words and tags settings"
+msgstr "ミュートしたワードとタグの設定を開く"
-#: src/view/com/home/HomeHeaderLayoutMobile.tsx:50
+#: src/view/screens/Moderation.tsx:92
+#~ msgid "Open muted words settings"
+#~ msgstr "ミュートしたワードの設定を開く"
+
+#: src/view/com/home/HomeHeaderLayoutMobile.tsx:52
msgid "Open navigation"
msgstr "ナビゲーションを開く"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:175
+#: src/view/com/util/forms/PostDropdownBtn.tsx:191
msgid "Open post options menu"
-msgstr ""
+msgstr "投稿のオプションを開く"
-#: src/view/screens/Settings/index.tsx:804
+#: src/view/screens/Settings/index.tsx:792
+#: src/view/screens/Settings/index.tsx:802
msgid "Open storybook page"
msgstr "絵本のページを開く"
+#: src/view/screens/Settings/index.tsx:780
+msgid "Open system log"
+msgstr "システムのログを開く"
+
#: src/view/com/util/forms/DropdownButton.tsx:154
msgid "Opens {numItems} options"
msgstr "{numItems}個のオプションを開く"
@@ -2816,11 +3389,11 @@ msgstr "{numItems}個のオプションを開く"
msgid "Opens additional details for a debug entry"
msgstr "デバッグエントリーの追加詳細を開く"
-#: src/view/com/notifications/FeedItem.tsx:349
+#: src/view/com/notifications/FeedItem.tsx:355
msgid "Opens an expanded list of users in this notification"
msgstr "この通知内のユーザーの拡張リストを開く"
-#: src/view/com/composer/photos/OpenCameraBtn.tsx:61
+#: src/view/com/composer/photos/OpenCameraBtn.tsx:78
msgid "Opens camera on device"
msgstr "デバイスのカメラを開く"
@@ -2828,7 +3401,7 @@ msgstr "デバイスのカメラを開く"
msgid "Opens composer"
msgstr "編集画面を開く"
-#: src/view/screens/Settings/index.tsx:595
+#: src/view/screens/Settings/index.tsx:566
msgid "Opens configurable language settings"
msgstr "構成可能な言語設定を開く"
@@ -2837,71 +3410,114 @@ msgid "Opens device photo gallery"
msgstr "デバイスのフォトギャラリーを開く"
#: src/view/com/profile/ProfileHeader.tsx:420
-msgid "Opens editor for profile display name, avatar, background image, and description"
-msgstr "プロフィールの表示名、アバター、背景画像、説明文のエディタを開く"
+#~ msgid "Opens editor for profile display name, avatar, background image, and description"
+#~ msgstr "プロフィールの表示名、アバター、背景画像、説明文のエディタを開く"
-#: src/view/screens/Settings/index.tsx:649
+#: src/view/screens/Settings/index.tsx:620
msgid "Opens external embeds settings"
msgstr "外部コンテンツの埋め込みの設定を開く"
+#: src/view/com/auth/SplashScreen.tsx:50
+#: src/view/com/auth/SplashScreen.web.tsx:94
+msgid "Opens flow to create a new Bluesky account"
+msgstr "新しいBlueskyのアカウントを作成するフローを開く"
+
+#: src/view/com/auth/SplashScreen.tsx:65
+#: src/view/com/auth/SplashScreen.web.tsx:109
+msgid "Opens flow to sign into your existing Bluesky account"
+msgstr "既存のBlueskyアカウントにサインインするフローを開く"
+
#: src/view/com/profile/ProfileHeader.tsx:575
-msgid "Opens followers list"
-msgstr "フォロワーのリストを開きます"
+#~ msgid "Opens followers list"
+#~ msgstr "フォロワーのリストを開きます"
#: src/view/com/profile/ProfileHeader.tsx:594
-msgid "Opens following list"
-msgstr "フォロー中のリストを開きます"
+#~ msgid "Opens following list"
+#~ msgstr "フォロー中のリストを開きます"
#: src/view/screens/Settings.tsx:412
#~ msgid "Opens invite code list"
#~ msgstr "招待コードのリストを開く"
-#: src/view/com/modals/InviteCodes.tsx:172
+#: src/view/com/modals/InviteCodes.tsx:173
msgid "Opens list of invite codes"
msgstr "招待コードのリストを開く"
-#: src/view/screens/Settings/index.tsx:774
-msgid "Opens modal for account deletion confirmation. Requires email code."
-msgstr "アカウントの削除確認用の表示を開きます。メールアドレスのコードが必要です。"
+#: src/view/screens/Settings/index.tsx:762
+msgid "Opens modal for account deletion confirmation. Requires email code"
+msgstr "アカウントの削除確認用の表示を開きます。メールアドレスのコードが必要です"
-#: src/view/com/modals/ChangeHandle.tsx:281
+#: src/view/screens/Settings/index.tsx:774
+#~ msgid "Opens modal for account deletion confirmation. Requires email code."
+#~ msgstr "アカウントの削除確認用の表示を開きます。メールアドレスのコードが必要です。"
+
+#: src/view/screens/Settings/index.tsx:720
+msgid "Opens modal for changing your Bluesky password"
+msgstr "Blueskyのパスワードを変更するためのモーダルを開く"
+
+#: src/view/screens/Settings/index.tsx:669
+msgid "Opens modal for choosing a new Bluesky handle"
+msgstr "新しいBlueskyのハンドルを選択するためのモーダルを開く"
+
+#: src/view/screens/Settings/index.tsx:743
+msgid "Opens modal for downloading your Bluesky account data (repository)"
+msgstr "Blueskyのアカウントのデータ(リポジトリ)をダウンロードするためのモーダルを開く"
+
+#: src/view/screens/Settings/index.tsx:932
+msgid "Opens modal for email verification"
+msgstr "メールアドレスの認証のためのモーダルを開く"
+
+#: src/view/com/modals/ChangeHandle.tsx:282
msgid "Opens modal for using custom domain"
msgstr "カスタムドメインを使用するためのモーダルを開く"
-#: src/view/screens/Settings/index.tsx:620
+#: src/view/screens/Settings/index.tsx:591
msgid "Opens moderation settings"
msgstr "モデレーションの設定を開く"
-#: src/view/com/auth/login/LoginForm.tsx:239
+#: src/screens/Login/LoginForm.tsx:202
msgid "Opens password reset form"
msgstr "パスワードリセットのフォームを開く"
-#: src/view/com/home/HomeHeaderLayout.web.tsx:63
-#: src/view/screens/Feeds.tsx:356
+#: src/view/com/home/HomeHeaderLayout.web.tsx:67
+#: src/view/screens/Feeds.tsx:381
msgid "Opens screen to edit Saved Feeds"
msgstr "保存されたフィードの編集画面を開く"
-#: src/view/screens/Settings/index.tsx:576
+#: src/view/screens/Settings/index.tsx:548
msgid "Opens screen with all saved feeds"
msgstr "保存されたすべてのフィードで画面を開く"
+#: src/view/screens/Settings/index.tsx:647
+msgid "Opens the app password settings"
+msgstr "アプリパスワードの設定を開く"
+
#: src/view/screens/Settings/index.tsx:676
-msgid "Opens the app password settings page"
-msgstr "アプリパスワードの設定ページを開く"
+#~ msgid "Opens the app password settings page"
+#~ msgstr "アプリパスワードの設定ページを開く"
+
+#: src/view/screens/Settings/index.tsx:505
+msgid "Opens the Following feed preferences"
+msgstr "Followingフィードの設定を開く"
#: src/view/screens/Settings/index.tsx:535
-msgid "Opens the home feed preferences"
-msgstr "ホームフィードの設定を開く"
+#~ msgid "Opens the home feed preferences"
+#~ msgstr "ホームフィードの設定を開く"
-#: src/view/screens/Settings/index.tsx:805
+#: src/view/com/modals/LinkWarning.tsx:93
+msgid "Opens the linked website"
+msgstr "リンク先のウェブサイトを開く"
+
+#: src/view/screens/Settings/index.tsx:793
+#: src/view/screens/Settings/index.tsx:803
msgid "Opens the storybook page"
msgstr "ストーリーブックのページを開く"
-#: src/view/screens/Settings/index.tsx:793
+#: src/view/screens/Settings/index.tsx:781
msgid "Opens the system log page"
msgstr "システムログのページを開く"
-#: src/view/screens/Settings/index.tsx:556
+#: src/view/screens/Settings/index.tsx:526
msgid "Opens the threads preferences"
msgstr "スレッドの設定を開く"
@@ -2909,6 +3525,10 @@ msgstr "スレッドの設定を開く"
msgid "Option {0} of {numItems}"
msgstr "{numItems}個中{0}目のオプション"
+#: src/components/ReportDialog/SubmitView.tsx:160
+msgid "Optionally provide additional information below:"
+msgstr "オプションとして、以下に追加情報をご記入ください:"
+
#: src/view/com/modals/Threadgate.tsx:89
msgid "Or combine these options:"
msgstr "または以下のオプションを組み合わせてください:"
@@ -2917,7 +3537,11 @@ msgstr "または以下のオプションを組み合わせてください:"
#~ msgid "Or you can try our \"Discover\" algorithm:"
#~ msgstr "または我々の「Discover」アルゴリズムを試すことができます:"
-#: src/view/com/auth/login/ChooseAccountForm.tsx:138
+#: src/lib/moderation/useReportOptions.ts:25
+msgid "Other"
+msgstr "その他"
+
+#: src/components/AccountList.tsx:73
msgid "Other account"
msgstr "その他のアカウント"
@@ -2929,7 +3553,7 @@ msgstr "その他のアカウント"
msgid "Other..."
msgstr "その他..."
-#: src/components/Lists.tsx:194
+#: src/components/Lists.tsx:184
#: src/view/screens/NotFound.tsx:45
msgid "Page not found"
msgstr "ページが見つかりません"
@@ -2938,27 +3562,35 @@ msgstr "ページが見つかりません"
msgid "Page Not Found"
msgstr "ページが見つかりません"
-#: src/view/com/auth/create/Step1.tsx:191
-#: src/view/com/auth/create/Step1.tsx:201
-#: src/view/com/auth/login/LoginForm.tsx:226
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:161
-#: src/view/com/modals/DeleteAccount.tsx:202
+#: src/screens/Login/LoginForm.tsx:178
+#: src/screens/Signup/StepInfo/index.tsx:102
+#: src/view/com/modals/DeleteAccount.tsx:194
+#: src/view/com/modals/DeleteAccount.tsx:201
msgid "Password"
msgstr "パスワード"
-#: src/view/com/auth/login/Login.tsx:157
+#: src/view/com/modals/ChangePassword.tsx:142
+msgid "Password Changed"
+msgstr "パスワードが変更されました"
+
+#: src/screens/Login/index.tsx:157
msgid "Password updated"
msgstr "パスワードが更新されました"
-#: src/view/com/auth/login/PasswordUpdatedForm.tsx:28
+#: src/screens/Login/PasswordUpdatedForm.tsx:30
msgid "Password updated!"
msgstr "パスワードが更新されました!"
-#: src/Navigation.tsx:162
+#: src/view/screens/Search/Search.tsx:447
+#: src/view/screens/Search/Search.tsx:456
+msgid "People"
+msgstr "ユーザー"
+
+#: src/Navigation.tsx:164
msgid "People followed by @{0}"
msgstr "@{0}がフォロー中のユーザー"
-#: src/Navigation.tsx:155
+#: src/Navigation.tsx:157
msgid "People following @{0}"
msgstr "@{0}をフォロー中のユーザー"
@@ -2982,45 +3614,49 @@ msgstr "ペット"
msgid "Pictures meant for adults."
msgstr "成人向けの画像です。"
-#: src/view/screens/ProfileFeed.tsx:354
-#: src/view/screens/ProfileList.tsx:581
+#: src/view/screens/ProfileFeed.tsx:303
+#: src/view/screens/ProfileList.tsx:565
msgid "Pin to home"
msgstr "ホームにピン留め"
-#: src/view/screens/SavedFeeds.tsx:88
+#: src/view/screens/ProfileFeed.tsx:306
+msgid "Pin to Home"
+msgstr "ホームにピン留め"
+
+#: src/view/screens/SavedFeeds.tsx:89
msgid "Pinned Feeds"
msgstr "ピン留めされたフィード"
-#: src/view/com/util/post-embeds/ExternalGifEmbed.tsx:111
+#: src/view/com/util/post-embeds/ExternalGifEmbed.tsx:123
msgid "Play {0}"
msgstr "{0}を再生"
-#: src/view/com/util/post-embeds/ExternalPlayerEmbed.tsx:54
-#: src/view/com/util/post-embeds/ExternalPlayerEmbed.tsx:55
+#: src/view/com/util/post-embeds/ExternalPlayerEmbed.tsx:57
+#: src/view/com/util/post-embeds/ExternalPlayerEmbed.tsx:58
msgid "Play Video"
msgstr "動画を再生"
-#: src/view/com/util/post-embeds/ExternalGifEmbed.tsx:110
+#: src/view/com/util/post-embeds/ExternalGifEmbed.tsx:122
msgid "Plays the GIF"
msgstr "GIFを再生"
-#: src/view/com/auth/create/state.ts:124
+#: src/screens/Signup/state.ts:241
msgid "Please choose your handle."
msgstr "ハンドルをお選びください。"
-#: src/view/com/auth/create/state.ts:117
+#: src/screens/Signup/state.ts:234
msgid "Please choose your password."
msgstr "パスワードを選択してください。"
-#: src/view/com/auth/create/state.ts:131
+#: src/screens/Signup/state.ts:251
msgid "Please complete the verification captcha."
-msgstr ""
+msgstr "Captcha認証を完了してください。"
#: src/view/com/modals/ChangeEmail.tsx:67
msgid "Please confirm your email before changing it. This is a temporary requirement while email-updating tools are added, and it will soon be removed."
msgstr "変更する前にメールを確認してください。これは、メールアップデートツールが追加されている間の一時的な要件であり、まもなく削除されます。"
-#: src/view/com/modals/AddAppPasswords.tsx:90
+#: src/view/com/modals/AddAppPasswords.tsx:91
msgid "Please enter a name for your app password. All spaces is not allowed."
msgstr "アプリパスワードにつける名前を入力してください。すべてスペースとしてはいけません。"
@@ -3028,13 +3664,13 @@ msgstr "アプリパスワードにつける名前を入力してください。
#~ msgid "Please enter a phone number that can receive SMS text messages."
#~ msgstr "SMSでテキストメッセージを受け取れる電話番号を入力してください。"
-#: src/view/com/modals/AddAppPasswords.tsx:145
+#: src/view/com/modals/AddAppPasswords.tsx:146
msgid "Please enter a unique name for this App Password or use our randomly generated one."
msgstr "このアプリパスワードに固有の名前を入力するか、ランダムに生成された名前を使用してください。"
-#: src/components/dialogs/MutedWords.tsx:68
+#: src/components/dialogs/MutedWords.tsx:67
msgid "Please enter a valid word, tag, or phrase to mute"
-msgstr ""
+msgstr "ミュートにする有効な単語、タグ、フレーズを入力してください"
#: src/view/com/auth/create/state.ts:170
#~ msgid "Please enter the code you received by SMS."
@@ -3044,18 +3680,22 @@ msgstr ""
#~ msgid "Please enter the verification code sent to {phoneNumberFormatted}."
#~ msgstr "{phoneNumberFormatted}に送った認証コードを入力してください。"
-#: src/view/com/auth/create/state.ts:103
+#: src/screens/Signup/state.ts:220
msgid "Please enter your email."
msgstr "メールアドレスを入力してください。"
-#: src/view/com/modals/DeleteAccount.tsx:191
+#: src/view/com/modals/DeleteAccount.tsx:190
msgid "Please enter your password as well:"
msgstr "パスワードも入力してください:"
+#: src/components/moderation/LabelsOnMeDialog.tsx:221
+msgid "Please explain why you think this label was incorrectly applied by {0}"
+msgstr "{0}によって貼られたこのラベルが誤って適用されたと思われる理由を説明してください"
+
#: src/view/com/modals/AppealLabel.tsx:72
#: src/view/com/modals/AppealLabel.tsx:75
-msgid "Please tell us why you think this content warning was incorrectly applied!"
-msgstr "このコンテンツに対する警告が誤って適用されたと思われる理由を教えてください!"
+#~ msgid "Please tell us why you think this content warning was incorrectly applied!"
+#~ msgstr "このコンテンツに対する警告が誤って適用されたと思われる理由を教えてください!"
#: src/view/com/modals/AppealLabel.tsx:72
#: src/view/com/modals/AppealLabel.tsx:75
@@ -3068,7 +3708,7 @@ msgstr "メールアドレスを確認してください"
#: src/view/com/composer/Composer.tsx:222
msgid "Please wait for your link card to finish loading"
-msgstr "リンクカードがロードされるまでお待ちください"
+msgstr "リンクカードが読み込まれるまでお待ちください"
#: src/screens/Onboarding/index.tsx:37
msgid "Politics"
@@ -3078,13 +3718,17 @@ msgstr "政治"
msgid "Porn"
msgstr "ポルノ"
-#: src/view/com/composer/Composer.tsx:357
-#: src/view/com/composer/Composer.tsx:365
+#: src/lib/moderation/useGlobalLabelStrings.ts:34
+#~ msgid "Pornography"
+#~ msgstr "ポルノグラフィ"
+
+#: src/view/com/composer/Composer.tsx:367
+#: src/view/com/composer/Composer.tsx:375
msgctxt "action"
msgid "Post"
msgstr "投稿"
-#: src/view/com/post-thread/PostThread.tsx:303
+#: src/view/com/post-thread/PostThread.tsx:292
msgctxt "description"
msgid "Post"
msgstr "投稿"
@@ -3099,20 +3743,30 @@ msgstr "投稿"
msgid "Post by {0}"
msgstr "{0}による投稿"
-#: src/Navigation.tsx:174
-#: src/Navigation.tsx:181
-#: src/Navigation.tsx:188
+#: src/Navigation.tsx:176
+#: src/Navigation.tsx:183
+#: src/Navigation.tsx:190
msgid "Post by @{0}"
msgstr "@{0}による投稿"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:108
+#: src/view/com/util/forms/PostDropdownBtn.tsx:111
msgid "Post deleted"
msgstr "投稿を削除"
-#: src/view/com/post-thread/PostThread.tsx:462
+#: src/view/com/post-thread/PostThread.tsx:157
msgid "Post hidden"
msgstr "投稿を非表示"
+#: src/components/moderation/ModerationDetailsDialog.tsx:97
+#: src/lib/moderation/useModerationCauseDescription.ts:99
+msgid "Post Hidden by Muted Word"
+msgstr "ミュートしたワードによって投稿が表示されません"
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:100
+#: src/lib/moderation/useModerationCauseDescription.ts:108
+msgid "Post Hidden by You"
+msgstr "あなたが非表示にした投稿"
+
#: src/view/com/composer/select-language/SelectLangBtn.tsx:87
msgid "Post language"
msgstr "投稿の言語"
@@ -3121,31 +3775,43 @@ msgstr "投稿の言語"
msgid "Post Languages"
msgstr "投稿の言語"
-#: src/view/com/post-thread/PostThread.tsx:514
+#: src/view/com/post-thread/PostThread.tsx:152
+#: src/view/com/post-thread/PostThread.tsx:164
msgid "Post not found"
msgstr "投稿が見つかりません"
#: src/components/TagMenu/index.tsx:253
msgid "posts"
-msgstr ""
+msgstr "投稿"
-#: src/view/screens/Profile.tsx:180
+#: src/view/screens/Profile.tsx:195
+#: src/view/screens/Search/Search.tsx:467
msgid "Posts"
msgstr "投稿"
-#: src/components/dialogs/MutedWords.tsx:90
+#: src/components/dialogs/MutedWords.tsx:89
msgid "Posts can be muted based on their text, their tags, or both."
-msgstr ""
+msgstr "投稿はテキスト、タグ、またはその両方に基づいてミュートできます。"
#: src/view/com/posts/FeedErrorMessage.tsx:64
msgid "Posts hidden"
msgstr "非表示の投稿"
-#: src/view/com/modals/LinkWarning.tsx:46
+#: src/view/com/modals/LinkWarning.tsx:60
msgid "Potentially Misleading Link"
msgstr "誤解を招く可能性のあるリンク"
-#: src/view/com/lightbox/Lightbox.web.tsx:135
+#: src/components/forms/HostingProvider.tsx:46
+msgid "Press to change hosting provider"
+msgstr "ホスティングプロバイダーを変える"
+
+#: src/components/Error.tsx:74
+#: src/components/Lists.tsx:80
+#: src/screens/Signup/index.tsx:187
+msgid "Press to retry"
+msgstr "再実行する"
+
+#: src/view/com/lightbox/Lightbox.web.tsx:150
msgid "Previous image"
msgstr "前の画像"
@@ -3157,39 +3823,45 @@ msgstr "第一言語"
msgid "Prioritize Your Follows"
msgstr "あなたのフォローを優先"
-#: src/view/screens/Settings/index.tsx:632
+#: src/view/screens/Settings/index.tsx:603
#: src/view/shell/desktop/RightNav.tsx:72
msgid "Privacy"
msgstr "プライバシー"
-#: src/Navigation.tsx:219
+#: src/Navigation.tsx:231
+#: src/screens/Signup/StepInfo/Policies.tsx:56
#: src/view/screens/PrivacyPolicy.tsx:29
-#: src/view/screens/Settings/index.tsx:891
-#: src/view/shell/Drawer.tsx:262
+#: src/view/screens/Settings/index.tsx:887
+#: src/view/shell/Drawer.tsx:271
msgid "Privacy Policy"
msgstr "プライバシーポリシー"
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:198
+#: src/screens/Login/ForgotPasswordForm.tsx:156
msgid "Processing..."
msgstr "処理中..."
-#: src/view/shell/bottom-bar/BottomBar.tsx:247
-#: src/view/shell/desktop/LeftNav.tsx:415
+#: src/view/screens/DebugMod.tsx:888
+#: src/view/screens/Profile.tsx:361
+msgid "profile"
+msgstr "プロフィール"
+
+#: src/view/shell/bottom-bar/BottomBar.tsx:261
+#: src/view/shell/desktop/LeftNav.tsx:419
#: src/view/shell/Drawer.tsx:70
-#: src/view/shell/Drawer.tsx:546
-#: src/view/shell/Drawer.tsx:547
+#: src/view/shell/Drawer.tsx:555
+#: src/view/shell/Drawer.tsx:556
msgid "Profile"
msgstr "プロフィール"
-#: src/view/com/modals/EditProfile.tsx:128
+#: src/view/com/modals/EditProfile.tsx:129
msgid "Profile updated"
msgstr "プロフィールを更新しました"
-#: src/view/screens/Settings/index.tsx:949
+#: src/view/screens/Settings/index.tsx:945
msgid "Protect your account by verifying your email."
msgstr "メールアドレスを確認してアカウントを保護します。"
-#: src/screens/Onboarding/StepFinished.tsx:101
+#: src/screens/Onboarding/StepFinished.tsx:105
msgid "Public"
msgstr "公開されています"
@@ -3201,15 +3873,15 @@ msgstr "ユーザーを一括でミュートまたはブロックする、公開
msgid "Public, shareable lists which can drive feeds."
msgstr "フィードとして利用できる、公開された共有可能なリスト。"
-#: src/view/com/composer/Composer.tsx:342
+#: src/view/com/composer/Composer.tsx:352
msgid "Publish post"
msgstr "投稿を公開"
-#: src/view/com/composer/Composer.tsx:342
+#: src/view/com/composer/Composer.tsx:352
msgid "Publish reply"
msgstr "返信を公開"
-#: src/view/com/modals/Repost.tsx:65
+#: src/view/com/modals/Repost.tsx:66
msgctxt "action"
msgid "Quote post"
msgstr "引用"
@@ -3218,7 +3890,7 @@ msgstr "引用"
msgid "Quote post"
msgstr "引用"
-#: src/view/com/modals/Repost.tsx:70
+#: src/view/com/modals/Repost.tsx:71
msgctxt "action"
msgid "Quote Post"
msgstr "引用"
@@ -3231,48 +3903,66 @@ msgstr "引用"
msgid "Random (aka \"Poster's Roulette\")"
msgstr "ランダムな順番で表示(別名「投稿者のルーレット」)"
-#: src/view/com/modals/EditImage.tsx:236
+#: src/view/com/modals/EditImage.tsx:237
msgid "Ratios"
msgstr "比率"
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:116
+#: src/view/screens/Search/Search.tsx:924
+msgid "Recent Searches"
+msgstr "検索履歴"
+
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:117
msgid "Recommended Feeds"
msgstr "おすすめのフィード"
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:180
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:181
msgid "Recommended Users"
msgstr "おすすめのユーザー"
-#: src/components/dialogs/MutedWords.tsx:298
-#: src/view/com/modals/ListAddRemoveUsers.tsx:264
+#: src/components/dialogs/MutedWords.tsx:286
+#: src/view/com/feeds/FeedSourceCard.tsx:283
+#: src/view/com/modals/ListAddRemoveUsers.tsx:268
#: src/view/com/modals/SelfLabel.tsx:83
#: src/view/com/modals/UserAddRemoveLists.tsx:219
-#: src/view/com/util/UserAvatar.tsx:285
-#: src/view/com/util/UserBanner.tsx:91
+#: src/view/com/posts/FeedErrorMessage.tsx:204
msgid "Remove"
msgstr "削除"
#: src/view/com/feeds/FeedSourceCard.tsx:108
-msgid "Remove {0} from my feeds?"
-msgstr "マイフィードから{0}を削除しますか?"
+#~ msgid "Remove {0} from my feeds?"
+#~ msgstr "マイフィードから{0}を削除しますか?"
#: src/view/com/util/AccountDropdownBtn.tsx:22
msgid "Remove account"
msgstr "アカウントを削除"
-#: src/view/com/posts/FeedErrorMessage.tsx:131
-#: src/view/com/posts/FeedErrorMessage.tsx:166
+#: src/view/com/util/UserAvatar.tsx:360
+msgid "Remove Avatar"
+msgstr "アバターを削除"
+
+#: src/view/com/util/UserBanner.tsx:148
+msgid "Remove Banner"
+msgstr "バナーを削除"
+
+#: src/view/com/posts/FeedErrorMessage.tsx:160
msgid "Remove feed"
msgstr "フィードを削除"
-#: src/view/com/feeds/FeedSourceCard.tsx:107
-#: src/view/com/feeds/FeedSourceCard.tsx:169
-#: src/view/com/feeds/FeedSourceCard.tsx:174
-#: src/view/com/feeds/FeedSourceCard.tsx:245
-#: src/view/screens/ProfileFeed.tsx:273
+#: src/view/com/posts/FeedErrorMessage.tsx:201
+msgid "Remove feed?"
+msgstr "フィードを削除しますか?"
+
+#: src/view/com/feeds/FeedSourceCard.tsx:173
+#: src/view/com/feeds/FeedSourceCard.tsx:233
+#: src/view/screens/ProfileFeed.tsx:346
+#: src/view/screens/ProfileFeed.tsx:352
msgid "Remove from my feeds"
msgstr "マイフィードから削除"
+#: src/view/com/feeds/FeedSourceCard.tsx:278
+msgid "Remove from my feeds?"
+msgstr "マイフィードから削除しますか?"
+
#: src/view/com/composer/photos/Gallery.tsx:167
msgid "Remove image"
msgstr "イメージを削除"
@@ -3281,37 +3971,44 @@ msgstr "イメージを削除"
msgid "Remove image preview"
msgstr "イメージプレビューを削除"
-#: src/components/dialogs/MutedWords.tsx:343
+#: src/components/dialogs/MutedWords.tsx:329
msgid "Remove mute word from your list"
-msgstr ""
+msgstr "リストからミュートワードを削除"
-#: src/view/com/modals/Repost.tsx:47
+#: src/view/com/modals/Repost.tsx:48
msgid "Remove repost"
msgstr "リポストを削除"
#: src/view/com/feeds/FeedSourceCard.tsx:175
-msgid "Remove this feed from my feeds?"
-msgstr "このフィードをマイフィードから削除しますか?"
+#~ msgid "Remove this feed from my feeds?"
+#~ msgstr "このフィードをマイフィードから削除しますか?"
+
+#: src/view/com/posts/FeedErrorMessage.tsx:202
+msgid "Remove this feed from your saved feeds"
+msgstr "保存したフィードからこのフィードを削除"
#: src/view/com/posts/FeedErrorMessage.tsx:132
-msgid "Remove this feed from your saved feeds?"
-msgstr "保存したフィードからこのフィードを削除しますか?"
+#~ msgid "Remove this feed from your saved feeds?"
+#~ msgstr "保存したフィードからこのフィードを削除しますか?"
#: src/view/com/modals/ListAddRemoveUsers.tsx:199
#: src/view/com/modals/UserAddRemoveLists.tsx:152
msgid "Removed from list"
msgstr "リストから削除されました"
-#: src/view/com/feeds/FeedSourceCard.tsx:113
-#: src/view/com/feeds/FeedSourceCard.tsx:180
+#: src/view/com/feeds/FeedSourceCard.tsx:121
msgid "Removed from my feeds"
msgstr "フィードから削除しました"
+#: src/view/screens/ProfileFeed.tsx:210
+msgid "Removed from your feeds"
+msgstr "あなたのフィードから削除しました"
+
#: src/view/com/composer/ExternalEmbed.tsx:71
msgid "Removes default thumbnail from {0}"
msgstr "{0}からデフォルトのサムネイルを削除"
-#: src/view/screens/Profile.tsx:181
+#: src/view/screens/Profile.tsx:196
msgid "Replies"
msgstr "返信"
@@ -3319,7 +4016,7 @@ msgstr "返信"
msgid "Replies to this thread are disabled"
msgstr "このスレッドへの返信はできません"
-#: src/view/com/composer/Composer.tsx:355
+#: src/view/com/composer/Composer.tsx:365
msgctxt "action"
msgid "Reply"
msgstr "返信"
@@ -3328,37 +4025,62 @@ msgstr "返信"
msgid "Reply Filters"
msgstr "返信のフィルター"
-#: src/view/com/post/Post.tsx:167
-#: src/view/com/posts/FeedItem.tsx:287
+#: src/view/com/post/Post.tsx:177
+#: src/view/com/posts/FeedItem.tsx:285
msgctxt "description"
msgid "Reply to <0/>"
msgstr "<0/>に返信"
#: src/view/com/modals/report/Modal.tsx:166
-msgid "Report {collectionName}"
-msgstr "{collectionName}を報告"
+#~ msgid "Report {collectionName}"
+#~ msgstr "{collectionName}を報告"
-#: src/view/com/profile/ProfileHeader.tsx:361
+#: src/view/com/profile/ProfileMenu.tsx:319
+#: src/view/com/profile/ProfileMenu.tsx:322
msgid "Report Account"
msgstr "アカウントを報告"
-#: src/view/screens/ProfileFeed.tsx:293
+#: src/components/ReportDialog/index.tsx:49
+msgid "Report dialog"
+msgstr "報告ダイアログ"
+
+#: src/view/screens/ProfileFeed.tsx:363
+#: src/view/screens/ProfileFeed.tsx:365
msgid "Report feed"
msgstr "フィードを報告"
-#: src/view/screens/ProfileList.tsx:459
+#: src/view/screens/ProfileList.tsx:431
msgid "Report List"
msgstr "リストを報告"
-#: src/view/com/modals/report/SendReportButton.tsx:37
-#: src/view/com/util/forms/PostDropdownBtn.tsx:301
-#: src/view/com/util/forms/PostDropdownBtn.tsx:309
+#: src/view/com/util/forms/PostDropdownBtn.tsx:312
+#: src/view/com/util/forms/PostDropdownBtn.tsx:314
msgid "Report post"
msgstr "投稿を報告"
-#: src/view/com/modals/Repost.tsx:43
-#: src/view/com/modals/Repost.tsx:48
-#: src/view/com/modals/Repost.tsx:53
+#: src/components/ReportDialog/SelectReportOptionView.tsx:42
+msgid "Report this content"
+msgstr "このコンテンツを報告"
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:55
+msgid "Report this feed"
+msgstr "このフィードを報告"
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:52
+msgid "Report this list"
+msgstr "このリストを報告"
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:49
+msgid "Report this post"
+msgstr "この投稿を報告"
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:46
+msgid "Report this user"
+msgstr "このユーザーを報告"
+
+#: src/view/com/modals/Repost.tsx:44
+#: src/view/com/modals/Repost.tsx:49
+#: src/view/com/modals/Repost.tsx:54
#: src/view/com/util/post-ctrls/RepostButton.tsx:61
msgctxt "action"
msgid "Repost"
@@ -3381,7 +4103,7 @@ msgstr "リポストまたは引用"
msgid "Reposted By"
msgstr "リポストしたユーザー"
-#: src/view/com/posts/FeedItem.tsx:207
+#: src/view/com/posts/FeedItem.tsx:199
msgid "Reposted by {0}"
msgstr "{0}にリポストされた"
@@ -3389,15 +4111,19 @@ msgstr "{0}にリポストされた"
#~ msgid "Reposted by {0})"
#~ msgstr "{0}によるリポスト"
-#: src/view/com/posts/FeedItem.tsx:224
-msgid "Reposted by <0/>"
-msgstr "<0/>によるリポスト"
+#: src/view/com/posts/FeedItem.tsx:214
+#~ msgid "Reposted by <0/>"
+#~ msgstr "<0/>によるリポスト"
-#: src/view/com/notifications/FeedItem.tsx:162
+#: src/view/com/posts/FeedItem.tsx:216
+msgid "Reposted by <0><1/>0>"
+msgstr ""
+
+#: src/view/com/notifications/FeedItem.tsx:168
msgid "reposted your post"
msgstr "あなたの投稿はリポストされました"
-#: src/view/com/post-thread/PostThreadItem.tsx:188
+#: src/view/com/post-thread/PostThreadItem.tsx:187
msgid "Reposts of this post"
msgstr "この投稿をリポスト"
@@ -3410,57 +4136,58 @@ msgstr "変更を要求"
#~ msgid "Request code"
#~ msgstr "コードをリクエスト"
-#: src/view/com/modals/ChangePassword.tsx:239
#: src/view/com/modals/ChangePassword.tsx:241
+#: src/view/com/modals/ChangePassword.tsx:243
msgid "Request Code"
msgstr "コードをリクエスト"
-#: src/view/screens/Settings/index.tsx:456
+#: src/view/screens/Settings/index.tsx:426
msgid "Require alt text before posting"
msgstr "画像投稿時にALTテキストを必須とする"
-#: src/view/com/auth/create/Step1.tsx:146
+#: src/screens/Signup/StepInfo/index.tsx:69
msgid "Required for this provider"
msgstr "このプロバイダーに必要"
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:124
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:136
+#: src/view/com/modals/ChangePassword.tsx:185
msgid "Reset code"
-msgstr "コードをリセット"
+msgstr "リセットコード"
-#: src/view/com/modals/ChangePassword.tsx:190
+#: src/view/com/modals/ChangePassword.tsx:192
msgid "Reset Code"
-msgstr "コードをリセット"
+msgstr "リセットコード"
#: src/view/screens/Settings/index.tsx:824
-msgid "Reset onboarding"
-msgstr "オンボーディングの状態をリセット"
+#~ msgid "Reset onboarding"
+#~ msgstr "オンボーディングの状態をリセット"
-#: src/view/screens/Settings/index.tsx:827
+#: src/view/screens/Settings/index.tsx:822
+#: src/view/screens/Settings/index.tsx:825
msgid "Reset onboarding state"
msgstr "オンボーディングの状態をリセット"
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:104
+#: src/screens/Login/ForgotPasswordForm.tsx:86
msgid "Reset password"
msgstr "パスワードをリセット"
#: src/view/screens/Settings/index.tsx:814
-msgid "Reset preferences"
-msgstr "設定をリセット"
+#~ msgid "Reset preferences"
+#~ msgstr "設定をリセット"
-#: src/view/screens/Settings/index.tsx:817
+#: src/view/screens/Settings/index.tsx:812
+#: src/view/screens/Settings/index.tsx:815
msgid "Reset preferences state"
msgstr "設定をリセット"
-#: src/view/screens/Settings/index.tsx:825
+#: src/view/screens/Settings/index.tsx:823
msgid "Resets the onboarding state"
msgstr "オンボーディングの状態をリセットします"
-#: src/view/screens/Settings/index.tsx:815
+#: src/view/screens/Settings/index.tsx:813
msgid "Resets the preferences state"
msgstr "設定の状態をリセットします"
-#: src/view/com/auth/login/LoginForm.tsx:269
+#: src/screens/Login/LoginForm.tsx:235
msgid "Retries login"
msgstr "ログインをやり直す"
@@ -3469,12 +4196,13 @@ msgstr "ログインをやり直す"
msgid "Retries the last action, which errored out"
msgstr "エラーになった最後のアクションをやり直す"
-#: src/screens/Onboarding/StepInterests/index.tsx:221
-#: src/screens/Onboarding/StepInterests/index.tsx:224
-#: src/view/com/auth/create/CreateAccount.tsx:181
-#: src/view/com/auth/create/CreateAccount.tsx:186
-#: src/view/com/auth/login/LoginForm.tsx:268
-#: src/view/com/auth/login/LoginForm.tsx:271
+#: src/components/Error.tsx:79
+#: src/components/Lists.tsx:91
+#: src/screens/Login/LoginForm.tsx:234
+#: src/screens/Login/LoginForm.tsx:241
+#: src/screens/Onboarding/StepInterests/index.tsx:225
+#: src/screens/Onboarding/StepInterests/index.tsx:228
+#: src/screens/Signup/index.tsx:194
#: src/view/com/util/error/ErrorMessage.tsx:55
#: src/view/com/util/error/ErrorScreen.tsx:72
msgid "Retry"
@@ -3484,109 +4212,138 @@ msgstr "再試行"
#~ msgid "Retry."
#~ msgstr "再試行"
-#: src/view/screens/ProfileList.tsx:903
+#: src/components/Error.tsx:86
+#: src/view/screens/ProfileList.tsx:919
msgid "Return to previous page"
msgstr "前のページに戻る"
+#: src/view/screens/NotFound.tsx:59
+msgid "Returns to home page"
+msgstr "ホームページに戻る"
+
+#: src/view/screens/NotFound.tsx:58
+#: src/view/screens/ProfileFeed.tsx:113
+msgid "Returns to previous page"
+msgstr "前のページに戻る"
+
#: src/view/shell/desktop/RightNav.tsx:55
#~ msgid "SANDBOX. Posts and accounts are not permanent."
#~ msgstr "サンドボックス。投稿とアカウントは永久的なものではありません。"
+#: src/components/dialogs/BirthDateSettings.tsx:125
+#: src/view/com/modals/ChangeHandle.tsx:174
+#: src/view/com/modals/CreateOrEditList.tsx:338
+#: src/view/com/modals/EditProfile.tsx:225
+msgid "Save"
+msgstr "保存"
+
#: src/view/com/lightbox/Lightbox.tsx:132
-#: src/view/com/modals/CreateOrEditList.tsx:345
+#: src/view/com/modals/CreateOrEditList.tsx:346
msgctxt "action"
msgid "Save"
msgstr "保存"
-#: src/view/com/modals/BirthDateSettings.tsx:94
-#: src/view/com/modals/BirthDateSettings.tsx:97
-#: src/view/com/modals/ChangeHandle.tsx:173
-#: src/view/com/modals/CreateOrEditList.tsx:337
-#: src/view/com/modals/EditProfile.tsx:224
-#: src/view/screens/ProfileFeed.tsx:346
-msgid "Save"
-msgstr "保存"
-
-#: src/view/com/modals/AltImage.tsx:130
+#: src/view/com/modals/AltImage.tsx:131
msgid "Save alt text"
msgstr "ALTテキストを保存"
-#: src/view/com/modals/EditProfile.tsx:232
+#: src/components/dialogs/BirthDateSettings.tsx:119
+msgid "Save birthday"
+msgstr "生年月日を保存"
+
+#: src/view/com/modals/EditProfile.tsx:233
msgid "Save Changes"
msgstr "変更を保存"
-#: src/view/com/modals/ChangeHandle.tsx:170
+#: src/view/com/modals/ChangeHandle.tsx:171
msgid "Save handle change"
msgstr "ハンドルの変更を保存"
-#: src/view/com/modals/crop-image/CropImage.web.tsx:144
+#: src/view/com/modals/crop-image/CropImage.web.tsx:145
msgid "Save image crop"
msgstr "画像の切り抜きを保存"
-#: src/view/screens/SavedFeeds.tsx:122
+#: src/view/screens/ProfileFeed.tsx:347
+#: src/view/screens/ProfileFeed.tsx:353
+msgid "Save to my feeds"
+msgstr "マイフィードに保存"
+
+#: src/view/screens/SavedFeeds.tsx:123
msgid "Saved Feeds"
msgstr "保存されたフィード"
-#: src/view/com/modals/EditProfile.tsx:225
+#: src/view/com/lightbox/Lightbox.tsx:81
+msgid "Saved to your camera roll."
+msgstr "カメラロールに保存しました。"
+
+#: src/view/screens/ProfileFeed.tsx:214
+msgid "Saved to your feeds"
+msgstr "フィードを保存しました"
+
+#: src/view/com/modals/EditProfile.tsx:226
msgid "Saves any changes to your profile"
msgstr "プロフィールに加えた変更を保存します"
-#: src/view/com/modals/ChangeHandle.tsx:171
+#: src/view/com/modals/ChangeHandle.tsx:172
msgid "Saves handle change to {handle}"
msgstr "{handle}へのハンドルの変更を保存"
+#: src/view/com/modals/crop-image/CropImage.web.tsx:146
+msgid "Saves image crop settings"
+msgstr "画像の切り抜き設定を保存"
+
#: src/screens/Onboarding/index.tsx:36
msgid "Science"
msgstr "科学"
-#: src/view/screens/ProfileList.tsx:859
+#: src/view/screens/ProfileList.tsx:875
msgid "Scroll to top"
msgstr "一番上までスクロール"
-#: src/Navigation.tsx:447
-#: src/view/com/auth/LoggedOut.tsx:122
+#: src/Navigation.tsx:451
+#: src/view/com/auth/LoggedOut.tsx:123
#: src/view/com/modals/ListAddRemoveUsers.tsx:75
#: src/view/com/util/forms/SearchInput.tsx:67
#: src/view/com/util/forms/SearchInput.tsx:79
-#: src/view/screens/Search/Search.tsx:419
-#: src/view/screens/Search/Search.tsx:668
-#: src/view/screens/Search/Search.tsx:686
-#: src/view/shell/bottom-bar/BottomBar.tsx:159
-#: src/view/shell/desktop/LeftNav.tsx:324
-#: src/view/shell/desktop/Search.tsx:214
-#: src/view/shell/desktop/Search.tsx:223
-#: src/view/shell/Drawer.tsx:362
-#: src/view/shell/Drawer.tsx:363
+#: src/view/screens/Search/Search.tsx:568
+#: src/view/screens/Search/Search.tsx:817
+#: src/view/screens/Search/Search.tsx:835
+#: src/view/shell/bottom-bar/BottomBar.tsx:170
+#: src/view/shell/desktop/LeftNav.tsx:328
+#: src/view/shell/desktop/Search.tsx:215
+#: src/view/shell/desktop/Search.tsx:224
+#: src/view/shell/Drawer.tsx:371
+#: src/view/shell/Drawer.tsx:372
msgid "Search"
msgstr "検索"
-#: src/view/screens/Search/Search.tsx:735
-#: src/view/shell/desktop/Search.tsx:255
+#: src/view/screens/Search/Search.tsx:884
+#: src/view/shell/desktop/Search.tsx:256
msgid "Search for \"{query}\""
msgstr "「{query}」を検索"
#: src/components/TagMenu/index.tsx:145
msgid "Search for all posts by @{authorHandle} with tag {displayTag}"
-msgstr ""
+msgstr "{displayTag}のすべての投稿を検索(@{authorHandle}のみ)"
#: src/components/TagMenu/index.tsx:145
#~ msgid "Search for all posts by @{authorHandle} with tag {tag}"
-#~ msgstr ""
+#~ msgstr "{tag}のすべての投稿を検索(@{authorHandle}のみ)"
#: src/components/TagMenu/index.tsx:94
msgid "Search for all posts with tag {displayTag}"
-msgstr ""
+msgstr "{displayTag}のすべての投稿を検索(すべてのユーザー)"
#: src/components/TagMenu/index.tsx:90
#~ msgid "Search for all posts with tag {tag}"
-#~ msgstr ""
+#~ msgstr "{tag}のすべての投稿を検索(すべてのユーザー)"
#: src/view/screens/Search/Search.tsx:390
#~ msgid "Search for posts and users."
#~ msgstr "投稿とユーザーを検索します。"
-#: src/view/com/auth/LoggedOut.tsx:104
#: src/view/com/auth/LoggedOut.tsx:105
+#: src/view/com/auth/LoggedOut.tsx:106
#: src/view/com/modals/ListAddRemoveUsers.tsx:70
msgid "Search for users"
msgstr "ユーザーを検索"
@@ -3597,61 +4354,82 @@ msgstr "必要なセキュリティの手順"
#: src/components/TagMenu/index.web.tsx:66
msgid "See {truncatedTag} posts"
-msgstr ""
+msgstr "{truncatedTag}の投稿を表示(すべてのユーザー)"
#: src/components/TagMenu/index.web.tsx:83
msgid "See {truncatedTag} posts by user"
-msgstr ""
+msgstr "{truncatedTag}の投稿を表示(このユーザーのみ)"
#: src/components/TagMenu/index.tsx:128
msgid "See <0>{displayTag}0> posts"
-msgstr ""
+msgstr "<0>{displayTag}0>の投稿を表示(すべてのユーザー)"
#: src/components/TagMenu/index.tsx:187
msgid "See <0>{displayTag}0> posts by this user"
-msgstr ""
+msgstr "<0>{displayTag}0>の投稿を表示(このユーザーのみ)"
#: src/components/TagMenu/index.tsx:128
#~ msgid "See <0>{tag}0> posts"
-#~ msgstr ""
+#~ msgstr "<0>{tag}0>の投稿を表示(すべてのユーザー)"
#: src/components/TagMenu/index.tsx:189
#~ msgid "See <0>{tag}0> posts by this user"
-#~ msgstr ""
+#~ msgstr "<0>{tag}0>の投稿を表示(このユーザーのみ)"
-#: src/view/screens/SavedFeeds.tsx:163
+#: src/view/com/notifications/FeedItem.tsx:419
+#: src/view/com/util/UserAvatar.tsx:381
+msgid "See profile"
+msgstr ""
+
+#: src/view/screens/SavedFeeds.tsx:164
msgid "See this guide"
msgstr "ガイドを見る"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:39
-msgid "See what's next"
-msgstr "次を見る"
+#: src/view/com/auth/HomeLoggedOutCTA.tsx:40
+#~ msgid "See what's next"
+#~ msgstr "次を見る"
#: src/view/com/util/Selector.tsx:106
msgid "Select {item}"
msgstr "{item}を選択"
+#: src/screens/Login/ChooseAccountForm.tsx:61
+msgid "Select account"
+msgstr "アカウントを選択"
+
#: src/view/com/modals/ServerInput.tsx:75
#~ msgid "Select Bluesky Social"
#~ msgstr "Bluesky Socialを選択"
-#: src/view/com/auth/login/Login.tsx:117
+#: src/screens/Login/index.tsx:120
msgid "Select from an existing account"
msgstr "既存のアカウントから選択"
+#: src/view/screens/LanguageSettings.tsx:299
+msgid "Select languages"
+msgstr "言語を選択"
+
+#: src/components/ReportDialog/SelectLabelerView.tsx:30
+msgid "Select moderator"
+msgstr "モデレーターを選択"
+
#: src/view/com/util/Selector.tsx:107
msgid "Select option {i} of {numItems}"
msgstr "{numItems}個中{i}個目のオプションを選択"
#: src/view/com/auth/create/Step1.tsx:96
-#: src/view/com/auth/login/LoginForm.tsx:150
-msgid "Select service"
-msgstr "サービスを選択"
+#: src/view/com/auth/login/LoginForm.tsx:153
+#~ msgid "Select service"
+#~ msgstr "サービスを選択"
#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:52
msgid "Select some accounts below to follow"
msgstr "次のアカウントを選択してフォローしてください"
+#: src/components/ReportDialog/SubmitView.tsx:133
+msgid "Select the moderation service(s) to report to"
+msgstr "報告先のモデレーションサービスを選んでください"
+
#: src/view/com/auth/server-input/index.tsx:82
msgid "Select the service that hosts your data."
msgstr "データをホストするサービスを選択します。"
@@ -3660,11 +4438,11 @@ msgstr "データをホストするサービスを選択します。"
#~ msgid "Select the types of content that you want to see (or not see), and we'll handle the rest."
#~ msgstr "表示したい(または表示したくない)コンテンツの種類を選択してください。あとは私たちにお任せください。"
-#: src/screens/Onboarding/StepTopicalFeeds.tsx:96
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:100
msgid "Select topical feeds to follow from the list below"
msgstr "次のリストから話題のフィードを選択してフォローしてください"
-#: src/screens/Onboarding/StepModeration/index.tsx:75
+#: src/screens/Onboarding/StepModeration/index.tsx:63
msgid "Select what you want to see (or not see), and we’ll handle the rest."
msgstr "見たい(または見たくない)ものを選択してください。あとは私たちにお任せください。"
@@ -3673,10 +4451,18 @@ msgid "Select which languages you want your subscribed feeds to include. If none
msgstr "登録されたフィードに含める言語を選択します。選択されていない場合は、すべての言語が表示されます。"
#: src/view/screens/LanguageSettings.tsx:98
-msgid "Select your app language for the default text to display in the app"
+#~ msgid "Select your app language for the default text to display in the app"
+#~ msgstr "アプリに表示されるデフォルトのテキストの言語を選択"
+
+#: src/view/screens/LanguageSettings.tsx:98
+msgid "Select your app language for the default text to display in the app."
msgstr "アプリに表示されるデフォルトのテキストの言語を選択"
-#: src/screens/Onboarding/StepInterests/index.tsx:196
+#: src/screens/Signup/StepInfo/index.tsx:135
+msgid "Select your date of birth"
+msgstr "生年月日を選択"
+
+#: src/screens/Onboarding/StepInterests/index.tsx:200
msgid "Select your interests from the options below"
msgstr "次のオプションから興味のあるものを選択してください"
@@ -3688,24 +4474,24 @@ msgstr "次のオプションから興味のあるものを選択してくださ
msgid "Select your preferred language for translations in your feed."
msgstr "フィード内の翻訳に使用する言語を選択します。"
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:116
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:117
msgid "Select your primary algorithmic feeds"
-msgstr "1番目のフィードのアルゴリズムを選択してください"
+msgstr "1番目のフィードのアルゴリズムを選択してください"
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:142
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:133
msgid "Select your secondary algorithmic feeds"
-msgstr "2番目のフィードのアルゴリズムを選択してください"
+msgstr "2番目のフィードのアルゴリズムを選択してください"
#: src/view/com/modals/VerifyEmail.tsx:202
#: src/view/com/modals/VerifyEmail.tsx:204
msgid "Send Confirmation Email"
msgstr "確認のメールを送信"
-#: src/view/com/modals/DeleteAccount.tsx:131
+#: src/view/com/modals/DeleteAccount.tsx:130
msgid "Send email"
msgstr "メールを送信"
-#: src/view/com/modals/DeleteAccount.tsx:144
+#: src/view/com/modals/DeleteAccount.tsx:143
msgctxt "action"
msgid "Send Email"
msgstr "メールを送信"
@@ -3714,60 +4500,73 @@ msgstr "メールを送信"
#~ msgid "Send Email"
#~ msgstr "メールを送信"
-#: src/view/shell/Drawer.tsx:295
-#: src/view/shell/Drawer.tsx:316
+#: src/view/shell/Drawer.tsx:304
+#: src/view/shell/Drawer.tsx:325
msgid "Send feedback"
msgstr "フィードバックを送信"
-#: src/view/com/modals/report/SendReportButton.tsx:45
-msgid "Send Report"
+#: src/components/ReportDialog/SubmitView.tsx:213
+#: src/components/ReportDialog/SubmitView.tsx:217
+msgid "Send report"
msgstr "報告を送信"
-#: src/view/com/modals/DeleteAccount.tsx:133
+#: src/view/com/modals/report/SendReportButton.tsx:45
+#~ msgid "Send Report"
+#~ msgstr "報告を送信"
+
+#: src/components/ReportDialog/SelectLabelerView.tsx:44
+msgid "Send report to {0}"
+msgstr "{0}に報告を送信"
+
+#: src/view/com/modals/DeleteAccount.tsx:132
msgid "Sends email with confirmation code for account deletion"
msgstr "アカウントの削除の確認コードをメールに送信"
-#: src/view/com/auth/server-input/index.tsx:110
+#: src/view/com/auth/server-input/index.tsx:114
msgid "Server address"
-msgstr ""
+msgstr "サーバーアドレス"
#: src/view/com/modals/ContentFilteringSettings.tsx:311
-msgid "Set {value} for {labelGroup} content moderation policy"
-msgstr "{labelGroup}コンテンツのモデレーションポリシーを{value}に設定します"
+#~ msgid "Set {value} for {labelGroup} content moderation policy"
+#~ msgstr "{labelGroup}コンテンツのモデレーションポリシーを{value}に設定します"
#: src/view/com/modals/ContentFilteringSettings.tsx:160
#: src/view/com/modals/ContentFilteringSettings.tsx:179
-msgctxt "action"
-msgid "Set Age"
-msgstr "年齢を設定"
+#~ msgctxt "action"
+#~ msgid "Set Age"
+#~ msgstr "年齢を設定"
+
+#: src/screens/Moderation/index.tsx:304
+msgid "Set birthdate"
+msgstr "生年月日を設定"
#: src/view/screens/Settings/index.tsx:488
-msgid "Set color theme to dark"
-msgstr "カラーテーマを暗いものに設定します"
+#~ msgid "Set color theme to dark"
+#~ msgstr "カラーテーマをダークに設定します"
#: src/view/screens/Settings/index.tsx:481
-msgid "Set color theme to light"
-msgstr "カラーテーマをライトに設定します"
+#~ msgid "Set color theme to light"
+#~ msgstr "カラーテーマをライトに設定します"
#: src/view/screens/Settings/index.tsx:475
-msgid "Set color theme to system setting"
-msgstr "デバイスで設定したカラーテーマを使用するように設定します"
+#~ msgid "Set color theme to system setting"
+#~ msgstr "デバイスで設定したカラーテーマを使用するように設定します"
#: src/view/screens/Settings/index.tsx:514
-msgid "Set dark theme to the dark theme"
-msgstr "ダークテーマをダークに設定します"
+#~ msgid "Set dark theme to the dark theme"
+#~ msgstr "ダークテーマを暗いものに設定します"
#: src/view/screens/Settings/index.tsx:507
-msgid "Set dark theme to the dim theme"
-msgstr "ダークテーマを薄暗いものに設定します"
+#~ msgid "Set dark theme to the dim theme"
+#~ msgstr "ダークテーマを薄暗いものに設定します"
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:104
+#: src/screens/Login/SetNewPasswordForm.tsx:102
msgid "Set new password"
msgstr "新しいパスワードを設定"
#: src/view/com/auth/create/Step1.tsx:202
-msgid "Set password"
-msgstr "パスワードを設定"
+#~ msgid "Set password"
+#~ msgstr "パスワードを設定"
#: src/view/screens/PreferencesFollowingFeed.tsx:225
msgid "Set this setting to \"No\" to hide all quote posts from your feed. Reposts will still be visible."
@@ -3791,38 +4590,70 @@ msgstr "スレッド表示で返信を表示するには、この設定を「は
#: src/view/screens/PreferencesFollowingFeed.tsx:261
msgid "Set this setting to \"Yes\" to show samples of your saved feeds in your Following feed. This is an experimental feature."
-msgstr ""
+msgstr "保存されたフィードから投稿を抽出してFollowingフィードに表示するには、この設定を「はい」にします。これは実験的な機能です。"
-#: src/screens/Onboarding/Layout.tsx:50
+#: src/screens/Onboarding/Layout.tsx:48
msgid "Set up your account"
msgstr "アカウントを設定する"
-#: src/view/com/modals/ChangeHandle.tsx:266
+#: src/view/com/modals/ChangeHandle.tsx:267
msgid "Sets Bluesky username"
msgstr "Blueskyのユーザーネームを設定"
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:157
+#: src/view/screens/Settings/index.tsx:458
+msgid "Sets color theme to dark"
+msgstr "カラーテーマをダークに設定します"
+
+#: src/view/screens/Settings/index.tsx:451
+msgid "Sets color theme to light"
+msgstr "カラーテーマをライトに設定します"
+
+#: src/view/screens/Settings/index.tsx:445
+msgid "Sets color theme to system setting"
+msgstr "デバイスで設定したカラーテーマを使用するように設定します"
+
+#: src/view/screens/Settings/index.tsx:484
+msgid "Sets dark theme to the dark theme"
+msgstr "ダークテーマを暗いものに設定します"
+
+#: src/view/screens/Settings/index.tsx:477
+msgid "Sets dark theme to the dim theme"
+msgstr "ダークテーマを薄暗いものに設定します"
+
+#: src/screens/Login/ForgotPasswordForm.tsx:113
msgid "Sets email for password reset"
msgstr "パスワードをリセットするためのメールアドレスを入力"
#: src/view/com/auth/login/ForgotPasswordForm.tsx:122
-msgid "Sets hosting provider for password reset"
-msgstr "パスワードをリセットするためのホスティングプロバイダーを入力"
+#~ msgid "Sets hosting provider for password reset"
+#~ msgstr "パスワードをリセットするためのホスティングプロバイダーを入力"
#: src/view/com/auth/create/Step1.tsx:143
#~ msgid "Sets hosting provider to {label}"
#~ msgstr "ホスティングプロバイダーを{label}に設定"
-#: src/view/com/auth/create/Step1.tsx:97
-#: src/view/com/auth/login/LoginForm.tsx:151
-msgid "Sets server for the Bluesky client"
-msgstr "Blueskyのクライアントのサーバーを設定"
+#: src/view/com/modals/crop-image/CropImage.web.tsx:124
+msgid "Sets image aspect ratio to square"
+msgstr "画像のアスペクト比を正方形に設定"
-#: src/Navigation.tsx:137
-#: src/view/screens/Settings/index.tsx:294
-#: src/view/shell/desktop/LeftNav.tsx:433
-#: src/view/shell/Drawer.tsx:567
-#: src/view/shell/Drawer.tsx:568
+#: src/view/com/modals/crop-image/CropImage.web.tsx:114
+msgid "Sets image aspect ratio to tall"
+msgstr "画像のアスペクト比を縦長に設定"
+
+#: src/view/com/modals/crop-image/CropImage.web.tsx:104
+msgid "Sets image aspect ratio to wide"
+msgstr "画像のアスペクト比をワイドに設定"
+
+#: src/view/com/auth/create/Step1.tsx:97
+#: src/view/com/auth/login/LoginForm.tsx:154
+#~ msgid "Sets server for the Bluesky client"
+#~ msgstr "Blueskyのクライアントのサーバーを設定"
+
+#: src/Navigation.tsx:139
+#: src/view/screens/Settings/index.tsx:316
+#: src/view/shell/desktop/LeftNav.tsx:437
+#: src/view/shell/Drawer.tsx:576
+#: src/view/shell/Drawer.tsx:577
msgid "Settings"
msgstr "設定"
@@ -3830,28 +4661,49 @@ msgstr "設定"
msgid "Sexual activity or erotic nudity."
msgstr "性的行為または性的なヌード。"
+#: src/lib/moderation/useGlobalLabelStrings.ts:38
+msgid "Sexually Suggestive"
+msgstr "性的にきわどい"
+
#: src/view/com/lightbox/Lightbox.tsx:141
msgctxt "action"
msgid "Share"
msgstr "共有"
-#: src/view/com/profile/ProfileHeader.tsx:295
-#: src/view/com/util/forms/PostDropdownBtn.tsx:231
-#: src/view/com/util/forms/PostDropdownBtn.tsx:237
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:215
-#: src/view/screens/ProfileList.tsx:418
+#: src/view/com/profile/ProfileMenu.tsx:215
+#: src/view/com/profile/ProfileMenu.tsx:224
+#: src/view/com/util/forms/PostDropdownBtn.tsx:236
+#: src/view/com/util/forms/PostDropdownBtn.tsx:245
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:237
+#: src/view/screens/ProfileList.tsx:390
msgid "Share"
msgstr "共有"
-#: src/view/screens/ProfileFeed.tsx:305
+#: src/view/com/profile/ProfileMenu.tsx:373
+#: src/view/com/util/forms/PostDropdownBtn.tsx:369
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:253
+msgid "Share anyway"
+msgstr "とにかく共有"
+
+#: src/view/screens/ProfileFeed.tsx:373
+#: src/view/screens/ProfileFeed.tsx:375
msgid "Share feed"
msgstr "フィードを共有"
-#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:43
-#: src/view/com/modals/ContentFilteringSettings.tsx:266
-#: src/view/com/util/moderation/ContentHider.tsx:107
-#: src/view/com/util/moderation/PostHider.tsx:108
-#: src/view/screens/Settings/index.tsx:344
+#: src/view/com/modals/LinkWarning.tsx:89
+#: src/view/com/modals/LinkWarning.tsx:95
+msgid "Share Link"
+msgstr "リンクを共有"
+
+#: src/view/com/modals/LinkWarning.tsx:92
+msgid "Shares the linked website"
+msgstr "リンクしたウェブサイトを共有"
+
+#: src/components/moderation/ContentHider.tsx:115
+#: src/components/moderation/LabelPreference.tsx:136
+#: src/components/moderation/PostHider.tsx:107
+#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:54
+#: src/view/screens/Settings/index.tsx:366
msgid "Show"
msgstr "表示"
@@ -3859,21 +4711,31 @@ msgstr "表示"
msgid "Show all replies"
msgstr "すべての返信を表示"
-#: src/view/com/util/moderation/ScreenHider.tsx:132
+#: src/components/moderation/ScreenHider.tsx:169
+#: src/components/moderation/ScreenHider.tsx:172
msgid "Show anyway"
msgstr "とにかく表示"
-#: src/view/com/modals/EmbedConsent.tsx:87
-msgid "Show embeds from {0}"
-msgstr "{0}による埋め込みを表示"
+#: src/lib/moderation/useLabelBehaviorDescription.ts:27
+#: src/lib/moderation/useLabelBehaviorDescription.ts:63
+msgid "Show badge"
+msgstr "バッジを表示"
-#: src/view/com/profile/ProfileHeader.tsx:459
+#: src/lib/moderation/useLabelBehaviorDescription.ts:61
+msgid "Show badge and filter from feeds"
+msgstr "バッジの表示とフィードからのフィルタリング"
+
+#: src/view/com/modals/EmbedConsent.tsx:87
+#~ msgid "Show embeds from {0}"
+#~ msgstr "{0}による埋め込みを表示"
+
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:200
msgid "Show follows similar to {0}"
msgstr "{0}に似たおすすめのフォロー候補を表示"
-#: src/view/com/post-thread/PostThreadItem.tsx:538
-#: src/view/com/post/Post.tsx:198
-#: src/view/com/posts/FeedItem.tsx:363
+#: src/view/com/post-thread/PostThreadItem.tsx:501
+#: src/view/com/post/Post.tsx:212
+#: src/view/com/posts/FeedItem.tsx:360
msgid "Show More"
msgstr "さらに表示"
@@ -3885,15 +4747,15 @@ msgstr "マイフィードからの投稿を表示"
msgid "Show Quote Posts"
msgstr "引用を表示"
-#: src/screens/Onboarding/StepFollowingFeed.tsx:118
+#: src/screens/Onboarding/StepFollowingFeed.tsx:119
msgid "Show quote-posts in Following feed"
msgstr "Followingフィードで引用を表示"
-#: src/screens/Onboarding/StepFollowingFeed.tsx:134
+#: src/screens/Onboarding/StepFollowingFeed.tsx:135
msgid "Show quotes in Following"
msgstr "Followingフィードで引用を表示"
-#: src/screens/Onboarding/StepFollowingFeed.tsx:94
+#: src/screens/Onboarding/StepFollowingFeed.tsx:95
msgid "Show re-posts in Following feed"
msgstr "Followingフィードでリポストを表示"
@@ -3905,11 +4767,11 @@ msgstr "返信を表示"
msgid "Show replies by people you follow before all other replies."
msgstr "自分がフォローしているユーザーからの返信を、他のすべての返信の前に表示します。"
-#: src/screens/Onboarding/StepFollowingFeed.tsx:86
+#: src/screens/Onboarding/StepFollowingFeed.tsx:87
msgid "Show replies in Following"
msgstr "Followingフィードで返信を表示"
-#: src/screens/Onboarding/StepFollowingFeed.tsx:70
+#: src/screens/Onboarding/StepFollowingFeed.tsx:71
msgid "Show replies in Following feed"
msgstr "Followingフィードで返信を表示"
@@ -3921,107 +4783,127 @@ msgstr "{value}個以上の{0}がついた返信を表示"
msgid "Show Reposts"
msgstr "リポストを表示"
-#: src/screens/Onboarding/StepFollowingFeed.tsx:110
+#: src/screens/Onboarding/StepFollowingFeed.tsx:111
msgid "Show reposts in Following"
msgstr "Followingフィードでリポストを表示"
-#: src/view/com/util/moderation/ContentHider.tsx:67
-#: src/view/com/util/moderation/PostHider.tsx:61
+#: src/components/moderation/ContentHider.tsx:68
+#: src/components/moderation/PostHider.tsx:64
msgid "Show the content"
msgstr "コンテンツを表示"
-#: src/view/com/notifications/FeedItem.tsx:347
+#: src/view/com/notifications/FeedItem.tsx:353
msgid "Show users"
msgstr "ユーザーを表示"
-#: src/view/com/profile/ProfileHeader.tsx:462
-msgid "Shows a list of users similar to this user."
-msgstr "このユーザーに似たユーザーのリストを表示します。"
+#: src/lib/moderation/useLabelBehaviorDescription.ts:58
+msgid "Show warning"
+msgstr "警告を表示"
-#: src/view/com/post-thread/PostThreadFollowBtn.tsx:124
-#: src/view/com/profile/ProfileHeader.tsx:506
+#: src/lib/moderation/useLabelBehaviorDescription.ts:56
+msgid "Show warning and filter from feeds"
+msgstr "警告の表示とフィードからのフィルタリング"
+
+#: src/view/com/profile/ProfileHeader.tsx:462
+#~ msgid "Shows a list of users similar to this user."
+#~ msgstr "このユーザーに似たユーザーのリストを表示します。"
+
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:130
msgid "Shows posts from {0} in your feed"
msgstr "マイフィード内の{0}からの投稿を表示します"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:70
-#: src/view/com/auth/login/Login.tsx:98
-#: src/view/com/auth/SplashScreen.tsx:79
-#: src/view/shell/bottom-bar/BottomBar.tsx:285
-#: src/view/shell/bottom-bar/BottomBar.tsx:286
-#: src/view/shell/bottom-bar/BottomBar.tsx:288
+#: src/components/dialogs/Signin.tsx:97
+#: src/components/dialogs/Signin.tsx:99
+#: src/screens/Login/index.tsx:100
+#: src/screens/Login/index.tsx:119
+#: src/screens/Login/LoginForm.tsx:131
+#: src/view/com/auth/SplashScreen.tsx:63
+#: src/view/com/auth/SplashScreen.tsx:72
+#: src/view/com/auth/SplashScreen.web.tsx:107
+#: src/view/com/auth/SplashScreen.web.tsx:116
+#: src/view/shell/bottom-bar/BottomBar.tsx:301
+#: src/view/shell/bottom-bar/BottomBar.tsx:302
+#: src/view/shell/bottom-bar/BottomBar.tsx:304
#: src/view/shell/bottom-bar/BottomBarWeb.tsx:178
#: src/view/shell/bottom-bar/BottomBarWeb.tsx:179
#: src/view/shell/bottom-bar/BottomBarWeb.tsx:181
-#: src/view/shell/NavSignupCard.tsx:58
-#: src/view/shell/NavSignupCard.tsx:59
+#: src/view/shell/NavSignupCard.tsx:63
+#: src/view/shell/NavSignupCard.tsx:64
+#: src/view/shell/NavSignupCard.tsx:66
msgid "Sign in"
msgstr "サインイン"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:78
-#: src/view/com/auth/SplashScreen.tsx:82
+#: src/view/com/auth/HomeLoggedOutCTA.tsx:82
+#: src/view/com/auth/SplashScreen.tsx:86
#: src/view/com/auth/SplashScreen.web.tsx:91
-msgid "Sign In"
-msgstr "サインイン"
+#~ msgid "Sign In"
+#~ msgstr "サインイン"
-#: src/view/com/auth/login/ChooseAccountForm.tsx:44
+#: src/components/AccountList.tsx:109
msgid "Sign in as {0}"
msgstr "{0}としてサインイン"
-#: src/view/com/auth/login/ChooseAccountForm.tsx:118
-#: src/view/com/auth/login/Login.tsx:116
+#: src/screens/Login/ChooseAccountForm.tsx:64
msgid "Sign in as..."
msgstr "アカウントの選択"
-#: src/view/com/auth/login/LoginForm.tsx:137
-msgid "Sign into"
-msgstr "サインイン"
+#: src/components/dialogs/Signin.tsx:75
+msgid "Sign in or create your account to join the conversation!"
+msgstr ""
-#: src/view/com/modals/SwitchAccount.tsx:64
-#: src/view/com/modals/SwitchAccount.tsx:69
-#: src/view/screens/Settings/index.tsx:100
-#: src/view/screens/Settings/index.tsx:103
+#: src/view/com/auth/login/LoginForm.tsx:140
+#~ msgid "Sign into"
+#~ msgstr "サインイン"
+
+#: src/components/dialogs/Signin.tsx:46
+msgid "Sign into Bluesky or create a new account"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:118
+#: src/view/screens/Settings/index.tsx:121
msgid "Sign out"
msgstr "サインアウト"
-#: src/view/shell/bottom-bar/BottomBar.tsx:275
-#: src/view/shell/bottom-bar/BottomBar.tsx:276
-#: src/view/shell/bottom-bar/BottomBar.tsx:278
+#: src/view/shell/bottom-bar/BottomBar.tsx:291
+#: src/view/shell/bottom-bar/BottomBar.tsx:292
+#: src/view/shell/bottom-bar/BottomBar.tsx:294
#: src/view/shell/bottom-bar/BottomBarWeb.tsx:168
#: src/view/shell/bottom-bar/BottomBarWeb.tsx:169
#: src/view/shell/bottom-bar/BottomBarWeb.tsx:171
-#: src/view/shell/NavSignupCard.tsx:49
-#: src/view/shell/NavSignupCard.tsx:50
-#: src/view/shell/NavSignupCard.tsx:52
+#: src/view/shell/NavSignupCard.tsx:54
+#: src/view/shell/NavSignupCard.tsx:55
+#: src/view/shell/NavSignupCard.tsx:57
msgid "Sign up"
msgstr "サインアップ"
-#: src/view/shell/NavSignupCard.tsx:42
+#: src/view/shell/NavSignupCard.tsx:47
msgid "Sign up or sign in to join the conversation"
msgstr "サインアップまたはサインインして会話に参加"
-#: src/view/com/util/moderation/ScreenHider.tsx:76
+#: src/components/moderation/ScreenHider.tsx:97
+#: src/lib/moderation/useGlobalLabelStrings.ts:28
msgid "Sign-in Required"
msgstr "サインインが必要"
-#: src/view/screens/Settings/index.tsx:355
+#: src/view/screens/Settings/index.tsx:377
msgid "Signed in as"
msgstr "サインイン済み"
-#: src/view/com/auth/login/ChooseAccountForm.tsx:103
+#: src/screens/Login/ChooseAccountForm.tsx:48
msgid "Signed in as @{0}"
msgstr "@{0}でサインイン"
-#: src/view/com/modals/SwitchAccount.tsx:66
-msgid "Signs {0} out of Bluesky"
-msgstr "Blueskyから{0}をサインアウト"
+#: src/view/com/modals/SwitchAccount.tsx:70
+#~ msgid "Signs {0} out of Bluesky"
+#~ msgstr "Blueskyから{0}をサインアウト"
-#: src/screens/Onboarding/StepInterests/index.tsx:235
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:195
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:33
+#: src/screens/Onboarding/StepInterests/index.tsx:239
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:203
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:35
msgid "Skip"
msgstr "スキップ"
-#: src/screens/Onboarding/StepInterests/index.tsx:232
+#: src/screens/Onboarding/StepInterests/index.tsx:236
msgid "Skip this flow"
msgstr "この手順をスキップする"
@@ -4035,19 +4917,25 @@ msgstr "ソフトウェア開発"
#: src/view/com/modals/ProfilePreview.tsx:62
#~ msgid "Something went wrong and we're not sure what."
-#~ msgstr "何かの問題が起きましたが、それが何なのかわかりません。"
+#~ msgstr "何かの問題が起きましたが、それがなんなのかわかりません。"
+
+#: src/components/ReportDialog/index.tsx:59
+#: src/screens/Moderation/index.tsx:114
+#: src/screens/Profile/Sections/Labels.tsx:87
+msgid "Something went wrong, please try again."
+msgstr "なにか間違っているようなので、もう一度お試しください。"
#: src/components/Lists.tsx:203
-msgid "Something went wrong!"
-msgstr ""
+#~ msgid "Something went wrong!"
+#~ msgstr "なにかが間違っているようです!"
#: src/view/com/modals/Waitlist.tsx:51
#~ msgid "Something went wrong. Check your email and try again."
#~ msgstr "なんらかの問題が発生しました。メールアドレスを確認し、もう一度お試しください。"
-#: src/App.native.tsx:66
+#: src/App.native.tsx:64
msgid "Sorry! Your session expired. Please log in again."
-msgstr "申し訳ありません!セッションの有効期限が切れました。もう一度ログインしてください。"
+msgstr "大変申し訳ありません!セッションの有効期限が切れました。もう一度ログインしてください。"
#: src/view/screens/PreferencesThreads.tsx:69
msgid "Sort Replies"
@@ -4057,11 +4945,23 @@ msgstr "返信を並び替える"
msgid "Sort replies to the same post by:"
msgstr "次の方法で同じ投稿への返信を並び替えます。"
+#: src/components/moderation/LabelsOnMeDialog.tsx:146
+msgid "Source:"
+msgstr "ソース:"
+
+#: src/lib/moderation/useReportOptions.ts:65
+msgid "Spam"
+msgstr "スパム"
+
+#: src/lib/moderation/useReportOptions.ts:53
+msgid "Spam; excessive mentions or replies"
+msgstr "スパム、過剰なメンションや返信"
+
#: src/screens/Onboarding/index.tsx:30
msgid "Sports"
msgstr "スポーツ"
-#: src/view/com/modals/crop-image/CropImage.web.tsx:122
+#: src/view/com/modals/crop-image/CropImage.web.tsx:123
msgid "Square"
msgstr "正方形"
@@ -4069,41 +4969,58 @@ msgstr "正方形"
#~ msgid "Staging"
#~ msgstr "ステージング"
-#: src/view/screens/Settings/index.tsx:871
+#: src/view/screens/Settings/index.tsx:867
msgid "Status page"
msgstr "ステータスページ"
+#: src/screens/Signup/index.tsx:143
+msgid "Step"
+msgstr "ステップ"
+
#: src/view/com/auth/create/StepHeader.tsx:22
-msgid "Step {0} of {numSteps}"
-msgstr "{numSteps}個中{0}個目のステップ"
+#~ msgid "Step {0} of {numSteps}"
+#~ msgstr "{numSteps}個中{0}個目のステップ"
#: src/view/com/auth/create/StepHeader.tsx:15
#~ msgid "Step {step} of 3"
#~ msgstr "3個中{step}個目のステップ"
-#: src/view/screens/Settings/index.tsx:274
+#: src/view/screens/Settings/index.tsx:295
msgid "Storage cleared, you need to restart the app now."
msgstr "ストレージがクリアされたため、今すぐアプリを再起動する必要があります。"
-#: src/Navigation.tsx:204
-#: src/view/screens/Settings/index.tsx:807
+#: src/Navigation.tsx:211
+#: src/view/screens/Settings/index.tsx:795
msgid "Storybook"
msgstr "ストーリーブック"
-#: src/view/com/modals/AppealLabel.tsx:101
+#: src/components/moderation/LabelsOnMeDialog.tsx:255
+#: src/components/moderation/LabelsOnMeDialog.tsx:256
msgid "Submit"
msgstr "送信"
-#: src/view/screens/ProfileList.tsx:608
+#: src/view/screens/ProfileList.tsx:592
msgid "Subscribe"
msgstr "登録"
-#: src/screens/Onboarding/StepAlgoFeeds/FeedCard.tsx:173
-#: src/screens/Onboarding/StepAlgoFeeds/FeedCard.tsx:308
-msgid "Subscribe to the {0} feed"
-msgstr "「{0}」フィードを登録"
+#: src/screens/Profile/Sections/Labels.tsx:191
+msgid "Subscribe to @{0} to use these labels:"
+msgstr "これらのラベルを使用するには@{0}を登録してください:"
-#: src/view/screens/ProfileList.tsx:604
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:227
+msgid "Subscribe to Labeler"
+msgstr "ラベラーを登録する"
+
+#: src/screens/Onboarding/StepAlgoFeeds/FeedCard.tsx:172
+#: src/screens/Onboarding/StepAlgoFeeds/FeedCard.tsx:307
+msgid "Subscribe to the {0} feed"
+msgstr "{0} フィードを登録"
+
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:191
+msgid "Subscribe to this labeler"
+msgstr "このラベラーを登録"
+
+#: src/view/screens/ProfileList.tsx:588
msgid "Subscribe to this list"
msgstr "このリストに登録"
@@ -4111,11 +5028,11 @@ msgstr "このリストに登録"
#~ msgid "Subscribed"
#~ msgstr "登録済み"
-#: src/view/screens/Search/Search.tsx:374
+#: src/view/screens/Search/Search.tsx:523
msgid "Suggested Follows"
msgstr "おすすめのフォロー"
-#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:64
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:65
msgid "Suggested for you"
msgstr "あなたへのおすすめ"
@@ -4123,7 +5040,7 @@ msgstr "あなたへのおすすめ"
msgid "Suggestive"
msgstr "きわどい"
-#: src/Navigation.tsx:214
+#: src/Navigation.tsx:226
#: src/view/screens/Support.tsx:30
#: src/view/screens/Support.tsx:33
msgid "Support"
@@ -4133,41 +5050,40 @@ msgstr "サポート"
#~ msgid "Swipe up to see more"
#~ msgstr "上にスワイプしてさらに表示"
-#: src/view/com/modals/SwitchAccount.tsx:117
+#: src/components/dialogs/SwitchAccount.tsx:46
+#: src/components/dialogs/SwitchAccount.tsx:49
msgid "Switch Account"
msgstr "アカウントを切り替える"
-#: src/view/com/modals/SwitchAccount.tsx:97
-#: src/view/screens/Settings/index.tsx:130
+#: src/view/screens/Settings/index.tsx:150
msgid "Switch to {0}"
msgstr "{0}に切り替え"
-#: src/view/com/modals/SwitchAccount.tsx:98
-#: src/view/screens/Settings/index.tsx:131
+#: src/view/screens/Settings/index.tsx:151
msgid "Switches the account you are logged in to"
msgstr "ログインしているアカウントを切り替えます"
-#: src/view/screens/Settings/index.tsx:472
+#: src/view/screens/Settings/index.tsx:442
msgid "System"
msgstr "システム"
-#: src/view/screens/Settings/index.tsx:795
+#: src/view/screens/Settings/index.tsx:783
msgid "System log"
msgstr "システムログ"
-#: src/components/dialogs/MutedWords.tsx:337
+#: src/components/dialogs/MutedWords.tsx:323
msgid "tag"
-msgstr ""
+msgstr "タグ"
#: src/components/TagMenu/index.tsx:78
msgid "Tag menu: {displayTag}"
-msgstr ""
+msgstr "タグメニュー:{displayTag}"
#: src/components/TagMenu/index.tsx:74
#~ msgid "Tag menu: {tag}"
-#~ msgstr ""
+#~ msgstr "タグメニュー:{tag}"
-#: src/view/com/modals/crop-image/CropImage.web.tsx:112
+#: src/view/com/modals/crop-image/CropImage.web.tsx:113
msgid "Tall"
msgstr "トール"
@@ -4183,30 +5099,49 @@ msgstr "テクノロジー"
msgid "Terms"
msgstr "条件"
-#: src/Navigation.tsx:224
-#: src/view/screens/Settings/index.tsx:885
+#: src/Navigation.tsx:236
+#: src/screens/Signup/StepInfo/Policies.tsx:49
+#: src/view/screens/Settings/index.tsx:881
#: src/view/screens/TermsOfService.tsx:29
-#: src/view/shell/Drawer.tsx:256
+#: src/view/shell/Drawer.tsx:265
msgid "Terms of Service"
msgstr "利用規約"
-#: src/components/dialogs/MutedWords.tsx:337
-msgid "text"
-msgstr ""
+#: src/lib/moderation/useReportOptions.ts:58
+#: src/lib/moderation/useReportOptions.ts:79
+#: src/lib/moderation/useReportOptions.ts:87
+msgid "Terms used violate community standards"
+msgstr "使用されている用語がコミュニティ基準に違反している"
-#: src/view/com/modals/AppealLabel.tsx:70
-#: src/view/com/modals/report/InputIssueDetails.tsx:51
+#: src/components/dialogs/MutedWords.tsx:323
+msgid "text"
+msgstr "テキスト"
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:219
msgid "Text input field"
msgstr "テキストの入力フィールド"
-#: src/view/com/auth/create/CreateAccount.tsx:94
-msgid "That handle is already taken."
-msgstr ""
+#: src/components/ReportDialog/SubmitView.tsx:76
+msgid "Thank you. Your report has been sent."
+msgstr "ありがとうございます。あなたの報告は送信されました。"
-#: src/view/com/profile/ProfileHeader.tsx:263
+#: src/view/com/modals/ChangeHandle.tsx:465
+msgid "That contains the following:"
+msgstr "その内容は以下の通りです:"
+
+#: src/screens/Signup/index.tsx:85
+msgid "That handle is already taken."
+msgstr "そのハンドルはすでに使用されています。"
+
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:282
+#: src/view/com/profile/ProfileMenu.tsx:349
msgid "The account will be able to interact with you after unblocking."
msgstr "このアカウントは、ブロック解除後にあなたとやり取りすることができます。"
+#: src/components/moderation/ModerationDetailsDialog.tsx:127
+msgid "the author"
+msgstr "投稿者"
+
#: src/view/screens/CommunityGuidelines.tsx:36
msgid "The Community Guidelines have been moved to <0/>"
msgstr "コミュニティーガイドラインは<0/>に移動しました"
@@ -4215,11 +5150,20 @@ msgstr "コミュニティーガイドラインは<0/>に移動しました"
msgid "The Copyright Policy has been moved to <0/>"
msgstr "著作権ポリシーは<0/>に移動しました"
-#: src/screens/Onboarding/Layout.tsx:60
+#: src/components/moderation/LabelsOnMeDialog.tsx:48
+msgid "The following labels were applied to your account."
+msgstr "以下のラベルがあなたのアカウントに適用されました。"
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:49
+msgid "The following labels were applied to your content."
+msgstr "以下のラベルがあなたのコンテンツに適用されました。"
+
+#: src/screens/Onboarding/Layout.tsx:58
msgid "The following steps will help customize your Bluesky experience."
msgstr "次の手順であなたのBlueskyでの体験をカスタマイズできます。"
-#: src/view/com/post-thread/PostThread.tsx:517
+#: src/view/com/post-thread/PostThread.tsx:153
+#: src/view/com/post-thread/PostThread.tsx:165
msgid "The post may have been deleted."
msgstr "投稿が削除された可能性があります。"
@@ -4229,45 +5173,45 @@ msgstr "プライバシーポリシーは<0/>に移動しました"
#: src/view/screens/Support.tsx:36
msgid "The support form has been moved. If you need help, please <0/> or visit {HELP_DESK_URL} to get in touch with us."
-msgstr "サポートフォームは移動しました。サポートが必要な場合は、<0/>、または{HELP_DESK_URL}にアクセスしてご連絡ください。"
+msgstr "サポートフォームは移動しました。サポートが必要な場合は、<0/>または{HELP_DESK_URL}にアクセスしてご連絡ください。"
#: src/view/screens/Support.tsx:36
#~ msgid "The support form has been moved. If you need help, please<0/> or visit {HELP_DESK_URL} to get in touch with us."
-#~ msgstr "サポートフォームは移動しました。サポートが必要な場合は、<0/>、または{HELP_DESK_URL}にアクセスしてご連絡ください。"
+#~ msgstr "サポートフォームは移動しました。サポートが必要な場合は、<0/>または{HELP_DESK_URL}にアクセスしてご連絡ください。"
#: src/view/screens/TermsOfService.tsx:33
msgid "The Terms of Service have been moved to"
msgstr "サービス規約は移動しました"
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:150
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:141
msgid "There are many feeds to try:"
msgstr "試せるフィードはたくさんあります:"
-#: src/view/screens/ProfileFeed.tsx:550
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:114
+#: src/view/screens/ProfileFeed.tsx:556
msgid "There was an an issue contacting the server, please check your internet connection and try again."
msgstr "サーバーへの問い合わせ中に問題が発生しました。インターネットへの接続を確認の上、もう一度お試しください。"
-#: src/view/com/posts/FeedErrorMessage.tsx:139
+#: src/view/com/posts/FeedErrorMessage.tsx:138
msgid "There was an an issue removing this feed. Please check your internet connection and try again."
msgstr "フィードの削除中に問題が発生しました。インターネットへの接続を確認の上、もう一度お試しください。"
-#: src/view/screens/ProfileFeed.tsx:210
+#: src/view/screens/ProfileFeed.tsx:219
msgid "There was an an issue updating your feeds, please check your internet connection and try again."
msgstr "フィードの更新中に問題が発生しました。インターネットへの接続を確認の上、もう一度お試しください。"
-#: src/view/screens/ProfileFeed.tsx:237
-#: src/view/screens/ProfileList.tsx:267
-#: src/view/screens/SavedFeeds.tsx:209
-#: src/view/screens/SavedFeeds.tsx:231
-#: src/view/screens/SavedFeeds.tsx:252
+#: src/view/screens/ProfileFeed.tsx:247
+#: src/view/screens/ProfileList.tsx:277
+#: src/view/screens/SavedFeeds.tsx:211
+#: src/view/screens/SavedFeeds.tsx:241
+#: src/view/screens/SavedFeeds.tsx:262
msgid "There was an issue contacting the server"
msgstr "サーバーへの問い合わせ中に問題が発生しました"
#: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:57
#: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:66
-#: src/view/com/feeds/FeedSourceCard.tsx:115
-#: src/view/com/feeds/FeedSourceCard.tsx:129
-#: src/view/com/feeds/FeedSourceCard.tsx:183
+#: src/view/com/feeds/FeedSourceCard.tsx:110
+#: src/view/com/feeds/FeedSourceCard.tsx:123
msgid "There was an issue contacting your server"
msgstr "サーバーへの問い合わせ中に問題が発生しました"
@@ -4275,7 +5219,7 @@ msgstr "サーバーへの問い合わせ中に問題が発生しました"
msgid "There was an issue fetching notifications. Tap here to try again."
msgstr "通知の取得中に問題が発生しました。もう一度試すにはこちらをタップしてください。"
-#: src/view/com/posts/Feed.tsx:265
+#: src/view/com/posts/Feed.tsx:287
msgid "There was an issue fetching posts. Tap here to try again."
msgstr "投稿の取得中に問題が発生しました。もう一度試すにはこちらをタップしてください。"
@@ -4283,39 +5227,45 @@ msgstr "投稿の取得中に問題が発生しました。もう一度試すに
msgid "There was an issue fetching the list. Tap here to try again."
msgstr "リストの取得中に問題が発生しました。もう一度試すにはこちらをタップしてください。"
-#: src/view/com/feeds/ProfileFeedgens.tsx:148
-#: src/view/com/lists/ProfileLists.tsx:155
+#: src/view/com/feeds/ProfileFeedgens.tsx:156
+#: src/view/com/lists/ProfileLists.tsx:163
msgid "There was an issue fetching your lists. Tap here to try again."
msgstr "リストの取得中に問題が発生しました。もう一度試すにはこちらをタップしてください。"
-#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:63
-#: src/view/com/modals/ContentFilteringSettings.tsx:126
+#: src/components/ReportDialog/SubmitView.tsx:81
+msgid "There was an issue sending your report. Please check your internet connection."
+msgstr "報告の送信に問題が発生しました。インターネットの接続を確認してください。"
+
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:65
msgid "There was an issue syncing your preferences with the server"
msgstr "設定をサーバーと同期中に問題が発生しました"
-#: src/view/screens/AppPasswords.tsx:66
+#: src/view/screens/AppPasswords.tsx:68
msgid "There was an issue with fetching your app passwords"
msgstr "アプリパスワードの取得中に問題が発生しました"
-#: src/view/com/post-thread/PostThreadFollowBtn.tsx:93
-#: src/view/com/post-thread/PostThreadFollowBtn.tsx:105
-#: src/view/com/profile/ProfileHeader.tsx:157
-#: src/view/com/profile/ProfileHeader.tsx:178
-#: src/view/com/profile/ProfileHeader.tsx:217
-#: src/view/com/profile/ProfileHeader.tsx:230
-#: src/view/com/profile/ProfileHeader.tsx:250
-#: src/view/com/profile/ProfileHeader.tsx:272
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:105
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:127
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:141
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:99
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:111
+#: src/view/com/profile/ProfileMenu.tsx:106
+#: src/view/com/profile/ProfileMenu.tsx:117
+#: src/view/com/profile/ProfileMenu.tsx:132
+#: src/view/com/profile/ProfileMenu.tsx:143
+#: src/view/com/profile/ProfileMenu.tsx:157
+#: src/view/com/profile/ProfileMenu.tsx:170
msgid "There was an issue! {0}"
-msgstr "問題が発生しました!{0}"
+msgstr "問題が発生しました! {0}"
-#: src/view/screens/ProfileList.tsx:288
-#: src/view/screens/ProfileList.tsx:307
-#: src/view/screens/ProfileList.tsx:329
-#: src/view/screens/ProfileList.tsx:348
+#: src/view/screens/ProfileList.tsx:290
+#: src/view/screens/ProfileList.tsx:304
+#: src/view/screens/ProfileList.tsx:318
+#: src/view/screens/ProfileList.tsx:332
msgid "There was an issue. Please check your internet connection and try again."
msgstr "問題が発生しました。インターネットへの接続を確認の上、もう一度お試しください。"
-#: src/view/com/util/ErrorBoundary.tsx:36
+#: src/view/com/util/ErrorBoundary.tsx:51
msgid "There was an unexpected issue in the application. Please let us know if this happened to you!"
msgstr "アプリケーションに予期しない問題が発生しました。このようなことが繰り返した場合はサポートへお知らせください!"
@@ -4327,7 +5277,7 @@ msgstr "Blueskyに新規ユーザーが殺到しています!できるだけ
#~ msgid "There's something wrong with this number. Please choose your country and enter your full phone number!"
#~ msgstr "この電話番号は正しくありません。登録されている国を選択し、電話番号を省略せずに入力してください!"
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:138
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:146
msgid "These are popular accounts you might like:"
msgstr "これらは、あなたが好きかもしれない人気のあるアカウントです。"
@@ -4339,19 +5289,32 @@ msgstr "これらは、あなたが好きかもしれない人気のあるアカ
#~ msgid "This {0} has been labeled."
#~ msgstr "この{0}にはラベルが貼られています"
-#: src/view/com/util/moderation/ScreenHider.tsx:88
+#: src/components/moderation/ScreenHider.tsx:116
msgid "This {screenDescription} has been flagged:"
msgstr "この{screenDescription}にはフラグが設定されています:"
-#: src/view/com/util/moderation/ScreenHider.tsx:83
+#: src/components/moderation/ScreenHider.tsx:111
msgid "This account has requested that users sign in to view their profile."
msgstr "このアカウントを閲覧するためにはサインインが必要です。"
-#: src/view/com/modals/EmbedConsent.tsx:68
+#: src/components/moderation/LabelsOnMeDialog.tsx:204
+msgid "This appeal will be sent to <0>{0}0>."
+msgstr "この申し立ては<0>{0}0>に送られます。"
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:19
+msgid "This content has been hidden by the moderators."
+msgstr "このコンテンツはモデレーターによって非表示になっています。"
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:24
+msgid "This content has received a general warning from moderators."
+msgstr "このコンテンツはモデレーターから一般的な警告を受けています。"
+
+#: src/components/dialogs/EmbedConsent.tsx:64
msgid "This content is hosted by {0}. Do you want to enable external media?"
msgstr "このコンテンツは{0}によってホストされています。外部メディアを有効にしますか?"
-#: src/view/com/modals/ModerationDetails.tsx:67
+#: src/components/moderation/ModerationDetailsDialog.tsx:77
+#: src/lib/moderation/useModerationCauseDescription.ts:77
msgid "This content is not available because one of the users involved has blocked the other."
msgstr "このコンテンツは関係するユーザーの一方が他方をブロックしているため、利用できません。"
@@ -4360,16 +5323,20 @@ msgid "This content is not viewable without a Bluesky account."
msgstr "このコンテンツはBlueskyのアカウントがないと閲覧できません。"
#: src/view/screens/Settings/ExportCarDialog.tsx:75
-msgid "This feature is in beta. You can read more about repository exports in <0>this blogpost.0>"
-msgstr "この機能はベータ版です。 リポジトリのエクスポートの詳細については、以下を参照してください。<0>このブログ投稿0>"
+#~ msgid "This feature is in beta. You can read more about repository exports in <0>this blogpost.0>"
+#~ msgstr "この機能はベータ版です。リポジトリのエクスポートの詳細については、<0>このブログ投稿0>を参照してください。"
+
+#: src/view/screens/Settings/ExportCarDialog.tsx:75
+msgid "This feature is in beta. You can read more about repository exports in <0>this blogpost0>."
+msgstr "この機能はベータ版です。リポジトリのエクスポートの詳細については、<0>このブログ投稿0>を参照してください。"
#: src/view/com/posts/FeedErrorMessage.tsx:114
msgid "This feed is currently receiving high traffic and is temporarily unavailable. Please try again later."
msgstr "現在このフィードにはアクセスが集中しており、一時的にご利用いただけません。時間をおいてもう一度お試しください。"
-#: src/view/screens/Profile.tsx:420
-#: src/view/screens/ProfileFeed.tsx:476
-#: src/view/screens/ProfileList.tsx:661
+#: src/screens/Profile/Sections/Feed.tsx:59
+#: src/view/screens/ProfileFeed.tsx:488
+#: src/view/screens/ProfileList.tsx:677
msgid "This feed is empty!"
msgstr "このフィードは空です!"
@@ -4377,7 +5344,7 @@ msgstr "このフィードは空です!"
msgid "This feed is empty! You may need to follow more users or tune your language settings."
msgstr "このフィードは空です!もっと多くのユーザーをフォローするか、言語の設定を調整する必要があるかもしれません。"
-#: src/view/com/modals/BirthDateSettings.tsx:61
+#: src/components/dialogs/BirthDateSettings.tsx:41
msgid "This information is not shared with other users."
msgstr "この情報は他のユーザーと共有されません。"
@@ -4389,15 +5356,27 @@ msgstr "これは、メールアドレスの変更やパスワードのリセッ
#~ msgid "This is the service that keeps you online."
#~ msgstr "これはオンラインを維持するためのサービスです。"
-#: src/view/com/modals/LinkWarning.tsx:58
+#: src/components/moderation/ModerationDetailsDialog.tsx:124
+msgid "This label was applied by {0}."
+msgstr "{0}によって適用されたラベルです。"
+
+#: src/screens/Profile/Sections/Labels.tsx:178
+msgid "This labeler hasn't declared what labels it publishes, and may not be active."
+msgstr "このラベラーはどのようなラベルを発行しているか宣言しておらず、活動していない可能性もあります。"
+
+#: src/view/com/modals/LinkWarning.tsx:72
msgid "This link is taking you to the following website:"
msgstr "このリンクは次のウェブサイトへリンクしています:"
-#: src/view/screens/ProfileList.tsx:839
+#: src/view/screens/ProfileList.tsx:855
msgid "This list is empty!"
msgstr "このリストは空です!"
-#: src/view/com/modals/AddAppPasswords.tsx:106
+#: src/screens/Profile/ErrorState.tsx:40
+msgid "This moderation service is unavailable. See below for more details. If this issue persists, contact us."
+msgstr "このモデレーションのサービスはご利用できません。詳細は以下をご覧ください。この問題が解決しない場合は、サポートへお問い合わせください。"
+
+#: src/view/com/modals/AddAppPasswords.tsx:107
msgid "This name is already in use"
msgstr "この名前はすでに使用中です"
@@ -4405,36 +5384,82 @@ msgstr "この名前はすでに使用中です"
msgid "This post has been deleted."
msgstr "この投稿は削除されました。"
-#: src/view/com/modals/ModerationDetails.tsx:62
+#: src/view/com/util/forms/PostDropdownBtn.tsx:366
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:250
+msgid "This post is only visible to logged-in users. It won't be visible to people who aren't logged in."
+msgstr "この投稿はログインしているユーザーにのみ表示されます。ログインしていない方には見えません。"
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:348
+msgid "This post will be hidden from feeds."
+msgstr "この投稿はフィードから非表示になります。"
+
+#: src/view/com/profile/ProfileMenu.tsx:370
+msgid "This profile is only visible to logged-in users. It won't be visible to people who aren't logged in."
+msgstr "このプロフィールはログインしているユーザーにのみ表示されます。ログインしていない方には見えません。"
+
+#: src/screens/Signup/StepInfo/Policies.tsx:37
+msgid "This service has not provided terms of service or a privacy policy."
+msgstr "このサービスには、利用規約もプライバシーポリシーもありません。"
+
+#: src/view/com/modals/ChangeHandle.tsx:445
+msgid "This should create a domain record at:"
+msgstr "右記にドメインレコードを作成されるはずです:"
+
+#: src/view/com/profile/ProfileFollowers.tsx:87
+msgid "This user doesn't have any followers."
+msgstr "このユーザーにはフォロワーがいません。"
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:72
+#: src/lib/moderation/useModerationCauseDescription.ts:68
msgid "This user has blocked you. You cannot view their content."
msgstr "このユーザーはあなたをブロックしているため、あなたはこのユーザーのコンテンツを閲覧できません。"
+#: src/lib/moderation/useGlobalLabelStrings.ts:30
+msgid "This user has requested that their content only be shown to signed-in users."
+msgstr "このユーザーは自分のコンテンツをサインインしたユーザーにのみ表示するように求めています。"
+
#: src/view/com/modals/ModerationDetails.tsx:42
-msgid "This user is included in the <0/> list which you have blocked."
-msgstr "このユーザーは、あなたがブロックした<0/>リストに含まれています。"
+#~ msgid "This user is included in the <0/> list which you have blocked."
+#~ msgstr "このユーザーは、あなたがブロックした<0/>リストに含まれています。"
#: src/view/com/modals/ModerationDetails.tsx:74
-msgid "This user is included in the <0/> list which you have muted."
-msgstr "このユーザーは、あなたがミュートした<0/>リストに含まれています。"
+#~ msgid "This user is included in the <0/> list which you have muted."
+#~ msgstr "このユーザーは、あなたがミュートした<0/>リストに含まれています。"
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:55
+msgid "This user is included in the <0>{0}0> list which you have blocked."
+msgstr "このユーザーはブロックした<0>{0}0>リストに含まれています。"
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:84
+msgid "This user is included in the <0>{0}0> list which you have muted."
+msgstr "このユーザーはミュートした<0>{0}0>リストに含まれています。"
#: src/view/com/modals/ModerationDetails.tsx:74
#~ msgid "This user is included the <0/> list which you have muted."
#~ msgstr "このユーザーは、あなたがミュートした<0/>リストに含まれています。"
+#: src/view/com/profile/ProfileFollows.tsx:87
+msgid "This user isn't following anyone."
+msgstr "このユーザーは誰もフォローしていません。"
+
#: src/view/com/modals/SelfLabel.tsx:137
msgid "This warning is only available for posts with media attached."
msgstr "この警告は、メディアが添付されている投稿にのみ使用できます。"
-#: src/components/dialogs/MutedWords.tsx:285
+#: src/components/dialogs/MutedWords.tsx:283
msgid "This will delete {0} from your muted words. You can always add it back later."
-msgstr ""
+msgstr "ミュートしたワードから{0}が削除されます。あとでいつでも戻すことができます。"
#: src/view/com/util/forms/PostDropdownBtn.tsx:282
-msgid "This will hide this post from your feeds."
-msgstr "この投稿をあなたのフィードにおいて非表示にします。"
+#~ msgid "This will hide this post from your feeds."
+#~ msgstr "この投稿をあなたのフィードにおいて非表示にします。"
+
+#: src/view/screens/Settings/index.tsx:525
+msgid "Thread preferences"
+msgstr "スレッドの設定"
#: src/view/screens/PreferencesThreads.tsx:53
-#: src/view/screens/Settings/index.tsx:565
+#: src/view/screens/Settings/index.tsx:535
msgid "Thread Preferences"
msgstr "スレッドの設定"
@@ -4442,26 +5467,38 @@ msgstr "スレッドの設定"
msgid "Threaded Mode"
msgstr "スレッドモード"
-#: src/Navigation.tsx:257
+#: src/Navigation.tsx:269
msgid "Threads Preferences"
msgstr "スレッドの設定"
-#: src/components/dialogs/MutedWords.tsx:113
+#: src/components/ReportDialog/SelectLabelerView.tsx:33
+msgid "To whom would you like to send this report?"
+msgstr "この報告を誰に送りたいですか?"
+
+#: src/components/dialogs/MutedWords.tsx:112
msgid "Toggle between muted word options."
-msgstr ""
+msgstr "ミュートしたワードのオプションを切り替えます。"
#: src/view/com/util/forms/DropdownButton.tsx:246
msgid "Toggle dropdown"
msgstr "ドロップダウンをトグル"
-#: src/view/com/modals/EditImage.tsx:271
+#: src/screens/Moderation/index.tsx:332
+msgid "Toggle to enable or disable adult content"
+msgstr "成人向けコンテンツの有効もしくは無効の切り替え"
+
+#: src/view/screens/Search/Search.tsx:427
+msgid "Top"
+msgstr "トップ"
+
+#: src/view/com/modals/EditImage.tsx:272
msgid "Transformations"
msgstr "変換"
-#: src/view/com/post-thread/PostThreadItem.tsx:685
-#: src/view/com/post-thread/PostThreadItem.tsx:687
-#: src/view/com/util/forms/PostDropdownBtn.tsx:215
-#: src/view/com/util/forms/PostDropdownBtn.tsx:217
+#: src/view/com/post-thread/PostThreadItem.tsx:638
+#: src/view/com/post-thread/PostThreadItem.tsx:640
+#: src/view/com/util/forms/PostDropdownBtn.tsx:220
+#: src/view/com/util/forms/PostDropdownBtn.tsx:222
msgid "Translate"
msgstr "翻訳"
@@ -4474,121 +5511,195 @@ msgstr "再試行"
#~ msgid "Try again"
#~ msgstr "再試行"
-#: src/view/screens/ProfileList.tsx:506
+#: src/view/com/modals/ChangeHandle.tsx:428
+msgid "Type:"
+msgstr "タイプ:"
+
+#: src/view/screens/ProfileList.tsx:480
msgid "Un-block list"
msgstr "リストでのブロックを解除"
-#: src/view/screens/ProfileList.tsx:491
+#: src/view/screens/ProfileList.tsx:463
msgid "Un-mute list"
msgstr "リストでのミュートを解除"
-#: src/view/com/auth/create/CreateAccount.tsx:58
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:87
-#: src/view/com/auth/login/Login.tsx:76
-#: src/view/com/auth/login/LoginForm.tsx:118
+#: src/screens/Login/ForgotPasswordForm.tsx:74
+#: src/screens/Login/index.tsx:78
+#: src/screens/Login/LoginForm.tsx:119
+#: src/screens/Login/SetNewPasswordForm.tsx:77
+#: src/screens/Signup/index.tsx:64
#: src/view/com/modals/ChangePassword.tsx:70
msgid "Unable to contact your service. Please check your Internet connection."
msgstr "あなたのサービスに接続できません。インターネットの接続を確認してください。"
-#: src/view/com/profile/ProfileHeader.tsx:433
-#: src/view/screens/ProfileList.tsx:590
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:181
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:286
+#: src/view/com/profile/ProfileMenu.tsx:361
+#: src/view/screens/ProfileList.tsx:574
msgid "Unblock"
msgstr "ブロックを解除"
-#: src/view/com/profile/ProfileHeader.tsx:436
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:186
msgctxt "action"
msgid "Unblock"
msgstr "ブロックを解除"
-#: src/view/com/profile/ProfileHeader.tsx:261
-#: src/view/com/profile/ProfileHeader.tsx:345
+#: src/view/com/profile/ProfileMenu.tsx:299
+#: src/view/com/profile/ProfileMenu.tsx:305
msgid "Unblock Account"
msgstr "アカウントのブロックを解除"
-#: src/view/com/modals/Repost.tsx:42
-#: src/view/com/modals/Repost.tsx:55
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:280
+#: src/view/com/profile/ProfileMenu.tsx:343
+msgid "Unblock Account?"
+msgstr "アカウントのブロックを解除しますか?"
+
+#: src/view/com/modals/Repost.tsx:43
+#: src/view/com/modals/Repost.tsx:56
#: src/view/com/util/post-ctrls/RepostButton.tsx:60
#: src/view/com/util/post-ctrls/RepostButton.web.tsx:48
msgid "Undo repost"
msgstr "リポストを元に戻す"
-#: src/view/com/profile/FollowButton.tsx:55
+#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:141
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:248
+msgid "Unfollow"
+msgstr "フォローを解除"
+
+#: src/view/com/profile/FollowButton.tsx:60
msgctxt "action"
msgid "Unfollow"
-msgstr "フォローをやめる"
+msgstr "フォローを解除"
-#: src/view/com/profile/ProfileHeader.tsx:485
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:220
msgid "Unfollow {0}"
msgstr "{0}のフォローを解除"
-#: src/view/com/auth/create/state.ts:262
-msgid "Unfortunately, you do not meet the requirements to create an account."
-msgstr "残念ながら、アカウントを作成するための要件を満たしていません。"
+#: src/view/com/profile/ProfileMenu.tsx:241
+#: src/view/com/profile/ProfileMenu.tsx:251
+msgid "Unfollow Account"
+msgstr "アカウントのフォローを解除"
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:182
+#: src/view/com/auth/create/state.ts:262
+#~ msgid "Unfortunately, you do not meet the requirements to create an account."
+#~ msgstr "残念ながら、アカウントを作成するための要件を満たしていません。"
+
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:197
msgid "Unlike"
msgstr "いいねを外す"
+#: src/view/screens/ProfileFeed.tsx:585
+msgid "Unlike this feed"
+msgstr "このフィードからいいねを外す"
+
#: src/components/TagMenu/index.tsx:249
-#: src/view/screens/ProfileList.tsx:597
+#: src/view/screens/ProfileList.tsx:581
msgid "Unmute"
msgstr "ミュートを解除"
#: src/components/TagMenu/index.web.tsx:104
msgid "Unmute {truncatedTag}"
-msgstr ""
+msgstr "{truncatedTag}のミュートを解除"
-#: src/view/com/profile/ProfileHeader.tsx:326
+#: src/view/com/profile/ProfileMenu.tsx:278
+#: src/view/com/profile/ProfileMenu.tsx:284
msgid "Unmute Account"
msgstr "アカウントのミュートを解除"
#: src/components/TagMenu/index.tsx:208
msgid "Unmute all {displayTag} posts"
-msgstr ""
+msgstr "{displayTag}のすべての投稿のミュートを解除"
#: src/components/TagMenu/index.tsx:210
#~ msgid "Unmute all {tag} posts"
-#~ msgstr ""
+#~ msgstr "{tag}のすべての投稿のミュートを解除"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:251
-#: src/view/com/util/forms/PostDropdownBtn.tsx:256
+#: src/view/com/util/forms/PostDropdownBtn.tsx:269
+#: src/view/com/util/forms/PostDropdownBtn.tsx:274
msgid "Unmute thread"
msgstr "スレッドのミュートを解除"
-#: src/view/screens/ProfileFeed.tsx:354
-#: src/view/screens/ProfileList.tsx:581
+#: src/view/screens/ProfileFeed.tsx:306
+#: src/view/screens/ProfileList.tsx:565
msgid "Unpin"
msgstr "ピン留めを解除"
-#: src/view/screens/ProfileList.tsx:474
+#: src/view/screens/ProfileFeed.tsx:303
+msgid "Unpin from home"
+msgstr "ホームからピン留めを解除"
+
+#: src/view/screens/ProfileList.tsx:446
msgid "Unpin moderation list"
msgstr "モデレーションリストのピン留めを解除"
#: src/view/screens/ProfileFeed.tsx:346
-msgid "Unsave"
-msgstr "保存を解除"
+#~ msgid "Unsave"
+#~ msgstr "保存を解除"
+
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:225
+msgid "Unsubscribe"
+msgstr "登録を解除"
+
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:190
+msgid "Unsubscribe from this labeler"
+msgstr "このラベラーの登録を解除"
+
+#: src/lib/moderation/useReportOptions.ts:70
+msgid "Unwanted Sexual Content"
+msgstr "望まない性的なコンテンツ"
#: src/view/com/modals/UserAddRemoveLists.tsx:70
msgid "Update {displayName} in Lists"
msgstr "リストの{displayName}を更新"
#: src/lib/hooks/useOTAUpdate.ts:15
-msgid "Update Available"
-msgstr "更新可能"
+#~ msgid "Update Available"
+#~ msgstr "更新可能"
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:204
+#: src/view/com/modals/ChangeHandle.tsx:508
+msgid "Update to {handle}"
+msgstr "{handle}に更新"
+
+#: src/screens/Login/SetNewPasswordForm.tsx:186
msgid "Updating..."
msgstr "更新中…"
-#: src/view/com/modals/ChangeHandle.tsx:455
+#: src/view/com/modals/ChangeHandle.tsx:454
msgid "Upload a text file to:"
msgstr "テキストファイルのアップロード先:"
-#: src/view/screens/AppPasswords.tsx:195
+#: src/view/com/util/UserAvatar.tsx:328
+#: src/view/com/util/UserAvatar.tsx:331
+#: src/view/com/util/UserBanner.tsx:116
+#: src/view/com/util/UserBanner.tsx:119
+msgid "Upload from Camera"
+msgstr "カメラからアップロード"
+
+#: src/view/com/util/UserAvatar.tsx:345
+#: src/view/com/util/UserBanner.tsx:133
+msgid "Upload from Files"
+msgstr "ファイルからアップロード"
+
+#: src/view/com/util/UserAvatar.tsx:339
+#: src/view/com/util/UserAvatar.tsx:343
+#: src/view/com/util/UserBanner.tsx:127
+#: src/view/com/util/UserBanner.tsx:131
+msgid "Upload from Library"
+msgstr "ライブラリーからアップロード"
+
+#: src/view/com/modals/ChangeHandle.tsx:408
+msgid "Use a file on your server"
+msgstr "あなたのサーバーのファイルを使用"
+
+#: src/view/screens/AppPasswords.tsx:197
msgid "Use app passwords to login to other Bluesky clients without giving full access to your account or password."
msgstr "他のBlueskyクライアントにアカウントやパスワードに完全にアクセスする権限を与えずに、アプリパスワードを使ってログインします。"
-#: src/view/com/modals/ChangeHandle.tsx:515
+#: src/view/com/modals/ChangeHandle.tsx:517
+msgid "Use bsky.social as hosting provider"
+msgstr "ホスティングプロバイダーとしてbsky.socialを使用"
+
+#: src/view/com/modals/ChangeHandle.tsx:516
msgid "Use default provider"
msgstr "デフォルトプロバイダーを使用"
@@ -4602,7 +5713,11 @@ msgstr "アプリ内ブラウザーを使用"
msgid "Use my default browser"
msgstr "デフォルトのブラウザーを使用"
-#: src/view/com/modals/AddAppPasswords.tsx:155
+#: src/view/com/modals/ChangeHandle.tsx:400
+msgid "Use the DNS panel"
+msgstr "DNSパネルを使用"
+
+#: src/view/com/modals/AddAppPasswords.tsx:156
msgid "Use this to sign into the other app along with your handle."
msgstr "このアプリパスワードとハンドルを使って他のアプリにサインインします。"
@@ -4610,46 +5725,55 @@ msgstr "このアプリパスワードとハンドルを使って他のアプリ
#~ msgid "Use your domain as your Bluesky client service provider"
#~ msgstr "あなたのドメインをBlueskyのクライアントサービスプロバイダーとして使用"
-#: src/view/com/modals/InviteCodes.tsx:200
+#: src/view/com/modals/InviteCodes.tsx:201
msgid "Used by:"
msgstr "使用者:"
-#: src/view/com/modals/ModerationDetails.tsx:54
+#: src/components/moderation/ModerationDetailsDialog.tsx:64
+#: src/lib/moderation/useModerationCauseDescription.ts:56
msgid "User Blocked"
msgstr "ブロック中のユーザー"
-#: src/view/com/modals/ModerationDetails.tsx:40
+#: src/lib/moderation/useModerationCauseDescription.ts:48
+msgid "User Blocked by \"{0}\""
+msgstr "「{0}」によってブロックされたユーザー"
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:53
msgid "User Blocked by List"
msgstr "リストによってブロック中のユーザー"
-#: src/view/com/modals/ModerationDetails.tsx:60
+#: src/lib/moderation/useModerationCauseDescription.ts:66
+msgid "User Blocking You"
+msgstr "あなたがブロック中のユーザー"
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:70
msgid "User Blocks You"
msgstr "あなたをブロックしているユーザー"
#: src/view/com/auth/create/Step2.tsx:79
-msgid "User handle"
-msgstr "ユーザーハンドル"
+#~ msgid "User handle"
+#~ msgstr "ユーザーハンドル"
#: src/view/com/lists/ListCard.tsx:85
#: src/view/com/modals/UserAddRemoveLists.tsx:198
msgid "User list by {0}"
msgstr "<0/>の作成したユーザーリスト"
-#: src/view/screens/ProfileList.tsx:763
+#: src/view/screens/ProfileList.tsx:779
msgid "User list by <0/>"
msgstr "<0/>の作成したユーザーリスト"
#: src/view/com/lists/ListCard.tsx:83
#: src/view/com/modals/UserAddRemoveLists.tsx:196
-#: src/view/screens/ProfileList.tsx:761
+#: src/view/screens/ProfileList.tsx:777
msgid "User list by you"
msgstr "あなたの作成したユーザーリスト"
-#: src/view/com/modals/CreateOrEditList.tsx:196
+#: src/view/com/modals/CreateOrEditList.tsx:197
msgid "User list created"
msgstr "ユーザーリストを作成しました"
-#: src/view/com/modals/CreateOrEditList.tsx:182
+#: src/view/com/modals/CreateOrEditList.tsx:183
msgid "User list updated"
msgstr "ユーザーリストを更新しました"
@@ -4657,12 +5781,13 @@ msgstr "ユーザーリストを更新しました"
msgid "User Lists"
msgstr "ユーザーリスト"
-#: src/view/com/auth/login/LoginForm.tsx:177
-#: src/view/com/auth/login/LoginForm.tsx:195
+#: src/screens/Login/LoginForm.tsx:151
msgid "Username or email address"
msgstr "ユーザー名またはメールアドレス"
-#: src/view/screens/ProfileList.tsx:797
+#: src/view/screens/ProfileList.tsx:813
+#: src/view/screens/Search/Search.tsx:473
+#: src/view/screens/Search/Search.tsx:482
msgid "Users"
msgstr "ユーザー"
@@ -4674,19 +5799,31 @@ msgstr "<0/>にフォローされているユーザー"
msgid "Users in \"{0}\""
msgstr "{0}のユーザー"
+#: src/components/LikesDialog.tsx:85
+msgid "Users that have liked this content or profile"
+msgstr "このコンテンツやプロフィールにいいねをしているユーザー"
+
+#: src/view/com/modals/ChangeHandle.tsx:436
+msgid "Value:"
+msgstr "値:"
+
#: src/view/com/auth/create/Step2.tsx:243
#~ msgid "Verification code"
#~ msgstr "認証コード"
-#: src/view/screens/Settings/index.tsx:910
+#: src/view/com/modals/ChangeHandle.tsx:509
+msgid "Verify {0}"
+msgstr "{0}で認証"
+
+#: src/view/screens/Settings/index.tsx:906
msgid "Verify email"
msgstr "メールアドレスを確認"
-#: src/view/screens/Settings/index.tsx:935
+#: src/view/screens/Settings/index.tsx:931
msgid "Verify my email"
msgstr "メールアドレスを確認"
-#: src/view/screens/Settings/index.tsx:944
+#: src/view/screens/Settings/index.tsx:940
msgid "Verify My Email"
msgstr "メールアドレスを確認"
@@ -4699,11 +5836,15 @@ msgstr "新しいメールアドレスを確認"
msgid "Verify Your Email"
msgstr "メールアドレスを確認"
+#: src/view/screens/Settings/index.tsx:857
+msgid "Version {0}"
+msgstr "バージョン {0}"
+
#: src/screens/Onboarding/index.tsx:42
msgid "Video Games"
msgstr "ビデオゲーム"
-#: src/view/com/profile/ProfileHeader.tsx:662
+#: src/screens/Profile/Header/Shell.tsx:107
msgid "View {0}'s avatar"
msgstr "{0}のアバターを表示"
@@ -4711,11 +5852,25 @@ msgstr "{0}のアバターを表示"
msgid "View debug entry"
msgstr "デバッグエントリーを表示"
-#: src/view/com/posts/FeedSlice.tsx:103
+#: src/components/ReportDialog/SelectReportOptionView.tsx:132
+msgid "View details"
+msgstr "詳細を表示"
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:127
+msgid "View details for reporting a copyright violation"
+msgstr "著作権侵害の報告の詳細を見る"
+
+#: src/view/com/posts/FeedSlice.tsx:99
msgid "View full thread"
msgstr "スレッドをすべて表示"
-#: src/view/com/posts/FeedErrorMessage.tsx:172
+#: src/components/moderation/LabelsOnMe.tsx:51
+msgid "View information about these labels"
+msgstr "これらのラベルに関する情報を見る"
+
+#: src/components/ProfileHoverCard/index.web.tsx:264
+#: src/components/ProfileHoverCard/index.web.tsx:293
+#: src/view/com/posts/FeedErrorMessage.tsx:166
msgid "View profile"
msgstr "プロフィールを表示"
@@ -4723,30 +5878,49 @@ msgstr "プロフィールを表示"
msgid "View the avatar"
msgstr "アバターを表示"
-#: src/view/com/modals/LinkWarning.tsx:75
+#: src/components/LabelingServiceCard/index.tsx:140
+msgid "View the labeling service provided by @{0}"
+msgstr "@{0}によって提供されるラベリングサービスを見る"
+
+#: src/view/screens/ProfileFeed.tsx:597
+msgid "View users who like this feed"
+msgstr "このフィードにいいねしたユーザーを見る"
+
+#: src/view/com/modals/LinkWarning.tsx:89
+#: src/view/com/modals/LinkWarning.tsx:95
msgid "Visit Site"
msgstr "サイトへアクセス"
-#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:42
-#: src/view/com/modals/ContentFilteringSettings.tsx:259
+#: src/components/moderation/LabelPreference.tsx:135
+#: src/lib/moderation/useLabelBehaviorDescription.ts:17
+#: src/lib/moderation/useLabelBehaviorDescription.ts:22
+#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:53
msgid "Warn"
msgstr "警告"
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:134
-msgid "We also think you'll like \"For You\" by Skygaze:"
-msgstr "Skygazeによる「For You」フィードもおすすめ:"
+#: src/lib/moderation/useLabelBehaviorDescription.ts:48
+msgid "Warn content"
+msgstr "コンテンツの警告"
-#: src/screens/Hashtag.tsx:132
+#: src/lib/moderation/useLabelBehaviorDescription.ts:46
+msgid "Warn content and filter from feeds"
+msgstr "コンテンツの警告とフィードからのフィルタリング"
+
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:134
+#~ msgid "We also think you'll like \"For You\" by Skygaze:"
+#~ msgstr "Skygazeによる「For You」フィードもおすすめ:"
+
+#: src/screens/Hashtag.tsx:133
msgid "We couldn't find any results for that hashtag."
-msgstr ""
+msgstr "そのハッシュタグの検索結果は見つかりませんでした。"
#: src/screens/Deactivated.tsx:133
msgid "We estimate {estimatedTime} until your account is ready."
msgstr "あなたのアカウントが準備できるまで{estimatedTime}ほどかかります。"
-#: src/screens/Onboarding/StepFinished.tsx:93
+#: src/screens/Onboarding/StepFinished.tsx:97
msgid "We hope you have a wonderful time. Remember, Bluesky is:"
-msgstr "素敵なひとときをお過ごしください。 覚えておいてください、Blueskyは:"
+msgstr "素敵なひとときをお過ごしください。覚えておいてください、Blueskyは:"
#: src/view/com/posts/DiscoverFallbackHeader.tsx:29
#~ msgid "We ran out of posts from your follows. Here's the latest from"
@@ -4760,15 +5934,23 @@ msgstr "あなたのフォロー中のユーザーの投稿を読み終わりま
#~ msgid "We recommend \"For You\" by Skygaze:"
#~ msgstr "Skygazeによる「For You」フィードがおすすめ:"
-#: src/components/dialogs/MutedWords.tsx:204
+#: src/components/dialogs/MutedWords.tsx:203
msgid "We recommend avoiding common words that appear in many posts, since it can result in no posts being shown."
-msgstr ""
+msgstr "投稿が表示されなくなる可能性があるため、多くの投稿に使われる一般的なワードは避けることをおすすめします。"
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:124
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:125
msgid "We recommend our \"Discover\" feed:"
msgstr "我々の「Discover」フィードがおすすめ:"
-#: src/screens/Onboarding/StepInterests/index.tsx:133
+#: src/components/dialogs/BirthDateSettings.tsx:52
+msgid "We were unable to load your birth date preferences. Please try again."
+msgstr "生年月日の設定を読み込むことはできませんでした。もう一度お試しください。"
+
+#: src/screens/Moderation/index.tsx:385
+msgid "We were unable to load your configured labelers at this time."
+msgstr "現在設定されたラベラーを読み込めません。"
+
+#: src/screens/Onboarding/StepInterests/index.tsx:137
msgid "We weren't able to connect. Please try again to continue setting up your account. If it continues to fail, you can skip this flow."
msgstr "接続できませんでした。アカウントの設定を続けるためにもう一度お試しください。繰り返し失敗する場合は、この手順をスキップすることもできます。"
@@ -4777,48 +5959,53 @@ msgid "We will let you know when your account is ready."
msgstr "アカウントの準備ができたらお知らせします。"
#: src/view/com/modals/AppealLabel.tsx:48
-msgid "We'll look into your appeal promptly."
-msgstr "私たちはあなたの申し立てを迅速に調査します。"
+#~ msgid "We'll look into your appeal promptly."
+#~ msgstr "私たちはあなたの申し立てを迅速に調査します。"
-#: src/screens/Onboarding/StepInterests/index.tsx:138
+#: src/screens/Onboarding/StepInterests/index.tsx:142
msgid "We'll use this to help customize your experience."
msgstr "これはあなたの体験をカスタマイズするために使用されます。"
-#: src/view/com/auth/create/CreateAccount.tsx:134
+#: src/screens/Signup/index.tsx:131
msgid "We're so excited to have you join us!"
msgstr "私たちはあなたが参加してくれることをとても楽しみにしています!"
-#: src/view/screens/ProfileList.tsx:86
+#: src/view/screens/ProfileList.tsx:90
msgid "We're sorry, but we were unable to resolve this list. If this persists, please contact the list creator, @{handleOrDid}."
msgstr "大変申し訳ありませんが、このリストを解決できませんでした。それでもこの問題が解決しない場合は、作成者の@{handleOrDid}までお問い合わせください。"
-#: src/components/dialogs/MutedWords.tsx:230
+#: src/components/dialogs/MutedWords.tsx:229
msgid "We're sorry, but we weren't able to load your muted words at this time. Please try again."
-msgstr ""
+msgstr "大変申し訳ありませんが、現在ミュートされたワードを読み込むことができませんでした。もう一度お試しください。"
-#: src/view/screens/Search/Search.tsx:254
+#: src/view/screens/Search/Search.tsx:322
msgid "We're sorry, but your search could not be completed. Please try again in a few minutes."
msgstr "大変申し訳ありませんが、検索を完了できませんでした。数分後に再試行してください。"
-#: src/components/Lists.tsx:211
+#: src/components/Lists.tsx:188
#: src/view/screens/NotFound.tsx:48
msgid "We're sorry! We can't find the page you were looking for."
-msgstr "大変申し訳ありません!お探しのページが見つかりません。"
+msgstr "大変申し訳ありません!お探しのページは見つかりません。"
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:46
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:327
+msgid "We're sorry! You can only subscribe to ten labelers, and you've reached your limit of ten."
+msgstr "大変申し訳ありません!ラベラーは10までしか登録できず、すでに上限に達しています。"
+
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:48
msgid "Welcome to <0>Bluesky0>"
msgstr "<0>Bluesky0>へようこそ"
-#: src/screens/Onboarding/StepInterests/index.tsx:130
+#: src/screens/Onboarding/StepInterests/index.tsx:134
msgid "What are your interests?"
-msgstr "何に興味がありますか?"
+msgstr "なにに興味がありますか?"
#: src/view/com/modals/report/Modal.tsx:169
-msgid "What is the issue with this {collectionName}?"
-msgstr "この{collectionName}の問題は何ですか?"
+#~ msgid "What is the issue with this {collectionName}?"
+#~ msgstr "この{collectionName}の問題はなんですか?"
-#: src/view/com/auth/SplashScreen.tsx:59
-#: src/view/com/composer/Composer.tsx:286
+#: src/view/com/auth/SplashScreen.tsx:40
+#: src/view/com/auth/SplashScreen.web.tsx:81
+#: src/view/com/composer/Composer.tsx:296
msgid "What's up?"
msgstr "最近どう?"
@@ -4835,16 +6022,36 @@ msgstr "アルゴリズムによるフィードにはどの言語を使用しま
msgid "Who can reply"
msgstr "返信できるユーザー"
-#: src/view/com/modals/crop-image/CropImage.web.tsx:102
+#: src/components/ReportDialog/SelectReportOptionView.tsx:43
+msgid "Why should this content be reviewed?"
+msgstr "なぜこのコンテンツをレビューする必要がありますか?"
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:56
+msgid "Why should this feed be reviewed?"
+msgstr "なぜこのフィードをレビューする必要がありますか?"
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:53
+msgid "Why should this list be reviewed?"
+msgstr "なぜこのリストをレビューする必要がありますか?"
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:50
+msgid "Why should this post be reviewed?"
+msgstr "なぜこの投稿をレビューする必要がありますか?"
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:47
+msgid "Why should this user be reviewed?"
+msgstr "なぜこのユーザーをレビューする必要がありますか?"
+
+#: src/view/com/modals/crop-image/CropImage.web.tsx:103
msgid "Wide"
msgstr "ワイド"
-#: src/view/com/composer/Composer.tsx:422
+#: src/view/com/composer/Composer.tsx:436
msgid "Write post"
msgstr "投稿を書く"
-#: src/view/com/composer/Composer.tsx:285
-#: src/view/com/composer/Prompt.tsx:33
+#: src/view/com/composer/Composer.tsx:295
+#: src/view/com/composer/Prompt.tsx:37
msgid "Write your reply"
msgstr "返信を書く"
@@ -4874,6 +6081,10 @@ msgstr "はい"
msgid "You are in line."
msgstr "あなたは並んでいます。"
+#: src/view/com/profile/ProfileFollows.tsx:86
+msgid "You are not following anyone."
+msgstr "あなたはまだだれもフォローしていません。"
+
#: src/view/com/posts/FollowingEmptyState.tsx:67
#: src/view/com/posts/FollowingEndOfFeed.tsx:68
msgid "You can also discover new Custom Feeds to follow."
@@ -4887,96 +6098,139 @@ msgstr "また、あなたはフォローすべき新しいカスタムフィー
#~ msgid "You can change hosting providers at any time."
#~ msgstr "ホスティングプロバイダはいつでも変更できます。"
-#: src/screens/Onboarding/StepFollowingFeed.tsx:142
+#: src/screens/Onboarding/StepFollowingFeed.tsx:143
msgid "You can change these settings later."
msgstr "これらの設定はあとで変更できます。"
-#: src/view/com/auth/login/Login.tsx:158
-#: src/view/com/auth/login/PasswordUpdatedForm.tsx:31
+#: src/screens/Login/index.tsx:158
+#: src/screens/Login/PasswordUpdatedForm.tsx:33
msgid "You can now sign in with your new password."
msgstr "新しいパスワードでサインインできるようになりました。"
-#: src/view/com/modals/InviteCodes.tsx:66
+#: src/view/com/profile/ProfileFollowers.tsx:86
+msgid "You do not have any followers."
+msgstr "あなたはまだだれもフォロワーがいません。"
+
+#: src/view/com/modals/InviteCodes.tsx:67
msgid "You don't have any invite codes yet! We'll send you some when you've been on Bluesky for a little longer."
msgstr "まだ招待コードがありません!Blueskyをもうしばらく利用したらお送りします。"
-#: src/view/screens/SavedFeeds.tsx:102
+#: src/view/screens/SavedFeeds.tsx:103
msgid "You don't have any pinned feeds."
msgstr "ピン留めされたフィードがありません。"
-#: src/view/screens/Feeds.tsx:452
+#: src/view/screens/Feeds.tsx:477
msgid "You don't have any saved feeds!"
msgstr "保存されたフィードがありません!"
-#: src/view/screens/SavedFeeds.tsx:135
+#: src/view/screens/SavedFeeds.tsx:136
msgid "You don't have any saved feeds."
msgstr "保存されたフィードがありません。"
-#: src/view/com/post-thread/PostThread.tsx:465
+#: src/view/com/post-thread/PostThread.tsx:159
msgid "You have blocked the author or you have been blocked by the author."
msgstr "あなたが投稿者をブロックしているか、または投稿者によってあなたはブロックされています。"
-#: src/view/com/modals/ModerationDetails.tsx:56
+#: src/components/moderation/ModerationDetailsDialog.tsx:66
+#: src/lib/moderation/useModerationCauseDescription.ts:50
+#: src/lib/moderation/useModerationCauseDescription.ts:58
msgid "You have blocked this user. You cannot view their content."
msgstr "あなたはこのユーザーをブロックしているため、コンテンツを閲覧できません。"
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:57
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:92
+#: src/screens/Login/SetNewPasswordForm.tsx:54
+#: src/screens/Login/SetNewPasswordForm.tsx:91
#: src/view/com/modals/ChangePassword.tsx:87
#: src/view/com/modals/ChangePassword.tsx:121
msgid "You have entered an invalid code. It should look like XXXXX-XXXXX."
msgstr "無効なコードが入力されました。それはXXXXX-XXXXXのようになっているはずです。"
-#: src/view/com/modals/ModerationDetails.tsx:87
-msgid "You have muted this user."
-msgstr "あなたはこのユーザーをミュートしています。"
+#: src/lib/moderation/useModerationCauseDescription.ts:109
+msgid "You have hidden this post"
+msgstr "この投稿を非表示にしました"
-#: src/view/com/feeds/ProfileFeedgens.tsx:136
+#: src/components/moderation/ModerationDetailsDialog.tsx:101
+msgid "You have hidden this post."
+msgstr "この投稿を非表示にしました。"
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:94
+#: src/lib/moderation/useModerationCauseDescription.ts:92
+msgid "You have muted this account."
+msgstr "このアカウントをミュートしました。"
+
+#: src/lib/moderation/useModerationCauseDescription.ts:86
+msgid "You have muted this user"
+msgstr "このユーザーをミュートしました"
+
+#: src/view/com/modals/ModerationDetails.tsx:87
+#~ msgid "You have muted this user."
+#~ msgstr "あなたはこのユーザーをミュートしています。"
+
+#: src/view/com/feeds/ProfileFeedgens.tsx:144
msgid "You have no feeds."
msgstr "フィードがありません。"
#: src/view/com/lists/MyLists.tsx:89
-#: src/view/com/lists/ProfileLists.tsx:140
+#: src/view/com/lists/ProfileLists.tsx:148
msgid "You have no lists."
msgstr "リストがありません。"
-#: src/view/screens/ModerationBlockedAccounts.tsx:132
-msgid "You have not blocked any accounts yet. To block an account, go to their profile and selected \"Block account\" from the menu on their account."
+#: src/view/screens/ModerationBlockedAccounts.tsx:138
+msgid "You have not blocked any accounts yet. To block an account, go to their profile and select \"Block account\" from the menu on their account."
msgstr "ブロック中のアカウントはまだありません。アカウントをブロックするには、ユーザーのプロフィールに移動し、アカウントメニューから「アカウントをブロック」を選択します。"
-#: src/view/screens/AppPasswords.tsx:87
+#: src/view/screens/ModerationBlockedAccounts.tsx:132
+#~ msgid "You have not blocked any accounts yet. To block an account, go to their profile and selected \"Block account\" from the menu on their account."
+#~ msgstr "ブロック中のアカウントはまだありません。アカウントをブロックするには、ユーザーのプロフィールに移動し、アカウントメニューから「アカウントをブロック」を選択します。"
+
+#: src/view/screens/AppPasswords.tsx:89
msgid "You have not created any app passwords yet. You can create one by pressing the button below."
msgstr "アプリパスワードはまだ作成されていません。下のボタンを押すと作成できます。"
-#: src/view/screens/ModerationMutedAccounts.tsx:131
-msgid "You have not muted any accounts yet. To mute an account, go to their profile and selected \"Mute account\" from the menu on their account."
+#: src/view/screens/ModerationMutedAccounts.tsx:136
+msgid "You have not muted any accounts yet. To mute an account, go to their profile and select \"Mute account\" from the menu on their account."
msgstr "ミュートしているアカウントはまだありません。アカウントをミュートするには、プロフィールに移動し、アカウントメニューから「アカウントをミュート」を選択します。"
-#: src/components/dialogs/MutedWords.tsx:250
+#: src/view/screens/ModerationMutedAccounts.tsx:131
+#~ msgid "You have not muted any accounts yet. To mute an account, go to their profile and selected \"Mute account\" from the menu on their account."
+#~ msgstr "ミュートしているアカウントはまだありません。アカウントをミュートするには、プロフィールに移動し、アカウントメニューから「アカウントをミュート」を選択します。"
+
+#: src/components/dialogs/MutedWords.tsx:249
msgid "You haven't muted any words or tags yet"
-msgstr ""
+msgstr "まだワードやタグをミュートしていません"
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:68
+msgid "You may appeal these labels if you feel they were placed in error."
+msgstr "これらのラベルが誤って貼られたと思った場合は、異議申し立てを行うことができます。"
+
+#: src/screens/Signup/StepInfo/Policies.tsx:79
+msgid "You must be 13 years of age or older to sign up."
+msgstr "サインアップするには、13歳以上である必要があります。"
#: src/view/com/modals/ContentFilteringSettings.tsx:175
-msgid "You must be 18 or older to enable adult content."
-msgstr "成人向けコンテンツを有効にするには、18歳以上である必要があります。"
+#~ msgid "You must be 18 or older to enable adult content."
+#~ msgstr "成人向けコンテンツを有効にするには、18歳以上である必要があります。"
-#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:103
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:110
msgid "You must be 18 years or older to enable adult content"
msgstr "成人向けコンテンツを有効にするには、18歳以上である必要があります。"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:147
+#: src/components/ReportDialog/SubmitView.tsx:203
+msgid "You must select at least one labeler for a report"
+msgstr "報告をするには少なくとも1つのラベラーを選択する必要があります"
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:150
msgid "You will no longer receive notifications for this thread"
msgstr "これ以降、このスレッドに関する通知を受け取ることはできなくなります"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:150
+#: src/view/com/util/forms/PostDropdownBtn.tsx:153
msgid "You will now receive notifications for this thread"
msgstr "これ以降、このスレッドに関する通知を受け取ることができます"
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:107
+#: src/screens/Login/SetNewPasswordForm.tsx:104
msgid "You will receive an email with a \"reset code.\" Enter that code here, then enter your new password."
msgstr "「リセットコード」が記載されたメールが届きます。ここにコードを入力し、新しいパスワードを入力します。"
-#: src/screens/Onboarding/StepModeration/index.tsx:72
+#: src/screens/Onboarding/StepModeration/index.tsx:60
msgid "You're in control"
msgstr "あなたがコントロールしています"
@@ -4986,40 +6240,45 @@ msgstr "あなたがコントロールしています"
msgid "You're in line"
msgstr "あなたは並んでいます。"
-#: src/screens/Onboarding/StepFinished.tsx:90
+#: src/screens/Onboarding/StepFinished.tsx:94
msgid "You're ready to go!"
msgstr "準備ができました!"
+#: src/components/moderation/ModerationDetailsDialog.tsx:98
+#: src/lib/moderation/useModerationCauseDescription.ts:101
+msgid "You've chosen to hide a word or tag within this post."
+msgstr "この投稿でワードまたはタグを隠すことを選択しました。"
+
#: src/view/com/posts/FollowingEndOfFeed.tsx:48
msgid "You've reached the end of your feed! Find some more accounts to follow."
msgstr "フィードはここまでです!もっとフォローするアカウントを見つけましょう。"
-#: src/view/com/auth/create/Step1.tsx:67
+#: src/screens/Signup/index.tsx:151
msgid "Your account"
msgstr "あなたのアカウント"
-#: src/view/com/modals/DeleteAccount.tsx:67
+#: src/view/com/modals/DeleteAccount.tsx:68
msgid "Your account has been deleted"
msgstr "あなたのアカウントは削除されました"
#: src/view/screens/Settings/ExportCarDialog.tsx:47
msgid "Your account repository, containing all public data records, can be downloaded as a \"CAR\" file. This file does not include media embeds, such as images, or your private data, which must be fetched separately."
-msgstr ""
+msgstr "あなたのアカウントの公開データの全記録を含むリポジトリは、「CAR」ファイルとしてダウンロードできます。このファイルには、画像などのメディア埋め込み、また非公開のデータは含まれていないため、それらは個別に取得する必要があります。"
-#: src/view/com/auth/create/Step1.tsx:215
+#: src/screens/Signup/StepInfo/index.tsx:123
msgid "Your birth date"
msgstr "生年月日"
#: src/view/com/modals/InAppBrowserConsent.tsx:47
msgid "Your choice will be saved, but can be changed later in settings."
-msgstr "ここで選択した内容は保存されますが、後から設定で変更できます。"
+msgstr "ここで選択した内容は保存されますが、あとから設定で変更できます。"
-#: src/screens/Onboarding/StepFollowingFeed.tsx:61
+#: src/screens/Onboarding/StepFollowingFeed.tsx:62
msgid "Your default feed is \"Following\""
msgstr "あなたのデフォルトフィードは「Following」です"
-#: src/view/com/auth/create/state.ts:110
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:70
+#: src/screens/Login/ForgotPasswordForm.tsx:57
+#: src/screens/Signup/state.ts:227
#: src/view/com/modals/ChangePassword.tsx:54
msgid "Your email appears to be invalid."
msgstr "メールアドレスが無効なようです。"
@@ -5040,11 +6299,11 @@ msgstr "メールアドレスはまだ確認されていません。これは、
msgid "Your following feed is empty! Follow more users to see what's happening."
msgstr "Followingフィードは空です!もっと多くのユーザーをフォローして、近況を確認しましょう。"
-#: src/view/com/auth/create/Step2.tsx:83
+#: src/screens/Signup/StepHandle.tsx:73
msgid "Your full handle will be"
msgstr "フルハンドルは"
-#: src/view/com/modals/ChangeHandle.tsx:270
+#: src/view/com/modals/ChangeHandle.tsx:271
msgid "Your full handle will be <0>@{0}0>"
msgstr "フルハンドルは<0>@{0}0>になります"
@@ -5058,26 +6317,25 @@ msgstr "フルハンドルは<0>@{0}0>になります"
#~ msgid "Your invite codes are hidden when logged in using an App Password"
#~ msgstr "アプリパスワードを使用してログインすると、招待コードは非表示になります。"
-#: src/components/dialogs/MutedWords.tsx:221
+#: src/components/dialogs/MutedWords.tsx:220
msgid "Your muted words"
-msgstr ""
+msgstr "ミュートしたワード"
-#: src/view/com/modals/ChangePassword.tsx:155
+#: src/view/com/modals/ChangePassword.tsx:157
msgid "Your password has been changed successfully!"
msgstr "パスワードの変更が完了しました!"
-#: src/view/com/composer/Composer.tsx:274
+#: src/view/com/composer/Composer.tsx:284
msgid "Your post has been published"
msgstr "投稿を公開しました"
-#: src/screens/Onboarding/StepFinished.tsx:105
+#: src/screens/Onboarding/StepFinished.tsx:109
#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:59
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:59
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:61
msgid "Your posts, likes, and blocks are public. Mutes are private."
msgstr "投稿、いいね、ブロックは公開されます。ミュートは非公開です。"
-#: src/view/com/modals/SwitchAccount.tsx:84
-#: src/view/screens/Settings/index.tsx:118
+#: src/view/screens/Settings/index.tsx:136
msgid "Your profile"
msgstr "あなたのプロフィール"
@@ -5085,10 +6343,10 @@ msgstr "あなたのプロフィール"
#~ msgid "Your profile and posts will not be visible to people visiting the Bluesky app or website without having an account and being logged in."
#~ msgstr "あなたのプロフィールと投稿は、アカウントを持っておらずログインしていない状態でBlueskyのアプリまたはウェブサイトを訪問する人々には表示されません。"
-#: src/view/com/composer/Composer.tsx:273
+#: src/view/com/composer/Composer.tsx:283
msgid "Your reply has been published"
msgstr "返信を公開しました"
-#: src/view/com/auth/create/Step2.tsx:65
+#: src/screens/Signup/index.tsx:153
msgid "Your user handle"
msgstr "あなたのユーザーハンドル"
diff --git a/src/locale/locales/ko/messages.po b/src/locale/locales/ko/messages.po
index 28059c3edf..1a2878bf77 100644
--- a/src/locale/locales/ko/messages.po
+++ b/src/locale/locales/ko/messages.po
@@ -9,7 +9,7 @@ msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: \n"
-"Last-Translator: heartade\n"
+"Last-Translator: quiple\n"
"Language-Team: quiple, lens0021, HaruChanHeart, hazzzi, heartade\n"
"Plural-Forms: \n"
@@ -17,11 +17,12 @@ msgstr ""
msgid "(no email)"
msgstr "(이메일 없음)"
-#: src/screens/Profile/Header/Metrics.tsx:45
+#: src/components/ProfileHoverCard/index.web.tsx:323
+#: src/screens/Profile/Header/Metrics.tsx:44
msgid "{following} following"
msgstr "{following} 팔로우 중"
-#: src/view/shell/Drawer.tsx:440
+#: src/view/shell/Drawer.tsx:449
msgid "{numUnreadNotifications} unread"
msgstr "{numUnreadNotifications}개 읽지 않음"
@@ -29,15 +30,24 @@ msgstr "{numUnreadNotifications}개 읽지 않음"
msgid "<0/> members"
msgstr "<0/>의 멤버"
-#: src/screens/Profile/Header/Metrics.tsx:46
+#: src/view/shell/Drawer.tsx:97
+msgid "<0>{0}0> following"
+msgstr "<0>{0}0> 팔로우 중"
+
+#: src/components/ProfileHoverCard/index.web.tsx:314
+msgid "<0>{followers} 0><1>{pluralizedFollowers}1>"
+msgstr ""
+
+#: src/components/ProfileHoverCard/index.web.tsx:326
+#: src/screens/Profile/Header/Metrics.tsx:45
msgid "<0>{following} 0><1>following1>"
msgstr "<0>{following} 0><1>팔로우 중1>"
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:30
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:31
msgid "<0>Choose your0><1>Recommended1><2>Feeds2>"
msgstr "<1>추천 피드1><0>선택하기0>"
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:37
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:38
msgid "<0>Follow some0><1>Recommended1><2>Users2>"
msgstr "<1>추천 사용자1><0>팔로우하기0>"
@@ -45,21 +55,21 @@ msgstr "<1>추천 사용자1><0>팔로우하기0>"
msgid "<0>Welcome to0><1>Bluesky1>"
msgstr "<1>Bluesky1><0>에 오신 것을 환영합니다0>"
-#: src/screens/Profile/Header/Handle.tsx:42
+#: src/screens/Profile/Header/Handle.tsx:43
msgid "⚠Invalid Handle"
-msgstr "⚠ 잘못된 핸들"
+msgstr "⚠잘못된 핸들"
#: src/view/com/util/ViewHeader.tsx:89
-#: src/view/screens/Search/Search.tsx:647
+#: src/view/screens/Search/Search.tsx:796
msgid "Access navigation links and settings"
msgstr "탐색 링크 및 설정으로 이동합니다"
-#: src/view/com/home/HomeHeaderLayoutMobile.tsx:52
+#: src/view/com/home/HomeHeaderLayoutMobile.tsx:54
msgid "Access profile and other navigation links"
msgstr "프로필 및 기타 탐색 링크로 이동합니다"
-#: src/view/com/modals/EditImage.tsx:299
-#: src/view/screens/Settings/index.tsx:469
+#: src/view/com/modals/EditImage.tsx:300
+#: src/view/screens/Settings/index.tsx:421
msgid "Accessibility"
msgstr "접근성"
@@ -67,9 +77,9 @@ msgstr "접근성"
msgid "account"
msgstr "계정"
-#: src/view/com/auth/login/LoginForm.tsx:166
-#: src/view/screens/Settings/index.tsx:326
-#: src/view/screens/Settings/index.tsx:739
+#: src/screens/Login/LoginForm.tsx:144
+#: src/view/screens/Settings/index.tsx:330
+#: src/view/screens/Settings/index.tsx:707
msgid "Account"
msgstr "계정"
@@ -85,12 +95,12 @@ msgstr "계정 팔로우함"
msgid "Account muted"
msgstr "계정 뮤트됨"
-#: src/components/moderation/ModerationDetailsDialog.tsx:94
+#: src/components/moderation/ModerationDetailsDialog.tsx:93
#: src/lib/moderation/useModerationCauseDescription.ts:91
msgid "Account Muted"
msgstr "계정 뮤트됨"
-#: src/components/moderation/ModerationDetailsDialog.tsx:83
+#: src/components/moderation/ModerationDetailsDialog.tsx:82
msgid "Account Muted by List"
msgstr "리스트로 계정 뮤트됨"
@@ -102,7 +112,7 @@ msgstr "계정 옵션"
msgid "Account removed from quick access"
msgstr "빠른 액세스에서 계정 제거"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:130
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:137
#: src/view/com/profile/ProfileMenu.tsx:128
msgid "Account unblocked"
msgstr "계정 차단 해제됨"
@@ -115,11 +125,11 @@ msgstr "계정 언팔로우함"
msgid "Account unmuted"
msgstr "계정 언뮤트됨"
-#: src/components/dialogs/MutedWords.tsx:165
+#: src/components/dialogs/MutedWords.tsx:164
#: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:150
-#: src/view/com/modals/ListAddRemoveUsers.tsx:264
+#: src/view/com/modals/ListAddRemoveUsers.tsx:268
#: src/view/com/modals/UserAddRemoveLists.tsx:219
-#: src/view/screens/ProfileList.tsx:827
+#: src/view/screens/ProfileList.tsx:829
msgid "Add"
msgstr "추가"
@@ -127,18 +137,19 @@ msgstr "추가"
msgid "Add a content warning"
msgstr "콘텐츠 경고 추가"
-#: src/view/screens/ProfileList.tsx:817
+#: src/view/screens/ProfileList.tsx:819
msgid "Add a user to this list"
msgstr "이 리스트에 사용자 추가"
-#: src/view/screens/Settings/index.tsx:401
-#: src/view/screens/Settings/index.tsx:410
+#: src/components/dialogs/SwitchAccount.tsx:55
+#: src/view/screens/Settings/index.tsx:405
+#: src/view/screens/Settings/index.tsx:414
msgid "Add account"
msgstr "계정 추가"
#: src/view/com/composer/photos/Gallery.tsx:119
#: src/view/com/composer/photos/Gallery.tsx:180
-#: src/view/com/modals/AltImage.tsx:116
+#: src/view/com/modals/AltImage.tsx:117
msgid "Add alt text"
msgstr "대체 텍스트 추가하기"
@@ -148,23 +159,23 @@ msgstr "대체 텍스트 추가하기"
msgid "Add App Password"
msgstr "앱 비밀번호 추가"
-#: src/view/com/composer/Composer.tsx:462
+#: src/view/com/composer/Composer.tsx:467
msgid "Add link card"
msgstr "링크 카드 추가"
-#: src/view/com/composer/Composer.tsx:467
+#: src/view/com/composer/Composer.tsx:472
msgid "Add link card:"
msgstr "링크 카드 추가:"
-#: src/components/dialogs/MutedWords.tsx:158
+#: src/components/dialogs/MutedWords.tsx:157
msgid "Add mute word for configured settings"
msgstr "구성 설정에 뮤트 단어 추가"
-#: src/components/dialogs/MutedWords.tsx:87
+#: src/components/dialogs/MutedWords.tsx:86
msgid "Add muted words and tags"
msgstr "뮤트할 단어 및 태그 추가"
-#: src/view/com/modals/ChangeHandle.tsx:417
+#: src/view/com/modals/ChangeHandle.tsx:416
msgid "Add the following DNS record to your domain:"
msgstr "도메인에 다음 DNS 레코드를 추가하세요:"
@@ -194,29 +205,31 @@ msgstr "내 피드에 추가됨"
msgid "Adjust the number of likes a reply must have to be shown in your feed."
msgstr "답글이 피드에 표시되기 위해 필요한 좋아요 수를 조정합니다."
+#: src/lib/moderation/useGlobalLabelStrings.ts:34
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:117
#: src/view/com/modals/SelfLabel.tsx:75
msgid "Adult Content"
msgstr "성인 콘텐츠"
-#: src/components/moderation/ModerationLabelPref.tsx:102
+#: src/components/moderation/LabelPreference.tsx:242
msgid "Adult content is disabled."
msgstr "성인 콘텐츠가 비활성화되어 있습니다."
-#: src/screens/Moderation/index.tsx:383
-#: src/view/screens/Settings/index.tsx:682
+#: src/screens/Moderation/index.tsx:375
+#: src/view/screens/Settings/index.tsx:635
msgid "Advanced"
msgstr "고급"
-#: src/view/screens/Feeds.tsx:666
+#: src/view/screens/Feeds.tsx:691
msgid "All the feeds you've saved, right in one place."
msgstr "저장한 모든 피드를 한 곳에서 확인하세요."
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:221
-#: src/view/com/modals/ChangePassword.tsx:168
+#: src/screens/Login/ForgotPasswordForm.tsx:178
+#: src/view/com/modals/ChangePassword.tsx:170
msgid "Already have a code?"
msgstr "이미 코드가 있나요?"
-#: src/view/com/auth/login/ChooseAccountForm.tsx:98
+#: src/screens/Login/ChooseAccountForm.tsx:39
msgid "Already signed in as @{0}"
msgstr "이미 @{0}(으)로 로그인했습니다"
@@ -224,7 +237,7 @@ msgstr "이미 @{0}(으)로 로그인했습니다"
msgid "ALT"
msgstr "ALT"
-#: src/view/com/modals/EditImage.tsx:315
+#: src/view/com/modals/EditImage.tsx:316
msgid "Alt text"
msgstr "대체 텍스트"
@@ -244,12 +257,16 @@ msgstr "이전 주소인 {0}(으)로 이메일을 보냈습니다. 이 이메일
msgid "An issue not included in these options"
msgstr "어떤 옵션에도 포함되지 않는 문제"
+#: src/components/hooks/useFollowMethods.ts:35
+#: src/components/hooks/useFollowMethods.ts:50
#: src/view/com/profile/FollowButton.tsx:35
#: src/view/com/profile/FollowButton.tsx:45
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:188
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:198
msgid "An issue occurred, please try again."
msgstr "문제가 발생했습니다. 다시 시도해 주세요."
-#: src/view/com/notifications/FeedItem.tsx:236
+#: src/view/com/notifications/FeedItem.tsx:242
#: src/view/com/threadgate/WhoCanReply.tsx:178
msgid "and"
msgstr "및"
@@ -270,38 +287,38 @@ msgstr "앱 언어"
msgid "App password deleted"
msgstr "앱 비밀번호 삭제됨"
-#: src/view/com/modals/AddAppPasswords.tsx:134
+#: src/view/com/modals/AddAppPasswords.tsx:135
msgid "App Password names can only contain letters, numbers, spaces, dashes, and underscores."
msgstr "앱 비밀번호 이름에는 문자, 숫자, 공백, 대시, 밑줄만 사용할 수 있습니다."
-#: src/view/com/modals/AddAppPasswords.tsx:99
+#: src/view/com/modals/AddAppPasswords.tsx:100
msgid "App Password names must be at least 4 characters long."
msgstr "앱 비밀번호 이름은 4자 이상이어야 합니다."
-#: src/view/screens/Settings/index.tsx:693
+#: src/view/screens/Settings/index.tsx:646
msgid "App password settings"
msgstr "앱 비밀번호 설정"
#: src/Navigation.tsx:251
#: src/view/screens/AppPasswords.tsx:189
-#: src/view/screens/Settings/index.tsx:702
+#: src/view/screens/Settings/index.tsx:655
msgid "App Passwords"
msgstr "앱 비밀번호"
-#: src/components/moderation/LabelsOnMeDialog.tsx:134
-#: src/components/moderation/LabelsOnMeDialog.tsx:137
+#: src/components/moderation/LabelsOnMeDialog.tsx:133
+#: src/components/moderation/LabelsOnMeDialog.tsx:136
msgid "Appeal"
msgstr "이의신청"
-#: src/components/moderation/LabelsOnMeDialog.tsx:202
+#: src/components/moderation/LabelsOnMeDialog.tsx:201
msgid "Appeal \"{0}\" label"
msgstr "\"{0}\" 라벨 이의신청"
-#: src/components/moderation/LabelsOnMeDialog.tsx:193
+#: src/components/moderation/LabelsOnMeDialog.tsx:192
msgid "Appeal submitted."
msgstr "이의신청 제출함"
-#: src/view/screens/Settings/index.tsx:484
+#: src/view/screens/Settings/index.tsx:436
msgid "Appearance"
msgstr "모양"
@@ -313,11 +330,11 @@ msgstr "앱 비밀번호 \"{name}\"을(를) 삭제하시겠습니까?"
msgid "Are you sure you want to remove {0} from your feeds?"
msgstr "피드에서 {0}을(를) 제거하시겠습니까?"
-#: src/view/com/composer/Composer.tsx:504
+#: src/view/com/composer/Composer.tsx:509
msgid "Are you sure you'd like to discard this draft?"
msgstr "이 초안을 삭제하시겠습니까?"
-#: src/components/dialogs/MutedWords.tsx:282
+#: src/components/dialogs/MutedWords.tsx:281
msgid "Are you sure?"
msgstr "정말인가요?"
@@ -333,44 +350,43 @@ msgstr "예술"
msgid "Artistic or non-erotic nudity."
msgstr "선정적이지 않거나 예술적인 노출."
+#: src/screens/Signup/StepHandle.tsx:119
+msgid "At least 3 characters"
+msgstr "3자 이상"
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:246
#: src/components/moderation/LabelsOnMeDialog.tsx:247
-#: src/components/moderation/LabelsOnMeDialog.tsx:248
-#: src/screens/Profile/Header/Shell.tsx:97
-#: src/view/com/auth/create/CreateAccount.tsx:158
-#: src/view/com/auth/login/ChooseAccountForm.tsx:151
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:174
-#: src/view/com/auth/login/LoginForm.tsx:259
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:179
-#: src/view/com/post-thread/PostThread.tsx:473
-#: src/view/com/post-thread/PostThread.tsx:523
-#: src/view/com/post-thread/PostThread.tsx:531
+#: src/screens/Login/ChooseAccountForm.tsx:73
+#: src/screens/Login/ChooseAccountForm.tsx:78
+#: src/screens/Login/ForgotPasswordForm.tsx:129
+#: src/screens/Login/ForgotPasswordForm.tsx:135
+#: src/screens/Login/LoginForm.tsx:221
+#: src/screens/Login/LoginForm.tsx:227
+#: src/screens/Login/SetNewPasswordForm.tsx:160
+#: src/screens/Login/SetNewPasswordForm.tsx:166
+#: src/screens/Profile/Header/Shell.tsx:96
+#: src/screens/Signup/index.tsx:180
#: src/view/com/util/ViewHeader.tsx:87
msgid "Back"
msgstr "뒤로"
-#: src/view/com/post-thread/PostThread.tsx:481
-msgctxt "action"
-msgid "Back"
-msgstr "뒤로"
-
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:136
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:144
msgid "Based on your interest in {interestsText}"
msgstr "{interestsText}에 대한 관심사 기반"
-#: src/view/screens/Settings/index.tsx:541
+#: src/view/screens/Settings/index.tsx:493
msgid "Basics"
msgstr "기본"
-#: src/components/dialogs/BirthDateSettings.tsx:101
-#: src/view/com/auth/create/Step1.tsx:227
+#: src/components/dialogs/BirthDateSettings.tsx:107
msgid "Birthday"
msgstr "생년월일"
-#: src/view/screens/Settings/index.tsx:358
+#: src/view/screens/Settings/index.tsx:362
msgid "Birthday:"
msgstr "생년월일:"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:278
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:286
#: src/view/com/profile/ProfileMenu.tsx:361
msgid "Block"
msgstr "차단"
@@ -384,30 +400,30 @@ msgstr "계정 차단"
msgid "Block Account?"
msgstr "계정을 차단하시겠습니까?"
-#: src/view/screens/ProfileList.tsx:530
+#: src/view/screens/ProfileList.tsx:532
msgid "Block accounts"
msgstr "계정 차단"
-#: src/view/screens/ProfileList.tsx:478
-#: src/view/screens/ProfileList.tsx:634
+#: src/view/screens/ProfileList.tsx:480
+#: src/view/screens/ProfileList.tsx:636
msgid "Block list"
msgstr "리스트 차단"
-#: src/view/screens/ProfileList.tsx:629
+#: src/view/screens/ProfileList.tsx:631
msgid "Block these accounts?"
msgstr "이 계정들을 차단하시겠습니까?"
#: src/view/com/lists/ListCard.tsx:110
-#: src/view/com/util/post-embeds/QuoteEmbed.tsx:55
+#: src/view/com/util/post-embeds/QuoteEmbed.tsx:58
msgid "Blocked"
msgstr "차단됨"
-#: src/screens/Moderation/index.tsx:270
+#: src/screens/Moderation/index.tsx:267
msgid "Blocked accounts"
msgstr "차단한 계정"
#: src/Navigation.tsx:134
-#: src/view/screens/ModerationBlockedAccounts.tsx:107
+#: src/view/screens/ModerationBlockedAccounts.tsx:113
msgid "Blocked Accounts"
msgstr "차단한 계정"
@@ -415,19 +431,19 @@ msgstr "차단한 계정"
msgid "Blocked accounts cannot reply in your threads, mention you, or otherwise interact with you."
msgstr "차단한 계정은 내 스레드에 답글을 달거나 나를 멘션하거나 기타 다른 방식으로 나와 상호작용할 수 없습니다."
-#: src/view/screens/ModerationBlockedAccounts.tsx:115
+#: src/view/screens/ModerationBlockedAccounts.tsx:121
msgid "Blocked accounts cannot reply in your threads, mention you, or otherwise interact with you. You will not see their content and they will be prevented from seeing yours."
msgstr "차단한 계정은 내 스레드에 답글을 달거나 나를 멘션하거나 기타 다른 방식으로 나와 상호작용할 수 없습니다. 차단한 계정의 콘텐츠를 볼 수 없으며 해당 계정도 내 콘텐츠를 볼 수 없게 됩니다."
-#: src/view/com/post-thread/PostThread.tsx:325
+#: src/view/com/post-thread/PostThread.tsx:313
msgid "Blocked post."
msgstr "차단된 게시물."
-#: src/screens/Profile/Sections/Labels.tsx:171
+#: src/screens/Profile/Sections/Labels.tsx:163
msgid "Blocking does not prevent this labeler from placing labels on your account."
msgstr "차단하더라도 이 라벨러가 내 계정에 라벨을 붙이는 것을 막지는 못합니다."
-#: src/view/screens/ProfileList.tsx:631
+#: src/view/screens/ProfileList.tsx:633
msgid "Blocking is public. Blocked accounts cannot reply in your threads, mention you, or otherwise interact with you."
msgstr "차단 목록은 공개됩니다. 차단한 계정은 내 스레드에 답글을 달거나 나를 멘션하거나 기타 다른 방식으로 나와 상호작용할 수 없습니다."
@@ -435,37 +451,35 @@ msgstr "차단 목록은 공개됩니다. 차단한 계정은 내 스레드에
msgid "Blocking will not prevent labels from being applied on your account, but it will stop this account from replying in your threads or interacting with you."
msgstr "차단하더라도 내 계정에 라벨이 붙는 것은 막지 못하지만, 이 계정이 내 스레드에 답글을 달거나 나와 상호작용하는 것은 중지됩니다."
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:93
-#: src/view/com/auth/SplashScreen.web.tsx:133
+#: src/view/com/auth/SplashScreen.web.tsx:149
msgid "Blog"
msgstr "블로그"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:31
#: src/view/com/auth/server-input/index.tsx:89
-#: src/view/com/auth/server-input/index.tsx:90
+#: src/view/com/auth/server-input/index.tsx:91
msgid "Bluesky"
msgstr "Bluesky"
-#: src/view/com/auth/server-input/index.tsx:150
+#: src/view/com/auth/server-input/index.tsx:154
msgid "Bluesky is an open network where you can choose your hosting provider. Custom hosting is now available in beta for developers."
msgstr "Bluesky는 호스팅 제공자를 선택할 수 있는 개방형 네트워크입니다. 개발자를 위한 사용자 지정 호스팅이 베타 버전으로 제공됩니다."
#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:80
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:80
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:82
msgid "Bluesky is flexible."
msgstr "Bluesky는 유연합니다."
#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:69
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:69
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:71
msgid "Bluesky is open."
msgstr "Bluesky는 열려 있습니다."
#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:56
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:56
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:58
msgid "Bluesky is public."
msgstr "Bluesky는 공개적입니다."
-#: src/screens/Moderation/index.tsx:539
+#: src/screens/Moderation/index.tsx:533
msgid "Bluesky will not show your profile and posts to logged-out users. Other apps may not honor this request. This does not make your account private."
msgstr "로그아웃한 사용자에게 내 프로필과 게시물을 표시하지 않습니다. 다른 앱에서는 이 설정을 따르지 않을 수 있습니다. 내 계정을 비공개로 전환하지는 않습니다."
@@ -481,12 +495,7 @@ msgstr "이미지 흐리게 및 피드에서 필터링"
msgid "Books"
msgstr "책"
-#: src/view/screens/Settings/index.tsx:887
-msgid "Build version {0} {1}"
-msgstr "빌드 버전 {0} {1}"
-
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:87
-#: src/view/com/auth/SplashScreen.web.tsx:128
+#: src/view/com/auth/SplashScreen.web.tsx:146
msgid "Business"
msgstr "비즈니스"
@@ -506,6 +515,10 @@ msgstr "{0} 님이 만듦"
msgid "by <0/>"
msgstr "<0/> 님이 만듦"
+#: src/screens/Signup/StepInfo/Policies.tsx:74
+msgid "By creating an account you agree to the {els}."
+msgstr "계정을 만들면 {els}에 동의하는 것입니다."
+
#: src/view/com/profile/ProfileSubpageHeader.tsx:159
msgid "by you"
msgstr "내가 만듦"
@@ -514,75 +527,89 @@ msgstr "내가 만듦"
msgid "Camera"
msgstr "카메라"
-#: src/view/com/modals/AddAppPasswords.tsx:216
+#: src/view/com/modals/AddAppPasswords.tsx:217
msgid "Can only contain letters, numbers, spaces, dashes, and underscores. Must be at least 4 characters long, but no more than 32 characters long."
msgstr "글자, 숫자, 공백, 대시, 밑줄만 포함할 수 있습니다. 길이는 4자 이상이어야 하고 32자를 넘지 않아야 합니다."
-#: src/components/Prompt.tsx:116
-#: src/components/Prompt.tsx:118
-#: src/view/com/composer/Composer.tsx:316
-#: src/view/com/composer/Composer.tsx:321
+#: src/components/Menu/index.tsx:213
+#: src/components/Prompt.tsx:113
+#: src/components/Prompt.tsx:115
+#: src/components/TagMenu/index.tsx:268
+#: src/view/com/composer/Composer.tsx:317
+#: src/view/com/composer/Composer.tsx:322
#: src/view/com/modals/ChangeEmail.tsx:218
#: src/view/com/modals/ChangeEmail.tsx:220
-#: src/view/com/modals/ChangePassword.tsx:265
-#: src/view/com/modals/ChangePassword.tsx:268
-#: src/view/com/modals/CreateOrEditList.tsx:355
-#: src/view/com/modals/EditImage.tsx:323
-#: src/view/com/modals/EditProfile.tsx:249
+#: src/view/com/modals/ChangeHandle.tsx:154
+#: src/view/com/modals/ChangePassword.tsx:267
+#: src/view/com/modals/ChangePassword.tsx:270
+#: src/view/com/modals/CreateOrEditList.tsx:356
+#: src/view/com/modals/crop-image/CropImage.web.tsx:138
+#: src/view/com/modals/EditImage.tsx:324
+#: src/view/com/modals/EditProfile.tsx:250
#: src/view/com/modals/InAppBrowserConsent.tsx:78
-#: src/view/com/modals/LinkWarning.tsx:87
-#: src/view/com/modals/Repost.tsx:87
+#: src/view/com/modals/InAppBrowserConsent.tsx:80
+#: src/view/com/modals/LinkWarning.tsx:105
+#: src/view/com/modals/LinkWarning.tsx:107
+#: src/view/com/modals/Repost.tsx:88
#: src/view/com/modals/VerifyEmail.tsx:247
#: src/view/com/modals/VerifyEmail.tsx:253
-#: src/view/screens/Search/Search.tsx:716
-#: src/view/shell/desktop/Search.tsx:238
+#: src/view/screens/Search/Search.tsx:865
+#: src/view/shell/desktop/Search.tsx:239
msgid "Cancel"
msgstr "취소"
-#: src/view/com/modals/CreateOrEditList.tsx:360
-#: src/view/com/modals/DeleteAccount.tsx:156
-#: src/view/com/modals/DeleteAccount.tsx:234
+#: src/view/com/modals/CreateOrEditList.tsx:361
+#: src/view/com/modals/DeleteAccount.tsx:155
+#: src/view/com/modals/DeleteAccount.tsx:233
msgctxt "action"
msgid "Cancel"
msgstr "취소"
-#: src/view/com/modals/DeleteAccount.tsx:152
-#: src/view/com/modals/DeleteAccount.tsx:230
+#: src/view/com/modals/DeleteAccount.tsx:151
+#: src/view/com/modals/DeleteAccount.tsx:229
msgid "Cancel account deletion"
msgstr "계정 삭제 취소"
-#: src/view/com/modals/ChangeHandle.tsx:149
+#: src/view/com/modals/ChangeHandle.tsx:150
msgid "Cancel change handle"
msgstr "핸들 변경 취소"
-#: src/view/com/modals/crop-image/CropImage.web.tsx:134
+#: src/view/com/modals/crop-image/CropImage.web.tsx:135
msgid "Cancel image crop"
msgstr "이미지 자르기 취소"
-#: src/view/com/modals/EditProfile.tsx:244
+#: src/view/com/modals/EditProfile.tsx:245
msgid "Cancel profile editing"
msgstr "프로필 편집 취소"
-#: src/view/com/modals/Repost.tsx:78
+#: src/view/com/modals/Repost.tsx:79
msgid "Cancel quote post"
msgstr "게시물 인용 취소"
#: src/view/com/modals/ListAddRemoveUsers.tsx:87
-#: src/view/shell/desktop/Search.tsx:234
+#: src/view/shell/desktop/Search.tsx:235
msgid "Cancel search"
msgstr "검색 취소"
-#: src/view/screens/Settings/index.tsx:352
+#: src/view/com/modals/LinkWarning.tsx:106
+msgid "Cancels opening the linked website"
+msgstr "연결된 웹사이트를 여는 것을 취소합니다"
+
+#: src/view/com/modals/VerifyEmail.tsx:152
+msgid "Change"
+msgstr "변경"
+
+#: src/view/screens/Settings/index.tsx:356
msgctxt "action"
msgid "Change"
msgstr "변경"
-#: src/view/screens/Settings/index.tsx:714
+#: src/view/screens/Settings/index.tsx:667
msgid "Change handle"
msgstr "핸들 변경"
-#: src/view/com/modals/ChangeHandle.tsx:161
-#: src/view/screens/Settings/index.tsx:723
+#: src/view/com/modals/ChangeHandle.tsx:162
+#: src/view/screens/Settings/index.tsx:678
msgid "Change Handle"
msgstr "핸들 변경"
@@ -590,11 +617,12 @@ msgstr "핸들 변경"
msgid "Change my email"
msgstr "내 이메일 변경하기"
-#: src/view/screens/Settings/index.tsx:750
+#: src/view/screens/Settings/index.tsx:718
msgid "Change password"
msgstr "비밀번호 변경"
-#: src/view/screens/Settings/index.tsx:759
+#: src/view/com/modals/ChangePassword.tsx:141
+#: src/view/screens/Settings/index.tsx:729
msgid "Change Password"
msgstr "비밀번호 변경"
@@ -602,10 +630,6 @@ msgstr "비밀번호 변경"
msgid "Change post language to {0}"
msgstr "게시물 언어를 {0}(으)로 변경"
-#: src/view/screens/Settings/index.tsx:751
-msgid "Change your Bluesky password"
-msgstr "내 Bluesky 비밀번호를 변경합니다"
-
#: src/view/com/modals/ChangeEmail.tsx:109
msgid "Change Your Email"
msgstr "이메일 변경"
@@ -615,15 +639,15 @@ msgstr "이메일 변경"
msgid "Check my status"
msgstr "내 상태 확인"
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:121
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:122
msgid "Check out some recommended feeds. Tap + to add them to your list of pinned feeds."
msgstr "몇 가지 추천 피드를 확인하세요. +를 탭하여 고정된 피드 목록에 추가합니다."
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:185
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:186
msgid "Check out some recommended users. Follow them to see similar users."
msgstr "추천 사용자를 확인하세요. 해당 사용자를 팔로우하여 비슷한 사용자를 만날 수 있습니다."
-#: src/view/com/modals/DeleteAccount.tsx:169
+#: src/view/com/modals/DeleteAccount.tsx:168
msgid "Check your inbox for an email with the confirmation code to enter below:"
msgstr "받은 편지함에서 아래에 입력하는 확인 코드가 포함된 이메일이 있는지 확인하세요:"
@@ -631,54 +655,56 @@ msgstr "받은 편지함에서 아래에 입력하는 확인 코드가 포함된
msgid "Choose \"Everybody\" or \"Nobody\""
msgstr "\"모두\" 또는 \"없음\"을 선택하세요."
-#: src/view/screens/Settings/index.tsx:715
-msgid "Choose a new Bluesky username or create"
-msgstr "새 Bluesky 사용자 이름을 선택하거나 만듭니다"
-
#: src/view/com/auth/server-input/index.tsx:79
msgid "Choose Service"
msgstr "서비스 선택"
-#: src/screens/Onboarding/StepFinished.tsx:135
+#: src/screens/Onboarding/StepFinished.tsx:139
msgid "Choose the algorithms that power your custom feeds."
msgstr "맞춤 피드를 구동할 알고리즘을 선택하세요."
#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:83
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:83
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:85
msgid "Choose the algorithms that power your experience with custom feeds."
msgstr "맞춤 피드를 통해 사용자 경험을 강화하는 알고리즘을 선택하세요."
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:103
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:104
msgid "Choose your main feeds"
msgstr "기본 피드 선택"
-#: src/view/com/auth/create/Step1.tsx:196
+#: src/screens/Signup/StepInfo/index.tsx:114
msgid "Choose your password"
msgstr "비밀번호를 입력하세요"
-#: src/view/screens/Settings/index.tsx:862
-#: src/view/screens/Settings/index.tsx:863
+#: src/view/screens/Settings/index.tsx:832
msgid "Clear all legacy storage data"
msgstr "모든 레거시 스토리지 데이터 지우기"
-#: src/view/screens/Settings/index.tsx:865
+#: src/view/screens/Settings/index.tsx:835
msgid "Clear all legacy storage data (restart after this)"
msgstr "모든 레거시 스토리지 데이터 지우기 (이후 다시 시작)"
-#: src/view/screens/Settings/index.tsx:874
-#: src/view/screens/Settings/index.tsx:875
+#: src/view/screens/Settings/index.tsx:844
msgid "Clear all storage data"
msgstr "모든 스토리지 데이터 지우기"
-#: src/view/screens/Settings/index.tsx:877
+#: src/view/screens/Settings/index.tsx:847
msgid "Clear all storage data (restart after this)"
msgstr "모든 스토리지 데이터 지우기 (이후 다시 시작)"
#: src/view/com/util/forms/SearchInput.tsx:88
-#: src/view/screens/Search/Search.tsx:697
+#: src/view/screens/Search/Search.tsx:846
msgid "Clear search query"
msgstr "검색어 지우기"
+#: src/view/screens/Settings/index.tsx:833
+msgid "Clears all legacy storage data"
+msgstr "모든 레거시 스토리지 데이터를 지웁니다"
+
+#: src/view/screens/Settings/index.tsx:845
+msgid "Clears all storage data"
+msgstr "모든 스토리지 데이터를 지웁니다"
+
#: src/view/screens/Support.tsx:40
msgid "click here"
msgstr "이곳을 클릭"
@@ -687,7 +713,7 @@ msgstr "이곳을 클릭"
msgid "Click here to open tag menu for {tag}"
msgstr "이곳을 클릭하여 {tag}의 태그 메뉴 열기"
-#: src/components/RichText.tsx:191
+#: src/components/RichText.tsx:198
msgid "Click here to open tag menu for #{tag}"
msgstr "이곳을 클릭하여 #{tag}의 태그 메뉴 열기"
@@ -695,17 +721,17 @@ msgstr "이곳을 클릭하여 #{tag}의 태그 메뉴 열기"
msgid "Climate"
msgstr "기후"
-#: src/view/com/modals/ChangePassword.tsx:265
-#: src/view/com/modals/ChangePassword.tsx:268
+#: src/view/com/modals/ChangePassword.tsx:267
+#: src/view/com/modals/ChangePassword.tsx:270
msgid "Close"
msgstr "닫기"
-#: src/components/Dialog/index.web.tsx:84
-#: src/components/Dialog/index.web.tsx:198
+#: src/components/Dialog/index.web.tsx:106
+#: src/components/Dialog/index.web.tsx:218
msgid "Close active dialog"
msgstr "열려 있는 대화 상자 닫기"
-#: src/view/com/auth/login/PasswordUpdatedForm.tsx:38
+#: src/screens/Login/PasswordUpdatedForm.tsx:38
msgid "Close alert"
msgstr "알림 닫기"
@@ -713,15 +739,15 @@ msgstr "알림 닫기"
msgid "Close bottom drawer"
msgstr "하단 서랍 닫기"
-#: src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx:30
+#: src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx:36
msgid "Close image"
msgstr "이미지 닫기"
-#: src/view/com/lightbox/Lightbox.web.tsx:119
+#: src/view/com/lightbox/Lightbox.web.tsx:129
msgid "Close image viewer"
msgstr "이미지 뷰어 닫기"
-#: src/view/shell/index.web.tsx:55
+#: src/view/shell/index.web.tsx:57
msgid "Close navigation footer"
msgstr "탐색 푸터 닫기"
@@ -730,23 +756,23 @@ msgstr "탐색 푸터 닫기"
msgid "Close this dialog"
msgstr "이 대화 상자 닫기"
-#: src/view/shell/index.web.tsx:56
+#: src/view/shell/index.web.tsx:58
msgid "Closes bottom navigation bar"
msgstr "하단 탐색 막대를 닫습니다"
-#: src/view/com/auth/login/PasswordUpdatedForm.tsx:39
+#: src/screens/Login/PasswordUpdatedForm.tsx:39
msgid "Closes password update alert"
msgstr "비밀번호 변경 알림을 닫습니다"
-#: src/view/com/composer/Composer.tsx:318
+#: src/view/com/composer/Composer.tsx:319
msgid "Closes post composer and discards post draft"
msgstr "게시물 작성 상자를 닫고 게시물 초안을 삭제합니다"
-#: src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx:31
+#: src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx:37
msgid "Closes viewer for header image"
msgstr "헤더 이미지 뷰어를 닫습니다"
-#: src/view/com/notifications/FeedItem.tsx:317
+#: src/view/com/notifications/FeedItem.tsx:323
msgid "Collapses list of users for a given notification"
msgstr "이 알림에 대한 사용자 목록을 축소합니다"
@@ -763,15 +789,15 @@ msgstr "만화"
msgid "Community Guidelines"
msgstr "커뮤니티 가이드라인"
-#: src/screens/Onboarding/StepFinished.tsx:148
+#: src/screens/Onboarding/StepFinished.tsx:152
msgid "Complete onboarding and start using your account"
msgstr "온보딩 완료 후 계정 사용 시작"
-#: src/view/com/auth/create/Step3.tsx:73
+#: src/screens/Signup/index.tsx:155
msgid "Complete the challenge"
msgstr "챌린지 완료하기"
-#: src/view/com/composer/Composer.tsx:433
+#: src/view/com/composer/Composer.tsx:438
msgid "Compose posts up to {MAX_GRAPHEME_LENGTH} characters in length"
msgstr "최대 {MAX_GRAPHEME_LENGTH}자 길이까지 글을 작성할 수 있습니다"
@@ -779,18 +805,20 @@ msgstr "최대 {MAX_GRAPHEME_LENGTH}자 길이까지 글을 작성할 수 있습
msgid "Compose reply"
msgstr "답글 작성하기"
-#: src/components/moderation/GlobalModerationLabelPref.tsx:69
-#: src/components/moderation/ModerationLabelPref.tsx:128
#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:81
msgid "Configure content filtering setting for category: {0}"
-msgstr "{0} 카테고리에 대한 콘텐츠 필터링 설정 구성"
+msgstr "{0} 카테고리에 대한 콘텐츠 필터링 설정을 구성합니다."
-#: src/components/moderation/ModerationLabelPref.tsx:104
+#: src/components/moderation/LabelPreference.tsx:81
+msgid "Configure content filtering setting for category: {name}"
+msgstr "{name} 카테고리에 대한 콘텐츠 필터링 설정을 구성합니다."
+
+#: src/components/moderation/LabelPreference.tsx:244
msgid "Configured in <0>moderation settings0>."
msgstr "<0>검토 설정0>에서 설정합니다."
-#: src/components/Prompt.tsx:152
-#: src/components/Prompt.tsx:155
+#: src/components/Prompt.tsx:153
+#: src/components/Prompt.tsx:156
#: src/view/com/modals/SelfLabel.tsx:154
#: src/view/com/modals/VerifyEmail.tsx:231
#: src/view/com/modals/VerifyEmail.tsx:233
@@ -804,34 +832,34 @@ msgstr "확인"
msgid "Confirm Change"
msgstr "변경 확인"
-#: src/view/com/modals/lang-settings/ConfirmLanguagesButton.tsx:34
+#: src/view/com/modals/lang-settings/ConfirmLanguagesButton.tsx:35
msgid "Confirm content language settings"
msgstr "콘텐츠 언어 설정 확인"
-#: src/view/com/modals/DeleteAccount.tsx:220
+#: src/view/com/modals/DeleteAccount.tsx:219
msgid "Confirm delete account"
msgstr "계정 삭제 확인"
-#: src/screens/Moderation/index.tsx:304
+#: src/screens/Moderation/index.tsx:301
msgid "Confirm your age:"
msgstr "나이를 확인하세요:"
-#: src/screens/Moderation/index.tsx:295
+#: src/screens/Moderation/index.tsx:292
msgid "Confirm your birthdate"
msgstr "생년월일 확인"
#: src/view/com/modals/ChangeEmail.tsx:157
-#: src/view/com/modals/DeleteAccount.tsx:182
+#: src/view/com/modals/DeleteAccount.tsx:175
+#: src/view/com/modals/DeleteAccount.tsx:181
#: src/view/com/modals/VerifyEmail.tsx:165
msgid "Confirmation code"
msgstr "확인 코드"
-#: src/view/com/auth/create/CreateAccount.tsx:193
-#: src/view/com/auth/login/LoginForm.tsx:278
+#: src/screens/Login/LoginForm.tsx:248
msgid "Connecting..."
msgstr "연결 중…"
-#: src/view/com/auth/create/CreateAccount.tsx:213
+#: src/screens/Signup/index.tsx:225
msgid "Contact support"
msgstr "지원에 연락하기"
@@ -843,7 +871,7 @@ msgstr "콘텐츠"
msgid "Content Blocked"
msgstr "콘텐츠 차단됨"
-#: src/screens/Moderation/index.tsx:288
+#: src/screens/Moderation/index.tsx:285
msgid "Content filters"
msgstr "콘텐츠 필터"
@@ -852,12 +880,12 @@ msgstr "콘텐츠 필터"
msgid "Content Languages"
msgstr "콘텐츠 언어"
-#: src/components/moderation/ModerationDetailsDialog.tsx:76
+#: src/components/moderation/ModerationDetailsDialog.tsx:75
#: src/lib/moderation/useModerationCauseDescription.ts:75
msgid "Content Not Available"
msgstr "콘텐츠를 사용할 수 없음"
-#: src/components/moderation/ModerationDetailsDialog.tsx:47
+#: src/components/moderation/ModerationDetailsDialog.tsx:46
#: src/components/moderation/ScreenHider.tsx:99
#: src/lib/moderation/useGlobalLabelStrings.ts:22
#: src/lib/moderation/useModerationCauseDescription.ts:38
@@ -872,28 +900,34 @@ msgstr "콘텐츠 경고"
msgid "Context menu backdrop, click to close the menu."
msgstr "컨텍스트 메뉴 배경을 클릭하여 메뉴를 닫습니다."
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:170
-#: src/screens/Onboarding/StepFollowingFeed.tsx:153
-#: src/screens/Onboarding/StepInterests/index.tsx:248
-#: src/screens/Onboarding/StepModeration/index.tsx:102
-#: src/screens/Onboarding/StepTopicalFeeds.tsx:114
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:148
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:209
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:161
+#: src/screens/Onboarding/StepFollowingFeed.tsx:154
+#: src/screens/Onboarding/StepInterests/index.tsx:252
+#: src/screens/Onboarding/StepModeration/index.tsx:103
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:118
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:150
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:211
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:96
msgid "Continue"
msgstr "계속"
-#: src/screens/Onboarding/StepFollowingFeed.tsx:150
-#: src/screens/Onboarding/StepInterests/index.tsx:245
-#: src/screens/Onboarding/StepModeration/index.tsx:99
-#: src/screens/Onboarding/StepTopicalFeeds.tsx:111
+#: src/components/AccountList.tsx:108
+msgid "Continue as {0} (currently signed in)"
+msgstr "{0}(으)로 계속하기 (현재 로그인)"
+
+#: src/screens/Onboarding/StepFollowingFeed.tsx:151
+#: src/screens/Onboarding/StepInterests/index.tsx:249
+#: src/screens/Onboarding/StepModeration/index.tsx:100
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:115
+#: src/screens/Signup/index.tsx:200
msgid "Continue to next step"
msgstr "다음 단계로 계속하기"
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:167
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:158
msgid "Continue to the next step"
msgstr "다음 단계로 계속하기"
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:191
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:199
msgid "Continue to the next step without following any accounts"
msgstr "계정을 팔로우하지 않고 다음 단계로 계속하기"
@@ -901,40 +935,54 @@ msgstr "계정을 팔로우하지 않고 다음 단계로 계속하기"
msgid "Cooking"
msgstr "요리"
-#: src/view/com/modals/AddAppPasswords.tsx:195
-#: src/view/com/modals/InviteCodes.tsx:182
+#: src/view/com/modals/AddAppPasswords.tsx:196
+#: src/view/com/modals/InviteCodes.tsx:183
msgid "Copied"
msgstr "복사됨"
-#: src/view/screens/Settings/index.tsx:247
+#: src/view/screens/Settings/index.tsx:254
msgid "Copied build version to clipboard"
msgstr "빌드 버전 클립보드에 복사됨"
-#: src/view/com/modals/AddAppPasswords.tsx:76
-#: src/view/com/modals/InviteCodes.tsx:152
-#: src/view/com/util/forms/PostDropdownBtn.tsx:158
+#: src/view/com/modals/AddAppPasswords.tsx:77
+#: src/view/com/modals/ChangeHandle.tsx:326
+#: src/view/com/modals/InviteCodes.tsx:153
+#: src/view/com/util/forms/PostDropdownBtn.tsx:164
msgid "Copied to clipboard"
msgstr "클립보드에 복사됨"
-#: src/view/com/modals/AddAppPasswords.tsx:189
+#: src/components/dialogs/Embed.tsx:134
+msgid "Copied!"
+msgstr ""
+
+#: src/view/com/modals/AddAppPasswords.tsx:190
msgid "Copies app password"
msgstr "앱 비밀번호를 복사합니다"
-#: src/view/com/modals/AddAppPasswords.tsx:188
+#: src/view/com/modals/AddAppPasswords.tsx:189
msgid "Copy"
msgstr "복사"
-#: src/view/screens/ProfileList.tsx:388
+#: src/view/com/modals/ChangeHandle.tsx:480
+msgid "Copy {0}"
+msgstr "{0} 복사"
+
+#: src/components/dialogs/Embed.tsx:120
+#: src/components/dialogs/Embed.tsx:139
+msgid "Copy code"
+msgstr ""
+
+#: src/view/screens/ProfileList.tsx:390
msgid "Copy link to list"
msgstr "리스트 링크 복사"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:228
-#: src/view/com/util/forms/PostDropdownBtn.tsx:237
+#: src/view/com/util/forms/PostDropdownBtn.tsx:236
+#: src/view/com/util/forms/PostDropdownBtn.tsx:245
msgid "Copy link to post"
msgstr "게시물 링크 복사"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:220
-#: src/view/com/util/forms/PostDropdownBtn.tsx:222
+#: src/view/com/util/forms/PostDropdownBtn.tsx:228
+#: src/view/com/util/forms/PostDropdownBtn.tsx:230
msgid "Copy post text"
msgstr "게시물 텍스트 복사"
@@ -943,38 +991,42 @@ msgstr "게시물 텍스트 복사"
msgid "Copyright Policy"
msgstr "저작권 정책"
-#: src/view/screens/ProfileFeed.tsx:102
+#: src/view/screens/ProfileFeed.tsx:103
msgid "Could not load feed"
msgstr "피드를 불러올 수 없습니다"
-#: src/view/screens/ProfileList.tsx:907
+#: src/view/screens/ProfileList.tsx:909
msgid "Could not load list"
msgstr "리스트를 불러올 수 없습니다"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:62
-#: src/view/com/auth/SplashScreen.tsx:71
-#: src/view/com/auth/SplashScreen.web.tsx:81
+#: src/view/com/auth/SplashScreen.tsx:57
+#: src/view/com/auth/SplashScreen.web.tsx:101
msgid "Create a new account"
msgstr "새 계정 만들기"
-#: src/view/screens/Settings/index.tsx:402
+#: src/view/screens/Settings/index.tsx:406
msgid "Create a new Bluesky account"
msgstr "새 Bluesky 계정을 만듭니다"
-#: src/view/com/auth/create/CreateAccount.tsx:133
+#: src/screens/Signup/index.tsx:130
msgid "Create Account"
msgstr "계정 만들기"
-#: src/view/com/modals/AddAppPasswords.tsx:226
+#: src/components/dialogs/Signin.tsx:86
+#: src/components/dialogs/Signin.tsx:88
+msgid "Create an account"
+msgstr ""
+
+#: src/view/com/modals/AddAppPasswords.tsx:227
msgid "Create App Password"
msgstr "앱 비밀번호 만들기"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:54
-#: src/view/com/auth/SplashScreen.tsx:68
+#: src/view/com/auth/SplashScreen.tsx:48
+#: src/view/com/auth/SplashScreen.web.tsx:92
msgid "Create new account"
msgstr "새 계정 만들기"
-#: src/components/ReportDialog/SelectReportOptionView.tsx:93
+#: src/components/ReportDialog/SelectReportOptionView.tsx:94
msgid "Create report for {0}"
msgstr "{0}에 대한 신고 작성하기"
@@ -982,7 +1034,7 @@ msgstr "{0}에 대한 신고 작성하기"
msgid "Created {0}"
msgstr "{0}에 생성됨"
-#: src/view/com/composer/Composer.tsx:464
+#: src/view/com/composer/Composer.tsx:469
msgid "Creates a card with a thumbnail. The card links to {url}"
msgstr "미리보기 이미지가 있는 카드를 만듭니다. 카드가 {url}(으)로 연결됩니다"
@@ -990,17 +1042,17 @@ msgstr "미리보기 이미지가 있는 카드를 만듭니다. 카드가 {url}
msgid "Culture"
msgstr "문화"
-#: src/view/com/auth/server-input/index.tsx:95
-#: src/view/com/auth/server-input/index.tsx:96
+#: src/view/com/auth/server-input/index.tsx:97
+#: src/view/com/auth/server-input/index.tsx:99
msgid "Custom"
msgstr "사용자 지정"
-#: src/view/com/modals/ChangeHandle.tsx:389
+#: src/view/com/modals/ChangeHandle.tsx:388
msgid "Custom domain"
msgstr "사용자 지정 도메인"
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:106
-#: src/view/screens/Feeds.tsx:692
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:107
+#: src/view/screens/Feeds.tsx:717
msgid "Custom feeds built by the community bring you new experiences and help you find the content you love."
msgstr "커뮤니티에서 구축한 맞춤 피드는 새로운 경험을 제공하고 좋아하는 콘텐츠를 찾을 수 있도록 도와줍니다."
@@ -1008,8 +1060,8 @@ msgstr "커뮤니티에서 구축한 맞춤 피드는 새로운 경험을 제공
msgid "Customize media from external sites."
msgstr "외부 사이트 미디어를 사용자 지정합니다."
-#: src/view/screens/Settings/index.tsx:503
-#: src/view/screens/Settings/index.tsx:529
+#: src/view/screens/Settings/index.tsx:455
+#: src/view/screens/Settings/index.tsx:481
msgid "Dark"
msgstr "어두움"
@@ -1017,11 +1069,15 @@ msgstr "어두움"
msgid "Dark mode"
msgstr "어두운 모드"
-#: src/view/screens/Settings/index.tsx:516
+#: src/view/screens/Settings/index.tsx:468
msgid "Dark Theme"
msgstr "어두운 테마"
-#: src/view/screens/Settings/index.tsx:835
+#: src/screens/Signup/StepInfo/index.tsx:134
+msgid "Date of birth"
+msgstr "생년월일"
+
+#: src/view/screens/Settings/index.tsx:805
msgid "Debug Moderation"
msgstr "검토 디버그"
@@ -1029,17 +1085,17 @@ msgstr "검토 디버그"
msgid "Debug panel"
msgstr "디버그 패널"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:319
+#: src/view/com/util/forms/PostDropdownBtn.tsx:341
#: src/view/screens/AppPasswords.tsx:268
-#: src/view/screens/ProfileList.tsx:613
+#: src/view/screens/ProfileList.tsx:615
msgid "Delete"
msgstr "삭제"
-#: src/view/screens/Settings/index.tsx:790
+#: src/view/screens/Settings/index.tsx:760
msgid "Delete account"
msgstr "계정 삭제"
-#: src/view/com/modals/DeleteAccount.tsx:87
+#: src/view/com/modals/DeleteAccount.tsx:86
msgid "Delete Account"
msgstr "계정 삭제"
@@ -1051,71 +1107,79 @@ msgstr "앱 비밀번호 삭제"
msgid "Delete app password?"
msgstr "앱 비밀번호를 삭제하시겠습니까?"
-#: src/view/screens/ProfileList.tsx:415
+#: src/view/screens/ProfileList.tsx:417
msgid "Delete List"
msgstr "리스트 삭제"
-#: src/view/com/modals/DeleteAccount.tsx:223
+#: src/view/com/modals/DeleteAccount.tsx:222
msgid "Delete my account"
msgstr "내 계정 삭제"
-#: src/view/screens/Settings/index.tsx:802
+#: src/view/screens/Settings/index.tsx:772
msgid "Delete My Account…"
msgstr "내 계정 삭제…"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:302
-#: src/view/com/util/forms/PostDropdownBtn.tsx:304
+#: src/view/com/util/forms/PostDropdownBtn.tsx:322
+#: src/view/com/util/forms/PostDropdownBtn.tsx:324
msgid "Delete post"
msgstr "게시물 삭제"
-#: src/view/screens/ProfileList.tsx:608
+#: src/view/screens/ProfileList.tsx:610
msgid "Delete this list?"
msgstr "이 리스트를 삭제하시겠습니까?"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:314
+#: src/view/com/util/forms/PostDropdownBtn.tsx:336
msgid "Delete this post?"
msgstr "이 게시물을 삭제하시겠습니까?"
-#: src/view/com/util/post-embeds/QuoteEmbed.tsx:64
+#: src/view/com/util/post-embeds/QuoteEmbed.tsx:67
msgid "Deleted"
msgstr "삭제됨"
-#: src/view/com/post-thread/PostThread.tsx:317
+#: src/view/com/post-thread/PostThread.tsx:305
msgid "Deleted post."
msgstr "삭제된 게시물."
-#: src/view/com/modals/CreateOrEditList.tsx:300
-#: src/view/com/modals/CreateOrEditList.tsx:321
-#: src/view/com/modals/EditProfile.tsx:198
-#: src/view/com/modals/EditProfile.tsx:210
+#: src/view/com/modals/CreateOrEditList.tsx:301
+#: src/view/com/modals/CreateOrEditList.tsx:322
+#: src/view/com/modals/EditProfile.tsx:199
+#: src/view/com/modals/EditProfile.tsx:211
msgid "Description"
msgstr "설명"
-#: src/view/com/composer/Composer.tsx:217
+#: src/view/com/composer/Composer.tsx:218
msgid "Did you want to say anything?"
msgstr "하고 싶은 말이 있나요?"
-#: src/view/screens/Settings/index.tsx:522
+#: src/view/screens/Settings/index.tsx:474
msgid "Dim"
msgstr "어둑함"
+#: src/view/screens/Settings/index.tsx:697
+msgid "Disable haptics"
+msgstr "햅틱 끄기"
+
+#: src/view/screens/Settings/index.tsx:697
+msgid "Disable vibrations"
+msgstr "진동 끄기"
+
#: src/lib/moderation/useLabelBehaviorDescription.ts:32
#: src/lib/moderation/useLabelBehaviorDescription.ts:42
#: src/lib/moderation/useLabelBehaviorDescription.ts:68
-#: src/screens/Moderation/index.tsx:347
+#: src/screens/Moderation/index.tsx:341
msgid "Disabled"
msgstr "비활성화됨"
-#: src/view/com/composer/Composer.tsx:506
+#: src/view/com/composer/Composer.tsx:511
msgid "Discard"
msgstr "삭제"
-#: src/view/com/composer/Composer.tsx:503
+#: src/view/com/composer/Composer.tsx:508
msgid "Discard draft?"
msgstr "초안 삭제"
-#: src/screens/Moderation/index.tsx:524
-#: src/screens/Moderation/index.tsx:528
+#: src/screens/Moderation/index.tsx:518
+#: src/screens/Moderation/index.tsx:522
msgid "Discourage apps from showing my account to logged-out users"
msgstr "앱이 로그아웃한 사용자에게 내 계정을 표시하지 않도록 설정하기"
@@ -1124,44 +1188,58 @@ msgstr "앱이 로그아웃한 사용자에게 내 계정을 표시하지 않도
msgid "Discover new custom feeds"
msgstr "새로운 맞춤 피드 찾아보기"
-#: src/view/screens/Feeds.tsx:689
+#: src/view/screens/Feeds.tsx:714
msgid "Discover New Feeds"
msgstr "새 피드 발견하기"
-#: src/view/com/modals/EditProfile.tsx:192
+#: src/view/com/modals/EditProfile.tsx:193
msgid "Display name"
msgstr "표시 이름"
-#: src/view/com/modals/EditProfile.tsx:180
+#: src/view/com/modals/EditProfile.tsx:181
msgid "Display Name"
msgstr "표시 이름"
+#: src/view/com/modals/ChangeHandle.tsx:397
+msgid "DNS Panel"
+msgstr "DNS 패널"
+
#: src/lib/moderation/useGlobalLabelStrings.ts:39
msgid "Does not include nudity."
-msgstr "노출을 포함하지 않음."
+msgstr "노출을 포함하지 않습니다."
-#: src/view/com/modals/ChangeHandle.tsx:487
+#: src/screens/Signup/StepHandle.tsx:105
+msgid "Doesn't begin or end with a hyphen"
+msgstr "하이픈으로 시작하거나 끝나지 않음"
+
+#: src/view/com/modals/ChangeHandle.tsx:481
+msgid "Domain Value"
+msgstr "도메인 값"
+
+#: src/view/com/modals/ChangeHandle.tsx:488
msgid "Domain verified!"
msgstr "도메인을 확인했습니다."
-#: src/components/dialogs/BirthDateSettings.tsx:112
-#: src/components/dialogs/BirthDateSettings.tsx:118
-#: src/view/com/auth/server-input/index.tsx:165
-#: src/view/com/auth/server-input/index.tsx:166
-#: src/view/com/modals/AddAppPasswords.tsx:226
-#: src/view/com/modals/AltImage.tsx:139
-#: src/view/com/modals/crop-image/CropImage.web.tsx:152
-#: src/view/com/modals/InviteCodes.tsx:80
-#: src/view/com/modals/InviteCodes.tsx:123
+#: src/components/dialogs/BirthDateSettings.tsx:119
+#: src/components/dialogs/BirthDateSettings.tsx:125
+#: src/components/forms/DateField/index.tsx:74
+#: src/components/forms/DateField/index.tsx:80
+#: src/view/com/auth/server-input/index.tsx:169
+#: src/view/com/auth/server-input/index.tsx:170
+#: src/view/com/modals/AddAppPasswords.tsx:227
+#: src/view/com/modals/AltImage.tsx:140
+#: src/view/com/modals/crop-image/CropImage.web.tsx:153
+#: src/view/com/modals/InviteCodes.tsx:81
+#: src/view/com/modals/InviteCodes.tsx:124
#: src/view/com/modals/ListAddRemoveUsers.tsx:142
#: src/view/screens/PreferencesFollowingFeed.tsx:311
-#: src/view/screens/Settings/ExportCarDialog.tsx:93
#: src/view/screens/Settings/ExportCarDialog.tsx:94
+#: src/view/screens/Settings/ExportCarDialog.tsx:96
msgid "Done"
msgstr "완료"
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:86
-#: src/view/com/modals/EditImage.tsx:333
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:87
+#: src/view/com/modals/EditImage.tsx:334
#: src/view/com/modals/ListAddRemoveUsers.tsx:144
#: src/view/com/modals/SelfLabel.tsx:157
#: src/view/com/modals/Threadgate.tsx:129
@@ -1173,18 +1251,10 @@ msgctxt "action"
msgid "Done"
msgstr "완료"
-#: src/view/com/modals/lang-settings/ConfirmLanguagesButton.tsx:42
+#: src/view/com/modals/lang-settings/ConfirmLanguagesButton.tsx:43
msgid "Done{extraText}"
msgstr "완료{extraText}"
-#: src/view/com/auth/login/ChooseAccountForm.tsx:45
-msgid "Double tap to sign in"
-msgstr "두 번 탭하여 로그인합니다"
-
-#: src/view/screens/Settings/index.tsx:773
-msgid "Download Bluesky account data (repository)"
-msgstr "Bluesky 계정 데이터를 다운로드합니다 (저장소)"
-
#: src/view/screens/Settings/ExportCarDialog.tsx:59
#: src/view/screens/Settings/ExportCarDialog.tsx:63
msgid "Download CAR file"
@@ -1194,15 +1264,23 @@ msgstr "CAR 파일 다운로드"
msgid "Drop to add images"
msgstr "드롭하여 이미지 추가"
-#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:116
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:120
msgid "Due to Apple policies, adult content can only be enabled on the web after completing sign up."
msgstr "Apple 정책으로 인해 성인 콘텐츠는 가입을 완료한 후에 웹에서만 사용 설정할 수 있습니다."
-#: src/view/com/modals/EditProfile.tsx:185
+#: src/view/com/modals/ChangeHandle.tsx:258
+msgid "e.g. alice"
+msgstr "예: alice"
+
+#: src/view/com/modals/EditProfile.tsx:186
msgid "e.g. Alice Roberts"
msgstr "예: 앨리스 로버츠"
-#: src/view/com/modals/EditProfile.tsx:203
+#: src/view/com/modals/ChangeHandle.tsx:380
+msgid "e.g. alice.com"
+msgstr "예: alice.com"
+
+#: src/view/com/modals/EditProfile.tsx:204
msgid "e.g. Artist, dog-lover, and avid reader."
msgstr "예: 예술가, 개 애호가, 독서광."
@@ -1210,23 +1288,23 @@ msgstr "예: 예술가, 개 애호가, 독서광."
msgid "E.g. artistic nudes."
msgstr "예: 예술적인 노출."
-#: src/view/com/modals/CreateOrEditList.tsx:283
+#: src/view/com/modals/CreateOrEditList.tsx:284
msgid "e.g. Great Posters"
msgstr "예: 멋진 포스터"
-#: src/view/com/modals/CreateOrEditList.tsx:284
+#: src/view/com/modals/CreateOrEditList.tsx:285
msgid "e.g. Spammers"
msgstr "예: 스팸 계정"
-#: src/view/com/modals/CreateOrEditList.tsx:312
+#: src/view/com/modals/CreateOrEditList.tsx:313
msgid "e.g. The posters who never miss."
msgstr "예: 놓칠 수 없는 포스터들."
-#: src/view/com/modals/CreateOrEditList.tsx:313
+#: src/view/com/modals/CreateOrEditList.tsx:314
msgid "e.g. Users that repeatedly reply with ads."
msgstr "예: 반복적으로 광고 답글을 다는 계정."
-#: src/view/com/modals/InviteCodes.tsx:96
+#: src/view/com/modals/InviteCodes.tsx:97
msgid "Each code works once. You'll receive more invite codes periodically."
msgstr "각 코드는 한 번만 사용할 수 있습니다. 주기적으로 더 많은 초대 코드를 받게 됩니다."
@@ -1235,58 +1313,58 @@ msgctxt "action"
msgid "Edit"
msgstr "편집"
-#: src/view/com/util/UserAvatar.tsx:295
+#: src/view/com/util/UserAvatar.tsx:301
#: src/view/com/util/UserBanner.tsx:85
msgid "Edit avatar"
msgstr "아바타 편집"
#: src/view/com/composer/photos/Gallery.tsx:144
-#: src/view/com/modals/EditImage.tsx:207
+#: src/view/com/modals/EditImage.tsx:208
msgid "Edit image"
msgstr "이미지 편집"
-#: src/view/screens/ProfileList.tsx:403
+#: src/view/screens/ProfileList.tsx:405
msgid "Edit list details"
msgstr "리스트 세부 정보 편집"
-#: src/view/com/modals/CreateOrEditList.tsx:250
+#: src/view/com/modals/CreateOrEditList.tsx:251
msgid "Edit Moderation List"
msgstr "검토 리스트 편집"
#: src/Navigation.tsx:256
-#: src/view/screens/Feeds.tsx:434
-#: src/view/screens/SavedFeeds.tsx:84
+#: src/view/screens/Feeds.tsx:459
+#: src/view/screens/SavedFeeds.tsx:85
msgid "Edit My Feeds"
msgstr "내 피드 편집"
-#: src/view/com/modals/EditProfile.tsx:152
+#: src/view/com/modals/EditProfile.tsx:153
msgid "Edit my profile"
msgstr "내 프로필 편집"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:172
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:161
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:178
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:168
msgid "Edit profile"
msgstr "프로필 편집"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:175
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:164
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:181
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:171
msgid "Edit Profile"
msgstr "프로필 편집"
-#: src/view/com/home/HomeHeaderLayout.web.tsx:62
-#: src/view/screens/Feeds.tsx:355
+#: src/view/com/home/HomeHeaderLayout.web.tsx:66
+#: src/view/screens/Feeds.tsx:380
msgid "Edit Saved Feeds"
msgstr "저장된 피드 편집"
-#: src/view/com/modals/CreateOrEditList.tsx:245
+#: src/view/com/modals/CreateOrEditList.tsx:246
msgid "Edit User List"
msgstr "사용자 리스트 편집"
-#: src/view/com/modals/EditProfile.tsx:193
+#: src/view/com/modals/EditProfile.tsx:194
msgid "Edit your display name"
msgstr "내 표시 이름 편집"
-#: src/view/com/modals/EditProfile.tsx:211
+#: src/view/com/modals/EditProfile.tsx:212
msgid "Edit your profile description"
msgstr "내 프로필 설명 편집"
@@ -1294,14 +1372,12 @@ msgstr "내 프로필 설명 편집"
msgid "Education"
msgstr "교육"
-#: src/view/com/auth/create/Step1.tsx:176
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:156
+#: src/screens/Signup/StepInfo/index.tsx:80
#: src/view/com/modals/ChangeEmail.tsx:141
msgid "Email"
msgstr "이메일"
-#: src/view/com/auth/create/Step1.tsx:167
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:147
+#: src/screens/Login/ForgotPasswordForm.tsx:99
msgid "Email address"
msgstr "이메일 주소"
@@ -1318,25 +1394,44 @@ msgstr "이메일 변경됨"
msgid "Email verified"
msgstr "이메일 확인됨"
-#: src/view/screens/Settings/index.tsx:330
+#: src/view/screens/Settings/index.tsx:334
msgid "Email:"
msgstr "이메일:"
-#: src/view/com/modals/EmbedConsent.tsx:113
-msgid "Enable {0} only"
-msgstr "{0}만 사용"
+#: src/components/dialogs/Embed.tsx:112
+msgid "Embed HTML code"
+msgstr ""
-#: src/screens/Moderation/index.tsx:335
+#: src/components/dialogs/Embed.tsx:97
+#: src/view/com/util/forms/PostDropdownBtn.tsx:253
+#: src/view/com/util/forms/PostDropdownBtn.tsx:255
+msgid "Embed post"
+msgstr ""
+
+#: src/components/dialogs/Embed.tsx:101
+msgid "Embed this post in your website. Simply copy the following snippet and paste it into the HTML code of your website."
+msgstr ""
+
+#: src/components/dialogs/EmbedConsent.tsx:101
+msgid "Enable {0} only"
+msgstr "{0}에서만 사용"
+
+#: src/screens/Moderation/index.tsx:329
msgid "Enable adult content"
msgstr "성인 콘텐츠 활성화"
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:94
+msgid "Enable Adult Content"
+msgstr "성인 콘텐츠 활성화"
+
#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:78
#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:79
msgid "Enable adult content in your feeds"
msgstr "피드에서 성인 콘텐츠 사용"
-#: src/view/com/modals/EmbedConsent.tsx:97
-msgid "Enable External Media"
+#: src/components/dialogs/EmbedConsent.tsx:82
+#: src/components/dialogs/EmbedConsent.tsx:89
+msgid "Enable external media"
msgstr "외부 미디어 사용"
#: src/view/screens/PreferencesExternalEmbeds.tsx:75
@@ -1347,20 +1442,28 @@ msgstr "미디어 플레이어를 사용할 외부 사이트"
msgid "Enable this setting to only see replies between people you follow."
msgstr "내가 팔로우하는 사람들 간의 답글만 표시합니다."
-#: src/screens/Moderation/index.tsx:345
+#: src/components/dialogs/EmbedConsent.tsx:94
+msgid "Enable this source only"
+msgstr "이 소스에서만 사용"
+
+#: src/screens/Moderation/index.tsx:339
msgid "Enabled"
msgstr "활성화됨"
-#: src/screens/Profile/Sections/Feed.tsx:84
+#: src/screens/Profile/Sections/Feed.tsx:100
msgid "End of feed"
msgstr "피드 끝"
-#: src/view/com/modals/AddAppPasswords.tsx:166
+#: src/view/com/modals/AddAppPasswords.tsx:167
msgid "Enter a name for this App Password"
-msgstr "이 앱 비밀번호의 이름을 입력하세요"
+msgstr "이 앱 비밀번호의 이름 입력"
+#: src/screens/Login/SetNewPasswordForm.tsx:139
+msgid "Enter a password"
+msgstr "비밀번호 입력"
+
+#: src/components/dialogs/MutedWords.tsx:99
#: src/components/dialogs/MutedWords.tsx:100
-#: src/components/dialogs/MutedWords.tsx:101
msgid "Enter a word or tag"
msgstr "단어 또는 태그 입력"
@@ -1368,24 +1471,24 @@ msgstr "단어 또는 태그 입력"
msgid "Enter Confirmation Code"
msgstr "확인 코드 입력"
-#: src/view/com/modals/ChangePassword.tsx:151
+#: src/view/com/modals/ChangePassword.tsx:153
msgid "Enter the code you received to change your password."
msgstr "비밀번호를 변경하려면 받은 코드를 입력하세요."
-#: src/view/com/modals/ChangeHandle.tsx:371
+#: src/view/com/modals/ChangeHandle.tsx:370
msgid "Enter the domain you want to use"
msgstr "사용할 도메인 입력"
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:107
+#: src/screens/Login/ForgotPasswordForm.tsx:119
msgid "Enter the email you used to create your account. We'll send you a \"reset code\" so you can set a new password."
msgstr "계정을 만들 때 사용한 이메일을 입력하세요. 새 비밀번호를 설정할 수 있도록 \"재설정 코드\"를 보내드립니다."
-#: src/components/dialogs/BirthDateSettings.tsx:102
-#: src/view/com/auth/create/Step1.tsx:228
+#: src/components/dialogs/BirthDateSettings.tsx:108
msgid "Enter your birth date"
msgstr "생년월일을 입력하세요"
-#: src/view/com/auth/create/Step1.tsx:172
+#: src/screens/Login/ForgotPasswordForm.tsx:105
+#: src/screens/Signup/StepInfo/index.tsx:92
msgid "Enter your email address"
msgstr "이메일 주소를 입력하세요"
@@ -1397,15 +1500,15 @@ msgstr "새 이메일을 입력하세요"
msgid "Enter your new email address below."
msgstr "아래에 새 이메일 주소를 입력하세요."
-#: src/view/com/auth/login/Login.tsx:99
+#: src/screens/Login/index.tsx:101
msgid "Enter your username and password"
msgstr "사용자 이름 및 비밀번호 입력"
-#: src/view/com/auth/create/Step3.tsx:67
+#: src/screens/Signup/StepCaptcha/index.tsx:49
msgid "Error receiving captcha response."
msgstr "캡차 응답을 수신하는 동안 오류가 발생했습니다."
-#: src/view/screens/Search/Search.tsx:110
+#: src/view/screens/Search/Search.tsx:115
msgid "Error:"
msgstr "오류:"
@@ -1417,25 +1520,33 @@ msgstr "모두"
msgid "Excessive mentions or replies"
msgstr "과도한 멘션 또는 답글"
-#: src/view/com/modals/ChangeHandle.tsx:150
+#: src/view/com/modals/DeleteAccount.tsx:230
+msgid "Exits account deletion process"
+msgstr "계정 삭제 프로세스를 종료합니다"
+
+#: src/view/com/modals/ChangeHandle.tsx:151
msgid "Exits handle change process"
msgstr "핸들 변경 프로세스를 종료합니다"
-#: src/view/com/lightbox/Lightbox.web.tsx:120
+#: src/view/com/modals/crop-image/CropImage.web.tsx:136
+msgid "Exits image cropping process"
+msgstr "이미지 자르기 프로세스를 종료합니다"
+
+#: src/view/com/lightbox/Lightbox.web.tsx:130
msgid "Exits image view"
msgstr "이미지 보기를 종료합니다"
#: src/view/com/modals/ListAddRemoveUsers.tsx:88
-#: src/view/shell/desktop/Search.tsx:235
+#: src/view/shell/desktop/Search.tsx:236
msgid "Exits inputting search query"
msgstr "검색어 입력을 종료합니다"
-#: src/view/com/lightbox/Lightbox.web.tsx:163
+#: src/view/com/lightbox/Lightbox.web.tsx:183
msgid "Expand alt text"
msgstr "대체 텍스트 확장"
-#: src/view/com/composer/ComposerReplyTo.tsx:81
-#: src/view/com/composer/ComposerReplyTo.tsx:84
+#: src/view/com/composer/ComposerReplyTo.tsx:82
+#: src/view/com/composer/ComposerReplyTo.tsx:85
msgid "Expand or collapse the full post you are replying to"
msgstr "답글을 달고 있는 전체 게시물을 펼치거나 접습니다"
@@ -1447,52 +1558,57 @@ msgstr "노골적이거나 불쾌감을 줄 수 있는 미디어."
msgid "Explicit sexual images."
msgstr "노골적인 성적 이미지."
-#: src/view/screens/Settings/index.tsx:771
+#: src/view/screens/Settings/index.tsx:741
msgid "Export my data"
msgstr "내 데이터 내보내기"
#: src/view/screens/Settings/ExportCarDialog.tsx:44
-#: src/view/screens/Settings/index.tsx:782
+#: src/view/screens/Settings/index.tsx:752
msgid "Export My Data"
msgstr "내 데이터 내보내기"
-#: src/view/com/modals/EmbedConsent.tsx:64
+#: src/components/dialogs/EmbedConsent.tsx:55
+#: src/components/dialogs/EmbedConsent.tsx:59
msgid "External Media"
msgstr "외부 미디어"
-#: src/view/com/modals/EmbedConsent.tsx:75
+#: src/components/dialogs/EmbedConsent.tsx:71
#: src/view/screens/PreferencesExternalEmbeds.tsx:66
msgid "External media may allow websites to collect information about you and your device. No information is sent or requested until you press the \"play\" button."
msgstr "외부 미디어는 웹사이트가 나와 내 기기에 대한 정보를 수집하도록 할 수 있습니다. \"재생\" 버튼을 누르기 전까지는 어떠한 정보도 전송되거나 요청되지 않습니다."
#: src/Navigation.tsx:275
#: src/view/screens/PreferencesExternalEmbeds.tsx:52
-#: src/view/screens/Settings/index.tsx:675
+#: src/view/screens/Settings/index.tsx:628
msgid "External Media Preferences"
msgstr "외부 미디어 설정"
-#: src/view/screens/Settings/index.tsx:666
+#: src/view/screens/Settings/index.tsx:619
msgid "External media settings"
msgstr "외부 미디어 설정"
-#: src/view/com/modals/AddAppPasswords.tsx:115
-#: src/view/com/modals/AddAppPasswords.tsx:119
+#: src/view/com/modals/AddAppPasswords.tsx:116
+#: src/view/com/modals/AddAppPasswords.tsx:120
msgid "Failed to create app password."
msgstr "앱 비밀번호를 만들지 못했습니다."
-#: src/view/com/modals/CreateOrEditList.tsx:206
+#: src/view/com/modals/CreateOrEditList.tsx:207
msgid "Failed to create the list. Check your internet connection and try again."
msgstr "리스트를 만들지 못했습니다. 인터넷 연결을 확인한 후 다시 시도하세요."
-#: src/view/com/util/forms/PostDropdownBtn.tsx:125
+#: src/view/com/util/forms/PostDropdownBtn.tsx:131
msgid "Failed to delete post, please try again"
msgstr "게시물을 삭제하지 못했습니다. 다시 시도해 주세요"
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:109
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:141
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:110
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:143
msgid "Failed to load recommended feeds"
msgstr "추천 피드를 불러오지 못했습니다"
+#: src/view/com/lightbox/Lightbox.tsx:83
+msgid "Failed to save image: {0}"
+msgstr "이미지를 저장하지 못함: {0}"
+
#: src/Navigation.tsx:196
msgid "Feed"
msgstr "피드"
@@ -1501,43 +1617,47 @@ msgstr "피드"
msgid "Feed by {0}"
msgstr "{0} 님의 피드"
-#: src/view/screens/Feeds.tsx:605
+#: src/view/screens/Feeds.tsx:630
msgid "Feed offline"
msgstr "피드 오프라인"
#: src/view/shell/desktop/RightNav.tsx:61
-#: src/view/shell/Drawer.tsx:311
+#: src/view/shell/Drawer.tsx:320
msgid "Feedback"
msgstr "피드백"
-#: src/Navigation.tsx:464
-#: src/view/screens/Feeds.tsx:419
-#: src/view/screens/Feeds.tsx:524
-#: src/view/screens/Profile.tsx:192
-#: src/view/shell/bottom-bar/BottomBar.tsx:183
-#: src/view/shell/desktop/LeftNav.tsx:342
-#: src/view/shell/Drawer.tsx:476
-#: src/view/shell/Drawer.tsx:477
+#: src/Navigation.tsx:456
+#: src/view/screens/Feeds.tsx:444
+#: src/view/screens/Feeds.tsx:549
+#: src/view/screens/Profile.tsx:199
+#: src/view/shell/bottom-bar/BottomBar.tsx:192
+#: src/view/shell/desktop/LeftNav.tsx:346
+#: src/view/shell/Drawer.tsx:485
+#: src/view/shell/Drawer.tsx:486
msgid "Feeds"
msgstr "피드"
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:57
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:58
msgid "Feeds are created by users to curate content. Choose some feeds that you find interesting."
msgstr "피드는 콘텐츠를 큐레이션하기 위해 사용자에 의해 만들어집니다. 관심 있는 피드를 선택하세요."
-#: src/view/screens/SavedFeeds.tsx:156
+#: src/view/screens/SavedFeeds.tsx:157
msgid "Feeds are custom algorithms that users build with a little coding expertise. <0/> for more information."
msgstr "피드는 사용자가 약간의 코딩 전문 지식만으로 구축할 수 있는 맞춤 알고리즘입니다. <0/>에서 자세한 내용을 확인하세요."
-#: src/screens/Onboarding/StepTopicalFeeds.tsx:76
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:80
msgid "Feeds can be topical as well!"
msgstr "주제 기반 피드도 있습니다!"
+#: src/view/com/modals/ChangeHandle.tsx:481
+msgid "File Contents"
+msgstr "파일 콘텐츠"
+
#: src/lib/moderation/useLabelBehaviorDescription.ts:66
msgid "Filter from feeds"
msgstr "피드에서 필터링"
-#: src/screens/Onboarding/StepFinished.tsx:151
+#: src/screens/Onboarding/StepFinished.tsx:155
msgid "Finalizing"
msgstr "마무리 중"
@@ -1547,15 +1667,15 @@ msgstr "마무리 중"
msgid "Find accounts to follow"
msgstr "팔로우할 계정 찾아보기"
-#: src/view/screens/Search/Search.tsx:440
+#: src/view/screens/Search/Search.tsx:589
msgid "Find users on Bluesky"
msgstr "Bluesky에서 사용자 찾기"
-#: src/view/screens/Search/Search.tsx:438
+#: src/view/screens/Search/Search.tsx:587
msgid "Find users with the search tool on the right"
msgstr "오른쪽의 검색 도구로 사용자 찾기"
-#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:153
+#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:155
msgid "Finding similar accounts..."
msgstr "유사한 계정을 찾는 중…"
@@ -1571,22 +1691,24 @@ msgstr "대화 스레드를 미세 조정합니다."
msgid "Fitness"
msgstr "건강"
-#: src/screens/Onboarding/StepFinished.tsx:131
+#: src/screens/Onboarding/StepFinished.tsx:135
msgid "Flexible"
msgstr "유연성"
-#: src/view/com/modals/EditImage.tsx:115
+#: src/view/com/modals/EditImage.tsx:116
msgid "Flip horizontal"
msgstr "가로로 뒤집기"
-#: src/view/com/modals/EditImage.tsx:120
-#: src/view/com/modals/EditImage.tsx:287
+#: src/view/com/modals/EditImage.tsx:121
+#: src/view/com/modals/EditImage.tsx:288
msgid "Flip vertically"
msgstr "세로로 뒤집기"
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:181
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:229
-#: src/view/com/post-thread/PostThreadFollowBtn.tsx:139
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:189
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:235
+#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:141
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:146
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:248
msgid "Follow"
msgstr "팔로우"
@@ -1596,8 +1718,8 @@ msgid "Follow"
msgstr "팔로우"
#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:58
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:214
-#: src/view/com/post-thread/PostThreadFollowBtn.tsx:125
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:221
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:128
msgid "Follow {0}"
msgstr "{0} 님을 팔로우"
@@ -1606,19 +1728,23 @@ msgstr "{0} 님을 팔로우"
msgid "Follow Account"
msgstr "계정 팔로우"
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:179
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:187
msgid "Follow All"
msgstr "모두 팔로우"
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:174
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:144
+msgid "Follow Back"
+msgstr "맞팔로우"
+
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:182
msgid "Follow selected accounts and continue to the next step"
msgstr "선택한 계정을 팔로우하고 다음 단계를 계속 진행합니다"
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:64
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:65
msgid "Follow some users to get started. We can recommend you more users based on who you find interesting."
msgstr "시작하려면 사용자 몇 명을 팔로우해 보세요. 누구에게 관심이 있는지를 기반으로 더 많은 사용자를 추천해 드릴 수 있습니다."
-#: src/view/com/profile/ProfileCard.tsx:214
+#: src/view/com/profile/ProfileCard.tsx:219
msgid "Followed by {0}"
msgstr "{0} 님이 팔로우함"
@@ -1630,29 +1756,35 @@ msgstr "팔로우한 사용자"
msgid "Followed users only"
msgstr "팔로우한 사용자만"
-#: src/view/com/notifications/FeedItem.tsx:166
+#: src/view/com/notifications/FeedItem.tsx:172
msgid "followed you"
msgstr "님이 나를 팔로우했습니다"
+#: src/view/com/profile/ProfileFollowers.tsx:104
#: src/view/screens/ProfileFollowers.tsx:25
msgid "Followers"
msgstr "팔로워"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:227
-#: src/view/com/post-thread/PostThreadFollowBtn.tsx:139
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:233
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:149
+#: src/view/com/profile/ProfileFollows.tsx:104
#: src/view/screens/ProfileFollows.tsx:25
msgid "Following"
msgstr "팔로우 중"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:89
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:93
msgid "Following {0}"
msgstr "{0} 님을 팔로우했습니다"
+#: src/view/screens/Settings/index.tsx:504
+msgid "Following feed preferences"
+msgstr "팔로우 중 피드 설정"
+
#: src/Navigation.tsx:262
-#: src/view/com/home/HomeHeaderLayout.web.tsx:50
-#: src/view/com/home/HomeHeaderLayoutMobile.tsx:84
+#: src/view/com/home/HomeHeaderLayout.web.tsx:54
+#: src/view/com/home/HomeHeaderLayoutMobile.tsx:87
#: src/view/screens/PreferencesFollowingFeed.tsx:104
-#: src/view/screens/Settings/index.tsx:561
+#: src/view/screens/Settings/index.tsx:513
msgid "Following Feed Preferences"
msgstr "팔로우 중 피드 설정"
@@ -1660,7 +1792,7 @@ msgstr "팔로우 중 피드 설정"
msgid "Follows you"
msgstr "나를 팔로우함"
-#: src/view/com/profile/ProfileCard.tsx:139
+#: src/view/com/profile/ProfileCard.tsx:144
msgid "Follows You"
msgstr "나를 팔로우함"
@@ -1668,37 +1800,37 @@ msgstr "나를 팔로우함"
msgid "Food"
msgstr "음식"
-#: src/view/com/modals/DeleteAccount.tsx:111
+#: src/view/com/modals/DeleteAccount.tsx:110
msgid "For security reasons, we'll need to send a confirmation code to your email address."
msgstr "보안상의 이유로 이메일 주소로 확인 코드를 보내야 합니다."
-#: src/view/com/modals/AddAppPasswords.tsx:209
+#: src/view/com/modals/AddAppPasswords.tsx:210
msgid "For security reasons, you won't be able to view this again. If you lose this password, you'll need to generate a new one."
msgstr "보안상의 이유로 이 비밀번호는 다시 볼 수 없습니다. 이 비밀번호를 분실한 경우 새 비밀번호를 생성해야 합니다."
-#: src/view/com/auth/login/LoginForm.tsx:241
-msgid "Forgot"
-msgstr "분실"
-
-#: src/view/com/auth/login/LoginForm.tsx:238
-msgid "Forgot password"
-msgstr "비밀번호 분실"
-
-#: src/view/com/auth/login/Login.tsx:127
-#: src/view/com/auth/login/Login.tsx:143
+#: src/screens/Login/index.tsx:129
+#: src/screens/Login/index.tsx:144
msgid "Forgot Password"
msgstr "비밀번호 분실"
+#: src/screens/Login/LoginForm.tsx:201
+msgid "Forgot password?"
+msgstr "비밀번호를 잊으셨나요?"
+
+#: src/screens/Login/LoginForm.tsx:212
+msgid "Forgot?"
+msgstr "분실"
+
#: src/lib/moderation/useReportOptions.ts:52
msgid "Frequently Posts Unwanted Content"
msgstr "잦은 원치 않는 콘텐츠 게시"
-#: src/screens/Hashtag.tsx:108
-#: src/screens/Hashtag.tsx:148
+#: src/screens/Hashtag.tsx:109
+#: src/screens/Hashtag.tsx:149
msgid "From @{sanitizedAuthor}"
msgstr "@{sanitizedAuthor} 님의 태그"
-#: src/view/com/posts/FeedItem.tsx:183
+#: src/view/com/posts/FeedItem.tsx:181
msgctxt "from-feed"
msgid "From <0/>"
msgstr "<0/>에서"
@@ -1714,42 +1846,51 @@ msgstr "시작하기"
#: src/lib/moderation/useReportOptions.ts:37
msgid "Glaring violations of law or terms of service"
-msgstr "명백한 법률 또는 서비스 약관 위반 행위"
+msgstr "명백한 법률 또는 서비스 이용약관 위반 행위"
-#: src/components/moderation/ScreenHider.tsx:143
-#: src/components/moderation/ScreenHider.tsx:152
-#: src/view/com/auth/LoggedOut.tsx:81
+#: src/components/moderation/ScreenHider.tsx:151
+#: src/components/moderation/ScreenHider.tsx:160
#: src/view/com/auth/LoggedOut.tsx:82
-#: src/view/shell/desktop/LeftNav.tsx:104
+#: src/view/com/auth/LoggedOut.tsx:83
+#: src/view/screens/NotFound.tsx:55
+#: src/view/screens/ProfileFeed.tsx:112
+#: src/view/screens/ProfileList.tsx:918
+#: src/view/shell/desktop/LeftNav.tsx:108
msgid "Go back"
msgstr "뒤로"
+#: src/components/Error.tsx:91
#: src/screens/Profile/ErrorState.tsx:62
#: src/screens/Profile/ErrorState.tsx:66
-#: src/view/screens/ProfileFeed.tsx:111
-#: src/view/screens/ProfileFeed.tsx:116
-#: src/view/screens/ProfileList.tsx:916
-#: src/view/screens/ProfileList.tsx:921
+#: src/view/screens/NotFound.tsx:54
+#: src/view/screens/ProfileFeed.tsx:117
+#: src/view/screens/ProfileList.tsx:923
msgid "Go Back"
msgstr "뒤로"
#: src/components/ReportDialog/SelectReportOptionView.tsx:73
-#: src/components/ReportDialog/SubmitView.tsx:104
-#: src/screens/Onboarding/Layout.tsx:104
-#: src/screens/Onboarding/Layout.tsx:193
+#: src/components/ReportDialog/SubmitView.tsx:102
+#: src/screens/Onboarding/Layout.tsx:102
+#: src/screens/Onboarding/Layout.tsx:191
+#: src/screens/Signup/index.tsx:174
msgid "Go back to previous step"
msgstr "이전 단계로 돌아가기"
-#: src/view/screens/Search/Search.tsx:747
-#: src/view/shell/desktop/Search.tsx:262
+#: src/view/screens/NotFound.tsx:55
+msgid "Go home"
+msgstr "홈으로 이동"
+
+#: src/view/screens/NotFound.tsx:54
+msgid "Go Home"
+msgstr "홈으로 이동"
+
+#: src/view/screens/Search/Search.tsx:896
+#: src/view/shell/desktop/Search.tsx:263
msgid "Go to @{queryMaybeHandle}"
msgstr "@{queryMaybeHandle}(으)로 이동"
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:189
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:218
-#: src/view/com/auth/login/LoginForm.tsx:288
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:195
-#: src/view/com/modals/ChangePassword.tsx:165
+#: src/screens/Login/ForgotPasswordForm.tsx:172
+#: src/view/com/modals/ChangePassword.tsx:167
msgid "Go to next"
msgstr "다음"
@@ -1757,7 +1898,7 @@ msgstr "다음"
msgid "Graphic Media"
msgstr "그래픽 미디어"
-#: src/view/com/modals/ChangeHandle.tsx:265
+#: src/view/com/modals/ChangeHandle.tsx:266
msgid "Handle"
msgstr "핸들"
@@ -1769,37 +1910,37 @@ msgstr "괴롭힘, 분쟁 유발 또는 차별"
msgid "Hashtag"
msgstr "해시태그"
-#: src/components/RichText.tsx:190
+#: src/components/RichText.tsx:197
msgid "Hashtag: #{tag}"
msgstr "해시태그: #{tag}"
-#: src/view/com/auth/create/CreateAccount.tsx:208
+#: src/screens/Signup/index.tsx:221
msgid "Having trouble?"
msgstr "문제가 있나요?"
#: src/view/shell/desktop/RightNav.tsx:90
-#: src/view/shell/Drawer.tsx:321
+#: src/view/shell/Drawer.tsx:330
msgid "Help"
msgstr "도움말"
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:132
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:140
msgid "Here are some accounts for you to follow"
msgstr "팔로우할 만한 계정"
-#: src/screens/Onboarding/StepTopicalFeeds.tsx:85
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:89
msgid "Here are some popular topical feeds. You can choose to follow as many as you like."
msgstr "다음은 인기 있는 화제 피드입니다. 원하는 만큼 피드를 팔로우할 수 있습니다."
-#: src/screens/Onboarding/StepTopicalFeeds.tsx:80
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:84
msgid "Here are some topical feeds based on your interests: {interestsText}. You can choose to follow as many as you like."
msgstr "다음은 사용자의 관심사를 기반으로 한 몇 가지 주제별 피드입니다: {interestsText}. 원하는 만큼 많은 피드를 팔로우할 수 있습니다."
-#: src/view/com/modals/AddAppPasswords.tsx:153
+#: src/view/com/modals/AddAppPasswords.tsx:154
msgid "Here is your app password."
msgstr "앱 비밀번호입니다."
#: src/components/moderation/ContentHider.tsx:115
-#: src/components/moderation/GlobalModerationLabelPref.tsx:43
+#: src/components/moderation/LabelPreference.tsx:134
#: src/components/moderation/PostHider.tsx:107
#: src/lib/moderation/useLabelBehaviorDescription.ts:15
#: src/lib/moderation/useLabelBehaviorDescription.ts:20
@@ -1807,17 +1948,17 @@ msgstr "앱 비밀번호입니다."
#: src/lib/moderation/useLabelBehaviorDescription.ts:30
#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:52
#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:76
-#: src/view/com/util/forms/PostDropdownBtn.tsx:328
+#: src/view/com/util/forms/PostDropdownBtn.tsx:350
msgid "Hide"
msgstr "숨기기"
-#: src/view/com/notifications/FeedItem.tsx:325
+#: src/view/com/notifications/FeedItem.tsx:331
msgctxt "action"
msgid "Hide"
msgstr "숨기기"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:276
-#: src/view/com/util/forms/PostDropdownBtn.tsx:278
+#: src/view/com/util/forms/PostDropdownBtn.tsx:294
+#: src/view/com/util/forms/PostDropdownBtn.tsx:296
msgid "Hide post"
msgstr "게시물 숨기기"
@@ -1826,11 +1967,11 @@ msgstr "게시물 숨기기"
msgid "Hide the content"
msgstr "콘텐츠 숨기기"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:325
+#: src/view/com/util/forms/PostDropdownBtn.tsx:347
msgid "Hide this post?"
msgstr "이 게시물을 숨기시겠습니까?"
-#: src/view/com/notifications/FeedItem.tsx:315
+#: src/view/com/notifications/FeedItem.tsx:321
msgid "Hide user list"
msgstr "사용자 리스트 숨기기"
@@ -1854,7 +1995,7 @@ msgstr "피드 서버에서 잘못된 응답을 보냈습니다. 피드 소유
msgid "Hmm, we're having trouble finding this feed. It may have been deleted."
msgstr "이 피드를 찾는 데 문제가 있습니다. 피드가 삭제되었을 수 있습니다."
-#: src/screens/Moderation/index.tsx:61
+#: src/screens/Moderation/index.tsx:59
msgid "Hmmmm, it seems we're having trouble loading this data. See below for more details. If this issue persists, please contact us."
msgstr "이 데이터를 불러오는 데 문제가 있는 것 같습니다. 자세한 내용은 아래를 참조하세요. 이 문제가 지속되면 문의해 주세요."
@@ -1862,16 +2003,22 @@ msgstr "이 데이터를 불러오는 데 문제가 있는 것 같습니다. 자
msgid "Hmmmm, we couldn't load that moderation service."
msgstr "검토 서비스를 불러올 수 없습니다."
-#: src/Navigation.tsx:454
-#: src/view/shell/bottom-bar/BottomBar.tsx:139
-#: src/view/shell/desktop/LeftNav.tsx:306
-#: src/view/shell/Drawer.tsx:398
-#: src/view/shell/Drawer.tsx:399
+#: src/Navigation.tsx:446
+#: src/view/shell/bottom-bar/BottomBar.tsx:148
+#: src/view/shell/desktop/LeftNav.tsx:310
+#: src/view/shell/Drawer.tsx:407
+#: src/view/shell/Drawer.tsx:408
msgid "Home"
msgstr "홈"
-#: src/view/com/auth/create/Step1.tsx:75
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:120
+#: src/view/com/modals/ChangeHandle.tsx:420
+msgid "Host:"
+msgstr "호스트:"
+
+#: src/screens/Login/ForgotPasswordForm.tsx:89
+#: src/screens/Login/LoginForm.tsx:134
+#: src/screens/Signup/StepInfo/index.tsx:40
+#: src/view/com/modals/ChangeHandle.tsx:281
msgid "Hosting provider"
msgstr "호스팅 제공자"
@@ -1887,11 +2034,11 @@ msgstr "코드가 있습니다"
msgid "I have a confirmation code"
msgstr "확인 코드가 있습니다"
-#: src/view/com/modals/ChangeHandle.tsx:283
+#: src/view/com/modals/ChangeHandle.tsx:284
msgid "I have my own domain"
msgstr "내 도메인을 가지고 있습니다"
-#: src/view/com/lightbox/Lightbox.web.tsx:165
+#: src/view/com/lightbox/Lightbox.web.tsx:185
msgid "If alt text is long, toggles alt text expanded state"
msgstr "대체 텍스트가 긴 경우 대체 텍스트 확장 상태를 전환합니다"
@@ -1899,15 +2046,19 @@ msgstr "대체 텍스트가 긴 경우 대체 텍스트 확장 상태를 전환
msgid "If none are selected, suitable for all ages."
msgstr "아무것도 선택하지 않으면 모든 연령대에 적합하다는 뜻입니다."
-#: src/view/screens/ProfileList.tsx:610
+#: src/screens/Signup/StepInfo/Policies.tsx:83
+msgid "If you are not yet an adult according to the laws of your country, your parent or legal guardian must read these Terms on your behalf."
+msgstr "해당 국가의 법률에 따라 아직 성인이 아닌 경우, 부모 또는 법적 보호자가 대신 이 약관을 읽어야 합니다."
+
+#: src/view/screens/ProfileList.tsx:612
msgid "If you delete this list, you won't be able to recover it."
msgstr "이 리스트를 삭제하면 다시 복구할 수 없습니다."
-#: src/view/com/util/forms/PostDropdownBtn.tsx:316
+#: src/view/com/util/forms/PostDropdownBtn.tsx:338
msgid "If you remove this post, you won't be able to recover it."
msgstr "이 게시물을 삭제하면 다시 복구할 수 없습니다."
-#: src/view/com/modals/ChangePassword.tsx:146
+#: src/view/com/modals/ChangePassword.tsx:148
msgid "If you want to change your password, we will send you a code to verify that this is your account."
msgstr "비밀번호를 변경하고 싶다면 본인 계정임을 확인할 수 있는 코드를 보내드리겠습니다."
@@ -1919,7 +2070,7 @@ msgstr "불법 및 긴급 사항"
msgid "Image"
msgstr "이미지"
-#: src/view/com/modals/AltImage.tsx:120
+#: src/view/com/modals/AltImage.tsx:121
msgid "Image alt text"
msgstr "이미지 대체 텍스트"
@@ -1927,85 +2078,79 @@ msgstr "이미지 대체 텍스트"
msgid "Impersonation or false claims about identity or affiliation"
msgstr "신원 또는 소속에 대한 사칭 또는 허위 주장"
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:138
+#: src/screens/Login/SetNewPasswordForm.tsx:127
msgid "Input code sent to your email for password reset"
msgstr "비밀번호 재설정을 위해 이메일로 전송된 코드를 입력합니다"
-#: src/view/com/modals/DeleteAccount.tsx:184
+#: src/view/com/modals/DeleteAccount.tsx:183
msgid "Input confirmation code for account deletion"
msgstr "계정 삭제를 위한 확인 코드를 입력합니다"
-#: src/view/com/auth/create/Step1.tsx:177
-msgid "Input email for Bluesky account"
-msgstr "Bluesky 계정에 사용할 이메일을 입력합니다"
-
-#: src/view/com/auth/create/Step1.tsx:151
-msgid "Input invite code to proceed"
-msgstr "진행하기 위해 초대 코드를 입력합니다"
-
-#: src/view/com/modals/AddAppPasswords.tsx:180
+#: src/view/com/modals/AddAppPasswords.tsx:181
msgid "Input name for app password"
msgstr "앱 비밀번호의 이름을 입력합니다"
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:162
+#: src/screens/Login/SetNewPasswordForm.tsx:151
msgid "Input new password"
msgstr "새 비밀번호를 입력합니다"
-#: src/view/com/modals/DeleteAccount.tsx:203
+#: src/view/com/modals/DeleteAccount.tsx:202
msgid "Input password for account deletion"
msgstr "계정을 삭제하기 위해 비밀번호를 입력합니다"
-#: src/view/com/auth/login/LoginForm.tsx:230
+#: src/screens/Login/LoginForm.tsx:195
msgid "Input the password tied to {identifier}"
msgstr "{identifier}에 연결된 비밀번호를 입력합니다"
-#: src/view/com/auth/login/LoginForm.tsx:197
+#: src/screens/Login/LoginForm.tsx:168
msgid "Input the username or email address you used at signup"
msgstr "가입 시 사용한 사용자 이름 또는 이메일 주소를 입력합니다"
-#: src/view/com/auth/login/LoginForm.tsx:229
+#: src/screens/Login/LoginForm.tsx:194
msgid "Input your password"
msgstr "비밀번호를 입력합니다"
-#: src/view/com/auth/create/Step2.tsx:80
+#: src/view/com/modals/ChangeHandle.tsx:389
+msgid "Input your preferred hosting provider"
+msgstr "선호하는 호스팅 제공자를 입력합니다"
+
+#: src/screens/Signup/StepHandle.tsx:63
msgid "Input your user handle"
msgstr "사용자 핸들을 입력합니다"
-#: src/view/com/post-thread/PostThreadItem.tsx:225
+#: src/view/com/post-thread/PostThreadItem.tsx:221
msgid "Invalid or unsupported post record"
msgstr "유효하지 않거나 지원되지 않는 게시물 기록"
-#: src/view/com/auth/login/LoginForm.tsx:113
+#: src/screens/Login/LoginForm.tsx:114
msgid "Invalid username or password"
msgstr "잘못된 사용자 이름 또는 비밀번호"
-#: src/view/com/modals/InviteCodes.tsx:93
+#: src/view/com/modals/InviteCodes.tsx:94
msgid "Invite a Friend"
msgstr "친구 초대하기"
-#: src/view/com/auth/create/Step1.tsx:141
-#: src/view/com/auth/create/Step1.tsx:150
+#: src/screens/Signup/StepInfo/index.tsx:58
msgid "Invite code"
msgstr "초대 코드"
-#: src/view/com/auth/create/state.ts:158
+#: src/screens/Signup/state.ts:278
msgid "Invite code not accepted. Check that you input it correctly and try again."
msgstr "초대 코드가 올바르지 않습니다. 코드를 올바르게 입력했는지 확인한 후 다시 시도하세요."
-#: src/view/com/modals/InviteCodes.tsx:170
+#: src/view/com/modals/InviteCodes.tsx:171
msgid "Invite codes: {0} available"
msgstr "초대 코드: {0}개 사용 가능"
-#: src/view/com/modals/InviteCodes.tsx:169
+#: src/view/com/modals/InviteCodes.tsx:170
msgid "Invite codes: 1 available"
msgstr "초대 코드: 1개 사용 가능"
-#: src/screens/Onboarding/StepFollowingFeed.tsx:64
+#: src/screens/Onboarding/StepFollowingFeed.tsx:65
msgid "It shows posts from the people you follow as they happen."
msgstr "내가 팔로우하는 사람들의 게시물이 올라오는 대로 표시됩니다."
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:99
-#: src/view/com/auth/SplashScreen.web.tsx:138
+#: src/view/com/auth/SplashScreen.web.tsx:152
msgid "Jobs"
msgstr "채용"
@@ -2025,11 +2170,11 @@ msgstr "{0} 님이 라벨 지정함."
msgid "Labeled by the author."
msgstr "작성자가 라벨 지정함."
-#: src/view/screens/Profile.tsx:186
+#: src/view/screens/Profile.tsx:193
msgid "Labels"
msgstr "라벨"
-#: src/screens/Profile/Sections/Labels.tsx:161
+#: src/screens/Profile/Sections/Labels.tsx:153
msgid "Labels are annotations on users and content. They can be used to hide, warn, and categorize the network."
msgstr "라벨은 사용자 및 콘텐츠에 대한 주석입니다. 네트워크를 숨기고, 경고하고, 분류하는 데 사용할 수 있습니다."
@@ -2037,11 +2182,11 @@ msgstr "라벨은 사용자 및 콘텐츠에 대한 주석입니다. 네트워
msgid "labels have been placed on this {labelTarget}"
msgstr "라벨이 {labelTarget}에 지정되었습니다"
-#: src/components/moderation/LabelsOnMeDialog.tsx:63
+#: src/components/moderation/LabelsOnMeDialog.tsx:62
msgid "Labels on your account"
msgstr "내 계정의 라벨"
-#: src/components/moderation/LabelsOnMeDialog.tsx:65
+#: src/components/moderation/LabelsOnMeDialog.tsx:64
msgid "Labels on your content"
msgstr "내 콘텐츠의 라벨"
@@ -2049,7 +2194,7 @@ msgstr "내 콘텐츠의 라벨"
msgid "Language selection"
msgstr "언어 선택"
-#: src/view/screens/Settings/index.tsx:612
+#: src/view/screens/Settings/index.tsx:565
msgid "Language settings"
msgstr "언어 설정"
@@ -2058,15 +2203,15 @@ msgstr "언어 설정"
msgid "Language Settings"
msgstr "언어 설정"
-#: src/view/screens/Settings/index.tsx:621
+#: src/view/screens/Settings/index.tsx:574
msgid "Languages"
msgstr "언어"
-#: src/view/com/auth/create/StepHeader.tsx:20
-msgid "Last step!"
-msgstr "마지막 단계예요!"
+#: src/view/screens/Search/Search.tsx:437
+msgid "Latest"
+msgstr "최신"
-#: src/components/moderation/ScreenHider.tsx:128
+#: src/components/moderation/ScreenHider.tsx:136
msgid "Learn More"
msgstr "더 알아보기"
@@ -2080,7 +2225,7 @@ msgstr "이 콘텐츠에 적용된 검토 설정에 대해 자세히 알아보
msgid "Learn more about this warning"
msgstr "이 경고에 대해 더 알아보기"
-#: src/screens/Moderation/index.tsx:555
+#: src/screens/Moderation/index.tsx:549
msgid "Learn more about what is public on Bluesky."
msgstr "Bluesky에서 공개되는 항목에 대해 자세히 알아보세요."
@@ -2092,7 +2237,7 @@ msgstr "더 알아보기"
msgid "Leave them all unchecked to see any language."
msgstr "모든 언어를 보려면 모두 선택하지 않은 상태로 두세요."
-#: src/view/com/modals/LinkWarning.tsx:51
+#: src/view/com/modals/LinkWarning.tsx:65
msgid "Leaving Bluesky"
msgstr "Bluesky 떠나기"
@@ -2100,29 +2245,29 @@ msgstr "Bluesky 떠나기"
msgid "left to go."
msgstr "명 남았습니다."
-#: src/view/screens/Settings/index.tsx:292
+#: src/view/screens/Settings/index.tsx:299
msgid "Legacy storage cleared, you need to restart the app now."
msgstr "레거시 스토리지가 지워졌으며 지금 앱을 다시 시작해야 합니다."
-#: src/view/com/auth/login/Login.tsx:128
-#: src/view/com/auth/login/Login.tsx:144
+#: src/screens/Login/index.tsx:130
+#: src/screens/Login/index.tsx:145
msgid "Let's get your password reset!"
msgstr "비밀번호를 재설정해 봅시다!"
-#: src/screens/Onboarding/StepFinished.tsx:151
+#: src/screens/Onboarding/StepFinished.tsx:155
msgid "Let's go!"
msgstr "출발!"
-#: src/view/screens/Settings/index.tsx:497
+#: src/view/screens/Settings/index.tsx:449
msgid "Light"
msgstr "밝음"
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:185
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:197
msgid "Like"
msgstr "좋아요"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:257
-#: src/view/screens/ProfileFeed.tsx:572
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:264
+#: src/view/screens/ProfileFeed.tsx:585
msgid "Like this feed"
msgstr "이 피드에 좋아요 표시"
@@ -2132,7 +2277,7 @@ msgstr "이 피드에 좋아요 표시"
msgid "Liked by"
msgstr "좋아요 표시한 사용자"
-#: src/screens/Profile/ProfileLabelerLikedBy.tsx:42
+#: src/screens/Profile/ProfileLabelerLikedBy.tsx:29
#: src/view/screens/PostLikedBy.tsx:27
#: src/view/screens/ProfileFeedLikedBy.tsx:27
msgid "Liked By"
@@ -2146,21 +2291,21 @@ msgstr "{0}명의 사용자가 좋아함"
msgid "Liked by {count} {0}"
msgstr "{count}명의 사용자가 좋아함"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:277
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:291
-#: src/view/screens/ProfileFeed.tsx:587
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:284
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:298
+#: src/view/screens/ProfileFeed.tsx:600
msgid "Liked by {likeCount} {0}"
msgstr "{likeCount}명의 사용자가 좋아함"
-#: src/view/com/notifications/FeedItem.tsx:170
+#: src/view/com/notifications/FeedItem.tsx:176
msgid "liked your custom feed"
msgstr "님이 내 맞춤 피드를 좋아합니다"
-#: src/view/com/notifications/FeedItem.tsx:155
+#: src/view/com/notifications/FeedItem.tsx:161
msgid "liked your post"
msgstr "님이 내 게시물을 좋아합니다"
-#: src/view/screens/Profile.tsx:191
+#: src/view/screens/Profile.tsx:198
msgid "Likes"
msgstr "좋아요"
@@ -2172,11 +2317,11 @@ msgstr "이 게시물을 좋아요 표시합니다"
msgid "List"
msgstr "리스트"
-#: src/view/com/modals/CreateOrEditList.tsx:261
+#: src/view/com/modals/CreateOrEditList.tsx:262
msgid "List Avatar"
msgstr "리스트 아바타"
-#: src/view/screens/ProfileList.tsx:311
+#: src/view/screens/ProfileList.tsx:313
msgid "List blocked"
msgstr "리스트 차단됨"
@@ -2184,52 +2329,47 @@ msgstr "리스트 차단됨"
msgid "List by {0}"
msgstr "{0} 님의 리스트"
-#: src/view/screens/ProfileList.tsx:355
+#: src/view/screens/ProfileList.tsx:357
msgid "List deleted"
msgstr "리스트 삭제됨"
-#: src/view/screens/ProfileList.tsx:283
+#: src/view/screens/ProfileList.tsx:285
msgid "List muted"
msgstr "리스트 뮤트됨"
-#: src/view/com/modals/CreateOrEditList.tsx:275
+#: src/view/com/modals/CreateOrEditList.tsx:276
msgid "List Name"
msgstr "리스트 이름"
-#: src/view/screens/ProfileList.tsx:325
+#: src/view/screens/ProfileList.tsx:327
msgid "List unblocked"
msgstr "리스트 차단 해제됨"
-#: src/view/screens/ProfileList.tsx:297
+#: src/view/screens/ProfileList.tsx:299
msgid "List unmuted"
msgstr "리스트 언뮤트됨"
#: src/Navigation.tsx:114
-#: src/view/screens/Profile.tsx:187
-#: src/view/screens/Profile.tsx:193
-#: src/view/shell/desktop/LeftNav.tsx:379
-#: src/view/shell/Drawer.tsx:492
-#: src/view/shell/Drawer.tsx:493
+#: src/view/screens/Profile.tsx:194
+#: src/view/screens/Profile.tsx:200
+#: src/view/shell/desktop/LeftNav.tsx:383
+#: src/view/shell/Drawer.tsx:501
+#: src/view/shell/Drawer.tsx:502
msgid "Lists"
msgstr "리스트"
-#: src/view/com/post-thread/PostThread.tsx:334
-#: src/view/com/post-thread/PostThread.tsx:342
-msgid "Load more posts"
-msgstr "더 많은 게시물 불러오기"
-
#: src/view/screens/Notifications.tsx:159
msgid "Load new notifications"
msgstr "새 알림 불러오기"
-#: src/screens/Profile/Sections/Feed.tsx:70
-#: src/view/com/feeds/FeedPage.tsx:115
-#: src/view/screens/ProfileFeed.tsx:495
-#: src/view/screens/ProfileList.tsx:695
+#: src/screens/Profile/Sections/Feed.tsx:86
+#: src/view/com/feeds/FeedPage.tsx:138
+#: src/view/screens/ProfileFeed.tsx:507
+#: src/view/screens/ProfileList.tsx:697
msgid "Load new posts"
msgstr "새 게시물 불러오기"
-#: src/view/com/composer/text-input/mobile/Autocomplete.tsx:95
+#: src/view/com/composer/text-input/mobile/Autocomplete.tsx:99
msgid "Loading..."
msgstr "불러오는 중…"
@@ -2244,31 +2384,27 @@ msgstr "로그"
msgid "Log out"
msgstr "로그아웃"
-#: src/screens/Moderation/index.tsx:448
+#: src/screens/Moderation/index.tsx:442
msgid "Logged-out visibility"
msgstr "로그아웃 표시"
-#: src/view/com/auth/login/ChooseAccountForm.tsx:133
+#: src/components/AccountList.tsx:54
msgid "Login to account that is not listed"
msgstr "목록에 없는 계정으로 로그인"
-#: src/view/com/modals/LinkWarning.tsx:65
+#: src/screens/Login/SetNewPasswordForm.tsx:116
+msgid "Looks like XXXXX-XXXXX"
+msgstr "XXXXX-XXXXX 형식"
+
+#: src/view/com/modals/LinkWarning.tsx:79
msgid "Make sure this is where you intend to go!"
msgstr "이곳이 당신이 가고자 하는 곳인지 확인하세요!"
-#: src/components/dialogs/MutedWords.tsx:83
+#: src/components/dialogs/MutedWords.tsx:82
msgid "Manage your muted words and tags"
msgstr "뮤트한 단어 및 태그 관리"
-#: src/view/com/auth/create/Step2.tsx:118
-msgid "May not be longer than 253 characters"
-msgstr "253자를 넘을 수 없습니다"
-
-#: src/view/com/auth/create/Step2.tsx:109
-msgid "May only contain letters and numbers"
-msgstr "문자와 숫자만 입력할 수 있습니다"
-
-#: src/view/screens/Profile.tsx:190
+#: src/view/screens/Profile.tsx:197
msgid "Media"
msgstr "미디어"
@@ -2281,7 +2417,7 @@ msgid "Mentioned users"
msgstr "멘션한 사용자"
#: src/view/com/util/ViewHeader.tsx:87
-#: src/view/screens/Search/Search.tsx:646
+#: src/view/screens/Search/Search.tsx:795
msgid "Menu"
msgstr "메뉴"
@@ -2294,15 +2430,15 @@ msgid "Misleading Account"
msgstr "오해의 소지가 있는 계정"
#: src/Navigation.tsx:119
-#: src/screens/Moderation/index.tsx:106
-#: src/view/screens/Settings/index.tsx:643
-#: src/view/shell/desktop/LeftNav.tsx:397
-#: src/view/shell/Drawer.tsx:511
-#: src/view/shell/Drawer.tsx:512
+#: src/screens/Moderation/index.tsx:104
+#: src/view/screens/Settings/index.tsx:596
+#: src/view/shell/desktop/LeftNav.tsx:401
+#: src/view/shell/Drawer.tsx:520
+#: src/view/shell/Drawer.tsx:521
msgid "Moderation"
msgstr "검토"
-#: src/components/moderation/ModerationDetailsDialog.tsx:113
+#: src/components/moderation/ModerationDetailsDialog.tsx:112
msgid "Moderation details"
msgstr "검토 세부 정보"
@@ -2311,25 +2447,25 @@ msgstr "검토 세부 정보"
msgid "Moderation list by {0}"
msgstr "{0} 님의 검토 리스트"
-#: src/view/screens/ProfileList.tsx:789
+#: src/view/screens/ProfileList.tsx:791
msgid "Moderation list by <0/>"
msgstr "<0/> 님의 검토 리스트"
#: src/view/com/lists/ListCard.tsx:91
#: src/view/com/modals/UserAddRemoveLists.tsx:204
-#: src/view/screens/ProfileList.tsx:787
+#: src/view/screens/ProfileList.tsx:789
msgid "Moderation list by you"
msgstr "내 검토 리스트"
-#: src/view/com/modals/CreateOrEditList.tsx:197
+#: src/view/com/modals/CreateOrEditList.tsx:198
msgid "Moderation list created"
msgstr "검토 리스트 생성됨"
-#: src/view/com/modals/CreateOrEditList.tsx:183
+#: src/view/com/modals/CreateOrEditList.tsx:184
msgid "Moderation list updated"
msgstr "검토 리스트 업데이트됨"
-#: src/screens/Moderation/index.tsx:246
+#: src/screens/Moderation/index.tsx:243
msgid "Moderation lists"
msgstr "검토 리스트"
@@ -2338,7 +2474,7 @@ msgstr "검토 리스트"
msgid "Moderation Lists"
msgstr "검토 리스트"
-#: src/view/screens/Settings/index.tsx:637
+#: src/view/screens/Settings/index.tsx:590
msgid "Moderation settings"
msgstr "검토 설정"
@@ -2346,20 +2482,24 @@ msgstr "검토 설정"
msgid "Moderation states"
msgstr "검토 상태"
-#: src/screens/Moderation/index.tsx:218
+#: src/screens/Moderation/index.tsx:215
msgid "Moderation tools"
msgstr "검토 도구"
-#: src/components/moderation/ModerationDetailsDialog.tsx:49
+#: src/components/moderation/ModerationDetailsDialog.tsx:48
#: src/lib/moderation/useModerationCauseDescription.ts:40
msgid "Moderator has chosen to set a general warning on the content."
-msgstr "관리자가 콘텐츠에 일반 경고를 설정했습니다."
+msgstr "검토자가 콘텐츠에 일반 경고를 설정했습니다."
+
+#: src/view/com/post-thread/PostThreadItem.tsx:535
+msgid "More"
+msgstr "더 보기"
#: src/view/shell/desktop/Feeds.tsx:65
msgid "More feeds"
msgstr "피드 더 보기"
-#: src/view/screens/ProfileList.tsx:599
+#: src/view/screens/ProfileList.tsx:601
msgid "More options"
msgstr "옵션 더 보기"
@@ -2367,10 +2507,6 @@ msgstr "옵션 더 보기"
msgid "Most-liked replies first"
msgstr "좋아요 많은 순"
-#: src/view/com/auth/create/Step2.tsx:122
-msgid "Must be at least 3 characters"
-msgstr "최소 3자 이상이어야 합니다"
-
#: src/components/TagMenu/index.tsx:249
msgid "Mute"
msgstr "뮤트"
@@ -2384,7 +2520,7 @@ msgstr "{truncatedTag} 뮤트"
msgid "Mute Account"
msgstr "계정 뮤트"
-#: src/view/screens/ProfileList.tsx:518
+#: src/view/screens/ProfileList.tsx:520
msgid "Mute accounts"
msgstr "계정 뮤트"
@@ -2392,38 +2528,38 @@ msgstr "계정 뮤트"
msgid "Mute all {displayTag} posts"
msgstr "모든 {displayTag} 게시물 뮤트"
-#: src/components/dialogs/MutedWords.tsx:149
+#: src/components/dialogs/MutedWords.tsx:148
msgid "Mute in tags only"
msgstr "태그에서만 뮤트"
-#: src/components/dialogs/MutedWords.tsx:134
+#: src/components/dialogs/MutedWords.tsx:133
msgid "Mute in text & tags"
msgstr "글 및 태그에서 뮤트"
-#: src/view/screens/ProfileList.tsx:461
-#: src/view/screens/ProfileList.tsx:624
+#: src/view/screens/ProfileList.tsx:463
+#: src/view/screens/ProfileList.tsx:626
msgid "Mute list"
msgstr "리스트 뮤트"
-#: src/view/screens/ProfileList.tsx:619
+#: src/view/screens/ProfileList.tsx:621
msgid "Mute these accounts?"
msgstr "이 계정들을 뮤트하시겠습니까?"
-#: src/components/dialogs/MutedWords.tsx:127
+#: src/components/dialogs/MutedWords.tsx:126
msgid "Mute this word in post text and tags"
msgstr "게시물 글 및 태그에서 이 단어 뮤트하기"
-#: src/components/dialogs/MutedWords.tsx:142
+#: src/components/dialogs/MutedWords.tsx:141
msgid "Mute this word in tags only"
msgstr "태그에서만 이 단어 뮤트하기"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:251
-#: src/view/com/util/forms/PostDropdownBtn.tsx:257
+#: src/view/com/util/forms/PostDropdownBtn.tsx:269
+#: src/view/com/util/forms/PostDropdownBtn.tsx:275
msgid "Mute thread"
msgstr "스레드 뮤트"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:267
-#: src/view/com/util/forms/PostDropdownBtn.tsx:269
+#: src/view/com/util/forms/PostDropdownBtn.tsx:285
+#: src/view/com/util/forms/PostDropdownBtn.tsx:287
msgid "Mute words & tags"
msgstr "단어 및 태그 뮤트"
@@ -2431,16 +2567,16 @@ msgstr "단어 및 태그 뮤트"
msgid "Muted"
msgstr "뮤트됨"
-#: src/screens/Moderation/index.tsx:258
+#: src/screens/Moderation/index.tsx:255
msgid "Muted accounts"
msgstr "뮤트한 계정"
#: src/Navigation.tsx:129
-#: src/view/screens/ModerationMutedAccounts.tsx:107
+#: src/view/screens/ModerationMutedAccounts.tsx:112
msgid "Muted Accounts"
msgstr "뮤트한 계정"
-#: src/view/screens/ModerationMutedAccounts.tsx:115
+#: src/view/screens/ModerationMutedAccounts.tsx:120
msgid "Muted accounts have their posts removed from your feed and from your notifications. Mutes are completely private."
msgstr "계정을 뮤트하면 피드와 알림에서 해당 계정의 게시물이 사라집니다. 뮤트 목록은 완전히 비공개로 유지됩니다."
@@ -2448,20 +2584,20 @@ msgstr "계정을 뮤트하면 피드와 알림에서 해당 계정의 게시물
msgid "Muted by \"{0}\""
msgstr "\"{0}\" 님이 뮤트함"
-#: src/screens/Moderation/index.tsx:234
+#: src/screens/Moderation/index.tsx:231
msgid "Muted words & tags"
msgstr "뮤트한 단어 및 태그"
-#: src/view/screens/ProfileList.tsx:621
+#: src/view/screens/ProfileList.tsx:623
msgid "Muting is private. Muted accounts can interact with you, but you will not see their posts or receive notifications from them."
msgstr "뮤트 목록은 비공개입니다. 뮤트한 계정은 나와 상호작용할 수 있지만 해당 계정의 게시물을 보거나 해당 계정으로부터 알림을 받을 수 없습니다."
-#: src/components/dialogs/BirthDateSettings.tsx:34
-#: src/components/dialogs/BirthDateSettings.tsx:86
+#: src/components/dialogs/BirthDateSettings.tsx:35
+#: src/components/dialogs/BirthDateSettings.tsx:38
msgid "My Birthday"
msgstr "내 생년월일"
-#: src/view/screens/Feeds.tsx:663
+#: src/view/screens/Feeds.tsx:688
msgid "My Feeds"
msgstr "내 피드"
@@ -2469,20 +2605,20 @@ msgstr "내 피드"
msgid "My Profile"
msgstr "내 프로필"
-#: src/view/screens/Settings/index.tsx:600
+#: src/view/screens/Settings/index.tsx:547
+msgid "My saved feeds"
+msgstr "내 저장된 피드"
+
+#: src/view/screens/Settings/index.tsx:553
msgid "My Saved Feeds"
msgstr "내 저장된 피드"
-#: src/view/com/auth/server-input/index.tsx:118
-msgid "my-server.com"
-msgstr "my-server.com"
-
-#: src/view/com/modals/AddAppPasswords.tsx:179
-#: src/view/com/modals/CreateOrEditList.tsx:290
+#: src/view/com/modals/AddAppPasswords.tsx:180
+#: src/view/com/modals/CreateOrEditList.tsx:291
msgid "Name"
msgstr "이름"
-#: src/view/com/modals/CreateOrEditList.tsx:145
+#: src/view/com/modals/CreateOrEditList.tsx:146
msgid "Name is required"
msgstr "이름을 입력하세요"
@@ -2496,11 +2632,9 @@ msgstr "이름 또는 설명이 커뮤니티 기준을 위반함"
msgid "Nature"
msgstr "자연"
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:190
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:219
-#: src/view/com/auth/login/LoginForm.tsx:289
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:196
-#: src/view/com/modals/ChangePassword.tsx:166
+#: src/screens/Login/ForgotPasswordForm.tsx:173
+#: src/screens/Login/LoginForm.tsx:255
+#: src/view/com/modals/ChangePassword.tsx:168
msgid "Navigates to the next screen"
msgstr "다음 화면으로 이동합니다"
@@ -2512,20 +2646,19 @@ msgstr "내 프로필로 이동합니다"
msgid "Need to report a copyright violation?"
msgstr "저작권 위반을 신고해야 하나요?"
-#: src/view/com/modals/EmbedConsent.tsx:107
-#: src/view/com/modals/EmbedConsent.tsx:123
-msgid "Never load embeds from {0}"
-msgstr "{0}에서 임베드를 불러오지 않습니다"
-
#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:72
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:72
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:74
msgid "Never lose access to your followers and data."
msgstr "팔로워와 데이터에 대한 접근 권한을 잃지 마세요."
-#: src/screens/Onboarding/StepFinished.tsx:119
+#: src/screens/Onboarding/StepFinished.tsx:123
msgid "Never lose access to your followers or data."
msgstr "팔로워 또는 데이터에 대한 접근 권한을 잃지 마세요."
+#: src/view/com/modals/ChangeHandle.tsx:519
+msgid "Nevermind, create a handle for me"
+msgstr "취소하고 내 핸들 만들기"
+
#: src/view/screens/Lists.tsx:76
msgctxt "action"
msgid "New"
@@ -2535,39 +2668,39 @@ msgstr "새로 만들기"
msgid "New"
msgstr "새로 만들기"
-#: src/view/com/modals/CreateOrEditList.tsx:252
+#: src/view/com/modals/CreateOrEditList.tsx:253
msgid "New Moderation List"
msgstr "새 검토 리스트"
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:150
+#: src/view/com/modals/ChangePassword.tsx:212
msgid "New password"
msgstr "새 비밀번호"
-#: src/view/com/modals/ChangePassword.tsx:215
+#: src/view/com/modals/ChangePassword.tsx:217
msgid "New Password"
msgstr "새 비밀번호"
-#: src/view/com/feeds/FeedPage.tsx:126
+#: src/view/com/feeds/FeedPage.tsx:149
msgctxt "action"
msgid "New post"
msgstr "새 게시물"
-#: src/view/screens/Feeds.tsx:555
+#: src/view/screens/Feeds.tsx:580
#: src/view/screens/Notifications.tsx:168
-#: src/view/screens/Profile.tsx:450
-#: src/view/screens/ProfileFeed.tsx:433
-#: src/view/screens/ProfileList.tsx:199
-#: src/view/screens/ProfileList.tsx:227
-#: src/view/shell/desktop/LeftNav.tsx:248
+#: src/view/screens/Profile.tsx:480
+#: src/view/screens/ProfileFeed.tsx:445
+#: src/view/screens/ProfileList.tsx:200
+#: src/view/screens/ProfileList.tsx:228
+#: src/view/shell/desktop/LeftNav.tsx:252
msgid "New post"
msgstr "새 게시물"
-#: src/view/shell/desktop/LeftNav.tsx:258
+#: src/view/shell/desktop/LeftNav.tsx:262
msgctxt "action"
msgid "New Post"
msgstr "새 게시물"
-#: src/view/com/modals/CreateOrEditList.tsx:247
+#: src/view/com/modals/CreateOrEditList.tsx:248
msgid "New User List"
msgstr "새 사용자 리스트"
@@ -2579,15 +2712,16 @@ msgstr "새로운 순"
msgid "News"
msgstr "뉴스"
-#: src/view/com/auth/create/CreateAccount.tsx:172
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:182
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:192
-#: src/view/com/auth/login/LoginForm.tsx:291
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:187
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:198
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:79
-#: src/view/com/modals/ChangePassword.tsx:251
+#: src/screens/Login/ForgotPasswordForm.tsx:143
+#: src/screens/Login/ForgotPasswordForm.tsx:150
+#: src/screens/Login/LoginForm.tsx:254
+#: src/screens/Login/LoginForm.tsx:261
+#: src/screens/Login/SetNewPasswordForm.tsx:174
+#: src/screens/Login/SetNewPasswordForm.tsx:180
+#: src/screens/Signup/index.tsx:207
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:80
#: src/view/com/modals/ChangePassword.tsx:253
+#: src/view/com/modals/ChangePassword.tsx:255
msgid "Next"
msgstr "다음"
@@ -2596,7 +2730,7 @@ msgctxt "action"
msgid "Next"
msgstr "다음"
-#: src/view/com/lightbox/Lightbox.web.tsx:149
+#: src/view/com/lightbox/Lightbox.web.tsx:169
msgid "Next image"
msgstr "다음 이미지"
@@ -2609,47 +2743,56 @@ msgstr "다음 이미지"
msgid "No"
msgstr "아니요"
-#: src/view/screens/ProfileFeed.tsx:561
-#: src/view/screens/ProfileList.tsx:769
+#: src/view/screens/ProfileFeed.tsx:574
+#: src/view/screens/ProfileList.tsx:771
msgid "No description"
msgstr "설명 없음"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:111
+#: src/view/com/modals/ChangeHandle.tsx:405
+msgid "No DNS Panel"
+msgstr "DNS 패널 없음"
+
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:118
msgid "No longer following {0}"
msgstr "더 이상 {0} 님을 팔로우하지 않음"
+#: src/screens/Signup/StepHandle.tsx:115
+msgid "No longer than 253 characters"
+msgstr "253자를 초과하지 않음"
+
#: src/view/com/notifications/Feed.tsx:109
msgid "No notifications yet!"
msgstr "아직 알림이 없습니다."
-#: src/view/com/composer/text-input/mobile/Autocomplete.tsx:97
-#: src/view/com/composer/text-input/web/Autocomplete.tsx:191
+#: src/view/com/composer/text-input/mobile/Autocomplete.tsx:101
+#: src/view/com/composer/text-input/web/Autocomplete.tsx:195
msgid "No result"
msgstr "결과 없음"
-#: src/components/Lists.tsx:191
+#: src/components/Lists.tsx:183
msgid "No results found"
msgstr "결과를 찾을 수 없음"
-#: src/view/screens/Feeds.tsx:495
+#: src/view/screens/Feeds.tsx:520
msgid "No results found for \"{query}\""
msgstr "\"{query}\"에 대한 결과를 찾을 수 없습니다"
#: src/view/com/modals/ListAddRemoveUsers.tsx:127
-#: src/view/screens/Search/Search.tsx:281
-#: src/view/screens/Search/Search.tsx:309
+#: src/view/screens/Search/Search.tsx:349
+#: src/view/screens/Search/Search.tsx:387
msgid "No results found for {query}"
msgstr "{query}에 대한 결과를 찾을 수 없습니다"
-#: src/view/com/modals/EmbedConsent.tsx:129
+#: src/components/dialogs/EmbedConsent.tsx:105
+#: src/components/dialogs/EmbedConsent.tsx:112
msgid "No thanks"
-msgstr "괜찮습니다"
+msgstr "사용하지 않음"
#: src/view/com/modals/Threadgate.tsx:82
msgid "Nobody"
msgstr "없음"
-#: src/components/LikedByList.tsx:102
+#: src/components/LikedByList.tsx:79
#: src/components/LikesDialog.tsx:99
msgid "Nobody has liked this yet. Maybe you should be the first!"
msgstr "아직 아무도 좋아요를 누르지 않았습니다. 첫 번째가 되어 보세요!"
@@ -2663,7 +2806,7 @@ msgid "Not Applicable."
msgstr "해당 없음."
#: src/Navigation.tsx:109
-#: src/view/screens/Profile.tsx:97
+#: src/view/screens/Profile.tsx:101
msgid "Not Found"
msgstr "찾을 수 없음"
@@ -2673,21 +2816,22 @@ msgid "Not right now"
msgstr "나중에 하기"
#: src/view/com/profile/ProfileMenu.tsx:368
-#: src/view/com/util/forms/PostDropdownBtn.tsx:342
+#: src/view/com/util/forms/PostDropdownBtn.tsx:364
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:248
msgid "Note about sharing"
msgstr "공유 관련 참고 사항"
-#: src/screens/Moderation/index.tsx:546
+#: src/screens/Moderation/index.tsx:540
msgid "Note: Bluesky is an open and public network. This setting only limits the visibility of your content on the Bluesky app and website, and other apps may not respect this setting. Your content may still be shown to logged-out users by other apps and websites."
msgstr "참고: Bluesky는 개방형 공개 네트워크입니다. 이 설정은 Bluesky 앱과 웹사이트에서만 내 콘텐츠가 표시되는 것을 제한하며, 다른 앱에서는 이 설정을 준수하지 않을 수 있습니다. 다른 앱과 웹사이트에서는 로그아웃한 사용자에게 내 콘텐츠가 계속 표시될 수 있습니다."
-#: src/Navigation.tsx:469
+#: src/Navigation.tsx:461
#: src/view/screens/Notifications.tsx:124
#: src/view/screens/Notifications.tsx:148
-#: src/view/shell/bottom-bar/BottomBar.tsx:207
-#: src/view/shell/desktop/LeftNav.tsx:361
-#: src/view/shell/Drawer.tsx:435
-#: src/view/shell/Drawer.tsx:436
+#: src/view/shell/bottom-bar/BottomBar.tsx:216
+#: src/view/shell/desktop/LeftNav.tsx:365
+#: src/view/shell/Drawer.tsx:444
+#: src/view/shell/Drawer.tsx:445
msgid "Notifications"
msgstr "알림"
@@ -2696,8 +2840,12 @@ msgid "Nudity"
msgstr "노출"
#: src/lib/moderation/useReportOptions.ts:71
-msgid "Nudity or pornography not labeled as such"
-msgstr "누드 또는 음란물로 설정되지 않은 콘텐츠"
+msgid "Nudity or adult content not labeled as such"
+msgstr "누드 또는 성인 콘텐츠로 설정되지 않은 콘텐츠"
+
+#: src/screens/Signup/index.tsx:143
+msgid "of"
+msgstr ""
#: src/lib/moderation/useLabelBehaviorDescription.ts:11
msgid "Off"
@@ -2707,11 +2855,16 @@ msgstr "끄기"
msgid "Oh no!"
msgstr "이런!"
-#: src/screens/Onboarding/StepInterests/index.tsx:128
+#: src/screens/Onboarding/StepInterests/index.tsx:132
msgid "Oh no! Something went wrong."
msgstr "이런! 뭔가 잘못되었습니다."
-#: src/view/com/auth/login/PasswordUpdatedForm.tsx:41
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:126
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:333
+msgid "OK"
+msgstr "확인"
+
+#: src/screens/Login/PasswordUpdatedForm.tsx:44
msgid "Okay"
msgstr "확인"
@@ -2719,11 +2872,11 @@ msgstr "확인"
msgid "Oldest replies first"
msgstr "오래된 순"
-#: src/view/screens/Settings/index.tsx:240
+#: src/view/screens/Settings/index.tsx:247
msgid "Onboarding reset"
msgstr "온보딩 재설정"
-#: src/view/com/composer/Composer.tsx:391
+#: src/view/com/composer/Composer.tsx:392
msgid "One or more images is missing alt text."
msgstr "하나 이상의 이미지에 대체 텍스트가 누락되었습니다."
@@ -2731,50 +2884,58 @@ msgstr "하나 이상의 이미지에 대체 텍스트가 누락되었습니다.
msgid "Only {0} can reply."
msgstr "{0}만 답글을 달 수 있습니다."
-#: src/components/Lists.tsx:81
+#: src/screens/Signup/StepHandle.tsx:98
+msgid "Only contains letters, numbers, and hyphens"
+msgstr "문자, 숫자, 하이픈만 포함"
+
+#: src/components/Lists.tsx:75
msgid "Oops, something went wrong!"
msgstr "이런, 뭔가 잘못되었습니다!"
-#: src/components/Lists.tsx:187
+#: src/components/Lists.tsx:170
#: src/view/screens/AppPasswords.tsx:67
-#: src/view/screens/Profile.tsx:97
+#: src/view/screens/Profile.tsx:101
msgid "Oops!"
msgstr "이런!"
-#: src/screens/Onboarding/StepFinished.tsx:115
+#: src/screens/Onboarding/StepFinished.tsx:119
msgid "Open"
msgstr "공개성"
-#: src/view/com/composer/Composer.tsx:486
-#: src/view/com/composer/Composer.tsx:487
+#: src/view/com/composer/Composer.tsx:491
+#: src/view/com/composer/Composer.tsx:492
msgid "Open emoji picker"
msgstr "이모티콘 선택기 열기"
-#: src/view/screens/ProfileFeed.tsx:299
+#: src/view/screens/ProfileFeed.tsx:311
msgid "Open feed options menu"
msgstr "피드 옵션 메뉴 열기"
-#: src/view/screens/Settings/index.tsx:730
+#: src/view/screens/Settings/index.tsx:685
msgid "Open links with in-app browser"
msgstr "링크를 인앱 브라우저로 열기"
-#: src/screens/Moderation/index.tsx:230
+#: src/screens/Moderation/index.tsx:227
msgid "Open muted words and tags settings"
msgstr "뮤트한 단어 및 태그 설정 열기"
-#: src/view/com/home/HomeHeaderLayoutMobile.tsx:50
+#: src/view/com/home/HomeHeaderLayoutMobile.tsx:52
msgid "Open navigation"
msgstr "내비게이션 열기"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:183
+#: src/view/com/util/forms/PostDropdownBtn.tsx:191
msgid "Open post options menu"
msgstr "게시물 옵션 메뉴 열기"
-#: src/view/screens/Settings/index.tsx:822
-#: src/view/screens/Settings/index.tsx:832
+#: src/view/screens/Settings/index.tsx:792
+#: src/view/screens/Settings/index.tsx:802
msgid "Open storybook page"
msgstr "스토리북 페이지 열기"
+#: src/view/screens/Settings/index.tsx:780
+msgid "Open system log"
+msgstr "시스템 로그 열기"
+
#: src/view/com/util/forms/DropdownButton.tsx:154
msgid "Opens {numItems} options"
msgstr "{numItems}번째 옵션을 엽니다"
@@ -2783,7 +2944,7 @@ msgstr "{numItems}번째 옵션을 엽니다"
msgid "Opens additional details for a debug entry"
msgstr "디버그 항목에 대한 추가 세부 정보를 엽니다"
-#: src/view/com/notifications/FeedItem.tsx:348
+#: src/view/com/notifications/FeedItem.tsx:355
msgid "Opens an expanded list of users in this notification"
msgstr "이 알림에서 확장된 사용자 목록을 엽니다"
@@ -2795,7 +2956,7 @@ msgstr "기기에서 카메라를 엽니다"
msgid "Opens composer"
msgstr "답글 작성 상자를 엽니다"
-#: src/view/screens/Settings/index.tsx:613
+#: src/view/screens/Settings/index.tsx:566
msgid "Opens configurable language settings"
msgstr "구성 가능한 언어 설정을 엽니다"
@@ -2803,57 +2964,87 @@ msgstr "구성 가능한 언어 설정을 엽니다"
msgid "Opens device photo gallery"
msgstr "기기의 사진 갤러리를 엽니다"
-#: src/view/screens/Settings/index.tsx:667
+#: src/view/screens/Settings/index.tsx:620
msgid "Opens external embeds settings"
msgstr "외부 임베드 설정을 엽니다"
-#: src/view/com/modals/InviteCodes.tsx:172
+#: src/view/com/auth/SplashScreen.tsx:50
+#: src/view/com/auth/SplashScreen.web.tsx:94
+msgid "Opens flow to create a new Bluesky account"
+msgstr "새 Bluesky 계정을 만드는 플로를 엽니다"
+
+#: src/view/com/auth/SplashScreen.tsx:65
+#: src/view/com/auth/SplashScreen.web.tsx:109
+msgid "Opens flow to sign into your existing Bluesky account"
+msgstr "존재하는 Bluesky 계정에 로그인하는 플로를 엽니다"
+
+#: src/view/com/modals/InviteCodes.tsx:173
msgid "Opens list of invite codes"
msgstr "초대 코드 목록을 엽니다"
-#: src/view/screens/Settings/index.tsx:792
-msgid "Opens modal for account deletion confirmation. Requires email code."
+#: src/view/screens/Settings/index.tsx:762
+msgid "Opens modal for account deletion confirmation. Requires email code"
msgstr "계정 삭제 확인을 위한 대화 상자를 엽니다. 이메일 코드가 필요합니다"
-#: src/view/com/modals/ChangeHandle.tsx:281
+#: src/view/screens/Settings/index.tsx:720
+msgid "Opens modal for changing your Bluesky password"
+msgstr "Bluesky 비밀번호 변경을 위한 대화 상자를 엽니다"
+
+#: src/view/screens/Settings/index.tsx:669
+msgid "Opens modal for choosing a new Bluesky handle"
+msgstr "새로운 Bluesky 핸들을 선택하기 위한 대화 상자를 엽니다"
+
+#: src/view/screens/Settings/index.tsx:743
+msgid "Opens modal for downloading your Bluesky account data (repository)"
+msgstr "Bluesky 계정 데이터(저장소)를 다운로드하기 위한 대화 상자를 엽니다"
+
+#: src/view/screens/Settings/index.tsx:932
+msgid "Opens modal for email verification"
+msgstr "이메일 인증을 위한 대화 상자를 엽니다"
+
+#: src/view/com/modals/ChangeHandle.tsx:282
msgid "Opens modal for using custom domain"
msgstr "사용자 지정 도메인을 사용하기 위한 대화 상자를 엽니다"
-#: src/view/screens/Settings/index.tsx:638
+#: src/view/screens/Settings/index.tsx:591
msgid "Opens moderation settings"
msgstr "검토 설정을 엽니다"
-#: src/view/com/auth/login/LoginForm.tsx:239
+#: src/screens/Login/LoginForm.tsx:202
msgid "Opens password reset form"
msgstr "비밀번호 재설정 양식을 엽니다"
-#: src/view/com/home/HomeHeaderLayout.web.tsx:63
-#: src/view/screens/Feeds.tsx:356
+#: src/view/com/home/HomeHeaderLayout.web.tsx:67
+#: src/view/screens/Feeds.tsx:381
msgid "Opens screen to edit Saved Feeds"
msgstr "저장된 피드를 편집할 수 있는 화면을 엽니다"
-#: src/view/screens/Settings/index.tsx:594
+#: src/view/screens/Settings/index.tsx:548
msgid "Opens screen with all saved feeds"
msgstr "모든 저장된 피드 화면을 엽니다"
-#: src/view/screens/Settings/index.tsx:694
-msgid "Opens the app password settings page"
-msgstr "비밀번호 설정 페이지를 엽니다"
+#: src/view/screens/Settings/index.tsx:647
+msgid "Opens the app password settings"
+msgstr "비밀번호 설정을 엽니다"
-#: src/view/screens/Settings/index.tsx:553
-msgid "Opens the home feed preferences"
-msgstr "홈 피드 설정을 엽니다"
+#: src/view/screens/Settings/index.tsx:505
+msgid "Opens the Following feed preferences"
+msgstr "팔로우 중 피드 설정을 엽니다"
-#: src/view/screens/Settings/index.tsx:823
-#: src/view/screens/Settings/index.tsx:833
+#: src/view/com/modals/LinkWarning.tsx:93
+msgid "Opens the linked website"
+msgstr "연결된 웹사이트를 엽니다"
+
+#: src/view/screens/Settings/index.tsx:793
+#: src/view/screens/Settings/index.tsx:803
msgid "Opens the storybook page"
msgstr "스토리북 페이지를 엽니다"
-#: src/view/screens/Settings/index.tsx:811
+#: src/view/screens/Settings/index.tsx:781
msgid "Opens the system log page"
msgstr "시스템 로그 페이지를 엽니다"
-#: src/view/screens/Settings/index.tsx:574
+#: src/view/screens/Settings/index.tsx:526
msgid "Opens the threads preferences"
msgstr "스레드 설정을 엽니다"
@@ -2861,9 +3052,9 @@ msgstr "스레드 설정을 엽니다"
msgid "Option {0} of {numItems}"
msgstr "{numItems}개 중 {0}번째 옵션"
-#: src/components/ReportDialog/SubmitView.tsx:162
+#: src/components/ReportDialog/SubmitView.tsx:160
msgid "Optionally provide additional information below:"
-msgstr "선택 사항으로 아래에 추가 정보를 입력합니다:"
+msgstr "선택 사항으로 아래에 추가 정보를 입력하세요:"
#: src/view/com/modals/Threadgate.tsx:89
msgid "Or combine these options:"
@@ -2873,7 +3064,7 @@ msgstr "또는 다음 옵션을 결합하세요:"
msgid "Other"
msgstr "기타"
-#: src/view/com/auth/login/ChooseAccountForm.tsx:138
+#: src/components/AccountList.tsx:73
msgid "Other account"
msgstr "다른 계정"
@@ -2881,7 +3072,7 @@ msgstr "다른 계정"
msgid "Other..."
msgstr "기타…"
-#: src/components/Lists.tsx:193
+#: src/components/Lists.tsx:184
#: src/view/screens/NotFound.tsx:45
msgid "Page not found"
msgstr "페이지를 찾을 수 없음"
@@ -2890,22 +3081,30 @@ msgstr "페이지를 찾을 수 없음"
msgid "Page Not Found"
msgstr "페이지를 찾을 수 없음"
-#: src/view/com/auth/create/Step1.tsx:191
-#: src/view/com/auth/create/Step1.tsx:201
-#: src/view/com/auth/login/LoginForm.tsx:226
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:161
-#: src/view/com/modals/DeleteAccount.tsx:202
+#: src/screens/Login/LoginForm.tsx:178
+#: src/screens/Signup/StepInfo/index.tsx:102
+#: src/view/com/modals/DeleteAccount.tsx:194
+#: src/view/com/modals/DeleteAccount.tsx:201
msgid "Password"
msgstr "비밀번호"
-#: src/view/com/auth/login/Login.tsx:157
+#: src/view/com/modals/ChangePassword.tsx:142
+msgid "Password Changed"
+msgstr "비밀번호 변경됨"
+
+#: src/screens/Login/index.tsx:157
msgid "Password updated"
msgstr "비밀번호 변경됨"
-#: src/view/com/auth/login/PasswordUpdatedForm.tsx:28
+#: src/screens/Login/PasswordUpdatedForm.tsx:30
msgid "Password updated!"
msgstr "비밀번호 변경됨"
+#: src/view/screens/Search/Search.tsx:447
+#: src/view/screens/Search/Search.tsx:456
+msgid "People"
+msgstr "사람들"
+
#: src/Navigation.tsx:164
msgid "People followed by @{0}"
msgstr "@{0} 님이 팔로우한 사람들"
@@ -2930,41 +3129,41 @@ msgstr "반려동물"
msgid "Pictures meant for adults."
msgstr "성인용 사진."
-#: src/view/screens/ProfileFeed.tsx:291
-#: src/view/screens/ProfileList.tsx:563
+#: src/view/screens/ProfileFeed.tsx:303
+#: src/view/screens/ProfileList.tsx:565
msgid "Pin to home"
msgstr "홈에 고정"
-#: src/view/screens/ProfileFeed.tsx:294
+#: src/view/screens/ProfileFeed.tsx:306
msgid "Pin to Home"
msgstr "홈에 고정"
-#: src/view/screens/SavedFeeds.tsx:88
+#: src/view/screens/SavedFeeds.tsx:89
msgid "Pinned Feeds"
msgstr "고정된 피드"
-#: src/view/com/util/post-embeds/ExternalGifEmbed.tsx:111
+#: src/view/com/util/post-embeds/ExternalGifEmbed.tsx:123
msgid "Play {0}"
msgstr "{0} 재생"
-#: src/view/com/util/post-embeds/ExternalPlayerEmbed.tsx:54
-#: src/view/com/util/post-embeds/ExternalPlayerEmbed.tsx:55
+#: src/view/com/util/post-embeds/ExternalPlayerEmbed.tsx:57
+#: src/view/com/util/post-embeds/ExternalPlayerEmbed.tsx:58
msgid "Play Video"
msgstr "동영상 재생"
-#: src/view/com/util/post-embeds/ExternalGifEmbed.tsx:110
+#: src/view/com/util/post-embeds/ExternalGifEmbed.tsx:122
msgid "Plays the GIF"
msgstr "GIF를 재생합니다"
-#: src/view/com/auth/create/state.ts:124
+#: src/screens/Signup/state.ts:241
msgid "Please choose your handle."
msgstr "핸들을 입력하세요."
-#: src/view/com/auth/create/state.ts:117
+#: src/screens/Signup/state.ts:234
msgid "Please choose your password."
msgstr "비밀번호를 입력하세요."
-#: src/view/com/auth/create/state.ts:131
+#: src/screens/Signup/state.ts:251
msgid "Please complete the verification captcha."
msgstr "인증 캡차를 완료해 주세요."
@@ -2972,35 +3171,35 @@ msgstr "인증 캡차를 완료해 주세요."
msgid "Please confirm your email before changing it. This is a temporary requirement while email-updating tools are added, and it will soon be removed."
msgstr "이메일을 변경하기 전에 이메일을 확인해 주세요. 이는 이메일 변경 도구가 추가되는 동안 일시적으로 요구되는 사항이며 곧 제거될 예정입니다."
-#: src/view/com/modals/AddAppPasswords.tsx:90
+#: src/view/com/modals/AddAppPasswords.tsx:91
msgid "Please enter a name for your app password. All spaces is not allowed."
msgstr "앱 비밀번호의 이름을 입력하세요. 모든 공백 문자는 허용되지 않습니다."
-#: src/view/com/modals/AddAppPasswords.tsx:145
+#: src/view/com/modals/AddAppPasswords.tsx:146
msgid "Please enter a unique name for this App Password or use our randomly generated one."
msgstr "이 앱 비밀번호에 대해 고유한 이름을 입력하거나 무작위로 생성된 이름을 사용합니다."
-#: src/components/dialogs/MutedWords.tsx:68
+#: src/components/dialogs/MutedWords.tsx:67
msgid "Please enter a valid word, tag, or phrase to mute"
msgstr "뮤트할 단어나 태그 또는 문구를 입력하세요"
-#: src/view/com/auth/create/state.ts:103
+#: src/screens/Signup/state.ts:220
msgid "Please enter your email."
msgstr "이메일을 입력하세요."
-#: src/view/com/modals/DeleteAccount.tsx:191
+#: src/view/com/modals/DeleteAccount.tsx:190
msgid "Please enter your password as well:"
msgstr "비밀번호도 입력해 주세요:"
-#: src/components/moderation/LabelsOnMeDialog.tsx:222
+#: src/components/moderation/LabelsOnMeDialog.tsx:221
msgid "Please explain why you think this label was incorrectly applied by {0}"
-msgstr "{0}이(가) 이 라벨을 잘못 적용했다고 생각하는 이유를 설명해 주세요"
+msgstr "{0} 님이 이 라벨을 잘못 적용했다고 생각하는 이유를 설명해 주세요"
#: src/view/com/modals/VerifyEmail.tsx:101
msgid "Please Verify Your Email"
msgstr "이메일 인증하기"
-#: src/view/com/composer/Composer.tsx:221
+#: src/view/com/composer/Composer.tsx:222
msgid "Please wait for your link card to finish loading"
msgstr "링크 카드를 완전히 불러올 때까지 기다려주세요"
@@ -3012,17 +3211,13 @@ msgstr "정치"
msgid "Porn"
msgstr "음란물"
-#: src/lib/moderation/useGlobalLabelStrings.ts:34
-msgid "Pornography"
-msgstr "음란물"
-
-#: src/view/com/composer/Composer.tsx:366
-#: src/view/com/composer/Composer.tsx:374
+#: src/view/com/composer/Composer.tsx:367
+#: src/view/com/composer/Composer.tsx:375
msgctxt "action"
msgid "Post"
msgstr "게시하기"
-#: src/view/com/post-thread/PostThread.tsx:304
+#: src/view/com/post-thread/PostThread.tsx:292
msgctxt "description"
msgid "Post"
msgstr "게시물"
@@ -3037,20 +3232,20 @@ msgstr "{0} 님의 게시물"
msgid "Post by @{0}"
msgstr "@{0} 님의 게시물"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:105
+#: src/view/com/util/forms/PostDropdownBtn.tsx:111
msgid "Post deleted"
msgstr "게시물 삭제됨"
-#: src/view/com/post-thread/PostThread.tsx:463
+#: src/view/com/post-thread/PostThread.tsx:157
msgid "Post hidden"
msgstr "게시물 숨김"
-#: src/components/moderation/ModerationDetailsDialog.tsx:98
+#: src/components/moderation/ModerationDetailsDialog.tsx:97
#: src/lib/moderation/useModerationCauseDescription.ts:99
msgid "Post Hidden by Muted Word"
msgstr "뮤트한 단어로 숨겨진 게시물"
-#: src/components/moderation/ModerationDetailsDialog.tsx:101
+#: src/components/moderation/ModerationDetailsDialog.tsx:100
#: src/lib/moderation/useModerationCauseDescription.ts:108
msgid "Post Hidden by You"
msgstr "내가 숨긴 게시물"
@@ -3063,7 +3258,8 @@ msgstr "게시물 언어"
msgid "Post Languages"
msgstr "게시물 언어"
-#: src/view/com/post-thread/PostThread.tsx:515
+#: src/view/com/post-thread/PostThread.tsx:152
+#: src/view/com/post-thread/PostThread.tsx:164
msgid "Post not found"
msgstr "게시물을 찾을 수 없음"
@@ -3071,11 +3267,12 @@ msgstr "게시물을 찾을 수 없음"
msgid "posts"
msgstr "게시물"
-#: src/view/screens/Profile.tsx:188
+#: src/view/screens/Profile.tsx:195
+#: src/view/screens/Search/Search.tsx:467
msgid "Posts"
msgstr "게시물"
-#: src/components/dialogs/MutedWords.tsx:90
+#: src/components/dialogs/MutedWords.tsx:89
msgid "Posts can be muted based on their text, their tags, or both."
msgstr "게시물의 글 및 태그에 따라 게시물을 뮤트할 수 있습니다."
@@ -3083,11 +3280,21 @@ msgstr "게시물의 글 및 태그에 따라 게시물을 뮤트할 수 있습
msgid "Posts hidden"
msgstr "게시물 숨겨짐"
-#: src/view/com/modals/LinkWarning.tsx:46
+#: src/view/com/modals/LinkWarning.tsx:60
msgid "Potentially Misleading Link"
msgstr "오해의 소지가 있는 링크"
-#: src/view/com/lightbox/Lightbox.web.tsx:135
+#: src/components/forms/HostingProvider.tsx:46
+msgid "Press to change hosting provider"
+msgstr "호스팅 제공자를 변경하려면 누릅니다"
+
+#: src/components/Error.tsx:74
+#: src/components/Lists.tsx:80
+#: src/screens/Signup/index.tsx:187
+msgid "Press to retry"
+msgstr "눌러서 다시 시도하기"
+
+#: src/view/com/lightbox/Lightbox.web.tsx:150
msgid "Previous image"
msgstr "이전 이미지"
@@ -3099,44 +3306,45 @@ msgstr "주 언어"
msgid "Prioritize Your Follows"
msgstr "내 팔로우 먼저 표시"
-#: src/view/screens/Settings/index.tsx:650
+#: src/view/screens/Settings/index.tsx:603
#: src/view/shell/desktop/RightNav.tsx:72
msgid "Privacy"
msgstr "개인정보"
#: src/Navigation.tsx:231
+#: src/screens/Signup/StepInfo/Policies.tsx:56
#: src/view/screens/PrivacyPolicy.tsx:29
-#: src/view/screens/Settings/index.tsx:919
-#: src/view/shell/Drawer.tsx:262
+#: src/view/screens/Settings/index.tsx:887
+#: src/view/shell/Drawer.tsx:271
msgid "Privacy Policy"
msgstr "개인정보 처리방침"
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:198
+#: src/screens/Login/ForgotPasswordForm.tsx:156
msgid "Processing..."
msgstr "처리 중…"
#: src/view/screens/DebugMod.tsx:888
-#: src/view/screens/Profile.tsx:340
+#: src/view/screens/Profile.tsx:361
msgid "profile"
msgstr "프로필"
-#: src/view/shell/bottom-bar/BottomBar.tsx:249
-#: src/view/shell/desktop/LeftNav.tsx:415
+#: src/view/shell/bottom-bar/BottomBar.tsx:261
+#: src/view/shell/desktop/LeftNav.tsx:419
#: src/view/shell/Drawer.tsx:70
-#: src/view/shell/Drawer.tsx:546
-#: src/view/shell/Drawer.tsx:547
+#: src/view/shell/Drawer.tsx:555
+#: src/view/shell/Drawer.tsx:556
msgid "Profile"
msgstr "프로필"
-#: src/view/com/modals/EditProfile.tsx:128
+#: src/view/com/modals/EditProfile.tsx:129
msgid "Profile updated"
msgstr "프로필 업데이트됨"
-#: src/view/screens/Settings/index.tsx:977
+#: src/view/screens/Settings/index.tsx:945
msgid "Protect your account by verifying your email."
msgstr "이메일을 인증하여 계정을 보호하세요."
-#: src/screens/Onboarding/StepFinished.tsx:101
+#: src/screens/Onboarding/StepFinished.tsx:105
msgid "Public"
msgstr "공공성"
@@ -3148,15 +3356,15 @@ msgstr "일괄 뮤트하거나 차단할 수 있는 공개적이고 공유 가
msgid "Public, shareable lists which can drive feeds."
msgstr "피드를 탐색할 수 있는 공개적이고 공유 가능한 목록입니다."
-#: src/view/com/composer/Composer.tsx:351
+#: src/view/com/composer/Composer.tsx:352
msgid "Publish post"
msgstr "게시물 게시하기"
-#: src/view/com/composer/Composer.tsx:351
+#: src/view/com/composer/Composer.tsx:352
msgid "Publish reply"
msgstr "답글 게시하기"
-#: src/view/com/modals/Repost.tsx:65
+#: src/view/com/modals/Repost.tsx:66
msgctxt "action"
msgid "Quote post"
msgstr "게시물 인용"
@@ -3165,7 +3373,7 @@ msgstr "게시물 인용"
msgid "Quote post"
msgstr "게시물 인용"
-#: src/view/com/modals/Repost.tsx:70
+#: src/view/com/modals/Repost.tsx:71
msgctxt "action"
msgid "Quote Post"
msgstr "게시물 인용"
@@ -3174,21 +3382,25 @@ msgstr "게시물 인용"
msgid "Random (aka \"Poster's Roulette\")"
msgstr "무작위"
-#: src/view/com/modals/EditImage.tsx:236
+#: src/view/com/modals/EditImage.tsx:237
msgid "Ratios"
msgstr "비율"
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:116
+#: src/view/screens/Search/Search.tsx:924
+msgid "Recent Searches"
+msgstr "최근 검색"
+
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:117
msgid "Recommended Feeds"
msgstr "추천 피드"
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:180
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:181
msgid "Recommended Users"
msgstr "추천 사용자"
-#: src/components/dialogs/MutedWords.tsx:287
+#: src/components/dialogs/MutedWords.tsx:286
#: src/view/com/feeds/FeedSourceCard.tsx:283
-#: src/view/com/modals/ListAddRemoveUsers.tsx:264
+#: src/view/com/modals/ListAddRemoveUsers.tsx:268
#: src/view/com/modals/SelfLabel.tsx:83
#: src/view/com/modals/UserAddRemoveLists.tsx:219
#: src/view/com/posts/FeedErrorMessage.tsx:204
@@ -3199,11 +3411,11 @@ msgstr "제거"
msgid "Remove account"
msgstr "계정 제거"
-#: src/view/com/util/UserAvatar.tsx:351
+#: src/view/com/util/UserAvatar.tsx:360
msgid "Remove Avatar"
msgstr "아바타 제거"
-#: src/view/com/util/UserBanner.tsx:145
+#: src/view/com/util/UserBanner.tsx:148
msgid "Remove Banner"
msgstr "배너 제거"
@@ -3217,8 +3429,8 @@ msgstr "피드를 제거하시겠습니까?"
#: src/view/com/feeds/FeedSourceCard.tsx:173
#: src/view/com/feeds/FeedSourceCard.tsx:233
-#: src/view/screens/ProfileFeed.tsx:334
-#: src/view/screens/ProfileFeed.tsx:340
+#: src/view/screens/ProfileFeed.tsx:346
+#: src/view/screens/ProfileFeed.tsx:352
msgid "Remove from my feeds"
msgstr "내 피드에서 제거"
@@ -3234,11 +3446,11 @@ msgstr "이미지 제거"
msgid "Remove image preview"
msgstr "이미지 미리보기 제거"
-#: src/components/dialogs/MutedWords.tsx:330
+#: src/components/dialogs/MutedWords.tsx:329
msgid "Remove mute word from your list"
msgstr "목록에서 뮤트한 단어 제거"
-#: src/view/com/modals/Repost.tsx:47
+#: src/view/com/modals/Repost.tsx:48
msgid "Remove repost"
msgstr "재게시를 취소합니다"
@@ -3255,7 +3467,7 @@ msgstr "리스트에서 제거됨"
msgid "Removed from my feeds"
msgstr "내 피드에서 제거됨"
-#: src/view/screens/ProfileFeed.tsx:208
+#: src/view/screens/ProfileFeed.tsx:210
msgid "Removed from your feeds"
msgstr "내 피드에서 제거됨"
@@ -3263,7 +3475,7 @@ msgstr "내 피드에서 제거됨"
msgid "Removes default thumbnail from {0}"
msgstr "{0}에서 기본 미리보기 이미지를 제거합니다"
-#: src/view/screens/Profile.tsx:189
+#: src/view/screens/Profile.tsx:196
msgid "Replies"
msgstr "답글"
@@ -3271,7 +3483,7 @@ msgstr "답글"
msgid "Replies to this thread are disabled"
msgstr "이 스레드에 대한 답글이 비활성화됩니다."
-#: src/view/com/composer/Composer.tsx:364
+#: src/view/com/composer/Composer.tsx:365
msgctxt "action"
msgid "Reply"
msgstr "답글"
@@ -3280,8 +3492,8 @@ msgstr "답글"
msgid "Reply Filters"
msgstr "답글 필터"
-#: src/view/com/post/Post.tsx:169
-#: src/view/com/posts/FeedItem.tsx:283
+#: src/view/com/post/Post.tsx:177
+#: src/view/com/posts/FeedItem.tsx:285
msgctxt "description"
msgid "Reply to <0/>"
msgstr "<0/> 님에게 보내는 답글"
@@ -3291,17 +3503,21 @@ msgstr "<0/> 님에게 보내는 답글"
msgid "Report Account"
msgstr "계정 신고"
-#: src/view/screens/ProfileFeed.tsx:351
-#: src/view/screens/ProfileFeed.tsx:353
+#: src/components/ReportDialog/index.tsx:49
+msgid "Report dialog"
+msgstr "신고 대화 상자"
+
+#: src/view/screens/ProfileFeed.tsx:363
+#: src/view/screens/ProfileFeed.tsx:365
msgid "Report feed"
msgstr "피드 신고"
-#: src/view/screens/ProfileList.tsx:429
+#: src/view/screens/ProfileList.tsx:431
msgid "Report List"
msgstr "리스트 신고"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:292
-#: src/view/com/util/forms/PostDropdownBtn.tsx:294
+#: src/view/com/util/forms/PostDropdownBtn.tsx:312
+#: src/view/com/util/forms/PostDropdownBtn.tsx:314
msgid "Report post"
msgstr "게시물 신고"
@@ -3325,9 +3541,9 @@ msgstr "이 게시물 신고하기"
msgid "Report this user"
msgstr "이 사용자 신고하기"
-#: src/view/com/modals/Repost.tsx:43
-#: src/view/com/modals/Repost.tsx:48
-#: src/view/com/modals/Repost.tsx:53
+#: src/view/com/modals/Repost.tsx:44
+#: src/view/com/modals/Repost.tsx:49
+#: src/view/com/modals/Repost.tsx:54
#: src/view/com/util/post-ctrls/RepostButton.tsx:61
msgctxt "action"
msgid "Repost"
@@ -3346,15 +3562,19 @@ msgstr "재게시 또는 게시물 인용"
msgid "Reposted By"
msgstr "재게시한 사용자"
-#: src/view/com/posts/FeedItem.tsx:201
+#: src/view/com/posts/FeedItem.tsx:199
msgid "Reposted by {0}"
msgstr "{0} 님이 재게시함"
-#: src/view/com/posts/FeedItem.tsx:218
-msgid "Reposted by <0/>"
-msgstr "<0/> 님이 재게시함"
+#: src/view/com/posts/FeedItem.tsx:214
+#~ msgid "Reposted by <0/>"
+#~ msgstr "<0/> 님이 재게시함"
-#: src/view/com/notifications/FeedItem.tsx:162
+#: src/view/com/posts/FeedItem.tsx:216
+msgid "Reposted by <0><1/>0>"
+msgstr ""
+
+#: src/view/com/notifications/FeedItem.tsx:168
msgid "reposted your post"
msgstr "님이 내 게시물을 재게시했습니다"
@@ -3367,57 +3587,50 @@ msgstr "이 게시물의 재게시"
msgid "Request Change"
msgstr "변경 요청"
-#: src/view/com/modals/ChangePassword.tsx:239
#: src/view/com/modals/ChangePassword.tsx:241
+#: src/view/com/modals/ChangePassword.tsx:243
msgid "Request Code"
msgstr "코드 요청"
-#: src/view/screens/Settings/index.tsx:474
+#: src/view/screens/Settings/index.tsx:426
msgid "Require alt text before posting"
msgstr "게시하기 전 대체 텍스트 필수"
-#: src/view/com/auth/create/Step1.tsx:146
+#: src/screens/Signup/StepInfo/index.tsx:69
msgid "Required for this provider"
msgstr "이 제공자에서 필수"
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:124
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:136
+#: src/view/com/modals/ChangePassword.tsx:185
msgid "Reset code"
msgstr "재설정 코드"
-#: src/view/com/modals/ChangePassword.tsx:190
+#: src/view/com/modals/ChangePassword.tsx:192
msgid "Reset Code"
msgstr "재설정 코드"
-#: src/view/screens/Settings/index.tsx:852
-msgid "Reset onboarding"
-msgstr "온보딩 초기화"
-
-#: src/view/screens/Settings/index.tsx:855
+#: src/view/screens/Settings/index.tsx:822
+#: src/view/screens/Settings/index.tsx:825
msgid "Reset onboarding state"
msgstr "온보딩 상태 초기화"
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:104
+#: src/screens/Login/ForgotPasswordForm.tsx:86
msgid "Reset password"
msgstr "비밀번호 재설정"
-#: src/view/screens/Settings/index.tsx:842
-msgid "Reset preferences"
-msgstr "설정 초기화"
-
-#: src/view/screens/Settings/index.tsx:845
+#: src/view/screens/Settings/index.tsx:812
+#: src/view/screens/Settings/index.tsx:815
msgid "Reset preferences state"
msgstr "설정 상태 초기화"
-#: src/view/screens/Settings/index.tsx:853
+#: src/view/screens/Settings/index.tsx:823
msgid "Resets the onboarding state"
msgstr "온보딩 상태 초기화"
-#: src/view/screens/Settings/index.tsx:843
+#: src/view/screens/Settings/index.tsx:813
msgid "Resets the preferences state"
msgstr "설정 상태 초기화"
-#: src/view/com/auth/login/LoginForm.tsx:269
+#: src/screens/Login/LoginForm.tsx:235
msgid "Retries login"
msgstr "로그인을 다시 시도합니다"
@@ -3426,102 +3639,121 @@ msgstr "로그인을 다시 시도합니다"
msgid "Retries the last action, which errored out"
msgstr "오류가 발생한 마지막 작업을 다시 시도합니다"
-#: src/screens/Onboarding/StepInterests/index.tsx:221
-#: src/screens/Onboarding/StepInterests/index.tsx:224
-#: src/view/com/auth/create/CreateAccount.tsx:181
-#: src/view/com/auth/create/CreateAccount.tsx:186
-#: src/view/com/auth/login/LoginForm.tsx:268
-#: src/view/com/auth/login/LoginForm.tsx:271
+#: src/components/Error.tsx:79
+#: src/components/Lists.tsx:91
+#: src/screens/Login/LoginForm.tsx:234
+#: src/screens/Login/LoginForm.tsx:241
+#: src/screens/Onboarding/StepInterests/index.tsx:225
+#: src/screens/Onboarding/StepInterests/index.tsx:228
+#: src/screens/Signup/index.tsx:194
#: src/view/com/util/error/ErrorMessage.tsx:55
#: src/view/com/util/error/ErrorScreen.tsx:72
msgid "Retry"
msgstr "다시 시도"
-#: src/view/screens/ProfileList.tsx:917
+#: src/components/Error.tsx:86
+#: src/view/screens/ProfileList.tsx:919
msgid "Return to previous page"
msgstr "이전 페이지로 돌아갑니다"
-#: src/components/dialogs/BirthDateSettings.tsx:118
-#: src/view/com/modals/ChangeHandle.tsx:173
-#: src/view/com/modals/CreateOrEditList.tsx:337
-#: src/view/com/modals/EditProfile.tsx:224
+#: src/view/screens/NotFound.tsx:59
+msgid "Returns to home page"
+msgstr "홈 페이지로 돌아갑니다"
+
+#: src/view/screens/NotFound.tsx:58
+#: src/view/screens/ProfileFeed.tsx:113
+msgid "Returns to previous page"
+msgstr "이전 페이지로 돌아갑니다"
+
+#: src/components/dialogs/BirthDateSettings.tsx:125
+#: src/view/com/modals/ChangeHandle.tsx:174
+#: src/view/com/modals/CreateOrEditList.tsx:338
+#: src/view/com/modals/EditProfile.tsx:225
msgid "Save"
msgstr "저장"
#: src/view/com/lightbox/Lightbox.tsx:132
-#: src/view/com/modals/CreateOrEditList.tsx:345
+#: src/view/com/modals/CreateOrEditList.tsx:346
msgctxt "action"
msgid "Save"
msgstr "저장"
-#: src/view/com/modals/AltImage.tsx:130
+#: src/view/com/modals/AltImage.tsx:131
msgid "Save alt text"
msgstr "대체 텍스트 저장"
-#: src/components/dialogs/BirthDateSettings.tsx:112
+#: src/components/dialogs/BirthDateSettings.tsx:119
msgid "Save birthday"
msgstr "생년월일 저장"
-#: src/view/com/modals/EditProfile.tsx:232
+#: src/view/com/modals/EditProfile.tsx:233
msgid "Save Changes"
msgstr "변경 사항 저장"
-#: src/view/com/modals/ChangeHandle.tsx:170
+#: src/view/com/modals/ChangeHandle.tsx:171
msgid "Save handle change"
msgstr "핸들 변경 저장"
-#: src/view/com/modals/crop-image/CropImage.web.tsx:144
+#: src/view/com/modals/crop-image/CropImage.web.tsx:145
msgid "Save image crop"
msgstr "이미지 자르기 저장"
-#: src/view/screens/ProfileFeed.tsx:335
-#: src/view/screens/ProfileFeed.tsx:341
+#: src/view/screens/ProfileFeed.tsx:347
+#: src/view/screens/ProfileFeed.tsx:353
msgid "Save to my feeds"
msgstr "내 피드에 저장"
-#: src/view/screens/SavedFeeds.tsx:122
+#: src/view/screens/SavedFeeds.tsx:123
msgid "Saved Feeds"
msgstr "저장된 피드"
-#: src/view/screens/ProfileFeed.tsx:212
+#: src/view/com/lightbox/Lightbox.tsx:81
+msgid "Saved to your camera roll."
+msgstr "내 앨범에 저장됨"
+
+#: src/view/screens/ProfileFeed.tsx:214
msgid "Saved to your feeds"
msgstr "내 피드에 저장됨"
-#: src/view/com/modals/EditProfile.tsx:225
+#: src/view/com/modals/EditProfile.tsx:226
msgid "Saves any changes to your profile"
msgstr "프로필에 대한 모든 변경 사항을 저장합니다"
-#: src/view/com/modals/ChangeHandle.tsx:171
+#: src/view/com/modals/ChangeHandle.tsx:172
msgid "Saves handle change to {handle}"
msgstr "핸들을 {handle}(으)로 변경합니다"
+#: src/view/com/modals/crop-image/CropImage.web.tsx:146
+msgid "Saves image crop settings"
+msgstr "이미지 자르기 설정을 저장합니다"
+
#: src/screens/Onboarding/index.tsx:36
msgid "Science"
msgstr "과학"
-#: src/view/screens/ProfileList.tsx:873
+#: src/view/screens/ProfileList.tsx:875
msgid "Scroll to top"
msgstr "맨 위로 스크롤"
-#: src/Navigation.tsx:459
-#: src/view/com/auth/LoggedOut.tsx:122
+#: src/Navigation.tsx:451
+#: src/view/com/auth/LoggedOut.tsx:123
#: src/view/com/modals/ListAddRemoveUsers.tsx:75
#: src/view/com/util/forms/SearchInput.tsx:67
#: src/view/com/util/forms/SearchInput.tsx:79
-#: src/view/screens/Search/Search.tsx:419
-#: src/view/screens/Search/Search.tsx:668
-#: src/view/screens/Search/Search.tsx:686
-#: src/view/shell/bottom-bar/BottomBar.tsx:161
-#: src/view/shell/desktop/LeftNav.tsx:324
-#: src/view/shell/desktop/Search.tsx:214
-#: src/view/shell/desktop/Search.tsx:223
-#: src/view/shell/Drawer.tsx:362
-#: src/view/shell/Drawer.tsx:363
+#: src/view/screens/Search/Search.tsx:568
+#: src/view/screens/Search/Search.tsx:817
+#: src/view/screens/Search/Search.tsx:835
+#: src/view/shell/bottom-bar/BottomBar.tsx:170
+#: src/view/shell/desktop/LeftNav.tsx:328
+#: src/view/shell/desktop/Search.tsx:215
+#: src/view/shell/desktop/Search.tsx:224
+#: src/view/shell/Drawer.tsx:371
+#: src/view/shell/Drawer.tsx:372
msgid "Search"
msgstr "검색"
-#: src/view/screens/Search/Search.tsx:735
-#: src/view/shell/desktop/Search.tsx:255
+#: src/view/screens/Search/Search.tsx:884
+#: src/view/shell/desktop/Search.tsx:256
msgid "Search for \"{query}\""
msgstr "\"{query}\"에 대한 검색 결과"
@@ -3533,8 +3765,8 @@ msgstr "{displayTag} 태그를 사용한 @{authorHandle} 님의 모든 게시물
msgid "Search for all posts with tag {displayTag}"
msgstr "{displayTag} 태그를 사용한 모든 게시물 검색"
-#: src/view/com/auth/LoggedOut.tsx:104
#: src/view/com/auth/LoggedOut.tsx:105
+#: src/view/com/auth/LoggedOut.tsx:106
#: src/view/com/modals/ListAddRemoveUsers.tsx:70
msgid "Search for users"
msgstr "사용자 검색하기"
@@ -3559,52 +3791,60 @@ msgstr "<0>{displayTag}0> 게시물 보기"
msgid "See <0>{displayTag}0> posts by this user"
msgstr "이 사용자의 <0>{displayTag}0> 게시물 보기"
-#: src/view/screens/SavedFeeds.tsx:163
+#: src/view/com/notifications/FeedItem.tsx:419
+#: src/view/com/util/UserAvatar.tsx:381
+msgid "See profile"
+msgstr ""
+
+#: src/view/screens/SavedFeeds.tsx:164
msgid "See this guide"
msgstr "이 가이드"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:39
-msgid "See what's next"
-msgstr "See what's next"
+#: src/view/com/auth/HomeLoggedOutCTA.tsx:40
+#~ msgid "See what's next"
+#~ msgstr "See what's next"
#: src/view/com/util/Selector.tsx:106
msgid "Select {item}"
msgstr "{item} 선택"
-#: src/view/com/auth/login/Login.tsx:117
+#: src/screens/Login/ChooseAccountForm.tsx:61
+msgid "Select account"
+msgstr "계정 선택"
+
+#: src/screens/Login/index.tsx:120
msgid "Select from an existing account"
msgstr "기존 계정에서 선택"
+#: src/view/screens/LanguageSettings.tsx:299
+msgid "Select languages"
+msgstr "언어 선택"
+
#: src/components/ReportDialog/SelectLabelerView.tsx:30
-msgid "Select moderation service"
-msgstr "검토 서비스 선택하기"
+msgid "Select moderator"
+msgstr "검토자 선택"
#: src/view/com/util/Selector.tsx:107
msgid "Select option {i} of {numItems}"
msgstr "{numItems}개 중 {i}번째 옵션을 선택합니다"
-#: src/view/com/auth/create/Step1.tsx:96
-#: src/view/com/auth/login/LoginForm.tsx:150
-msgid "Select service"
-msgstr "서비스 선택"
-
#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:52
msgid "Select some accounts below to follow"
msgstr "아래에서 팔로우할 계정을 선택하세요"
-#: src/components/ReportDialog/SubmitView.tsx:135
+#: src/components/ReportDialog/SubmitView.tsx:133
msgid "Select the moderation service(s) to report to"
-msgstr "신고할 검토 서비스를 선택합니다."
+msgstr "신고할 검토 서비스를 선택하세요."
#: src/view/com/auth/server-input/index.tsx:82
msgid "Select the service that hosts your data."
msgstr "데이터를 호스팅할 서비스를 선택하세요."
-#: src/screens/Onboarding/StepTopicalFeeds.tsx:96
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:100
msgid "Select topical feeds to follow from the list below"
msgstr "아래 목록에서 팔로우할 화제 피드를 선택하세요"
-#: src/screens/Onboarding/StepModeration/index.tsx:62
+#: src/screens/Onboarding/StepModeration/index.tsx:63
msgid "Select what you want to see (or not see), and we’ll handle the rest."
msgstr "보고 싶거나 보고 싶지 않은 항목을 선택하면 나머지는 알아서 처리해 드립니다."
@@ -3613,10 +3853,14 @@ msgid "Select which languages you want your subscribed feeds to include. If none
msgstr "구독하는 피드에 포함할 언어를 선택합니다. 선택하지 않으면 모든 언어가 표시됩니다."
#: src/view/screens/LanguageSettings.tsx:98
-msgid "Select your app language for the default text to display in the app"
+msgid "Select your app language for the default text to display in the app."
msgstr "앱에 표시되는 기본 텍스트 언어를 선택합니다."
-#: src/screens/Onboarding/StepInterests/index.tsx:196
+#: src/screens/Signup/StepInfo/index.tsx:135
+msgid "Select your date of birth"
+msgstr "생년월일을 선택하세요"
+
+#: src/screens/Onboarding/StepInterests/index.tsx:200
msgid "Select your interests from the options below"
msgstr "아래 옵션에서 관심사를 선택하세요"
@@ -3624,11 +3868,11 @@ msgstr "아래 옵션에서 관심사를 선택하세요"
msgid "Select your preferred language for translations in your feed."
msgstr "피드에서 번역을 위해 선호하는 언어를 선택합니다."
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:116
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:117
msgid "Select your primary algorithmic feeds"
msgstr "기본 알고리즘 피드를 선택하세요"
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:142
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:133
msgid "Select your secondary algorithmic feeds"
msgstr "보조 알고리즘 피드를 선택하세요"
@@ -3637,22 +3881,22 @@ msgstr "보조 알고리즘 피드를 선택하세요"
msgid "Send Confirmation Email"
msgstr "확인 이메일 보내기"
-#: src/view/com/modals/DeleteAccount.tsx:131
+#: src/view/com/modals/DeleteAccount.tsx:130
msgid "Send email"
msgstr "이메일 보내기"
-#: src/view/com/modals/DeleteAccount.tsx:144
+#: src/view/com/modals/DeleteAccount.tsx:143
msgctxt "action"
msgid "Send Email"
msgstr "이메일 보내기"
-#: src/view/shell/Drawer.tsx:295
-#: src/view/shell/Drawer.tsx:316
+#: src/view/shell/Drawer.tsx:304
+#: src/view/shell/Drawer.tsx:325
msgid "Send feedback"
msgstr "피드백 보내기"
-#: src/components/ReportDialog/SubmitView.tsx:214
-#: src/components/ReportDialog/SubmitView.tsx:218
+#: src/components/ReportDialog/SubmitView.tsx:213
+#: src/components/ReportDialog/SubmitView.tsx:217
msgid "Send report"
msgstr "신고 보내기"
@@ -3660,46 +3904,22 @@ msgstr "신고 보내기"
msgid "Send report to {0}"
msgstr "{0} 님에게 신고 보내기"
-#: src/view/com/modals/DeleteAccount.tsx:133
+#: src/view/com/modals/DeleteAccount.tsx:132
msgid "Sends email with confirmation code for account deletion"
msgstr "계정 삭제를 위한 확인 코드가 포함된 이메일을 전송합니다"
-#: src/view/com/auth/server-input/index.tsx:110
+#: src/view/com/auth/server-input/index.tsx:114
msgid "Server address"
msgstr "서버 주소"
-#: src/screens/Moderation/index.tsx:307
+#: src/screens/Moderation/index.tsx:304
msgid "Set birthdate"
msgstr "생년월일 설정"
-#: src/view/screens/Settings/index.tsx:506
-msgid "Set color theme to dark"
-msgstr "색상 테마를 어두움으로 설정합니다"
-
-#: src/view/screens/Settings/index.tsx:499
-msgid "Set color theme to light"
-msgstr "색상 테마를 밝음으로 설정합니다"
-
-#: src/view/screens/Settings/index.tsx:493
-msgid "Set color theme to system setting"
-msgstr "색상 테마를 시스템 설정에 맞춥니다"
-
-#: src/view/screens/Settings/index.tsx:532
-msgid "Set dark theme to the dark theme"
-msgstr "어두운 테마를 완전히 어둡게 설정합니다"
-
-#: src/view/screens/Settings/index.tsx:525
-msgid "Set dark theme to the dim theme"
-msgstr "어두운 테마를 살짝 밝게 설정합니다"
-
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:104
+#: src/screens/Login/SetNewPasswordForm.tsx:102
msgid "Set new password"
msgstr "새 비밀번호 설정"
-#: src/view/com/auth/create/Step1.tsx:202
-msgid "Set password"
-msgstr "비밀번호 설정"
-
#: src/view/screens/PreferencesFollowingFeed.tsx:225
msgid "Set this setting to \"No\" to hide all quote posts from your feed. Reposts will still be visible."
msgstr "피드에서 모든 인용 게시물을 숨기려면 이 설정을 \"아니요\"로 설정합니다. 재게시는 계속 표시됩니다."
@@ -3720,32 +3940,55 @@ msgstr "스레드 보기에 답글을 표시하려면 이 설정을 \"예\"로
msgid "Set this setting to \"Yes\" to show samples of your saved feeds in your Following feed. This is an experimental feature."
msgstr "팔로우 중 피드에 저장된 피드 샘플을 표시하려면 이 설정을 \"예\"로 설정합니다. 이는 실험적인 기능입니다."
-#: src/screens/Onboarding/Layout.tsx:50
+#: src/screens/Onboarding/Layout.tsx:48
msgid "Set up your account"
msgstr "계정 설정하기"
-#: src/view/com/modals/ChangeHandle.tsx:266
+#: src/view/com/modals/ChangeHandle.tsx:267
msgid "Sets Bluesky username"
msgstr "Bluesky 사용자 이름을 설정합니다"
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:157
+#: src/view/screens/Settings/index.tsx:458
+msgid "Sets color theme to dark"
+msgstr "색상 테마를 어두움으로 설정합니다"
+
+#: src/view/screens/Settings/index.tsx:451
+msgid "Sets color theme to light"
+msgstr "색상 테마를 밝음으로 설정합니다"
+
+#: src/view/screens/Settings/index.tsx:445
+msgid "Sets color theme to system setting"
+msgstr "색상 테마를 시스템 설정에 맞춥니다"
+
+#: src/view/screens/Settings/index.tsx:484
+msgid "Sets dark theme to the dark theme"
+msgstr "어두운 테마를 완전히 어둡게 설정합니다"
+
+#: src/view/screens/Settings/index.tsx:477
+msgid "Sets dark theme to the dim theme"
+msgstr "어두운 테마를 살짝 밝게 설정합니다"
+
+#: src/screens/Login/ForgotPasswordForm.tsx:113
msgid "Sets email for password reset"
msgstr "비밀번호 재설정을 위한 이메일을 설정합니다"
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:122
-msgid "Sets hosting provider for password reset"
-msgstr "비밀번호 재설정을 위한 호스팅 제공자를 설정합니다"
+#: src/view/com/modals/crop-image/CropImage.web.tsx:124
+msgid "Sets image aspect ratio to square"
+msgstr "이미지 비율을 정사각형으로 설정합니다"
-#: src/view/com/auth/create/Step1.tsx:97
-#: src/view/com/auth/login/LoginForm.tsx:151
-msgid "Sets server for the Bluesky client"
-msgstr "Bluesky 클라이언트를 위한 서버를 설정합니다"
+#: src/view/com/modals/crop-image/CropImage.web.tsx:114
+msgid "Sets image aspect ratio to tall"
+msgstr "이미지 비율을 세로로 길게 설정합니다"
+
+#: src/view/com/modals/crop-image/CropImage.web.tsx:104
+msgid "Sets image aspect ratio to wide"
+msgstr "이미지 비율을 가로로 길게 설정합니다"
#: src/Navigation.tsx:139
-#: src/view/screens/Settings/index.tsx:312
-#: src/view/shell/desktop/LeftNav.tsx:433
-#: src/view/shell/Drawer.tsx:567
-#: src/view/shell/Drawer.tsx:568
+#: src/view/screens/Settings/index.tsx:316
+#: src/view/shell/desktop/LeftNav.tsx:437
+#: src/view/shell/Drawer.tsx:576
+#: src/view/shell/Drawer.tsx:577
msgid "Settings"
msgstr "설정"
@@ -3764,28 +4007,38 @@ msgstr "공유"
#: src/view/com/profile/ProfileMenu.tsx:215
#: src/view/com/profile/ProfileMenu.tsx:224
-#: src/view/com/util/forms/PostDropdownBtn.tsx:228
-#: src/view/com/util/forms/PostDropdownBtn.tsx:237
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:218
-#: src/view/screens/ProfileList.tsx:388
+#: src/view/com/util/forms/PostDropdownBtn.tsx:236
+#: src/view/com/util/forms/PostDropdownBtn.tsx:245
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:237
+#: src/view/screens/ProfileList.tsx:390
msgid "Share"
msgstr "공유"
#: src/view/com/profile/ProfileMenu.tsx:373
-#: src/view/com/util/forms/PostDropdownBtn.tsx:347
+#: src/view/com/util/forms/PostDropdownBtn.tsx:369
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:253
msgid "Share anyway"
msgstr "무시하고 공유"
-#: src/view/screens/ProfileFeed.tsx:361
-#: src/view/screens/ProfileFeed.tsx:363
+#: src/view/screens/ProfileFeed.tsx:373
+#: src/view/screens/ProfileFeed.tsx:375
msgid "Share feed"
msgstr "피드 공유"
+#: src/view/com/modals/LinkWarning.tsx:89
+#: src/view/com/modals/LinkWarning.tsx:95
+msgid "Share Link"
+msgstr "링크 공유"
+
+#: src/view/com/modals/LinkWarning.tsx:92
+msgid "Shares the linked website"
+msgstr "연결된 웹사이트를 공유합니다"
+
#: src/components/moderation/ContentHider.tsx:115
-#: src/components/moderation/GlobalModerationLabelPref.tsx:45
+#: src/components/moderation/LabelPreference.tsx:136
#: src/components/moderation/PostHider.tsx:107
#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:54
-#: src/view/screens/Settings/index.tsx:362
+#: src/view/screens/Settings/index.tsx:366
msgid "Show"
msgstr "표시"
@@ -3793,8 +4046,8 @@ msgstr "표시"
msgid "Show all replies"
msgstr "모든 답글 표시"
-#: src/components/moderation/ScreenHider.tsx:161
-#: src/components/moderation/ScreenHider.tsx:164
+#: src/components/moderation/ScreenHider.tsx:169
+#: src/components/moderation/ScreenHider.tsx:172
msgid "Show anyway"
msgstr "무시하고 표시"
@@ -3807,17 +4060,13 @@ msgstr "배지 표시"
msgid "Show badge and filter from feeds"
msgstr "배지 표시 및 피드에서 필터링"
-#: src/view/com/modals/EmbedConsent.tsx:87
-msgid "Show embeds from {0}"
-msgstr "{0} 임베드 표시"
-
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:193
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:200
msgid "Show follows similar to {0}"
msgstr "{0} 님과 비슷한 팔로우 표시"
-#: src/view/com/post-thread/PostThreadItem.tsx:509
-#: src/view/com/post/Post.tsx:204
-#: src/view/com/posts/FeedItem.tsx:358
+#: src/view/com/post-thread/PostThreadItem.tsx:501
+#: src/view/com/post/Post.tsx:212
+#: src/view/com/posts/FeedItem.tsx:360
msgid "Show More"
msgstr "더 보기"
@@ -3829,15 +4078,15 @@ msgstr "내 피드에서 게시물 표시"
msgid "Show Quote Posts"
msgstr "인용 게시물 표시"
-#: src/screens/Onboarding/StepFollowingFeed.tsx:118
+#: src/screens/Onboarding/StepFollowingFeed.tsx:119
msgid "Show quote-posts in Following feed"
msgstr "팔로우 중 피드에 인용 게시물 표시"
-#: src/screens/Onboarding/StepFollowingFeed.tsx:134
+#: src/screens/Onboarding/StepFollowingFeed.tsx:135
msgid "Show quotes in Following"
msgstr "팔로우 중 피드에 인용 표시"
-#: src/screens/Onboarding/StepFollowingFeed.tsx:94
+#: src/screens/Onboarding/StepFollowingFeed.tsx:95
msgid "Show re-posts in Following feed"
msgstr "팔로우 중 피드에 재게시 표시"
@@ -3849,11 +4098,11 @@ msgstr "답글 표시"
msgid "Show replies by people you follow before all other replies."
msgstr "내가 팔로우하는 사람들의 답글을 다른 모든 답글보다 먼저 표시합니다."
-#: src/screens/Onboarding/StepFollowingFeed.tsx:86
+#: src/screens/Onboarding/StepFollowingFeed.tsx:87
msgid "Show replies in Following"
msgstr "팔로우 중 피드에 답글 표시"
-#: src/screens/Onboarding/StepFollowingFeed.tsx:70
+#: src/screens/Onboarding/StepFollowingFeed.tsx:71
msgid "Show replies in Following feed"
msgstr "팔로우 중 피드에 답글 표시"
@@ -3865,7 +4114,7 @@ msgstr "좋아요가 {value}개 이상인 답글 표시"
msgid "Show Reposts"
msgstr "재게시 표시"
-#: src/screens/Onboarding/StepFollowingFeed.tsx:110
+#: src/screens/Onboarding/StepFollowingFeed.tsx:111
msgid "Show reposts in Following"
msgstr "팔로우 중 피드에 재게시 표시"
@@ -3874,7 +4123,7 @@ msgstr "팔로우 중 피드에 재게시 표시"
msgid "Show the content"
msgstr "콘텐츠 표시"
-#: src/view/com/notifications/FeedItem.tsx:346
+#: src/view/com/notifications/FeedItem.tsx:353
msgid "Show users"
msgstr "사용자 표시"
@@ -3886,63 +4135,65 @@ msgstr "경고 표시"
msgid "Show warning and filter from feeds"
msgstr "경고 표시 및 피드에서 필터링"
-#: src/view/com/post-thread/PostThreadFollowBtn.tsx:127
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:130
msgid "Shows posts from {0} in your feed"
msgstr "피드에 {0} 님의 게시물을 표시합니다"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:70
-#: src/view/com/auth/login/Login.tsx:98
-#: src/view/com/auth/SplashScreen.tsx:79
-#: src/view/shell/bottom-bar/BottomBar.tsx:287
-#: src/view/shell/bottom-bar/BottomBar.tsx:288
-#: src/view/shell/bottom-bar/BottomBar.tsx:290
+#: src/components/dialogs/Signin.tsx:97
+#: src/components/dialogs/Signin.tsx:99
+#: src/screens/Login/index.tsx:100
+#: src/screens/Login/index.tsx:119
+#: src/screens/Login/LoginForm.tsx:131
+#: src/view/com/auth/SplashScreen.tsx:63
+#: src/view/com/auth/SplashScreen.tsx:72
+#: src/view/com/auth/SplashScreen.web.tsx:107
+#: src/view/com/auth/SplashScreen.web.tsx:116
+#: src/view/shell/bottom-bar/BottomBar.tsx:301
+#: src/view/shell/bottom-bar/BottomBar.tsx:302
+#: src/view/shell/bottom-bar/BottomBar.tsx:304
#: src/view/shell/bottom-bar/BottomBarWeb.tsx:178
#: src/view/shell/bottom-bar/BottomBarWeb.tsx:179
#: src/view/shell/bottom-bar/BottomBarWeb.tsx:181
-#: src/view/shell/NavSignupCard.tsx:58
-#: src/view/shell/NavSignupCard.tsx:59
+#: src/view/shell/NavSignupCard.tsx:63
+#: src/view/shell/NavSignupCard.tsx:64
+#: src/view/shell/NavSignupCard.tsx:66
msgid "Sign in"
msgstr "로그인"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:78
-#: src/view/com/auth/SplashScreen.tsx:82
-#: src/view/com/auth/SplashScreen.web.tsx:91
-msgid "Sign In"
-msgstr "로그인"
-
-#: src/view/com/auth/login/ChooseAccountForm.tsx:44
+#: src/components/AccountList.tsx:109
msgid "Sign in as {0}"
msgstr "{0}(으)로 로그인"
-#: src/view/com/auth/login/ChooseAccountForm.tsx:118
-#: src/view/com/auth/login/Login.tsx:116
+#: src/screens/Login/ChooseAccountForm.tsx:64
msgid "Sign in as..."
msgstr "로그인"
-#: src/view/com/auth/login/LoginForm.tsx:137
-msgid "Sign into"
-msgstr "로그인"
+#: src/components/dialogs/Signin.tsx:75
+msgid "Sign in or create your account to join the conversation!"
+msgstr ""
-#: src/view/com/modals/SwitchAccount.tsx:64
-#: src/view/com/modals/SwitchAccount.tsx:69
-#: src/view/screens/Settings/index.tsx:104
-#: src/view/screens/Settings/index.tsx:107
+#: src/components/dialogs/Signin.tsx:46
+msgid "Sign into Bluesky or create a new account"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:118
+#: src/view/screens/Settings/index.tsx:121
msgid "Sign out"
msgstr "로그아웃"
-#: src/view/shell/bottom-bar/BottomBar.tsx:277
-#: src/view/shell/bottom-bar/BottomBar.tsx:278
-#: src/view/shell/bottom-bar/BottomBar.tsx:280
+#: src/view/shell/bottom-bar/BottomBar.tsx:291
+#: src/view/shell/bottom-bar/BottomBar.tsx:292
+#: src/view/shell/bottom-bar/BottomBar.tsx:294
#: src/view/shell/bottom-bar/BottomBarWeb.tsx:168
#: src/view/shell/bottom-bar/BottomBarWeb.tsx:169
#: src/view/shell/bottom-bar/BottomBarWeb.tsx:171
-#: src/view/shell/NavSignupCard.tsx:49
-#: src/view/shell/NavSignupCard.tsx:50
-#: src/view/shell/NavSignupCard.tsx:52
+#: src/view/shell/NavSignupCard.tsx:54
+#: src/view/shell/NavSignupCard.tsx:55
+#: src/view/shell/NavSignupCard.tsx:57
msgid "Sign up"
msgstr "가입하기"
-#: src/view/shell/NavSignupCard.tsx:42
+#: src/view/shell/NavSignupCard.tsx:47
msgid "Sign up or sign in to join the conversation"
msgstr "가입 또는 로그인하여 대화에 참여하세요"
@@ -3951,25 +4202,21 @@ msgstr "가입 또는 로그인하여 대화에 참여하세요"
msgid "Sign-in Required"
msgstr "로그인 필요"
-#: src/view/screens/Settings/index.tsx:373
+#: src/view/screens/Settings/index.tsx:377
msgid "Signed in as"
msgstr "로그인한 계정"
-#: src/view/com/auth/login/ChooseAccountForm.tsx:103
+#: src/screens/Login/ChooseAccountForm.tsx:48
msgid "Signed in as @{0}"
msgstr "@{0}(으)로 로그인했습니다"
-#: src/view/com/modals/SwitchAccount.tsx:66
-msgid "Signs {0} out of Bluesky"
-msgstr "Bluesky에서 {0}을(를) 로그아웃합니다"
-
-#: src/screens/Onboarding/StepInterests/index.tsx:235
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:195
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:33
+#: src/screens/Onboarding/StepInterests/index.tsx:239
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:203
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:35
msgid "Skip"
msgstr "건너뛰기"
-#: src/screens/Onboarding/StepInterests/index.tsx:232
+#: src/screens/Onboarding/StepInterests/index.tsx:236
msgid "Skip this flow"
msgstr "이 단계 건너뛰기"
@@ -3977,17 +4224,13 @@ msgstr "이 단계 건너뛰기"
msgid "Software Dev"
msgstr "소프트웨어 개발"
-#: src/components/ReportDialog/index.tsx:50
-#: src/screens/Moderation/index.tsx:116
-#: src/screens/Profile/Sections/Labels.tsx:88
+#: src/components/ReportDialog/index.tsx:59
+#: src/screens/Moderation/index.tsx:114
+#: src/screens/Profile/Sections/Labels.tsx:87
msgid "Something went wrong, please try again."
msgstr "뭔가 잘못되었습니다. 다시 시도해 주세요."
-#: src/components/Lists.tsx:202
-msgid "Something went wrong!"
-msgstr "뭔가 잘못되었습니다!"
-
-#: src/App.native.tsx:71
+#: src/App.native.tsx:64
msgid "Sorry! Your session expired. Please log in again."
msgstr "죄송합니다. 세션이 만료되었습니다. 다시 로그인해 주세요."
@@ -3999,7 +4242,7 @@ msgstr "답글 정렬"
msgid "Sort replies to the same post by:"
msgstr "동일한 게시물에 대한 답글을 정렬하는 기준입니다."
-#: src/components/moderation/LabelsOnMeDialog.tsx:147
+#: src/components/moderation/LabelsOnMeDialog.tsx:146
msgid "Source:"
msgstr "출처:"
@@ -4015,62 +4258,62 @@ msgstr "스팸, 과도한 멘션 또는 답글"
msgid "Sports"
msgstr "스포츠"
-#: src/view/com/modals/crop-image/CropImage.web.tsx:122
+#: src/view/com/modals/crop-image/CropImage.web.tsx:123
msgid "Square"
msgstr "정사각형"
-#: src/view/screens/Settings/index.tsx:899
+#: src/view/screens/Settings/index.tsx:867
msgid "Status page"
msgstr "상태 페이지"
-#: src/view/com/auth/create/StepHeader.tsx:22
-msgid "Step {0} of {numSteps}"
-msgstr "{numSteps}단계 중 {0}단계"
+#: src/screens/Signup/index.tsx:143
+msgid "Step"
+msgstr ""
-#: src/view/screens/Settings/index.tsx:288
+#: src/view/screens/Settings/index.tsx:295
msgid "Storage cleared, you need to restart the app now."
msgstr "스토리지가 지워졌으며 지금 앱을 다시 시작해야 합니다."
#: src/Navigation.tsx:211
-#: src/view/screens/Settings/index.tsx:825
+#: src/view/screens/Settings/index.tsx:795
msgid "Storybook"
msgstr "스토리북"
+#: src/components/moderation/LabelsOnMeDialog.tsx:255
#: src/components/moderation/LabelsOnMeDialog.tsx:256
-#: src/components/moderation/LabelsOnMeDialog.tsx:257
msgid "Submit"
msgstr "확인"
-#: src/view/screens/ProfileList.tsx:590
+#: src/view/screens/ProfileList.tsx:592
msgid "Subscribe"
msgstr "구독"
-#: src/screens/Profile/Sections/Labels.tsx:199
+#: src/screens/Profile/Sections/Labels.tsx:191
msgid "Subscribe to @{0} to use these labels:"
msgstr "이 라벨을 사용하려면 @{0} 님을 구독하세요:"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:222
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:227
msgid "Subscribe to Labeler"
msgstr "라벨러 구독"
-#: src/screens/Onboarding/StepAlgoFeeds/FeedCard.tsx:173
-#: src/screens/Onboarding/StepAlgoFeeds/FeedCard.tsx:308
+#: src/screens/Onboarding/StepAlgoFeeds/FeedCard.tsx:172
+#: src/screens/Onboarding/StepAlgoFeeds/FeedCard.tsx:307
msgid "Subscribe to the {0} feed"
msgstr "{0} 피드 구독하기"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:185
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:191
msgid "Subscribe to this labeler"
msgstr "이 라벨러 구독하기"
-#: src/view/screens/ProfileList.tsx:586
+#: src/view/screens/ProfileList.tsx:588
msgid "Subscribe to this list"
msgstr "이 리스트 구독하기"
-#: src/view/screens/Search/Search.tsx:374
+#: src/view/screens/Search/Search.tsx:523
msgid "Suggested Follows"
msgstr "팔로우 추천"
-#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:64
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:65
msgid "Suggested for you"
msgstr "나를 위한 추천"
@@ -4084,29 +4327,28 @@ msgstr "외설적"
msgid "Support"
msgstr "지원"
-#: src/view/com/modals/SwitchAccount.tsx:117
+#: src/components/dialogs/SwitchAccount.tsx:46
+#: src/components/dialogs/SwitchAccount.tsx:49
msgid "Switch Account"
msgstr "계정 전환"
-#: src/view/com/modals/SwitchAccount.tsx:97
-#: src/view/screens/Settings/index.tsx:134
+#: src/view/screens/Settings/index.tsx:150
msgid "Switch to {0}"
msgstr "{0}(으)로 전환"
-#: src/view/com/modals/SwitchAccount.tsx:98
-#: src/view/screens/Settings/index.tsx:135
+#: src/view/screens/Settings/index.tsx:151
msgid "Switches the account you are logged in to"
msgstr "로그인한 계정을 전환합니다"
-#: src/view/screens/Settings/index.tsx:490
+#: src/view/screens/Settings/index.tsx:442
msgid "System"
msgstr "시스템"
-#: src/view/screens/Settings/index.tsx:813
+#: src/view/screens/Settings/index.tsx:783
msgid "System log"
msgstr "시스템 로그"
-#: src/components/dialogs/MutedWords.tsx:324
+#: src/components/dialogs/MutedWords.tsx:323
msgid "tag"
msgstr "태그"
@@ -4114,7 +4356,7 @@ msgstr "태그"
msgid "Tag menu: {displayTag}"
msgstr "태그 메뉴: {displayTag}"
-#: src/view/com/modals/crop-image/CropImage.web.tsx:112
+#: src/view/com/modals/crop-image/CropImage.web.tsx:113
msgid "Tall"
msgstr "세로"
@@ -4131,9 +4373,10 @@ msgid "Terms"
msgstr "이용약관"
#: src/Navigation.tsx:236
-#: src/view/screens/Settings/index.tsx:913
+#: src/screens/Signup/StepInfo/Policies.tsx:49
+#: src/view/screens/Settings/index.tsx:881
#: src/view/screens/TermsOfService.tsx:29
-#: src/view/shell/Drawer.tsx:256
+#: src/view/shell/Drawer.tsx:265
msgid "Terms of Service"
msgstr "서비스 이용약관"
@@ -4143,28 +4386,32 @@ msgstr "서비스 이용약관"
msgid "Terms used violate community standards"
msgstr "커뮤니티 기준을 위반하는 용어 사용"
-#: src/components/dialogs/MutedWords.tsx:324
+#: src/components/dialogs/MutedWords.tsx:323
msgid "text"
msgstr "글"
-#: src/components/moderation/LabelsOnMeDialog.tsx:220
+#: src/components/moderation/LabelsOnMeDialog.tsx:219
msgid "Text input field"
msgstr "텍스트 입력 필드"
-#: src/components/ReportDialog/SubmitView.tsx:78
+#: src/components/ReportDialog/SubmitView.tsx:76
msgid "Thank you. Your report has been sent."
msgstr "감사합니다. 신고를 전송했습니다."
-#: src/view/com/auth/create/CreateAccount.tsx:94
+#: src/view/com/modals/ChangeHandle.tsx:465
+msgid "That contains the following:"
+msgstr "텍스트 파일 내용:"
+
+#: src/screens/Signup/index.tsx:85
msgid "That handle is already taken."
msgstr "이 핸들은 이미 사용 중입니다."
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:274
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:282
#: src/view/com/profile/ProfileMenu.tsx:349
msgid "The account will be able to interact with you after unblocking."
msgstr "차단을 해제하면 이 계정이 나와 상호작용할 수 있게 됩니다."
-#: src/components/moderation/ModerationDetailsDialog.tsx:128
+#: src/components/moderation/ModerationDetailsDialog.tsx:127
msgid "the author"
msgstr "작성자"
@@ -4176,19 +4423,20 @@ msgstr "커뮤니티 가이드라인을 <0/>(으)로 이동했습니다"
msgid "The Copyright Policy has been moved to <0/>"
msgstr "저작권 정책을 <0/>(으)로 이동했습니다"
-#: src/components/moderation/LabelsOnMeDialog.tsx:49
+#: src/components/moderation/LabelsOnMeDialog.tsx:48
msgid "The following labels were applied to your account."
msgstr "내 계정에 다음 라벨이 적용되었습니다."
-#: src/components/moderation/LabelsOnMeDialog.tsx:50
+#: src/components/moderation/LabelsOnMeDialog.tsx:49
msgid "The following labels were applied to your content."
msgstr "내 콘텐츠에 다음 라벨이 적용되었습니다."
-#: src/screens/Onboarding/Layout.tsx:60
+#: src/screens/Onboarding/Layout.tsx:58
msgid "The following steps will help customize your Bluesky experience."
msgstr "다음 단계는 Bluesky 환경을 맞춤 설정하는 데 도움이 됩니다."
-#: src/view/com/post-thread/PostThread.tsx:518
+#: src/view/com/post-thread/PostThread.tsx:153
+#: src/view/com/post-thread/PostThread.tsx:165
msgid "The post may have been deleted."
msgstr "게시물이 삭제되었을 수 있습니다."
@@ -4204,12 +4452,12 @@ msgstr "지원 양식을 이동했습니다. 도움이 필요하다면 <0/>하
msgid "The Terms of Service have been moved to"
msgstr "서비스 이용약관을 다음으로 이동했습니다:"
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:150
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:141
msgid "There are many feeds to try:"
msgstr "시도해 볼 만한 피드:"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:113
-#: src/view/screens/ProfileFeed.tsx:543
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:114
+#: src/view/screens/ProfileFeed.tsx:556
msgid "There was an an issue contacting the server, please check your internet connection and try again."
msgstr "서버에 연결하는 동안 문제가 발생했습니다. 인터넷 연결을 확인한 후 다시 시도하세요."
@@ -4217,15 +4465,15 @@ msgstr "서버에 연결하는 동안 문제가 발생했습니다. 인터넷
msgid "There was an an issue removing this feed. Please check your internet connection and try again."
msgstr "이 피드를 삭제하는 동안 문제가 발생했습니다. 인터넷 연결을 확인한 후 다시 시도하세요."
-#: src/view/screens/ProfileFeed.tsx:217
+#: src/view/screens/ProfileFeed.tsx:219
msgid "There was an an issue updating your feeds, please check your internet connection and try again."
msgstr "피드를 업데이트하는 동안 문제가 발생했습니다. 인터넷 연결을 확인한 후 다시 시도하세요."
-#: src/view/screens/ProfileFeed.tsx:244
-#: src/view/screens/ProfileList.tsx:275
-#: src/view/screens/SavedFeeds.tsx:209
-#: src/view/screens/SavedFeeds.tsx:231
-#: src/view/screens/SavedFeeds.tsx:252
+#: src/view/screens/ProfileFeed.tsx:247
+#: src/view/screens/ProfileList.tsx:277
+#: src/view/screens/SavedFeeds.tsx:211
+#: src/view/screens/SavedFeeds.tsx:241
+#: src/view/screens/SavedFeeds.tsx:262
msgid "There was an issue contacting the server"
msgstr "서버에 연결하는 동안 문제가 발생했습니다"
@@ -4240,7 +4488,7 @@ msgstr "서버에 연결하는 동안 문제가 발생했습니다"
msgid "There was an issue fetching notifications. Tap here to try again."
msgstr "알림을 가져오는 동안 문제가 발생했습니다. 이곳을 탭하여 다시 시도하세요."
-#: src/view/com/posts/Feed.tsx:279
+#: src/view/com/posts/Feed.tsx:287
msgid "There was an issue fetching posts. Tap here to try again."
msgstr "게시물을 가져오는 동안 문제가 발생했습니다. 이곳을 탭하여 다시 시도하세요."
@@ -4248,12 +4496,12 @@ msgstr "게시물을 가져오는 동안 문제가 발생했습니다. 이곳을
msgid "There was an issue fetching the list. Tap here to try again."
msgstr "리스트를 가져오는 동안 문제가 발생했습니다. 이곳을 탭하여 다시 시도하세요."
-#: src/view/com/feeds/ProfileFeedgens.tsx:148
-#: src/view/com/lists/ProfileLists.tsx:155
+#: src/view/com/feeds/ProfileFeedgens.tsx:156
+#: src/view/com/lists/ProfileLists.tsx:163
msgid "There was an issue fetching your lists. Tap here to try again."
msgstr "리스트를 가져오는 동안 문제가 발생했습니다. 이곳을 탭하여 다시 시도하세요."
-#: src/components/ReportDialog/SubmitView.tsx:83
+#: src/components/ReportDialog/SubmitView.tsx:81
msgid "There was an issue sending your report. Please check your internet connection."
msgstr "신고를 전송하는 동안 문제가 발생했습니다. 인터넷 연결을 확인해 주세요."
@@ -4265,11 +4513,11 @@ msgstr "설정을 서버와 동기화하는 동안 문제가 발생했습니다"
msgid "There was an issue with fetching your app passwords"
msgstr "앱 비밀번호를 가져오는 동안 문제가 발생했습니다"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:98
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:120
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:134
-#: src/view/com/post-thread/PostThreadFollowBtn.tsx:96
-#: src/view/com/post-thread/PostThreadFollowBtn.tsx:108
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:105
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:127
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:141
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:99
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:111
#: src/view/com/profile/ProfileMenu.tsx:106
#: src/view/com/profile/ProfileMenu.tsx:117
#: src/view/com/profile/ProfileMenu.tsx:132
@@ -4279,10 +4527,10 @@ msgstr "앱 비밀번호를 가져오는 동안 문제가 발생했습니다"
msgid "There was an issue! {0}"
msgstr "문제가 발생했습니다! {0}"
-#: src/view/screens/ProfileList.tsx:288
-#: src/view/screens/ProfileList.tsx:302
-#: src/view/screens/ProfileList.tsx:316
-#: src/view/screens/ProfileList.tsx:330
+#: src/view/screens/ProfileList.tsx:290
+#: src/view/screens/ProfileList.tsx:304
+#: src/view/screens/ProfileList.tsx:318
+#: src/view/screens/ProfileList.tsx:332
msgid "There was an issue. Please check your internet connection and try again."
msgstr "문제가 발생했습니다. 인터넷 연결을 확인한 후 다시 시도하세요."
@@ -4294,7 +4542,7 @@ msgstr "애플리케이션에 예기치 않은 문제가 발생했습니다. 이
msgid "There's been a rush of new users to Bluesky! We'll activate your account as soon as we can."
msgstr "Bluesky에 신규 사용자가 몰리고 있습니다! 최대한 빨리 계정을 활성화해 드리겠습니다."
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:138
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:146
msgid "These are popular accounts you might like:"
msgstr "내가 좋아할 만한 인기 계정입니다:"
@@ -4306,23 +4554,23 @@ msgstr "이 {screenDescription}에 다음 플래그가 지정되었습니다:"
msgid "This account has requested that users sign in to view their profile."
msgstr "이 계정의 프로필을 보려면 로그인해야 합니다."
-#: src/components/moderation/LabelsOnMeDialog.tsx:205
+#: src/components/moderation/LabelsOnMeDialog.tsx:204
msgid "This appeal will be sent to <0>{0}0>."
msgstr "이 이의신청은 <0>{0}0>에게 보내집니다."
#: src/lib/moderation/useGlobalLabelStrings.ts:19
msgid "This content has been hidden by the moderators."
-msgstr "이 콘텐츠는 관리자에 의해 숨겨졌습니다."
+msgstr "이 콘텐츠는 검토자에 의해 숨겨졌습니다."
#: src/lib/moderation/useGlobalLabelStrings.ts:24
msgid "This content has received a general warning from moderators."
-msgstr "이 콘텐츠는 관리자로부터 일반 경고를 받았습니다."
+msgstr "이 콘텐츠는 검토자로부터 일반 경고를 받았습니다."
-#: src/view/com/modals/EmbedConsent.tsx:68
+#: src/components/dialogs/EmbedConsent.tsx:64
msgid "This content is hosted by {0}. Do you want to enable external media?"
msgstr "이 콘텐츠는 {0}에서 호스팅됩니다. 외부 미디어를 사용하시겠습니까?"
-#: src/components/moderation/ModerationDetailsDialog.tsx:78
+#: src/components/moderation/ModerationDetailsDialog.tsx:77
#: src/lib/moderation/useModerationCauseDescription.ts:77
msgid "This content is not available because one of the users involved has blocked the other."
msgstr "관련 사용자 중 한 명이 다른 사용자를 차단했기 때문에 이 콘텐츠를 사용할 수 없습니다."
@@ -4332,16 +4580,16 @@ msgid "This content is not viewable without a Bluesky account."
msgstr "이 콘텐츠는 Bluesky 계정이 없으면 볼 수 없습니다."
#: src/view/screens/Settings/ExportCarDialog.tsx:75
-msgid "This feature is in beta. You can read more about repository exports in <0>this blogpost.0>"
+msgid "This feature is in beta. You can read more about repository exports in <0>this blogpost0>."
msgstr "이 기능은 베타 버전입니다. 저장소 내보내기에 대한 자세한 내용은 <0>이 블로그 글0>에서 확인할 수 있습니다."
#: src/view/com/posts/FeedErrorMessage.tsx:114
msgid "This feed is currently receiving high traffic and is temporarily unavailable. Please try again later."
msgstr "이 피드는 현재 트래픽이 많아 일시적으로 사용할 수 없습니다. 나중에 다시 시도해 주세요."
-#: src/screens/Profile/Sections/Feed.tsx:50
-#: src/view/screens/ProfileFeed.tsx:476
-#: src/view/screens/ProfileList.tsx:675
+#: src/screens/Profile/Sections/Feed.tsx:59
+#: src/view/screens/ProfileFeed.tsx:488
+#: src/view/screens/ProfileList.tsx:677
msgid "This feed is empty!"
msgstr "이 피드는 비어 있습니다."
@@ -4349,7 +4597,7 @@ msgstr "이 피드는 비어 있습니다."
msgid "This feed is empty! You may need to follow more users or tune your language settings."
msgstr "이 피드는 비어 있습니다. 더 많은 사용자를 팔로우하거나 언어 설정을 조정해 보세요."
-#: src/components/dialogs/BirthDateSettings.tsx:89
+#: src/components/dialogs/BirthDateSettings.tsx:41
msgid "This information is not shared with other users."
msgstr "이 정보는 다른 사용자와 공유되지 않습니다."
@@ -4357,19 +4605,19 @@ msgstr "이 정보는 다른 사용자와 공유되지 않습니다."
msgid "This is important in case you ever need to change your email or reset your password."
msgstr "이는 이메일을 변경하거나 비밀번호를 재설정해야 할 때 중요한 정보입니다."
-#: src/components/moderation/ModerationDetailsDialog.tsx:125
+#: src/components/moderation/ModerationDetailsDialog.tsx:124
msgid "This label was applied by {0}."
msgstr "이 라벨은 {0}이(가) 적용했습니다."
-#: src/screens/Profile/Sections/Labels.tsx:186
+#: src/screens/Profile/Sections/Labels.tsx:178
msgid "This labeler hasn't declared what labels it publishes, and may not be active."
msgstr "이 라벨러는 라벨을 게시하지 않았으며 활성화되어 있지 않을 수 있습니다."
-#: src/view/com/modals/LinkWarning.tsx:58
+#: src/view/com/modals/LinkWarning.tsx:72
msgid "This link is taking you to the following website:"
msgstr "이 링크를 클릭하면 다음 웹사이트로 이동합니다:"
-#: src/view/screens/ProfileList.tsx:853
+#: src/view/screens/ProfileList.tsx:855
msgid "This list is empty!"
msgstr "이 리스트는 비어 있습니다."
@@ -4377,7 +4625,7 @@ msgstr "이 리스트는 비어 있습니다."
msgid "This moderation service is unavailable. See below for more details. If this issue persists, contact us."
msgstr "이 검토 서비스는 사용할 수 없습니다. 자세한 내용은 아래를 참조하세요. 이 문제가 지속되면 문의해 주세요."
-#: src/view/com/modals/AddAppPasswords.tsx:106
+#: src/view/com/modals/AddAppPasswords.tsx:107
msgid "This name is already in use"
msgstr "이 이름은 이미 사용 중입니다"
@@ -4385,11 +4633,12 @@ msgstr "이 이름은 이미 사용 중입니다"
msgid "This post has been deleted."
msgstr "이 게시물은 삭제되었습니다."
-#: src/view/com/util/forms/PostDropdownBtn.tsx:344
+#: src/view/com/util/forms/PostDropdownBtn.tsx:366
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:250
msgid "This post is only visible to logged-in users. It won't be visible to people who aren't logged in."
msgstr "이 게시물은 로그인한 사용자에게만 표시됩니다. 로그인하지 않은 사용자에게는 표시되지 않습니다."
-#: src/view/com/util/forms/PostDropdownBtn.tsx:326
+#: src/view/com/util/forms/PostDropdownBtn.tsx:348
msgid "This post will be hidden from feeds."
msgstr "이 게시물을 피드에서 숨깁니다."
@@ -4397,7 +4646,19 @@ msgstr "이 게시물을 피드에서 숨깁니다."
msgid "This profile is only visible to logged-in users. It won't be visible to people who aren't logged in."
msgstr "이 프로필은 로그인한 사용자에게만 표시됩니다. 로그인하지 않은 사용자에게는 표시되지 않습니다."
-#: src/components/moderation/ModerationDetailsDialog.tsx:73
+#: src/screens/Signup/StepInfo/Policies.tsx:37
+msgid "This service has not provided terms of service or a privacy policy."
+msgstr "이 서비스는 서비스 이용약관이나 개인정보 처리방침을 제공하지 않습니다."
+
+#: src/view/com/modals/ChangeHandle.tsx:445
+msgid "This should create a domain record at:"
+msgstr "이 도메인에 레코드가 추가됩니다:"
+
+#: src/view/com/profile/ProfileFollowers.tsx:87
+msgid "This user doesn't have any followers."
+msgstr "이 사용자는 팔로워가 없습니다."
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:72
#: src/lib/moderation/useModerationCauseDescription.ts:68
msgid "This user has blocked you. You cannot view their content."
msgstr "이 사용자는 나를 차단했습니다. 이 사용자의 콘텐츠를 볼 수 없습니다."
@@ -4406,24 +4667,32 @@ msgstr "이 사용자는 나를 차단했습니다. 이 사용자의 콘텐츠
msgid "This user has requested that their content only be shown to signed-in users."
msgstr "이 사용자는 자신의 콘텐츠가 로그인한 사용자에게만 표시되도록 요청했습니다."
-#: src/components/moderation/ModerationDetailsDialog.tsx:56
+#: src/components/moderation/ModerationDetailsDialog.tsx:55
msgid "This user is included in the <0>{0}0> list which you have blocked."
msgstr "이 사용자는 내가 차단한 <0>{0}0> 리스트에 포함되어 있습니다."
-#: src/components/moderation/ModerationDetailsDialog.tsx:85
+#: src/components/moderation/ModerationDetailsDialog.tsx:84
msgid "This user is included in the <0>{0}0> list which you have muted."
msgstr "이 사용자는 내가 뮤트한 <0>{0}0> 리스트에 포함되어 있습니다."
+#: src/view/com/profile/ProfileFollows.tsx:87
+msgid "This user isn't following anyone."
+msgstr "이 사용자는 아무도 팔로우하지 않았습니다."
+
#: src/view/com/modals/SelfLabel.tsx:137
msgid "This warning is only available for posts with media attached."
msgstr "이 경고는 미디어가 첨부된 게시물에만 사용할 수 있습니다."
-#: src/components/dialogs/MutedWords.tsx:284
+#: src/components/dialogs/MutedWords.tsx:283
msgid "This will delete {0} from your muted words. You can always add it back later."
msgstr "뮤트한 단어에서 {0}이(가) 삭제됩니다. 나중에 언제든지 다시 추가할 수 있습니다."
+#: src/view/screens/Settings/index.tsx:525
+msgid "Thread preferences"
+msgstr "스레드 설정"
+
#: src/view/screens/PreferencesThreads.tsx:53
-#: src/view/screens/Settings/index.tsx:583
+#: src/view/screens/Settings/index.tsx:535
msgid "Thread Preferences"
msgstr "스레드 설정"
@@ -4435,7 +4704,11 @@ msgstr "스레드 모드"
msgid "Threads Preferences"
msgstr "스레드 설정"
-#: src/components/dialogs/MutedWords.tsx:113
+#: src/components/ReportDialog/SelectLabelerView.tsx:33
+msgid "To whom would you like to send this report?"
+msgstr "이 신고를 누구에게 보내시겠습니까?"
+
+#: src/components/dialogs/MutedWords.tsx:112
msgid "Toggle between muted word options."
msgstr "뮤트한 단어 옵션 사이를 전환합니다."
@@ -4443,18 +4716,22 @@ msgstr "뮤트한 단어 옵션 사이를 전환합니다."
msgid "Toggle dropdown"
msgstr "드롭다운 열기 및 닫기"
-#: src/screens/Moderation/index.tsx:338
+#: src/screens/Moderation/index.tsx:332
msgid "Toggle to enable or disable adult content"
msgstr "성인 콘텐츠 활성화 또는 비활성화 전환"
-#: src/view/com/modals/EditImage.tsx:271
+#: src/view/screens/Search/Search.tsx:427
+msgid "Top"
+msgstr "인기"
+
+#: src/view/com/modals/EditImage.tsx:272
msgid "Transformations"
msgstr "변형"
-#: src/view/com/post-thread/PostThreadItem.tsx:646
-#: src/view/com/post-thread/PostThreadItem.tsx:648
-#: src/view/com/util/forms/PostDropdownBtn.tsx:212
-#: src/view/com/util/forms/PostDropdownBtn.tsx:214
+#: src/view/com/post-thread/PostThreadItem.tsx:638
+#: src/view/com/post-thread/PostThreadItem.tsx:640
+#: src/view/com/util/forms/PostDropdownBtn.tsx:220
+#: src/view/com/util/forms/PostDropdownBtn.tsx:222
msgid "Translate"
msgstr "번역"
@@ -4463,30 +4740,35 @@ msgctxt "action"
msgid "Try again"
msgstr "다시 시도"
-#: src/view/screens/ProfileList.tsx:478
+#: src/view/com/modals/ChangeHandle.tsx:428
+msgid "Type:"
+msgstr "유형:"
+
+#: src/view/screens/ProfileList.tsx:480
msgid "Un-block list"
msgstr "리스트 차단 해제"
-#: src/view/screens/ProfileList.tsx:461
+#: src/view/screens/ProfileList.tsx:463
msgid "Un-mute list"
msgstr "리스트 언뮤트"
-#: src/view/com/auth/create/CreateAccount.tsx:58
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:87
-#: src/view/com/auth/login/Login.tsx:76
-#: src/view/com/auth/login/LoginForm.tsx:118
+#: src/screens/Login/ForgotPasswordForm.tsx:74
+#: src/screens/Login/index.tsx:78
+#: src/screens/Login/LoginForm.tsx:119
+#: src/screens/Login/SetNewPasswordForm.tsx:77
+#: src/screens/Signup/index.tsx:64
#: src/view/com/modals/ChangePassword.tsx:70
msgid "Unable to contact your service. Please check your Internet connection."
msgstr "서비스에 연결할 수 없습니다. 인터넷 연결을 확인하세요."
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:174
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:278
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:181
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:286
#: src/view/com/profile/ProfileMenu.tsx:361
-#: src/view/screens/ProfileList.tsx:572
+#: src/view/screens/ProfileList.tsx:574
msgid "Unblock"
msgstr "차단 해제"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:179
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:186
msgctxt "action"
msgid "Unblock"
msgstr "차단 해제"
@@ -4496,24 +4778,29 @@ msgstr "차단 해제"
msgid "Unblock Account"
msgstr "계정 차단 해제"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:272
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:280
#: src/view/com/profile/ProfileMenu.tsx:343
msgid "Unblock Account?"
msgstr "계정을 차단 해제하시겠습니까?"
-#: src/view/com/modals/Repost.tsx:42
-#: src/view/com/modals/Repost.tsx:55
+#: src/view/com/modals/Repost.tsx:43
+#: src/view/com/modals/Repost.tsx:56
#: src/view/com/util/post-ctrls/RepostButton.tsx:60
#: src/view/com/util/post-ctrls/RepostButton.web.tsx:48
msgid "Undo repost"
msgstr "재게시 취소"
+#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:141
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:248
+msgid "Unfollow"
+msgstr "언팔로우"
+
#: src/view/com/profile/FollowButton.tsx:60
msgctxt "action"
msgid "Unfollow"
msgstr "언팔로우"
-#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:213
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:220
msgid "Unfollow {0}"
msgstr "{0} 님을 언팔로우"
@@ -4522,20 +4809,16 @@ msgstr "{0} 님을 언팔로우"
msgid "Unfollow Account"
msgstr "계정 언팔로우"
-#: src/view/com/auth/create/state.ts:262
-msgid "Unfortunately, you do not meet the requirements to create an account."
-msgstr "아쉽지만 계정을 만들 수 있는 요건을 충족하지 못했습니다."
-
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:185
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:197
msgid "Unlike"
msgstr "좋아요 취소"
-#: src/view/screens/ProfileFeed.tsx:572
+#: src/view/screens/ProfileFeed.tsx:585
msgid "Unlike this feed"
msgstr "이 피드 좋아요 취소"
#: src/components/TagMenu/index.tsx:249
-#: src/view/screens/ProfileList.tsx:579
+#: src/view/screens/ProfileList.tsx:581
msgid "Unmute"
msgstr "언뮤트"
@@ -4552,29 +4835,29 @@ msgstr "계정 언뮤트"
msgid "Unmute all {displayTag} posts"
msgstr "모든 {tag} 게시물 언뮤트"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:251
-#: src/view/com/util/forms/PostDropdownBtn.tsx:256
+#: src/view/com/util/forms/PostDropdownBtn.tsx:269
+#: src/view/com/util/forms/PostDropdownBtn.tsx:274
msgid "Unmute thread"
msgstr "스레드 언뮤트"
-#: src/view/screens/ProfileFeed.tsx:294
-#: src/view/screens/ProfileList.tsx:563
+#: src/view/screens/ProfileFeed.tsx:306
+#: src/view/screens/ProfileList.tsx:565
msgid "Unpin"
msgstr "고정 해제"
-#: src/view/screens/ProfileFeed.tsx:291
+#: src/view/screens/ProfileFeed.tsx:303
msgid "Unpin from home"
msgstr "홈에서 고정 해제"
-#: src/view/screens/ProfileList.tsx:444
+#: src/view/screens/ProfileList.tsx:446
msgid "Unpin moderation list"
msgstr "검토 리스트 고정 해제"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:220
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:225
msgid "Unsubscribe"
msgstr "구독 취소"
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:184
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:190
msgid "Unsubscribe from this labeler"
msgstr "이 라벨러 구독 취소하기"
@@ -4586,38 +4869,50 @@ msgstr "원치 않는 성적 콘텐츠"
msgid "Update {displayName} in Lists"
msgstr "리스트에서 {displayName} 업데이트"
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:204
+#: src/view/com/modals/ChangeHandle.tsx:508
+msgid "Update to {handle}"
+msgstr "{handle}로 변경"
+
+#: src/screens/Login/SetNewPasswordForm.tsx:186
msgid "Updating..."
msgstr "업데이트 중…"
-#: src/view/com/modals/ChangeHandle.tsx:455
+#: src/view/com/modals/ChangeHandle.tsx:454
msgid "Upload a text file to:"
msgstr "텍스트 파일 업로드 경로:"
-#: src/view/com/util/UserAvatar.tsx:319
-#: src/view/com/util/UserAvatar.tsx:322
-#: src/view/com/util/UserBanner.tsx:113
+#: src/view/com/util/UserAvatar.tsx:328
+#: src/view/com/util/UserAvatar.tsx:331
#: src/view/com/util/UserBanner.tsx:116
+#: src/view/com/util/UserBanner.tsx:119
msgid "Upload from Camera"
msgstr "카메라에서 업로드"
-#: src/view/com/util/UserAvatar.tsx:336
-#: src/view/com/util/UserBanner.tsx:130
+#: src/view/com/util/UserAvatar.tsx:345
+#: src/view/com/util/UserBanner.tsx:133
msgid "Upload from Files"
msgstr "파일에서 업로드"
-#: src/view/com/util/UserAvatar.tsx:330
-#: src/view/com/util/UserAvatar.tsx:334
-#: src/view/com/util/UserBanner.tsx:124
-#: src/view/com/util/UserBanner.tsx:128
+#: src/view/com/util/UserAvatar.tsx:339
+#: src/view/com/util/UserAvatar.tsx:343
+#: src/view/com/util/UserBanner.tsx:127
+#: src/view/com/util/UserBanner.tsx:131
msgid "Upload from Library"
msgstr "라이브러리에서 업로드"
+#: src/view/com/modals/ChangeHandle.tsx:408
+msgid "Use a file on your server"
+msgstr "서버에 있는 파일을 사용합니다"
+
#: src/view/screens/AppPasswords.tsx:197
msgid "Use app passwords to login to other Bluesky clients without giving full access to your account or password."
msgstr "앱 비밀번호를 사용하면 계정이나 비밀번호에 대한 전체 접근 권한을 제공하지 않고도 다른 Bluesky 클라이언트에 로그인할 수 있습니다."
-#: src/view/com/modals/ChangeHandle.tsx:515
+#: src/view/com/modals/ChangeHandle.tsx:517
+msgid "Use bsky.social as hosting provider"
+msgstr "호스팅 제공자로 bsky.social을 사용합니다"
+
+#: src/view/com/modals/ChangeHandle.tsx:516
msgid "Use default provider"
msgstr "기본 제공자 사용"
@@ -4631,15 +4926,19 @@ msgstr "인앱 브라우저 사용"
msgid "Use my default browser"
msgstr "내 기본 브라우저 사용"
-#: src/view/com/modals/AddAppPasswords.tsx:155
+#: src/view/com/modals/ChangeHandle.tsx:400
+msgid "Use the DNS panel"
+msgstr "DNS 패널을 사용합니다"
+
+#: src/view/com/modals/AddAppPasswords.tsx:156
msgid "Use this to sign into the other app along with your handle."
msgstr "이 비밀번호와 핸들을 사용하여 다른 앱에 로그인하세요."
-#: src/view/com/modals/InviteCodes.tsx:200
+#: src/view/com/modals/InviteCodes.tsx:201
msgid "Used by:"
msgstr "사용 계정:"
-#: src/components/moderation/ModerationDetailsDialog.tsx:65
+#: src/components/moderation/ModerationDetailsDialog.tsx:64
#: src/lib/moderation/useModerationCauseDescription.ts:56
msgid "User Blocked"
msgstr "사용자 차단됨"
@@ -4648,7 +4947,7 @@ msgstr "사용자 차단됨"
msgid "User Blocked by \"{0}\""
msgstr " \"{0}\"에서 차단된 사용자"
-#: src/components/moderation/ModerationDetailsDialog.tsx:54
+#: src/components/moderation/ModerationDetailsDialog.tsx:53
msgid "User Blocked by List"
msgstr "리스트로 사용자 차단됨"
@@ -4656,34 +4955,30 @@ msgstr "리스트로 사용자 차단됨"
msgid "User Blocking You"
msgstr "나를 차단한 사용자"
-#: src/components/moderation/ModerationDetailsDialog.tsx:71
+#: src/components/moderation/ModerationDetailsDialog.tsx:70
msgid "User Blocks You"
msgstr "나를 차단한 사용자"
-#: src/view/com/auth/create/Step2.tsx:79
-msgid "User handle"
-msgstr "사용자 핸들"
-
#: src/view/com/lists/ListCard.tsx:85
#: src/view/com/modals/UserAddRemoveLists.tsx:198
msgid "User list by {0}"
msgstr "{0} 님의 사용자 리스트"
-#: src/view/screens/ProfileList.tsx:777
+#: src/view/screens/ProfileList.tsx:779
msgid "User list by <0/>"
msgstr "<0/> 님의 사용자 리스트"
#: src/view/com/lists/ListCard.tsx:83
#: src/view/com/modals/UserAddRemoveLists.tsx:196
-#: src/view/screens/ProfileList.tsx:775
+#: src/view/screens/ProfileList.tsx:777
msgid "User list by you"
msgstr "내 사용자 리스트"
-#: src/view/com/modals/CreateOrEditList.tsx:196
+#: src/view/com/modals/CreateOrEditList.tsx:197
msgid "User list created"
msgstr "사용자 리스트 생성됨"
-#: src/view/com/modals/CreateOrEditList.tsx:182
+#: src/view/com/modals/CreateOrEditList.tsx:183
msgid "User list updated"
msgstr "사용자 리스트 업데이트됨"
@@ -4691,12 +4986,13 @@ msgstr "사용자 리스트 업데이트됨"
msgid "User Lists"
msgstr "사용자 리스트"
-#: src/view/com/auth/login/LoginForm.tsx:177
-#: src/view/com/auth/login/LoginForm.tsx:195
+#: src/screens/Login/LoginForm.tsx:151
msgid "Username or email address"
msgstr "사용자 이름 또는 이메일 주소"
-#: src/view/screens/ProfileList.tsx:811
+#: src/view/screens/ProfileList.tsx:813
+#: src/view/screens/Search/Search.tsx:473
+#: src/view/screens/Search/Search.tsx:482
msgid "Users"
msgstr "사용자"
@@ -4712,15 +5008,23 @@ msgstr "\"{0}\"에 있는 사용자"
msgid "Users that have liked this content or profile"
msgstr "이 콘텐츠 또는 프로필을 좋아하는 사용자"
-#: src/view/screens/Settings/index.tsx:938
+#: src/view/com/modals/ChangeHandle.tsx:436
+msgid "Value:"
+msgstr "값:"
+
+#: src/view/com/modals/ChangeHandle.tsx:509
+msgid "Verify {0}"
+msgstr "{0} 확인"
+
+#: src/view/screens/Settings/index.tsx:906
msgid "Verify email"
msgstr "이메일 인증"
-#: src/view/screens/Settings/index.tsx:963
+#: src/view/screens/Settings/index.tsx:931
msgid "Verify my email"
msgstr "내 이메일 인증하기"
-#: src/view/screens/Settings/index.tsx:972
+#: src/view/screens/Settings/index.tsx:940
msgid "Verify My Email"
msgstr "내 이메일 인증하기"
@@ -4733,11 +5037,15 @@ msgstr "새 이메일 인증"
msgid "Verify Your Email"
msgstr "이메일 인증하기"
+#: src/view/screens/Settings/index.tsx:857
+msgid "Version {0}"
+msgstr "버전 {0}"
+
#: src/screens/Onboarding/index.tsx:42
msgid "Video Games"
msgstr "비디오 게임"
-#: src/screens/Profile/Header/Shell.tsx:110
+#: src/screens/Profile/Header/Shell.tsx:107
msgid "View {0}'s avatar"
msgstr "{0} 님의 아바타를 봅니다"
@@ -4761,6 +5069,8 @@ msgstr "전체 스레드 보기"
msgid "View information about these labels"
msgstr "이 라벨에 대한 정보 보기"
+#: src/components/ProfileHoverCard/index.web.tsx:264
+#: src/components/ProfileHoverCard/index.web.tsx:293
#: src/view/com/posts/FeedErrorMessage.tsx:166
msgid "View profile"
msgstr "프로필 보기"
@@ -4773,15 +5083,16 @@ msgstr "아바타 보기"
msgid "View the labeling service provided by @{0}"
msgstr "{0} 님이 제공하는 라벨링 서비스 보기"
-#: src/view/screens/ProfileFeed.tsx:584
+#: src/view/screens/ProfileFeed.tsx:597
msgid "View users who like this feed"
msgstr "이 피드를 좋아하는 사용자 보기"
-#: src/view/com/modals/LinkWarning.tsx:75
+#: src/view/com/modals/LinkWarning.tsx:89
+#: src/view/com/modals/LinkWarning.tsx:95
msgid "Visit Site"
msgstr "사이트 방문"
-#: src/components/moderation/GlobalModerationLabelPref.tsx:44
+#: src/components/moderation/LabelPreference.tsx:135
#: src/lib/moderation/useLabelBehaviorDescription.ts:17
#: src/lib/moderation/useLabelBehaviorDescription.ts:22
#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:53
@@ -4796,11 +5107,7 @@ msgstr "콘텐츠 경고"
msgid "Warn content and filter from feeds"
msgstr "콘텐츠 경고 및 피드에서 필터링"
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:134
-msgid "We also think you'll like \"For You\" by Skygaze:"
-msgstr "Skygaze의 \"For You\"를 사용해 볼 수도 있습니다:"
-
-#: src/screens/Hashtag.tsx:132
+#: src/screens/Hashtag.tsx:133
msgid "We couldn't find any results for that hashtag."
msgstr "해당 해시태그에 대한 결과를 찾을 수 없습니다."
@@ -4808,7 +5115,7 @@ msgstr "해당 해시태그에 대한 결과를 찾을 수 없습니다."
msgid "We estimate {estimatedTime} until your account is ready."
msgstr "계정이 준비될 때까지 {estimatedTime}이(가) 걸릴 것으로 예상됩니다."
-#: src/screens/Onboarding/StepFinished.tsx:93
+#: src/screens/Onboarding/StepFinished.tsx:97
msgid "We hope you have a wonderful time. Remember, Bluesky is:"
msgstr "즐거운 시간 되시기 바랍니다. Bluesky의 다음 특징을 기억하세요:"
@@ -4816,19 +5123,23 @@ msgstr "즐거운 시간 되시기 바랍니다. Bluesky의 다음 특징을 기
msgid "We ran out of posts from your follows. Here's the latest from <0/>."
msgstr "팔로우한 사용자의 게시물이 부족합니다. 대신 <0/>의 최신 게시물을 표시합니다."
-#: src/components/dialogs/MutedWords.tsx:204
+#: src/components/dialogs/MutedWords.tsx:203
msgid "We recommend avoiding common words that appear in many posts, since it can result in no posts being shown."
msgstr "게시물이 표시되지 않을 수 있으므로 많은 게시물에 자주 등장하는 단어는 피하는 것이 좋습니다."
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:124
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:125
msgid "We recommend our \"Discover\" feed:"
msgstr "\"Discover\" 피드를 권장합니다:"
-#: src/screens/Moderation/index.tsx:391
+#: src/components/dialogs/BirthDateSettings.tsx:52
+msgid "We were unable to load your birth date preferences. Please try again."
+msgstr "생년월일 설정을 불러올 수 없습니다. 다시 시도해 주세요."
+
+#: src/screens/Moderation/index.tsx:385
msgid "We were unable to load your configured labelers at this time."
msgstr "현재 구성된 라벨러를 불러올 수 없습니다."
-#: src/screens/Onboarding/StepInterests/index.tsx:133
+#: src/screens/Onboarding/StepInterests/index.tsx:137
msgid "We weren't able to connect. Please try again to continue setting up your account. If it continues to fail, you can skip this flow."
msgstr "연결하지 못했습니다. 계정 설정을 계속하려면 다시 시도해 주세요. 계속 실패하면 이 과정을 건너뛸 수 있습니다."
@@ -4836,45 +5147,46 @@ msgstr "연결하지 못했습니다. 계정 설정을 계속하려면 다시
msgid "We will let you know when your account is ready."
msgstr "계정이 준비되면 알려드리겠습니다."
-#: src/screens/Onboarding/StepInterests/index.tsx:138
+#: src/screens/Onboarding/StepInterests/index.tsx:142
msgid "We'll use this to help customize your experience."
msgstr "이를 통해 사용자 환경을 맞춤 설정할 수 있습니다."
-#: src/view/com/auth/create/CreateAccount.tsx:134
+#: src/screens/Signup/index.tsx:131
msgid "We're so excited to have you join us!"
msgstr "함께하게 되어 정말 기뻐요!"
-#: src/view/screens/ProfileList.tsx:89
+#: src/view/screens/ProfileList.tsx:90
msgid "We're sorry, but we were unable to resolve this list. If this persists, please contact the list creator, @{handleOrDid}."
msgstr "죄송하지만 이 리스트를 불러올 수 없습니다. 이 문제가 계속되면 리스트 작성자인 @{handleOrDid}에게 문의하세요."
-#: src/components/dialogs/MutedWords.tsx:230
+#: src/components/dialogs/MutedWords.tsx:229
msgid "We're sorry, but we weren't able to load your muted words at this time. Please try again."
msgstr "죄송하지만 현재 뮤트한 단어를 불러올 수 없습니다. 다시 시도해 주세요."
-#: src/view/screens/Search/Search.tsx:254
+#: src/view/screens/Search/Search.tsx:322
msgid "We're sorry, but your search could not be completed. Please try again in a few minutes."
msgstr "죄송하지만 검색을 완료할 수 없습니다. 몇 분 후에 다시 시도해 주세요."
-#: src/components/Lists.tsx:210
+#: src/components/Lists.tsx:188
#: src/view/screens/NotFound.tsx:48
msgid "We're sorry! We can't find the page you were looking for."
msgstr "죄송합니다. 페이지를 찾을 수 없습니다."
-#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:319
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:327
msgid "We're sorry! You can only subscribe to ten labelers, and you've reached your limit of ten."
msgstr "죄송합니다. 라벨러는 10개까지만 구독할 수 있으며 10개에 도달했습니다."
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:46
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:48
msgid "Welcome to <0>Bluesky0>"
msgstr "<0>Bluesky0>에 오신 것을 환영합니다"
-#: src/screens/Onboarding/StepInterests/index.tsx:130
+#: src/screens/Onboarding/StepInterests/index.tsx:134
msgid "What are your interests?"
msgstr "어떤 관심사가 있으신가요?"
-#: src/view/com/auth/SplashScreen.tsx:59
-#: src/view/com/composer/Composer.tsx:295
+#: src/view/com/auth/SplashScreen.tsx:40
+#: src/view/com/auth/SplashScreen.web.tsx:81
+#: src/view/com/composer/Composer.tsx:296
msgid "What's up?"
msgstr "무슨 일이 일어나고 있나요?"
@@ -4891,10 +5203,6 @@ msgstr "알고리즘 피드에 어떤 언어를 표시하시겠습니까?"
msgid "Who can reply"
msgstr "답글을 달 수 있는 사람"
-#: src/components/ReportDialog/SelectLabelerView.tsx:33
-msgid "Who do you want to send this report to?"
-msgstr "이 신고를 누구에게 보내시겠습니까?"
-
#: src/components/ReportDialog/SelectReportOptionView.tsx:43
msgid "Why should this content be reviewed?"
msgstr "이 콘텐츠를 검토해야 하는 이유는 무엇인가요?"
@@ -4915,16 +5223,16 @@ msgstr "이 게시물을 검토해야 하는 이유는 무엇인가요?"
msgid "Why should this user be reviewed?"
msgstr "이 사용자를 검토해야 하는 이유는 무엇인가요?"
-#: src/view/com/modals/crop-image/CropImage.web.tsx:102
+#: src/view/com/modals/crop-image/CropImage.web.tsx:103
msgid "Wide"
msgstr "가로"
-#: src/view/com/composer/Composer.tsx:431
+#: src/view/com/composer/Composer.tsx:436
msgid "Write post"
msgstr "게시물 작성"
-#: src/view/com/composer/Composer.tsx:294
-#: src/view/com/composer/Prompt.tsx:33
+#: src/view/com/composer/Composer.tsx:295
+#: src/view/com/composer/Prompt.tsx:37
msgid "Write your reply"
msgstr "답글 작성하기"
@@ -4946,48 +5254,56 @@ msgstr "예"
msgid "You are in line."
msgstr "대기 중입니다."
+#: src/view/com/profile/ProfileFollows.tsx:86
+msgid "You are not following anyone."
+msgstr "아무도 팔로우하지 않았습니다."
+
#: src/view/com/posts/FollowingEmptyState.tsx:67
#: src/view/com/posts/FollowingEndOfFeed.tsx:68
msgid "You can also discover new Custom Feeds to follow."
msgstr "팔로우할 새로운 맞춤 피드를 찾을 수도 있습니다."
-#: src/screens/Onboarding/StepFollowingFeed.tsx:142
+#: src/screens/Onboarding/StepFollowingFeed.tsx:143
msgid "You can change these settings later."
msgstr "이 설정은 나중에 변경할 수 있습니다."
-#: src/view/com/auth/login/Login.tsx:158
-#: src/view/com/auth/login/PasswordUpdatedForm.tsx:31
+#: src/screens/Login/index.tsx:158
+#: src/screens/Login/PasswordUpdatedForm.tsx:33
msgid "You can now sign in with your new password."
msgstr "이제 새 비밀번호로 로그인할 수 있습니다."
-#: src/view/com/modals/InviteCodes.tsx:66
+#: src/view/com/profile/ProfileFollowers.tsx:86
+msgid "You do not have any followers."
+msgstr "팔로워가 없습니다."
+
+#: src/view/com/modals/InviteCodes.tsx:67
msgid "You don't have any invite codes yet! We'll send you some when you've been on Bluesky for a little longer."
msgstr "아직 초대 코드가 없습니다! Bluesky를 좀 더 오래 사용하신 후에 보내드리겠습니다."
-#: src/view/screens/SavedFeeds.tsx:102
+#: src/view/screens/SavedFeeds.tsx:103
msgid "You don't have any pinned feeds."
msgstr "고정된 피드가 없습니다."
-#: src/view/screens/Feeds.tsx:452
+#: src/view/screens/Feeds.tsx:477
msgid "You don't have any saved feeds!"
msgstr "저장된 피드가 없습니다!"
-#: src/view/screens/SavedFeeds.tsx:135
+#: src/view/screens/SavedFeeds.tsx:136
msgid "You don't have any saved feeds."
msgstr "저장된 피드가 없습니다."
-#: src/view/com/post-thread/PostThread.tsx:466
+#: src/view/com/post-thread/PostThread.tsx:159
msgid "You have blocked the author or you have been blocked by the author."
msgstr "작성자를 차단했거나 작성자가 나를 차단했습니다."
-#: src/components/moderation/ModerationDetailsDialog.tsx:67
+#: src/components/moderation/ModerationDetailsDialog.tsx:66
#: src/lib/moderation/useModerationCauseDescription.ts:50
#: src/lib/moderation/useModerationCauseDescription.ts:58
msgid "You have blocked this user. You cannot view their content."
msgstr "이 사용자를 차단했습니다. 해당 사용자의 콘텐츠를 볼 수 없습니다."
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:57
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:92
+#: src/screens/Login/SetNewPasswordForm.tsx:54
+#: src/screens/Login/SetNewPasswordForm.tsx:91
#: src/view/com/modals/ChangePassword.tsx:87
#: src/view/com/modals/ChangePassword.tsx:121
msgid "You have entered an invalid code. It should look like XXXXX-XXXXX."
@@ -4997,11 +5313,11 @@ msgstr "잘못된 코드를 입력했습니다. XXXXX-XXXXX와 같은 형식이
msgid "You have hidden this post"
msgstr "내가 이 게시물을 숨겼습니다"
-#: src/components/moderation/ModerationDetailsDialog.tsx:102
+#: src/components/moderation/ModerationDetailsDialog.tsx:101
msgid "You have hidden this post."
msgstr "내가 이 게시물을 숨겼습니다."
-#: src/components/moderation/ModerationDetailsDialog.tsx:95
+#: src/components/moderation/ModerationDetailsDialog.tsx:94
#: src/lib/moderation/useModerationCauseDescription.ts:92
msgid "You have muted this account."
msgstr "내가 이 계정을 뮤트했습니다."
@@ -5010,56 +5326,60 @@ msgstr "내가 이 계정을 뮤트했습니다."
msgid "You have muted this user"
msgstr "내가 이 사용자를 뮤트했습니다"
-#: src/view/com/feeds/ProfileFeedgens.tsx:136
+#: src/view/com/feeds/ProfileFeedgens.tsx:144
msgid "You have no feeds."
msgstr "피드가 없습니다."
#: src/view/com/lists/MyLists.tsx:89
-#: src/view/com/lists/ProfileLists.tsx:140
+#: src/view/com/lists/ProfileLists.tsx:148
msgid "You have no lists."
msgstr "리스트가 없습니다."
-#: src/view/screens/ModerationBlockedAccounts.tsx:132
-msgid "You have not blocked any accounts yet. To block an account, go to their profile and selected \"Block account\" from the menu on their account."
+#: src/view/screens/ModerationBlockedAccounts.tsx:138
+msgid "You have not blocked any accounts yet. To block an account, go to their profile and select \"Block account\" from the menu on their account."
msgstr "아직 어떤 계정도 차단하지 않았습니다. 계정을 차단하려면 해당 계정의 프로필로 이동하여 계정 메뉴에서 \"계정 차단\"을 선택하세요."
#: src/view/screens/AppPasswords.tsx:89
msgid "You have not created any app passwords yet. You can create one by pressing the button below."
msgstr "아직 앱 비밀번호를 생성하지 않았습니다. 아래 버튼을 눌러 생성할 수 있습니다."
-#: src/view/screens/ModerationMutedAccounts.tsx:131
-msgid "You have not muted any accounts yet. To mute an account, go to their profile and selected \"Mute account\" from the menu on their account."
+#: src/view/screens/ModerationMutedAccounts.tsx:136
+msgid "You have not muted any accounts yet. To mute an account, go to their profile and select \"Mute account\" from the menu on their account."
msgstr "아직 어떤 계정도 뮤트하지 않았습니다. 계정을 뮤트하려면 해당 계정의 프로필로 이동하여 계정 메뉴에서 \"계정 뮤트\"를 선택하세요."
-#: src/components/dialogs/MutedWords.tsx:250
+#: src/components/dialogs/MutedWords.tsx:249
msgid "You haven't muted any words or tags yet"
msgstr "아직 어떤 단어나 태그도 뮤트하지 않았습니다"
-#: src/components/moderation/LabelsOnMeDialog.tsx:69
+#: src/components/moderation/LabelsOnMeDialog.tsx:68
msgid "You may appeal these labels if you feel they were placed in error."
msgstr "이 라벨이 잘못 지정되었다고 생각되면 이의신청할 수 있습니다."
-#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:108
+#: src/screens/Signup/StepInfo/Policies.tsx:79
+msgid "You must be 13 years of age or older to sign up."
+msgstr "가입하려면 만 13세 이상이어야 합니다."
+
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:110
msgid "You must be 18 years or older to enable adult content"
msgstr "성인 콘텐츠를 사용하려면 만 18세 이상이어야 합니다."
-#: src/components/ReportDialog/SubmitView.tsx:205
+#: src/components/ReportDialog/SubmitView.tsx:203
msgid "You must select at least one labeler for a report"
msgstr "신고하려면 하나 이상의 라벨을 선택해야 합니다."
-#: src/view/com/util/forms/PostDropdownBtn.tsx:144
+#: src/view/com/util/forms/PostDropdownBtn.tsx:150
msgid "You will no longer receive notifications for this thread"
msgstr "이 스레드에 대한 알림을 더 이상 받지 않습니다"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:147
+#: src/view/com/util/forms/PostDropdownBtn.tsx:153
msgid "You will now receive notifications for this thread"
msgstr "이제 이 스레드에 대한 알림을 받습니다"
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:107
+#: src/screens/Login/SetNewPasswordForm.tsx:104
msgid "You will receive an email with a \"reset code.\" Enter that code here, then enter your new password."
msgstr "\"재설정 코드\"가 포함된 이메일을 받게 되면 여기에 해당 코드를 입력한 다음 새 비밀번호를 입력합니다."
-#: src/screens/Onboarding/StepModeration/index.tsx:59
+#: src/screens/Onboarding/StepModeration/index.tsx:60
msgid "You're in control"
msgstr "직접 제어하세요"
@@ -5069,11 +5389,11 @@ msgstr "직접 제어하세요"
msgid "You're in line"
msgstr "대기 중입니다"
-#: src/screens/Onboarding/StepFinished.tsx:90
+#: src/screens/Onboarding/StepFinished.tsx:94
msgid "You're ready to go!"
msgstr "준비가 끝났습니다!"
-#: src/components/moderation/ModerationDetailsDialog.tsx:99
+#: src/components/moderation/ModerationDetailsDialog.tsx:98
#: src/lib/moderation/useModerationCauseDescription.ts:101
msgid "You've chosen to hide a word or tag within this post."
msgstr "이 글에서 단어 또는 태그를 숨기도록 설정했습니다."
@@ -5082,11 +5402,11 @@ msgstr "이 글에서 단어 또는 태그를 숨기도록 설정했습니다."
msgid "You've reached the end of your feed! Find some more accounts to follow."
msgstr "피드 끝에 도달했습니다! 팔로우할 계정을 더 찾아보세요."
-#: src/view/com/auth/create/Step1.tsx:67
+#: src/screens/Signup/index.tsx:151
msgid "Your account"
msgstr "내 계정"
-#: src/view/com/modals/DeleteAccount.tsx:67
+#: src/view/com/modals/DeleteAccount.tsx:68
msgid "Your account has been deleted"
msgstr "계정을 삭제했습니다"
@@ -5094,7 +5414,7 @@ msgstr "계정을 삭제했습니다"
msgid "Your account repository, containing all public data records, can be downloaded as a \"CAR\" file. This file does not include media embeds, such as images, or your private data, which must be fetched separately."
msgstr "모든 공개 데이터 레코드가 포함된 계정 저장소를 \"CAR\" 파일로 다운로드할 수 있습니다. 이 파일에는 이미지와 같은 미디어 임베드나 별도로 가져와야 하는 비공개 데이터는 포함되지 않습니다."
-#: src/view/com/auth/create/Step1.tsx:215
+#: src/screens/Signup/StepInfo/index.tsx:123
msgid "Your birth date"
msgstr "생년월일"
@@ -5102,12 +5422,12 @@ msgstr "생년월일"
msgid "Your choice will be saved, but can be changed later in settings."
msgstr "선택 사항은 저장되며 나중에 설정에서 변경할 수 있습니다."
-#: src/screens/Onboarding/StepFollowingFeed.tsx:61
+#: src/screens/Onboarding/StepFollowingFeed.tsx:62
msgid "Your default feed is \"Following\""
msgstr "기본 피드는 \"팔로우 중\"입니다"
-#: src/view/com/auth/create/state.ts:110
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:70
+#: src/screens/Login/ForgotPasswordForm.tsx:57
+#: src/screens/Signup/state.ts:227
#: src/view/com/modals/ChangePassword.tsx:54
msgid "Your email appears to be invalid."
msgstr "이메일이 잘못된 것 같습니다."
@@ -5124,41 +5444,40 @@ msgstr "이메일이 아직 인증되지 않았습니다. 이는 중요한 보
msgid "Your following feed is empty! Follow more users to see what's happening."
msgstr "팔로우 중 피드가 비어 있습니다! 더 많은 사용자를 팔로우하여 무슨 일이 일어나고 있는지 확인하세요."
-#: src/view/com/auth/create/Step2.tsx:83
+#: src/screens/Signup/StepHandle.tsx:73
msgid "Your full handle will be"
msgstr "내 전체 핸들:"
-#: src/view/com/modals/ChangeHandle.tsx:270
+#: src/view/com/modals/ChangeHandle.tsx:271
msgid "Your full handle will be <0>@{0}0>"
msgstr "내 전체 핸들: <0>@{0}0>"
-#: src/components/dialogs/MutedWords.tsx:221
+#: src/components/dialogs/MutedWords.tsx:220
msgid "Your muted words"
msgstr "뮤트한 단어"
-#: src/view/com/modals/ChangePassword.tsx:155
+#: src/view/com/modals/ChangePassword.tsx:157
msgid "Your password has been changed successfully!"
msgstr "비밀번호를 성공적으로 변경했습니다."
-#: src/view/com/composer/Composer.tsx:283
+#: src/view/com/composer/Composer.tsx:284
msgid "Your post has been published"
msgstr "게시물을 게시했습니다"
-#: src/screens/Onboarding/StepFinished.tsx:105
+#: src/screens/Onboarding/StepFinished.tsx:109
#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:59
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:59
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:61
msgid "Your posts, likes, and blocks are public. Mutes are private."
msgstr "게시물, 좋아요, 차단 목록은 공개됩니다. 뮤트 목록은 공개되지 않습니다."
-#: src/view/com/modals/SwitchAccount.tsx:84
-#: src/view/screens/Settings/index.tsx:122
+#: src/view/screens/Settings/index.tsx:136
msgid "Your profile"
msgstr "내 프로필"
-#: src/view/com/composer/Composer.tsx:282
+#: src/view/com/composer/Composer.tsx:283
msgid "Your reply has been published"
msgstr "내 답글을 게시했습니다"
-#: src/view/com/auth/create/Step2.tsx:65
+#: src/screens/Signup/index.tsx:153
msgid "Your user handle"
msgstr "내 사용자 핸들"
diff --git a/src/locale/locales/pt-BR/messages.po b/src/locale/locales/pt-BR/messages.po
index bfd794c551..e7d3b65266 100644
--- a/src/locale/locales/pt-BR/messages.po
+++ b/src/locale/locales/pt-BR/messages.po
@@ -8,7 +8,7 @@ msgstr ""
"Language: pt-BR\n"
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2024-03-12 11:36\n"
+"PO-Revision-Date: 2024-04-10 18:15\n"
"Last-Translator: gildaswise\n"
"Language-Team: maisondasilva, MightyLoggor, gildaswise, gleydson, faeriarum\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
@@ -17,11 +17,12 @@ msgstr ""
msgid "(no email)"
msgstr "(sem email)"
-#: src/view/com/profile/ProfileHeader.tsx:593
+#: src/components/ProfileHoverCard/index.web.tsx:323
+#: src/screens/Profile/Header/Metrics.tsx:44
msgid "{following} following"
msgstr "{following} seguindo"
-#: src/view/shell/Drawer.tsx:440
+#: src/view/shell/Drawer.tsx:449
msgid "{numUnreadNotifications} unread"
msgstr "{numUnreadNotifications} não lidas"
@@ -29,15 +30,24 @@ msgstr "{numUnreadNotifications} não lidas"
msgid "<0/> members"
msgstr "<0/> membros"
-#: src/view/com/profile/ProfileHeader.tsx:595
+#: src/view/shell/Drawer.tsx:97
+msgid "<0>{0}0> following"
+msgstr "<0>{0}0> seguindo"
+
+#: src/components/ProfileHoverCard/index.web.tsx:314
+msgid "<0>{followers} 0><1>{pluralizedFollowers}1>"
+msgstr ""
+
+#: src/components/ProfileHoverCard/index.web.tsx:326
+#: src/screens/Profile/Header/Metrics.tsx:45
msgid "<0>{following} 0><1>following1>"
msgstr "<0>{following} 0><1>seguindo1>"
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:30
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:31
msgid "<0>Choose your0><1>Recommended1><2>Feeds2>"
msgstr "<0>Escolha seus0><2>Feeds2><1>recomendados1>"
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:37
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:38
msgid "<0>Follow some0><1>Recommended1><2>Users2>"
msgstr "<0>Siga alguns0><2>Usuários2><1>recomendados1>"
@@ -45,51 +55,52 @@ msgstr "<0>Siga alguns0><2>Usuários2><1>recomendados1>"
msgid "<0>Welcome to0><1>Bluesky1>"
msgstr "<0>Bem-vindo ao0><1>Bluesky1>"
-#: src/view/com/profile/ProfileHeader.tsx:558
+#: src/screens/Profile/Header/Handle.tsx:43
msgid "⚠Invalid Handle"
msgstr "⚠Usuário Inválido"
-#: src/view/com/util/moderation/LabelInfo.tsx:45
-msgid "A content warning has been applied to this {0}."
-msgstr "Um aviso de conteúdo foi aplicado a este {0}."
-
-#: src/lib/hooks/useOTAUpdate.ts:16
-msgid "A new version of the app is available. Please update to continue using the app."
-msgstr "Uma nova versão do aplicativo está disponível. Por favor, atualize para continuar usando o aplicativo."
-
#: src/view/com/util/ViewHeader.tsx:89
-#: src/view/screens/Search/Search.tsx:647
+#: src/view/screens/Search/Search.tsx:796
msgid "Access navigation links and settings"
msgstr "Acessar links de navegação e configurações"
-#: src/view/com/home/HomeHeaderLayoutMobile.tsx:52
+#: src/view/com/home/HomeHeaderLayoutMobile.tsx:54
msgid "Access profile and other navigation links"
msgstr "Acessar perfil e outros links de navegação"
-#: src/view/com/modals/EditImage.tsx:299
-#: src/view/screens/Settings/index.tsx:451
+#: src/view/com/modals/EditImage.tsx:300
+#: src/view/screens/Settings/index.tsx:421
msgid "Accessibility"
msgstr "Acessibilidade"
-#: src/view/com/auth/login/LoginForm.tsx:166
-#: src/view/screens/Settings/index.tsx:308
-#: src/view/screens/Settings/index.tsx:721
+#: src/components/moderation/LabelsOnMe.tsx:42
+msgid "account"
+msgstr "conta"
+
+#: src/screens/Login/LoginForm.tsx:144
+#: src/view/screens/Settings/index.tsx:330
+#: src/view/screens/Settings/index.tsx:707
msgid "Account"
msgstr "Conta"
-#: src/view/com/profile/ProfileHeader.tsx:246
+#: src/view/com/profile/ProfileMenu.tsx:139
msgid "Account blocked"
msgstr "Conta bloqueada"
-#: src/view/com/profile/ProfileHeader.tsx:213
+#: src/view/com/profile/ProfileMenu.tsx:153
+msgid "Account followed"
+msgstr "Você está seguindo esta conta"
+
+#: src/view/com/profile/ProfileMenu.tsx:113
msgid "Account muted"
msgstr "Conta silenciada"
-#: src/view/com/modals/ModerationDetails.tsx:86
+#: src/components/moderation/ModerationDetailsDialog.tsx:93
+#: src/lib/moderation/useModerationCauseDescription.ts:91
msgid "Account Muted"
msgstr "Conta Silenciada"
-#: src/view/com/modals/ModerationDetails.tsx:72
+#: src/components/moderation/ModerationDetailsDialog.tsx:82
msgid "Account Muted by List"
msgstr "Conta Silenciada por Lista"
@@ -101,19 +112,24 @@ msgstr "Configurações da conta"
msgid "Account removed from quick access"
msgstr "Conta removida do acesso rápido"
-#: src/view/com/profile/ProfileHeader.tsx:268
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:137
+#: src/view/com/profile/ProfileMenu.tsx:128
msgid "Account unblocked"
msgstr "Conta desbloqueada"
-#: src/view/com/profile/ProfileHeader.tsx:226
+#: src/view/com/profile/ProfileMenu.tsx:166
+msgid "Account unfollowed"
+msgstr "Você não segue mais esta conta"
+
+#: src/view/com/profile/ProfileMenu.tsx:102
msgid "Account unmuted"
msgstr "Conta dessilenciada"
-#: src/components/dialogs/MutedWords.tsx:165
+#: src/components/dialogs/MutedWords.tsx:164
#: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:150
-#: src/view/com/modals/ListAddRemoveUsers.tsx:264
+#: src/view/com/modals/ListAddRemoveUsers.tsx:268
#: src/view/com/modals/UserAddRemoveLists.tsx:219
-#: src/view/screens/ProfileList.tsx:813
+#: src/view/screens/ProfileList.tsx:829
msgid "Add"
msgstr "Adicionar"
@@ -121,62 +137,54 @@ msgstr "Adicionar"
msgid "Add a content warning"
msgstr "Adicionar um aviso de conteúdo"
-#: src/view/screens/ProfileList.tsx:803
+#: src/view/screens/ProfileList.tsx:819
msgid "Add a user to this list"
msgstr "Adicionar um usuário a esta lista"
-#: src/view/screens/Settings/index.tsx:383
-#: src/view/screens/Settings/index.tsx:392
+#: src/components/dialogs/SwitchAccount.tsx:55
+#: src/view/screens/Settings/index.tsx:405
+#: src/view/screens/Settings/index.tsx:414
msgid "Add account"
msgstr "Adicionar conta"
#: src/view/com/composer/photos/Gallery.tsx:119
#: src/view/com/composer/photos/Gallery.tsx:180
-#: src/view/com/modals/AltImage.tsx:116
+#: src/view/com/modals/AltImage.tsx:117
msgid "Add alt text"
msgstr "Adicionar texto alternativo"
-#: src/view/screens/AppPasswords.tsx:102
-#: src/view/screens/AppPasswords.tsx:143
-#: src/view/screens/AppPasswords.tsx:156
+#: src/view/screens/AppPasswords.tsx:104
+#: src/view/screens/AppPasswords.tsx:145
+#: src/view/screens/AppPasswords.tsx:158
msgid "Add App Password"
msgstr "Adicionar Senha de Aplicativo"
-#: src/view/com/modals/report/InputIssueDetails.tsx:41
-#: src/view/com/modals/report/Modal.tsx:191
-msgid "Add details"
-msgstr "Adicionar detalhes"
-
-#: src/view/com/modals/report/Modal.tsx:194
-msgid "Add details to report"
-msgstr "Adicionar detalhes à denúncia"
-
-#: src/view/com/composer/Composer.tsx:453
+#: src/view/com/composer/Composer.tsx:467
msgid "Add link card"
msgstr "Adicionar prévia de link"
-#: src/view/com/composer/Composer.tsx:458
+#: src/view/com/composer/Composer.tsx:472
msgid "Add link card:"
msgstr "Adicionar prévia de link:"
-#: src/components/dialogs/MutedWords.tsx:158
+#: src/components/dialogs/MutedWords.tsx:157
msgid "Add mute word for configured settings"
msgstr "Adicionar palavra silenciada para as configurações selecionadas"
-#: src/components/dialogs/MutedWords.tsx:87
+#: src/components/dialogs/MutedWords.tsx:86
msgid "Add muted words and tags"
msgstr "Adicionar palavras/tags silenciadas"
-#: src/view/com/modals/ChangeHandle.tsx:417
+#: src/view/com/modals/ChangeHandle.tsx:416
msgid "Add the following DNS record to your domain:"
msgstr "Adicione o seguinte registro DNS ao seu domínio:"
-#: src/view/com/profile/ProfileHeader.tsx:310
+#: src/view/com/profile/ProfileMenu.tsx:263
+#: src/view/com/profile/ProfileMenu.tsx:266
msgid "Add to Lists"
msgstr "Adicionar às Listas"
-#: src/view/com/feeds/FeedSourceCard.tsx:245
-#: src/view/screens/ProfileFeed.tsx:273
+#: src/view/com/feeds/FeedSourceCard.tsx:234
msgid "Add to my feeds"
msgstr "Adicionar aos meus feeds"
@@ -189,7 +197,7 @@ msgstr "Adicionado"
msgid "Added to list"
msgstr "Adicionado à lista"
-#: src/view/com/feeds/FeedSourceCard.tsx:127
+#: src/view/com/feeds/FeedSourceCard.tsx:108
msgid "Added to my feeds"
msgstr "Adicionado aos meus feeds"
@@ -197,36 +205,39 @@ msgstr "Adicionado aos meus feeds"
msgid "Adjust the number of likes a reply must have to be shown in your feed."
msgstr "Ajuste o número de curtidas para que uma resposta apareça no seu feed."
+#: src/lib/moderation/useGlobalLabelStrings.ts:34
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:117
#: src/view/com/modals/SelfLabel.tsx:75
msgid "Adult Content"
msgstr "Conteúdo Adulto"
-#: src/view/com/modals/ContentFilteringSettings.tsx:141
-msgid "Adult content can only be enabled via the Web at <0/>."
-msgstr "Conteúdo adulto só pode ser habilitado no site: <0/>."
+#: src/components/moderation/LabelPreference.tsx:242
+msgid "Adult content is disabled."
+msgstr "O conteúdo adulto está desabilitado."
-#: src/view/screens/Settings/index.tsx:664
+#: src/screens/Moderation/index.tsx:375
+#: src/view/screens/Settings/index.tsx:635
msgid "Advanced"
msgstr "Avançado"
-#: src/view/screens/Feeds.tsx:666
+#: src/view/screens/Feeds.tsx:691
msgid "All the feeds you've saved, right in one place."
msgstr "Todos os feeds que você salvou, em um único lugar."
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:221
-#: src/view/com/modals/ChangePassword.tsx:168
+#: src/screens/Login/ForgotPasswordForm.tsx:178
+#: src/view/com/modals/ChangePassword.tsx:170
msgid "Already have a code?"
msgstr "Já tem um código?"
-#: src/view/com/auth/login/ChooseAccountForm.tsx:98
+#: src/screens/Login/ChooseAccountForm.tsx:39
msgid "Already signed in as @{0}"
-msgstr "Já logado como @{0}"
+msgstr "Já autenticado como @{0}"
#: src/view/com/composer/photos/Gallery.tsx:130
msgid "ALT"
msgstr "ALT"
-#: src/view/com/modals/EditImage.tsx:315
+#: src/view/com/modals/EditImage.tsx:316
msgid "Alt text"
msgstr "Texto alternativo"
@@ -242,12 +253,20 @@ msgstr "Um email foi enviado para {0}. Ele inclui um código de confirmação qu
msgid "An email has been sent to your previous address, {0}. It includes a confirmation code which you can enter below."
msgstr "Um email foi enviado para seu email anterior, {0}. Ele inclui um código de confirmação que você pode inserir abaixo."
-#: src/view/com/profile/FollowButton.tsx:30
-#: src/view/com/profile/FollowButton.tsx:40
+#: src/lib/moderation/useReportOptions.ts:26
+msgid "An issue not included in these options"
+msgstr "Outro problema"
+
+#: src/components/hooks/useFollowMethods.ts:35
+#: src/components/hooks/useFollowMethods.ts:50
+#: src/view/com/profile/FollowButton.tsx:35
+#: src/view/com/profile/FollowButton.tsx:45
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:188
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:198
msgid "An issue occurred, please try again."
msgstr "Ocorreu um problema, por favor tente novamente."
-#: src/view/com/notifications/FeedItem.tsx:237
+#: src/view/com/notifications/FeedItem.tsx:242
#: src/view/com/threadgate/WhoCanReply.tsx:178
msgid "and"
msgstr "e"
@@ -256,74 +275,69 @@ msgstr "e"
msgid "Animals"
msgstr "Animais"
+#: src/lib/moderation/useReportOptions.ts:31
+msgid "Anti-Social Behavior"
+msgstr "Comportamento anti-social"
+
#: src/view/screens/LanguageSettings.tsx:95
msgid "App Language"
msgstr "Idioma do aplicativo"
-#: src/view/screens/AppPasswords.tsx:228
+#: src/view/screens/AppPasswords.tsx:223
msgid "App password deleted"
msgstr "Senha de Aplicativo excluída"
-#: src/view/com/modals/AddAppPasswords.tsx:134
+#: src/view/com/modals/AddAppPasswords.tsx:135
msgid "App Password names can only contain letters, numbers, spaces, dashes, and underscores."
msgstr "O nome da Senha de Aplicativo só pode conter letras, números, traços e sublinhados."
-#: src/view/com/modals/AddAppPasswords.tsx:99
+#: src/view/com/modals/AddAppPasswords.tsx:100
msgid "App Password names must be at least 4 characters long."
msgstr "O nome da Senha de Aplicativo precisa ter no mínimo 4 caracteres."
-#: src/view/screens/Settings/index.tsx:675
+#: src/view/screens/Settings/index.tsx:646
msgid "App password settings"
msgstr "Configurações de Senha de Aplicativo"
-#: src/view/screens/Settings.tsx:650
-#~ msgid "App passwords"
-#~ msgstr "Senhas de aplicativos"
-
-#: src/Navigation.tsx:239
-#: src/view/screens/AppPasswords.tsx:187
-#: src/view/screens/Settings/index.tsx:684
+#: src/Navigation.tsx:251
+#: src/view/screens/AppPasswords.tsx:189
+#: src/view/screens/Settings/index.tsx:655
msgid "App Passwords"
msgstr "Senhas de Aplicativos"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:337
-#: src/view/com/util/forms/PostDropdownBtn.tsx:346
-msgid "Appeal content warning"
-msgstr "Contestar aviso de conteúdo"
+#: src/components/moderation/LabelsOnMeDialog.tsx:133
+#: src/components/moderation/LabelsOnMeDialog.tsx:136
+msgid "Appeal"
+msgstr "Contestar"
-#: src/view/com/modals/AppealLabel.tsx:65
-msgid "Appeal Content Warning"
-msgstr "Contestar aviso de conteúdo"
+#: src/components/moderation/LabelsOnMeDialog.tsx:201
+msgid "Appeal \"{0}\" label"
+msgstr "Contestar rótulo \"{0}\""
-#: src/view/com/util/moderation/LabelInfo.tsx:52
-msgid "Appeal this decision"
-msgstr "Contestar esta decisão"
+#: src/components/moderation/LabelsOnMeDialog.tsx:192
+msgid "Appeal submitted."
+msgstr "Contestação enviada."
-#: src/view/com/util/moderation/LabelInfo.tsx:56
-msgid "Appeal this decision."
-msgstr "Contestar esta decisão."
-
-#: src/view/screens/Settings/index.tsx:466
+#: src/view/screens/Settings/index.tsx:436
msgid "Appearance"
msgstr "Aparência"
-#: src/view/screens/AppPasswords.tsx:224
+#: src/view/screens/AppPasswords.tsx:265
msgid "Are you sure you want to delete the app password \"{name}\"?"
msgstr "Tem certeza de que deseja excluir a senha do aplicativo \"{name}\"?"
-#: src/view/com/composer/Composer.tsx:150
+#: src/view/com/feeds/FeedSourceCard.tsx:280
+msgid "Are you sure you want to remove {0} from your feeds?"
+msgstr "Tem certeza que deseja remover {0} dos seus feeds?"
+
+#: src/view/com/composer/Composer.tsx:509
msgid "Are you sure you'd like to discard this draft?"
msgstr "Tem certeza que deseja descartar este rascunho?"
-#: src/components/dialogs/MutedWords.tsx:282
-#: src/view/screens/ProfileList.tsx:365
+#: src/components/dialogs/MutedWords.tsx:281
msgid "Are you sure?"
msgstr "Tem certeza?"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:322
-msgid "Are you sure? This cannot be undone."
-msgstr "Tem certeza? Esta ação não poderá ser desfeita."
-
#: src/view/com/composer/select-language/SuggestedLanguage.tsx:60
msgid "Are you writing in <0>{0}0>?"
msgstr "Você está escrevendo em <0>{0}0>?"
@@ -336,141 +350,152 @@ msgstr "Arte"
msgid "Artistic or non-erotic nudity."
msgstr "Nudez artística ou não erótica."
-#: src/view/com/auth/create/CreateAccount.tsx:158
-#: src/view/com/auth/login/ChooseAccountForm.tsx:151
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:174
-#: src/view/com/auth/login/LoginForm.tsx:259
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:179
-#: src/view/com/modals/report/InputIssueDetails.tsx:46
-#: src/view/com/post-thread/PostThread.tsx:472
-#: src/view/com/post-thread/PostThread.tsx:522
-#: src/view/com/post-thread/PostThread.tsx:530
-#: src/view/com/profile/ProfileHeader.tsx:649
+#: src/screens/Signup/StepHandle.tsx:119
+msgid "At least 3 characters"
+msgstr "No mínimo 3 caracteres"
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:246
+#: src/components/moderation/LabelsOnMeDialog.tsx:247
+#: src/screens/Login/ChooseAccountForm.tsx:73
+#: src/screens/Login/ChooseAccountForm.tsx:78
+#: src/screens/Login/ForgotPasswordForm.tsx:129
+#: src/screens/Login/ForgotPasswordForm.tsx:135
+#: src/screens/Login/LoginForm.tsx:221
+#: src/screens/Login/LoginForm.tsx:227
+#: src/screens/Login/SetNewPasswordForm.tsx:160
+#: src/screens/Login/SetNewPasswordForm.tsx:166
+#: src/screens/Profile/Header/Shell.tsx:96
+#: src/screens/Signup/index.tsx:180
#: src/view/com/util/ViewHeader.tsx:87
msgid "Back"
msgstr "Voltar"
-#: src/view/com/post-thread/PostThread.tsx:480
-msgctxt "action"
-msgid "Back"
-msgstr "Voltar"
-
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:136
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:144
msgid "Based on your interest in {interestsText}"
msgstr "Com base no seu interesse em {interestsText}"
-#: src/view/screens/Settings/index.tsx:523
+#: src/view/screens/Settings/index.tsx:493
msgid "Basics"
msgstr "Básicos"
-#: src/view/com/auth/create/Step1.tsx:227
-#: src/view/com/modals/BirthDateSettings.tsx:73
+#: src/components/dialogs/BirthDateSettings.tsx:107
msgid "Birthday"
msgstr "Aniversário"
-#: src/view/screens/Settings/index.tsx:340
+#: src/view/screens/Settings/index.tsx:362
msgid "Birthday:"
msgstr "Aniversário:"
-#: src/view/com/profile/ProfileHeader.tsx:239
-#: src/view/com/profile/ProfileHeader.tsx:346
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:286
+#: src/view/com/profile/ProfileMenu.tsx:361
+msgid "Block"
+msgstr "Bloquear"
+
+#: src/view/com/profile/ProfileMenu.tsx:300
+#: src/view/com/profile/ProfileMenu.tsx:307
msgid "Block Account"
msgstr "Bloquear Conta"
-#: src/view/screens/ProfileList.tsx:556
+#: src/view/com/profile/ProfileMenu.tsx:344
+msgid "Block Account?"
+msgstr "Bloquear Conta?"
+
+#: src/view/screens/ProfileList.tsx:532
msgid "Block accounts"
msgstr "Bloquear contas"
-#: src/view/screens/ProfileList.tsx:506
+#: src/view/screens/ProfileList.tsx:480
+#: src/view/screens/ProfileList.tsx:636
msgid "Block list"
msgstr "Lista de bloqueio"
-#: src/view/screens/ProfileList.tsx:316
+#: src/view/screens/ProfileList.tsx:631
msgid "Block these accounts?"
msgstr "Bloquear estas contas?"
-#: src/view/screens/ProfileList.tsx:320
-msgid "Block this List"
-msgstr "Bloquear esta Lista"
-
#: src/view/com/lists/ListCard.tsx:110
-#: src/view/com/util/post-embeds/QuoteEmbed.tsx:61
+#: src/view/com/util/post-embeds/QuoteEmbed.tsx:58
msgid "Blocked"
msgstr "Bloqueado"
-#: src/view/screens/Moderation.tsx:142
+#: src/screens/Moderation/index.tsx:267
msgid "Blocked accounts"
msgstr "Contas bloqueadas"
-#: src/Navigation.tsx:132
-#: src/view/screens/ModerationBlockedAccounts.tsx:107
+#: src/Navigation.tsx:134
+#: src/view/screens/ModerationBlockedAccounts.tsx:113
msgid "Blocked Accounts"
msgstr "Contas Bloqueadas"
-#: src/view/com/profile/ProfileHeader.tsx:241
+#: src/view/com/profile/ProfileMenu.tsx:356
msgid "Blocked accounts cannot reply in your threads, mention you, or otherwise interact with you."
msgstr "Contas bloqueadas não podem te responder, mencionar ou interagir com você."
-#: src/view/screens/ModerationBlockedAccounts.tsx:115
+#: src/view/screens/ModerationBlockedAccounts.tsx:121
msgid "Blocked accounts cannot reply in your threads, mention you, or otherwise interact with you. You will not see their content and they will be prevented from seeing yours."
msgstr "Contas bloqueadas não podem te responder, mencionar ou interagir com você. Você não verá o conteúdo deles e eles serão impedidos de ver o seu."
-#: src/view/com/post-thread/PostThread.tsx:324
+#: src/view/com/post-thread/PostThread.tsx:313
msgid "Blocked post."
msgstr "Post bloqueado."
-#: src/view/screens/ProfileList.tsx:318
+#: src/screens/Profile/Sections/Labels.tsx:163
+msgid "Blocking does not prevent this labeler from placing labels on your account."
+msgstr "Bloquear não previne este rotulador de rotular a sua conta."
+
+#: src/view/screens/ProfileList.tsx:633
msgid "Blocking is public. Blocked accounts cannot reply in your threads, mention you, or otherwise interact with you."
msgstr "Bloqueios são públicos. Contas bloqueadas não podem te responder, mencionar ou interagir com você."
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:93
-#: src/view/com/auth/SplashScreen.web.tsx:133
+#: src/view/com/profile/ProfileMenu.tsx:353
+msgid "Blocking will not prevent labels from being applied on your account, but it will stop this account from replying in your threads or interacting with you."
+msgstr "Bloquear não previne rótulos de serem aplicados na sua conta, mas vai impedir esta conta de interagir com você."
+
+#: src/view/com/auth/SplashScreen.web.tsx:149
msgid "Blog"
msgstr "Blog"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:31
#: src/view/com/auth/server-input/index.tsx:89
-#: src/view/com/auth/server-input/index.tsx:90
+#: src/view/com/auth/server-input/index.tsx:91
msgid "Bluesky"
msgstr "Bluesky"
-#: src/view/com/auth/server-input/index.tsx:150
+#: src/view/com/auth/server-input/index.tsx:154
msgid "Bluesky is an open network where you can choose your hosting provider. Custom hosting is now available in beta for developers."
msgstr "Bluesky é uma rede aberta que permite a escolha do seu provedor de hospedagem. Desenvolvedores já conseguem utilizar a versão beta de hospedagem própria."
#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:80
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:80
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:82
msgid "Bluesky is flexible."
msgstr "Bluesky é flexível."
#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:69
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:69
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:71
msgid "Bluesky is open."
msgstr "Bluesky é aberto."
#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:56
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:56
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:58
msgid "Bluesky is public."
msgstr "Bluesky é público."
-#: src/view/com/modals/Waitlist.tsx:70
-#~ msgid "Bluesky uses invites to build a healthier community. If you don't know anybody with an invite, you can sign up for the waitlist and we'll send one soon."
-#~ msgstr "O Bluesky usa convites para criar uma comunidade mais saudável. Se você não conhece ninguém que tenha um convite, inscreva-se na lista de espera e em breve enviaremos um para você."
-
-#: src/view/screens/Moderation.tsx:245
+#: src/screens/Moderation/index.tsx:533
msgid "Bluesky will not show your profile and posts to logged-out users. Other apps may not honor this request. This does not make your account private."
msgstr "O Bluesky não mostrará seu perfil e publicações para usuários desconectados. Outros aplicativos podem não honrar esta solicitação. Isso não torna a sua conta privada."
+#: src/lib/moderation/useLabelBehaviorDescription.ts:53
+msgid "Blur images"
+msgstr "Desfocar imagens"
+
+#: src/lib/moderation/useLabelBehaviorDescription.ts:51
+msgid "Blur images and filter from feeds"
+msgstr "Desfocar imagens e filtrar dos feeds"
+
#: src/screens/Onboarding/index.tsx:33
msgid "Books"
msgstr "Livros"
-#: src/view/screens/Settings/index.tsx:859
-msgid "Build version {0} {1}"
-msgstr "Versão {0} {1}"
-
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:87
-#: src/view/com/auth/SplashScreen.web.tsx:128
+#: src/view/com/auth/SplashScreen.web.tsx:146
msgid "Business"
msgstr "Empresarial"
@@ -482,94 +507,109 @@ msgstr "por -"
msgid "by {0}"
msgstr "por {0}"
+#: src/components/LabelingServiceCard/index.tsx:57
+msgid "By {0}"
+msgstr "Por {0}"
+
#: src/view/com/profile/ProfileSubpageHeader.tsx:161
msgid "by <0/>"
msgstr "por <0/>"
+#: src/screens/Signup/StepInfo/Policies.tsx:74
+msgid "By creating an account you agree to the {els}."
+msgstr "Ao criar uma conta, você concorda com os {els}."
+
#: src/view/com/profile/ProfileSubpageHeader.tsx:159
msgid "by you"
msgstr "por você"
-#: src/view/com/composer/photos/OpenCameraBtn.tsx:60
-#: src/view/com/util/UserAvatar.tsx:224
-#: src/view/com/util/UserBanner.tsx:40
+#: src/view/com/composer/photos/OpenCameraBtn.tsx:77
msgid "Camera"
msgstr "Câmera"
-#: src/view/com/modals/AddAppPasswords.tsx:216
+#: src/view/com/modals/AddAppPasswords.tsx:217
msgid "Can only contain letters, numbers, spaces, dashes, and underscores. Must be at least 4 characters long, but no more than 32 characters long."
msgstr "Só pode conter letras, números, espaços, traços e sublinhados. Deve ter pelo menos 4 caracteres, mas não mais de 32 caracteres."
-#: src/components/Prompt.tsx:101
-#: src/view/com/composer/Composer.tsx:307
-#: src/view/com/composer/Composer.tsx:312
+#: src/components/Menu/index.tsx:213
+#: src/components/Prompt.tsx:113
+#: src/components/Prompt.tsx:115
+#: src/components/TagMenu/index.tsx:268
+#: src/view/com/composer/Composer.tsx:317
+#: src/view/com/composer/Composer.tsx:322
#: src/view/com/modals/ChangeEmail.tsx:218
#: src/view/com/modals/ChangeEmail.tsx:220
-#: src/view/com/modals/ChangePassword.tsx:265
-#: src/view/com/modals/ChangePassword.tsx:268
-#: src/view/com/modals/CreateOrEditList.tsx:355
-#: src/view/com/modals/EditImage.tsx:323
-#: src/view/com/modals/EditProfile.tsx:249
+#: src/view/com/modals/ChangeHandle.tsx:154
+#: src/view/com/modals/ChangePassword.tsx:267
+#: src/view/com/modals/ChangePassword.tsx:270
+#: src/view/com/modals/CreateOrEditList.tsx:356
+#: src/view/com/modals/crop-image/CropImage.web.tsx:138
+#: src/view/com/modals/EditImage.tsx:324
+#: src/view/com/modals/EditProfile.tsx:250
#: src/view/com/modals/InAppBrowserConsent.tsx:78
-#: src/view/com/modals/LinkWarning.tsx:87
-#: src/view/com/modals/Repost.tsx:87
+#: src/view/com/modals/InAppBrowserConsent.tsx:80
+#: src/view/com/modals/LinkWarning.tsx:105
+#: src/view/com/modals/LinkWarning.tsx:107
+#: src/view/com/modals/Repost.tsx:88
#: src/view/com/modals/VerifyEmail.tsx:247
#: src/view/com/modals/VerifyEmail.tsx:253
-#: src/view/screens/Search/Search.tsx:716
-#: src/view/shell/desktop/Search.tsx:238
+#: src/view/screens/Search/Search.tsx:865
+#: src/view/shell/desktop/Search.tsx:239
msgid "Cancel"
msgstr "Cancelar"
-#: src/view/com/modals/Confirm.tsx:88
-#: src/view/com/modals/Confirm.tsx:91
-#: src/view/com/modals/CreateOrEditList.tsx:360
-#: src/view/com/modals/DeleteAccount.tsx:156
-#: src/view/com/modals/DeleteAccount.tsx:234
+#: src/view/com/modals/CreateOrEditList.tsx:361
+#: src/view/com/modals/DeleteAccount.tsx:155
+#: src/view/com/modals/DeleteAccount.tsx:233
msgctxt "action"
msgid "Cancel"
msgstr "Cancelar"
-#: src/view/com/modals/DeleteAccount.tsx:152
-#: src/view/com/modals/DeleteAccount.tsx:230
+#: src/view/com/modals/DeleteAccount.tsx:151
+#: src/view/com/modals/DeleteAccount.tsx:229
msgid "Cancel account deletion"
msgstr "Cancelar exclusão da conta"
-#: src/view/com/modals/ChangeHandle.tsx:149
+#: src/view/com/modals/ChangeHandle.tsx:150
msgid "Cancel change handle"
msgstr "Cancelar alteração de usuário"
-#: src/view/com/modals/crop-image/CropImage.web.tsx:134
+#: src/view/com/modals/crop-image/CropImage.web.tsx:135
msgid "Cancel image crop"
msgstr "Cancelar corte da imagem"
-#: src/view/com/modals/EditProfile.tsx:244
+#: src/view/com/modals/EditProfile.tsx:245
msgid "Cancel profile editing"
msgstr "Cancelar edição do perfil"
-#: src/view/com/modals/Repost.tsx:78
+#: src/view/com/modals/Repost.tsx:79
msgid "Cancel quote post"
msgstr "Cancelar citação"
#: src/view/com/modals/ListAddRemoveUsers.tsx:87
-#: src/view/shell/desktop/Search.tsx:234
+#: src/view/shell/desktop/Search.tsx:235
msgid "Cancel search"
msgstr "Cancelar busca"
-#: src/view/com/modals/Waitlist.tsx:136
-#~ msgid "Cancel waitlist signup"
-#~ msgstr "Cancelar inscrição na lista de espera"
+#: src/view/com/modals/LinkWarning.tsx:106
+msgid "Cancels opening the linked website"
+msgstr "Cancela a abertura do link"
-#: src/view/screens/Settings/index.tsx:334
+#: src/view/com/modals/VerifyEmail.tsx:152
+msgid "Change"
+msgstr "Trocar"
+
+#: src/view/screens/Settings/index.tsx:356
msgctxt "action"
msgid "Change"
msgstr "Alterar"
-#: src/view/screens/Settings/index.tsx:696
+#: src/view/screens/Settings/index.tsx:667
msgid "Change handle"
msgstr "Alterar usuário"
-#: src/view/com/modals/ChangeHandle.tsx:161
-#: src/view/screens/Settings/index.tsx:705
+#: src/view/com/modals/ChangeHandle.tsx:162
+#: src/view/screens/Settings/index.tsx:678
msgid "Change Handle"
msgstr "Alterar Usuário"
@@ -577,11 +617,12 @@ msgstr "Alterar Usuário"
msgid "Change my email"
msgstr "Alterar meu email"
-#: src/view/screens/Settings/index.tsx:732
+#: src/view/screens/Settings/index.tsx:718
msgid "Change password"
msgstr "Alterar senha"
-#: src/view/screens/Settings/index.tsx:741
+#: src/view/com/modals/ChangePassword.tsx:141
+#: src/view/screens/Settings/index.tsx:729
msgid "Change Password"
msgstr "Alterar Senha"
@@ -589,10 +630,6 @@ msgstr "Alterar Senha"
msgid "Change post language to {0}"
msgstr "Trocar idioma do post para {0}"
-#: src/view/screens/Settings/index.tsx:733
-msgid "Change your Bluesky password"
-msgstr "Alterar sua senha do Bluesky"
-
#: src/view/com/modals/ChangeEmail.tsx:109
msgid "Change Your Email"
msgstr "Altere o Seu Email"
@@ -602,15 +639,15 @@ msgstr "Altere o Seu Email"
msgid "Check my status"
msgstr "Verificar minha situação"
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:121
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:122
msgid "Check out some recommended feeds. Tap + to add them to your list of pinned feeds."
msgstr "Confira alguns feeds recomendados. Toque em + para adicioná-los à sua lista de feeds fixados."
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:185
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:186
msgid "Check out some recommended users. Follow them to see similar users."
msgstr "Confira alguns usuários recomendados. Siga-os para ver usuários semelhantes."
-#: src/view/com/modals/DeleteAccount.tsx:169
+#: src/view/com/modals/DeleteAccount.tsx:168
msgid "Check your inbox for an email with the confirmation code to enter below:"
msgstr "Verifique em sua caixa de entrada um e-mail com o código de confirmação abaixo:"
@@ -618,54 +655,56 @@ msgstr "Verifique em sua caixa de entrada um e-mail com o código de confirmaç
msgid "Choose \"Everybody\" or \"Nobody\""
msgstr "Escolha \"Todos\" ou \"Ninguém\""
-#: src/view/screens/Settings/index.tsx:697
-msgid "Choose a new Bluesky username or create"
-msgstr "Crie ou escolha um novo usuário no Bluesky"
-
#: src/view/com/auth/server-input/index.tsx:79
msgid "Choose Service"
msgstr "Escolher Serviço"
-#: src/screens/Onboarding/StepFinished.tsx:135
+#: src/screens/Onboarding/StepFinished.tsx:139
msgid "Choose the algorithms that power your custom feeds."
msgstr "Escolha os algoritmos que geram seus feeds customizados."
#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:83
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:83
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:85
msgid "Choose the algorithms that power your experience with custom feeds."
msgstr "Escolha os algoritmos que fazem sentido para você com os feeds personalizados."
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:103
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:104
msgid "Choose your main feeds"
msgstr "Escolha seus feeds principais"
-#: src/view/com/auth/create/Step1.tsx:196
+#: src/screens/Signup/StepInfo/index.tsx:114
msgid "Choose your password"
msgstr "Escolha sua senha"
-#: src/view/screens/Settings/index.tsx:834
-#: src/view/screens/Settings/index.tsx:835
+#: src/view/screens/Settings/index.tsx:832
msgid "Clear all legacy storage data"
msgstr "Limpar todos os dados de armazenamento legados"
-#: src/view/screens/Settings/index.tsx:837
+#: src/view/screens/Settings/index.tsx:835
msgid "Clear all legacy storage data (restart after this)"
msgstr "Limpar todos os dados de armazenamento legados (reinicie em seguida)"
-#: src/view/screens/Settings/index.tsx:846
-#: src/view/screens/Settings/index.tsx:847
+#: src/view/screens/Settings/index.tsx:844
msgid "Clear all storage data"
msgstr "Limpar todos os dados de armazenamento"
-#: src/view/screens/Settings/index.tsx:849
+#: src/view/screens/Settings/index.tsx:847
msgid "Clear all storage data (restart after this)"
msgstr "Limpar todos os dados de armazenamento (reinicie em seguida)"
#: src/view/com/util/forms/SearchInput.tsx:88
-#: src/view/screens/Search/Search.tsx:697
+#: src/view/screens/Search/Search.tsx:846
msgid "Clear search query"
msgstr "Limpar busca"
+#: src/view/screens/Settings/index.tsx:833
+msgid "Clears all legacy storage data"
+msgstr "Limpa todos os dados antigos"
+
+#: src/view/screens/Settings/index.tsx:845
+msgid "Clears all storage data"
+msgstr "Limpa todos os dados antigos"
+
#: src/view/screens/Support.tsx:40
msgid "click here"
msgstr "clique aqui"
@@ -674,7 +713,7 @@ msgstr "clique aqui"
msgid "Click here to open tag menu for {tag}"
msgstr "Clique aqui para abrir o menu da tag {tag}"
-#: src/components/RichText.tsx:191
+#: src/components/RichText.tsx:198
msgid "Click here to open tag menu for #{tag}"
msgstr "Clique aqui para abrir o menu da tag #{tag}"
@@ -682,57 +721,58 @@ msgstr "Clique aqui para abrir o menu da tag #{tag}"
msgid "Climate"
msgstr "Clima e tempo"
-#: src/view/com/modals/ChangePassword.tsx:265
-#: src/view/com/modals/ChangePassword.tsx:268
+#: src/view/com/modals/ChangePassword.tsx:267
+#: src/view/com/modals/ChangePassword.tsx:270
msgid "Close"
msgstr "Fechar"
-#: src/components/Dialog/index.web.tsx:84
-#: src/components/Dialog/index.web.tsx:198
+#: src/components/Dialog/index.web.tsx:106
+#: src/components/Dialog/index.web.tsx:218
msgid "Close active dialog"
msgstr "Fechar janela ativa"
-#: src/view/com/auth/login/PasswordUpdatedForm.tsx:38
+#: src/screens/Login/PasswordUpdatedForm.tsx:38
msgid "Close alert"
msgstr "Fechar alerta"
-#: src/view/com/util/BottomSheetCustomBackdrop.tsx:33
+#: src/view/com/util/BottomSheetCustomBackdrop.tsx:36
msgid "Close bottom drawer"
msgstr "Fechar parte inferior"
-#: src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx:26
+#: src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx:36
msgid "Close image"
msgstr "Fechar imagem"
-#: src/view/com/lightbox/Lightbox.web.tsx:119
+#: src/view/com/lightbox/Lightbox.web.tsx:129
msgid "Close image viewer"
msgstr "Fechar visualizador de imagens"
-#: src/view/shell/index.web.tsx:51
+#: src/view/shell/index.web.tsx:57
msgid "Close navigation footer"
msgstr "Fechar o painel de navegação"
+#: src/components/Menu/index.tsx:207
#: src/components/TagMenu/index.tsx:262
msgid "Close this dialog"
msgstr "Fechar esta janela"
-#: src/view/shell/index.web.tsx:52
+#: src/view/shell/index.web.tsx:58
msgid "Closes bottom navigation bar"
msgstr "Fecha barra de navegação inferior"
-#: src/view/com/auth/login/PasswordUpdatedForm.tsx:39
+#: src/screens/Login/PasswordUpdatedForm.tsx:39
msgid "Closes password update alert"
msgstr "Fecha alerta de troca de senha"
-#: src/view/com/composer/Composer.tsx:309
+#: src/view/com/composer/Composer.tsx:319
msgid "Closes post composer and discards post draft"
msgstr "Fecha o editor de post e descarta o rascunho"
-#: src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx:27
+#: src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx:37
msgid "Closes viewer for header image"
msgstr "Fechar o visualizador de banner"
-#: src/view/com/notifications/FeedItem.tsx:318
+#: src/view/com/notifications/FeedItem.tsx:323
msgid "Collapses list of users for a given notification"
msgstr "Fecha lista de usuários da notificação"
@@ -744,20 +784,20 @@ msgstr "Comédia"
msgid "Comics"
msgstr "Quadrinhos"
-#: src/Navigation.tsx:229
+#: src/Navigation.tsx:241
#: src/view/screens/CommunityGuidelines.tsx:32
msgid "Community Guidelines"
msgstr "Diretrizes da Comunidade"
-#: src/screens/Onboarding/StepFinished.tsx:148
+#: src/screens/Onboarding/StepFinished.tsx:152
msgid "Complete onboarding and start using your account"
msgstr "Completar e começar a usar sua conta"
-#: src/view/com/auth/create/Step3.tsx:73
+#: src/screens/Signup/index.tsx:155
msgid "Complete the challenge"
msgstr "Complete o captcha"
-#: src/view/com/composer/Composer.tsx:424
+#: src/view/com/composer/Composer.tsx:438
msgid "Compose posts up to {MAX_GRAPHEME_LENGTH} characters in length"
msgstr "Escreva posts de até {MAX_GRAPHEME_LENGTH} caracteres"
@@ -765,12 +805,20 @@ msgstr "Escreva posts de até {MAX_GRAPHEME_LENGTH} caracteres"
msgid "Compose reply"
msgstr "Escrever resposta"
-#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:67
+#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:81
msgid "Configure content filtering setting for category: {0}"
msgstr "Configure o filtro de conteúdo por categoria: {0}"
-#: src/components/Prompt.tsx:124
-#: src/view/com/modals/AppealLabel.tsx:98
+#: src/components/moderation/LabelPreference.tsx:81
+msgid "Configure content filtering setting for category: {name}"
+msgstr "Configure o filtro de conteúdo por categoria: {name}"
+
+#: src/components/moderation/LabelPreference.tsx:244
+msgid "Configured in <0>moderation settings0>."
+msgstr "Configure no <0>painel de moderação0>."
+
+#: src/components/Prompt.tsx:153
+#: src/components/Prompt.tsx:156
#: src/view/com/modals/SelfLabel.tsx:154
#: src/view/com/modals/VerifyEmail.tsx:231
#: src/view/com/modals/VerifyEmail.tsx:233
@@ -779,67 +827,68 @@ msgstr "Configure o filtro de conteúdo por categoria: {0}"
msgid "Confirm"
msgstr "Confirmar"
-#: src/view/com/modals/Confirm.tsx:75
-#: src/view/com/modals/Confirm.tsx:78
-msgctxt "action"
-msgid "Confirm"
-msgstr "Confirmar"
-
#: src/view/com/modals/ChangeEmail.tsx:193
#: src/view/com/modals/ChangeEmail.tsx:195
msgid "Confirm Change"
msgstr "Confirmar Alterações"
-#: src/view/com/modals/lang-settings/ConfirmLanguagesButton.tsx:34
+#: src/view/com/modals/lang-settings/ConfirmLanguagesButton.tsx:35
msgid "Confirm content language settings"
msgstr "Confirmar configurações de idioma de conteúdo"
-#: src/view/com/modals/DeleteAccount.tsx:220
+#: src/view/com/modals/DeleteAccount.tsx:219
msgid "Confirm delete account"
msgstr "Confirmar a exclusão da conta"
-#: src/view/com/modals/ContentFilteringSettings.tsx:156
-msgid "Confirm your age to enable adult content."
-msgstr "Confirme sua idade para habilitar conteúdo adulto."
+#: src/screens/Moderation/index.tsx:301
+msgid "Confirm your age:"
+msgstr "Confirme sua idade:"
+
+#: src/screens/Moderation/index.tsx:292
+msgid "Confirm your birthdate"
+msgstr "Confirme sua data de nascimento"
#: src/view/com/modals/ChangeEmail.tsx:157
-#: src/view/com/modals/DeleteAccount.tsx:182
+#: src/view/com/modals/DeleteAccount.tsx:175
+#: src/view/com/modals/DeleteAccount.tsx:181
#: src/view/com/modals/VerifyEmail.tsx:165
msgid "Confirmation code"
msgstr "Código de confirmação"
-#: src/view/com/modals/Waitlist.tsx:120
-#~ msgid "Confirms signing up {email} to the waitlist"
-#~ msgstr "Confirma adição de {email} à lista de espera"
-
-#: src/view/com/auth/create/CreateAccount.tsx:193
-#: src/view/com/auth/login/LoginForm.tsx:278
+#: src/screens/Login/LoginForm.tsx:248
msgid "Connecting..."
msgstr "Conectando..."
-#: src/view/com/auth/create/CreateAccount.tsx:213
+#: src/screens/Signup/index.tsx:225
msgid "Contact support"
msgstr "Contatar suporte"
-#: src/view/screens/Moderation.tsx:83
-msgid "Content filtering"
-msgstr "Filtragem do conteúdo"
+#: src/components/moderation/LabelsOnMe.tsx:42
+msgid "content"
+msgstr "conteúdo"
-#: src/view/com/modals/ContentFilteringSettings.tsx:44
-msgid "Content Filtering"
-msgstr "Filtragem do Conteúdo"
+#: src/lib/moderation/useGlobalLabelStrings.ts:18
+msgid "Content Blocked"
+msgstr "Conteúdo bloqueado"
+
+#: src/screens/Moderation/index.tsx:285
+msgid "Content filters"
+msgstr "Filtros de conteúdo"
#: src/view/com/modals/lang-settings/ContentLanguagesSettings.tsx:74
#: src/view/screens/LanguageSettings.tsx:278
msgid "Content Languages"
msgstr "Idiomas do Conteúdo"
-#: src/view/com/modals/ModerationDetails.tsx:65
+#: src/components/moderation/ModerationDetailsDialog.tsx:75
+#: src/lib/moderation/useModerationCauseDescription.ts:75
msgid "Content Not Available"
msgstr "Conteúdo Indisponível"
-#: src/view/com/modals/ModerationDetails.tsx:33
-#: src/view/com/util/moderation/ScreenHider.tsx:78
+#: src/components/moderation/ModerationDetailsDialog.tsx:46
+#: src/components/moderation/ScreenHider.tsx:99
+#: src/lib/moderation/useGlobalLabelStrings.ts:22
+#: src/lib/moderation/useModerationCauseDescription.ts:38
msgid "Content Warning"
msgstr "Aviso de Conteúdo"
@@ -847,28 +896,38 @@ msgstr "Aviso de Conteúdo"
msgid "Content warnings"
msgstr "Avisos de conteúdo"
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:170
-#: src/screens/Onboarding/StepFollowingFeed.tsx:153
-#: src/screens/Onboarding/StepInterests/index.tsx:248
-#: src/screens/Onboarding/StepModeration/index.tsx:118
-#: src/screens/Onboarding/StepTopicalFeeds.tsx:114
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:148
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:209
+#: src/components/Menu/index.web.tsx:84
+msgid "Context menu backdrop, click to close the menu."
+msgstr "Fundo do menu, clique para fechá-lo."
+
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:161
+#: src/screens/Onboarding/StepFollowingFeed.tsx:154
+#: src/screens/Onboarding/StepInterests/index.tsx:252
+#: src/screens/Onboarding/StepModeration/index.tsx:103
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:118
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:150
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:211
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:96
msgid "Continue"
msgstr "Continuar"
-#: src/screens/Onboarding/StepFollowingFeed.tsx:150
-#: src/screens/Onboarding/StepInterests/index.tsx:245
-#: src/screens/Onboarding/StepModeration/index.tsx:115
-#: src/screens/Onboarding/StepTopicalFeeds.tsx:111
+#: src/components/AccountList.tsx:108
+msgid "Continue as {0} (currently signed in)"
+msgstr "Continuar como {0} (já conectado)"
+
+#: src/screens/Onboarding/StepFollowingFeed.tsx:151
+#: src/screens/Onboarding/StepInterests/index.tsx:249
+#: src/screens/Onboarding/StepModeration/index.tsx:100
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:115
+#: src/screens/Signup/index.tsx:200
msgid "Continue to next step"
msgstr "Continuar para o próximo passo"
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:167
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:158
msgid "Continue to the next step"
msgstr "Continuar para o próximo passo"
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:191
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:199
msgid "Continue to the next step without following any accounts"
msgstr "Continuar para o próximo passo sem seguir contas"
@@ -876,96 +935,106 @@ msgstr "Continuar para o próximo passo sem seguir contas"
msgid "Cooking"
msgstr "Culinária"
-#: src/view/com/modals/AddAppPasswords.tsx:195
-#: src/view/com/modals/InviteCodes.tsx:182
+#: src/view/com/modals/AddAppPasswords.tsx:196
+#: src/view/com/modals/InviteCodes.tsx:183
msgid "Copied"
msgstr "Copiado"
-#: src/view/screens/Settings/index.tsx:241
+#: src/view/screens/Settings/index.tsx:254
msgid "Copied build version to clipboard"
msgstr "Versão do aplicativo copiada"
-#: src/view/com/modals/AddAppPasswords.tsx:76
-#: src/view/com/modals/InviteCodes.tsx:152
-#: src/view/com/util/forms/PostDropdownBtn.tsx:161
+#: src/view/com/modals/AddAppPasswords.tsx:77
+#: src/view/com/modals/ChangeHandle.tsx:326
+#: src/view/com/modals/InviteCodes.tsx:153
+#: src/view/com/util/forms/PostDropdownBtn.tsx:164
msgid "Copied to clipboard"
msgstr "Copiado"
-#: src/view/com/modals/AddAppPasswords.tsx:189
+#: src/components/dialogs/Embed.tsx:134
+msgid "Copied!"
+msgstr ""
+
+#: src/view/com/modals/AddAppPasswords.tsx:190
msgid "Copies app password"
msgstr "Copia senha de aplicativo"
-#: src/view/com/modals/AddAppPasswords.tsx:188
+#: src/view/com/modals/AddAppPasswords.tsx:189
msgid "Copy"
msgstr "Copiar"
-#: src/view/screens/ProfileList.tsx:418
+#: src/view/com/modals/ChangeHandle.tsx:480
+msgid "Copy {0}"
+msgstr "Copiar {0}"
+
+#: src/components/dialogs/Embed.tsx:120
+#: src/components/dialogs/Embed.tsx:139
+msgid "Copy code"
+msgstr ""
+
+#: src/view/screens/ProfileList.tsx:390
msgid "Copy link to list"
msgstr "Copiar link da lista"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:231
-#: src/view/com/util/forms/PostDropdownBtn.tsx:237
+#: src/view/com/util/forms/PostDropdownBtn.tsx:236
+#: src/view/com/util/forms/PostDropdownBtn.tsx:245
msgid "Copy link to post"
msgstr "Copiar link do post"
-#: src/view/com/profile/ProfileHeader.tsx:295
-msgid "Copy link to profile"
-msgstr "Copiar link do perfil"
-
-#: src/view/com/util/forms/PostDropdownBtn.tsx:223
-#: src/view/com/util/forms/PostDropdownBtn.tsx:225
+#: src/view/com/util/forms/PostDropdownBtn.tsx:228
+#: src/view/com/util/forms/PostDropdownBtn.tsx:230
msgid "Copy post text"
msgstr "Copiar texto do post"
-#: src/Navigation.tsx:234
+#: src/Navigation.tsx:246
#: src/view/screens/CopyrightPolicy.tsx:29
msgid "Copyright Policy"
msgstr "Política de Direitos Autorais"
-#: src/view/screens/ProfileFeed.tsx:97
+#: src/view/screens/ProfileFeed.tsx:103
msgid "Could not load feed"
msgstr "Não foi possível carregar o feed"
-#: src/view/screens/ProfileList.tsx:893
+#: src/view/screens/ProfileList.tsx:909
msgid "Could not load list"
msgstr "Não foi possível carregar a lista"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:62
-#: src/view/com/auth/SplashScreen.tsx:71
-#: src/view/com/auth/SplashScreen.web.tsx:81
+#: src/view/com/auth/SplashScreen.tsx:57
+#: src/view/com/auth/SplashScreen.web.tsx:101
msgid "Create a new account"
msgstr "Criar uma nova conta"
-#: src/view/screens/Settings/index.tsx:384
+#: src/view/screens/Settings/index.tsx:406
msgid "Create a new Bluesky account"
msgstr "Criar uma nova conta do Bluesky"
-#: src/view/com/auth/create/CreateAccount.tsx:133
+#: src/screens/Signup/index.tsx:130
msgid "Create Account"
msgstr "Criar Conta"
-#: src/view/com/modals/AddAppPasswords.tsx:226
+#: src/components/dialogs/Signin.tsx:86
+#: src/components/dialogs/Signin.tsx:88
+msgid "Create an account"
+msgstr ""
+
+#: src/view/com/modals/AddAppPasswords.tsx:227
msgid "Create App Password"
msgstr "Criar Senha de Aplicativo"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:54
-#: src/view/com/auth/SplashScreen.tsx:68
+#: src/view/com/auth/SplashScreen.tsx:48
+#: src/view/com/auth/SplashScreen.web.tsx:92
msgid "Create new account"
msgstr "Criar uma nova conta"
-#: src/view/screens/AppPasswords.tsx:249
+#: src/components/ReportDialog/SelectReportOptionView.tsx:94
+msgid "Create report for {0}"
+msgstr "Criar denúncia para {0}"
+
+#: src/view/screens/AppPasswords.tsx:246
msgid "Created {0}"
msgstr "{0} criada"
-#: src/view/screens/ProfileFeed.tsx:616
-msgid "Created by <0/>"
-msgstr "Criado por <0/>"
-
-#: src/view/screens/ProfileFeed.tsx:614
-msgid "Created by you"
-msgstr "Criado por você"
-
-#: src/view/com/composer/Composer.tsx:455
+#: src/view/com/composer/Composer.tsx:469
msgid "Creates a card with a thumbnail. The card links to {url}"
msgstr "Cria uma prévia com miniatura. A prévia faz um link para {url}"
@@ -973,17 +1042,17 @@ msgstr "Cria uma prévia com miniatura. A prévia faz um link para {url}"
msgid "Culture"
msgstr "Cultura"
-#: src/view/com/auth/server-input/index.tsx:95
-#: src/view/com/auth/server-input/index.tsx:96
+#: src/view/com/auth/server-input/index.tsx:97
+#: src/view/com/auth/server-input/index.tsx:99
msgid "Custom"
msgstr "Customizado"
-#: src/view/com/modals/ChangeHandle.tsx:389
+#: src/view/com/modals/ChangeHandle.tsx:388
msgid "Custom domain"
msgstr "Domínio personalizado"
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:106
-#: src/view/screens/Feeds.tsx:692
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:107
+#: src/view/screens/Feeds.tsx:717
msgid "Custom feeds built by the community bring you new experiences and help you find the content you love."
msgstr "Feeds customizados feitos pela comunidade te proporcionam novas experiências e te ajudam a encontrar o conteúdo que você mais ama."
@@ -991,8 +1060,8 @@ msgstr "Feeds customizados feitos pela comunidade te proporcionam novas experiê
msgid "Customize media from external sites."
msgstr "Configurar mídia de sites externos."
-#: src/view/screens/Settings/index.tsx:485
-#: src/view/screens/Settings/index.tsx:511
+#: src/view/screens/Settings/index.tsx:455
+#: src/view/screens/Settings/index.tsx:481
msgid "Dark"
msgstr "Escuro"
@@ -1000,115 +1069,177 @@ msgstr "Escuro"
msgid "Dark mode"
msgstr "Modo escuro"
-#: src/view/screens/Settings/index.tsx:498
+#: src/view/screens/Settings/index.tsx:468
msgid "Dark Theme"
msgstr "Modo Escuro"
+#: src/screens/Signup/StepInfo/index.tsx:134
+msgid "Date of birth"
+msgstr "Data de nascimento"
+
+#: src/view/screens/Settings/index.tsx:805
+msgid "Debug Moderation"
+msgstr "Testar Moderação"
+
#: src/view/screens/Debug.tsx:83
msgid "Debug panel"
msgstr "Painel de depuração"
-#: src/view/screens/Settings/index.tsx:772
+#: src/view/com/util/forms/PostDropdownBtn.tsx:341
+#: src/view/screens/AppPasswords.tsx:268
+#: src/view/screens/ProfileList.tsx:615
+msgid "Delete"
+msgstr "Excluir"
+
+#: src/view/screens/Settings/index.tsx:760
msgid "Delete account"
msgstr "Excluir a conta"
-#: src/view/com/modals/DeleteAccount.tsx:87
+#: src/view/com/modals/DeleteAccount.tsx:86
msgid "Delete Account"
msgstr "Excluir a Conta"
-#: src/view/screens/AppPasswords.tsx:222
-#: src/view/screens/AppPasswords.tsx:242
+#: src/view/screens/AppPasswords.tsx:239
msgid "Delete app password"
msgstr "Excluir senha de aplicativo"
-#: src/view/screens/ProfileList.tsx:364
-#: src/view/screens/ProfileList.tsx:445
+#: src/view/screens/AppPasswords.tsx:263
+msgid "Delete app password?"
+msgstr "Excluir senha de aplicativo?"
+
+#: src/view/screens/ProfileList.tsx:417
msgid "Delete List"
msgstr "Excluir Lista"
-#: src/view/com/modals/DeleteAccount.tsx:223
+#: src/view/com/modals/DeleteAccount.tsx:222
msgid "Delete my account"
msgstr "Excluir minha conta"
-#: src/view/screens/Settings/index.tsx:784
+#: src/view/screens/Settings/index.tsx:772
msgid "Delete My Account…"
msgstr "Excluir minha conta…"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:317
-#: src/view/com/util/forms/PostDropdownBtn.tsx:326
+#: src/view/com/util/forms/PostDropdownBtn.tsx:322
+#: src/view/com/util/forms/PostDropdownBtn.tsx:324
msgid "Delete post"
msgstr "Excluir post"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:321
+#: src/view/screens/ProfileList.tsx:610
+msgid "Delete this list?"
+msgstr "Excluir esta lista?"
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:336
msgid "Delete this post?"
msgstr "Excluir este post?"
-#: src/view/com/util/post-embeds/QuoteEmbed.tsx:70
+#: src/view/com/util/post-embeds/QuoteEmbed.tsx:67
msgid "Deleted"
msgstr "Excluído"
-#: src/view/com/post-thread/PostThread.tsx:316
+#: src/view/com/post-thread/PostThread.tsx:305
msgid "Deleted post."
msgstr "Post excluído."
-#: src/view/com/modals/CreateOrEditList.tsx:300
-#: src/view/com/modals/CreateOrEditList.tsx:321
-#: src/view/com/modals/EditProfile.tsx:198
-#: src/view/com/modals/EditProfile.tsx:210
+#: src/view/com/modals/CreateOrEditList.tsx:301
+#: src/view/com/modals/CreateOrEditList.tsx:322
+#: src/view/com/modals/EditProfile.tsx:199
+#: src/view/com/modals/EditProfile.tsx:211
msgid "Description"
msgstr "Descrição"
-#: src/view/screens/Settings.tsx:760
-#~ msgid "Developer Tools"
-#~ msgstr "Ferramentas de Desenvolvedor"
-
#: src/view/com/composer/Composer.tsx:218
msgid "Did you want to say anything?"
msgstr "Você gostaria de dizer alguma coisa?"
-#: src/view/screens/Settings/index.tsx:504
+#: src/view/screens/Settings/index.tsx:474
msgid "Dim"
msgstr "Menos escuro"
-#: src/view/com/composer/Composer.tsx:151
+#: src/view/screens/Settings/index.tsx:697
+msgid "Disable haptics"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:697
+msgid "Disable vibrations"
+msgstr ""
+
+#: src/lib/moderation/useLabelBehaviorDescription.ts:32
+#: src/lib/moderation/useLabelBehaviorDescription.ts:42
+#: src/lib/moderation/useLabelBehaviorDescription.ts:68
+#: src/screens/Moderation/index.tsx:341
+msgid "Disabled"
+msgstr "Desabilitado"
+
+#: src/view/com/composer/Composer.tsx:511
msgid "Discard"
msgstr "Descartar"
-#: src/view/com/composer/Composer.tsx:145
-msgid "Discard draft"
-msgstr "Descartar rascunho"
+#: src/view/com/composer/Composer.tsx:508
+msgid "Discard draft?"
+msgstr "Descartar rascunho?"
-#: src/view/screens/Moderation.tsx:226
+#: src/screens/Moderation/index.tsx:518
+#: src/screens/Moderation/index.tsx:522
msgid "Discourage apps from showing my account to logged-out users"
-msgstr "Desencorajar aplicativos a mostrar minha conta para usuários deslogados"
+msgstr "Desencorajar aplicativos a mostrar minha conta para usuários desautenticados"
#: src/view/com/posts/FollowingEmptyState.tsx:74
#: src/view/com/posts/FollowingEndOfFeed.tsx:75
msgid "Discover new custom feeds"
msgstr "Descubra novos feeds"
-#: src/view/screens/Feeds.tsx:689
+#: src/view/screens/Feeds.tsx:714
msgid "Discover New Feeds"
msgstr "Descubra Novos Feeds"
-#: src/view/com/modals/EditProfile.tsx:192
+#: src/view/com/modals/EditProfile.tsx:193
msgid "Display name"
msgstr "Nome de exibição"
-#: src/view/com/modals/EditProfile.tsx:180
+#: src/view/com/modals/EditProfile.tsx:181
msgid "Display Name"
msgstr "Nome de Exibição"
-#: src/view/com/modals/ChangeHandle.tsx:487
+#: src/view/com/modals/ChangeHandle.tsx:397
+msgid "DNS Panel"
+msgstr "Painel DNS"
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:39
+msgid "Does not include nudity."
+msgstr "Não inclui nudez."
+
+#: src/screens/Signup/StepHandle.tsx:105
+msgid "Doesn't begin or end with a hyphen"
+msgstr "Não começa ou termina com um hífen"
+
+#: src/view/com/modals/ChangeHandle.tsx:481
+msgid "Domain Value"
+msgstr "Domínio"
+
+#: src/view/com/modals/ChangeHandle.tsx:488
msgid "Domain verified!"
msgstr "Domínio verificado!"
-#: src/view/com/auth/create/Step1.tsx:170
-#~ msgid "Don't have an invite code?"
-#~ msgstr "Não possui um convite?"
+#: src/components/dialogs/BirthDateSettings.tsx:119
+#: src/components/dialogs/BirthDateSettings.tsx:125
+#: src/components/forms/DateField/index.tsx:74
+#: src/components/forms/DateField/index.tsx:80
+#: src/view/com/auth/server-input/index.tsx:169
+#: src/view/com/auth/server-input/index.tsx:170
+#: src/view/com/modals/AddAppPasswords.tsx:227
+#: src/view/com/modals/AltImage.tsx:140
+#: src/view/com/modals/crop-image/CropImage.web.tsx:153
+#: src/view/com/modals/InviteCodes.tsx:81
+#: src/view/com/modals/InviteCodes.tsx:124
+#: src/view/com/modals/ListAddRemoveUsers.tsx:142
+#: src/view/screens/PreferencesFollowingFeed.tsx:311
+#: src/view/screens/Settings/ExportCarDialog.tsx:94
+#: src/view/screens/Settings/ExportCarDialog.tsx:96
+msgid "Done"
+msgstr "Feito"
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:86
-#: src/view/com/modals/EditImage.tsx:333
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:87
+#: src/view/com/modals/EditImage.tsx:334
#: src/view/com/modals/ListAddRemoveUsers.tsx:144
#: src/view/com/modals/SelfLabel.tsx:157
#: src/view/com/modals/Threadgate.tsx:129
@@ -1120,34 +1251,10 @@ msgctxt "action"
msgid "Done"
msgstr "Feito"
-#: src/view/com/auth/server-input/index.tsx:165
-#: src/view/com/auth/server-input/index.tsx:166
-#: src/view/com/modals/AddAppPasswords.tsx:226
-#: src/view/com/modals/AltImage.tsx:139
-#: src/view/com/modals/ContentFilteringSettings.tsx:88
-#: src/view/com/modals/ContentFilteringSettings.tsx:96
-#: src/view/com/modals/crop-image/CropImage.web.tsx:152
-#: src/view/com/modals/InviteCodes.tsx:80
-#: src/view/com/modals/InviteCodes.tsx:123
-#: src/view/com/modals/ListAddRemoveUsers.tsx:142
-#: src/view/screens/PreferencesFollowingFeed.tsx:311
-#: src/view/screens/Settings/ExportCarDialog.tsx:93
-#: src/view/screens/Settings/ExportCarDialog.tsx:94
-msgid "Done"
-msgstr "Feito"
-
-#: src/view/com/modals/lang-settings/ConfirmLanguagesButton.tsx:42
+#: src/view/com/modals/lang-settings/ConfirmLanguagesButton.tsx:43
msgid "Done{extraText}"
msgstr "Feito{extraText}"
-#: src/view/com/auth/login/ChooseAccountForm.tsx:45
-msgid "Double tap to sign in"
-msgstr "Toque duas vezes para logar"
-
-#: src/view/screens/Settings/index.tsx:755
-msgid "Download Bluesky account data (repository)"
-msgstr "Baixar os dados da minha conta Bluesky (repositório)"
-
#: src/view/screens/Settings/ExportCarDialog.tsx:59
#: src/view/screens/Settings/ExportCarDialog.tsx:63
msgid "Download CAR file"
@@ -1157,35 +1264,47 @@ msgstr "Baixar arquivo CAR"
msgid "Drop to add images"
msgstr "Solte para adicionar imagens"
-#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:111
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:120
msgid "Due to Apple policies, adult content can only be enabled on the web after completing sign up."
msgstr "Devido a políticas da Apple, o conteúdo adulto só pode ser habilitado no site após terminar o cadastro."
-#: src/view/com/modals/EditProfile.tsx:185
+#: src/view/com/modals/ChangeHandle.tsx:258
+msgid "e.g. alice"
+msgstr "ex. alice"
+
+#: src/view/com/modals/EditProfile.tsx:186
msgid "e.g. Alice Roberts"
msgstr "ex. Alice Roberts"
-#: src/view/com/modals/EditProfile.tsx:203
+#: src/view/com/modals/ChangeHandle.tsx:380
+msgid "e.g. alice.com"
+msgstr "ex. alice.com"
+
+#: src/view/com/modals/EditProfile.tsx:204
msgid "e.g. Artist, dog-lover, and avid reader."
msgstr "ex. Artista, amo cachorros, leitora ávida."
-#: src/view/com/modals/CreateOrEditList.tsx:283
+#: src/lib/moderation/useGlobalLabelStrings.ts:43
+msgid "E.g. artistic nudes."
+msgstr "Ex. nudez artística."
+
+#: src/view/com/modals/CreateOrEditList.tsx:284
msgid "e.g. Great Posters"
msgstr "ex. Perfis Legais"
-#: src/view/com/modals/CreateOrEditList.tsx:284
+#: src/view/com/modals/CreateOrEditList.tsx:285
msgid "e.g. Spammers"
msgstr "ex. Chatos"
-#: src/view/com/modals/CreateOrEditList.tsx:312
+#: src/view/com/modals/CreateOrEditList.tsx:313
msgid "e.g. The posters who never miss."
msgstr "ex. Os perfis que eu mais gosto."
-#: src/view/com/modals/CreateOrEditList.tsx:313
+#: src/view/com/modals/CreateOrEditList.tsx:314
msgid "e.g. Users that repeatedly reply with ads."
msgstr "ex. Perfis que enchem o saco."
-#: src/view/com/modals/InviteCodes.tsx:96
+#: src/view/com/modals/InviteCodes.tsx:97
msgid "Each code works once. You'll receive more invite codes periodically."
msgstr "Cada convite só funciona uma vez. Você receberá mais convites periodicamente."
@@ -1194,51 +1313,58 @@ msgctxt "action"
msgid "Edit"
msgstr "Editar"
+#: src/view/com/util/UserAvatar.tsx:301
+#: src/view/com/util/UserBanner.tsx:85
+msgid "Edit avatar"
+msgstr "Editar avatar"
+
#: src/view/com/composer/photos/Gallery.tsx:144
-#: src/view/com/modals/EditImage.tsx:207
+#: src/view/com/modals/EditImage.tsx:208
msgid "Edit image"
msgstr "Editar imagem"
-#: src/view/screens/ProfileList.tsx:433
+#: src/view/screens/ProfileList.tsx:405
msgid "Edit list details"
msgstr "Editar detalhes da lista"
-#: src/view/com/modals/CreateOrEditList.tsx:250
+#: src/view/com/modals/CreateOrEditList.tsx:251
msgid "Edit Moderation List"
msgstr "Editar lista de moderação"
-#: src/Navigation.tsx:244
-#: src/view/screens/Feeds.tsx:434
-#: src/view/screens/SavedFeeds.tsx:84
+#: src/Navigation.tsx:256
+#: src/view/screens/Feeds.tsx:459
+#: src/view/screens/SavedFeeds.tsx:85
msgid "Edit My Feeds"
msgstr "Editar Meus Feeds"
-#: src/view/com/modals/EditProfile.tsx:152
+#: src/view/com/modals/EditProfile.tsx:153
msgid "Edit my profile"
msgstr "Editar meu perfil"
-#: src/view/com/profile/ProfileHeader.tsx:418
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:178
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:168
msgid "Edit profile"
msgstr "Editar perfil"
-#: src/view/com/profile/ProfileHeader.tsx:423
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:181
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:171
msgid "Edit Profile"
msgstr "Editar Perfil"
-#: src/view/com/home/HomeHeaderLayout.web.tsx:62
-#: src/view/screens/Feeds.tsx:355
+#: src/view/com/home/HomeHeaderLayout.web.tsx:66
+#: src/view/screens/Feeds.tsx:380
msgid "Edit Saved Feeds"
msgstr "Editar Feeds Salvos"
-#: src/view/com/modals/CreateOrEditList.tsx:245
+#: src/view/com/modals/CreateOrEditList.tsx:246
msgid "Edit User List"
msgstr "Editar lista de usuários"
-#: src/view/com/modals/EditProfile.tsx:193
+#: src/view/com/modals/EditProfile.tsx:194
msgid "Edit your display name"
msgstr "Editar seu nome"
-#: src/view/com/modals/EditProfile.tsx:211
+#: src/view/com/modals/EditProfile.tsx:212
msgid "Edit your profile description"
msgstr "Editar sua descrição"
@@ -1246,14 +1372,12 @@ msgstr "Editar sua descrição"
msgid "Education"
msgstr "Educação"
-#: src/view/com/auth/create/Step1.tsx:176
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:156
+#: src/screens/Signup/StepInfo/index.tsx:80
#: src/view/com/modals/ChangeEmail.tsx:141
msgid "Email"
msgstr "E-mail"
-#: src/view/com/auth/create/Step1.tsx:167
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:147
+#: src/screens/Login/ForgotPasswordForm.tsx:99
msgid "Email address"
msgstr "Endereço de e-mail"
@@ -1270,26 +1394,45 @@ msgstr "E-mail Atualizado"
msgid "Email verified"
msgstr "E-mail verificado"
-#: src/view/screens/Settings/index.tsx:312
+#: src/view/screens/Settings/index.tsx:334
msgid "Email:"
msgstr "E-mail:"
-#: src/view/com/modals/EmbedConsent.tsx:113
+#: src/components/dialogs/Embed.tsx:112
+msgid "Embed HTML code"
+msgstr ""
+
+#: src/components/dialogs/Embed.tsx:97
+#: src/view/com/util/forms/PostDropdownBtn.tsx:253
+#: src/view/com/util/forms/PostDropdownBtn.tsx:255
+msgid "Embed post"
+msgstr ""
+
+#: src/components/dialogs/Embed.tsx:101
+msgid "Embed this post in your website. Simply copy the following snippet and paste it into the HTML code of your website."
+msgstr ""
+
+#: src/components/dialogs/EmbedConsent.tsx:101
msgid "Enable {0} only"
msgstr "Habilitar somente {0}"
-#: src/view/com/modals/ContentFilteringSettings.tsx:167
+#: src/screens/Moderation/index.tsx:329
+msgid "Enable adult content"
+msgstr "Habilitar conteúdo adulto"
+
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:94
msgid "Enable Adult Content"
msgstr "Habilitar Conteúdo Adulto"
-#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:76
-#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:77
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:78
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:79
msgid "Enable adult content in your feeds"
msgstr "Habilitar conteúdo adulto nos feeds"
-#: src/view/com/modals/EmbedConsent.tsx:97
-msgid "Enable External Media"
-msgstr "Habilitar Mídia Externa"
+#: src/components/dialogs/EmbedConsent.tsx:82
+#: src/components/dialogs/EmbedConsent.tsx:89
+msgid "Enable external media"
+msgstr "Habilitar mídia externa"
#: src/view/screens/PreferencesExternalEmbeds.tsx:75
msgid "Enable media players for"
@@ -1299,16 +1442,28 @@ msgstr "Habilitar mídia para"
msgid "Enable this setting to only see replies between people you follow."
msgstr "Ative esta configuração para ver respostas apenas entre as pessoas que você segue."
-#: src/view/screens/Profile.tsx:455
+#: src/components/dialogs/EmbedConsent.tsx:94
+msgid "Enable this source only"
+msgstr "Habilitar mídia somente para este site"
+
+#: src/screens/Moderation/index.tsx:339
+msgid "Enabled"
+msgstr "Habilitado"
+
+#: src/screens/Profile/Sections/Feed.tsx:100
msgid "End of feed"
msgstr "Fim do feed"
-#: src/view/com/modals/AddAppPasswords.tsx:166
+#: src/view/com/modals/AddAppPasswords.tsx:167
msgid "Enter a name for this App Password"
msgstr "Insira um nome para esta Senha de Aplicativo"
+#: src/screens/Login/SetNewPasswordForm.tsx:139
+msgid "Enter a password"
+msgstr "Insira uma senha"
+
+#: src/components/dialogs/MutedWords.tsx:99
#: src/components/dialogs/MutedWords.tsx:100
-#: src/components/dialogs/MutedWords.tsx:101
msgid "Enter a word or tag"
msgstr "Digite uma palavra ou tag"
@@ -1316,28 +1471,24 @@ msgstr "Digite uma palavra ou tag"
msgid "Enter Confirmation Code"
msgstr "Insira o código de confirmação"
-#: src/view/com/modals/ChangePassword.tsx:151
+#: src/view/com/modals/ChangePassword.tsx:153
msgid "Enter the code you received to change your password."
msgstr "Digite o código recebido para alterar sua senha."
-#: src/view/com/modals/ChangeHandle.tsx:371
+#: src/view/com/modals/ChangeHandle.tsx:370
msgid "Enter the domain you want to use"
msgstr "Digite o domínio que você deseja usar"
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:107
+#: src/screens/Login/ForgotPasswordForm.tsx:119
msgid "Enter the email you used to create your account. We'll send you a \"reset code\" so you can set a new password."
msgstr "Digite o e-mail que você usou para criar a sua conta. Nós lhe enviaremos um \"código de redefinição\" para que você possa definir uma nova senha."
-#: src/view/com/auth/create/Step1.tsx:228
-#: src/view/com/modals/BirthDateSettings.tsx:74
+#: src/components/dialogs/BirthDateSettings.tsx:108
msgid "Enter your birth date"
msgstr "Insira seu aniversário"
-#: src/view/com/modals/Waitlist.tsx:78
-#~ msgid "Enter your email"
-#~ msgstr "Digite seu e-mail"
-
-#: src/view/com/auth/create/Step1.tsx:172
+#: src/screens/Login/ForgotPasswordForm.tsx:105
+#: src/screens/Signup/StepInfo/index.tsx:92
msgid "Enter your email address"
msgstr "Digite seu endereço de e-mail"
@@ -1349,15 +1500,15 @@ msgstr "Digite o novo e-mail acima"
msgid "Enter your new email address below."
msgstr "Digite seu novo endereço de e-mail abaixo."
-#: src/view/com/auth/login/Login.tsx:99
+#: src/screens/Login/index.tsx:101
msgid "Enter your username and password"
msgstr "Digite seu nome de usuário e senha"
-#: src/view/com/auth/create/Step3.tsx:67
+#: src/screens/Signup/StepCaptcha/index.tsx:49
msgid "Error receiving captcha response."
msgstr "Não foi possível processar o captcha."
-#: src/view/screens/Search/Search.tsx:110
+#: src/view/screens/Search/Search.tsx:115
msgid "Error:"
msgstr "Erro:"
@@ -1365,123 +1516,148 @@ msgstr "Erro:"
msgid "Everybody"
msgstr "Todos"
-#: src/view/com/modals/ChangeHandle.tsx:150
+#: src/lib/moderation/useReportOptions.ts:66
+msgid "Excessive mentions or replies"
+msgstr "Menções ou respostas excessivas"
+
+#: src/view/com/modals/DeleteAccount.tsx:230
+msgid "Exits account deletion process"
+msgstr "Sair do processo de deleção da conta"
+
+#: src/view/com/modals/ChangeHandle.tsx:151
msgid "Exits handle change process"
msgstr "Sair do processo de trocar usuário"
-#: src/view/com/lightbox/Lightbox.web.tsx:120
+#: src/view/com/modals/crop-image/CropImage.web.tsx:136
+msgid "Exits image cropping process"
+msgstr "Sair do processo de cortar imagem"
+
+#: src/view/com/lightbox/Lightbox.web.tsx:130
msgid "Exits image view"
msgstr "Sair do visualizador de imagem"
#: src/view/com/modals/ListAddRemoveUsers.tsx:88
-#: src/view/shell/desktop/Search.tsx:235
+#: src/view/shell/desktop/Search.tsx:236
msgid "Exits inputting search query"
msgstr "Sair da busca"
-#: src/view/com/modals/Waitlist.tsx:138
-#~ msgid "Exits signing up for waitlist with {email}"
-#~ msgstr "Desistir de entrar na lista de espera"
-
-#: src/view/com/lightbox/Lightbox.web.tsx:163
+#: src/view/com/lightbox/Lightbox.web.tsx:183
msgid "Expand alt text"
msgstr "Expandir texto alternativo"
-#: src/view/com/composer/ComposerReplyTo.tsx:81
-#: src/view/com/composer/ComposerReplyTo.tsx:84
+#: src/view/com/composer/ComposerReplyTo.tsx:82
+#: src/view/com/composer/ComposerReplyTo.tsx:85
msgid "Expand or collapse the full post you are replying to"
msgstr "Mostrar ou esconder o post a que você está respondendo"
-#: src/view/screens/Settings/index.tsx:753
+#: src/lib/moderation/useGlobalLabelStrings.ts:47
+msgid "Explicit or potentially disturbing media."
+msgstr "Imagens explícitas ou potencialmente perturbadoras."
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:35
+msgid "Explicit sexual images."
+msgstr "Imagens sexualmente explícitas."
+
+#: src/view/screens/Settings/index.tsx:741
msgid "Export my data"
msgstr "Exportar meus dados"
#: src/view/screens/Settings/ExportCarDialog.tsx:44
-#: src/view/screens/Settings/index.tsx:764
+#: src/view/screens/Settings/index.tsx:752
msgid "Export My Data"
msgstr "Exportar Meus Dados"
-#: src/view/com/modals/EmbedConsent.tsx:64
+#: src/components/dialogs/EmbedConsent.tsx:55
+#: src/components/dialogs/EmbedConsent.tsx:59
msgid "External Media"
msgstr "Mídia Externa"
-#: src/view/com/modals/EmbedConsent.tsx:75
+#: src/components/dialogs/EmbedConsent.tsx:71
#: src/view/screens/PreferencesExternalEmbeds.tsx:66
msgid "External media may allow websites to collect information about you and your device. No information is sent or requested until you press the \"play\" button."
msgstr "Mídias externas podem permitir que sites coletem informações sobre você e seu dispositivo. Nenhuma informação é enviada ou solicitada até que você pressione o botão de \"play\"."
-#: src/Navigation.tsx:263
+#: src/Navigation.tsx:275
#: src/view/screens/PreferencesExternalEmbeds.tsx:52
-#: src/view/screens/Settings/index.tsx:657
+#: src/view/screens/Settings/index.tsx:628
msgid "External Media Preferences"
msgstr "Preferências de Mídia Externa"
-#: src/view/screens/Settings/index.tsx:648
+#: src/view/screens/Settings/index.tsx:619
msgid "External media settings"
msgstr "Preferências de mídia externa"
-#: src/view/com/modals/AddAppPasswords.tsx:115
-#: src/view/com/modals/AddAppPasswords.tsx:119
+#: src/view/com/modals/AddAppPasswords.tsx:116
+#: src/view/com/modals/AddAppPasswords.tsx:120
msgid "Failed to create app password."
msgstr "Não foi possível criar senha de aplicativo."
-#: src/view/com/modals/CreateOrEditList.tsx:206
+#: src/view/com/modals/CreateOrEditList.tsx:207
msgid "Failed to create the list. Check your internet connection and try again."
msgstr "Não foi possível criar a lista. Por favor tente novamente."
-#: src/view/com/util/forms/PostDropdownBtn.tsx:128
+#: src/view/com/util/forms/PostDropdownBtn.tsx:131
msgid "Failed to delete post, please try again"
msgstr "Não foi possível excluir o post, por favor tente novamente."
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:109
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:141
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:110
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:143
msgid "Failed to load recommended feeds"
msgstr "Falha ao carregar feeds recomendados"
-#: src/Navigation.tsx:194
+#: src/view/com/lightbox/Lightbox.tsx:83
+msgid "Failed to save image: {0}"
+msgstr "Não foi possível salvar a imagem: {0}"
+
+#: src/Navigation.tsx:196
msgid "Feed"
msgstr "Feed"
-#: src/view/com/feeds/FeedSourceCard.tsx:231
+#: src/view/com/feeds/FeedSourceCard.tsx:218
msgid "Feed by {0}"
msgstr "Feed por {0}"
-#: src/view/screens/Feeds.tsx:605
+#: src/view/screens/Feeds.tsx:630
msgid "Feed offline"
msgstr "Feed offline"
-#: src/view/com/feeds/FeedPage.tsx:143
-#~ msgid "Feed Preferences"
-#~ msgstr "Preferências de Feeds"
-
#: src/view/shell/desktop/RightNav.tsx:61
-#: src/view/shell/Drawer.tsx:311
+#: src/view/shell/Drawer.tsx:320
msgid "Feedback"
msgstr "Comentários"
-#: src/Navigation.tsx:452
-#: src/view/screens/Feeds.tsx:419
-#: src/view/screens/Feeds.tsx:524
-#: src/view/screens/Profile.tsx:184
-#: src/view/shell/bottom-bar/BottomBar.tsx:181
-#: src/view/shell/desktop/LeftNav.tsx:342
-#: src/view/shell/Drawer.tsx:476
-#: src/view/shell/Drawer.tsx:477
+#: src/Navigation.tsx:456
+#: src/view/screens/Feeds.tsx:444
+#: src/view/screens/Feeds.tsx:549
+#: src/view/screens/Profile.tsx:199
+#: src/view/shell/bottom-bar/BottomBar.tsx:192
+#: src/view/shell/desktop/LeftNav.tsx:346
+#: src/view/shell/Drawer.tsx:485
+#: src/view/shell/Drawer.tsx:486
msgid "Feeds"
msgstr "Feeds"
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:57
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:58
msgid "Feeds are created by users to curate content. Choose some feeds that you find interesting."
msgstr "Os feeds são criados por usuários para curadoria de conteúdo. Escolha alguns feeds que você acha interessantes."
-#: src/view/screens/SavedFeeds.tsx:156
+#: src/view/screens/SavedFeeds.tsx:157
msgid "Feeds are custom algorithms that users build with a little coding expertise. <0/> for more information."
msgstr "Os feeds são algoritmos personalizados que os usuários com um pouco de experiência em programação podem criar. <0/> para mais informações."
-#: src/screens/Onboarding/StepTopicalFeeds.tsx:76
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:80
msgid "Feeds can be topical as well!"
msgstr "Feeds podem ser de assuntos específicos também!"
-#: src/screens/Onboarding/StepFinished.tsx:151
+#: src/view/com/modals/ChangeHandle.tsx:481
+msgid "File Contents"
+msgstr "Conteúdo do arquivo"
+
+#: src/lib/moderation/useLabelBehaviorDescription.ts:66
+msgid "Filter from feeds"
+msgstr "Filtrar dos feeds"
+
+#: src/screens/Onboarding/StepFinished.tsx:155
msgid "Finalizing"
msgstr "Finalizando"
@@ -1491,15 +1667,15 @@ msgstr "Finalizando"
msgid "Find accounts to follow"
msgstr "Encontre contas para seguir"
-#: src/view/screens/Search/Search.tsx:440
+#: src/view/screens/Search/Search.tsx:589
msgid "Find users on Bluesky"
msgstr "Encontrar usuários no Bluesky"
-#: src/view/screens/Search/Search.tsx:438
+#: src/view/screens/Search/Search.tsx:587
msgid "Find users with the search tool on the right"
msgstr "Encontre usuários com a ferramenta de busca à direita"
-#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:150
+#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:155
msgid "Finding similar accounts..."
msgstr "Procurando contas semelhantes..."
@@ -1515,49 +1691,60 @@ msgstr "Ajuste as threads."
msgid "Fitness"
msgstr "Fitness"
-#: src/screens/Onboarding/StepFinished.tsx:131
+#: src/screens/Onboarding/StepFinished.tsx:135
msgid "Flexible"
msgstr "Flexível"
-#: src/view/com/modals/EditImage.tsx:115
+#: src/view/com/modals/EditImage.tsx:116
msgid "Flip horizontal"
msgstr "Virar horizontalmente"
-#: src/view/com/modals/EditImage.tsx:120
-#: src/view/com/modals/EditImage.tsx:287
+#: src/view/com/modals/EditImage.tsx:121
+#: src/view/com/modals/EditImage.tsx:288
msgid "Flip vertically"
msgstr "Virar verticalmente"
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:181
-#: src/view/com/post-thread/PostThreadFollowBtn.tsx:136
-#: src/view/com/profile/ProfileHeader.tsx:513
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:189
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:235
+#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:141
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:146
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:248
msgid "Follow"
msgstr "Seguir"
-#: src/view/com/profile/FollowButton.tsx:64
+#: src/view/com/profile/FollowButton.tsx:69
msgctxt "action"
msgid "Follow"
msgstr "Seguir"
#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:58
-#: src/view/com/post-thread/PostThreadFollowBtn.tsx:122
-#: src/view/com/profile/ProfileHeader.tsx:504
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:221
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:128
msgid "Follow {0}"
msgstr "Seguir {0}"
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:179
+#: src/view/com/profile/ProfileMenu.tsx:242
+#: src/view/com/profile/ProfileMenu.tsx:253
+msgid "Follow Account"
+msgstr "Seguir Conta"
+
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:187
msgid "Follow All"
msgstr "Seguir Todas"
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:174
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:144
+msgid "Follow Back"
+msgstr "Seguir De Volta"
+
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:182
msgid "Follow selected accounts and continue to the next step"
msgstr "Siga algumas contas e continue para o próximo passo"
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:64
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:65
msgid "Follow some users to get started. We can recommend you more users based on who you find interesting."
msgstr "Comece seguindo alguns usuários. Mais usuários podem ser recomendados com base em quem você acha interessante."
-#: src/view/com/profile/ProfileCard.tsx:194
+#: src/view/com/profile/ProfileCard.tsx:219
msgid "Followed by {0}"
msgstr "Seguido por {0}"
@@ -1569,37 +1756,43 @@ msgstr "Usuários seguidos"
msgid "Followed users only"
msgstr "Somente usuários seguidos"
-#: src/view/com/notifications/FeedItem.tsx:166
+#: src/view/com/notifications/FeedItem.tsx:172
msgid "followed you"
msgstr "seguiu você"
+#: src/view/com/profile/ProfileFollowers.tsx:104
#: src/view/screens/ProfileFollowers.tsx:25
msgid "Followers"
msgstr "Seguidores"
-#: src/view/com/post-thread/PostThreadFollowBtn.tsx:136
-#: src/view/com/profile/ProfileHeader.tsx:495
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:233
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:149
+#: src/view/com/profile/ProfileFollows.tsx:104
#: src/view/screens/ProfileFollows.tsx:25
msgid "Following"
msgstr "Seguindo"
-#: src/view/com/profile/ProfileHeader.tsx:149
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:93
msgid "Following {0}"
msgstr "Seguindo {0}"
-#: src/Navigation.tsx:250
-#: src/view/com/home/HomeHeaderLayout.web.tsx:50
-#: src/view/com/home/HomeHeaderLayoutMobile.tsx:84
+#: src/view/screens/Settings/index.tsx:504
+msgid "Following feed preferences"
+msgstr "Configurações do feed principal"
+
+#: src/Navigation.tsx:262
+#: src/view/com/home/HomeHeaderLayout.web.tsx:54
+#: src/view/com/home/HomeHeaderLayoutMobile.tsx:87
#: src/view/screens/PreferencesFollowingFeed.tsx:104
-#: src/view/screens/Settings/index.tsx:543
+#: src/view/screens/Settings/index.tsx:513
msgid "Following Feed Preferences"
msgstr "Configurações do feed principal"
-#: src/view/com/profile/ProfileHeader.tsx:546
+#: src/screens/Profile/Header/Handle.tsx:24
msgid "Follows you"
msgstr "Segue você"
-#: src/view/com/profile/ProfileCard.tsx:141
+#: src/view/com/profile/ProfileCard.tsx:144
msgid "Follows You"
msgstr "Segue Você"
@@ -1607,33 +1800,37 @@ msgstr "Segue Você"
msgid "Food"
msgstr "Comida"
-#: src/view/com/modals/DeleteAccount.tsx:111
+#: src/view/com/modals/DeleteAccount.tsx:110
msgid "For security reasons, we'll need to send a confirmation code to your email address."
msgstr "Por motivos de segurança, precisamos enviar um código de confirmação para seu endereço de e-mail."
-#: src/view/com/modals/AddAppPasswords.tsx:209
+#: src/view/com/modals/AddAppPasswords.tsx:210
msgid "For security reasons, you won't be able to view this again. If you lose this password, you'll need to generate a new one."
msgstr "Por motivos de segurança, você não poderá ver esta senha novamente. Se você perder esta senha, terá que gerar uma nova."
-#: src/view/com/auth/login/LoginForm.tsx:241
-msgid "Forgot"
-msgstr "Esqueci"
-
-#: src/view/com/auth/login/LoginForm.tsx:238
-msgid "Forgot password"
-msgstr "Esqueci a senha"
-
-#: src/view/com/auth/login/Login.tsx:127
-#: src/view/com/auth/login/Login.tsx:143
+#: src/screens/Login/index.tsx:129
+#: src/screens/Login/index.tsx:144
msgid "Forgot Password"
msgstr "Esqueci a Senha"
-#: src/screens/Hashtag.tsx:108
-#: src/screens/Hashtag.tsx:148
+#: src/screens/Login/LoginForm.tsx:201
+msgid "Forgot password?"
+msgstr "Esqueceu a senha?"
+
+#: src/screens/Login/LoginForm.tsx:212
+msgid "Forgot?"
+msgstr "Esqueceu?"
+
+#: src/lib/moderation/useReportOptions.ts:52
+msgid "Frequently Posts Unwanted Content"
+msgstr "Frequentemente Posta Conteúdo Indesejado"
+
+#: src/screens/Hashtag.tsx:109
+#: src/screens/Hashtag.tsx:149
msgid "From @{sanitizedAuthor}"
msgstr "De @{sanitizedAuthor}"
-#: src/view/com/posts/FeedItem.tsx:189
+#: src/view/com/posts/FeedItem.tsx:181
msgctxt "from-feed"
msgid "From <0/>"
msgstr "Por <0/>"
@@ -1647,114 +1844,137 @@ msgstr "Galeria"
msgid "Get Started"
msgstr "Vamos começar"
-#: src/view/com/auth/LoggedOut.tsx:81
+#: src/lib/moderation/useReportOptions.ts:37
+msgid "Glaring violations of law or terms of service"
+msgstr "Violações flagrantes da lei ou dos termos de serviço"
+
+#: src/components/moderation/ScreenHider.tsx:151
+#: src/components/moderation/ScreenHider.tsx:160
#: src/view/com/auth/LoggedOut.tsx:82
-#: src/view/com/util/moderation/ScreenHider.tsx:123
-#: src/view/shell/desktop/LeftNav.tsx:104
+#: src/view/com/auth/LoggedOut.tsx:83
+#: src/view/screens/NotFound.tsx:55
+#: src/view/screens/ProfileFeed.tsx:112
+#: src/view/screens/ProfileList.tsx:918
+#: src/view/shell/desktop/LeftNav.tsx:108
msgid "Go back"
msgstr "Voltar"
-#: src/view/screens/ProfileFeed.tsx:106
-#: src/view/screens/ProfileFeed.tsx:111
-#: src/view/screens/ProfileList.tsx:902
-#: src/view/screens/ProfileList.tsx:907
+#: src/components/Error.tsx:91
+#: src/screens/Profile/ErrorState.tsx:62
+#: src/screens/Profile/ErrorState.tsx:66
+#: src/view/screens/NotFound.tsx:54
+#: src/view/screens/ProfileFeed.tsx:117
+#: src/view/screens/ProfileList.tsx:923
msgid "Go Back"
msgstr "Voltar"
-#: src/screens/Onboarding/Layout.tsx:104
-#: src/screens/Onboarding/Layout.tsx:193
+#: src/components/ReportDialog/SelectReportOptionView.tsx:73
+#: src/components/ReportDialog/SubmitView.tsx:102
+#: src/screens/Onboarding/Layout.tsx:102
+#: src/screens/Onboarding/Layout.tsx:191
+#: src/screens/Signup/index.tsx:174
msgid "Go back to previous step"
msgstr "Voltar para o passo anterior"
-#: src/view/screens/Search/Search.tsx:747
-#: src/view/shell/desktop/Search.tsx:262
+#: src/view/screens/NotFound.tsx:55
+msgid "Go home"
+msgstr "Voltar para a tela inicial"
+
+#: src/view/screens/NotFound.tsx:54
+msgid "Go Home"
+msgstr "Voltar para a tela inicial"
+
+#: src/view/screens/Search/Search.tsx:896
+#: src/view/shell/desktop/Search.tsx:263
msgid "Go to @{queryMaybeHandle}"
msgstr "Ir para @{queryMaybleHandle}"
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:189
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:218
-#: src/view/com/auth/login/LoginForm.tsx:288
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:195
-#: src/view/com/modals/ChangePassword.tsx:165
+#: src/screens/Login/ForgotPasswordForm.tsx:172
+#: src/view/com/modals/ChangePassword.tsx:167
msgid "Go to next"
msgstr "Próximo"
-#: src/view/com/modals/ChangeHandle.tsx:265
+#: src/lib/moderation/useGlobalLabelStrings.ts:46
+msgid "Graphic Media"
+msgstr "Conteúdo Gráfico"
+
+#: src/view/com/modals/ChangeHandle.tsx:266
msgid "Handle"
msgstr "Usuário"
-#: src/Navigation.tsx:270
+#: src/lib/moderation/useReportOptions.ts:32
+msgid "Harassment, trolling, or intolerance"
+msgstr "Assédio, intolerância ou \"trollagem\""
+
+#: src/Navigation.tsx:282
msgid "Hashtag"
msgstr "Hashtag"
-#: src/components/RichText.tsx:188
-#~ msgid "Hashtag: {tag}"
-#~ msgstr "Hashtag: {tag}"
-
-#: src/components/RichText.tsx:190
+#: src/components/RichText.tsx:197
msgid "Hashtag: #{tag}"
msgstr "Hashtag: #{tag}"
-#: src/view/com/auth/create/CreateAccount.tsx:208
+#: src/screens/Signup/index.tsx:221
msgid "Having trouble?"
msgstr "Precisa de ajuda?"
#: src/view/shell/desktop/RightNav.tsx:90
-#: src/view/shell/Drawer.tsx:321
+#: src/view/shell/Drawer.tsx:330
msgid "Help"
msgstr "Ajuda"
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:132
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:140
msgid "Here are some accounts for you to follow"
msgstr "Aqui estão algumas contas para você seguir"
-#: src/screens/Onboarding/StepTopicalFeeds.tsx:85
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:89
msgid "Here are some popular topical feeds. You can choose to follow as many as you like."
msgstr "Aqui estão alguns feeds de assuntos. Você pode seguir quantos quiser."
-#: src/screens/Onboarding/StepTopicalFeeds.tsx:80
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:84
msgid "Here are some topical feeds based on your interests: {interestsText}. You can choose to follow as many as you like."
msgstr "Aqui estão alguns feeds de assuntos baseados nos seus interesses: {interestsText}. Você pode seguir quantos quiser."
-#: src/view/com/modals/AddAppPasswords.tsx:153
+#: src/view/com/modals/AddAppPasswords.tsx:154
msgid "Here is your app password."
msgstr "Aqui está a sua senha de aplicativo."
-#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:41
-#: src/view/com/modals/ContentFilteringSettings.tsx:251
-#: src/view/com/util/moderation/ContentHider.tsx:105
-#: src/view/com/util/moderation/PostHider.tsx:108
+#: src/components/moderation/ContentHider.tsx:115
+#: src/components/moderation/LabelPreference.tsx:134
+#: src/components/moderation/PostHider.tsx:107
+#: src/lib/moderation/useLabelBehaviorDescription.ts:15
+#: src/lib/moderation/useLabelBehaviorDescription.ts:20
+#: src/lib/moderation/useLabelBehaviorDescription.ts:25
+#: src/lib/moderation/useLabelBehaviorDescription.ts:30
+#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:52
+#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:76
+#: src/view/com/util/forms/PostDropdownBtn.tsx:350
msgid "Hide"
msgstr "Ocultar"
-#: src/view/com/modals/ContentFilteringSettings.tsx:224
-#: src/view/com/notifications/FeedItem.tsx:326
+#: src/view/com/notifications/FeedItem.tsx:331
msgctxt "action"
msgid "Hide"
msgstr "Esconder"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:276
-#: src/view/com/util/forms/PostDropdownBtn.tsx:287
+#: src/view/com/util/forms/PostDropdownBtn.tsx:294
+#: src/view/com/util/forms/PostDropdownBtn.tsx:296
msgid "Hide post"
msgstr "Ocultar post"
-#: src/view/com/util/moderation/ContentHider.tsx:67
-#: src/view/com/util/moderation/PostHider.tsx:61
+#: src/components/moderation/ContentHider.tsx:67
+#: src/components/moderation/PostHider.tsx:64
msgid "Hide the content"
msgstr "Esconder o conteúdo"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:280
+#: src/view/com/util/forms/PostDropdownBtn.tsx:347
msgid "Hide this post?"
msgstr "Ocultar este post?"
-#: src/view/com/notifications/FeedItem.tsx:316
+#: src/view/com/notifications/FeedItem.tsx:321
msgid "Hide user list"
msgstr "Ocultar lista de usuários"
-#: src/view/com/profile/ProfileHeader.tsx:487
-msgid "Hides posts from {0} in your feed"
-msgstr "Esconder posts de {0} no seu feed"
-
#: src/view/com/posts/FeedErrorMessage.tsx:111
msgid "Hmm, some kind of issue occurred when contacting the feed server. Please let the feed owner know about this issue."
msgstr "Hmm, ocorreu algum problema ao entrar em contato com o servidor deste feed. Por favor, avise o criador do feed sobre este problema."
@@ -1775,23 +1995,30 @@ msgstr "Hmm, o servidor do feed teve algum problema. Por favor, avise o criador
msgid "Hmm, we're having trouble finding this feed. It may have been deleted."
msgstr "Hmm, estamos com problemas para encontrar este feed. Ele pode ter sido excluído."
-#: src/Navigation.tsx:442
-#: src/view/shell/bottom-bar/BottomBar.tsx:137
-#: src/view/shell/desktop/LeftNav.tsx:306
-#: src/view/shell/Drawer.tsx:398
-#: src/view/shell/Drawer.tsx:399
+#: src/screens/Moderation/index.tsx:59
+msgid "Hmmmm, it seems we're having trouble loading this data. See below for more details. If this issue persists, please contact us."
+msgstr "Hmmmm, parece que estamos com problemas pra carregar isso. Veja mais detalhes abaixo. Se o problema continuar, por favor, entre em contato."
+
+#: src/screens/Profile/ErrorState.tsx:31
+msgid "Hmmmm, we couldn't load that moderation service."
+msgstr "Hmmmm, não foi possível carregar este serviço de moderação."
+
+#: src/Navigation.tsx:446
+#: src/view/shell/bottom-bar/BottomBar.tsx:148
+#: src/view/shell/desktop/LeftNav.tsx:310
+#: src/view/shell/Drawer.tsx:407
+#: src/view/shell/Drawer.tsx:408
msgid "Home"
msgstr "Página Inicial"
-#: src/Navigation.tsx:247
-#: src/view/com/pager/FeedsTabBarMobile.tsx:123
-#: src/view/screens/PreferencesHomeFeed.tsx:104
-#: src/view/screens/Settings/index.tsx:543
-#~ msgid "Home Feed Preferences"
-#~ msgstr "Preferências da Página Inicial"
+#: src/view/com/modals/ChangeHandle.tsx:420
+msgid "Host:"
+msgstr "Host:"
-#: src/view/com/auth/create/Step1.tsx:75
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:120
+#: src/screens/Login/ForgotPasswordForm.tsx:89
+#: src/screens/Login/LoginForm.tsx:134
+#: src/screens/Signup/StepInfo/index.tsx:40
+#: src/view/com/modals/ChangeHandle.tsx:281
msgid "Hosting provider"
msgstr "Provedor de hospedagem"
@@ -1807,11 +2034,11 @@ msgstr "Eu tenho um código"
msgid "I have a confirmation code"
msgstr "Eu tenho um código"
-#: src/view/com/modals/ChangeHandle.tsx:283
+#: src/view/com/modals/ChangeHandle.tsx:284
msgid "I have my own domain"
msgstr "Eu tenho meu próprio domínio"
-#: src/view/com/lightbox/Lightbox.web.tsx:165
+#: src/view/com/lightbox/Lightbox.web.tsx:185
msgid "If alt text is long, toggles alt text expanded state"
msgstr "Se o texto alternativo é longo, mostra o texto completo"
@@ -1819,174 +2046,198 @@ msgstr "Se o texto alternativo é longo, mostra o texto completo"
msgid "If none are selected, suitable for all ages."
msgstr "Se nenhum for selecionado, adequado para todas as idades."
-#: src/view/com/modals/ChangePassword.tsx:146
+#: src/screens/Signup/StepInfo/Policies.tsx:83
+msgid "If you are not yet an adult according to the laws of your country, your parent or legal guardian must read these Terms on your behalf."
+msgstr "Se você ainda não é um adulto de acordo com as leis do seu país, seu responsável ou guardião legal deve ler estes Termos por você."
+
+#: src/view/screens/ProfileList.tsx:612
+msgid "If you delete this list, you won't be able to recover it."
+msgstr "Se você deletar esta lista, você não poderá recuperá-la."
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:338
+msgid "If you remove this post, you won't be able to recover it."
+msgstr "Se você remover este post, você não poderá recuperá-la."
+
+#: src/view/com/modals/ChangePassword.tsx:148
msgid "If you want to change your password, we will send you a code to verify that this is your account."
msgstr "Se você quiser alterar sua senha, enviaremos um código que para verificar sua identidade."
+#: src/lib/moderation/useReportOptions.ts:36
+msgid "Illegal and Urgent"
+msgstr "Ilegal e Urgente"
+
#: src/view/com/util/images/Gallery.tsx:38
msgid "Image"
msgstr "Imagem"
-#: src/view/com/modals/AltImage.tsx:120
+#: src/view/com/modals/AltImage.tsx:121
msgid "Image alt text"
msgstr "Texto alternativo da imagem"
-#: src/view/com/util/UserAvatar.tsx:311
-#: src/view/com/util/UserBanner.tsx:118
-msgid "Image options"
-msgstr "Opções de imagem"
+#: src/lib/moderation/useReportOptions.ts:47
+msgid "Impersonation or false claims about identity or affiliation"
+msgstr "Falsificação de identidade ou alegações falsas sobre identidade ou filiação"
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:138
+#: src/screens/Login/SetNewPasswordForm.tsx:127
msgid "Input code sent to your email for password reset"
msgstr "Insira o código enviado para o seu e-mail para redefinir sua senha"
-#: src/view/com/modals/DeleteAccount.tsx:184
+#: src/view/com/modals/DeleteAccount.tsx:183
msgid "Input confirmation code for account deletion"
msgstr "Insira o código de confirmação para excluir sua conta"
-#: src/view/com/auth/create/Step1.tsx:177
-msgid "Input email for Bluesky account"
-msgstr "Insira o e-mail para a sua conta do Bluesky"
-
-#: src/view/com/auth/create/Step1.tsx:151
-msgid "Input invite code to proceed"
-msgstr "Insira o convite para continuar"
-
-#: src/view/com/modals/AddAppPasswords.tsx:180
+#: src/view/com/modals/AddAppPasswords.tsx:181
msgid "Input name for app password"
msgstr "Insira um nome para a senha de aplicativo"
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:162
+#: src/screens/Login/SetNewPasswordForm.tsx:151
msgid "Input new password"
msgstr "Insira a nova senha"
-#: src/view/com/modals/DeleteAccount.tsx:203
+#: src/view/com/modals/DeleteAccount.tsx:202
msgid "Input password for account deletion"
msgstr "Insira a senha para excluir a conta"
-#: src/view/com/auth/login/LoginForm.tsx:230
+#: src/screens/Login/LoginForm.tsx:195
msgid "Input the password tied to {identifier}"
msgstr "Insira a senha da conta {identifier}"
-#: src/view/com/auth/login/LoginForm.tsx:197
+#: src/screens/Login/LoginForm.tsx:168
msgid "Input the username or email address you used at signup"
msgstr "Insira o usuário ou e-mail que você cadastrou"
-#: src/view/com/modals/Waitlist.tsx:90
-#~ msgid "Input your email to get on the Bluesky waitlist"
-#~ msgstr "Insira seu e-mail para entrar na lista de espera do Bluesky"
-
-#: src/view/com/auth/login/LoginForm.tsx:229
+#: src/screens/Login/LoginForm.tsx:194
msgid "Input your password"
msgstr "Insira sua senha"
-#: src/view/com/auth/create/Step2.tsx:80
+#: src/view/com/modals/ChangeHandle.tsx:389
+msgid "Input your preferred hosting provider"
+msgstr "Insira seu provedor de hospedagem"
+
+#: src/screens/Signup/StepHandle.tsx:63
msgid "Input your user handle"
msgstr "Insira o usuário"
-#: src/view/com/post-thread/PostThreadItem.tsx:226
+#: src/view/com/post-thread/PostThreadItem.tsx:221
msgid "Invalid or unsupported post record"
msgstr "Post inválido"
-#: src/view/com/auth/login/LoginForm.tsx:113
+#: src/screens/Login/LoginForm.tsx:114
msgid "Invalid username or password"
msgstr "Credenciais inválidas"
-#: src/view/com/modals/InviteCodes.tsx:93
+#: src/view/com/modals/InviteCodes.tsx:94
msgid "Invite a Friend"
msgstr "Convide um Amigo"
-#: src/view/com/auth/create/Step1.tsx:141
-#: src/view/com/auth/create/Step1.tsx:150
+#: src/screens/Signup/StepInfo/index.tsx:58
msgid "Invite code"
msgstr "Convite"
-#: src/view/com/auth/create/state.ts:158
+#: src/screens/Signup/state.ts:278
msgid "Invite code not accepted. Check that you input it correctly and try again."
msgstr "Convite inválido. Verifique se você o inseriu corretamente e tente novamente."
-#: src/view/com/modals/InviteCodes.tsx:170
+#: src/view/com/modals/InviteCodes.tsx:171
msgid "Invite codes: {0} available"
msgstr "Convites: {0} disponíveis"
-#: src/view/com/modals/InviteCodes.tsx:169
+#: src/view/com/modals/InviteCodes.tsx:170
msgid "Invite codes: 1 available"
msgstr "Convites: 1 disponível"
-#: src/screens/Onboarding/StepFollowingFeed.tsx:64
+#: src/screens/Onboarding/StepFollowingFeed.tsx:65
msgid "It shows posts from the people you follow as they happen."
msgstr "Mostra os posts de quem você segue conforme acontecem."
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:99
-#: src/view/com/auth/SplashScreen.web.tsx:138
+#: src/view/com/auth/SplashScreen.web.tsx:152
msgid "Jobs"
msgstr "Carreiras"
-#: src/view/com/modals/Waitlist.tsx:67
-#~ msgid "Join the waitlist"
-#~ msgstr "Junte-se à lista de espera"
-
-#: src/view/com/auth/create/Step1.tsx:174
-#: src/view/com/auth/create/Step1.tsx:178
-#~ msgid "Join the waitlist."
-#~ msgstr "Junte-se à lista de espera."
-
-#: src/view/com/modals/Waitlist.tsx:128
-#~ msgid "Join Waitlist"
-#~ msgstr "Junte-se à Lista de Espera"
-
#: src/screens/Onboarding/index.tsx:24
msgid "Journalism"
msgstr "Jornalismo"
+#: src/components/moderation/LabelsOnMe.tsx:59
+msgid "label has been placed on this {labelTarget}"
+msgstr "rótulo aplicado neste {labelTarget}"
+
+#: src/components/moderation/ContentHider.tsx:144
+msgid "Labeled by {0}."
+msgstr "Rotulado por {0}."
+
+#: src/components/moderation/ContentHider.tsx:142
+msgid "Labeled by the author."
+msgstr "Rotulado pelo autor."
+
+#: src/view/screens/Profile.tsx:193
+msgid "Labels"
+msgstr "Rótulos"
+
+#: src/screens/Profile/Sections/Labels.tsx:153
+msgid "Labels are annotations on users and content. They can be used to hide, warn, and categorize the network."
+msgstr "Rótulos são identificações aplicadas sobre perfis e conteúdos. Eles são utilizados para esconder, avisar e categorizar o conteúdo da rede."
+
+#: src/components/moderation/LabelsOnMe.tsx:61
+msgid "labels have been placed on this {labelTarget}"
+msgstr "rótulos foram aplicados neste {labelTarget}"
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:62
+msgid "Labels on your account"
+msgstr "Rótulos sobre sua conta"
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:64
+msgid "Labels on your content"
+msgstr "Rótulos sobre seu conteúdo"
+
#: src/view/com/composer/select-language/SelectLangBtn.tsx:104
msgid "Language selection"
msgstr "Seleção de idioma"
-#: src/view/screens/Settings/index.tsx:594
+#: src/view/screens/Settings/index.tsx:565
msgid "Language settings"
msgstr "Configuração de Idioma"
-#: src/Navigation.tsx:142
+#: src/Navigation.tsx:144
#: src/view/screens/LanguageSettings.tsx:89
msgid "Language Settings"
msgstr "Configurações de Idiomas"
-#: src/view/screens/Settings/index.tsx:603
+#: src/view/screens/Settings/index.tsx:574
msgid "Languages"
msgstr "Idiomas"
-#: src/view/com/auth/create/StepHeader.tsx:20
-msgid "Last step!"
-msgstr "Último passo!"
+#: src/view/screens/Search/Search.tsx:437
+msgid "Latest"
+msgstr ""
-#: src/view/com/util/moderation/ContentHider.tsx:103
-msgid "Learn more"
-msgstr "Saiba mais"
-
-#: src/view/com/util/moderation/PostAlerts.tsx:47
-#: src/view/com/util/moderation/ProfileHeaderAlerts.tsx:65
-#: src/view/com/util/moderation/ScreenHider.tsx:104
+#: src/components/moderation/ScreenHider.tsx:136
msgid "Learn More"
msgstr "Saiba Mais"
-#: src/view/com/util/moderation/ContentHider.tsx:85
-#: src/view/com/util/moderation/PostAlerts.tsx:40
-#: src/view/com/util/moderation/PostHider.tsx:78
-#: src/view/com/util/moderation/ProfileHeaderAlerts.tsx:49
-#: src/view/com/util/moderation/ScreenHider.tsx:101
+#: src/components/moderation/ContentHider.tsx:65
+#: src/components/moderation/ContentHider.tsx:128
+msgid "Learn more about the moderation applied to this content."
+msgstr "Saiba mais sobre a decisão de moderação aplicada neste conteúdo."
+
+#: src/components/moderation/PostHider.tsx:85
+#: src/components/moderation/ScreenHider.tsx:125
msgid "Learn more about this warning"
msgstr "Saiba mais sobre este aviso"
-#: src/view/screens/Moderation.tsx:262
+#: src/screens/Moderation/index.tsx:549
msgid "Learn more about what is public on Bluesky."
msgstr "Saiba mais sobre o que é público no Bluesky."
+#: src/components/moderation/ContentHider.tsx:152
+msgid "Learn more."
+msgstr "Saiba mais."
+
#: src/view/com/modals/lang-settings/ContentLanguagesSettings.tsx:82
msgid "Leave them all unchecked to see any language."
msgstr "Deixe todos desmarcados para ver qualquer idioma."
-#: src/view/com/modals/LinkWarning.tsx:51
+#: src/view/com/modals/LinkWarning.tsx:65
msgid "Leaving Bluesky"
msgstr "Saindo do Bluesky"
@@ -1994,138 +2245,135 @@ msgstr "Saindo do Bluesky"
msgid "left to go."
msgstr "na sua frente."
-#: src/view/screens/Settings/index.tsx:278
+#: src/view/screens/Settings/index.tsx:299
msgid "Legacy storage cleared, you need to restart the app now."
msgstr "Armazenamento limpo, você precisa reiniciar o app agora."
-#: src/view/com/auth/login/Login.tsx:128
-#: src/view/com/auth/login/Login.tsx:144
+#: src/screens/Login/index.tsx:130
+#: src/screens/Login/index.tsx:145
msgid "Let's get your password reset!"
msgstr "Vamos redefinir sua senha!"
-#: src/screens/Onboarding/StepFinished.tsx:151
+#: src/screens/Onboarding/StepFinished.tsx:155
msgid "Let's go!"
msgstr "Vamos lá!"
-#: src/view/com/util/UserAvatar.tsx:248
-#: src/view/com/util/UserBanner.tsx:62
-msgid "Library"
-msgstr "Biblioteca"
-
-#: src/view/screens/Settings/index.tsx:479
+#: src/view/screens/Settings/index.tsx:449
msgid "Light"
msgstr "Claro"
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:182
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:197
msgid "Like"
msgstr "Curtir"
-#: src/view/screens/ProfileFeed.tsx:591
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:264
+#: src/view/screens/ProfileFeed.tsx:585
msgid "Like this feed"
msgstr "Curtir este feed"
-#: src/Navigation.tsx:199
+#: src/components/LikesDialog.tsx:87
+#: src/Navigation.tsx:201
+#: src/Navigation.tsx:206
msgid "Liked by"
msgstr "Curtido por"
+#: src/screens/Profile/ProfileLabelerLikedBy.tsx:29
#: src/view/screens/PostLikedBy.tsx:27
#: src/view/screens/ProfileFeedLikedBy.tsx:27
msgid "Liked By"
msgstr "Curtido Por"
-#: src/view/com/feeds/FeedSourceCard.tsx:279
+#: src/view/com/feeds/FeedSourceCard.tsx:268
msgid "Liked by {0} {1}"
msgstr "Curtido por {0} {1}"
-#: src/view/screens/ProfileFeed.tsx:606
+#: src/components/LabelingServiceCard/index.tsx:72
+msgid "Liked by {count} {0}"
+msgstr "Curtido por {count} {0}"
+
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:284
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:298
+#: src/view/screens/ProfileFeed.tsx:600
msgid "Liked by {likeCount} {0}"
msgstr "Curtido por {likeCount} {0}"
-#: src/view/com/notifications/FeedItem.tsx:170
+#: src/view/com/notifications/FeedItem.tsx:176
msgid "liked your custom feed"
msgstr "curtiram seu feed"
-#: src/view/com/notifications/FeedItem.tsx:155
+#: src/view/com/notifications/FeedItem.tsx:161
msgid "liked your post"
msgstr "curtiu seu post"
-#: src/view/screens/Profile.tsx:183
+#: src/view/screens/Profile.tsx:198
msgid "Likes"
msgstr "Curtidas"
-#: src/view/com/post-thread/PostThreadItem.tsx:183
+#: src/view/com/post-thread/PostThreadItem.tsx:182
msgid "Likes on this post"
msgstr "Curtidas neste post"
-#: src/Navigation.tsx:168
+#: src/Navigation.tsx:170
msgid "List"
msgstr "Lista"
-#: src/view/com/modals/CreateOrEditList.tsx:261
+#: src/view/com/modals/CreateOrEditList.tsx:262
msgid "List Avatar"
msgstr "Avatar da lista"
-#: src/view/screens/ProfileList.tsx:324
+#: src/view/screens/ProfileList.tsx:313
msgid "List blocked"
msgstr "Lista bloqueada"
-#: src/view/com/feeds/FeedSourceCard.tsx:233
+#: src/view/com/feeds/FeedSourceCard.tsx:220
msgid "List by {0}"
msgstr "Lista por {0}"
-#: src/view/screens/ProfileList.tsx:378
+#: src/view/screens/ProfileList.tsx:357
msgid "List deleted"
msgstr "Lista excluída"
-#: src/view/screens/ProfileList.tsx:283
+#: src/view/screens/ProfileList.tsx:285
msgid "List muted"
msgstr "Lista silenciada"
-#: src/view/com/modals/CreateOrEditList.tsx:275
+#: src/view/com/modals/CreateOrEditList.tsx:276
msgid "List Name"
msgstr "Nome da lista"
-#: src/view/screens/ProfileList.tsx:343
+#: src/view/screens/ProfileList.tsx:327
msgid "List unblocked"
msgstr "Lista desbloqueada"
-#: src/view/screens/ProfileList.tsx:302
+#: src/view/screens/ProfileList.tsx:299
msgid "List unmuted"
msgstr "Lista dessilenciada"
-#: src/Navigation.tsx:112
-#: src/view/screens/Profile.tsx:185
-#: src/view/shell/desktop/LeftNav.tsx:379
-#: src/view/shell/Drawer.tsx:492
-#: src/view/shell/Drawer.tsx:493
+#: src/Navigation.tsx:114
+#: src/view/screens/Profile.tsx:194
+#: src/view/screens/Profile.tsx:200
+#: src/view/shell/desktop/LeftNav.tsx:383
+#: src/view/shell/Drawer.tsx:501
+#: src/view/shell/Drawer.tsx:502
msgid "Lists"
msgstr "Listas"
-#: src/view/com/post-thread/PostThread.tsx:333
-#: src/view/com/post-thread/PostThread.tsx:341
-msgid "Load more posts"
-msgstr "Carregar mais posts"
-
#: src/view/screens/Notifications.tsx:159
msgid "Load new notifications"
msgstr "Carregar novas notificações"
-#: src/view/com/feeds/FeedPage.tsx:115
-#: src/view/screens/Profile.tsx:440
-#: src/view/screens/ProfileFeed.tsx:495
-#: src/view/screens/ProfileList.tsx:681
+#: src/screens/Profile/Sections/Feed.tsx:86
+#: src/view/com/feeds/FeedPage.tsx:138
+#: src/view/screens/ProfileFeed.tsx:507
+#: src/view/screens/ProfileList.tsx:697
msgid "Load new posts"
msgstr "Carregar novos posts"
-#: src/view/com/composer/text-input/mobile/Autocomplete.tsx:95
+#: src/view/com/composer/text-input/mobile/Autocomplete.tsx:99
msgid "Loading..."
msgstr "Carregando..."
-#: src/view/com/modals/ServerInput.tsx:50
-#~ msgid "Local dev server"
-#~ msgstr "Servidor de desenvolvimento local"
-
-#: src/Navigation.tsx:209
+#: src/Navigation.tsx:221
msgid "Log"
msgstr "Registros"
@@ -2136,31 +2384,27 @@ msgstr "Registros"
msgid "Log out"
msgstr "Sair"
-#: src/view/screens/Moderation.tsx:155
+#: src/screens/Moderation/index.tsx:442
msgid "Logged-out visibility"
msgstr "Visibilidade do seu perfil"
-#: src/view/com/auth/login/ChooseAccountForm.tsx:133
+#: src/components/AccountList.tsx:54
msgid "Login to account that is not listed"
msgstr "Fazer login em uma conta que não está listada"
-#: src/view/com/modals/LinkWarning.tsx:65
+#: src/screens/Login/SetNewPasswordForm.tsx:116
+msgid "Looks like XXXXX-XXXXX"
+msgstr "Tem esse formato: XXXXX-XXXXX"
+
+#: src/view/com/modals/LinkWarning.tsx:79
msgid "Make sure this is where you intend to go!"
msgstr "Certifique-se de onde está indo!"
-#: src/components/dialogs/MutedWords.tsx:83
+#: src/components/dialogs/MutedWords.tsx:82
msgid "Manage your muted words and tags"
msgstr "Gerencie suas palavras/tags silenciadas"
-#: src/view/com/auth/create/Step2.tsx:118
-msgid "May not be longer than 253 characters"
-msgstr "Não pode ter mais que 253 caracteres"
-
-#: src/view/com/auth/create/Step2.tsx:109
-msgid "May only contain letters and numbers"
-msgstr "Só pode conter letras e números"
-
-#: src/view/screens/Profile.tsx:182
+#: src/view/screens/Profile.tsx:197
msgid "Media"
msgstr "Mídia"
@@ -2173,85 +2417,96 @@ msgid "Mentioned users"
msgstr "Usuários mencionados"
#: src/view/com/util/ViewHeader.tsx:87
-#: src/view/screens/Search/Search.tsx:646
+#: src/view/screens/Search/Search.tsx:795
msgid "Menu"
msgstr "Menu"
-#: src/view/com/posts/FeedErrorMessage.tsx:197
+#: src/view/com/posts/FeedErrorMessage.tsx:192
msgid "Message from server: {0}"
msgstr "Mensagem do servidor: {0}"
-#: src/Navigation.tsx:117
-#: src/view/screens/Moderation.tsx:66
-#: src/view/screens/Settings/index.tsx:625
-#: src/view/shell/desktop/LeftNav.tsx:397
-#: src/view/shell/Drawer.tsx:511
-#: src/view/shell/Drawer.tsx:512
+#: src/lib/moderation/useReportOptions.ts:45
+msgid "Misleading Account"
+msgstr "Conta Enganosa"
+
+#: src/Navigation.tsx:119
+#: src/screens/Moderation/index.tsx:104
+#: src/view/screens/Settings/index.tsx:596
+#: src/view/shell/desktop/LeftNav.tsx:401
+#: src/view/shell/Drawer.tsx:520
+#: src/view/shell/Drawer.tsx:521
msgid "Moderation"
msgstr "Moderação"
+#: src/components/moderation/ModerationDetailsDialog.tsx:112
+msgid "Moderation details"
+msgstr "Detalhes da moderação"
+
#: src/view/com/lists/ListCard.tsx:93
#: src/view/com/modals/UserAddRemoveLists.tsx:206
msgid "Moderation list by {0}"
msgstr "Lista de moderação por {0}"
-#: src/view/screens/ProfileList.tsx:775
+#: src/view/screens/ProfileList.tsx:791
msgid "Moderation list by <0/>"
msgstr "Lista de moderação por <0/>"
#: src/view/com/lists/ListCard.tsx:91
#: src/view/com/modals/UserAddRemoveLists.tsx:204
-#: src/view/screens/ProfileList.tsx:773
+#: src/view/screens/ProfileList.tsx:789
msgid "Moderation list by you"
msgstr "Lista de moderação por você"
-#: src/view/com/modals/CreateOrEditList.tsx:197
+#: src/view/com/modals/CreateOrEditList.tsx:198
msgid "Moderation list created"
msgstr "Lista de moderação criada"
-#: src/view/com/modals/CreateOrEditList.tsx:183
+#: src/view/com/modals/CreateOrEditList.tsx:184
msgid "Moderation list updated"
msgstr "Lista de moderação criada"
-#: src/view/screens/Moderation.tsx:114
+#: src/screens/Moderation/index.tsx:243
msgid "Moderation lists"
msgstr "Listas de moderação"
-#: src/Navigation.tsx:122
+#: src/Navigation.tsx:124
#: src/view/screens/ModerationModlists.tsx:58
msgid "Moderation Lists"
msgstr "Listas de Moderação"
-#: src/view/screens/Settings/index.tsx:619
+#: src/view/screens/Settings/index.tsx:590
msgid "Moderation settings"
msgstr "Moderação"
-#: src/view/com/modals/ModerationDetails.tsx:35
+#: src/Navigation.tsx:216
+msgid "Moderation states"
+msgstr "Moderação"
+
+#: src/screens/Moderation/index.tsx:215
+msgid "Moderation tools"
+msgstr "Ferramentas de moderação"
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:48
+#: src/lib/moderation/useModerationCauseDescription.ts:40
msgid "Moderator has chosen to set a general warning on the content."
msgstr "O moderador escolheu um aviso geral neste conteúdo."
+#: src/view/com/post-thread/PostThreadItem.tsx:535
+msgid "More"
+msgstr "Mais"
+
#: src/view/shell/desktop/Feeds.tsx:65
msgid "More feeds"
msgstr "Mais feeds"
-#: src/view/com/profile/ProfileHeader.tsx:523
-#: src/view/screens/ProfileFeed.tsx:363
-#: src/view/screens/ProfileList.tsx:617
+#: src/view/screens/ProfileList.tsx:601
msgid "More options"
msgstr "Mais opções"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:315
-#~ msgid "More post options"
-#~ msgstr "Mais opções do post"
-
#: src/view/screens/PreferencesThreads.tsx:82
msgid "Most-liked replies first"
msgstr "Respostas mais curtidas primeiro"
-#: src/view/com/auth/create/Step2.tsx:122
-msgid "Must be at least 3 characters"
-msgstr "Deve ter no mínimo 3 caracteres"
-
#: src/components/TagMenu/index.tsx:249
msgid "Mute"
msgstr "Silenciar"
@@ -2260,11 +2515,12 @@ msgstr "Silenciar"
msgid "Mute {truncatedTag}"
msgstr "Silenciar {truncatedTag}"
-#: src/view/com/profile/ProfileHeader.tsx:327
+#: src/view/com/profile/ProfileMenu.tsx:279
+#: src/view/com/profile/ProfileMenu.tsx:286
msgid "Mute Account"
msgstr "Silenciar Conta"
-#: src/view/screens/ProfileList.tsx:544
+#: src/view/screens/ProfileList.tsx:520
msgid "Mute accounts"
msgstr "Silenciar contas"
@@ -2272,45 +2528,38 @@ msgstr "Silenciar contas"
msgid "Mute all {displayTag} posts"
msgstr "Silenciar posts com {displayTag}"
-#: src/components/TagMenu/index.tsx:211
-#~ msgid "Mute all {tag} posts"
-#~ msgstr "Silenciar posts com {tag}"
-
-#: src/components/dialogs/MutedWords.tsx:149
+#: src/components/dialogs/MutedWords.tsx:148
msgid "Mute in tags only"
-msgstr "Silenciar apenas as tags"
+msgstr "Silenciar apenas tags"
-#: src/components/dialogs/MutedWords.tsx:134
+#: src/components/dialogs/MutedWords.tsx:133
msgid "Mute in text & tags"
msgstr "Silenciar texto e tags"
-#: src/view/screens/ProfileList.tsx:491
+#: src/view/screens/ProfileList.tsx:463
+#: src/view/screens/ProfileList.tsx:626
msgid "Mute list"
-msgstr "Lista de moderação"
+msgstr "Silenciar lista"
-#: src/view/screens/ProfileList.tsx:275
+#: src/view/screens/ProfileList.tsx:621
msgid "Mute these accounts?"
msgstr "Silenciar estas contas?"
-#: src/view/screens/ProfileList.tsx:279
-msgid "Mute this List"
-msgstr "Silenciar esta lista"
-
-#: src/components/dialogs/MutedWords.tsx:127
+#: src/components/dialogs/MutedWords.tsx:126
msgid "Mute this word in post text and tags"
msgstr "Silenciar esta palavra no conteúdo de um post e tags"
-#: src/components/dialogs/MutedWords.tsx:142
+#: src/components/dialogs/MutedWords.tsx:141
msgid "Mute this word in tags only"
msgstr "Silenciar esta palavra apenas nas tags de um post"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:251
-#: src/view/com/util/forms/PostDropdownBtn.tsx:257
+#: src/view/com/util/forms/PostDropdownBtn.tsx:269
+#: src/view/com/util/forms/PostDropdownBtn.tsx:275
msgid "Mute thread"
msgstr "Silenciar thread"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:267
-#: src/view/com/util/forms/PostDropdownBtn.tsx:269
+#: src/view/com/util/forms/PostDropdownBtn.tsx:285
+#: src/view/com/util/forms/PostDropdownBtn.tsx:287
msgid "Mute words & tags"
msgstr "Silenciar palavras/tags"
@@ -2318,32 +2567,37 @@ msgstr "Silenciar palavras/tags"
msgid "Muted"
msgstr "Silenciada"
-#: src/view/screens/Moderation.tsx:128
+#: src/screens/Moderation/index.tsx:255
msgid "Muted accounts"
msgstr "Contas silenciadas"
-#: src/Navigation.tsx:127
-#: src/view/screens/ModerationMutedAccounts.tsx:107
+#: src/Navigation.tsx:129
+#: src/view/screens/ModerationMutedAccounts.tsx:112
msgid "Muted Accounts"
msgstr "Contas Silenciadas"
-#: src/view/screens/ModerationMutedAccounts.tsx:115
+#: src/view/screens/ModerationMutedAccounts.tsx:120
msgid "Muted accounts have their posts removed from your feed and from your notifications. Mutes are completely private."
msgstr "Contas silenciadas não aparecem no seu feed ou nas suas notificações. Suas contas silenciadas são completamente privadas."
-#: src/view/screens/Moderation.tsx:100
+#: src/lib/moderation/useModerationCauseDescription.ts:85
+msgid "Muted by \"{0}\""
+msgstr "Silenciado por \"{0}\""
+
+#: src/screens/Moderation/index.tsx:231
msgid "Muted words & tags"
msgstr "Palavras/tags silenciadas"
-#: src/view/screens/ProfileList.tsx:277
+#: src/view/screens/ProfileList.tsx:623
msgid "Muting is private. Muted accounts can interact with you, but you will not see their posts or receive notifications from them."
msgstr "Silenciar é privado. Contas silenciadas podem interagir com você, mas você não verá postagens ou receber notificações delas."
-#: src/view/com/modals/BirthDateSettings.tsx:56
+#: src/components/dialogs/BirthDateSettings.tsx:35
+#: src/components/dialogs/BirthDateSettings.tsx:38
msgid "My Birthday"
msgstr "Meu Aniversário"
-#: src/view/screens/Feeds.tsx:663
+#: src/view/screens/Feeds.tsx:688
msgid "My Feeds"
msgstr "Meus Feeds"
@@ -2351,32 +2605,36 @@ msgstr "Meus Feeds"
msgid "My Profile"
msgstr "Meu Perfil"
-#: src/view/screens/Settings/index.tsx:582
+#: src/view/screens/Settings/index.tsx:547
+msgid "My saved feeds"
+msgstr "Meus feeds salvos"
+
+#: src/view/screens/Settings/index.tsx:553
msgid "My Saved Feeds"
msgstr "Meus Feeds Salvos"
-#: src/view/com/auth/server-input/index.tsx:118
-msgid "my-server.com"
-msgstr "meu-servidor.com.br"
-
-#: src/view/com/modals/AddAppPasswords.tsx:179
-#: src/view/com/modals/CreateOrEditList.tsx:290
+#: src/view/com/modals/AddAppPasswords.tsx:180
+#: src/view/com/modals/CreateOrEditList.tsx:291
msgid "Name"
msgstr "Nome"
-#: src/view/com/modals/CreateOrEditList.tsx:145
+#: src/view/com/modals/CreateOrEditList.tsx:146
msgid "Name is required"
msgstr "Nome é obrigatório"
+#: src/lib/moderation/useReportOptions.ts:57
+#: src/lib/moderation/useReportOptions.ts:78
+#: src/lib/moderation/useReportOptions.ts:86
+msgid "Name or Description Violates Community Standards"
+msgstr "Nome ou Descrição Viola os Padrões da Comunidade"
+
#: src/screens/Onboarding/index.tsx:25
msgid "Nature"
msgstr "Natureza"
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:190
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:219
-#: src/view/com/auth/login/LoginForm.tsx:289
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:196
-#: src/view/com/modals/ChangePassword.tsx:166
+#: src/screens/Login/ForgotPasswordForm.tsx:173
+#: src/screens/Login/LoginForm.tsx:255
+#: src/view/com/modals/ChangePassword.tsx:168
msgid "Navigates to the next screen"
msgstr "Navega para próxima tela"
@@ -2384,23 +2642,22 @@ msgstr "Navega para próxima tela"
msgid "Navigates to your profile"
msgstr "Navega para seu perfil"
-#: src/view/com/modals/EmbedConsent.tsx:107
-#: src/view/com/modals/EmbedConsent.tsx:123
-msgid "Never load embeds from {0}"
-msgstr "Nunca carregar anexos de {0}"
+#: src/components/ReportDialog/SelectReportOptionView.tsx:123
+msgid "Need to report a copyright violation?"
+msgstr "Precisa denunciar uma violação de copyright?"
#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:72
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:72
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:74
msgid "Never lose access to your followers and data."
msgstr "Nunca perca o acesso aos seus seguidores e dados."
-#: src/screens/Onboarding/StepFinished.tsx:119
+#: src/screens/Onboarding/StepFinished.tsx:123
msgid "Never lose access to your followers or data."
msgstr "Nunca perca o acesso aos seus seguidores ou dados."
-#: src/components/dialogs/MutedWords.tsx:293
-msgid "Nevermind"
-msgstr "Deixa pra lá"
+#: src/view/com/modals/ChangeHandle.tsx:519
+msgid "Nevermind, create a handle for me"
+msgstr "Deixa pra lá, crie um usuário pra mim"
#: src/view/screens/Lists.tsx:76
msgctxt "action"
@@ -2411,39 +2668,39 @@ msgstr "Novo"
msgid "New"
msgstr "Novo"
-#: src/view/com/modals/CreateOrEditList.tsx:252
+#: src/view/com/modals/CreateOrEditList.tsx:253
msgid "New Moderation List"
msgstr "Nova lista de moderação"
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:150
+#: src/view/com/modals/ChangePassword.tsx:212
msgid "New password"
msgstr "Nova senha"
-#: src/view/com/modals/ChangePassword.tsx:215
+#: src/view/com/modals/ChangePassword.tsx:217
msgid "New Password"
msgstr "Nova Senha"
-#: src/view/com/feeds/FeedPage.tsx:126
+#: src/view/com/feeds/FeedPage.tsx:149
msgctxt "action"
msgid "New post"
msgstr "Novo post"
-#: src/view/screens/Feeds.tsx:555
+#: src/view/screens/Feeds.tsx:580
#: src/view/screens/Notifications.tsx:168
-#: src/view/screens/Profile.tsx:382
-#: src/view/screens/ProfileFeed.tsx:433
-#: src/view/screens/ProfileList.tsx:196
-#: src/view/screens/ProfileList.tsx:224
-#: src/view/shell/desktop/LeftNav.tsx:248
+#: src/view/screens/Profile.tsx:480
+#: src/view/screens/ProfileFeed.tsx:445
+#: src/view/screens/ProfileList.tsx:200
+#: src/view/screens/ProfileList.tsx:228
+#: src/view/shell/desktop/LeftNav.tsx:252
msgid "New post"
msgstr "Novo post"
-#: src/view/shell/desktop/LeftNav.tsx:258
+#: src/view/shell/desktop/LeftNav.tsx:262
msgctxt "action"
msgid "New Post"
msgstr "Novo Post"
-#: src/view/com/modals/CreateOrEditList.tsx:247
+#: src/view/com/modals/CreateOrEditList.tsx:248
msgid "New User List"
msgstr "Nova lista de usuários"
@@ -2455,15 +2712,16 @@ msgstr "Respostas mais recentes primeiro"
msgid "News"
msgstr "Notícias"
-#: src/view/com/auth/create/CreateAccount.tsx:172
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:182
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:192
-#: src/view/com/auth/login/LoginForm.tsx:291
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:187
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:198
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:79
-#: src/view/com/modals/ChangePassword.tsx:251
+#: src/screens/Login/ForgotPasswordForm.tsx:143
+#: src/screens/Login/ForgotPasswordForm.tsx:150
+#: src/screens/Login/LoginForm.tsx:254
+#: src/screens/Login/LoginForm.tsx:261
+#: src/screens/Login/SetNewPasswordForm.tsx:174
+#: src/screens/Login/SetNewPasswordForm.tsx:180
+#: src/screens/Signup/index.tsx:207
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:80
#: src/view/com/modals/ChangePassword.tsx:253
+#: src/view/com/modals/ChangePassword.tsx:255
msgid "Next"
msgstr "Próximo"
@@ -2472,7 +2730,7 @@ msgctxt "action"
msgid "Next"
msgstr "Próximo"
-#: src/view/com/lightbox/Lightbox.web.tsx:149
+#: src/view/com/lightbox/Lightbox.web.tsx:169
msgid "Next image"
msgstr "Próxima imagem"
@@ -2485,39 +2743,48 @@ msgstr "Próxima imagem"
msgid "No"
msgstr "Não"
-#: src/view/screens/ProfileFeed.tsx:584
-#: src/view/screens/ProfileList.tsx:755
+#: src/view/screens/ProfileFeed.tsx:574
+#: src/view/screens/ProfileList.tsx:771
msgid "No description"
msgstr "Sem descrição"
-#: src/view/com/profile/ProfileHeader.tsx:170
+#: src/view/com/modals/ChangeHandle.tsx:405
+msgid "No DNS Panel"
+msgstr "Não tenho painel de DNS"
+
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:118
msgid "No longer following {0}"
msgstr "Você não está mais seguindo {0}"
+#: src/screens/Signup/StepHandle.tsx:115
+msgid "No longer than 253 characters"
+msgstr "No máximo 253 caracteres"
+
#: src/view/com/notifications/Feed.tsx:109
msgid "No notifications yet!"
msgstr "Nenhuma notificação!"
-#: src/view/com/composer/text-input/mobile/Autocomplete.tsx:97
-#: src/view/com/composer/text-input/web/Autocomplete.tsx:191
+#: src/view/com/composer/text-input/mobile/Autocomplete.tsx:101
+#: src/view/com/composer/text-input/web/Autocomplete.tsx:195
msgid "No result"
msgstr "Nenhum resultado"
-#: src/components/Lists.tsx:192
+#: src/components/Lists.tsx:183
msgid "No results found"
msgstr "Nenhum resultado encontrado"
-#: src/view/screens/Feeds.tsx:495
+#: src/view/screens/Feeds.tsx:520
msgid "No results found for \"{query}\""
msgstr "Nenhum resultado encontrado para \"{query}\""
#: src/view/com/modals/ListAddRemoveUsers.tsx:127
-#: src/view/screens/Search/Search.tsx:281
-#: src/view/screens/Search/Search.tsx:309
+#: src/view/screens/Search/Search.tsx:349
+#: src/view/screens/Search/Search.tsx:387
msgid "No results found for {query}"
msgstr "Nenhum resultado encontrado para {query}"
-#: src/view/com/modals/EmbedConsent.tsx:129
+#: src/components/dialogs/EmbedConsent.tsx:105
+#: src/components/dialogs/EmbedConsent.tsx:112
msgid "No thanks"
msgstr "Não, obrigado"
@@ -2525,12 +2792,21 @@ msgstr "Não, obrigado"
msgid "Nobody"
msgstr "Ninguém"
+#: src/components/LikedByList.tsx:79
+#: src/components/LikesDialog.tsx:99
+msgid "Nobody has liked this yet. Maybe you should be the first!"
+msgstr "Ninguém curtiu isso ainda. Você pode ser o primeiro!"
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:42
+msgid "Non-sexual Nudity"
+msgstr "Nudez não-erótica"
+
#: src/view/com/modals/SelfLabel.tsx:135
msgid "Not Applicable."
msgstr "Não Aplicável."
-#: src/Navigation.tsx:107
-#: src/view/screens/Profile.tsx:106
+#: src/Navigation.tsx:109
+#: src/view/screens/Profile.tsx:101
msgid "Not Found"
msgstr "Não encontrado"
@@ -2539,17 +2815,23 @@ msgstr "Não encontrado"
msgid "Not right now"
msgstr "Agora não"
-#: src/view/screens/Moderation.tsx:252
-msgid "Note: Bluesky is an open and public network. This setting only limits the visibility of your content on the Bluesky app and website, and other apps may not respect this setting. Your content may still be shown to logged-out users by other apps and websites."
-msgstr "Nota: o Bluesky é uma rede aberta e pública. Esta configuração limita somente a visibilidade do seu conteúdo no site e aplicativo do Bluesky, e outros aplicativos podem não respeitar esta configuração. Seu conteúdo ainda poderá ser exibido para usuários deslogados por outros aplicativos e sites."
+#: src/view/com/profile/ProfileMenu.tsx:368
+#: src/view/com/util/forms/PostDropdownBtn.tsx:364
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:248
+msgid "Note about sharing"
+msgstr "Nota sobre compartilhamento"
-#: src/Navigation.tsx:457
+#: src/screens/Moderation/index.tsx:540
+msgid "Note: Bluesky is an open and public network. This setting only limits the visibility of your content on the Bluesky app and website, and other apps may not respect this setting. Your content may still be shown to logged-out users by other apps and websites."
+msgstr "Nota: o Bluesky é uma rede aberta e pública. Esta configuração limita somente a visibilidade do seu conteúdo no site e aplicativo do Bluesky, e outros aplicativos podem não respeitar esta configuração. Seu conteúdo ainda poderá ser exibido para usuários não autenticados por outros aplicativos e sites."
+
+#: src/Navigation.tsx:461
#: src/view/screens/Notifications.tsx:124
#: src/view/screens/Notifications.tsx:148
-#: src/view/shell/bottom-bar/BottomBar.tsx:205
-#: src/view/shell/desktop/LeftNav.tsx:361
-#: src/view/shell/Drawer.tsx:435
-#: src/view/shell/Drawer.tsx:436
+#: src/view/shell/bottom-bar/BottomBar.tsx:216
+#: src/view/shell/desktop/LeftNav.tsx:365
+#: src/view/shell/Drawer.tsx:444
+#: src/view/shell/Drawer.tsx:445
msgid "Notifications"
msgstr "Notificações"
@@ -2557,15 +2839,32 @@ msgstr "Notificações"
msgid "Nudity"
msgstr "Nudez"
-#: src/view/com/util/ErrorBoundary.tsx:35
+#: src/lib/moderation/useReportOptions.ts:71
+msgid "Nudity or adult content not labeled as such"
+msgstr "Nudez ou pornografia sem aviso aplicado"
+
+#: src/screens/Signup/index.tsx:143
+msgid "of"
+msgstr "de"
+
+#: src/lib/moderation/useLabelBehaviorDescription.ts:11
+msgid "Off"
+msgstr "Desligado"
+
+#: src/view/com/util/ErrorBoundary.tsx:49
msgid "Oh no!"
msgstr "Opa!"
-#: src/screens/Onboarding/StepInterests/index.tsx:128
+#: src/screens/Onboarding/StepInterests/index.tsx:132
msgid "Oh no! Something went wrong."
msgstr "Opa! Algo deu errado."
-#: src/view/com/auth/login/PasswordUpdatedForm.tsx:41
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:126
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:333
+msgid "OK"
+msgstr "OK"
+
+#: src/screens/Login/PasswordUpdatedForm.tsx:44
msgid "Okay"
msgstr "Ok"
@@ -2573,11 +2872,11 @@ msgstr "Ok"
msgid "Oldest replies first"
msgstr "Respostas mais antigas primeiro"
-#: src/view/screens/Settings/index.tsx:234
+#: src/view/screens/Settings/index.tsx:247
msgid "Onboarding reset"
msgstr "Resetar tutoriais"
-#: src/view/com/composer/Composer.tsx:382
+#: src/view/com/composer/Composer.tsx:392
msgid "One or more images is missing alt text."
msgstr "Uma ou mais imagens estão sem texto alternativo."
@@ -2585,49 +2884,58 @@ msgstr "Uma ou mais imagens estão sem texto alternativo."
msgid "Only {0} can reply."
msgstr "Apenas {0} pode responder."
-#: src/components/Lists.tsx:82
+#: src/screens/Signup/StepHandle.tsx:98
+msgid "Only contains letters, numbers, and hyphens"
+msgstr "Contém apenas letras, números e hífens"
+
+#: src/components/Lists.tsx:75
msgid "Oops, something went wrong!"
msgstr "Opa, algo deu errado!"
-#: src/components/Lists.tsx:188
-#: src/view/screens/AppPasswords.tsx:65
-#: src/view/screens/Profile.tsx:106
+#: src/components/Lists.tsx:170
+#: src/view/screens/AppPasswords.tsx:67
+#: src/view/screens/Profile.tsx:101
msgid "Oops!"
msgstr "Opa!"
-#: src/screens/Onboarding/StepFinished.tsx:115
+#: src/screens/Onboarding/StepFinished.tsx:119
msgid "Open"
msgstr "Abrir"
-#: src/view/screens/Moderation.tsx:75
-msgid "Open content filtering settings"
-msgstr "Abrir configurações de filtro"
-
-#: src/view/com/composer/Composer.tsx:477
-#: src/view/com/composer/Composer.tsx:478
+#: src/view/com/composer/Composer.tsx:491
+#: src/view/com/composer/Composer.tsx:492
msgid "Open emoji picker"
msgstr "Abrir seletor de emojis"
-#: src/view/screens/Settings/index.tsx:712
+#: src/view/screens/ProfileFeed.tsx:311
+msgid "Open feed options menu"
+msgstr "Abrir opções do feed"
+
+#: src/view/screens/Settings/index.tsx:685
msgid "Open links with in-app browser"
msgstr "Abrir links no navegador interno"
-#: src/view/screens/Moderation.tsx:92
-msgid "Open muted words settings"
-msgstr "Abrir configurações das palavras silenciadas"
+#: src/screens/Moderation/index.tsx:227
+msgid "Open muted words and tags settings"
+msgstr "Abrir opções de palavras/tags silenciadas"
-#: src/view/com/home/HomeHeaderLayoutMobile.tsx:50
+#: src/view/com/home/HomeHeaderLayoutMobile.tsx:52
msgid "Open navigation"
msgstr "Abrir navegação"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:175
+#: src/view/com/util/forms/PostDropdownBtn.tsx:191
msgid "Open post options menu"
msgstr "Abrir opções do post"
-#: src/view/screens/Settings/index.tsx:804
+#: src/view/screens/Settings/index.tsx:792
+#: src/view/screens/Settings/index.tsx:802
msgid "Open storybook page"
msgstr "Abre o storybook"
+#: src/view/screens/Settings/index.tsx:780
+msgid "Open system log"
+msgstr "Abrir registros do sistema"
+
#: src/view/com/util/forms/DropdownButton.tsx:154
msgid "Opens {numItems} options"
msgstr "Abre {numItems} opções"
@@ -2636,11 +2944,11 @@ msgstr "Abre {numItems} opções"
msgid "Opens additional details for a debug entry"
msgstr "Abre detalhes adicionais para um registro de depuração"
-#: src/view/com/notifications/FeedItem.tsx:349
+#: src/view/com/notifications/FeedItem.tsx:355
msgid "Opens an expanded list of users in this notification"
msgstr "Abre a lista de usuários nesta notificação"
-#: src/view/com/composer/photos/OpenCameraBtn.tsx:61
+#: src/view/com/composer/photos/OpenCameraBtn.tsx:78
msgid "Opens camera on device"
msgstr "Abre a câmera do dispositivo"
@@ -2648,7 +2956,7 @@ msgstr "Abre a câmera do dispositivo"
msgid "Opens composer"
msgstr "Abre o editor de post"
-#: src/view/screens/Settings/index.tsx:595
+#: src/view/screens/Settings/index.tsx:566
msgid "Opens configurable language settings"
msgstr "Abre definições de idioma configuráveis"
@@ -2656,68 +2964,87 @@ msgstr "Abre definições de idioma configuráveis"
msgid "Opens device photo gallery"
msgstr "Abre a galeria de fotos do dispositivo"
-#: src/view/com/profile/ProfileHeader.tsx:420
-msgid "Opens editor for profile display name, avatar, background image, and description"
-msgstr "Abre o editor de nome, avatar, banner e descrição do perfil"
-
-#: src/view/screens/Settings/index.tsx:649
+#: src/view/screens/Settings/index.tsx:620
msgid "Opens external embeds settings"
msgstr "Abre as configurações de anexos externos"
-#: src/view/com/profile/ProfileHeader.tsx:575
-msgid "Opens followers list"
-msgstr "Abre lista de seguidores"
+#: src/view/com/auth/SplashScreen.tsx:50
+#: src/view/com/auth/SplashScreen.web.tsx:94
+msgid "Opens flow to create a new Bluesky account"
+msgstr "Abre o fluxo de criação de conta do Bluesky"
-#: src/view/com/profile/ProfileHeader.tsx:594
-msgid "Opens following list"
-msgstr "Abre lista de seguidos"
+#: src/view/com/auth/SplashScreen.tsx:65
+#: src/view/com/auth/SplashScreen.web.tsx:109
+msgid "Opens flow to sign into your existing Bluesky account"
+msgstr "Abre o fluxo de entrar na sua conta do Bluesky"
-#: src/view/com/modals/InviteCodes.tsx:172
+#: src/view/com/modals/InviteCodes.tsx:173
msgid "Opens list of invite codes"
msgstr "Abre a lista de códigos de convite"
-#: src/view/screens/Settings/index.tsx:774
-msgid "Opens modal for account deletion confirmation. Requires email code."
-msgstr "Abre modal para confirmar exclusão de conta. Requer código de verificação."
+#: src/view/screens/Settings/index.tsx:762
+msgid "Opens modal for account deletion confirmation. Requires email code"
+msgstr "Abre modal de confirmar a exclusão da conta. Requer código enviado por email"
-#: src/view/com/modals/ChangeHandle.tsx:281
+#: src/view/screens/Settings/index.tsx:720
+msgid "Opens modal for changing your Bluesky password"
+msgstr "Abre modal para troca da sua senha do Bluesky"
+
+#: src/view/screens/Settings/index.tsx:669
+msgid "Opens modal for choosing a new Bluesky handle"
+msgstr "Abre modal para troca do seu usuário do Bluesky"
+
+#: src/view/screens/Settings/index.tsx:743
+msgid "Opens modal for downloading your Bluesky account data (repository)"
+msgstr "Abre modal para baixar os dados da sua conta do Bluesky"
+
+#: src/view/screens/Settings/index.tsx:932
+msgid "Opens modal for email verification"
+msgstr "Abre modal para verificação de email"
+
+#: src/view/com/modals/ChangeHandle.tsx:282
msgid "Opens modal for using custom domain"
msgstr "Abre modal para usar o domínio personalizado"
-#: src/view/screens/Settings/index.tsx:620
+#: src/view/screens/Settings/index.tsx:591
msgid "Opens moderation settings"
msgstr "Abre configurações de moderação"
-#: src/view/com/auth/login/LoginForm.tsx:239
+#: src/screens/Login/LoginForm.tsx:202
msgid "Opens password reset form"
msgstr "Abre o formulário de redefinição de senha"
-#: src/view/com/home/HomeHeaderLayout.web.tsx:63
-#: src/view/screens/Feeds.tsx:356
+#: src/view/com/home/HomeHeaderLayout.web.tsx:67
+#: src/view/screens/Feeds.tsx:381
msgid "Opens screen to edit Saved Feeds"
msgstr "Abre a tela para editar feeds salvos"
-#: src/view/screens/Settings/index.tsx:576
+#: src/view/screens/Settings/index.tsx:548
msgid "Opens screen with all saved feeds"
msgstr "Abre a tela com todos os feeds salvos"
-#: src/view/screens/Settings/index.tsx:676
-msgid "Opens the app password settings page"
-msgstr "Abre a página de configurações de senha do aplicativo"
+#: src/view/screens/Settings/index.tsx:647
+msgid "Opens the app password settings"
+msgstr "Abre as configurações de senha do aplicativo"
-#: src/view/screens/Settings/index.tsx:535
-msgid "Opens the home feed preferences"
+#: src/view/screens/Settings/index.tsx:505
+msgid "Opens the Following feed preferences"
msgstr "Abre as preferências do feed inicial"
-#: src/view/screens/Settings/index.tsx:805
+#: src/view/com/modals/LinkWarning.tsx:93
+msgid "Opens the linked website"
+msgstr "Abre o link"
+
+#: src/view/screens/Settings/index.tsx:793
+#: src/view/screens/Settings/index.tsx:803
msgid "Opens the storybook page"
msgstr "Abre a página do storybook"
-#: src/view/screens/Settings/index.tsx:793
+#: src/view/screens/Settings/index.tsx:781
msgid "Opens the system log page"
msgstr "Abre a página de log do sistema"
-#: src/view/screens/Settings/index.tsx:556
+#: src/view/screens/Settings/index.tsx:526
msgid "Opens the threads preferences"
msgstr "Abre as preferências de threads"
@@ -2725,11 +3052,19 @@ msgstr "Abre as preferências de threads"
msgid "Option {0} of {numItems}"
msgstr "Opção {0} de {numItems}"
+#: src/components/ReportDialog/SubmitView.tsx:160
+msgid "Optionally provide additional information below:"
+msgstr "Se quiser adicionar mais informações, digite abaixo:"
+
#: src/view/com/modals/Threadgate.tsx:89
msgid "Or combine these options:"
msgstr "Ou combine estas opções:"
-#: src/view/com/auth/login/ChooseAccountForm.tsx:138
+#: src/lib/moderation/useReportOptions.ts:25
+msgid "Other"
+msgstr "Outro"
+
+#: src/components/AccountList.tsx:73
msgid "Other account"
msgstr "Outra conta"
@@ -2737,7 +3072,7 @@ msgstr "Outra conta"
msgid "Other..."
msgstr "Outro..."
-#: src/components/Lists.tsx:194
+#: src/components/Lists.tsx:184
#: src/view/screens/NotFound.tsx:45
msgid "Page not found"
msgstr "Página não encontrada"
@@ -2746,27 +3081,35 @@ msgstr "Página não encontrada"
msgid "Page Not Found"
msgstr "Página Não Encontrada"
-#: src/view/com/auth/create/Step1.tsx:191
-#: src/view/com/auth/create/Step1.tsx:201
-#: src/view/com/auth/login/LoginForm.tsx:226
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:161
-#: src/view/com/modals/DeleteAccount.tsx:202
+#: src/screens/Login/LoginForm.tsx:178
+#: src/screens/Signup/StepInfo/index.tsx:102
+#: src/view/com/modals/DeleteAccount.tsx:194
+#: src/view/com/modals/DeleteAccount.tsx:201
msgid "Password"
msgstr "Senha"
-#: src/view/com/auth/login/Login.tsx:157
+#: src/view/com/modals/ChangePassword.tsx:142
+msgid "Password Changed"
+msgstr "Senha Atualizada"
+
+#: src/screens/Login/index.tsx:157
msgid "Password updated"
msgstr "Senha atualizada"
-#: src/view/com/auth/login/PasswordUpdatedForm.tsx:28
+#: src/screens/Login/PasswordUpdatedForm.tsx:30
msgid "Password updated!"
msgstr "Senha atualizada!"
-#: src/Navigation.tsx:162
+#: src/view/screens/Search/Search.tsx:447
+#: src/view/screens/Search/Search.tsx:456
+msgid "People"
+msgstr ""
+
+#: src/Navigation.tsx:164
msgid "People followed by @{0}"
msgstr "Pessoas seguidas por @{0}"
-#: src/Navigation.tsx:155
+#: src/Navigation.tsx:157
msgid "People following @{0}"
msgstr "Pessoas seguindo @{0}"
@@ -2786,37 +3129,41 @@ msgstr "Pets"
msgid "Pictures meant for adults."
msgstr "Imagens destinadas a adultos."
-#: src/view/screens/ProfileFeed.tsx:354
-#: src/view/screens/ProfileList.tsx:581
+#: src/view/screens/ProfileFeed.tsx:303
+#: src/view/screens/ProfileList.tsx:565
msgid "Pin to home"
msgstr "Fixar na tela inicial"
-#: src/view/screens/SavedFeeds.tsx:88
+#: src/view/screens/ProfileFeed.tsx:306
+msgid "Pin to Home"
+msgstr "Fixar na Tela Inicial"
+
+#: src/view/screens/SavedFeeds.tsx:89
msgid "Pinned Feeds"
msgstr "Feeds Fixados"
-#: src/view/com/util/post-embeds/ExternalGifEmbed.tsx:111
+#: src/view/com/util/post-embeds/ExternalGifEmbed.tsx:123
msgid "Play {0}"
msgstr "Reproduzir {0}"
-#: src/view/com/util/post-embeds/ExternalPlayerEmbed.tsx:54
-#: src/view/com/util/post-embeds/ExternalPlayerEmbed.tsx:55
+#: src/view/com/util/post-embeds/ExternalPlayerEmbed.tsx:57
+#: src/view/com/util/post-embeds/ExternalPlayerEmbed.tsx:58
msgid "Play Video"
msgstr "Reproduzir Vídeo"
-#: src/view/com/util/post-embeds/ExternalGifEmbed.tsx:110
+#: src/view/com/util/post-embeds/ExternalGifEmbed.tsx:122
msgid "Plays the GIF"
msgstr "Reproduz o GIF"
-#: src/view/com/auth/create/state.ts:124
+#: src/screens/Signup/state.ts:241
msgid "Please choose your handle."
msgstr "Por favor, escolha seu usuário."
-#: src/view/com/auth/create/state.ts:117
+#: src/screens/Signup/state.ts:234
msgid "Please choose your password."
msgstr "Por favor, escolha sua senha."
-#: src/view/com/auth/create/state.ts:131
+#: src/screens/Signup/state.ts:251
msgid "Please complete the verification captcha."
msgstr "Por favor, complete o captcha de verificação."
@@ -2824,38 +3171,29 @@ msgstr "Por favor, complete o captcha de verificação."
msgid "Please confirm your email before changing it. This is a temporary requirement while email-updating tools are added, and it will soon be removed."
msgstr "Por favor, confirme seu e-mail antes de alterá-lo. Este é um requisito temporário enquanto ferramentas de atualização de e-mail são adicionadas, e em breve será removido."
-#: src/view/com/modals/AddAppPasswords.tsx:90
+#: src/view/com/modals/AddAppPasswords.tsx:91
msgid "Please enter a name for your app password. All spaces is not allowed."
msgstr "Por favor, insira um nome para a sua Senha de Aplicativo."
-#: src/view/com/modals/AddAppPasswords.tsx:145
+#: src/view/com/modals/AddAppPasswords.tsx:146
msgid "Please enter a unique name for this App Password or use our randomly generated one."
msgstr "Por favor, insira um nome único para esta Senha de Aplicativo ou use nosso nome gerado automaticamente."
-#: src/components/dialogs/MutedWords.tsx:68
+#: src/components/dialogs/MutedWords.tsx:67
msgid "Please enter a valid word, tag, or phrase to mute"
msgstr "Por favor, insira uma palavra, tag ou frase para silenciar"
-#: src/view/com/auth/create/state.ts:170
-#~ msgid "Please enter the code you received by SMS."
-#~ msgstr "Por favor, digite o código recebido via SMS."
-
-#: src/view/com/auth/create/Step2.tsx:282
-#~ msgid "Please enter the verification code sent to {phoneNumberFormatted}."
-#~ msgstr "Por favor, digite o código de verificação enviado para {phoneNumberFormatted}."
-
-#: src/view/com/auth/create/state.ts:103
+#: src/screens/Signup/state.ts:220
msgid "Please enter your email."
msgstr "Por favor, digite o seu e-mail."
-#: src/view/com/modals/DeleteAccount.tsx:191
+#: src/view/com/modals/DeleteAccount.tsx:190
msgid "Please enter your password as well:"
msgstr "Por favor, digite sua senha também:"
-#: src/view/com/modals/AppealLabel.tsx:72
-#: src/view/com/modals/AppealLabel.tsx:75
-msgid "Please tell us why you think this content warning was incorrectly applied!"
-msgstr "Por favor, diga-nos por que você acha que este aviso de conteúdo foi aplicado incorretamente!"
+#: src/components/moderation/LabelsOnMeDialog.tsx:221
+msgid "Please explain why you think this label was incorrectly applied by {0}"
+msgstr "Por favor, explique por que você acha que este rótulo foi aplicado incorrentamente por {0}"
#: src/view/com/modals/VerifyEmail.tsx:101
msgid "Please Verify Your Email"
@@ -2873,13 +3211,13 @@ msgstr "Política"
msgid "Porn"
msgstr "Pornografia"
-#: src/view/com/composer/Composer.tsx:357
-#: src/view/com/composer/Composer.tsx:365
+#: src/view/com/composer/Composer.tsx:367
+#: src/view/com/composer/Composer.tsx:375
msgctxt "action"
msgid "Post"
msgstr "Postar"
-#: src/view/com/post-thread/PostThread.tsx:303
+#: src/view/com/post-thread/PostThread.tsx:292
msgctxt "description"
msgid "Post"
msgstr "Post"
@@ -2888,20 +3226,30 @@ msgstr "Post"
msgid "Post by {0}"
msgstr "Post por {0}"
-#: src/Navigation.tsx:174
-#: src/Navigation.tsx:181
-#: src/Navigation.tsx:188
+#: src/Navigation.tsx:176
+#: src/Navigation.tsx:183
+#: src/Navigation.tsx:190
msgid "Post by @{0}"
msgstr "Post por @{0}"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:108
+#: src/view/com/util/forms/PostDropdownBtn.tsx:111
msgid "Post deleted"
msgstr "Post excluído"
-#: src/view/com/post-thread/PostThread.tsx:462
+#: src/view/com/post-thread/PostThread.tsx:157
msgid "Post hidden"
msgstr "Post oculto"
+#: src/components/moderation/ModerationDetailsDialog.tsx:97
+#: src/lib/moderation/useModerationCauseDescription.ts:99
+msgid "Post Hidden by Muted Word"
+msgstr "Post Escondido por Palavra Silenciada"
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:100
+#: src/lib/moderation/useModerationCauseDescription.ts:108
+msgid "Post Hidden by You"
+msgstr "Post Escondido por Você"
+
#: src/view/com/composer/select-language/SelectLangBtn.tsx:87
msgid "Post language"
msgstr "Idioma do post"
@@ -2910,7 +3258,8 @@ msgstr "Idioma do post"
msgid "Post Languages"
msgstr "Idiomas do Post"
-#: src/view/com/post-thread/PostThread.tsx:514
+#: src/view/com/post-thread/PostThread.tsx:152
+#: src/view/com/post-thread/PostThread.tsx:164
msgid "Post not found"
msgstr "Post não encontrado"
@@ -2918,11 +3267,12 @@ msgstr "Post não encontrado"
msgid "posts"
msgstr "posts"
-#: src/view/screens/Profile.tsx:180
+#: src/view/screens/Profile.tsx:195
+#: src/view/screens/Search/Search.tsx:467
msgid "Posts"
msgstr "Posts"
-#: src/components/dialogs/MutedWords.tsx:90
+#: src/components/dialogs/MutedWords.tsx:89
msgid "Posts can be muted based on their text, their tags, or both."
msgstr "Posts podem ser silenciados baseados no seu conteúdo, tags ou ambos."
@@ -2930,11 +3280,21 @@ msgstr "Posts podem ser silenciados baseados no seu conteúdo, tags ou ambos."
msgid "Posts hidden"
msgstr "Posts ocultados"
-#: src/view/com/modals/LinkWarning.tsx:46
+#: src/view/com/modals/LinkWarning.tsx:60
msgid "Potentially Misleading Link"
msgstr "Link Potencialmente Enganoso"
-#: src/view/com/lightbox/Lightbox.web.tsx:135
+#: src/components/forms/HostingProvider.tsx:46
+msgid "Press to change hosting provider"
+msgstr "Trocar de provedor de hospedagem"
+
+#: src/components/Error.tsx:74
+#: src/components/Lists.tsx:80
+#: src/screens/Signup/index.tsx:187
+msgid "Press to retry"
+msgstr "Tentar novamente"
+
+#: src/view/com/lightbox/Lightbox.web.tsx:150
msgid "Previous image"
msgstr "Imagem anterior"
@@ -2946,39 +3306,45 @@ msgstr "Idioma Principal"
msgid "Prioritize Your Follows"
msgstr "Priorizar seus Seguidores"
-#: src/view/screens/Settings/index.tsx:632
+#: src/view/screens/Settings/index.tsx:603
#: src/view/shell/desktop/RightNav.tsx:72
msgid "Privacy"
msgstr "Privacidade"
-#: src/Navigation.tsx:219
+#: src/Navigation.tsx:231
+#: src/screens/Signup/StepInfo/Policies.tsx:56
#: src/view/screens/PrivacyPolicy.tsx:29
-#: src/view/screens/Settings/index.tsx:891
-#: src/view/shell/Drawer.tsx:262
+#: src/view/screens/Settings/index.tsx:887
+#: src/view/shell/Drawer.tsx:271
msgid "Privacy Policy"
msgstr "Política de Privacidade"
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:198
+#: src/screens/Login/ForgotPasswordForm.tsx:156
msgid "Processing..."
msgstr "Processando..."
-#: src/view/shell/bottom-bar/BottomBar.tsx:247
-#: src/view/shell/desktop/LeftNav.tsx:415
+#: src/view/screens/DebugMod.tsx:888
+#: src/view/screens/Profile.tsx:361
+msgid "profile"
+msgstr "perfil"
+
+#: src/view/shell/bottom-bar/BottomBar.tsx:261
+#: src/view/shell/desktop/LeftNav.tsx:419
#: src/view/shell/Drawer.tsx:70
-#: src/view/shell/Drawer.tsx:546
-#: src/view/shell/Drawer.tsx:547
+#: src/view/shell/Drawer.tsx:555
+#: src/view/shell/Drawer.tsx:556
msgid "Profile"
msgstr "Perfil"
-#: src/view/com/modals/EditProfile.tsx:128
+#: src/view/com/modals/EditProfile.tsx:129
msgid "Profile updated"
msgstr "Perfil atualizado"
-#: src/view/screens/Settings/index.tsx:949
+#: src/view/screens/Settings/index.tsx:945
msgid "Protect your account by verifying your email."
msgstr "Proteja a sua conta verificando o seu e-mail."
-#: src/screens/Onboarding/StepFinished.tsx:101
+#: src/screens/Onboarding/StepFinished.tsx:105
msgid "Public"
msgstr "Público"
@@ -2990,15 +3356,15 @@ msgstr "Listas públicas e compartilháveis para silenciar ou bloquear usuários
msgid "Public, shareable lists which can drive feeds."
msgstr "Listas públicas e compartilháveis que geram feeds."
-#: src/view/com/composer/Composer.tsx:342
+#: src/view/com/composer/Composer.tsx:352
msgid "Publish post"
msgstr "Publicar post"
-#: src/view/com/composer/Composer.tsx:342
+#: src/view/com/composer/Composer.tsx:352
msgid "Publish reply"
msgstr "Publicar resposta"
-#: src/view/com/modals/Repost.tsx:65
+#: src/view/com/modals/Repost.tsx:66
msgctxt "action"
msgid "Quote post"
msgstr "Citar post"
@@ -3007,7 +3373,7 @@ msgstr "Citar post"
msgid "Quote post"
msgstr "Citar post"
-#: src/view/com/modals/Repost.tsx:70
+#: src/view/com/modals/Repost.tsx:71
msgctxt "action"
msgid "Quote Post"
msgstr "Citar Post"
@@ -3016,48 +3382,62 @@ msgstr "Citar Post"
msgid "Random (aka \"Poster's Roulette\")"
msgstr "Aleatório"
-#: src/view/com/modals/EditImage.tsx:236
+#: src/view/com/modals/EditImage.tsx:237
msgid "Ratios"
msgstr "Índices"
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:116
+#: src/view/screens/Search/Search.tsx:924
+msgid "Recent Searches"
+msgstr "Buscas Recentes"
+
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:117
msgid "Recommended Feeds"
msgstr "Feeds Recomendados"
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:180
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:181
msgid "Recommended Users"
msgstr "Usuários Recomendados"
-#: src/components/dialogs/MutedWords.tsx:298
-#: src/view/com/modals/ListAddRemoveUsers.tsx:264
+#: src/components/dialogs/MutedWords.tsx:286
+#: src/view/com/feeds/FeedSourceCard.tsx:283
+#: src/view/com/modals/ListAddRemoveUsers.tsx:268
#: src/view/com/modals/SelfLabel.tsx:83
#: src/view/com/modals/UserAddRemoveLists.tsx:219
-#: src/view/com/util/UserAvatar.tsx:285
-#: src/view/com/util/UserBanner.tsx:91
+#: src/view/com/posts/FeedErrorMessage.tsx:204
msgid "Remove"
msgstr "Remover"
-#: src/view/com/feeds/FeedSourceCard.tsx:108
-msgid "Remove {0} from my feeds?"
-msgstr "Remover {0} dos meus feeds?"
-
#: src/view/com/util/AccountDropdownBtn.tsx:22
msgid "Remove account"
msgstr "Remover conta"
-#: src/view/com/posts/FeedErrorMessage.tsx:131
-#: src/view/com/posts/FeedErrorMessage.tsx:166
+#: src/view/com/util/UserAvatar.tsx:360
+msgid "Remove Avatar"
+msgstr "Remover avatar"
+
+#: src/view/com/util/UserBanner.tsx:148
+msgid "Remove Banner"
+msgstr "Remover banner"
+
+#: src/view/com/posts/FeedErrorMessage.tsx:160
msgid "Remove feed"
msgstr "Remover feed"
-#: src/view/com/feeds/FeedSourceCard.tsx:107
-#: src/view/com/feeds/FeedSourceCard.tsx:169
-#: src/view/com/feeds/FeedSourceCard.tsx:174
-#: src/view/com/feeds/FeedSourceCard.tsx:245
-#: src/view/screens/ProfileFeed.tsx:273
+#: src/view/com/posts/FeedErrorMessage.tsx:201
+msgid "Remove feed?"
+msgstr "Remover feed?"
+
+#: src/view/com/feeds/FeedSourceCard.tsx:173
+#: src/view/com/feeds/FeedSourceCard.tsx:233
+#: src/view/screens/ProfileFeed.tsx:346
+#: src/view/screens/ProfileFeed.tsx:352
msgid "Remove from my feeds"
msgstr "Remover dos meus feeds"
+#: src/view/com/feeds/FeedSourceCard.tsx:278
+msgid "Remove from my feeds?"
+msgstr "Remover dos meus feeds?"
+
#: src/view/com/composer/photos/Gallery.tsx:167
msgid "Remove image"
msgstr "Remover imagem"
@@ -3066,37 +3446,36 @@ msgstr "Remover imagem"
msgid "Remove image preview"
msgstr "Remover visualização da imagem"
-#: src/components/dialogs/MutedWords.tsx:343
+#: src/components/dialogs/MutedWords.tsx:329
msgid "Remove mute word from your list"
msgstr "Remover palavra silenciada da lista"
-#: src/view/com/modals/Repost.tsx:47
+#: src/view/com/modals/Repost.tsx:48
msgid "Remove repost"
msgstr "Desfazer repost"
-#: src/view/com/feeds/FeedSourceCard.tsx:175
-msgid "Remove this feed from my feeds?"
-msgstr "Remover este feed dos meus feeds?"
-
-#: src/view/com/posts/FeedErrorMessage.tsx:132
-msgid "Remove this feed from your saved feeds?"
-msgstr "Remover este feed dos feeds salvos?"
+#: src/view/com/posts/FeedErrorMessage.tsx:202
+msgid "Remove this feed from your saved feeds"
+msgstr "Remover este feed dos feeds salvos"
#: src/view/com/modals/ListAddRemoveUsers.tsx:199
#: src/view/com/modals/UserAddRemoveLists.tsx:152
msgid "Removed from list"
msgstr "Removido da lista"
-#: src/view/com/feeds/FeedSourceCard.tsx:113
-#: src/view/com/feeds/FeedSourceCard.tsx:180
+#: src/view/com/feeds/FeedSourceCard.tsx:121
msgid "Removed from my feeds"
-msgstr "Remover dos meus feeds"
+msgstr "Removido dos meus feeds"
+
+#: src/view/screens/ProfileFeed.tsx:210
+msgid "Removed from your feeds"
+msgstr "Removido dos feeds salvos"
#: src/view/com/composer/ExternalEmbed.tsx:71
msgid "Removes default thumbnail from {0}"
msgstr "Remover miniatura de {0}"
-#: src/view/screens/Profile.tsx:181
+#: src/view/screens/Profile.tsx:196
msgid "Replies"
msgstr "Respostas"
@@ -3104,7 +3483,7 @@ msgstr "Respostas"
msgid "Replies to this thread are disabled"
msgstr "Respostas para esta thread estão desativadas"
-#: src/view/com/composer/Composer.tsx:355
+#: src/view/com/composer/Composer.tsx:365
msgctxt "action"
msgid "Reply"
msgstr "Responder"
@@ -3113,37 +3492,58 @@ msgstr "Responder"
msgid "Reply Filters"
msgstr "Filtros de Resposta"
-#: src/view/com/post/Post.tsx:167
-#: src/view/com/posts/FeedItem.tsx:287
+#: src/view/com/post/Post.tsx:177
+#: src/view/com/posts/FeedItem.tsx:285
msgctxt "description"
msgid "Reply to <0/>"
msgstr "Responder <0/>"
-#: src/view/com/modals/report/Modal.tsx:166
-msgid "Report {collectionName}"
-msgstr "Denunciar {collectionName}"
-
-#: src/view/com/profile/ProfileHeader.tsx:361
+#: src/view/com/profile/ProfileMenu.tsx:319
+#: src/view/com/profile/ProfileMenu.tsx:322
msgid "Report Account"
msgstr "Denunciar Conta"
-#: src/view/screens/ProfileFeed.tsx:293
+#: src/components/ReportDialog/index.tsx:49
+msgid "Report dialog"
+msgstr "Janela de denúncia"
+
+#: src/view/screens/ProfileFeed.tsx:363
+#: src/view/screens/ProfileFeed.tsx:365
msgid "Report feed"
msgstr "Denunciar feed"
-#: src/view/screens/ProfileList.tsx:459
+#: src/view/screens/ProfileList.tsx:431
msgid "Report List"
msgstr "Denunciar Lista"
-#: src/view/com/modals/report/SendReportButton.tsx:37
-#: src/view/com/util/forms/PostDropdownBtn.tsx:301
-#: src/view/com/util/forms/PostDropdownBtn.tsx:309
+#: src/view/com/util/forms/PostDropdownBtn.tsx:312
+#: src/view/com/util/forms/PostDropdownBtn.tsx:314
msgid "Report post"
msgstr "Denunciar post"
-#: src/view/com/modals/Repost.tsx:43
-#: src/view/com/modals/Repost.tsx:48
-#: src/view/com/modals/Repost.tsx:53
+#: src/components/ReportDialog/SelectReportOptionView.tsx:42
+msgid "Report this content"
+msgstr "Denunciar conteúdo"
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:55
+msgid "Report this feed"
+msgstr "Denunciar este feed"
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:52
+msgid "Report this list"
+msgstr "Denunciar esta lista"
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:49
+msgid "Report this post"
+msgstr "Denunciar este post"
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:46
+msgid "Report this user"
+msgstr "Denunciar este usuário"
+
+#: src/view/com/modals/Repost.tsx:44
+#: src/view/com/modals/Repost.tsx:49
+#: src/view/com/modals/Repost.tsx:54
#: src/view/com/util/post-ctrls/RepostButton.tsx:61
msgctxt "action"
msgid "Repost"
@@ -3162,19 +3562,23 @@ msgstr "Repostar ou citar um post"
msgid "Reposted By"
msgstr "Repostado Por"
-#: src/view/com/posts/FeedItem.tsx:207
+#: src/view/com/posts/FeedItem.tsx:199
msgid "Reposted by {0}"
msgstr "Repostado por {0}"
-#: src/view/com/posts/FeedItem.tsx:224
-msgid "Reposted by <0/>"
-msgstr "Repostado por <0/>"
+#: src/view/com/posts/FeedItem.tsx:214
+#~ msgid "Reposted by <0/>"
+#~ msgstr "Repostado por <0/>"
-#: src/view/com/notifications/FeedItem.tsx:162
+#: src/view/com/posts/FeedItem.tsx:216
+msgid "Reposted by <0><1/>0>"
+msgstr ""
+
+#: src/view/com/notifications/FeedItem.tsx:168
msgid "reposted your post"
msgstr "repostou seu post"
-#: src/view/com/post-thread/PostThreadItem.tsx:188
+#: src/view/com/post-thread/PostThreadItem.tsx:187
msgid "Reposts of this post"
msgstr "Reposts"
@@ -3183,57 +3587,50 @@ msgstr "Reposts"
msgid "Request Change"
msgstr "Solicitar Alteração"
-#: src/view/com/modals/ChangePassword.tsx:239
#: src/view/com/modals/ChangePassword.tsx:241
+#: src/view/com/modals/ChangePassword.tsx:243
msgid "Request Code"
msgstr "Solicitar Código"
-#: src/view/screens/Settings/index.tsx:456
+#: src/view/screens/Settings/index.tsx:426
msgid "Require alt text before posting"
msgstr "Exigir texto alternativo antes de postar"
-#: src/view/com/auth/create/Step1.tsx:146
+#: src/screens/Signup/StepInfo/index.tsx:69
msgid "Required for this provider"
msgstr "Obrigatório para este provedor"
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:124
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:136
+#: src/view/com/modals/ChangePassword.tsx:185
msgid "Reset code"
msgstr "Código de redefinição"
-#: src/view/com/modals/ChangePassword.tsx:190
+#: src/view/com/modals/ChangePassword.tsx:192
msgid "Reset Code"
msgstr "Código de Redefinição"
-#: src/view/screens/Settings/index.tsx:824
-msgid "Reset onboarding"
-msgstr "Redefinir tutoriais"
-
-#: src/view/screens/Settings/index.tsx:827
+#: src/view/screens/Settings/index.tsx:822
+#: src/view/screens/Settings/index.tsx:825
msgid "Reset onboarding state"
msgstr "Redefinir tutoriais"
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:104
+#: src/screens/Login/ForgotPasswordForm.tsx:86
msgid "Reset password"
msgstr "Redefinir senha"
-#: src/view/screens/Settings/index.tsx:814
-msgid "Reset preferences"
-msgstr "Redefinir configurações"
-
-#: src/view/screens/Settings/index.tsx:817
+#: src/view/screens/Settings/index.tsx:812
+#: src/view/screens/Settings/index.tsx:815
msgid "Reset preferences state"
msgstr "Redefinir configurações"
-#: src/view/screens/Settings/index.tsx:825
+#: src/view/screens/Settings/index.tsx:823
msgid "Resets the onboarding state"
msgstr "Redefine tutoriais"
-#: src/view/screens/Settings/index.tsx:815
+#: src/view/screens/Settings/index.tsx:813
msgid "Resets the preferences state"
msgstr "Redefine as configurações"
-#: src/view/com/auth/login/LoginForm.tsx:269
+#: src/screens/Login/LoginForm.tsx:235
msgid "Retries login"
msgstr "Tenta entrar novamente"
@@ -3242,95 +3639,121 @@ msgstr "Tenta entrar novamente"
msgid "Retries the last action, which errored out"
msgstr "Tenta a última ação, que deu erro"
-#: src/screens/Onboarding/StepInterests/index.tsx:221
-#: src/screens/Onboarding/StepInterests/index.tsx:224
-#: src/view/com/auth/create/CreateAccount.tsx:181
-#: src/view/com/auth/create/CreateAccount.tsx:186
-#: src/view/com/auth/login/LoginForm.tsx:268
-#: src/view/com/auth/login/LoginForm.tsx:271
+#: src/components/Error.tsx:79
+#: src/components/Lists.tsx:91
+#: src/screens/Login/LoginForm.tsx:234
+#: src/screens/Login/LoginForm.tsx:241
+#: src/screens/Onboarding/StepInterests/index.tsx:225
+#: src/screens/Onboarding/StepInterests/index.tsx:228
+#: src/screens/Signup/index.tsx:194
#: src/view/com/util/error/ErrorMessage.tsx:55
#: src/view/com/util/error/ErrorScreen.tsx:72
msgid "Retry"
msgstr "Tente novamente"
-#: src/view/com/auth/create/Step2.tsx:247
-#~ msgid "Retry."
-#~ msgstr "Tentar novamente."
-
-#: src/view/screens/ProfileList.tsx:903
+#: src/components/Error.tsx:86
+#: src/view/screens/ProfileList.tsx:919
msgid "Return to previous page"
msgstr "Voltar para página anterior"
+#: src/view/screens/NotFound.tsx:59
+msgid "Returns to home page"
+msgstr "Voltar para a tela inicial"
+
+#: src/view/screens/NotFound.tsx:58
+#: src/view/screens/ProfileFeed.tsx:113
+msgid "Returns to previous page"
+msgstr "Voltar para página anterior"
+
+#: src/components/dialogs/BirthDateSettings.tsx:125
+#: src/view/com/modals/ChangeHandle.tsx:174
+#: src/view/com/modals/CreateOrEditList.tsx:338
+#: src/view/com/modals/EditProfile.tsx:225
+msgid "Save"
+msgstr "Salvar"
+
#: src/view/com/lightbox/Lightbox.tsx:132
-#: src/view/com/modals/CreateOrEditList.tsx:345
+#: src/view/com/modals/CreateOrEditList.tsx:346
msgctxt "action"
msgid "Save"
msgstr "Salvar"
-#: src/view/com/modals/BirthDateSettings.tsx:94
-#: src/view/com/modals/BirthDateSettings.tsx:97
-#: src/view/com/modals/ChangeHandle.tsx:173
-#: src/view/com/modals/CreateOrEditList.tsx:337
-#: src/view/com/modals/EditProfile.tsx:224
-#: src/view/screens/ProfileFeed.tsx:346
-msgid "Save"
-msgstr "Salvar"
-
-#: src/view/com/modals/AltImage.tsx:130
+#: src/view/com/modals/AltImage.tsx:131
msgid "Save alt text"
msgstr "Salvar texto alternativo"
-#: src/view/com/modals/EditProfile.tsx:232
+#: src/components/dialogs/BirthDateSettings.tsx:119
+msgid "Save birthday"
+msgstr "Salvar data de nascimento"
+
+#: src/view/com/modals/EditProfile.tsx:233
msgid "Save Changes"
msgstr "Salvar Alterações"
-#: src/view/com/modals/ChangeHandle.tsx:170
+#: src/view/com/modals/ChangeHandle.tsx:171
msgid "Save handle change"
msgstr "Salvar usuário"
-#: src/view/com/modals/crop-image/CropImage.web.tsx:144
+#: src/view/com/modals/crop-image/CropImage.web.tsx:145
msgid "Save image crop"
msgstr "Salvar corte de imagem"
-#: src/view/screens/SavedFeeds.tsx:122
+#: src/view/screens/ProfileFeed.tsx:347
+#: src/view/screens/ProfileFeed.tsx:353
+msgid "Save to my feeds"
+msgstr "Salvar nos meus feeds"
+
+#: src/view/screens/SavedFeeds.tsx:123
msgid "Saved Feeds"
msgstr "Feeds Salvos"
-#: src/view/com/modals/EditProfile.tsx:225
+#: src/view/com/lightbox/Lightbox.tsx:81
+msgid "Saved to your camera roll."
+msgstr "Imagem salva na galeria."
+
+#: src/view/screens/ProfileFeed.tsx:214
+msgid "Saved to your feeds"
+msgstr "Adicionado aos seus feeds"
+
+#: src/view/com/modals/EditProfile.tsx:226
msgid "Saves any changes to your profile"
msgstr "Salva todas as alterações"
-#: src/view/com/modals/ChangeHandle.tsx:171
+#: src/view/com/modals/ChangeHandle.tsx:172
msgid "Saves handle change to {handle}"
msgstr "Salva mudança de usuário para {handle}"
+#: src/view/com/modals/crop-image/CropImage.web.tsx:146
+msgid "Saves image crop settings"
+msgstr "Salva o corte da imagem"
+
#: src/screens/Onboarding/index.tsx:36
msgid "Science"
msgstr "Ciência"
-#: src/view/screens/ProfileList.tsx:859
+#: src/view/screens/ProfileList.tsx:875
msgid "Scroll to top"
msgstr "Ir para o topo"
-#: src/Navigation.tsx:447
-#: src/view/com/auth/LoggedOut.tsx:122
+#: src/Navigation.tsx:451
+#: src/view/com/auth/LoggedOut.tsx:123
#: src/view/com/modals/ListAddRemoveUsers.tsx:75
#: src/view/com/util/forms/SearchInput.tsx:67
#: src/view/com/util/forms/SearchInput.tsx:79
-#: src/view/screens/Search/Search.tsx:419
-#: src/view/screens/Search/Search.tsx:668
-#: src/view/screens/Search/Search.tsx:686
-#: src/view/shell/bottom-bar/BottomBar.tsx:159
-#: src/view/shell/desktop/LeftNav.tsx:324
-#: src/view/shell/desktop/Search.tsx:214
-#: src/view/shell/desktop/Search.tsx:223
-#: src/view/shell/Drawer.tsx:362
-#: src/view/shell/Drawer.tsx:363
+#: src/view/screens/Search/Search.tsx:568
+#: src/view/screens/Search/Search.tsx:817
+#: src/view/screens/Search/Search.tsx:835
+#: src/view/shell/bottom-bar/BottomBar.tsx:170
+#: src/view/shell/desktop/LeftNav.tsx:328
+#: src/view/shell/desktop/Search.tsx:215
+#: src/view/shell/desktop/Search.tsx:224
+#: src/view/shell/Drawer.tsx:371
+#: src/view/shell/Drawer.tsx:372
msgid "Search"
msgstr "Buscar"
-#: src/view/screens/Search/Search.tsx:735
-#: src/view/shell/desktop/Search.tsx:255
+#: src/view/screens/Search/Search.tsx:884
+#: src/view/shell/desktop/Search.tsx:256
msgid "Search for \"{query}\""
msgstr "Pesquisar por \"{query}\""
@@ -3338,20 +3761,12 @@ msgstr "Pesquisar por \"{query}\""
msgid "Search for all posts by @{authorHandle} with tag {displayTag}"
msgstr "Pesquisar por posts de @{authorHandle} com a tag {displayTag}"
-#: src/components/TagMenu/index.tsx:145
-#~ msgid "Search for all posts by @{authorHandle} with tag {tag}"
-#~ msgstr "Pesquisar por posts de @{authorHandle} com a tag {tag}"
-
#: src/components/TagMenu/index.tsx:94
msgid "Search for all posts with tag {displayTag}"
msgstr "Pesquisar por posts com a tag {displayTag}"
-#: src/components/TagMenu/index.tsx:90
-#~ msgid "Search for all posts with tag {tag}"
-#~ msgstr "Pesquisar por posts com a tag {tag}"
-
-#: src/view/com/auth/LoggedOut.tsx:104
#: src/view/com/auth/LoggedOut.tsx:105
+#: src/view/com/auth/LoggedOut.tsx:106
#: src/view/com/modals/ListAddRemoveUsers.tsx:70
msgid "Search for users"
msgstr "Buscar usuários"
@@ -3376,52 +3791,60 @@ msgstr "Ver posts com <0>{displayTag}0>"
msgid "See <0>{displayTag}0> posts by this user"
msgstr "Ver posts com <0>{displayTag}0> deste usuário"
-#: src/components/TagMenu/index.tsx:128
-#~ msgid "See <0>{tag}0> posts"
-#~ msgstr "Ver posts com <0>{tag}0>"
+#: src/view/com/notifications/FeedItem.tsx:419
+#: src/view/com/util/UserAvatar.tsx:381
+msgid "See profile"
+msgstr ""
-#: src/components/TagMenu/index.tsx:189
-#~ msgid "See <0>{tag}0> posts by this user"
-#~ msgstr "Ver posts com <0>{tag}0> deste usuário"
-
-#: src/view/screens/SavedFeeds.tsx:163
+#: src/view/screens/SavedFeeds.tsx:164
msgid "See this guide"
msgstr "Veja o guia"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:39
-msgid "See what's next"
-msgstr "Veja o que vem por aí"
+#: src/view/com/auth/HomeLoggedOutCTA.tsx:40
+#~ msgid "See what's next"
+#~ msgstr "Veja o que vem por aí"
#: src/view/com/util/Selector.tsx:106
msgid "Select {item}"
msgstr "Selecionar {item}"
-#: src/view/com/auth/login/Login.tsx:117
+#: src/screens/Login/ChooseAccountForm.tsx:61
+msgid "Select account"
+msgstr "Selecione uma conta"
+
+#: src/screens/Login/index.tsx:120
msgid "Select from an existing account"
msgstr "Selecionar de uma conta existente"
+#: src/view/screens/LanguageSettings.tsx:299
+msgid "Select languages"
+msgstr "Selecionar idiomas"
+
+#: src/components/ReportDialog/SelectLabelerView.tsx:30
+msgid "Select moderator"
+msgstr "Selecionar moderador"
+
#: src/view/com/util/Selector.tsx:107
msgid "Select option {i} of {numItems}"
msgstr "Seleciona opção {i} de {numItems}"
-#: src/view/com/auth/create/Step1.tsx:96
-#: src/view/com/auth/login/LoginForm.tsx:150
-msgid "Select service"
-msgstr "Selecionar serviço"
-
#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:52
msgid "Select some accounts below to follow"
msgstr "Selecione algumas contas para seguir"
+#: src/components/ReportDialog/SubmitView.tsx:133
+msgid "Select the moderation service(s) to report to"
+msgstr "Selecione o(s) serviço(s) de moderação para reportar"
+
#: src/view/com/auth/server-input/index.tsx:82
msgid "Select the service that hosts your data."
msgstr "Selecione o serviço que hospeda seus dados."
-#: src/screens/Onboarding/StepTopicalFeeds.tsx:96
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:100
msgid "Select topical feeds to follow from the list below"
msgstr "Selecione feeds de assuntos para seguir"
-#: src/screens/Onboarding/StepModeration/index.tsx:75
+#: src/screens/Onboarding/StepModeration/index.tsx:63
msgid "Select what you want to see (or not see), and we’ll handle the rest."
msgstr "Selecione o que você quer (ou não) ver, e cuidaremos do resto."
@@ -3430,10 +3853,14 @@ msgid "Select which languages you want your subscribed feeds to include. If none
msgstr "Selecione quais idiomas você deseja ver nos seus feeds. Se nenhum for selecionado, todos os idiomas serão exibidos."
#: src/view/screens/LanguageSettings.tsx:98
-msgid "Select your app language for the default text to display in the app"
+msgid "Select your app language for the default text to display in the app."
msgstr "Selecione o idioma do seu aplicativo"
-#: src/screens/Onboarding/StepInterests/index.tsx:196
+#: src/screens/Signup/StepInfo/index.tsx:135
+msgid "Select your date of birth"
+msgstr "Selecione sua data de nascimento"
+
+#: src/screens/Onboarding/StepInterests/index.tsx:200
msgid "Select your interests from the options below"
msgstr "Selecione seus interesses"
@@ -3441,11 +3868,11 @@ msgstr "Selecione seus interesses"
msgid "Select your preferred language for translations in your feed."
msgstr "Selecione seu idioma preferido para as traduções no seu feed."
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:116
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:117
msgid "Select your primary algorithmic feeds"
msgstr "Selecione seus feeds primários"
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:142
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:133
msgid "Select your secondary algorithmic feeds"
msgstr "Selecione seus feeds secundários"
@@ -3454,70 +3881,45 @@ msgstr "Selecione seus feeds secundários"
msgid "Send Confirmation Email"
msgstr "Enviar E-mail de Confirmação"
-#: src/view/com/modals/DeleteAccount.tsx:131
+#: src/view/com/modals/DeleteAccount.tsx:130
msgid "Send email"
msgstr "Enviar e-mail"
-#: src/view/com/modals/DeleteAccount.tsx:144
+#: src/view/com/modals/DeleteAccount.tsx:143
msgctxt "action"
msgid "Send Email"
msgstr "Enviar E-mail"
-#: src/view/shell/Drawer.tsx:295
-#: src/view/shell/Drawer.tsx:316
+#: src/view/shell/Drawer.tsx:304
+#: src/view/shell/Drawer.tsx:325
msgid "Send feedback"
msgstr "Enviar comentários"
-#: src/view/com/modals/report/SendReportButton.tsx:45
-msgid "Send Report"
+#: src/components/ReportDialog/SubmitView.tsx:213
+#: src/components/ReportDialog/SubmitView.tsx:217
+msgid "Send report"
msgstr "Denunciar"
-#: src/view/com/modals/DeleteAccount.tsx:133
+#: src/components/ReportDialog/SelectLabelerView.tsx:44
+msgid "Send report to {0}"
+msgstr "Denunciar via {0}"
+
+#: src/view/com/modals/DeleteAccount.tsx:132
msgid "Sends email with confirmation code for account deletion"
msgstr "Envia o e-mail com o código de confirmação para excluir a conta"
-#: src/view/com/auth/server-input/index.tsx:110
+#: src/view/com/auth/server-input/index.tsx:114
msgid "Server address"
msgstr "URL do servidor"
-#: src/view/com/modals/ContentFilteringSettings.tsx:311
-msgid "Set {value} for {labelGroup} content moderation policy"
-msgstr "Definir {value} para o filtro de moderação {labelGroup}"
+#: src/screens/Moderation/index.tsx:304
+msgid "Set birthdate"
+msgstr "Definir data de nascimento"
-#: src/view/com/modals/ContentFilteringSettings.tsx:160
-#: src/view/com/modals/ContentFilteringSettings.tsx:179
-msgctxt "action"
-msgid "Set Age"
-msgstr "Definir Idade"
-
-#: src/view/screens/Settings/index.tsx:488
-msgid "Set color theme to dark"
-msgstr "Definir o tema de cor para escuro"
-
-#: src/view/screens/Settings/index.tsx:481
-msgid "Set color theme to light"
-msgstr "Definir o tema de cor para claro"
-
-#: src/view/screens/Settings/index.tsx:475
-msgid "Set color theme to system setting"
-msgstr "Definir o tema para acompanhar o sistema"
-
-#: src/view/screens/Settings/index.tsx:514
-msgid "Set dark theme to the dark theme"
-msgstr "Definir o tema escuro para o padrão"
-
-#: src/view/screens/Settings/index.tsx:507
-msgid "Set dark theme to the dim theme"
-msgstr "Definir o tema escuro para a versão menos escura"
-
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:104
+#: src/screens/Login/SetNewPasswordForm.tsx:102
msgid "Set new password"
msgstr "Definir uma nova senha"
-#: src/view/com/auth/create/Step1.tsx:202
-msgid "Set password"
-msgstr "Definir senha"
-
#: src/view/screens/PreferencesFollowingFeed.tsx:225
msgid "Set this setting to \"No\" to hide all quote posts from your feed. Reposts will still be visible."
msgstr "Defina esta configuração como \"Não\" para ocultar todas as citações do seu feed. Reposts ainda serão visíveis."
@@ -3538,32 +3940,55 @@ msgstr "Defina esta configuração como \"Sim\" para mostrar respostas em uma vi
msgid "Set this setting to \"Yes\" to show samples of your saved feeds in your Following feed. This is an experimental feature."
msgstr "Defina esta configuração como \"Sim\" para exibir amostras de seus feeds salvos no seu feed inicial. Este é um recurso experimental."
-#: src/screens/Onboarding/Layout.tsx:50
+#: src/screens/Onboarding/Layout.tsx:48
msgid "Set up your account"
msgstr "Configure sua conta"
-#: src/view/com/modals/ChangeHandle.tsx:266
+#: src/view/com/modals/ChangeHandle.tsx:267
msgid "Sets Bluesky username"
msgstr "Configura o usuário no Bluesky"
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:157
+#: src/view/screens/Settings/index.tsx:458
+msgid "Sets color theme to dark"
+msgstr "Define o tema para escuro"
+
+#: src/view/screens/Settings/index.tsx:451
+msgid "Sets color theme to light"
+msgstr "Define o tema para claro"
+
+#: src/view/screens/Settings/index.tsx:445
+msgid "Sets color theme to system setting"
+msgstr "Define o tema para seguir o sistema"
+
+#: src/view/screens/Settings/index.tsx:484
+msgid "Sets dark theme to the dark theme"
+msgstr "Define o tema escuro para o padrão"
+
+#: src/view/screens/Settings/index.tsx:477
+msgid "Sets dark theme to the dim theme"
+msgstr "Define o tema escuro para o menos escuro"
+
+#: src/screens/Login/ForgotPasswordForm.tsx:113
msgid "Sets email for password reset"
msgstr "Configura o e-mail para recuperação de senha"
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:122
-msgid "Sets hosting provider for password reset"
-msgstr "Configura o provedor de hospedagem para recuperação de senha"
+#: src/view/com/modals/crop-image/CropImage.web.tsx:124
+msgid "Sets image aspect ratio to square"
+msgstr "Define a proporção da imagem para quadrada"
-#: src/view/com/auth/create/Step1.tsx:97
-#: src/view/com/auth/login/LoginForm.tsx:151
-msgid "Sets server for the Bluesky client"
-msgstr "Configura o servidor para o cliente do Bluesky"
+#: src/view/com/modals/crop-image/CropImage.web.tsx:114
+msgid "Sets image aspect ratio to tall"
+msgstr "Define a proporção da imagem para alta"
-#: src/Navigation.tsx:137
-#: src/view/screens/Settings/index.tsx:294
-#: src/view/shell/desktop/LeftNav.tsx:433
-#: src/view/shell/Drawer.tsx:567
-#: src/view/shell/Drawer.tsx:568
+#: src/view/com/modals/crop-image/CropImage.web.tsx:104
+msgid "Sets image aspect ratio to wide"
+msgstr "Define a proporção da imagem para comprida"
+
+#: src/Navigation.tsx:139
+#: src/view/screens/Settings/index.tsx:316
+#: src/view/shell/desktop/LeftNav.tsx:437
+#: src/view/shell/Drawer.tsx:576
+#: src/view/shell/Drawer.tsx:577
msgid "Settings"
msgstr "Configurações"
@@ -3571,28 +3996,49 @@ msgstr "Configurações"
msgid "Sexual activity or erotic nudity."
msgstr "Atividade sexual ou nudez erótica."
+#: src/lib/moderation/useGlobalLabelStrings.ts:38
+msgid "Sexually Suggestive"
+msgstr "Sexualmente Sugestivo"
+
#: src/view/com/lightbox/Lightbox.tsx:141
msgctxt "action"
msgid "Share"
msgstr "Compartilhar"
-#: src/view/com/profile/ProfileHeader.tsx:295
-#: src/view/com/util/forms/PostDropdownBtn.tsx:231
-#: src/view/com/util/forms/PostDropdownBtn.tsx:237
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:215
-#: src/view/screens/ProfileList.tsx:418
+#: src/view/com/profile/ProfileMenu.tsx:215
+#: src/view/com/profile/ProfileMenu.tsx:224
+#: src/view/com/util/forms/PostDropdownBtn.tsx:236
+#: src/view/com/util/forms/PostDropdownBtn.tsx:245
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:237
+#: src/view/screens/ProfileList.tsx:390
msgid "Share"
msgstr "Compartilhar"
-#: src/view/screens/ProfileFeed.tsx:305
+#: src/view/com/profile/ProfileMenu.tsx:373
+#: src/view/com/util/forms/PostDropdownBtn.tsx:369
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:253
+msgid "Share anyway"
+msgstr "Compartilhar assim"
+
+#: src/view/screens/ProfileFeed.tsx:373
+#: src/view/screens/ProfileFeed.tsx:375
msgid "Share feed"
msgstr "Compartilhar feed"
-#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:43
-#: src/view/com/modals/ContentFilteringSettings.tsx:266
-#: src/view/com/util/moderation/ContentHider.tsx:107
-#: src/view/com/util/moderation/PostHider.tsx:108
-#: src/view/screens/Settings/index.tsx:344
+#: src/view/com/modals/LinkWarning.tsx:89
+#: src/view/com/modals/LinkWarning.tsx:95
+msgid "Share Link"
+msgstr "Compartilhar Link"
+
+#: src/view/com/modals/LinkWarning.tsx:92
+msgid "Shares the linked website"
+msgstr "Compartilha o link"
+
+#: src/components/moderation/ContentHider.tsx:115
+#: src/components/moderation/LabelPreference.tsx:136
+#: src/components/moderation/PostHider.tsx:107
+#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:54
+#: src/view/screens/Settings/index.tsx:366
msgid "Show"
msgstr "Mostrar"
@@ -3600,21 +4046,27 @@ msgstr "Mostrar"
msgid "Show all replies"
msgstr "Mostrar todas as respostas"
-#: src/view/com/util/moderation/ScreenHider.tsx:132
+#: src/components/moderation/ScreenHider.tsx:169
+#: src/components/moderation/ScreenHider.tsx:172
msgid "Show anyway"
msgstr "Mostrar mesmo assim"
-#: src/view/com/modals/EmbedConsent.tsx:87
-msgid "Show embeds from {0}"
-msgstr "Mostrar anexos de {0}"
+#: src/lib/moderation/useLabelBehaviorDescription.ts:27
+#: src/lib/moderation/useLabelBehaviorDescription.ts:63
+msgid "Show badge"
+msgstr "Mostrar rótulo"
-#: src/view/com/profile/ProfileHeader.tsx:459
+#: src/lib/moderation/useLabelBehaviorDescription.ts:61
+msgid "Show badge and filter from feeds"
+msgstr "Mostrar rótulo e filtrar dos feeds"
+
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:200
msgid "Show follows similar to {0}"
msgstr "Mostrar usuários parecidos com {0}"
-#: src/view/com/post-thread/PostThreadItem.tsx:538
-#: src/view/com/post/Post.tsx:198
-#: src/view/com/posts/FeedItem.tsx:363
+#: src/view/com/post-thread/PostThreadItem.tsx:501
+#: src/view/com/post/Post.tsx:212
+#: src/view/com/posts/FeedItem.tsx:360
msgid "Show More"
msgstr "Mostrar Mais"
@@ -3626,15 +4078,15 @@ msgstr "Mostrar Posts dos Meus Feeds"
msgid "Show Quote Posts"
msgstr "Mostrar Citações"
-#: src/screens/Onboarding/StepFollowingFeed.tsx:118
+#: src/screens/Onboarding/StepFollowingFeed.tsx:119
msgid "Show quote-posts in Following feed"
msgstr "Mostrar citações no feed Seguindo"
-#: src/screens/Onboarding/StepFollowingFeed.tsx:134
+#: src/screens/Onboarding/StepFollowingFeed.tsx:135
msgid "Show quotes in Following"
msgstr "Mostrar citações no Seguindo"
-#: src/screens/Onboarding/StepFollowingFeed.tsx:94
+#: src/screens/Onboarding/StepFollowingFeed.tsx:95
msgid "Show re-posts in Following feed"
msgstr "Mostrar reposts no feed Seguindo"
@@ -3646,11 +4098,11 @@ msgstr "Mostrar Respostas"
msgid "Show replies by people you follow before all other replies."
msgstr "Mostrar as respostas de pessoas que você segue antes de todas as outras respostas."
-#: src/screens/Onboarding/StepFollowingFeed.tsx:86
+#: src/screens/Onboarding/StepFollowingFeed.tsx:87
msgid "Show replies in Following"
msgstr "Mostrar respostas no Seguindo"
-#: src/screens/Onboarding/StepFollowingFeed.tsx:70
+#: src/screens/Onboarding/StepFollowingFeed.tsx:71
msgid "Show replies in Following feed"
msgstr "Mostrar respostas no feed Seguindo"
@@ -3662,107 +4114,109 @@ msgstr "Mostrar respostas com ao menos {0} {value}"
msgid "Show Reposts"
msgstr "Mostrar Reposts"
-#: src/screens/Onboarding/StepFollowingFeed.tsx:110
+#: src/screens/Onboarding/StepFollowingFeed.tsx:111
msgid "Show reposts in Following"
msgstr "Mostrar reposts no Seguindo"
-#: src/view/com/util/moderation/ContentHider.tsx:67
-#: src/view/com/util/moderation/PostHider.tsx:61
+#: src/components/moderation/ContentHider.tsx:68
+#: src/components/moderation/PostHider.tsx:64
msgid "Show the content"
msgstr "Mostrar conteúdo"
-#: src/view/com/notifications/FeedItem.tsx:347
+#: src/view/com/notifications/FeedItem.tsx:353
msgid "Show users"
msgstr "Mostrar usuários"
-#: src/view/com/profile/ProfileHeader.tsx:462
-msgid "Shows a list of users similar to this user."
-msgstr "Mostra uma lista de usuários parecidos com este"
+#: src/lib/moderation/useLabelBehaviorDescription.ts:58
+msgid "Show warning"
+msgstr "Mostrar aviso"
-#: src/view/com/post-thread/PostThreadFollowBtn.tsx:124
-#: src/view/com/profile/ProfileHeader.tsx:506
+#: src/lib/moderation/useLabelBehaviorDescription.ts:56
+msgid "Show warning and filter from feeds"
+msgstr "Mostrar aviso e filtrar dos feeds"
+
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:130
msgid "Shows posts from {0} in your feed"
msgstr "Mostra posts de {0} no seu feed"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:70
-#: src/view/com/auth/login/Login.tsx:98
-#: src/view/com/auth/SplashScreen.tsx:79
-#: src/view/shell/bottom-bar/BottomBar.tsx:285
-#: src/view/shell/bottom-bar/BottomBar.tsx:286
-#: src/view/shell/bottom-bar/BottomBar.tsx:288
+#: src/components/dialogs/Signin.tsx:97
+#: src/components/dialogs/Signin.tsx:99
+#: src/screens/Login/index.tsx:100
+#: src/screens/Login/index.tsx:119
+#: src/screens/Login/LoginForm.tsx:131
+#: src/view/com/auth/SplashScreen.tsx:63
+#: src/view/com/auth/SplashScreen.tsx:72
+#: src/view/com/auth/SplashScreen.web.tsx:107
+#: src/view/com/auth/SplashScreen.web.tsx:116
+#: src/view/shell/bottom-bar/BottomBar.tsx:301
+#: src/view/shell/bottom-bar/BottomBar.tsx:302
+#: src/view/shell/bottom-bar/BottomBar.tsx:304
#: src/view/shell/bottom-bar/BottomBarWeb.tsx:178
#: src/view/shell/bottom-bar/BottomBarWeb.tsx:179
#: src/view/shell/bottom-bar/BottomBarWeb.tsx:181
-#: src/view/shell/NavSignupCard.tsx:58
-#: src/view/shell/NavSignupCard.tsx:59
+#: src/view/shell/NavSignupCard.tsx:63
+#: src/view/shell/NavSignupCard.tsx:64
+#: src/view/shell/NavSignupCard.tsx:66
msgid "Sign in"
msgstr "Fazer login"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:78
-#: src/view/com/auth/SplashScreen.tsx:82
-#: src/view/com/auth/SplashScreen.web.tsx:91
-msgid "Sign In"
-msgstr "Fazer Login"
-
-#: src/view/com/auth/login/ChooseAccountForm.tsx:44
+#: src/components/AccountList.tsx:109
msgid "Sign in as {0}"
msgstr "Fazer login como {0}"
-#: src/view/com/auth/login/ChooseAccountForm.tsx:118
-#: src/view/com/auth/login/Login.tsx:116
+#: src/screens/Login/ChooseAccountForm.tsx:64
msgid "Sign in as..."
msgstr "Fazer login como..."
-#: src/view/com/auth/login/LoginForm.tsx:137
-msgid "Sign into"
-msgstr "Fazer login"
+#: src/components/dialogs/Signin.tsx:75
+msgid "Sign in or create your account to join the conversation!"
+msgstr ""
-#: src/view/com/modals/SwitchAccount.tsx:64
-#: src/view/com/modals/SwitchAccount.tsx:69
-#: src/view/screens/Settings/index.tsx:100
-#: src/view/screens/Settings/index.tsx:103
+#: src/components/dialogs/Signin.tsx:46
+msgid "Sign into Bluesky or create a new account"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:118
+#: src/view/screens/Settings/index.tsx:121
msgid "Sign out"
msgstr "Sair"
-#: src/view/shell/bottom-bar/BottomBar.tsx:275
-#: src/view/shell/bottom-bar/BottomBar.tsx:276
-#: src/view/shell/bottom-bar/BottomBar.tsx:278
+#: src/view/shell/bottom-bar/BottomBar.tsx:291
+#: src/view/shell/bottom-bar/BottomBar.tsx:292
+#: src/view/shell/bottom-bar/BottomBar.tsx:294
#: src/view/shell/bottom-bar/BottomBarWeb.tsx:168
#: src/view/shell/bottom-bar/BottomBarWeb.tsx:169
#: src/view/shell/bottom-bar/BottomBarWeb.tsx:171
-#: src/view/shell/NavSignupCard.tsx:49
-#: src/view/shell/NavSignupCard.tsx:50
-#: src/view/shell/NavSignupCard.tsx:52
+#: src/view/shell/NavSignupCard.tsx:54
+#: src/view/shell/NavSignupCard.tsx:55
+#: src/view/shell/NavSignupCard.tsx:57
msgid "Sign up"
msgstr "Inscrever-se"
-#: src/view/shell/NavSignupCard.tsx:42
+#: src/view/shell/NavSignupCard.tsx:47
msgid "Sign up or sign in to join the conversation"
msgstr "Inscreva-se ou faça login para se juntar à conversa"
-#: src/view/com/util/moderation/ScreenHider.tsx:76
+#: src/components/moderation/ScreenHider.tsx:97
+#: src/lib/moderation/useGlobalLabelStrings.ts:28
msgid "Sign-in Required"
msgstr "É Necessário Fazer Login"
-#: src/view/screens/Settings/index.tsx:355
+#: src/view/screens/Settings/index.tsx:377
msgid "Signed in as"
msgstr "Entrou como"
-#: src/view/com/auth/login/ChooseAccountForm.tsx:103
+#: src/screens/Login/ChooseAccountForm.tsx:48
msgid "Signed in as @{0}"
-msgstr "Logado como @{0}"
+msgstr "autenticado como @{0}"
-#: src/view/com/modals/SwitchAccount.tsx:66
-msgid "Signs {0} out of Bluesky"
-msgstr "Desloga a conta {0}"
-
-#: src/screens/Onboarding/StepInterests/index.tsx:235
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:195
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:33
+#: src/screens/Onboarding/StepInterests/index.tsx:239
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:203
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:35
msgid "Skip"
msgstr "Pular"
-#: src/screens/Onboarding/StepInterests/index.tsx:232
+#: src/screens/Onboarding/StepInterests/index.tsx:236
msgid "Skip this flow"
msgstr "Pular"
@@ -3770,19 +4224,13 @@ msgstr "Pular"
msgid "Software Dev"
msgstr "Desenvolvimento de software"
-#: src/view/com/modals/ProfilePreview.tsx:62
-#~ msgid "Something went wrong and we're not sure what."
-#~ msgstr "Algo deu errado e meio que não sabemos o que houve."
+#: src/components/ReportDialog/index.tsx:59
+#: src/screens/Moderation/index.tsx:114
+#: src/screens/Profile/Sections/Labels.tsx:87
+msgid "Something went wrong, please try again."
+msgstr "Algo deu errado. Por favor, tente novamente."
-#: src/components/Lists.tsx:203
-msgid "Something went wrong!"
-msgstr "Algo deu errado!"
-
-#: src/view/com/modals/Waitlist.tsx:51
-#~ msgid "Something went wrong. Check your email and try again."
-#~ msgstr "Algo deu errado. Verifique seu e-mail e tente novamente."
-
-#: src/App.native.tsx:66
+#: src/App.native.tsx:64
msgid "Sorry! Your session expired. Please log in again."
msgstr "Opa! Sua sessão expirou. Por favor, entre novamente."
@@ -3794,53 +4242,78 @@ msgstr "Classificar Respostas"
msgid "Sort replies to the same post by:"
msgstr "Classificar respostas de um post por:"
+#: src/components/moderation/LabelsOnMeDialog.tsx:146
+msgid "Source:"
+msgstr "Fonte:"
+
+#: src/lib/moderation/useReportOptions.ts:65
+msgid "Spam"
+msgstr "Spam"
+
+#: src/lib/moderation/useReportOptions.ts:53
+msgid "Spam; excessive mentions or replies"
+msgstr "Spam; menções ou respostas excessivas"
+
#: src/screens/Onboarding/index.tsx:30
msgid "Sports"
msgstr "Esportes"
-#: src/view/com/modals/crop-image/CropImage.web.tsx:122
+#: src/view/com/modals/crop-image/CropImage.web.tsx:123
msgid "Square"
msgstr "Quadrado"
-#: src/view/screens/Settings/index.tsx:871
+#: src/view/screens/Settings/index.tsx:867
msgid "Status page"
msgstr "Página de status"
-#: src/view/com/auth/create/StepHeader.tsx:22
-msgid "Step {0} of {numSteps}"
-msgstr "Passo {0} de {numSteps}"
+#: src/screens/Signup/index.tsx:143
+msgid "Step"
+msgstr "Passo"
-#: src/view/screens/Settings/index.tsx:274
+#: src/view/screens/Settings/index.tsx:295
msgid "Storage cleared, you need to restart the app now."
msgstr "Armazenamento limpo, você precisa reiniciar o app agora."
-#: src/Navigation.tsx:204
-#: src/view/screens/Settings/index.tsx:807
+#: src/Navigation.tsx:211
+#: src/view/screens/Settings/index.tsx:795
msgid "Storybook"
msgstr "Storybook"
-#: src/view/com/modals/AppealLabel.tsx:101
+#: src/components/moderation/LabelsOnMeDialog.tsx:255
+#: src/components/moderation/LabelsOnMeDialog.tsx:256
msgid "Submit"
msgstr "Enviar"
-#: src/view/screens/ProfileList.tsx:608
+#: src/view/screens/ProfileList.tsx:592
msgid "Subscribe"
msgstr "Inscrever-se"
-#: src/screens/Onboarding/StepAlgoFeeds/FeedCard.tsx:173
-#: src/screens/Onboarding/StepAlgoFeeds/FeedCard.tsx:308
+#: src/screens/Profile/Sections/Labels.tsx:191
+msgid "Subscribe to @{0} to use these labels:"
+msgstr "Inscreva-se em @{0} para utilizar estes rótulos:"
+
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:227
+msgid "Subscribe to Labeler"
+msgstr "Inscrever-se no rotulador"
+
+#: src/screens/Onboarding/StepAlgoFeeds/FeedCard.tsx:172
+#: src/screens/Onboarding/StepAlgoFeeds/FeedCard.tsx:307
msgid "Subscribe to the {0} feed"
msgstr "Increver-se no feed {0}"
-#: src/view/screens/ProfileList.tsx:604
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:191
+msgid "Subscribe to this labeler"
+msgstr "Inscrever-se neste rotulador"
+
+#: src/view/screens/ProfileList.tsx:588
msgid "Subscribe to this list"
msgstr "Inscreva-se nesta lista"
-#: src/view/screens/Search/Search.tsx:374
+#: src/view/screens/Search/Search.tsx:523
msgid "Suggested Follows"
msgstr "Sugestões de Seguidores"
-#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:64
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:65
msgid "Suggested for you"
msgstr "Sugeridos para você"
@@ -3848,35 +4321,34 @@ msgstr "Sugeridos para você"
msgid "Suggestive"
msgstr "Sugestivo"
-#: src/Navigation.tsx:214
+#: src/Navigation.tsx:226
#: src/view/screens/Support.tsx:30
#: src/view/screens/Support.tsx:33
msgid "Support"
msgstr "Suporte"
-#: src/view/com/modals/SwitchAccount.tsx:117
+#: src/components/dialogs/SwitchAccount.tsx:46
+#: src/components/dialogs/SwitchAccount.tsx:49
msgid "Switch Account"
msgstr "Alterar Conta"
-#: src/view/com/modals/SwitchAccount.tsx:97
-#: src/view/screens/Settings/index.tsx:130
+#: src/view/screens/Settings/index.tsx:150
msgid "Switch to {0}"
msgstr "Trocar para {0}"
-#: src/view/com/modals/SwitchAccount.tsx:98
-#: src/view/screens/Settings/index.tsx:131
+#: src/view/screens/Settings/index.tsx:151
msgid "Switches the account you are logged in to"
-msgstr "Troca a conta que você está logado"
+msgstr "Troca a conta que você está autenticado"
-#: src/view/screens/Settings/index.tsx:472
+#: src/view/screens/Settings/index.tsx:442
msgid "System"
msgstr "Sistema"
-#: src/view/screens/Settings/index.tsx:795
+#: src/view/screens/Settings/index.tsx:783
msgid "System log"
msgstr "Log do sistema"
-#: src/components/dialogs/MutedWords.tsx:337
+#: src/components/dialogs/MutedWords.tsx:323
msgid "tag"
msgstr "tag"
@@ -3884,11 +4356,7 @@ msgstr "tag"
msgid "Tag menu: {displayTag}"
msgstr "Menu da tag: {displayTag}"
-#: src/components/TagMenu/index.tsx:74
-#~ msgid "Tag menu: {tag}"
-#~ msgstr "Menu da tag: {tag}"
-
-#: src/view/com/modals/crop-image/CropImage.web.tsx:112
+#: src/view/com/modals/crop-image/CropImage.web.tsx:113
msgid "Tall"
msgstr "Alto"
@@ -3904,30 +4372,49 @@ msgstr "Tecnologia"
msgid "Terms"
msgstr "Termos"
-#: src/Navigation.tsx:224
-#: src/view/screens/Settings/index.tsx:885
+#: src/Navigation.tsx:236
+#: src/screens/Signup/StepInfo/Policies.tsx:49
+#: src/view/screens/Settings/index.tsx:881
#: src/view/screens/TermsOfService.tsx:29
-#: src/view/shell/Drawer.tsx:256
+#: src/view/shell/Drawer.tsx:265
msgid "Terms of Service"
msgstr "Termos de Serviço"
-#: src/components/dialogs/MutedWords.tsx:337
+#: src/lib/moderation/useReportOptions.ts:58
+#: src/lib/moderation/useReportOptions.ts:79
+#: src/lib/moderation/useReportOptions.ts:87
+msgid "Terms used violate community standards"
+msgstr "Termos utilizados violam as diretrizes da comunidade"
+
+#: src/components/dialogs/MutedWords.tsx:323
msgid "text"
msgstr "texto"
-#: src/view/com/modals/AppealLabel.tsx:70
-#: src/view/com/modals/report/InputIssueDetails.tsx:51
+#: src/components/moderation/LabelsOnMeDialog.tsx:219
msgid "Text input field"
msgstr "Campo de entrada de texto"
-#: src/view/com/auth/create/CreateAccount.tsx:94
+#: src/components/ReportDialog/SubmitView.tsx:76
+msgid "Thank you. Your report has been sent."
+msgstr "Obrigado. Sua denúncia foi enviada."
+
+#: src/view/com/modals/ChangeHandle.tsx:465
+msgid "That contains the following:"
+msgstr "Contém o seguinte:"
+
+#: src/screens/Signup/index.tsx:85
msgid "That handle is already taken."
msgstr "Este identificador de usuário já está sendo usado."
-#: src/view/com/profile/ProfileHeader.tsx:263
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:282
+#: src/view/com/profile/ProfileMenu.tsx:349
msgid "The account will be able to interact with you after unblocking."
msgstr "A conta poderá interagir com você após o desbloqueio."
+#: src/components/moderation/ModerationDetailsDialog.tsx:127
+msgid "the author"
+msgstr "o(a) autor(a)"
+
#: src/view/screens/CommunityGuidelines.tsx:36
msgid "The Community Guidelines have been moved to <0/>"
msgstr "As Diretrizes da Comunidade foram movidas para <0/>"
@@ -3936,11 +4423,20 @@ msgstr "As Diretrizes da Comunidade foram movidas para <0/>"
msgid "The Copyright Policy has been moved to <0/>"
msgstr "A Política de Direitos Autorais foi movida para <0/>"
-#: src/screens/Onboarding/Layout.tsx:60
+#: src/components/moderation/LabelsOnMeDialog.tsx:48
+msgid "The following labels were applied to your account."
+msgstr "Os seguintes rótulos foram aplicados sobre sua conta."
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:49
+msgid "The following labels were applied to your content."
+msgstr "Os seguintes rótulos foram aplicados sobre seu conteúdo."
+
+#: src/screens/Onboarding/Layout.tsx:58
msgid "The following steps will help customize your Bluesky experience."
msgstr "Os seguintes passos vão ajudar a customizar sua experiência no Bluesky."
-#: src/view/com/post-thread/PostThread.tsx:517
+#: src/view/com/post-thread/PostThread.tsx:153
+#: src/view/com/post-thread/PostThread.tsx:165
msgid "The post may have been deleted."
msgstr "O post pode ter sido excluído."
@@ -3956,35 +4452,35 @@ msgstr "O formulário de suporte foi movido. Se precisar de ajuda, <0/> ou visit
msgid "The Terms of Service have been moved to"
msgstr "Os Termos de Serviço foram movidos para"
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:150
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:141
msgid "There are many feeds to try:"
msgstr "Temos vários feeds para você experimentar:"
-#: src/view/screens/ProfileFeed.tsx:550
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:114
+#: src/view/screens/ProfileFeed.tsx:556
msgid "There was an an issue contacting the server, please check your internet connection and try again."
msgstr "Tivemos um problema ao contatar o servidor, por favor verifique sua conexão com a internet e tente novamente."
-#: src/view/com/posts/FeedErrorMessage.tsx:139
+#: src/view/com/posts/FeedErrorMessage.tsx:138
msgid "There was an an issue removing this feed. Please check your internet connection and try again."
msgstr "Tivemos um problema ao remover este feed, por favor verifique sua conexão com a internet e tente novamente."
-#: src/view/screens/ProfileFeed.tsx:210
+#: src/view/screens/ProfileFeed.tsx:219
msgid "There was an an issue updating your feeds, please check your internet connection and try again."
msgstr "Tivemos um problema ao atualizar seus feeds, por favor verifique sua conexão com a internet e tente novamente."
-#: src/view/screens/ProfileFeed.tsx:237
-#: src/view/screens/ProfileList.tsx:267
-#: src/view/screens/SavedFeeds.tsx:209
-#: src/view/screens/SavedFeeds.tsx:231
-#: src/view/screens/SavedFeeds.tsx:252
+#: src/view/screens/ProfileFeed.tsx:247
+#: src/view/screens/ProfileList.tsx:277
+#: src/view/screens/SavedFeeds.tsx:211
+#: src/view/screens/SavedFeeds.tsx:241
+#: src/view/screens/SavedFeeds.tsx:262
msgid "There was an issue contacting the server"
msgstr "Tivemos um problema ao contatar o servidor deste feed"
#: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:57
#: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:66
-#: src/view/com/feeds/FeedSourceCard.tsx:115
-#: src/view/com/feeds/FeedSourceCard.tsx:129
-#: src/view/com/feeds/FeedSourceCard.tsx:183
+#: src/view/com/feeds/FeedSourceCard.tsx:110
+#: src/view/com/feeds/FeedSourceCard.tsx:123
msgid "There was an issue contacting your server"
msgstr "Tivemos um problema ao contatar o servidor deste feed"
@@ -3992,7 +4488,7 @@ msgstr "Tivemos um problema ao contatar o servidor deste feed"
msgid "There was an issue fetching notifications. Tap here to try again."
msgstr "Tivemos um problema ao carregar notificações. Toque aqui para tentar de novo."
-#: src/view/com/posts/Feed.tsx:265
+#: src/view/com/posts/Feed.tsx:287
msgid "There was an issue fetching posts. Tap here to try again."
msgstr "Tivemos um problema ao carregar posts. Toque aqui para tentar de novo."
@@ -4000,39 +4496,45 @@ msgstr "Tivemos um problema ao carregar posts. Toque aqui para tentar de novo."
msgid "There was an issue fetching the list. Tap here to try again."
msgstr "Tivemos um problema ao carregar esta lista. Toque aqui para tentar de novo."
-#: src/view/com/feeds/ProfileFeedgens.tsx:148
-#: src/view/com/lists/ProfileLists.tsx:155
+#: src/view/com/feeds/ProfileFeedgens.tsx:156
+#: src/view/com/lists/ProfileLists.tsx:163
msgid "There was an issue fetching your lists. Tap here to try again."
msgstr "Tivemos um problema ao carregar suas listas. Toque aqui para tentar de novo."
-#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:63
-#: src/view/com/modals/ContentFilteringSettings.tsx:126
+#: src/components/ReportDialog/SubmitView.tsx:81
+msgid "There was an issue sending your report. Please check your internet connection."
+msgstr "Tivemos um problema ao enviar sua denúncia. Por favor, verifique sua conexão com a internet."
+
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:65
msgid "There was an issue syncing your preferences with the server"
msgstr "Tivemos um problema ao sincronizar suas configurações"
-#: src/view/screens/AppPasswords.tsx:66
+#: src/view/screens/AppPasswords.tsx:68
msgid "There was an issue with fetching your app passwords"
msgstr "Tivemos um problema ao carregar suas senhas de app."
-#: src/view/com/post-thread/PostThreadFollowBtn.tsx:93
-#: src/view/com/post-thread/PostThreadFollowBtn.tsx:105
-#: src/view/com/profile/ProfileHeader.tsx:157
-#: src/view/com/profile/ProfileHeader.tsx:178
-#: src/view/com/profile/ProfileHeader.tsx:217
-#: src/view/com/profile/ProfileHeader.tsx:230
-#: src/view/com/profile/ProfileHeader.tsx:250
-#: src/view/com/profile/ProfileHeader.tsx:272
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:105
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:127
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:141
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:99
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:111
+#: src/view/com/profile/ProfileMenu.tsx:106
+#: src/view/com/profile/ProfileMenu.tsx:117
+#: src/view/com/profile/ProfileMenu.tsx:132
+#: src/view/com/profile/ProfileMenu.tsx:143
+#: src/view/com/profile/ProfileMenu.tsx:157
+#: src/view/com/profile/ProfileMenu.tsx:170
msgid "There was an issue! {0}"
msgstr "Tivemos um problema! {0}"
-#: src/view/screens/ProfileList.tsx:288
-#: src/view/screens/ProfileList.tsx:307
-#: src/view/screens/ProfileList.tsx:329
-#: src/view/screens/ProfileList.tsx:348
+#: src/view/screens/ProfileList.tsx:290
+#: src/view/screens/ProfileList.tsx:304
+#: src/view/screens/ProfileList.tsx:318
+#: src/view/screens/ProfileList.tsx:332
msgid "There was an issue. Please check your internet connection and try again."
msgstr "Tivemos algum problema. Por favor verifique sua conexão com a internet e tente novamente."
-#: src/view/com/util/ErrorBoundary.tsx:36
+#: src/view/com/util/ErrorBoundary.tsx:51
msgid "There was an unexpected issue in the application. Please let us know if this happened to you!"
msgstr "Houve um problema inesperado no aplicativo. Por favor, deixe-nos saber se isso aconteceu com você!"
@@ -4040,23 +4542,36 @@ msgstr "Houve um problema inesperado no aplicativo. Por favor, deixe-nos saber s
msgid "There's been a rush of new users to Bluesky! We'll activate your account as soon as we can."
msgstr "Muitos usuários estão tentando acessar o Bluesky! Ativaremos sua conta assim que possível."
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:138
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:146
msgid "These are popular accounts you might like:"
msgstr "Estas são contas populares que talvez você goste:"
-#: src/view/com/util/moderation/ScreenHider.tsx:88
+#: src/components/moderation/ScreenHider.tsx:116
msgid "This {screenDescription} has been flagged:"
msgstr "Este {screenDescription} foi reportado:"
-#: src/view/com/util/moderation/ScreenHider.tsx:83
+#: src/components/moderation/ScreenHider.tsx:111
msgid "This account has requested that users sign in to view their profile."
msgstr "Esta conta solicitou que os usuários fizessem login para visualizar seu perfil."
-#: src/view/com/modals/EmbedConsent.tsx:68
+#: src/components/moderation/LabelsOnMeDialog.tsx:204
+msgid "This appeal will be sent to <0>{0}0>."
+msgstr "Esta contestação será enviada para <0>{0}0>."
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:19
+msgid "This content has been hidden by the moderators."
+msgstr "Este conteúdo foi escondido pelos moderadores."
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:24
+msgid "This content has received a general warning from moderators."
+msgstr "Este conteúdo recebeu um aviso dos moderadores."
+
+#: src/components/dialogs/EmbedConsent.tsx:64
msgid "This content is hosted by {0}. Do you want to enable external media?"
msgstr "Este conteúdo é hospedado por {0}. Deseja ativar a mídia externa?"
-#: src/view/com/modals/ModerationDetails.tsx:67
+#: src/components/moderation/ModerationDetailsDialog.tsx:77
+#: src/lib/moderation/useModerationCauseDescription.ts:77
msgid "This content is not available because one of the users involved has blocked the other."
msgstr "Este conteúdo não está disponível porque um dos usuários bloqueou o outro."
@@ -4065,16 +4580,16 @@ msgid "This content is not viewable without a Bluesky account."
msgstr "Este conteúdo não é visível sem uma conta do Bluesky."
#: src/view/screens/Settings/ExportCarDialog.tsx:75
-msgid "This feature is in beta. You can read more about repository exports in <0>this blogpost.0>"
+msgid "This feature is in beta. You can read more about repository exports in <0>this blogpost0>."
msgstr "Esta funcionalidade está em beta. Você pode ler mais sobre exportação de repositórios <0>neste post0> do nosso blog."
#: src/view/com/posts/FeedErrorMessage.tsx:114
msgid "This feed is currently receiving high traffic and is temporarily unavailable. Please try again later."
msgstr "Este feed está recebendo muito tráfego e está temporariamente indisponível. Por favor, tente novamente mais tarde."
-#: src/view/screens/Profile.tsx:420
-#: src/view/screens/ProfileFeed.tsx:476
-#: src/view/screens/ProfileList.tsx:661
+#: src/screens/Profile/Sections/Feed.tsx:59
+#: src/view/screens/ProfileFeed.tsx:488
+#: src/view/screens/ProfileList.tsx:677
msgid "This feed is empty!"
msgstr "Este feed está vazio!"
@@ -4082,7 +4597,7 @@ msgstr "Este feed está vazio!"
msgid "This feed is empty! You may need to follow more users or tune your language settings."
msgstr "Este feed está vazio! Talvez você precise seguir mais usuários ou configurar os idiomas filtrados."
-#: src/view/com/modals/BirthDateSettings.tsx:61
+#: src/components/dialogs/BirthDateSettings.tsx:41
msgid "This information is not shared with other users."
msgstr "Esta informação não é compartilhada com outros usuários."
@@ -4090,15 +4605,27 @@ msgstr "Esta informação não é compartilhada com outros usuários."
msgid "This is important in case you ever need to change your email or reset your password."
msgstr "Isso é importante caso você precise alterar seu e-mail ou redefinir sua senha."
-#: src/view/com/modals/LinkWarning.tsx:58
+#: src/components/moderation/ModerationDetailsDialog.tsx:124
+msgid "This label was applied by {0}."
+msgstr "Este rótulo foi aplicado por {0}."
+
+#: src/screens/Profile/Sections/Labels.tsx:178
+msgid "This labeler hasn't declared what labels it publishes, and may not be active."
+msgstr "Este rotulador não declarou quais rótulos utiliza e pode não estar funcionando ainda."
+
+#: src/view/com/modals/LinkWarning.tsx:72
msgid "This link is taking you to the following website:"
msgstr "Este link está levando você ao seguinte site:"
-#: src/view/screens/ProfileList.tsx:839
+#: src/view/screens/ProfileList.tsx:855
msgid "This list is empty!"
msgstr "Esta lista está vazia!"
-#: src/view/com/modals/AddAppPasswords.tsx:106
+#: src/screens/Profile/ErrorState.tsx:40
+msgid "This moderation service is unavailable. See below for more details. If this issue persists, contact us."
+msgstr "Este serviço de moderação está indisponível. Veja mais detalhes abaixo. Se este problema persistir, entre em contato."
+
+#: src/view/com/modals/AddAppPasswords.tsx:107
msgid "This name is already in use"
msgstr "Você já tem uma senha com esse nome"
@@ -4106,32 +4633,66 @@ msgstr "Você já tem uma senha com esse nome"
msgid "This post has been deleted."
msgstr "Este post foi excluído."
-#: src/view/com/modals/ModerationDetails.tsx:62
+#: src/view/com/util/forms/PostDropdownBtn.tsx:366
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:250
+msgid "This post is only visible to logged-in users. It won't be visible to people who aren't logged in."
+msgstr "Este post só pode ser visto por usuários autenticados e não aparecerá para pessoas que não estão autenticadas."
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:348
+msgid "This post will be hidden from feeds."
+msgstr "Este post será escondido de todos os feeds."
+
+#: src/view/com/profile/ProfileMenu.tsx:370
+msgid "This profile is only visible to logged-in users. It won't be visible to people who aren't logged in."
+msgstr "Este post só pode ser visto por usuários autenticados e não aparecerá para pessoas que não estão autenticadas."
+
+#: src/screens/Signup/StepInfo/Policies.tsx:37
+msgid "This service has not provided terms of service or a privacy policy."
+msgstr "Este serviço não proveu termos de serviço ou política de privacidade."
+
+#: src/view/com/modals/ChangeHandle.tsx:445
+msgid "This should create a domain record at:"
+msgstr "Isso deve criar um registro no domínio:"
+
+#: src/view/com/profile/ProfileFollowers.tsx:87
+msgid "This user doesn't have any followers."
+msgstr "Este usuário não é seguido por ninguém ainda."
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:72
+#: src/lib/moderation/useModerationCauseDescription.ts:68
msgid "This user has blocked you. You cannot view their content."
msgstr "Este usuário te bloqueou. Você não pode ver este conteúdo."
-#: src/view/com/modals/ModerationDetails.tsx:42
-msgid "This user is included in the <0/> list which you have blocked."
-msgstr "Este usuário está incluído na lista <0/>, que você bloqueou."
+#: src/lib/moderation/useGlobalLabelStrings.ts:30
+msgid "This user has requested that their content only be shown to signed-in users."
+msgstr "Este usuário requisitou que seu conteúdo só seja visível para usuários autenticados."
-#: src/view/com/modals/ModerationDetails.tsx:74
-msgid "This user is included in the <0/> list which you have muted."
-msgstr "Este usuário está incluído na lista <0/>, que você silenciou."
+#: src/components/moderation/ModerationDetailsDialog.tsx:55
+msgid "This user is included in the <0>{0}0> list which you have blocked."
+msgstr "Este usuário está incluído na lista <0>{0}0>, que você bloqueou."
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:84
+msgid "This user is included in the <0>{0}0> list which you have muted."
+msgstr "Este usuário está incluído na lista <0>{0}0>, que você silenciou."
+
+#: src/view/com/profile/ProfileFollows.tsx:87
+msgid "This user isn't following anyone."
+msgstr "Este usuário não segue ninguém ainda."
#: src/view/com/modals/SelfLabel.tsx:137
msgid "This warning is only available for posts with media attached."
msgstr "Este aviso só está disponível para publicações com mídia anexada."
-#: src/components/dialogs/MutedWords.tsx:285
+#: src/components/dialogs/MutedWords.tsx:283
msgid "This will delete {0} from your muted words. You can always add it back later."
msgstr "Isso removerá {0} das suas palavras silenciadas. Você pode adicioná-la novamente depois."
-#: src/view/com/util/forms/PostDropdownBtn.tsx:282
-msgid "This will hide this post from your feeds."
-msgstr "Isso ocultará este post de seus feeds."
+#: src/view/screens/Settings/index.tsx:525
+msgid "Thread preferences"
+msgstr "Preferências das Threads"
#: src/view/screens/PreferencesThreads.tsx:53
-#: src/view/screens/Settings/index.tsx:565
+#: src/view/screens/Settings/index.tsx:535
msgid "Thread Preferences"
msgstr "Preferências das Threads"
@@ -4139,11 +4700,15 @@ msgstr "Preferências das Threads"
msgid "Threaded Mode"
msgstr "Visualização de Threads"
-#: src/Navigation.tsx:257
+#: src/Navigation.tsx:269
msgid "Threads Preferences"
msgstr "Preferências das Threads"
-#: src/components/dialogs/MutedWords.tsx:113
+#: src/components/ReportDialog/SelectLabelerView.tsx:33
+msgid "To whom would you like to send this report?"
+msgstr "Para quem você gostaria de enviar esta denúncia?"
+
+#: src/components/dialogs/MutedWords.tsx:112
msgid "Toggle between muted word options."
msgstr "Alternar entre opções de uma palavra silenciada"
@@ -4151,14 +4716,22 @@ msgstr "Alternar entre opções de uma palavra silenciada"
msgid "Toggle dropdown"
msgstr "Alternar menu suspenso"
-#: src/view/com/modals/EditImage.tsx:271
+#: src/screens/Moderation/index.tsx:332
+msgid "Toggle to enable or disable adult content"
+msgstr "Ligar ou desligar conteúdo adulto"
+
+#: src/view/screens/Search/Search.tsx:427
+msgid "Top"
+msgstr ""
+
+#: src/view/com/modals/EditImage.tsx:272
msgid "Transformations"
msgstr "Transformações"
-#: src/view/com/post-thread/PostThreadItem.tsx:685
-#: src/view/com/post-thread/PostThreadItem.tsx:687
-#: src/view/com/util/forms/PostDropdownBtn.tsx:215
-#: src/view/com/util/forms/PostDropdownBtn.tsx:217
+#: src/view/com/post-thread/PostThreadItem.tsx:638
+#: src/view/com/post-thread/PostThreadItem.tsx:640
+#: src/view/com/util/forms/PostDropdownBtn.tsx:220
+#: src/view/com/util/forms/PostDropdownBtn.tsx:222
msgid "Translate"
msgstr "Traduzir"
@@ -4167,63 +4740,85 @@ msgctxt "action"
msgid "Try again"
msgstr "Tentar novamente"
-#: src/view/screens/ProfileList.tsx:506
+#: src/view/com/modals/ChangeHandle.tsx:428
+msgid "Type:"
+msgstr "Tipo:"
+
+#: src/view/screens/ProfileList.tsx:480
msgid "Un-block list"
msgstr "Desbloquear lista"
-#: src/view/screens/ProfileList.tsx:491
+#: src/view/screens/ProfileList.tsx:463
msgid "Un-mute list"
msgstr "Dessilenciar lista"
-#: src/view/com/auth/create/CreateAccount.tsx:58
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:87
-#: src/view/com/auth/login/Login.tsx:76
-#: src/view/com/auth/login/LoginForm.tsx:118
+#: src/screens/Login/ForgotPasswordForm.tsx:74
+#: src/screens/Login/index.tsx:78
+#: src/screens/Login/LoginForm.tsx:119
+#: src/screens/Login/SetNewPasswordForm.tsx:77
+#: src/screens/Signup/index.tsx:64
#: src/view/com/modals/ChangePassword.tsx:70
msgid "Unable to contact your service. Please check your Internet connection."
msgstr "Não foi possível entrar em contato com seu serviço. Por favor, verifique sua conexão à internet."
-#: src/view/com/profile/ProfileHeader.tsx:433
-#: src/view/screens/ProfileList.tsx:590
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:181
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:286
+#: src/view/com/profile/ProfileMenu.tsx:361
+#: src/view/screens/ProfileList.tsx:574
msgid "Unblock"
msgstr "Desbloquear"
-#: src/view/com/profile/ProfileHeader.tsx:436
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:186
msgctxt "action"
msgid "Unblock"
msgstr "Desbloquear"
-#: src/view/com/profile/ProfileHeader.tsx:261
-#: src/view/com/profile/ProfileHeader.tsx:345
+#: src/view/com/profile/ProfileMenu.tsx:299
+#: src/view/com/profile/ProfileMenu.tsx:305
msgid "Unblock Account"
msgstr "Desbloquear Conta"
-#: src/view/com/modals/Repost.tsx:42
-#: src/view/com/modals/Repost.tsx:55
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:280
+#: src/view/com/profile/ProfileMenu.tsx:343
+msgid "Unblock Account?"
+msgstr "Desbloquear Conta?"
+
+#: src/view/com/modals/Repost.tsx:43
+#: src/view/com/modals/Repost.tsx:56
#: src/view/com/util/post-ctrls/RepostButton.tsx:60
#: src/view/com/util/post-ctrls/RepostButton.web.tsx:48
msgid "Undo repost"
msgstr "Desfazer repost"
-#: src/view/com/profile/FollowButton.tsx:55
+#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:141
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:248
+msgid "Unfollow"
+msgstr "Deixar de seguir"
+
+#: src/view/com/profile/FollowButton.tsx:60
msgctxt "action"
msgid "Unfollow"
msgstr "Deixar de seguir"
-#: src/view/com/profile/ProfileHeader.tsx:485
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:220
msgid "Unfollow {0}"
msgstr "Deixar de seguir {0}"
-#: src/view/com/auth/create/state.ts:262
-msgid "Unfortunately, you do not meet the requirements to create an account."
-msgstr "Infelizmente, você não atende aos requisitos para criar uma conta."
+#: src/view/com/profile/ProfileMenu.tsx:241
+#: src/view/com/profile/ProfileMenu.tsx:251
+msgid "Unfollow Account"
+msgstr "Deixar de seguir"
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:182
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:197
msgid "Unlike"
msgstr "Descurtir"
+#: src/view/screens/ProfileFeed.tsx:585
+msgid "Unlike this feed"
+msgstr "Descurtir este feed"
+
#: src/components/TagMenu/index.tsx:249
-#: src/view/screens/ProfileList.tsx:597
+#: src/view/screens/ProfileList.tsx:581
msgid "Unmute"
msgstr "Dessilenciar"
@@ -4231,7 +4826,8 @@ msgstr "Dessilenciar"
msgid "Unmute {truncatedTag}"
msgstr "Dessilenciar {truncatedTag}"
-#: src/view/com/profile/ProfileHeader.tsx:326
+#: src/view/com/profile/ProfileMenu.tsx:278
+#: src/view/com/profile/ProfileMenu.tsx:284
msgid "Unmute Account"
msgstr "Dessilenciar conta"
@@ -4239,49 +4835,84 @@ msgstr "Dessilenciar conta"
msgid "Unmute all {displayTag} posts"
msgstr "Dessilenciar posts com {displayTag}"
-#: src/components/TagMenu/index.tsx:210
-#~ msgid "Unmute all {tag} posts"
-#~ msgstr "Dessilenciar posts com {tag}"
-
-#: src/view/com/util/forms/PostDropdownBtn.tsx:251
-#: src/view/com/util/forms/PostDropdownBtn.tsx:256
+#: src/view/com/util/forms/PostDropdownBtn.tsx:269
+#: src/view/com/util/forms/PostDropdownBtn.tsx:274
msgid "Unmute thread"
msgstr "Dessilenciar thread"
-#: src/view/screens/ProfileFeed.tsx:354
-#: src/view/screens/ProfileList.tsx:581
+#: src/view/screens/ProfileFeed.tsx:306
+#: src/view/screens/ProfileList.tsx:565
msgid "Unpin"
msgstr "Desafixar"
-#: src/view/screens/ProfileList.tsx:474
+#: src/view/screens/ProfileFeed.tsx:303
+msgid "Unpin from home"
+msgstr "Desafixar da tela inicial"
+
+#: src/view/screens/ProfileList.tsx:446
msgid "Unpin moderation list"
msgstr "Desafixar lista de moderação"
-#: src/view/screens/ProfileFeed.tsx:346
-msgid "Unsave"
-msgstr "Remover"
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:225
+msgid "Unsubscribe"
+msgstr "Desinscrever-se"
+
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:190
+msgid "Unsubscribe from this labeler"
+msgstr "Desinscrever-se deste rotulador"
+
+#: src/lib/moderation/useReportOptions.ts:70
+msgid "Unwanted Sexual Content"
+msgstr "Conteúdo Sexual Indesejado"
#: src/view/com/modals/UserAddRemoveLists.tsx:70
msgid "Update {displayName} in Lists"
msgstr "Atualizar {displayName} nas Listas"
-#: src/lib/hooks/useOTAUpdate.ts:15
-msgid "Update Available"
-msgstr "Atualização Disponível"
+#: src/view/com/modals/ChangeHandle.tsx:508
+msgid "Update to {handle}"
+msgstr "Alterar para {handle}"
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:204
+#: src/screens/Login/SetNewPasswordForm.tsx:186
msgid "Updating..."
msgstr "Atualizando..."
-#: src/view/com/modals/ChangeHandle.tsx:455
+#: src/view/com/modals/ChangeHandle.tsx:454
msgid "Upload a text file to:"
msgstr "Carregar um arquivo de texto para:"
-#: src/view/screens/AppPasswords.tsx:195
+#: src/view/com/util/UserAvatar.tsx:328
+#: src/view/com/util/UserAvatar.tsx:331
+#: src/view/com/util/UserBanner.tsx:116
+#: src/view/com/util/UserBanner.tsx:119
+msgid "Upload from Camera"
+msgstr "Tirar uma foto"
+
+#: src/view/com/util/UserAvatar.tsx:345
+#: src/view/com/util/UserBanner.tsx:133
+msgid "Upload from Files"
+msgstr "Carregar um arquivo"
+
+#: src/view/com/util/UserAvatar.tsx:339
+#: src/view/com/util/UserAvatar.tsx:343
+#: src/view/com/util/UserBanner.tsx:127
+#: src/view/com/util/UserBanner.tsx:131
+msgid "Upload from Library"
+msgstr "Carregar da galeria"
+
+#: src/view/com/modals/ChangeHandle.tsx:408
+msgid "Use a file on your server"
+msgstr "Utilize um arquivo no seu servidor"
+
+#: src/view/screens/AppPasswords.tsx:197
msgid "Use app passwords to login to other Bluesky clients without giving full access to your account or password."
msgstr "Use as senhas de aplicativos para fazer login em outros clientes do Bluesky sem dar acesso total à sua conta ou senha."
-#: src/view/com/modals/ChangeHandle.tsx:515
+#: src/view/com/modals/ChangeHandle.tsx:517
+msgid "Use bsky.social as hosting provider"
+msgstr "Usar bsky.social como serviço de hospedagem"
+
+#: src/view/com/modals/ChangeHandle.tsx:516
msgid "Use default provider"
msgstr "Usar provedor padrão"
@@ -4295,50 +4926,59 @@ msgstr "Usar o navegador interno"
msgid "Use my default browser"
msgstr "Usar o meu navegador padrão"
-#: src/view/com/modals/AddAppPasswords.tsx:155
+#: src/view/com/modals/ChangeHandle.tsx:400
+msgid "Use the DNS panel"
+msgstr "Usar o painel do meu DNS"
+
+#: src/view/com/modals/AddAppPasswords.tsx:156
msgid "Use this to sign into the other app along with your handle."
msgstr "Use esta senha para entrar no outro aplicativo juntamente com seu identificador."
-#: src/view/com/modals/InviteCodes.tsx:200
+#: src/view/com/modals/InviteCodes.tsx:201
msgid "Used by:"
msgstr "Usado por:"
-#: src/view/com/modals/ModerationDetails.tsx:54
+#: src/components/moderation/ModerationDetailsDialog.tsx:64
+#: src/lib/moderation/useModerationCauseDescription.ts:56
msgid "User Blocked"
msgstr "Usuário Bloqueado"
-#: src/view/com/modals/ModerationDetails.tsx:40
+#: src/lib/moderation/useModerationCauseDescription.ts:48
+msgid "User Blocked by \"{0}\""
+msgstr "Usuário Bloqueado por \"{0}\""
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:53
msgid "User Blocked by List"
msgstr "Usuário Bloqueado Por Lista"
-#: src/view/com/modals/ModerationDetails.tsx:60
+#: src/lib/moderation/useModerationCauseDescription.ts:66
+msgid "User Blocking You"
+msgstr "Usuário Bloqueia Você"
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:70
msgid "User Blocks You"
msgstr "Este Usuário Te Bloqueou"
-#: src/view/com/auth/create/Step2.tsx:79
-msgid "User handle"
-msgstr "Usuário"
-
#: src/view/com/lists/ListCard.tsx:85
#: src/view/com/modals/UserAddRemoveLists.tsx:198
msgid "User list by {0}"
msgstr "Lista de usuários por {0}"
-#: src/view/screens/ProfileList.tsx:763
+#: src/view/screens/ProfileList.tsx:779
msgid "User list by <0/>"
msgstr "Lista de usuários por <0/>"
#: src/view/com/lists/ListCard.tsx:83
#: src/view/com/modals/UserAddRemoveLists.tsx:196
-#: src/view/screens/ProfileList.tsx:761
+#: src/view/screens/ProfileList.tsx:777
msgid "User list by you"
msgstr "Sua lista de usuários"
-#: src/view/com/modals/CreateOrEditList.tsx:196
+#: src/view/com/modals/CreateOrEditList.tsx:197
msgid "User list created"
msgstr "Lista de usuários criada"
-#: src/view/com/modals/CreateOrEditList.tsx:182
+#: src/view/com/modals/CreateOrEditList.tsx:183
msgid "User list updated"
msgstr "Lista de usuários atualizada"
@@ -4346,12 +4986,13 @@ msgstr "Lista de usuários atualizada"
msgid "User Lists"
msgstr "Listas de Usuários"
-#: src/view/com/auth/login/LoginForm.tsx:177
-#: src/view/com/auth/login/LoginForm.tsx:195
+#: src/screens/Login/LoginForm.tsx:151
msgid "Username or email address"
msgstr "Nome de usuário ou endereço de e-mail"
-#: src/view/screens/ProfileList.tsx:797
+#: src/view/screens/ProfileList.tsx:813
+#: src/view/screens/Search/Search.tsx:473
+#: src/view/screens/Search/Search.tsx:482
msgid "Users"
msgstr "Usuários"
@@ -4363,15 +5004,27 @@ msgstr "usuários seguidos por <0/>"
msgid "Users in \"{0}\""
msgstr "Usuários em \"{0}\""
-#: src/view/screens/Settings/index.tsx:910
+#: src/components/LikesDialog.tsx:85
+msgid "Users that have liked this content or profile"
+msgstr "Usuários que curtiram este conteúdo ou perfil"
+
+#: src/view/com/modals/ChangeHandle.tsx:436
+msgid "Value:"
+msgstr "Conteúdo:"
+
+#: src/view/com/modals/ChangeHandle.tsx:509
+msgid "Verify {0}"
+msgstr "Verificar {0}"
+
+#: src/view/screens/Settings/index.tsx:906
msgid "Verify email"
msgstr "Verificar e-mail"
-#: src/view/screens/Settings/index.tsx:935
+#: src/view/screens/Settings/index.tsx:931
msgid "Verify my email"
msgstr "Verificar meu e-mail"
-#: src/view/screens/Settings/index.tsx:944
+#: src/view/screens/Settings/index.tsx:940
msgid "Verify My Email"
msgstr "Verificar Meu Email"
@@ -4384,11 +5037,15 @@ msgstr "Verificar Novo E-mail"
msgid "Verify Your Email"
msgstr "Verificar Seu E-mail"
+#: src/view/screens/Settings/index.tsx:857
+msgid "Version {0}"
+msgstr "Versão {0}"
+
#: src/screens/Onboarding/index.tsx:42
msgid "Video Games"
msgstr "Games"
-#: src/view/com/profile/ProfileHeader.tsx:662
+#: src/screens/Profile/Header/Shell.tsx:107
msgid "View {0}'s avatar"
msgstr "Ver o avatar de {0}"
@@ -4396,11 +5053,25 @@ msgstr "Ver o avatar de {0}"
msgid "View debug entry"
msgstr "Ver depuração"
-#: src/view/com/posts/FeedSlice.tsx:103
+#: src/components/ReportDialog/SelectReportOptionView.tsx:132
+msgid "View details"
+msgstr "Ver detalhes"
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:127
+msgid "View details for reporting a copyright violation"
+msgstr "Ver detalhes para denunciar uma violação de copyright"
+
+#: src/view/com/posts/FeedSlice.tsx:99
msgid "View full thread"
msgstr "Ver thread completa"
-#: src/view/com/posts/FeedErrorMessage.tsx:172
+#: src/components/moderation/LabelsOnMe.tsx:51
+msgid "View information about these labels"
+msgstr "Ver informações sobre estes rótulos"
+
+#: src/components/ProfileHoverCard/index.web.tsx:264
+#: src/components/ProfileHoverCard/index.web.tsx:293
+#: src/view/com/posts/FeedErrorMessage.tsx:166
msgid "View profile"
msgstr "Ver perfil"
@@ -4408,20 +5079,35 @@ msgstr "Ver perfil"
msgid "View the avatar"
msgstr "Ver o avatar"
-#: src/view/com/modals/LinkWarning.tsx:75
+#: src/components/LabelingServiceCard/index.tsx:140
+msgid "View the labeling service provided by @{0}"
+msgstr "Ver este rotulador provido por @{0}"
+
+#: src/view/screens/ProfileFeed.tsx:597
+msgid "View users who like this feed"
+msgstr "Ver usuários que curtiram este feed"
+
+#: src/view/com/modals/LinkWarning.tsx:89
+#: src/view/com/modals/LinkWarning.tsx:95
msgid "Visit Site"
msgstr "Visitar Site"
-#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:42
-#: src/view/com/modals/ContentFilteringSettings.tsx:259
+#: src/components/moderation/LabelPreference.tsx:135
+#: src/lib/moderation/useLabelBehaviorDescription.ts:17
+#: src/lib/moderation/useLabelBehaviorDescription.ts:22
+#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:53
msgid "Warn"
msgstr "Avisar"
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:134
-msgid "We also think you'll like \"For You\" by Skygaze:"
-msgstr "Também recomendamos o \"For You\", do Skygaze:"
+#: src/lib/moderation/useLabelBehaviorDescription.ts:48
+msgid "Warn content"
+msgstr "Avisar"
-#: src/screens/Hashtag.tsx:132
+#: src/lib/moderation/useLabelBehaviorDescription.ts:46
+msgid "Warn content and filter from feeds"
+msgstr "Avisar e filtrar dos feeds"
+
+#: src/screens/Hashtag.tsx:133
msgid "We couldn't find any results for that hashtag."
msgstr "Não encontramos nenhum post com esta hashtag."
@@ -4429,7 +5115,7 @@ msgstr "Não encontramos nenhum post com esta hashtag."
msgid "We estimate {estimatedTime} until your account is ready."
msgstr "Estimamos que sua conta estará pronta em mais ou menos {estimatedTime}."
-#: src/screens/Onboarding/StepFinished.tsx:93
+#: src/screens/Onboarding/StepFinished.tsx:97
msgid "We hope you have a wonderful time. Remember, Bluesky is:"
msgstr "Esperamos que você se divirta. Lembre-se, o Bluesky é:"
@@ -4437,19 +5123,23 @@ msgstr "Esperamos que você se divirta. Lembre-se, o Bluesky é:"
msgid "We ran out of posts from your follows. Here's the latest from <0/>."
msgstr "Não temos mais posts de quem você segue. Aqui estão os mais novos de <0/>."
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:118
-#~ msgid "We recommend \"For You\" by Skygaze:"
-#~ msgstr "Recomendamos o \"Para você\", do Skygaze:"
-
-#: src/components/dialogs/MutedWords.tsx:204
+#: src/components/dialogs/MutedWords.tsx:203
msgid "We recommend avoiding common words that appear in many posts, since it can result in no posts being shown."
msgstr "Não recomendamos utilizar palavras comuns que aparecem em muitos posts, já que isso pode resultar em filtrar todos eles."
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:124
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:125
msgid "We recommend our \"Discover\" feed:"
msgstr "Recomendamos nosso feed \"Discover\":"
-#: src/screens/Onboarding/StepInterests/index.tsx:133
+#: src/components/dialogs/BirthDateSettings.tsx:52
+msgid "We were unable to load your birth date preferences. Please try again."
+msgstr "Não foi possível carregar sua data de nascimento. Por favor, tente novamente."
+
+#: src/screens/Moderation/index.tsx:385
+msgid "We were unable to load your configured labelers at this time."
+msgstr "Não foi possível carregar seus rotuladores."
+
+#: src/screens/Onboarding/StepInterests/index.tsx:137
msgid "We weren't able to connect. Please try again to continue setting up your account. If it continues to fail, you can skip this flow."
msgstr "Não conseguimos conectar. Por favor, tente novamente para continuar configurando a sua conta. Se continuar falhando, você pode pular este fluxo."
@@ -4457,49 +5147,46 @@ msgstr "Não conseguimos conectar. Por favor, tente novamente para continuar con
msgid "We will let you know when your account is ready."
msgstr "Avisaremos quando sua conta estiver pronta."
-#: src/view/com/modals/AppealLabel.tsx:48
-msgid "We'll look into your appeal promptly."
-msgstr "Avaliaremos sua contestação o quanto antes."
-
-#: src/screens/Onboarding/StepInterests/index.tsx:138
+#: src/screens/Onboarding/StepInterests/index.tsx:142
msgid "We'll use this to help customize your experience."
msgstr "Usaremos isto para customizar a sua experiência."
-#: src/view/com/auth/create/CreateAccount.tsx:134
+#: src/screens/Signup/index.tsx:131
msgid "We're so excited to have you join us!"
msgstr "Estamos muito felizes em recebê-lo!"
-#: src/view/screens/ProfileList.tsx:86
+#: src/view/screens/ProfileList.tsx:90
msgid "We're sorry, but we were unable to resolve this list. If this persists, please contact the list creator, @{handleOrDid}."
msgstr "Tivemos um problema ao exibir esta lista. Se continuar acontecendo, contate o criador da lista: @{handleOrDid}."
-#: src/components/dialogs/MutedWords.tsx:230
+#: src/components/dialogs/MutedWords.tsx:229
msgid "We're sorry, but we weren't able to load your muted words at this time. Please try again."
msgstr "Não foi possível carregar sua lista de palavras silenciadas. Por favor, tente novamente."
-#: src/view/screens/Search/Search.tsx:254
+#: src/view/screens/Search/Search.tsx:322
msgid "We're sorry, but your search could not be completed. Please try again in a few minutes."
msgstr "Lamentamos, mas sua busca não pôde ser concluída. Por favor, tente novamente em alguns minutos."
-#: src/components/Lists.tsx:211
+#: src/components/Lists.tsx:188
#: src/view/screens/NotFound.tsx:48
msgid "We're sorry! We can't find the page you were looking for."
msgstr "Sentimos muito! Não conseguimos encontrar a página que você estava procurando."
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:46
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:327
+msgid "We're sorry! You can only subscribe to ten labelers, and you've reached your limit of ten."
+msgstr "Sentimos muito! Você só pode se inscrever em até dez rotuladores e você já chegou ao máximo."
+
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:48
msgid "Welcome to <0>Bluesky0>"
msgstr "Bem-vindo ao <0>Bluesky0>"
-#: src/screens/Onboarding/StepInterests/index.tsx:130
+#: src/screens/Onboarding/StepInterests/index.tsx:134
msgid "What are your interests?"
msgstr "Do que você gosta?"
-#: src/view/com/modals/report/Modal.tsx:169
-msgid "What is the issue with this {collectionName}?"
-msgstr "Qual é o problema com este {collectionName}?"
-
-#: src/view/com/auth/SplashScreen.tsx:59
-#: src/view/com/composer/Composer.tsx:286
+#: src/view/com/auth/SplashScreen.tsx:40
+#: src/view/com/auth/SplashScreen.web.tsx:81
+#: src/view/com/composer/Composer.tsx:296
msgid "What's up?"
msgstr "E aí?"
@@ -4516,16 +5203,36 @@ msgstr "Quais idiomas você gostaria de ver nos seus feeds?"
msgid "Who can reply"
msgstr "Quem pode responder"
-#: src/view/com/modals/crop-image/CropImage.web.tsx:102
+#: src/components/ReportDialog/SelectReportOptionView.tsx:43
+msgid "Why should this content be reviewed?"
+msgstr "Por que este conteúdo deve ser revisado?"
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:56
+msgid "Why should this feed be reviewed?"
+msgstr "Por que este feed deve ser revisado?"
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:53
+msgid "Why should this list be reviewed?"
+msgstr "Por que esta lista deve ser revisada?"
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:50
+msgid "Why should this post be reviewed?"
+msgstr "Por que este post deve ser revisado?"
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:47
+msgid "Why should this user be reviewed?"
+msgstr "Por que este usuário deve ser revisado?"
+
+#: src/view/com/modals/crop-image/CropImage.web.tsx:103
msgid "Wide"
msgstr "Largo"
-#: src/view/com/composer/Composer.tsx:422
+#: src/view/com/composer/Composer.tsx:436
msgid "Write post"
msgstr "Escrever post"
-#: src/view/com/composer/Composer.tsx:285
-#: src/view/com/composer/Prompt.tsx:33
+#: src/view/com/composer/Composer.tsx:295
+#: src/view/com/composer/Prompt.tsx:37
msgid "Write your reply"
msgstr "Escreva sua resposta"
@@ -4547,101 +5254,132 @@ msgstr "Sim"
msgid "You are in line."
msgstr "Você está na fila."
+#: src/view/com/profile/ProfileFollows.tsx:86
+msgid "You are not following anyone."
+msgstr "Você não segue ninguém."
+
#: src/view/com/posts/FollowingEmptyState.tsx:67
#: src/view/com/posts/FollowingEndOfFeed.tsx:68
msgid "You can also discover new Custom Feeds to follow."
msgstr "Você também pode descobrir novos feeds para seguir."
-#: src/screens/Onboarding/StepFollowingFeed.tsx:142
+#: src/screens/Onboarding/StepFollowingFeed.tsx:143
msgid "You can change these settings later."
msgstr "Você pode mudar estas configurações depois."
-#: src/view/com/auth/login/Login.tsx:158
-#: src/view/com/auth/login/PasswordUpdatedForm.tsx:31
+#: src/screens/Login/index.tsx:158
+#: src/screens/Login/PasswordUpdatedForm.tsx:33
msgid "You can now sign in with your new password."
msgstr "Agora você pode entrar com a sua nova senha."
-#: src/view/com/modals/InviteCodes.tsx:66
+#: src/view/com/profile/ProfileFollowers.tsx:86
+msgid "You do not have any followers."
+msgstr "Ninguém segue você ainda."
+
+#: src/view/com/modals/InviteCodes.tsx:67
msgid "You don't have any invite codes yet! We'll send you some when you've been on Bluesky for a little longer."
msgstr "Você ainda não tem nenhum convite! Nós lhe enviaremos alguns quando você estiver há mais tempo no Bluesky."
-#: src/view/screens/SavedFeeds.tsx:102
+#: src/view/screens/SavedFeeds.tsx:103
msgid "You don't have any pinned feeds."
msgstr "Você não tem feeds fixados."
-#: src/view/screens/Feeds.tsx:452
+#: src/view/screens/Feeds.tsx:477
msgid "You don't have any saved feeds!"
msgstr "Você não tem feeds salvos!"
-#: src/view/screens/SavedFeeds.tsx:135
+#: src/view/screens/SavedFeeds.tsx:136
msgid "You don't have any saved feeds."
msgstr "Você não tem feeds salvos."
-#: src/view/com/post-thread/PostThread.tsx:465
+#: src/view/com/post-thread/PostThread.tsx:159
msgid "You have blocked the author or you have been blocked by the author."
msgstr "Você bloqueou esta conta ou foi bloqueado por ela."
-#: src/view/com/modals/ModerationDetails.tsx:56
+#: src/components/moderation/ModerationDetailsDialog.tsx:66
+#: src/lib/moderation/useModerationCauseDescription.ts:50
+#: src/lib/moderation/useModerationCauseDescription.ts:58
msgid "You have blocked this user. You cannot view their content."
msgstr "Você bloqueou este usuário. Você não pode ver este conteúdo."
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:57
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:92
+#: src/screens/Login/SetNewPasswordForm.tsx:54
+#: src/screens/Login/SetNewPasswordForm.tsx:91
#: src/view/com/modals/ChangePassword.tsx:87
#: src/view/com/modals/ChangePassword.tsx:121
msgid "You have entered an invalid code. It should look like XXXXX-XXXXX."
msgstr "Você utilizou um código inválido. O código segue este padrão: XXXXX-XXXXX."
-#: src/view/com/modals/ModerationDetails.tsx:87
-msgid "You have muted this user."
+#: src/lib/moderation/useModerationCauseDescription.ts:109
+msgid "You have hidden this post"
+msgstr "Você escondeu este post"
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:101
+msgid "You have hidden this post."
+msgstr "Você escondeu este post."
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:94
+#: src/lib/moderation/useModerationCauseDescription.ts:92
+msgid "You have muted this account."
+msgstr "Você silenciou esta conta."
+
+#: src/lib/moderation/useModerationCauseDescription.ts:86
+msgid "You have muted this user"
msgstr "Você silenciou este usuário."
-#: src/view/com/feeds/ProfileFeedgens.tsx:136
+#: src/view/com/feeds/ProfileFeedgens.tsx:144
msgid "You have no feeds."
msgstr "Você não tem feeds."
#: src/view/com/lists/MyLists.tsx:89
-#: src/view/com/lists/ProfileLists.tsx:140
+#: src/view/com/lists/ProfileLists.tsx:148
msgid "You have no lists."
msgstr "Você não tem listas."
-#: src/view/screens/ModerationBlockedAccounts.tsx:132
-msgid "You have not blocked any accounts yet. To block an account, go to their profile and selected \"Block account\" from the menu on their account."
+#: src/view/screens/ModerationBlockedAccounts.tsx:138
+msgid "You have not blocked any accounts yet. To block an account, go to their profile and select \"Block account\" from the menu on their account."
msgstr "Você ainda não bloqueou nenhuma conta. Para bloquear uma conta, acesse um perfil e selecione \"Bloquear conta\" no menu."
-#: src/view/screens/AppPasswords.tsx:87
+#: src/view/screens/AppPasswords.tsx:89
msgid "You have not created any app passwords yet. You can create one by pressing the button below."
msgstr "Você ainda não criou nenhuma senha de aplicativo. Você pode criar uma pressionando o botão abaixo."
-#: src/view/screens/ModerationMutedAccounts.tsx:131
-msgid "You have not muted any accounts yet. To mute an account, go to their profile and selected \"Mute account\" from the menu on their account."
+#: src/view/screens/ModerationMutedAccounts.tsx:136
+msgid "You have not muted any accounts yet. To mute an account, go to their profile and select \"Mute account\" from the menu on their account."
msgstr "Você ainda não silenciou nenhuma conta. Para silenciar uma conta, acesse um perfil e selecione \"Silenciar conta\" no menu."
-#: src/components/dialogs/MutedWords.tsx:250
+#: src/components/dialogs/MutedWords.tsx:249
msgid "You haven't muted any words or tags yet"
msgstr "Você não silenciou nenhuma palavra ou tag ainda"
-#: src/view/com/modals/ContentFilteringSettings.tsx:175
-msgid "You must be 18 or older to enable adult content."
-msgstr "Você precisa ser maior de idade para habilitar conteúdo adulto."
+#: src/components/moderation/LabelsOnMeDialog.tsx:68
+msgid "You may appeal these labels if you feel they were placed in error."
+msgstr "Você pode contestar estes rótulos se você acha que estão errados."
-#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:103
+#: src/screens/Signup/StepInfo/Policies.tsx:79
+msgid "You must be 13 years of age or older to sign up."
+msgstr "Você precisa ter no mínimo 13 anos de idade para se cadastrar."
+
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:110
msgid "You must be 18 years or older to enable adult content"
msgstr "Você precisa ser maior de idade para habilitar conteúdo adulto."
-#: src/view/com/util/forms/PostDropdownBtn.tsx:147
+#: src/components/ReportDialog/SubmitView.tsx:203
+msgid "You must select at least one labeler for a report"
+msgstr "Você deve selecionar no mínimo um rotulador"
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:150
msgid "You will no longer receive notifications for this thread"
msgstr "Você não vai mais receber notificações desta thread"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:150
+#: src/view/com/util/forms/PostDropdownBtn.tsx:153
msgid "You will now receive notifications for this thread"
msgstr "Você vai receber notificações desta thread"
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:107
+#: src/screens/Login/SetNewPasswordForm.tsx:104
msgid "You will receive an email with a \"reset code.\" Enter that code here, then enter your new password."
msgstr "Você receberá um e-mail com um \"código de redefinição\". Digite esse código aqui, e então digite sua nova senha."
-#: src/screens/Onboarding/StepModeration/index.tsx:72
+#: src/screens/Onboarding/StepModeration/index.tsx:60
msgid "You're in control"
msgstr "Você está no controle"
@@ -4651,19 +5389,24 @@ msgstr "Você está no controle"
msgid "You're in line"
msgstr "Você está na fila"
-#: src/screens/Onboarding/StepFinished.tsx:90
+#: src/screens/Onboarding/StepFinished.tsx:94
msgid "You're ready to go!"
msgstr "Tudo pronto!"
+#: src/components/moderation/ModerationDetailsDialog.tsx:98
+#: src/lib/moderation/useModerationCauseDescription.ts:101
+msgid "You've chosen to hide a word or tag within this post."
+msgstr "Você escolheu esconder uma palavra ou tag deste post."
+
#: src/view/com/posts/FollowingEndOfFeed.tsx:48
msgid "You've reached the end of your feed! Find some more accounts to follow."
msgstr "Você chegou ao fim do seu feed! Encontre novas contas para seguir."
-#: src/view/com/auth/create/Step1.tsx:67
+#: src/screens/Signup/index.tsx:151
msgid "Your account"
msgstr "Sua conta"
-#: src/view/com/modals/DeleteAccount.tsx:67
+#: src/view/com/modals/DeleteAccount.tsx:68
msgid "Your account has been deleted"
msgstr "Sua conta foi excluída"
@@ -4671,7 +5414,7 @@ msgstr "Sua conta foi excluída"
msgid "Your account repository, containing all public data records, can be downloaded as a \"CAR\" file. This file does not include media embeds, such as images, or your private data, which must be fetched separately."
msgstr "O repositório da sua conta, contendo todos os seus dados públicos, pode ser baixado como um arquivo \"CAR\". Este arquivo não inclui imagens ou dados privados, estes devem ser exportados separadamente."
-#: src/view/com/auth/create/Step1.tsx:215
+#: src/screens/Signup/StepInfo/index.tsx:123
msgid "Your birth date"
msgstr "Sua data de nascimento"
@@ -4679,20 +5422,16 @@ msgstr "Sua data de nascimento"
msgid "Your choice will be saved, but can be changed later in settings."
msgstr "Sua escolha será salva, mas você pode trocá-la nas configurações depois"
-#: src/screens/Onboarding/StepFollowingFeed.tsx:61
+#: src/screens/Onboarding/StepFollowingFeed.tsx:62
msgid "Your default feed is \"Following\""
msgstr "Seu feed inicial é o \"Seguindo\""
-#: src/view/com/auth/create/state.ts:110
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:70
+#: src/screens/Login/ForgotPasswordForm.tsx:57
+#: src/screens/Signup/state.ts:227
#: src/view/com/modals/ChangePassword.tsx:54
msgid "Your email appears to be invalid."
msgstr "Seu e-mail parece ser inválido."
-#: src/view/com/modals/Waitlist.tsx:109
-#~ msgid "Your email has been saved! We'll be in touch soon."
-#~ msgstr "Seu e-mail foi salvo! Logo entraremos em contato."
-
#: src/view/com/modals/ChangeEmail.tsx:125
msgid "Your email has been updated but not verified. As a next step, please verify your new email."
msgstr "Seu e-mail foi atualizado mas não foi verificado. Como próximo passo, por favor verifique seu novo e-mail."
@@ -4705,47 +5444,40 @@ msgstr "Seu e-mail ainda não foi verificado. Esta é uma etapa importante de se
msgid "Your following feed is empty! Follow more users to see what's happening."
msgstr "Seu feed inicial está vazio! Siga mais usuários para acompanhar o que está acontecendo."
-#: src/view/com/auth/create/Step2.tsx:83
+#: src/screens/Signup/StepHandle.tsx:73
msgid "Your full handle will be"
msgstr "Seu identificador completo será"
-#: src/view/com/modals/ChangeHandle.tsx:270
+#: src/view/com/modals/ChangeHandle.tsx:271
msgid "Your full handle will be <0>@{0}0>"
msgstr "Seu usuário completo será <0>@{0}0>"
-#: src/view/screens/Settings.tsx:430
-#: src/view/shell/desktop/RightNav.tsx:137
-#: src/view/shell/Drawer.tsx:660
-#~ msgid "Your invite codes are hidden when logged in using an App Password"
-#~ msgstr "Seus códigos de convite estão ocultos quando conectado com uma Senha do Aplicativo"
-
-#: src/components/dialogs/MutedWords.tsx:221
+#: src/components/dialogs/MutedWords.tsx:220
msgid "Your muted words"
msgstr "Suas palavras silenciadas"
-#: src/view/com/modals/ChangePassword.tsx:155
+#: src/view/com/modals/ChangePassword.tsx:157
msgid "Your password has been changed successfully!"
msgstr "Sua senha foi alterada com sucesso!"
-#: src/view/com/composer/Composer.tsx:274
+#: src/view/com/composer/Composer.tsx:284
msgid "Your post has been published"
msgstr "Seu post foi publicado"
-#: src/screens/Onboarding/StepFinished.tsx:105
+#: src/screens/Onboarding/StepFinished.tsx:109
#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:59
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:59
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:61
msgid "Your posts, likes, and blocks are public. Mutes are private."
msgstr "Suas postagens, curtidas e bloqueios são públicos. Silenciamentos são privados."
-#: src/view/com/modals/SwitchAccount.tsx:84
-#: src/view/screens/Settings/index.tsx:118
+#: src/view/screens/Settings/index.tsx:136
msgid "Your profile"
msgstr "Seu perfil"
-#: src/view/com/composer/Composer.tsx:273
+#: src/view/com/composer/Composer.tsx:283
msgid "Your reply has been published"
msgstr "Sua resposta foi publicada"
-#: src/view/com/auth/create/Step2.tsx:65
+#: src/screens/Signup/index.tsx:153
msgid "Your user handle"
msgstr "Seu identificador de usuário"
diff --git a/src/locale/locales/tr/messages.po b/src/locale/locales/tr/messages.po
new file mode 100644
index 0000000000..0dab4a72ad
--- /dev/null
+++ b/src/locale/locales/tr/messages.po
@@ -0,0 +1,6039 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-11-05 16:01-0800\n"
+"PO-Revision-Date: \n"
+"Last-Translator: atiksoftware\n"
+"Language-Team: atiksoftware\n"
+"Language: tr\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: \n"
+"X-Generator: Poedit 3.4.2\n"
+
+#: src/view/com/modals/VerifyEmail.tsx:142
+msgid "(no email)"
+msgstr "(e-posta yok)"
+
+#: src/view/shell/desktop/RightNav.tsx:168
+#~ msgid "{0, plural, one {# invite code available} other {# invite codes available}}"
+#~ msgstr "{0, plural, one {# davet kodu mevcut} other {# davet kodları mevcut}}"
+
+#: src/components/ProfileHoverCard/index.web.tsx:323
+#: src/screens/Profile/Header/Metrics.tsx:44
+msgid "{following} following"
+msgstr "{following} takip ediliyor"
+
+#: src/view/shell/desktop/RightNav.tsx:151
+#~ msgid "{invitesAvailable, plural, one {Invite codes: # available} other {Invite codes: # available}}"
+#~ msgstr "{invitesAvailable, plural, one {Davet kodları: # mevcut} other {Davet kodları: # mevcut}}"
+
+#: src/view/screens/Settings.tsx:NaN
+#~ msgid "{invitesAvailable} invite code available"
+#~ msgstr "{invitesAvailable} davet kodu mevcut"
+
+#: src/view/screens/Settings.tsx:NaN
+#~ msgid "{invitesAvailable} invite codes available"
+#~ msgstr "{invitesAvailable} davet kodları mevcut"
+
+#: src/view/shell/Drawer.tsx:449
+msgid "{numUnreadNotifications} unread"
+msgstr "{numUnreadNotifications} okunmamış"
+
+#: src/view/com/threadgate/WhoCanReply.tsx:158
+msgid "<0/> members"
+msgstr "<0/> üyeleri"
+
+#: src/view/shell/Drawer.tsx:97
+msgid "<0>{0}0> following"
+msgstr ""
+
+#: src/components/ProfileHoverCard/index.web.tsx:314
+msgid "<0>{followers} 0><1>{pluralizedFollowers}1>"
+msgstr ""
+
+#: src/components/ProfileHoverCard/index.web.tsx:326
+#: src/screens/Profile/Header/Metrics.tsx:45
+msgid "<0>{following} 0><1>following1>"
+msgstr "<0>{following} 0><1>takip ediliyor1>"
+
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:31
+msgid "<0>Choose your0><1>Recommended1><2>Feeds2>"
+msgstr "<0>Önerilen0><1>Feeds1><2>Seç2>"
+
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:38
+msgid "<0>Follow some0><1>Recommended1><2>Users2>"
+msgstr "<0>Önerilen0><1>Kullanıcıları Takip Et1><2>Seç2>"
+
+#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:21
+msgid "<0>Welcome to0><1>Bluesky1>"
+msgstr "<0>Bluesky'e0><1>Hoşgeldiniz1>"
+
+#: src/screens/Profile/Header/Handle.tsx:43
+msgid "⚠Invalid Handle"
+msgstr "⚠Geçersiz Kullanıcı Adı"
+
+#: src/view/com/util/moderation/LabelInfo.tsx:45
+#~ msgid "A content warning has been applied to this {0}."
+#~ msgstr "Bu {0} için bir içerik uyarısı uygulandı."
+
+#: src/lib/hooks/useOTAUpdate.ts:16
+#~ msgid "A new version of the app is available. Please update to continue using the app."
+#~ msgstr "Uygulamanın yeni bir sürümü mevcut. Devam etmek için güncelleyin."
+
+#: src/view/com/util/ViewHeader.tsx:89
+#: src/view/screens/Search/Search.tsx:796
+msgid "Access navigation links and settings"
+msgstr "Gezinme bağlantılarına ve ayarlara erişin"
+
+#: src/view/com/home/HomeHeaderLayoutMobile.tsx:54
+msgid "Access profile and other navigation links"
+msgstr "Profil ve diğer gezinme bağlantılarına erişin"
+
+#: src/view/com/modals/EditImage.tsx:300
+#: src/view/screens/Settings/index.tsx:421
+msgid "Accessibility"
+msgstr "Erişilebilirlik"
+
+#: src/components/moderation/LabelsOnMe.tsx:42
+msgid "account"
+msgstr ""
+
+#: src/screens/Login/LoginForm.tsx:144
+#: src/view/screens/Settings/index.tsx:330
+#: src/view/screens/Settings/index.tsx:707
+msgid "Account"
+msgstr "Hesap"
+
+#: src/view/com/profile/ProfileMenu.tsx:139
+msgid "Account blocked"
+msgstr "Hesap engellendi"
+
+#: src/view/com/profile/ProfileMenu.tsx:153
+msgid "Account followed"
+msgstr ""
+
+#: src/view/com/profile/ProfileMenu.tsx:113
+msgid "Account muted"
+msgstr "Hesap susturuldu"
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:93
+#: src/lib/moderation/useModerationCauseDescription.ts:91
+msgid "Account Muted"
+msgstr "Hesap Susturuldu"
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:82
+msgid "Account Muted by List"
+msgstr "Liste Tarafından Hesap Susturuldu"
+
+#: src/view/com/util/AccountDropdownBtn.tsx:41
+msgid "Account options"
+msgstr "Hesap seçenekleri"
+
+#: src/view/com/util/AccountDropdownBtn.tsx:25
+msgid "Account removed from quick access"
+msgstr "Hesap hızlı erişimden kaldırıldı"
+
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:137
+#: src/view/com/profile/ProfileMenu.tsx:128
+msgid "Account unblocked"
+msgstr "Hesap engeli kaldırıldı"
+
+#: src/view/com/profile/ProfileMenu.tsx:166
+msgid "Account unfollowed"
+msgstr ""
+
+#: src/view/com/profile/ProfileMenu.tsx:102
+msgid "Account unmuted"
+msgstr "Hesap susturulması kaldırıldı"
+
+#: src/components/dialogs/MutedWords.tsx:164
+#: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:150
+#: src/view/com/modals/ListAddRemoveUsers.tsx:268
+#: src/view/com/modals/UserAddRemoveLists.tsx:219
+#: src/view/screens/ProfileList.tsx:829
+msgid "Add"
+msgstr "Ekle"
+
+#: src/view/com/modals/SelfLabel.tsx:56
+msgid "Add a content warning"
+msgstr "Bir içerik uyarısı ekleyin"
+
+#: src/view/screens/ProfileList.tsx:819
+msgid "Add a user to this list"
+msgstr "Bu listeye bir kullanıcı ekleyin"
+
+#: src/components/dialogs/SwitchAccount.tsx:55
+#: src/view/screens/Settings/index.tsx:405
+#: src/view/screens/Settings/index.tsx:414
+msgid "Add account"
+msgstr "Hesap ekle"
+
+#: src/view/com/composer/photos/Gallery.tsx:119
+#: src/view/com/composer/photos/Gallery.tsx:180
+#: src/view/com/modals/AltImage.tsx:117
+msgid "Add alt text"
+msgstr "Alternatif metin ekle"
+
+#: src/view/screens/AppPasswords.tsx:104
+#: src/view/screens/AppPasswords.tsx:145
+#: src/view/screens/AppPasswords.tsx:158
+msgid "Add App Password"
+msgstr "Uygulama Şifresi Ekle"
+
+#: src/view/com/modals/report/InputIssueDetails.tsx:41
+#: src/view/com/modals/report/Modal.tsx:191
+#~ msgid "Add details"
+#~ msgstr "Detaylar ekle"
+
+#: src/view/com/modals/report/Modal.tsx:194
+#~ msgid "Add details to report"
+#~ msgstr "Rapor için detaylar ekleyin"
+
+#: src/view/com/composer/Composer.tsx:467
+msgid "Add link card"
+msgstr "Bağlantı kartı ekle"
+
+#: src/view/com/composer/Composer.tsx:472
+msgid "Add link card:"
+msgstr "Bağlantı kartı ekle:"
+
+#: src/components/dialogs/MutedWords.tsx:157
+msgid "Add mute word for configured settings"
+msgstr ""
+
+#: src/components/dialogs/MutedWords.tsx:86
+msgid "Add muted words and tags"
+msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:416
+msgid "Add the following DNS record to your domain:"
+msgstr "Alan adınıza aşağıdaki DNS kaydını ekleyin:"
+
+#: src/view/com/profile/ProfileMenu.tsx:263
+#: src/view/com/profile/ProfileMenu.tsx:266
+msgid "Add to Lists"
+msgstr "Listelere Ekle"
+
+#: src/view/com/feeds/FeedSourceCard.tsx:234
+msgid "Add to my feeds"
+msgstr "Beslemelerime ekle"
+
+#: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:139
+msgid "Added"
+msgstr "Eklendi"
+
+#: src/view/com/modals/ListAddRemoveUsers.tsx:191
+#: src/view/com/modals/UserAddRemoveLists.tsx:144
+msgid "Added to list"
+msgstr "Listeye eklendi"
+
+#: src/view/com/feeds/FeedSourceCard.tsx:108
+msgid "Added to my feeds"
+msgstr "Beslemelerime eklendi"
+
+#: src/view/screens/PreferencesFollowingFeed.tsx:173
+msgid "Adjust the number of likes a reply must have to be shown in your feed."
+msgstr "Bir yanıtın beslemenizde gösterilmesi için sahip olması gereken beğeni sayısını ayarlayın."
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:34
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:117
+#: src/view/com/modals/SelfLabel.tsx:75
+msgid "Adult Content"
+msgstr "Yetişkin İçerik"
+
+#: src/view/com/modals/ContentFilteringSettings.tsx:137
+#~ msgid "Adult content can only be enabled via the Web at <0/>."
+#~ msgstr "Yetişkin içeriği yalnızca Web üzerinden <0/> etkinleştirilebilir."
+
+#: src/components/moderation/LabelPreference.tsx:242
+msgid "Adult content is disabled."
+msgstr ""
+
+#: src/screens/Moderation/index.tsx:375
+#: src/view/screens/Settings/index.tsx:635
+msgid "Advanced"
+msgstr "Gelişmiş"
+
+#: src/view/screens/Feeds.tsx:691
+msgid "All the feeds you've saved, right in one place."
+msgstr ""
+
+#: src/screens/Login/ForgotPasswordForm.tsx:178
+#: src/view/com/modals/ChangePassword.tsx:170
+msgid "Already have a code?"
+msgstr "Zaten bir kodunuz mu var?"
+
+#: src/screens/Login/ChooseAccountForm.tsx:39
+msgid "Already signed in as @{0}"
+msgstr "Zaten @{0} olarak oturum açıldı"
+
+#: src/view/com/composer/photos/Gallery.tsx:130
+msgid "ALT"
+msgstr "ALT"
+
+#: src/view/com/modals/EditImage.tsx:316
+msgid "Alt text"
+msgstr "Alternatif metin"
+
+#: src/view/com/composer/photos/Gallery.tsx:209
+msgid "Alt text describes images for blind and low-vision users, and helps give context to everyone."
+msgstr "Alternatif metin, görme engelli ve düşük görme yeteneğine sahip kullanıcılar için resimleri tanımlar ve herkes için bağlam sağlamaya yardımcı olur."
+
+#: src/view/com/modals/VerifyEmail.tsx:124
+msgid "An email has been sent to {0}. It includes a confirmation code which you can enter below."
+msgstr "{0} adresine bir e-posta gönderildi. Aşağıda girebileceğiniz bir onay kodu içerir."
+
+#: src/view/com/modals/ChangeEmail.tsx:119
+msgid "An email has been sent to your previous address, {0}. It includes a confirmation code which you can enter below."
+msgstr "Önceki adresinize, {0} bir e-posta gönderildi. Aşağıda girebileceğiniz bir onay kodu içerir."
+
+#: src/lib/moderation/useReportOptions.ts:26
+msgid "An issue not included in these options"
+msgstr ""
+
+#: src/components/hooks/useFollowMethods.ts:35
+#: src/components/hooks/useFollowMethods.ts:50
+#: src/view/com/profile/FollowButton.tsx:35
+#: src/view/com/profile/FollowButton.tsx:45
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:188
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:198
+msgid "An issue occurred, please try again."
+msgstr "Bir sorun oluştu, lütfen tekrar deneyin."
+
+#: src/view/com/notifications/FeedItem.tsx:242
+#: src/view/com/threadgate/WhoCanReply.tsx:178
+msgid "and"
+msgstr "ve"
+
+#: src/screens/Onboarding/index.tsx:32
+msgid "Animals"
+msgstr "Hayvanlar"
+
+#: src/lib/moderation/useReportOptions.ts:31
+msgid "Anti-Social Behavior"
+msgstr ""
+
+#: src/view/screens/LanguageSettings.tsx:95
+msgid "App Language"
+msgstr "Uygulama Dili"
+
+#: src/view/screens/AppPasswords.tsx:223
+msgid "App password deleted"
+msgstr "Uygulama şifresi silindi"
+
+#: src/view/com/modals/AddAppPasswords.tsx:135
+msgid "App Password names can only contain letters, numbers, spaces, dashes, and underscores."
+msgstr "Uygulama Şifre adları yalnızca harfler, sayılar, boşluklar, tireler ve alt çizgiler içerebilir."
+
+#: src/view/com/modals/AddAppPasswords.tsx:100
+msgid "App Password names must be at least 4 characters long."
+msgstr "Uygulama Şifre adları en az 4 karakter uzunluğunda olmalıdır."
+
+#: src/view/screens/Settings/index.tsx:646
+msgid "App password settings"
+msgstr "Uygulama şifresi ayarları"
+
+#: src/Navigation.tsx:251
+#: src/view/screens/AppPasswords.tsx:189
+#: src/view/screens/Settings/index.tsx:655
+msgid "App Passwords"
+msgstr "Uygulama Şifreleri"
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:133
+#: src/components/moderation/LabelsOnMeDialog.tsx:136
+msgid "Appeal"
+msgstr ""
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:201
+msgid "Appeal \"{0}\" label"
+msgstr ""
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:250
+#~ msgid "Appeal content warning"
+#~ msgstr "İçerik uyarısını itiraz et"
+
+#: src/view/com/modals/AppealLabel.tsx:65
+#~ msgid "Appeal Content Warning"
+#~ msgstr "İçerik Uyarısını İtiraz Et"
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:192
+msgid "Appeal submitted."
+msgstr ""
+
+#: src/view/com/util/moderation/LabelInfo.tsx:52
+#~ msgid "Appeal this decision"
+#~ msgstr "Bu karara itiraz et"
+
+#: src/view/com/util/moderation/LabelInfo.tsx:56
+#~ msgid "Appeal this decision."
+#~ msgstr "Bu karara itiraz et."
+
+#: src/view/screens/Settings/index.tsx:436
+msgid "Appearance"
+msgstr "Görünüm"
+
+#: src/view/screens/AppPasswords.tsx:265
+msgid "Are you sure you want to delete the app password \"{name}\"?"
+msgstr "\"{name}\" uygulama şifresini silmek istediğinizden emin misiniz?"
+
+#: src/view/com/feeds/FeedSourceCard.tsx:280
+msgid "Are you sure you want to remove {0} from your feeds?"
+msgstr ""
+
+#: src/view/com/composer/Composer.tsx:509
+msgid "Are you sure you'd like to discard this draft?"
+msgstr "Bu taslağı silmek istediğinizden emin misiniz?"
+
+#: src/components/dialogs/MutedWords.tsx:281
+msgid "Are you sure?"
+msgstr "Emin misiniz?"
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:233
+#~ msgid "Are you sure? This cannot be undone."
+#~ msgstr "Emin misiniz? Bu geri alınamaz."
+
+#: src/view/com/composer/select-language/SuggestedLanguage.tsx:60
+msgid "Are you writing in <0>{0}0>?"
+msgstr "<0>{0}0> dilinde mi yazıyorsunuz?"
+
+#: src/screens/Onboarding/index.tsx:26
+msgid "Art"
+msgstr "Sanat"
+
+#: src/view/com/modals/SelfLabel.tsx:123
+msgid "Artistic or non-erotic nudity."
+msgstr "Sanatsal veya erotik olmayan çıplaklık."
+
+#: src/screens/Signup/StepHandle.tsx:119
+msgid "At least 3 characters"
+msgstr ""
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:246
+#: src/components/moderation/LabelsOnMeDialog.tsx:247
+#: src/screens/Login/ChooseAccountForm.tsx:73
+#: src/screens/Login/ChooseAccountForm.tsx:78
+#: src/screens/Login/ForgotPasswordForm.tsx:129
+#: src/screens/Login/ForgotPasswordForm.tsx:135
+#: src/screens/Login/LoginForm.tsx:221
+#: src/screens/Login/LoginForm.tsx:227
+#: src/screens/Login/SetNewPasswordForm.tsx:160
+#: src/screens/Login/SetNewPasswordForm.tsx:166
+#: src/screens/Profile/Header/Shell.tsx:96
+#: src/screens/Signup/index.tsx:180
+#: src/view/com/util/ViewHeader.tsx:87
+msgid "Back"
+msgstr "Geri"
+
+#: src/view/com/post-thread/PostThread.tsx:421
+#~ msgctxt "action"
+#~ msgid "Back"
+#~ msgstr "Geri"
+
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:144
+msgid "Based on your interest in {interestsText}"
+msgstr "{interestsText} ilginize dayalı"
+
+#: src/view/screens/Settings/index.tsx:493
+msgid "Basics"
+msgstr "Temel"
+
+#: src/components/dialogs/BirthDateSettings.tsx:107
+msgid "Birthday"
+msgstr "Doğum günü"
+
+#: src/view/screens/Settings/index.tsx:362
+msgid "Birthday:"
+msgstr "Doğum günü:"
+
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:286
+#: src/view/com/profile/ProfileMenu.tsx:361
+msgid "Block"
+msgstr ""
+
+#: src/view/com/profile/ProfileMenu.tsx:300
+#: src/view/com/profile/ProfileMenu.tsx:307
+msgid "Block Account"
+msgstr "Hesabı Engelle"
+
+#: src/view/com/profile/ProfileMenu.tsx:344
+msgid "Block Account?"
+msgstr ""
+
+#: src/view/screens/ProfileList.tsx:532
+msgid "Block accounts"
+msgstr "Hesapları engelle"
+
+#: src/view/screens/ProfileList.tsx:480
+#: src/view/screens/ProfileList.tsx:636
+msgid "Block list"
+msgstr "Listeyi engelle"
+
+#: src/view/screens/ProfileList.tsx:631
+msgid "Block these accounts?"
+msgstr "Bu hesapları engelle?"
+
+#: src/view/screens/ProfileList.tsx:319
+#~ msgid "Block this List"
+#~ msgstr "Bu Listeyi Engelle"
+
+#: src/view/com/lists/ListCard.tsx:110
+#: src/view/com/util/post-embeds/QuoteEmbed.tsx:58
+msgid "Blocked"
+msgstr "Engellendi"
+
+#: src/screens/Moderation/index.tsx:267
+msgid "Blocked accounts"
+msgstr "Engellenen hesaplar"
+
+#: src/Navigation.tsx:134
+#: src/view/screens/ModerationBlockedAccounts.tsx:113
+msgid "Blocked Accounts"
+msgstr "Engellenen Hesaplar"
+
+#: src/view/com/profile/ProfileMenu.tsx:356
+msgid "Blocked accounts cannot reply in your threads, mention you, or otherwise interact with you."
+msgstr "Engellenen hesaplar, konularınıza yanıt veremez, sizi bahsedemez veya başka şekilde sizinle etkileşime giremez."
+
+#: src/view/screens/ModerationBlockedAccounts.tsx:121
+msgid "Blocked accounts cannot reply in your threads, mention you, or otherwise interact with you. You will not see their content and they will be prevented from seeing yours."
+msgstr "Engellenen hesaplar, konularınıza yanıt veremez, sizi bahsedemez veya başka şekilde sizinle etkileşime giremez. Onların içeriğini görmeyeceksiniz ve onlar da sizinkini görmekten alıkonulacaklar."
+
+#: src/view/com/post-thread/PostThread.tsx:313
+msgid "Blocked post."
+msgstr "Engellenen gönderi."
+
+#: src/screens/Profile/Sections/Labels.tsx:163
+msgid "Blocking does not prevent this labeler from placing labels on your account."
+msgstr ""
+
+#: src/view/screens/ProfileList.tsx:633
+msgid "Blocking is public. Blocked accounts cannot reply in your threads, mention you, or otherwise interact with you."
+msgstr "Engelleme herkese açıktır. Engellenen hesaplar, konularınıza yanıt veremez, sizi bahsedemez veya başka şekilde sizinle etkileşime giremez."
+
+#: src/view/com/profile/ProfileMenu.tsx:353
+msgid "Blocking will not prevent labels from being applied on your account, but it will stop this account from replying in your threads or interacting with you."
+msgstr ""
+
+#: src/view/com/auth/SplashScreen.web.tsx:149
+msgid "Blog"
+msgstr "Blog"
+
+#: src/view/com/auth/server-input/index.tsx:89
+#: src/view/com/auth/server-input/index.tsx:91
+msgid "Bluesky"
+msgstr "Bluesky"
+
+#: src/view/com/auth/server-input/index.tsx:154
+msgid "Bluesky is an open network where you can choose your hosting provider. Custom hosting is now available in beta for developers."
+msgstr ""
+
+#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:80
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:82
+msgid "Bluesky is flexible."
+msgstr "Bluesky esnek."
+
+#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:69
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:71
+msgid "Bluesky is open."
+msgstr "Bluesky açık."
+
+#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:56
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:58
+msgid "Bluesky is public."
+msgstr "Bluesky kamusal."
+
+#: src/view/com/modals/Waitlist.tsx:70
+#~ msgid "Bluesky uses invites to build a healthier community. If you don't know anybody with an invite, you can sign up for the waitlist and we'll send one soon."
+#~ msgstr "Bluesky, daha sağlıklı bir topluluk oluşturmak için davetleri kullanır. Bir daveti olan kimseyi tanımıyorsanız, bekleme listesine kaydolabilir ve yakında bir tane göndereceğiz."
+
+#: src/screens/Moderation/index.tsx:533
+msgid "Bluesky will not show your profile and posts to logged-out users. Other apps may not honor this request. This does not make your account private."
+msgstr "Bluesky, profilinizi ve gönderilerinizi oturum açmamış kullanıcılara göstermeyecektir. Diğer uygulamalar bu isteği yerine getirmeyebilir. Bu, hesabınızı özel yapmaz."
+
+#: src/view/com/modals/ServerInput.tsx:78
+#~ msgid "Bluesky.Social"
+#~ msgstr "Bluesky.Social"
+
+#: src/lib/moderation/useLabelBehaviorDescription.ts:53
+msgid "Blur images"
+msgstr ""
+
+#: src/lib/moderation/useLabelBehaviorDescription.ts:51
+msgid "Blur images and filter from feeds"
+msgstr ""
+
+#: src/screens/Onboarding/index.tsx:33
+msgid "Books"
+msgstr "Kitaplar"
+
+#: src/view/screens/Settings.tsx:841
+#~ msgid "Build version {0} {1}"
+#~ msgstr "Sürüm {0} {1}"
+
+#: src/view/com/auth/SplashScreen.web.tsx:146
+msgid "Business"
+msgstr "İş"
+
+#: src/view/com/modals/ServerInput.tsx:115
+#~ msgid "Button disabled. Input custom domain to proceed."
+#~ msgstr "Button devre dışı. Devam etmek için özel alan adını girin."
+
+#: src/view/com/profile/ProfileSubpageHeader.tsx:157
+msgid "by —"
+msgstr "tarafından —"
+
+#: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:100
+msgid "by {0}"
+msgstr "tarafından {0}"
+
+#: src/components/LabelingServiceCard/index.tsx:57
+msgid "By {0}"
+msgstr ""
+
+#: src/view/com/profile/ProfileSubpageHeader.tsx:161
+msgid "by <0/>"
+msgstr "tarafından <0/>"
+
+#: src/screens/Signup/StepInfo/Policies.tsx:74
+msgid "By creating an account you agree to the {els}."
+msgstr ""
+
+#: src/view/com/profile/ProfileSubpageHeader.tsx:159
+msgid "by you"
+msgstr "siz tarafından"
+
+#: src/view/com/composer/photos/OpenCameraBtn.tsx:77
+msgid "Camera"
+msgstr "Kamera"
+
+#: src/view/com/modals/AddAppPasswords.tsx:217
+msgid "Can only contain letters, numbers, spaces, dashes, and underscores. Must be at least 4 characters long, but no more than 32 characters long."
+msgstr "Yalnızca harfler, sayılar, boşluklar, tireler ve alt çizgiler içerebilir. En az 4 karakter uzunluğunda, ancak 32 karakterden fazla olmamalıdır."
+
+#: src/components/Menu/index.tsx:213
+#: src/components/Prompt.tsx:113
+#: src/components/Prompt.tsx:115
+#: src/components/TagMenu/index.tsx:268
+#: src/view/com/composer/Composer.tsx:317
+#: src/view/com/composer/Composer.tsx:322
+#: src/view/com/modals/ChangeEmail.tsx:218
+#: src/view/com/modals/ChangeEmail.tsx:220
+#: src/view/com/modals/ChangeHandle.tsx:154
+#: src/view/com/modals/ChangePassword.tsx:267
+#: src/view/com/modals/ChangePassword.tsx:270
+#: src/view/com/modals/CreateOrEditList.tsx:356
+#: src/view/com/modals/crop-image/CropImage.web.tsx:138
+#: src/view/com/modals/EditImage.tsx:324
+#: src/view/com/modals/EditProfile.tsx:250
+#: src/view/com/modals/InAppBrowserConsent.tsx:78
+#: src/view/com/modals/InAppBrowserConsent.tsx:80
+#: src/view/com/modals/LinkWarning.tsx:105
+#: src/view/com/modals/LinkWarning.tsx:107
+#: src/view/com/modals/Repost.tsx:88
+#: src/view/com/modals/VerifyEmail.tsx:247
+#: src/view/com/modals/VerifyEmail.tsx:253
+#: src/view/screens/Search/Search.tsx:865
+#: src/view/shell/desktop/Search.tsx:239
+msgid "Cancel"
+msgstr "İptal"
+
+#: src/view/com/modals/CreateOrEditList.tsx:361
+#: src/view/com/modals/DeleteAccount.tsx:155
+#: src/view/com/modals/DeleteAccount.tsx:233
+msgctxt "action"
+msgid "Cancel"
+msgstr "İptal"
+
+#: src/view/com/modals/DeleteAccount.tsx:151
+#: src/view/com/modals/DeleteAccount.tsx:229
+msgid "Cancel account deletion"
+msgstr "Hesap silmeyi iptal et"
+
+#: src/view/com/modals/ChangeHandle.tsx:150
+msgid "Cancel change handle"
+msgstr "Kullanıcı adı değişikliğini iptal et"
+
+#: src/view/com/modals/crop-image/CropImage.web.tsx:135
+msgid "Cancel image crop"
+msgstr "Resim kırpma işlemini iptal et"
+
+#: src/view/com/modals/EditProfile.tsx:245
+msgid "Cancel profile editing"
+msgstr "Profil düzenlemeyi iptal et"
+
+#: src/view/com/modals/Repost.tsx:79
+msgid "Cancel quote post"
+msgstr "Alıntı gönderiyi iptal et"
+
+#: src/view/com/modals/ListAddRemoveUsers.tsx:87
+#: src/view/shell/desktop/Search.tsx:235
+msgid "Cancel search"
+msgstr "Aramayı iptal et"
+
+#: src/view/com/modals/Waitlist.tsx:136
+#~ msgid "Cancel waitlist signup"
+#~ msgstr "Bekleme listesi kaydını iptal et"
+
+#: src/view/com/modals/LinkWarning.tsx:106
+msgid "Cancels opening the linked website"
+msgstr ""
+
+#: src/view/com/modals/VerifyEmail.tsx:152
+msgid "Change"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:356
+msgctxt "action"
+msgid "Change"
+msgstr "Değiştir"
+
+#: src/view/screens/Settings/index.tsx:667
+msgid "Change handle"
+msgstr "Kullanıcı adını değiştir"
+
+#: src/view/com/modals/ChangeHandle.tsx:162
+#: src/view/screens/Settings/index.tsx:678
+msgid "Change Handle"
+msgstr "Kullanıcı Adını Değiştir"
+
+#: src/view/com/modals/VerifyEmail.tsx:147
+msgid "Change my email"
+msgstr "E-postamı değiştir"
+
+#: src/view/screens/Settings/index.tsx:718
+msgid "Change password"
+msgstr "Şifre değiştir"
+
+#: src/view/com/modals/ChangePassword.tsx:141
+#: src/view/screens/Settings/index.tsx:729
+msgid "Change Password"
+msgstr "Şifre Değiştir"
+
+#: src/view/com/composer/select-language/SuggestedLanguage.tsx:73
+msgid "Change post language to {0}"
+msgstr "Gönderi dilini {0} olarak değiştir"
+
+#: src/view/screens/Settings.tsx:727
+#~ msgid "Change your Bluesky password"
+#~ msgstr "Bluesky şifrenizi değiştirin"
+
+#: src/view/com/modals/ChangeEmail.tsx:109
+msgid "Change Your Email"
+msgstr "E-postanızı Değiştirin"
+
+#: src/screens/Deactivated.tsx:72
+#: src/screens/Deactivated.tsx:76
+msgid "Check my status"
+msgstr "Durumumu kontrol et"
+
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:122
+msgid "Check out some recommended feeds. Tap + to add them to your list of pinned feeds."
+msgstr "Bazı önerilen beslemelere göz atın. Eklemek için + simgesine dokunun."
+
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:186
+msgid "Check out some recommended users. Follow them to see similar users."
+msgstr "Bazı önerilen kullanıcılara göz atın. Benzer kullanıcıları görmek için onları takip edin."
+
+#: src/view/com/modals/DeleteAccount.tsx:168
+msgid "Check your inbox for an email with the confirmation code to enter below:"
+msgstr "Aşağıya gireceğiniz onay kodu içeren bir e-posta için gelen kutunuzu kontrol edin:"
+
+#: src/view/com/modals/Threadgate.tsx:72
+msgid "Choose \"Everybody\" or \"Nobody\""
+msgstr "\"Herkes\" veya \"Hiç kimse\" seçin"
+
+#: src/view/screens/Settings.tsx:691
+#~ msgid "Choose a new Bluesky username or create"
+#~ msgstr "Yeni bir Bluesky kullanıcı adı seçin veya oluşturun"
+
+#: src/view/com/auth/server-input/index.tsx:79
+msgid "Choose Service"
+msgstr "Hizmet Seç"
+
+#: src/screens/Onboarding/StepFinished.tsx:139
+msgid "Choose the algorithms that power your custom feeds."
+msgstr "Özel beslemelerinizi destekleyen algoritmaları seçin."
+
+#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:83
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:85
+msgid "Choose the algorithms that power your experience with custom feeds."
+msgstr "Özel beslemelerle deneyiminizi destekleyen algoritmaları seçin."
+
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:104
+msgid "Choose your main feeds"
+msgstr "Ana beslemelerinizi seçin"
+
+#: src/screens/Signup/StepInfo/index.tsx:114
+msgid "Choose your password"
+msgstr "Şifrenizi seçin"
+
+#: src/view/screens/Settings/index.tsx:832
+msgid "Clear all legacy storage data"
+msgstr "Tüm eski depolama verilerini temizle"
+
+#: src/view/screens/Settings/index.tsx:835
+msgid "Clear all legacy storage data (restart after this)"
+msgstr "Tüm eski depolama verilerini temizle (bundan sonra yeniden başlat)"
+
+#: src/view/screens/Settings/index.tsx:844
+msgid "Clear all storage data"
+msgstr "Tüm depolama verilerini temizle"
+
+#: src/view/screens/Settings/index.tsx:847
+msgid "Clear all storage data (restart after this)"
+msgstr "Tüm depolama verilerini temizle (bundan sonra yeniden başlat)"
+
+#: src/view/com/util/forms/SearchInput.tsx:88
+#: src/view/screens/Search/Search.tsx:846
+msgid "Clear search query"
+msgstr "Arama sorgusunu temizle"
+
+#: src/view/screens/Settings/index.tsx:833
+msgid "Clears all legacy storage data"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:845
+msgid "Clears all storage data"
+msgstr ""
+
+#: src/view/screens/Support.tsx:40
+msgid "click here"
+msgstr "buraya tıklayın"
+
+#: src/components/TagMenu/index.web.tsx:138
+msgid "Click here to open tag menu for {tag}"
+msgstr ""
+
+#: src/components/RichText.tsx:198
+msgid "Click here to open tag menu for #{tag}"
+msgstr ""
+
+#: src/screens/Onboarding/index.tsx:35
+msgid "Climate"
+msgstr "İklim"
+
+#: src/view/com/modals/ChangePassword.tsx:267
+#: src/view/com/modals/ChangePassword.tsx:270
+msgid "Close"
+msgstr "Kapat"
+
+#: src/components/Dialog/index.web.tsx:106
+#: src/components/Dialog/index.web.tsx:218
+msgid "Close active dialog"
+msgstr "Etkin iletişim kutusunu kapat"
+
+#: src/screens/Login/PasswordUpdatedForm.tsx:38
+msgid "Close alert"
+msgstr "Uyarıyı kapat"
+
+#: src/view/com/util/BottomSheetCustomBackdrop.tsx:36
+msgid "Close bottom drawer"
+msgstr "Alt çekmeceyi kapat"
+
+#: src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx:36
+msgid "Close image"
+msgstr "Resmi kapat"
+
+#: src/view/com/lightbox/Lightbox.web.tsx:129
+msgid "Close image viewer"
+msgstr "Resim görüntüleyiciyi kapat"
+
+#: src/view/shell/index.web.tsx:57
+msgid "Close navigation footer"
+msgstr "Gezinme altbilgisini kapat"
+
+#: src/components/Menu/index.tsx:207
+#: src/components/TagMenu/index.tsx:262
+msgid "Close this dialog"
+msgstr ""
+
+#: src/view/shell/index.web.tsx:58
+msgid "Closes bottom navigation bar"
+msgstr "Alt gezinme çubuğunu kapatır"
+
+#: src/screens/Login/PasswordUpdatedForm.tsx:39
+msgid "Closes password update alert"
+msgstr "Şifre güncelleme uyarısını kapatır"
+
+#: src/view/com/composer/Composer.tsx:319
+msgid "Closes post composer and discards post draft"
+msgstr "Gönderi bestecisini kapatır ve gönderi taslağını siler"
+
+#: src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx:37
+msgid "Closes viewer for header image"
+msgstr "Başlık resmi görüntüleyicisini kapatır"
+
+#: src/view/com/notifications/FeedItem.tsx:323
+msgid "Collapses list of users for a given notification"
+msgstr "Belirli bir bildirim için kullanıcı listesini daraltır"
+
+#: src/screens/Onboarding/index.tsx:41
+msgid "Comedy"
+msgstr "Komedi"
+
+#: src/screens/Onboarding/index.tsx:27
+msgid "Comics"
+msgstr "Çizgi romanlar"
+
+#: src/Navigation.tsx:241
+#: src/view/screens/CommunityGuidelines.tsx:32
+msgid "Community Guidelines"
+msgstr "Topluluk Kuralları"
+
+#: src/screens/Onboarding/StepFinished.tsx:152
+msgid "Complete onboarding and start using your account"
+msgstr "Onboarding'i tamamlayın ve hesabınızı kullanmaya başlayın"
+
+#: src/screens/Signup/index.tsx:155
+msgid "Complete the challenge"
+msgstr ""
+
+#: src/view/com/composer/Composer.tsx:438
+msgid "Compose posts up to {MAX_GRAPHEME_LENGTH} characters in length"
+msgstr "En fazla {MAX_GRAPHEME_LENGTH} karakter uzunluğunda gönderiler oluşturun"
+
+#: src/view/com/composer/Prompt.tsx:24
+msgid "Compose reply"
+msgstr "Yanıt oluştur"
+
+#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:81
+msgid "Configure content filtering setting for category: {0}"
+msgstr "Kategori için içerik filtreleme ayarlarını yapılandır: {0}"
+
+#: src/components/moderation/LabelPreference.tsx:81
+msgid "Configure content filtering setting for category: {name}"
+msgstr ""
+
+#: src/components/moderation/LabelPreference.tsx:244
+msgid "Configured in <0>moderation settings0>."
+msgstr ""
+
+#: src/components/Prompt.tsx:153
+#: src/components/Prompt.tsx:156
+#: src/view/com/modals/SelfLabel.tsx:154
+#: src/view/com/modals/VerifyEmail.tsx:231
+#: src/view/com/modals/VerifyEmail.tsx:233
+#: src/view/screens/PreferencesFollowingFeed.tsx:308
+#: src/view/screens/PreferencesThreads.tsx:159
+msgid "Confirm"
+msgstr "Onayla"
+
+#: src/view/com/modals/Confirm.tsx:NaN
+#~ msgctxt "action"
+#~ msgid "Confirm"
+#~ msgstr "Onayla"
+
+#: src/view/com/modals/ChangeEmail.tsx:193
+#: src/view/com/modals/ChangeEmail.tsx:195
+msgid "Confirm Change"
+msgstr "Değişikliği Onayla"
+
+#: src/view/com/modals/lang-settings/ConfirmLanguagesButton.tsx:35
+msgid "Confirm content language settings"
+msgstr "İçerik dil ayarlarını onayla"
+
+#: src/view/com/modals/DeleteAccount.tsx:219
+msgid "Confirm delete account"
+msgstr "Hesabı silmeyi onayla"
+
+#: src/view/com/modals/ContentFilteringSettings.tsx:151
+#~ msgid "Confirm your age to enable adult content."
+#~ msgstr "Yetişkin içeriği etkinleştirmek için yaşınızı onaylayın."
+
+#: src/screens/Moderation/index.tsx:301
+msgid "Confirm your age:"
+msgstr ""
+
+#: src/screens/Moderation/index.tsx:292
+msgid "Confirm your birthdate"
+msgstr ""
+
+#: src/view/com/modals/ChangeEmail.tsx:157
+#: src/view/com/modals/DeleteAccount.tsx:175
+#: src/view/com/modals/DeleteAccount.tsx:181
+#: src/view/com/modals/VerifyEmail.tsx:165
+msgid "Confirmation code"
+msgstr "Onay kodu"
+
+#: src/view/com/modals/Waitlist.tsx:120
+#~ msgid "Confirms signing up {email} to the waitlist"
+#~ msgstr "{email} adresinin bekleme listesine kaydını onaylar"
+
+#: src/screens/Login/LoginForm.tsx:248
+msgid "Connecting..."
+msgstr "Bağlanıyor..."
+
+#: src/screens/Signup/index.tsx:225
+msgid "Contact support"
+msgstr "Destek ile iletişime geçin"
+
+#: src/components/moderation/LabelsOnMe.tsx:42
+msgid "content"
+msgstr ""
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:18
+msgid "Content Blocked"
+msgstr ""
+
+#: src/view/screens/Moderation.tsx:81
+#~ msgid "Content filtering"
+#~ msgstr "İçerik filtreleme"
+
+#: src/view/com/modals/ContentFilteringSettings.tsx:44
+#~ msgid "Content Filtering"
+#~ msgstr "İçerik Filtreleme"
+
+#: src/screens/Moderation/index.tsx:285
+msgid "Content filters"
+msgstr ""
+
+#: src/view/com/modals/lang-settings/ContentLanguagesSettings.tsx:74
+#: src/view/screens/LanguageSettings.tsx:278
+msgid "Content Languages"
+msgstr "İçerik Dilleri"
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:75
+#: src/lib/moderation/useModerationCauseDescription.ts:75
+msgid "Content Not Available"
+msgstr "İçerik Mevcut Değil"
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:46
+#: src/components/moderation/ScreenHider.tsx:99
+#: src/lib/moderation/useGlobalLabelStrings.ts:22
+#: src/lib/moderation/useModerationCauseDescription.ts:38
+msgid "Content Warning"
+msgstr "İçerik Uyarısı"
+
+#: src/view/com/composer/labels/LabelsBtn.tsx:31
+msgid "Content warnings"
+msgstr "İçerik uyarıları"
+
+#: src/components/Menu/index.web.tsx:84
+msgid "Context menu backdrop, click to close the menu."
+msgstr ""
+
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:161
+#: src/screens/Onboarding/StepFollowingFeed.tsx:154
+#: src/screens/Onboarding/StepInterests/index.tsx:252
+#: src/screens/Onboarding/StepModeration/index.tsx:103
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:118
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:150
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:211
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:96
+msgid "Continue"
+msgstr "Devam et"
+
+#: src/components/AccountList.tsx:108
+msgid "Continue as {0} (currently signed in)"
+msgstr ""
+
+#: src/screens/Onboarding/StepFollowingFeed.tsx:151
+#: src/screens/Onboarding/StepInterests/index.tsx:249
+#: src/screens/Onboarding/StepModeration/index.tsx:100
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:115
+#: src/screens/Signup/index.tsx:200
+msgid "Continue to next step"
+msgstr "Sonraki adıma devam et"
+
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:158
+msgid "Continue to the next step"
+msgstr "Sonraki adıma devam et"
+
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:199
+msgid "Continue to the next step without following any accounts"
+msgstr "Herhangi bir hesabı takip etmeden sonraki adıma devam et"
+
+#: src/screens/Onboarding/index.tsx:44
+msgid "Cooking"
+msgstr "Yemek pişirme"
+
+#: src/view/com/modals/AddAppPasswords.tsx:196
+#: src/view/com/modals/InviteCodes.tsx:183
+msgid "Copied"
+msgstr "Kopyalandı"
+
+#: src/view/screens/Settings/index.tsx:254
+msgid "Copied build version to clipboard"
+msgstr "Sürüm numarası panoya kopyalandı"
+
+#: src/view/com/modals/AddAppPasswords.tsx:77
+#: src/view/com/modals/ChangeHandle.tsx:326
+#: src/view/com/modals/InviteCodes.tsx:153
+#: src/view/com/util/forms/PostDropdownBtn.tsx:164
+msgid "Copied to clipboard"
+msgstr "Panoya kopyalandı"
+
+#: src/components/dialogs/Embed.tsx:134
+msgid "Copied!"
+msgstr ""
+
+#: src/view/com/modals/AddAppPasswords.tsx:190
+msgid "Copies app password"
+msgstr "Uygulama şifresini kopyalar"
+
+#: src/view/com/modals/AddAppPasswords.tsx:189
+msgid "Copy"
+msgstr "Kopyala"
+
+#: src/view/com/modals/ChangeHandle.tsx:480
+msgid "Copy {0}"
+msgstr ""
+
+#: src/components/dialogs/Embed.tsx:120
+#: src/components/dialogs/Embed.tsx:139
+msgid "Copy code"
+msgstr ""
+
+#: src/view/screens/ProfileList.tsx:390
+msgid "Copy link to list"
+msgstr "Liste bağlantısını kopyala"
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:236
+#: src/view/com/util/forms/PostDropdownBtn.tsx:245
+msgid "Copy link to post"
+msgstr "Gönderi bağlantısını kopyala"
+
+#: src/view/com/profile/ProfileHeader.tsx:342
+#~ msgid "Copy link to profile"
+#~ msgstr "Profili bağlantısını kopyala"
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:228
+#: src/view/com/util/forms/PostDropdownBtn.tsx:230
+msgid "Copy post text"
+msgstr "Gönderi metnini kopyala"
+
+#: src/Navigation.tsx:246
+#: src/view/screens/CopyrightPolicy.tsx:29
+msgid "Copyright Policy"
+msgstr "Telif Hakkı Politikası"
+
+#: src/view/screens/ProfileFeed.tsx:103
+msgid "Could not load feed"
+msgstr "Besleme yüklenemedi"
+
+#: src/view/screens/ProfileList.tsx:909
+msgid "Could not load list"
+msgstr "Liste yüklenemedi"
+
+#: src/view/com/auth/create/Step2.tsx:91
+#~ msgid "Country"
+#~ msgstr "Ülke"
+
+#: src/view/com/auth/SplashScreen.tsx:57
+#: src/view/com/auth/SplashScreen.web.tsx:101
+msgid "Create a new account"
+msgstr "Yeni bir hesap oluştur"
+
+#: src/view/screens/Settings/index.tsx:406
+msgid "Create a new Bluesky account"
+msgstr "Yeni bir Bluesky hesabı oluştur"
+
+#: src/screens/Signup/index.tsx:130
+msgid "Create Account"
+msgstr "Hesap Oluştur"
+
+#: src/components/dialogs/Signin.tsx:86
+#: src/components/dialogs/Signin.tsx:88
+msgid "Create an account"
+msgstr ""
+
+#: src/view/com/modals/AddAppPasswords.tsx:227
+msgid "Create App Password"
+msgstr "Uygulama Şifresi Oluştur"
+
+#: src/view/com/auth/SplashScreen.tsx:48
+#: src/view/com/auth/SplashScreen.web.tsx:92
+msgid "Create new account"
+msgstr "Yeni hesap oluştur"
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:94
+msgid "Create report for {0}"
+msgstr ""
+
+#: src/view/screens/AppPasswords.tsx:246
+msgid "Created {0}"
+msgstr "{0} oluşturuldu"
+
+#: src/view/screens/ProfileFeed.tsx:616
+#~ msgid "Created by <0/>"
+#~ msgstr "<0/> tarafından oluşturuldu"
+
+#: src/view/screens/ProfileFeed.tsx:614
+#~ msgid "Created by you"
+#~ msgstr "Siz tarafından oluşturuldu"
+
+#: src/view/com/composer/Composer.tsx:469
+msgid "Creates a card with a thumbnail. The card links to {url}"
+msgstr "Küçük resimli bir kart oluşturur. Kart, {url} bağlantısına gider"
+
+#: src/screens/Onboarding/index.tsx:29
+msgid "Culture"
+msgstr "Kültür"
+
+#: src/view/com/auth/server-input/index.tsx:97
+#: src/view/com/auth/server-input/index.tsx:99
+msgid "Custom"
+msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:388
+msgid "Custom domain"
+msgstr "Özel alan adı"
+
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:107
+#: src/view/screens/Feeds.tsx:717
+msgid "Custom feeds built by the community bring you new experiences and help you find the content you love."
+msgstr "Topluluk tarafından oluşturulan özel beslemeler size yeni deneyimler sunar ve sevdiğiniz içeriği bulmanıza yardımcı olur."
+
+#: src/view/screens/PreferencesExternalEmbeds.tsx:55
+msgid "Customize media from external sites."
+msgstr "Harici sitelerden medyayı özelleştirin."
+
+#: src/view/screens/Settings/index.tsx:455
+#: src/view/screens/Settings/index.tsx:481
+msgid "Dark"
+msgstr "Karanlık"
+
+#: src/view/screens/Debug.tsx:63
+msgid "Dark mode"
+msgstr "Karanlık mod"
+
+#: src/view/screens/Settings/index.tsx:468
+msgid "Dark Theme"
+msgstr "Karanlık Tema"
+
+#: src/screens/Signup/StepInfo/index.tsx:134
+msgid "Date of birth"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:805
+msgid "Debug Moderation"
+msgstr ""
+
+#: src/view/screens/Debug.tsx:83
+msgid "Debug panel"
+msgstr "Hata ayıklama paneli"
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:341
+#: src/view/screens/AppPasswords.tsx:268
+#: src/view/screens/ProfileList.tsx:615
+msgid "Delete"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:760
+msgid "Delete account"
+msgstr "Hesabı sil"
+
+#: src/view/com/modals/DeleteAccount.tsx:86
+msgid "Delete Account"
+msgstr "Hesabı Sil"
+
+#: src/view/screens/AppPasswords.tsx:239
+msgid "Delete app password"
+msgstr "Uygulama şifresini sil"
+
+#: src/view/screens/AppPasswords.tsx:263
+msgid "Delete app password?"
+msgstr ""
+
+#: src/view/screens/ProfileList.tsx:417
+msgid "Delete List"
+msgstr "Listeyi Sil"
+
+#: src/view/com/modals/DeleteAccount.tsx:222
+msgid "Delete my account"
+msgstr "Hesabımı sil"
+
+#: src/view/screens/Settings/index.tsx:772
+msgid "Delete My Account…"
+msgstr "Hesabımı Sil…"
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:322
+#: src/view/com/util/forms/PostDropdownBtn.tsx:324
+msgid "Delete post"
+msgstr "Gönderiyi sil"
+
+#: src/view/screens/ProfileList.tsx:610
+msgid "Delete this list?"
+msgstr ""
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:336
+msgid "Delete this post?"
+msgstr "Bu gönderiyi sil?"
+
+#: src/view/com/util/post-embeds/QuoteEmbed.tsx:67
+msgid "Deleted"
+msgstr "Silindi"
+
+#: src/view/com/post-thread/PostThread.tsx:305
+msgid "Deleted post."
+msgstr "Silinen gönderi."
+
+#: src/view/com/modals/CreateOrEditList.tsx:301
+#: src/view/com/modals/CreateOrEditList.tsx:322
+#: src/view/com/modals/EditProfile.tsx:199
+#: src/view/com/modals/EditProfile.tsx:211
+msgid "Description"
+msgstr "Açıklama"
+
+#: src/view/screens/Settings.tsx:760
+#~ msgid "Developer Tools"
+#~ msgstr "Geliştirici Araçları"
+
+#: src/view/com/composer/Composer.tsx:218
+msgid "Did you want to say anything?"
+msgstr "Bir şey söylemek istediniz mi?"
+
+#: src/view/screens/Settings/index.tsx:474
+msgid "Dim"
+msgstr "Karart"
+
+#: src/view/screens/Settings/index.tsx:697
+msgid "Disable haptics"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:697
+msgid "Disable vibrations"
+msgstr ""
+
+#: src/lib/moderation/useLabelBehaviorDescription.ts:32
+#: src/lib/moderation/useLabelBehaviorDescription.ts:42
+#: src/lib/moderation/useLabelBehaviorDescription.ts:68
+#: src/screens/Moderation/index.tsx:341
+msgid "Disabled"
+msgstr ""
+
+#: src/view/com/composer/Composer.tsx:511
+msgid "Discard"
+msgstr "Sil"
+
+#: src/view/com/composer/Composer.tsx:138
+#~ msgid "Discard draft"
+#~ msgstr "Taslağı sil"
+
+#: src/view/com/composer/Composer.tsx:508
+msgid "Discard draft?"
+msgstr ""
+
+#: src/screens/Moderation/index.tsx:518
+#: src/screens/Moderation/index.tsx:522
+msgid "Discourage apps from showing my account to logged-out users"
+msgstr "Uygulamaların hesabımı oturum açmamış kullanıcılara göstermesini engelle"
+
+#: src/view/com/posts/FollowingEmptyState.tsx:74
+#: src/view/com/posts/FollowingEndOfFeed.tsx:75
+msgid "Discover new custom feeds"
+msgstr "Yeni özel beslemeler keşfet"
+
+#: src/view/screens/Feeds.tsx:441
+#~ msgid "Discover new feeds"
+#~ msgstr "Yeni beslemeler keşfet"
+
+#: src/view/screens/Feeds.tsx:714
+msgid "Discover New Feeds"
+msgstr ""
+
+#: src/view/com/modals/EditProfile.tsx:193
+msgid "Display name"
+msgstr "Görünen ad"
+
+#: src/view/com/modals/EditProfile.tsx:181
+msgid "Display Name"
+msgstr "Görünen Ad"
+
+#: src/view/com/modals/ChangeHandle.tsx:397
+msgid "DNS Panel"
+msgstr ""
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:39
+msgid "Does not include nudity."
+msgstr ""
+
+#: src/screens/Signup/StepHandle.tsx:105
+msgid "Doesn't begin or end with a hyphen"
+msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:481
+msgid "Domain Value"
+msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:488
+msgid "Domain verified!"
+msgstr "Alan adı doğrulandı!"
+
+#: src/view/com/auth/create/Step1.tsx:114
+#~ msgid "Don't have an invite code?"
+#~ msgstr "Davet kodunuz yok mu?"
+
+#: src/components/dialogs/BirthDateSettings.tsx:119
+#: src/components/dialogs/BirthDateSettings.tsx:125
+#: src/components/forms/DateField/index.tsx:74
+#: src/components/forms/DateField/index.tsx:80
+#: src/view/com/auth/server-input/index.tsx:169
+#: src/view/com/auth/server-input/index.tsx:170
+#: src/view/com/modals/AddAppPasswords.tsx:227
+#: src/view/com/modals/AltImage.tsx:140
+#: src/view/com/modals/crop-image/CropImage.web.tsx:153
+#: src/view/com/modals/InviteCodes.tsx:81
+#: src/view/com/modals/InviteCodes.tsx:124
+#: src/view/com/modals/ListAddRemoveUsers.tsx:142
+#: src/view/screens/PreferencesFollowingFeed.tsx:311
+#: src/view/screens/Settings/ExportCarDialog.tsx:94
+#: src/view/screens/Settings/ExportCarDialog.tsx:96
+msgid "Done"
+msgstr "Tamam"
+
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:87
+#: src/view/com/modals/EditImage.tsx:334
+#: src/view/com/modals/ListAddRemoveUsers.tsx:144
+#: src/view/com/modals/SelfLabel.tsx:157
+#: src/view/com/modals/Threadgate.tsx:129
+#: src/view/com/modals/Threadgate.tsx:132
+#: src/view/com/modals/UserAddRemoveLists.tsx:95
+#: src/view/com/modals/UserAddRemoveLists.tsx:98
+#: src/view/screens/PreferencesThreads.tsx:162
+msgctxt "action"
+msgid "Done"
+msgstr "Tamam"
+
+#: src/view/com/modals/lang-settings/ConfirmLanguagesButton.tsx:43
+msgid "Done{extraText}"
+msgstr "Tamam{extraText}"
+
+#: src/view/com/auth/login/ChooseAccountForm.tsx:45
+#~ msgid "Double tap to sign in"
+#~ msgstr "Oturum açmak için çift dokunun"
+
+#: src/view/screens/Settings/ExportCarDialog.tsx:59
+#: src/view/screens/Settings/ExportCarDialog.tsx:63
+msgid "Download CAR file"
+msgstr ""
+
+#: src/view/com/composer/text-input/TextInput.web.tsx:249
+msgid "Drop to add images"
+msgstr "Resim eklemek için bırakın"
+
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:120
+msgid "Due to Apple policies, adult content can only be enabled on the web after completing sign up."
+msgstr "Apple politikaları gereği, yetişkin içeriği yalnızca kaydı tamamladıktan sonra web üzerinde etkinleştirilebilir."
+
+#: src/view/com/modals/ChangeHandle.tsx:258
+msgid "e.g. alice"
+msgstr ""
+
+#: src/view/com/modals/EditProfile.tsx:186
+msgid "e.g. Alice Roberts"
+msgstr "örn: Alice Roberts"
+
+#: src/view/com/modals/ChangeHandle.tsx:380
+msgid "e.g. alice.com"
+msgstr ""
+
+#: src/view/com/modals/EditProfile.tsx:204
+msgid "e.g. Artist, dog-lover, and avid reader."
+msgstr "örn: Sanatçı, köpek sever ve okumayı seven."
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:43
+msgid "E.g. artistic nudes."
+msgstr ""
+
+#: src/view/com/modals/CreateOrEditList.tsx:284
+msgid "e.g. Great Posters"
+msgstr "örn: Harika Göndericiler"
+
+#: src/view/com/modals/CreateOrEditList.tsx:285
+msgid "e.g. Spammers"
+msgstr "örn: Spamcılar"
+
+#: src/view/com/modals/CreateOrEditList.tsx:313
+msgid "e.g. The posters who never miss."
+msgstr "örn: Asla kaçırmayan göndericiler."
+
+#: src/view/com/modals/CreateOrEditList.tsx:314
+msgid "e.g. Users that repeatedly reply with ads."
+msgstr "örn: Reklamlarla tekrar tekrar yanıt veren kullanıcılar."
+
+#: src/view/com/modals/InviteCodes.tsx:97
+msgid "Each code works once. You'll receive more invite codes periodically."
+msgstr "Her kod bir kez çalışır. Düzenli aralıklarla daha fazla davet kodu alacaksınız."
+
+#: src/view/com/lists/ListMembers.tsx:149
+msgctxt "action"
+msgid "Edit"
+msgstr "Düzenle"
+
+#: src/view/com/util/UserAvatar.tsx:301
+#: src/view/com/util/UserBanner.tsx:85
+msgid "Edit avatar"
+msgstr ""
+
+#: src/view/com/composer/photos/Gallery.tsx:144
+#: src/view/com/modals/EditImage.tsx:208
+msgid "Edit image"
+msgstr "Resmi düzenle"
+
+#: src/view/screens/ProfileList.tsx:405
+msgid "Edit list details"
+msgstr "Liste ayrıntılarını düzenle"
+
+#: src/view/com/modals/CreateOrEditList.tsx:251
+msgid "Edit Moderation List"
+msgstr "Düzenleme Listesini Düzenle"
+
+#: src/Navigation.tsx:256
+#: src/view/screens/Feeds.tsx:459
+#: src/view/screens/SavedFeeds.tsx:85
+msgid "Edit My Feeds"
+msgstr "Beslemelerimi Düzenle"
+
+#: src/view/com/modals/EditProfile.tsx:153
+msgid "Edit my profile"
+msgstr "Profilimi düzenle"
+
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:178
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:168
+msgid "Edit profile"
+msgstr "Profil düzenle"
+
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:181
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:171
+msgid "Edit Profile"
+msgstr "Profil Düzenle"
+
+#: src/view/com/home/HomeHeaderLayout.web.tsx:66
+#: src/view/screens/Feeds.tsx:380
+msgid "Edit Saved Feeds"
+msgstr "Kayıtlı Beslemeleri Düzenle"
+
+#: src/view/com/modals/CreateOrEditList.tsx:246
+msgid "Edit User List"
+msgstr "Kullanıcı Listesini Düzenle"
+
+#: src/view/com/modals/EditProfile.tsx:194
+msgid "Edit your display name"
+msgstr "Görünen adınızı düzenleyin"
+
+#: src/view/com/modals/EditProfile.tsx:212
+msgid "Edit your profile description"
+msgstr "Profil açıklamanızı düzenleyin"
+
+#: src/screens/Onboarding/index.tsx:34
+msgid "Education"
+msgstr "Eğitim"
+
+#: src/screens/Signup/StepInfo/index.tsx:80
+#: src/view/com/modals/ChangeEmail.tsx:141
+msgid "Email"
+msgstr "E-posta"
+
+#: src/screens/Login/ForgotPasswordForm.tsx:99
+msgid "Email address"
+msgstr "E-posta adresi"
+
+#: src/view/com/modals/ChangeEmail.tsx:56
+#: src/view/com/modals/ChangeEmail.tsx:88
+msgid "Email updated"
+msgstr "E-posta güncellendi"
+
+#: src/view/com/modals/ChangeEmail.tsx:111
+msgid "Email Updated"
+msgstr "E-posta Güncellendi"
+
+#: src/view/com/modals/VerifyEmail.tsx:78
+msgid "Email verified"
+msgstr "E-posta doğrulandı"
+
+#: src/view/screens/Settings/index.tsx:334
+msgid "Email:"
+msgstr "E-posta:"
+
+#: src/components/dialogs/Embed.tsx:112
+msgid "Embed HTML code"
+msgstr ""
+
+#: src/components/dialogs/Embed.tsx:97
+#: src/view/com/util/forms/PostDropdownBtn.tsx:253
+#: src/view/com/util/forms/PostDropdownBtn.tsx:255
+msgid "Embed post"
+msgstr ""
+
+#: src/components/dialogs/Embed.tsx:101
+msgid "Embed this post in your website. Simply copy the following snippet and paste it into the HTML code of your website."
+msgstr ""
+
+#: src/components/dialogs/EmbedConsent.tsx:101
+msgid "Enable {0} only"
+msgstr "Yalnızca {0} etkinleştir"
+
+#: src/screens/Moderation/index.tsx:329
+msgid "Enable adult content"
+msgstr ""
+
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:94
+msgid "Enable Adult Content"
+msgstr "Yetişkin İçeriği Etkinleştir"
+
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:78
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:79
+msgid "Enable adult content in your feeds"
+msgstr "Beslemelerinizde yetişkin içeriği etkinleştirin"
+
+#: src/components/dialogs/EmbedConsent.tsx:82
+#: src/components/dialogs/EmbedConsent.tsx:89
+msgid "Enable external media"
+msgstr ""
+
+#: src/view/com/modals/EmbedConsent.tsx:97
+#~ msgid "Enable External Media"
+#~ msgstr "Harici Medyayı Etkinleştir"
+
+#: src/view/screens/PreferencesExternalEmbeds.tsx:75
+msgid "Enable media players for"
+msgstr "Medya oynatıcılarını etkinleştir"
+
+#: src/view/screens/PreferencesFollowingFeed.tsx:147
+msgid "Enable this setting to only see replies between people you follow."
+msgstr "Bu ayarı yalnızca takip ettiğiniz kişiler arasındaki yanıtları görmek için etkinleştirin."
+
+#: src/components/dialogs/EmbedConsent.tsx:94
+msgid "Enable this source only"
+msgstr ""
+
+#: src/screens/Moderation/index.tsx:339
+msgid "Enabled"
+msgstr ""
+
+#: src/screens/Profile/Sections/Feed.tsx:100
+msgid "End of feed"
+msgstr "Beslemenin sonu"
+
+#: src/view/com/modals/AddAppPasswords.tsx:167
+msgid "Enter a name for this App Password"
+msgstr "Bu Uygulama Şifresi için bir ad girin"
+
+#: src/screens/Login/SetNewPasswordForm.tsx:139
+msgid "Enter a password"
+msgstr ""
+
+#: src/components/dialogs/MutedWords.tsx:99
+#: src/components/dialogs/MutedWords.tsx:100
+msgid "Enter a word or tag"
+msgstr ""
+
+#: src/view/com/modals/VerifyEmail.tsx:105
+msgid "Enter Confirmation Code"
+msgstr "Onay Kodunu Girin"
+
+#: src/view/com/modals/ChangePassword.tsx:153
+msgid "Enter the code you received to change your password."
+msgstr "Şifrenizi değiştirmek için aldığınız kodu girin."
+
+#: src/view/com/modals/ChangeHandle.tsx:370
+msgid "Enter the domain you want to use"
+msgstr "Kullanmak istediğiniz alan adını girin"
+
+#: src/screens/Login/ForgotPasswordForm.tsx:119
+msgid "Enter the email you used to create your account. We'll send you a \"reset code\" so you can set a new password."
+msgstr "Hesabınızı oluşturmak için kullandığınız e-postayı girin. Size yeni bir şifre belirlemeniz için bir \"sıfırlama kodu\" göndereceğiz."
+
+#: src/components/dialogs/BirthDateSettings.tsx:108
+msgid "Enter your birth date"
+msgstr "Doğum tarihinizi girin"
+
+#: src/view/com/modals/Waitlist.tsx:78
+#~ msgid "Enter your email"
+#~ msgstr "E-posta adresinizi girin"
+
+#: src/screens/Login/ForgotPasswordForm.tsx:105
+#: src/screens/Signup/StepInfo/index.tsx:92
+msgid "Enter your email address"
+msgstr "E-posta adresinizi girin"
+
+#: src/view/com/modals/ChangeEmail.tsx:41
+msgid "Enter your new email above"
+msgstr "Yeni e-postanızı yukarıya girin"
+
+#: src/view/com/modals/ChangeEmail.tsx:117
+msgid "Enter your new email address below."
+msgstr "Yeni e-posta adresinizi aşağıya girin."
+
+#: src/view/com/auth/create/Step2.tsx:188
+#~ msgid "Enter your phone number"
+#~ msgstr "Telefon numaranızı girin"
+
+#: src/screens/Login/index.tsx:101
+msgid "Enter your username and password"
+msgstr "Kullanıcı adınızı ve şifrenizi girin"
+
+#: src/screens/Signup/StepCaptcha/index.tsx:49
+msgid "Error receiving captcha response."
+msgstr ""
+
+#: src/view/screens/Search/Search.tsx:115
+msgid "Error:"
+msgstr "Hata:"
+
+#: src/view/com/modals/Threadgate.tsx:76
+msgid "Everybody"
+msgstr "Herkes"
+
+#: src/lib/moderation/useReportOptions.ts:66
+msgid "Excessive mentions or replies"
+msgstr ""
+
+#: src/view/com/modals/DeleteAccount.tsx:230
+msgid "Exits account deletion process"
+msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:151
+msgid "Exits handle change process"
+msgstr "Kullanıcı adı değişikliği sürecinden çıkar"
+
+#: src/view/com/modals/crop-image/CropImage.web.tsx:136
+msgid "Exits image cropping process"
+msgstr ""
+
+#: src/view/com/lightbox/Lightbox.web.tsx:130
+msgid "Exits image view"
+msgstr "Resim görünümünden çıkar"
+
+#: src/view/com/modals/ListAddRemoveUsers.tsx:88
+#: src/view/shell/desktop/Search.tsx:236
+msgid "Exits inputting search query"
+msgstr "Arama sorgusu girişinden çıkar"
+
+#: src/view/com/modals/Waitlist.tsx:138
+#~ msgid "Exits signing up for waitlist with {email}"
+#~ msgstr "{email} adresiyle bekleme listesine kaydolma işleminden çıkar"
+
+#: src/view/com/lightbox/Lightbox.web.tsx:183
+msgid "Expand alt text"
+msgstr "Alternatif metni genişlet"
+
+#: src/view/com/composer/ComposerReplyTo.tsx:82
+#: src/view/com/composer/ComposerReplyTo.tsx:85
+msgid "Expand or collapse the full post you are replying to"
+msgstr "Yanıt verdiğiniz tam gönderiyi genişletin veya daraltın"
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:47
+msgid "Explicit or potentially disturbing media."
+msgstr ""
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:35
+msgid "Explicit sexual images."
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:741
+msgid "Export my data"
+msgstr ""
+
+#: src/view/screens/Settings/ExportCarDialog.tsx:44
+#: src/view/screens/Settings/index.tsx:752
+msgid "Export My Data"
+msgstr ""
+
+#: src/components/dialogs/EmbedConsent.tsx:55
+#: src/components/dialogs/EmbedConsent.tsx:59
+msgid "External Media"
+msgstr "Harici Medya"
+
+#: src/components/dialogs/EmbedConsent.tsx:71
+#: src/view/screens/PreferencesExternalEmbeds.tsx:66
+msgid "External media may allow websites to collect information about you and your device. No information is sent or requested until you press the \"play\" button."
+msgstr "Harici medya, web sitelerinin siz ve cihazınız hakkında bilgi toplamasına izin verebilir. Bilgi, \"oynat\" düğmesine basana kadar gönderilmez veya istenmez."
+
+#: src/Navigation.tsx:275
+#: src/view/screens/PreferencesExternalEmbeds.tsx:52
+#: src/view/screens/Settings/index.tsx:628
+msgid "External Media Preferences"
+msgstr "Harici Medya Tercihleri"
+
+#: src/view/screens/Settings/index.tsx:619
+msgid "External media settings"
+msgstr "Harici medya ayarları"
+
+#: src/view/com/modals/AddAppPasswords.tsx:116
+#: src/view/com/modals/AddAppPasswords.tsx:120
+msgid "Failed to create app password."
+msgstr "Uygulama şifresi oluşturulamadı."
+
+#: src/view/com/modals/CreateOrEditList.tsx:207
+msgid "Failed to create the list. Check your internet connection and try again."
+msgstr "Liste oluşturulamadı. İnternet bağlantınızı kontrol edin ve tekrar deneyin."
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:131
+msgid "Failed to delete post, please try again"
+msgstr "Gönderi silinemedi, lütfen tekrar deneyin"
+
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:110
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:143
+msgid "Failed to load recommended feeds"
+msgstr "Önerilen beslemeler yüklenemedi"
+
+#: src/view/com/lightbox/Lightbox.tsx:83
+msgid "Failed to save image: {0}"
+msgstr ""
+
+#: src/Navigation.tsx:196
+msgid "Feed"
+msgstr "Besleme"
+
+#: src/view/com/feeds/FeedSourceCard.tsx:218
+msgid "Feed by {0}"
+msgstr "{0} tarafından besleme"
+
+#: src/view/screens/Feeds.tsx:630
+msgid "Feed offline"
+msgstr "Besleme çevrimdışı"
+
+#: src/view/com/feeds/FeedPage.tsx:143
+#~ msgid "Feed Preferences"
+#~ msgstr "Besleme Tercihleri"
+
+#: src/view/shell/desktop/RightNav.tsx:61
+#: src/view/shell/Drawer.tsx:320
+msgid "Feedback"
+msgstr "Geribildirim"
+
+#: src/Navigation.tsx:456
+#: src/view/screens/Feeds.tsx:444
+#: src/view/screens/Feeds.tsx:549
+#: src/view/screens/Profile.tsx:199
+#: src/view/shell/bottom-bar/BottomBar.tsx:192
+#: src/view/shell/desktop/LeftNav.tsx:346
+#: src/view/shell/Drawer.tsx:485
+#: src/view/shell/Drawer.tsx:486
+msgid "Feeds"
+msgstr "Beslemeler"
+
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:58
+msgid "Feeds are created by users to curate content. Choose some feeds that you find interesting."
+msgstr "Beslemeler, içerikleri düzenlemek için kullanıcılar tarafından oluşturulur. İlginizi çeken bazı beslemeler seçin."
+
+#: src/view/screens/SavedFeeds.tsx:157
+msgid "Feeds are custom algorithms that users build with a little coding expertise. <0/> for more information."
+msgstr "Beslemeler, kullanıcıların biraz kodlama uzmanlığı ile oluşturduğu özel algoritmalardır. Daha fazla bilgi için <0/>."
+
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:80
+msgid "Feeds can be topical as well!"
+msgstr "Beslemeler aynı zamanda konusal olabilir!"
+
+#: src/view/com/modals/ChangeHandle.tsx:481
+msgid "File Contents"
+msgstr ""
+
+#: src/lib/moderation/useLabelBehaviorDescription.ts:66
+msgid "Filter from feeds"
+msgstr ""
+
+#: src/screens/Onboarding/StepFinished.tsx:155
+msgid "Finalizing"
+msgstr "Tamamlanıyor"
+
+#: src/view/com/posts/CustomFeedEmptyState.tsx:47
+#: src/view/com/posts/FollowingEmptyState.tsx:57
+#: src/view/com/posts/FollowingEndOfFeed.tsx:58
+msgid "Find accounts to follow"
+msgstr "Takip edilecek hesaplar bul"
+
+#: src/view/screens/Search/Search.tsx:589
+msgid "Find users on Bluesky"
+msgstr "Bluesky'da kullanıcı bul"
+
+#: src/view/screens/Search/Search.tsx:587
+msgid "Find users with the search tool on the right"
+msgstr "Sağdaki arama aracıyla kullanıcı bul"
+
+#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:155
+msgid "Finding similar accounts..."
+msgstr "Benzer hesaplar bulunuyor..."
+
+#: src/view/screens/PreferencesFollowingFeed.tsx:111
+msgid "Fine-tune the content you see on your Following feed."
+msgstr ""
+
+#: src/view/screens/PreferencesHomeFeed.tsx:111
+#~ msgid "Fine-tune the content you see on your home screen."
+#~ msgstr "Ana ekranınızda gördüğünüz içeriği ayarlayın."
+
+#: src/view/screens/PreferencesThreads.tsx:60
+msgid "Fine-tune the discussion threads."
+msgstr "Tartışma konularını ayarlayın."
+
+#: src/screens/Onboarding/index.tsx:38
+msgid "Fitness"
+msgstr "Fitness"
+
+#: src/screens/Onboarding/StepFinished.tsx:135
+msgid "Flexible"
+msgstr "Esnek"
+
+#: src/view/com/modals/EditImage.tsx:116
+msgid "Flip horizontal"
+msgstr "Yatay çevir"
+
+#: src/view/com/modals/EditImage.tsx:121
+#: src/view/com/modals/EditImage.tsx:288
+msgid "Flip vertically"
+msgstr "Dikey çevir"
+
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:189
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:235
+#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:141
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:146
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:248
+msgid "Follow"
+msgstr "Takip et"
+
+#: src/view/com/profile/FollowButton.tsx:69
+msgctxt "action"
+msgid "Follow"
+msgstr "Takip et"
+
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:58
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:221
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:128
+msgid "Follow {0}"
+msgstr "{0} takip et"
+
+#: src/view/com/profile/ProfileMenu.tsx:242
+#: src/view/com/profile/ProfileMenu.tsx:253
+msgid "Follow Account"
+msgstr ""
+
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:187
+msgid "Follow All"
+msgstr "Hepsini Takip Et"
+
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:144
+msgid "Follow Back"
+msgstr ""
+
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:182
+msgid "Follow selected accounts and continue to the next step"
+msgstr "Seçili hesapları takip edin ve sonraki adıma devam edin"
+
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:65
+msgid "Follow some users to get started. We can recommend you more users based on who you find interesting."
+msgstr "Başlamak için bazı kullanıcıları takip edin. Sizi ilginç bulduğunuz kişilere dayanarak size daha fazla kullanıcı önerebiliriz."
+
+#: src/view/com/profile/ProfileCard.tsx:219
+msgid "Followed by {0}"
+msgstr "{0} tarafından takip ediliyor"
+
+#: src/view/com/modals/Threadgate.tsx:98
+msgid "Followed users"
+msgstr "Takip edilen kullanıcılar"
+
+#: src/view/screens/PreferencesFollowingFeed.tsx:154
+msgid "Followed users only"
+msgstr "Yalnızca takip edilen kullanıcılar"
+
+#: src/view/com/notifications/FeedItem.tsx:172
+msgid "followed you"
+msgstr "sizi takip etti"
+
+#: src/view/com/profile/ProfileFollowers.tsx:104
+#: src/view/screens/ProfileFollowers.tsx:25
+msgid "Followers"
+msgstr "Takipçiler"
+
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:233
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:149
+#: src/view/com/profile/ProfileFollows.tsx:104
+#: src/view/screens/ProfileFollows.tsx:25
+msgid "Following"
+msgstr "Takip edilenler"
+
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:93
+msgid "Following {0}"
+msgstr "{0} takip ediliyor"
+
+#: src/view/screens/Settings/index.tsx:504
+msgid "Following feed preferences"
+msgstr ""
+
+#: src/Navigation.tsx:262
+#: src/view/com/home/HomeHeaderLayout.web.tsx:54
+#: src/view/com/home/HomeHeaderLayoutMobile.tsx:87
+#: src/view/screens/PreferencesFollowingFeed.tsx:104
+#: src/view/screens/Settings/index.tsx:513
+msgid "Following Feed Preferences"
+msgstr ""
+
+#: src/screens/Profile/Header/Handle.tsx:24
+msgid "Follows you"
+msgstr "Sizi takip ediyor"
+
+#: src/view/com/profile/ProfileCard.tsx:144
+msgid "Follows You"
+msgstr "Sizi Takip Ediyor"
+
+#: src/screens/Onboarding/index.tsx:43
+msgid "Food"
+msgstr "Yiyecek"
+
+#: src/view/com/modals/DeleteAccount.tsx:110
+msgid "For security reasons, we'll need to send a confirmation code to your email address."
+msgstr "Güvenlik nedeniyle, e-posta adresinize bir onay kodu göndermemiz gerekecek."
+
+#: src/view/com/modals/AddAppPasswords.tsx:210
+msgid "For security reasons, you won't be able to view this again. If you lose this password, you'll need to generate a new one."
+msgstr "Güvenlik nedeniyle, bunu tekrar göremezsiniz. Bu şifreyi kaybederseniz, yeni bir tane oluşturmanız gerekecek."
+
+#: src/view/com/auth/login/LoginForm.tsx:238
+#~ msgid "Forgot"
+#~ msgstr "Unuttum"
+
+#: src/view/com/auth/login/LoginForm.tsx:235
+#~ msgid "Forgot password"
+#~ msgstr "Şifremi unuttum"
+
+#: src/screens/Login/index.tsx:129
+#: src/screens/Login/index.tsx:144
+msgid "Forgot Password"
+msgstr "Şifremi Unuttum"
+
+#: src/screens/Login/LoginForm.tsx:201
+msgid "Forgot password?"
+msgstr ""
+
+#: src/screens/Login/LoginForm.tsx:212
+msgid "Forgot?"
+msgstr ""
+
+#: src/lib/moderation/useReportOptions.ts:52
+msgid "Frequently Posts Unwanted Content"
+msgstr ""
+
+#: src/screens/Hashtag.tsx:109
+#: src/screens/Hashtag.tsx:149
+msgid "From @{sanitizedAuthor}"
+msgstr ""
+
+#: src/view/com/posts/FeedItem.tsx:181
+msgctxt "from-feed"
+msgid "From <0/>"
+msgstr "<0/> tarafından"
+
+#: src/view/com/composer/photos/SelectPhotoBtn.tsx:43
+msgid "Gallery"
+msgstr "Galeri"
+
+#: src/view/com/modals/VerifyEmail.tsx:189
+#: src/view/com/modals/VerifyEmail.tsx:191
+msgid "Get Started"
+msgstr "Başlayın"
+
+#: src/lib/moderation/useReportOptions.ts:37
+msgid "Glaring violations of law or terms of service"
+msgstr ""
+
+#: src/components/moderation/ScreenHider.tsx:151
+#: src/components/moderation/ScreenHider.tsx:160
+#: src/view/com/auth/LoggedOut.tsx:82
+#: src/view/com/auth/LoggedOut.tsx:83
+#: src/view/screens/NotFound.tsx:55
+#: src/view/screens/ProfileFeed.tsx:112
+#: src/view/screens/ProfileList.tsx:918
+#: src/view/shell/desktop/LeftNav.tsx:108
+msgid "Go back"
+msgstr "Geri git"
+
+#: src/components/Error.tsx:91
+#: src/screens/Profile/ErrorState.tsx:62
+#: src/screens/Profile/ErrorState.tsx:66
+#: src/view/screens/NotFound.tsx:54
+#: src/view/screens/ProfileFeed.tsx:117
+#: src/view/screens/ProfileList.tsx:923
+msgid "Go Back"
+msgstr "Geri Git"
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:73
+#: src/components/ReportDialog/SubmitView.tsx:102
+#: src/screens/Onboarding/Layout.tsx:102
+#: src/screens/Onboarding/Layout.tsx:191
+#: src/screens/Signup/index.tsx:174
+msgid "Go back to previous step"
+msgstr "Önceki adıma geri dön"
+
+#: src/view/screens/NotFound.tsx:55
+msgid "Go home"
+msgstr ""
+
+#: src/view/screens/NotFound.tsx:54
+msgid "Go Home"
+msgstr ""
+
+#: src/view/screens/Search/Search.tsx:896
+#: src/view/shell/desktop/Search.tsx:263
+msgid "Go to @{queryMaybeHandle}"
+msgstr "@{queryMaybeHandle} adresine git"
+
+#: src/screens/Login/ForgotPasswordForm.tsx:172
+#: src/view/com/modals/ChangePassword.tsx:167
+msgid "Go to next"
+msgstr "Sonrakine git"
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:46
+msgid "Graphic Media"
+msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:266
+msgid "Handle"
+msgstr "Kullanıcı adı"
+
+#: src/lib/moderation/useReportOptions.ts:32
+msgid "Harassment, trolling, or intolerance"
+msgstr ""
+
+#: src/Navigation.tsx:282
+msgid "Hashtag"
+msgstr ""
+
+#: src/components/RichText.tsx:197
+msgid "Hashtag: #{tag}"
+msgstr ""
+
+#: src/screens/Signup/index.tsx:221
+msgid "Having trouble?"
+msgstr "Sorun mu yaşıyorsunuz?"
+
+#: src/view/shell/desktop/RightNav.tsx:90
+#: src/view/shell/Drawer.tsx:330
+msgid "Help"
+msgstr "Yardım"
+
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:140
+msgid "Here are some accounts for you to follow"
+msgstr "Takip etmeniz için size bazı hesaplar"
+
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:89
+msgid "Here are some popular topical feeds. You can choose to follow as many as you like."
+msgstr "İşte bazı popüler konusal beslemeler. İstediğiniz kadar takip etmeyi seçebilirsiniz."
+
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:84
+msgid "Here are some topical feeds based on your interests: {interestsText}. You can choose to follow as many as you like."
+msgstr "İlgi alanlarınıza dayalı olarak bazı konusal beslemeler: {interestsText}. İstediğiniz kadar takip etmeyi seçebilirsiniz."
+
+#: src/view/com/modals/AddAppPasswords.tsx:154
+msgid "Here is your app password."
+msgstr "İşte uygulama şifreniz."
+
+#: src/components/moderation/ContentHider.tsx:115
+#: src/components/moderation/LabelPreference.tsx:134
+#: src/components/moderation/PostHider.tsx:107
+#: src/lib/moderation/useLabelBehaviorDescription.ts:15
+#: src/lib/moderation/useLabelBehaviorDescription.ts:20
+#: src/lib/moderation/useLabelBehaviorDescription.ts:25
+#: src/lib/moderation/useLabelBehaviorDescription.ts:30
+#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:52
+#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:76
+#: src/view/com/util/forms/PostDropdownBtn.tsx:350
+msgid "Hide"
+msgstr "Gizle"
+
+#: src/view/com/notifications/FeedItem.tsx:331
+msgctxt "action"
+msgid "Hide"
+msgstr "Gizle"
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:294
+#: src/view/com/util/forms/PostDropdownBtn.tsx:296
+msgid "Hide post"
+msgstr "Gönderiyi gizle"
+
+#: src/components/moderation/ContentHider.tsx:67
+#: src/components/moderation/PostHider.tsx:64
+msgid "Hide the content"
+msgstr "İçeriği gizle"
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:347
+msgid "Hide this post?"
+msgstr "Bu gönderiyi gizle?"
+
+#: src/view/com/notifications/FeedItem.tsx:321
+msgid "Hide user list"
+msgstr "Kullanıcı listesini gizle"
+
+#: src/view/com/profile/ProfileHeader.tsx:526
+#~ msgid "Hides posts from {0} in your feed"
+#~ msgstr "Beslemenizdeki {0} gönderilerini gizler"
+
+#: src/view/com/posts/FeedErrorMessage.tsx:111
+msgid "Hmm, some kind of issue occurred when contacting the feed server. Please let the feed owner know about this issue."
+msgstr "Hmm, besleme sunucusuna ulaşırken bir tür sorun oluştu. Lütfen bu konuda besleme sahibini bilgilendirin."
+
+#: src/view/com/posts/FeedErrorMessage.tsx:99
+msgid "Hmm, the feed server appears to be misconfigured. Please let the feed owner know about this issue."
+msgstr "Hmm, besleme sunucusunun yanlış yapılandırılmış görünüyor. Lütfen bu konuda besleme sahibini bilgilendirin."
+
+#: src/view/com/posts/FeedErrorMessage.tsx:105
+msgid "Hmm, the feed server appears to be offline. Please let the feed owner know about this issue."
+msgstr "Hmm, besleme sunucusunun çevrimdışı görünüyor. Lütfen bu konuda besleme sahibini bilgilendirin."
+
+#: src/view/com/posts/FeedErrorMessage.tsx:102
+msgid "Hmm, the feed server gave a bad response. Please let the feed owner know about this issue."
+msgstr "Hmm, besleme sunucusu kötü bir yanıt verdi. Lütfen bu konuda besleme sahibini bilgilendirin."
+
+#: src/view/com/posts/FeedErrorMessage.tsx:96
+msgid "Hmm, we're having trouble finding this feed. It may have been deleted."
+msgstr "Hmm, bu beslemeyi bulmakta sorun yaşıyoruz. Silinmiş olabilir."
+
+#: src/screens/Moderation/index.tsx:59
+msgid "Hmmmm, it seems we're having trouble loading this data. See below for more details. If this issue persists, please contact us."
+msgstr ""
+
+#: src/screens/Profile/ErrorState.tsx:31
+msgid "Hmmmm, we couldn't load that moderation service."
+msgstr ""
+
+#: src/Navigation.tsx:446
+#: src/view/shell/bottom-bar/BottomBar.tsx:148
+#: src/view/shell/desktop/LeftNav.tsx:310
+#: src/view/shell/Drawer.tsx:407
+#: src/view/shell/Drawer.tsx:408
+msgid "Home"
+msgstr "Ana Sayfa"
+
+#: src/Navigation.tsx:NaN
+#: src/view/screens/PreferencesHomeFeed.tsx:104
+#: src/view/screens/Settings.tsx:537
+#~ msgid "Home Feed Preferences"
+#~ msgstr "Ana Sayfa Besleme Tercihleri"
+
+#: src/view/com/modals/ChangeHandle.tsx:420
+msgid "Host:"
+msgstr ""
+
+#: src/screens/Login/ForgotPasswordForm.tsx:89
+#: src/screens/Login/LoginForm.tsx:134
+#: src/screens/Signup/StepInfo/index.tsx:40
+#: src/view/com/modals/ChangeHandle.tsx:281
+msgid "Hosting provider"
+msgstr "Barındırma sağlayıcısı"
+
+#: src/view/com/modals/InAppBrowserConsent.tsx:44
+msgid "How should we open this link?"
+msgstr "Bu bağlantıyı nasıl açmalıyız?"
+
+#: src/view/com/modals/VerifyEmail.tsx:214
+msgid "I have a code"
+msgstr "Bir kodum var"
+
+#: src/view/com/modals/VerifyEmail.tsx:216
+msgid "I have a confirmation code"
+msgstr "Bir onay kodum var"
+
+#: src/view/com/modals/ChangeHandle.tsx:284
+msgid "I have my own domain"
+msgstr "Kendi alan adım var"
+
+#: src/view/com/lightbox/Lightbox.web.tsx:185
+msgid "If alt text is long, toggles alt text expanded state"
+msgstr "Alternatif metin uzunsa, alternatif metin genişletme durumunu değiştirir"
+
+#: src/view/com/modals/SelfLabel.tsx:127
+msgid "If none are selected, suitable for all ages."
+msgstr "Hiçbiri seçilmezse, tüm yaşlar için uygun."
+
+#: src/screens/Signup/StepInfo/Policies.tsx:83
+msgid "If you are not yet an adult according to the laws of your country, your parent or legal guardian must read these Terms on your behalf."
+msgstr ""
+
+#: src/view/screens/ProfileList.tsx:612
+msgid "If you delete this list, you won't be able to recover it."
+msgstr ""
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:338
+msgid "If you remove this post, you won't be able to recover it."
+msgstr ""
+
+#: src/view/com/modals/ChangePassword.tsx:148
+msgid "If you want to change your password, we will send you a code to verify that this is your account."
+msgstr "Şifrenizi değiştirmek istiyorsanız, size hesabınızın sizin olduğunu doğrulamak için bir kod göndereceğiz."
+
+#: src/lib/moderation/useReportOptions.ts:36
+msgid "Illegal and Urgent"
+msgstr ""
+
+#: src/view/com/util/images/Gallery.tsx:38
+msgid "Image"
+msgstr "Resim"
+
+#: src/view/com/modals/AltImage.tsx:121
+msgid "Image alt text"
+msgstr "Resim alternatif metni"
+
+#: src/view/com/util/UserAvatar.tsx:NaN
+#~ msgid "Image options"
+#~ msgstr "Resim seçenekleri"
+
+#: src/lib/moderation/useReportOptions.ts:47
+msgid "Impersonation or false claims about identity or affiliation"
+msgstr ""
+
+#: src/screens/Login/SetNewPasswordForm.tsx:127
+msgid "Input code sent to your email for password reset"
+msgstr "Şifre sıfırlama için e-postanıza gönderilen kodu girin"
+
+#: src/view/com/modals/DeleteAccount.tsx:183
+msgid "Input confirmation code for account deletion"
+msgstr "Hesap silme için onay kodunu girin"
+
+#: src/view/com/auth/create/Step1.tsx:144
+#~ msgid "Input email for Bluesky account"
+#~ msgstr "Bluesky hesabı için e-posta girin"
+
+#: src/view/com/auth/create/Step1.tsx:102
+#~ msgid "Input invite code to proceed"
+#~ msgstr "Devam etmek için davet kodunu girin"
+
+#: src/view/com/modals/AddAppPasswords.tsx:181
+msgid "Input name for app password"
+msgstr "Uygulama şifresi için ad girin"
+
+#: src/screens/Login/SetNewPasswordForm.tsx:151
+msgid "Input new password"
+msgstr "Yeni şifre girin"
+
+#: src/view/com/modals/DeleteAccount.tsx:202
+msgid "Input password for account deletion"
+msgstr "Hesap silme için şifre girin"
+
+#: src/view/com/auth/create/Step2.tsx:196
+#~ msgid "Input phone number for SMS verification"
+#~ msgstr "SMS doğrulaması için telefon numarası girin"
+
+#: src/screens/Login/LoginForm.tsx:195
+msgid "Input the password tied to {identifier}"
+msgstr "{identifier} ile ilişkili şifreyi girin"
+
+#: src/screens/Login/LoginForm.tsx:168
+msgid "Input the username or email address you used at signup"
+msgstr "Kaydolurken kullandığınız kullanıcı adını veya e-posta adresini girin"
+
+#: src/view/com/auth/create/Step2.tsx:271
+#~ msgid "Input the verification code we have texted to you"
+#~ msgstr "Size mesaj attığımız doğrulama kodunu girin"
+
+#: src/view/com/modals/Waitlist.tsx:90
+#~ msgid "Input your email to get on the Bluesky waitlist"
+#~ msgstr "Bluesky bekleme listesine girmek için e-postanızı girin"
+
+#: src/screens/Login/LoginForm.tsx:194
+msgid "Input your password"
+msgstr "Şifrenizi girin"
+
+#: src/view/com/modals/ChangeHandle.tsx:389
+msgid "Input your preferred hosting provider"
+msgstr ""
+
+#: src/screens/Signup/StepHandle.tsx:63
+msgid "Input your user handle"
+msgstr "Kullanıcı adınızı girin"
+
+#: src/view/com/post-thread/PostThreadItem.tsx:221
+msgid "Invalid or unsupported post record"
+msgstr "Geçersiz veya desteklenmeyen gönderi kaydı"
+
+#: src/screens/Login/LoginForm.tsx:114
+msgid "Invalid username or password"
+msgstr "Geçersiz kullanıcı adı veya şifre"
+
+#: src/view/screens/Settings.tsx:411
+#~ msgid "Invite"
+#~ msgstr "Davet et"
+
+#: src/view/com/modals/InviteCodes.tsx:94
+msgid "Invite a Friend"
+msgstr "Arkadaşını Davet Et"
+
+#: src/screens/Signup/StepInfo/index.tsx:58
+msgid "Invite code"
+msgstr "Davet kodu"
+
+#: src/screens/Signup/state.ts:278
+msgid "Invite code not accepted. Check that you input it correctly and try again."
+msgstr "Davet kodu kabul edilmedi. Doğru girdiğinizden emin olun ve tekrar deneyin."
+
+#: src/view/com/modals/InviteCodes.tsx:171
+msgid "Invite codes: {0} available"
+msgstr "Davet kodları: {0} kullanılabilir"
+
+#: src/view/shell/Drawer.tsx:645
+#~ msgid "Invite codes: {invitesAvailable} available"
+#~ msgstr "Davet kodları: {invitesAvailable} kullanılabilir"
+
+#: src/view/com/modals/InviteCodes.tsx:170
+msgid "Invite codes: 1 available"
+msgstr "Davet kodları: 1 kullanılabilir"
+
+#: src/screens/Onboarding/StepFollowingFeed.tsx:65
+msgid "It shows posts from the people you follow as they happen."
+msgstr "Takip ettiğiniz kişilerin gönderilerini olduğu gibi gösterir."
+
+#: src/view/com/auth/SplashScreen.web.tsx:152
+msgid "Jobs"
+msgstr "İşler"
+
+#: src/view/com/modals/Waitlist.tsx:67
+#~ msgid "Join the waitlist"
+#~ msgstr "Bekleme listesine katıl"
+
+#: src/view/com/auth/create/Step1.tsx:118
+#: src/view/com/auth/create/Step1.tsx:122
+#~ msgid "Join the waitlist."
+#~ msgstr "Bekleme listesine katıl."
+
+#: src/view/com/modals/Waitlist.tsx:128
+#~ msgid "Join Waitlist"
+#~ msgstr "Bekleme Listesine Katıl"
+
+#: src/screens/Onboarding/index.tsx:24
+msgid "Journalism"
+msgstr "Gazetecilik"
+
+#: src/components/moderation/LabelsOnMe.tsx:59
+msgid "label has been placed on this {labelTarget}"
+msgstr ""
+
+#: src/components/moderation/ContentHider.tsx:144
+msgid "Labeled by {0}."
+msgstr ""
+
+#: src/components/moderation/ContentHider.tsx:142
+msgid "Labeled by the author."
+msgstr ""
+
+#: src/view/screens/Profile.tsx:193
+msgid "Labels"
+msgstr ""
+
+#: src/screens/Profile/Sections/Labels.tsx:153
+msgid "Labels are annotations on users and content. They can be used to hide, warn, and categorize the network."
+msgstr ""
+
+#: src/components/moderation/LabelsOnMe.tsx:61
+msgid "labels have been placed on this {labelTarget}"
+msgstr ""
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:62
+msgid "Labels on your account"
+msgstr ""
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:64
+msgid "Labels on your content"
+msgstr ""
+
+#: src/view/com/composer/select-language/SelectLangBtn.tsx:104
+msgid "Language selection"
+msgstr "Dil seçimi"
+
+#: src/view/screens/Settings/index.tsx:565
+msgid "Language settings"
+msgstr "Dil ayarları"
+
+#: src/Navigation.tsx:144
+#: src/view/screens/LanguageSettings.tsx:89
+msgid "Language Settings"
+msgstr "Dil Ayarları"
+
+#: src/view/screens/Settings/index.tsx:574
+msgid "Languages"
+msgstr "Diller"
+
+#: src/view/com/auth/create/StepHeader.tsx:20
+#~ msgid "Last step!"
+#~ msgstr "Son adım!"
+
+#: src/view/screens/Search/Search.tsx:437
+msgid "Latest"
+msgstr ""
+
+#: src/view/com/util/moderation/ContentHider.tsx:103
+#~ msgid "Learn more"
+#~ msgstr "Daha fazla bilgi edinin"
+
+#: src/components/moderation/ScreenHider.tsx:136
+msgid "Learn More"
+msgstr "Daha Fazla Bilgi Edinin"
+
+#: src/components/moderation/ContentHider.tsx:65
+#: src/components/moderation/ContentHider.tsx:128
+msgid "Learn more about the moderation applied to this content."
+msgstr ""
+
+#: src/components/moderation/PostHider.tsx:85
+#: src/components/moderation/ScreenHider.tsx:125
+msgid "Learn more about this warning"
+msgstr "Bu uyarı hakkında daha fazla bilgi edinin"
+
+#: src/screens/Moderation/index.tsx:549
+msgid "Learn more about what is public on Bluesky."
+msgstr "Bluesky'da neyin herkese açık olduğu hakkında daha fazla bilgi edinin."
+
+#: src/components/moderation/ContentHider.tsx:152
+msgid "Learn more."
+msgstr ""
+
+#: src/view/com/modals/lang-settings/ContentLanguagesSettings.tsx:82
+msgid "Leave them all unchecked to see any language."
+msgstr "Hepsini işaretlemeyin, herhangi bir dil görmek için."
+
+#: src/view/com/modals/LinkWarning.tsx:65
+msgid "Leaving Bluesky"
+msgstr "Bluesky'dan ayrılıyor"
+
+#: src/screens/Deactivated.tsx:128
+msgid "left to go."
+msgstr "kaldı."
+
+#: src/view/screens/Settings/index.tsx:299
+msgid "Legacy storage cleared, you need to restart the app now."
+msgstr "Eski depolama temizlendi, şimdi uygulamayı yeniden başlatmanız gerekiyor."
+
+#: src/screens/Login/index.tsx:130
+#: src/screens/Login/index.tsx:145
+msgid "Let's get your password reset!"
+msgstr "Şifrenizi sıfırlamaya başlayalım!"
+
+#: src/screens/Onboarding/StepFinished.tsx:155
+msgid "Let's go!"
+msgstr "Hadi gidelim!"
+
+#: src/view/com/util/UserAvatar.tsx:NaN
+#~ msgid "Library"
+#~ msgstr "Kütüphane"
+
+#: src/view/screens/Settings/index.tsx:449
+msgid "Light"
+msgstr "Açık"
+
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:197
+msgid "Like"
+msgstr "Beğen"
+
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:264
+#: src/view/screens/ProfileFeed.tsx:585
+msgid "Like this feed"
+msgstr "Bu beslemeyi beğen"
+
+#: src/components/LikesDialog.tsx:87
+#: src/Navigation.tsx:201
+#: src/Navigation.tsx:206
+msgid "Liked by"
+msgstr "Beğenenler"
+
+#: src/screens/Profile/ProfileLabelerLikedBy.tsx:29
+#: src/view/screens/PostLikedBy.tsx:27
+#: src/view/screens/ProfileFeedLikedBy.tsx:27
+msgid "Liked By"
+msgstr "Beğenenler"
+
+#: src/view/com/feeds/FeedSourceCard.tsx:268
+msgid "Liked by {0} {1}"
+msgstr "{0} {1} tarafından beğenildi"
+
+#: src/components/LabelingServiceCard/index.tsx:72
+msgid "Liked by {count} {0}"
+msgstr ""
+
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:284
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:298
+#: src/view/screens/ProfileFeed.tsx:600
+msgid "Liked by {likeCount} {0}"
+msgstr "{likeCount} {0} tarafından beğenildi"
+
+#: src/view/com/notifications/FeedItem.tsx:176
+msgid "liked your custom feed"
+msgstr "özel beslemenizi beğendi"
+
+#: src/view/com/notifications/FeedItem.tsx:161
+msgid "liked your post"
+msgstr "gönderinizi beğendi"
+
+#: src/view/screens/Profile.tsx:198
+msgid "Likes"
+msgstr "Beğeniler"
+
+#: src/view/com/post-thread/PostThreadItem.tsx:182
+msgid "Likes on this post"
+msgstr "Bu gönderideki beğeniler"
+
+#: src/Navigation.tsx:170
+msgid "List"
+msgstr "Liste"
+
+#: src/view/com/modals/CreateOrEditList.tsx:262
+msgid "List Avatar"
+msgstr "Liste Avatarı"
+
+#: src/view/screens/ProfileList.tsx:313
+msgid "List blocked"
+msgstr "Liste engellendi"
+
+#: src/view/com/feeds/FeedSourceCard.tsx:220
+msgid "List by {0}"
+msgstr "{0} tarafından liste"
+
+#: src/view/screens/ProfileList.tsx:357
+msgid "List deleted"
+msgstr "Liste silindi"
+
+#: src/view/screens/ProfileList.tsx:285
+msgid "List muted"
+msgstr "Liste sessize alındı"
+
+#: src/view/com/modals/CreateOrEditList.tsx:276
+msgid "List Name"
+msgstr "Liste Adı"
+
+#: src/view/screens/ProfileList.tsx:327
+msgid "List unblocked"
+msgstr "Liste engeli kaldırıldı"
+
+#: src/view/screens/ProfileList.tsx:299
+msgid "List unmuted"
+msgstr "Liste sessizden çıkarıldı"
+
+#: src/Navigation.tsx:114
+#: src/view/screens/Profile.tsx:194
+#: src/view/screens/Profile.tsx:200
+#: src/view/shell/desktop/LeftNav.tsx:383
+#: src/view/shell/Drawer.tsx:501
+#: src/view/shell/Drawer.tsx:502
+msgid "Lists"
+msgstr "Listeler"
+
+#: src/view/com/post-thread/PostThread.tsx:281
+#: src/view/com/post-thread/PostThread.tsx:289
+#~ msgid "Load more posts"
+#~ msgstr "Daha fazla gönderi yükle"
+
+#: src/view/screens/Notifications.tsx:159
+msgid "Load new notifications"
+msgstr "Yeni bildirimleri yükle"
+
+#: src/screens/Profile/Sections/Feed.tsx:86
+#: src/view/com/feeds/FeedPage.tsx:138
+#: src/view/screens/ProfileFeed.tsx:507
+#: src/view/screens/ProfileList.tsx:697
+msgid "Load new posts"
+msgstr "Yeni gönderileri yükle"
+
+#: src/view/com/composer/text-input/mobile/Autocomplete.tsx:99
+msgid "Loading..."
+msgstr "Yükleniyor..."
+
+#: src/view/com/modals/ServerInput.tsx:50
+#~ msgid "Local dev server"
+#~ msgstr "Yerel geliştirme sunucusu"
+
+#: src/Navigation.tsx:221
+msgid "Log"
+msgstr "Log"
+
+#: src/screens/Deactivated.tsx:149
+#: src/screens/Deactivated.tsx:152
+#: src/screens/Deactivated.tsx:178
+#: src/screens/Deactivated.tsx:181
+msgid "Log out"
+msgstr "Çıkış yap"
+
+#: src/screens/Moderation/index.tsx:442
+msgid "Logged-out visibility"
+msgstr "Çıkış yapan görünürlüğü"
+
+#: src/components/AccountList.tsx:54
+msgid "Login to account that is not listed"
+msgstr "Listelenmeyen hesaba giriş yap"
+
+#: src/screens/Login/SetNewPasswordForm.tsx:116
+msgid "Looks like XXXXX-XXXXX"
+msgstr ""
+
+#: src/view/com/modals/LinkWarning.tsx:79
+msgid "Make sure this is where you intend to go!"
+msgstr "Bu gitmek istediğiniz yer olduğundan emin olun!"
+
+#: src/components/dialogs/MutedWords.tsx:82
+msgid "Manage your muted words and tags"
+msgstr ""
+
+#: src/view/screens/Profile.tsx:197
+msgid "Media"
+msgstr "Medya"
+
+#: src/view/com/threadgate/WhoCanReply.tsx:139
+msgid "mentioned users"
+msgstr "bahsedilen kullanıcılar"
+
+#: src/view/com/modals/Threadgate.tsx:93
+msgid "Mentioned users"
+msgstr "Bahsedilen kullanıcılar"
+
+#: src/view/com/util/ViewHeader.tsx:87
+#: src/view/screens/Search/Search.tsx:795
+msgid "Menu"
+msgstr "Menü"
+
+#: src/view/com/posts/FeedErrorMessage.tsx:192
+msgid "Message from server: {0}"
+msgstr "Sunucudan mesaj: {0}"
+
+#: src/lib/moderation/useReportOptions.ts:45
+msgid "Misleading Account"
+msgstr ""
+
+#: src/Navigation.tsx:119
+#: src/screens/Moderation/index.tsx:104
+#: src/view/screens/Settings/index.tsx:596
+#: src/view/shell/desktop/LeftNav.tsx:401
+#: src/view/shell/Drawer.tsx:520
+#: src/view/shell/Drawer.tsx:521
+msgid "Moderation"
+msgstr "Moderasyon"
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:112
+msgid "Moderation details"
+msgstr ""
+
+#: src/view/com/lists/ListCard.tsx:93
+#: src/view/com/modals/UserAddRemoveLists.tsx:206
+msgid "Moderation list by {0}"
+msgstr "{0} tarafından moderasyon listesi"
+
+#: src/view/screens/ProfileList.tsx:791
+msgid "Moderation list by <0/>"
+msgstr "<0/> tarafından moderasyon listesi"
+
+#: src/view/com/lists/ListCard.tsx:91
+#: src/view/com/modals/UserAddRemoveLists.tsx:204
+#: src/view/screens/ProfileList.tsx:789
+msgid "Moderation list by you"
+msgstr "Sizin tarafınızdan moderasyon listesi"
+
+#: src/view/com/modals/CreateOrEditList.tsx:198
+msgid "Moderation list created"
+msgstr "Moderasyon listesi oluşturuldu"
+
+#: src/view/com/modals/CreateOrEditList.tsx:184
+msgid "Moderation list updated"
+msgstr "Moderasyon listesi güncellendi"
+
+#: src/screens/Moderation/index.tsx:243
+msgid "Moderation lists"
+msgstr "Moderasyon listeleri"
+
+#: src/Navigation.tsx:124
+#: src/view/screens/ModerationModlists.tsx:58
+msgid "Moderation Lists"
+msgstr "Moderasyon Listeleri"
+
+#: src/view/screens/Settings/index.tsx:590
+msgid "Moderation settings"
+msgstr "Moderasyon ayarları"
+
+#: src/Navigation.tsx:216
+msgid "Moderation states"
+msgstr ""
+
+#: src/screens/Moderation/index.tsx:215
+msgid "Moderation tools"
+msgstr ""
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:48
+#: src/lib/moderation/useModerationCauseDescription.ts:40
+msgid "Moderator has chosen to set a general warning on the content."
+msgstr "Moderatör, içeriğe genel bir uyarı koymayı seçti."
+
+#: src/view/com/post-thread/PostThreadItem.tsx:535
+msgid "More"
+msgstr ""
+
+#: src/view/shell/desktop/Feeds.tsx:65
+msgid "More feeds"
+msgstr "Daha fazla besleme"
+
+#: src/view/screens/ProfileList.tsx:601
+msgid "More options"
+msgstr "Daha fazla seçenek"
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:270
+#~ msgid "More post options"
+#~ msgstr "Daha fazla gönderi seçeneği"
+
+#: src/view/screens/PreferencesThreads.tsx:82
+msgid "Most-liked replies first"
+msgstr "En çok beğenilen yanıtlar önce"
+
+#: src/components/TagMenu/index.tsx:249
+msgid "Mute"
+msgstr ""
+
+#: src/components/TagMenu/index.web.tsx:105
+msgid "Mute {truncatedTag}"
+msgstr ""
+
+#: src/view/com/profile/ProfileMenu.tsx:279
+#: src/view/com/profile/ProfileMenu.tsx:286
+msgid "Mute Account"
+msgstr "Hesabı Sessize Al"
+
+#: src/view/screens/ProfileList.tsx:520
+msgid "Mute accounts"
+msgstr "Hesapları sessize al"
+
+#: src/components/TagMenu/index.tsx:209
+msgid "Mute all {displayTag} posts"
+msgstr ""
+
+#: src/components/dialogs/MutedWords.tsx:148
+msgid "Mute in tags only"
+msgstr ""
+
+#: src/components/dialogs/MutedWords.tsx:133
+msgid "Mute in text & tags"
+msgstr ""
+
+#: src/view/screens/ProfileList.tsx:463
+#: src/view/screens/ProfileList.tsx:626
+msgid "Mute list"
+msgstr "Listeyi sessize al"
+
+#: src/view/screens/ProfileList.tsx:621
+msgid "Mute these accounts?"
+msgstr "Bu hesapları sessize al?"
+
+#: src/view/screens/ProfileList.tsx:278
+#~ msgid "Mute this List"
+#~ msgstr "Bu Listeyi Sessize Al"
+
+#: src/components/dialogs/MutedWords.tsx:126
+msgid "Mute this word in post text and tags"
+msgstr ""
+
+#: src/components/dialogs/MutedWords.tsx:141
+msgid "Mute this word in tags only"
+msgstr ""
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:269
+#: src/view/com/util/forms/PostDropdownBtn.tsx:275
+msgid "Mute thread"
+msgstr "Konuyu sessize al"
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:285
+#: src/view/com/util/forms/PostDropdownBtn.tsx:287
+msgid "Mute words & tags"
+msgstr ""
+
+#: src/view/com/lists/ListCard.tsx:102
+msgid "Muted"
+msgstr "Sessize alındı"
+
+#: src/screens/Moderation/index.tsx:255
+msgid "Muted accounts"
+msgstr "Sessize alınan hesaplar"
+
+#: src/Navigation.tsx:129
+#: src/view/screens/ModerationMutedAccounts.tsx:112
+msgid "Muted Accounts"
+msgstr "Sessize Alınan Hesaplar"
+
+#: src/view/screens/ModerationMutedAccounts.tsx:120
+msgid "Muted accounts have their posts removed from your feed and from your notifications. Mutes are completely private."
+msgstr "Sessize alınan hesapların gönderileri beslemenizden ve bildirimlerinizden kaldırılır. Sessizlik tamamen özeldir."
+
+#: src/lib/moderation/useModerationCauseDescription.ts:85
+msgid "Muted by \"{0}\""
+msgstr ""
+
+#: src/screens/Moderation/index.tsx:231
+msgid "Muted words & tags"
+msgstr ""
+
+#: src/view/screens/ProfileList.tsx:623
+msgid "Muting is private. Muted accounts can interact with you, but you will not see their posts or receive notifications from them."
+msgstr "Sessizlik özeldir. Sessize alınan hesaplar sizinle etkileşime geçebilir, ancak gönderilerini görmeyecek ve onlardan bildirim almayacaksınız."
+
+#: src/components/dialogs/BirthDateSettings.tsx:35
+#: src/components/dialogs/BirthDateSettings.tsx:38
+msgid "My Birthday"
+msgstr "Doğum Günüm"
+
+#: src/view/screens/Feeds.tsx:688
+msgid "My Feeds"
+msgstr "Beslemelerim"
+
+#: src/view/shell/desktop/LeftNav.tsx:65
+msgid "My Profile"
+msgstr "Profilim"
+
+#: src/view/screens/Settings/index.tsx:547
+msgid "My saved feeds"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:553
+msgid "My Saved Feeds"
+msgstr "Kayıtlı Beslemelerim"
+
+#: src/view/com/modals/AddAppPasswords.tsx:180
+#: src/view/com/modals/CreateOrEditList.tsx:291
+msgid "Name"
+msgstr "Ad"
+
+#: src/view/com/modals/CreateOrEditList.tsx:146
+msgid "Name is required"
+msgstr "Ad gerekli"
+
+#: src/lib/moderation/useReportOptions.ts:57
+#: src/lib/moderation/useReportOptions.ts:78
+#: src/lib/moderation/useReportOptions.ts:86
+msgid "Name or Description Violates Community Standards"
+msgstr ""
+
+#: src/screens/Onboarding/index.tsx:25
+msgid "Nature"
+msgstr "Doğa"
+
+#: src/screens/Login/ForgotPasswordForm.tsx:173
+#: src/screens/Login/LoginForm.tsx:255
+#: src/view/com/modals/ChangePassword.tsx:168
+msgid "Navigates to the next screen"
+msgstr "Sonraki ekrana yönlendirir"
+
+#: src/view/shell/Drawer.tsx:71
+msgid "Navigates to your profile"
+msgstr "Profilinize yönlendirir"
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:123
+msgid "Need to report a copyright violation?"
+msgstr ""
+
+#: src/view/com/modals/EmbedConsent.tsx:107
+#: src/view/com/modals/EmbedConsent.tsx:123
+#~ msgid "Never load embeds from {0}"
+#~ msgstr "{0} adresinden gömülü içerikleri asla yükleme"
+
+#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:72
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:74
+msgid "Never lose access to your followers and data."
+msgstr "Takipçilerinize ve verilerinize asla erişimi kaybetmeyin."
+
+#: src/screens/Onboarding/StepFinished.tsx:123
+msgid "Never lose access to your followers or data."
+msgstr "Takipçilerinize veya verilerinize asla erişimi kaybetmeyin."
+
+#: src/view/com/modals/ChangeHandle.tsx:519
+msgid "Nevermind, create a handle for me"
+msgstr ""
+
+#: src/view/screens/Lists.tsx:76
+msgctxt "action"
+msgid "New"
+msgstr "Yeni"
+
+#: src/view/screens/ModerationModlists.tsx:78
+msgid "New"
+msgstr "Yeni"
+
+#: src/view/com/modals/CreateOrEditList.tsx:253
+msgid "New Moderation List"
+msgstr "Yeni Moderasyon Listesi"
+
+#: src/view/com/modals/ChangePassword.tsx:212
+msgid "New password"
+msgstr "Yeni şifre"
+
+#: src/view/com/modals/ChangePassword.tsx:217
+msgid "New Password"
+msgstr "Yeni Şifre"
+
+#: src/view/com/feeds/FeedPage.tsx:149
+msgctxt "action"
+msgid "New post"
+msgstr "Yeni gönderi"
+
+#: src/view/screens/Feeds.tsx:580
+#: src/view/screens/Notifications.tsx:168
+#: src/view/screens/Profile.tsx:480
+#: src/view/screens/ProfileFeed.tsx:445
+#: src/view/screens/ProfileList.tsx:200
+#: src/view/screens/ProfileList.tsx:228
+#: src/view/shell/desktop/LeftNav.tsx:252
+msgid "New post"
+msgstr "Yeni gönderi"
+
+#: src/view/shell/desktop/LeftNav.tsx:262
+msgctxt "action"
+msgid "New Post"
+msgstr "Yeni Gönderi"
+
+#: src/view/com/modals/CreateOrEditList.tsx:248
+msgid "New User List"
+msgstr "Yeni Kullanıcı Listesi"
+
+#: src/view/screens/PreferencesThreads.tsx:79
+msgid "Newest replies first"
+msgstr "En yeni yanıtlar önce"
+
+#: src/screens/Onboarding/index.tsx:23
+msgid "News"
+msgstr "Haberler"
+
+#: src/screens/Login/ForgotPasswordForm.tsx:143
+#: src/screens/Login/ForgotPasswordForm.tsx:150
+#: src/screens/Login/LoginForm.tsx:254
+#: src/screens/Login/LoginForm.tsx:261
+#: src/screens/Login/SetNewPasswordForm.tsx:174
+#: src/screens/Login/SetNewPasswordForm.tsx:180
+#: src/screens/Signup/index.tsx:207
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:80
+#: src/view/com/modals/ChangePassword.tsx:253
+#: src/view/com/modals/ChangePassword.tsx:255
+msgid "Next"
+msgstr "İleri"
+
+#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:103
+msgctxt "action"
+msgid "Next"
+msgstr "İleri"
+
+#: src/view/com/lightbox/Lightbox.web.tsx:169
+msgid "Next image"
+msgstr "Sonraki resim"
+
+#: src/view/screens/PreferencesFollowingFeed.tsx:129
+#: src/view/screens/PreferencesFollowingFeed.tsx:200
+#: src/view/screens/PreferencesFollowingFeed.tsx:235
+#: src/view/screens/PreferencesFollowingFeed.tsx:272
+#: src/view/screens/PreferencesThreads.tsx:106
+#: src/view/screens/PreferencesThreads.tsx:129
+msgid "No"
+msgstr "Hayır"
+
+#: src/view/screens/ProfileFeed.tsx:574
+#: src/view/screens/ProfileList.tsx:771
+msgid "No description"
+msgstr "Açıklama yok"
+
+#: src/view/com/modals/ChangeHandle.tsx:405
+msgid "No DNS Panel"
+msgstr ""
+
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:118
+msgid "No longer following {0}"
+msgstr "{0} artık takip edilmiyor"
+
+#: src/screens/Signup/StepHandle.tsx:115
+msgid "No longer than 253 characters"
+msgstr ""
+
+#: src/view/com/notifications/Feed.tsx:109
+msgid "No notifications yet!"
+msgstr "Henüz bildirim yok!"
+
+#: src/view/com/composer/text-input/mobile/Autocomplete.tsx:101
+#: src/view/com/composer/text-input/web/Autocomplete.tsx:195
+msgid "No result"
+msgstr "Sonuç yok"
+
+#: src/components/Lists.tsx:183
+msgid "No results found"
+msgstr ""
+
+#: src/view/screens/Feeds.tsx:520
+msgid "No results found for \"{query}\""
+msgstr "\"{query}\" için sonuç bulunamadı"
+
+#: src/view/com/modals/ListAddRemoveUsers.tsx:127
+#: src/view/screens/Search/Search.tsx:349
+#: src/view/screens/Search/Search.tsx:387
+msgid "No results found for {query}"
+msgstr "{query} için sonuç bulunamadı"
+
+#: src/components/dialogs/EmbedConsent.tsx:105
+#: src/components/dialogs/EmbedConsent.tsx:112
+msgid "No thanks"
+msgstr "Teşekkürler"
+
+#: src/view/com/modals/Threadgate.tsx:82
+msgid "Nobody"
+msgstr "Hiç kimse"
+
+#: src/components/LikedByList.tsx:79
+#: src/components/LikesDialog.tsx:99
+msgid "Nobody has liked this yet. Maybe you should be the first!"
+msgstr ""
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:42
+msgid "Non-sexual Nudity"
+msgstr ""
+
+#: src/view/com/modals/SelfLabel.tsx:135
+msgid "Not Applicable."
+msgstr "Uygulanamaz."
+
+#: src/Navigation.tsx:109
+#: src/view/screens/Profile.tsx:101
+msgid "Not Found"
+msgstr "Bulunamadı"
+
+#: src/view/com/modals/VerifyEmail.tsx:246
+#: src/view/com/modals/VerifyEmail.tsx:252
+msgid "Not right now"
+msgstr "Şu anda değil"
+
+#: src/view/com/profile/ProfileMenu.tsx:368
+#: src/view/com/util/forms/PostDropdownBtn.tsx:364
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:248
+msgid "Note about sharing"
+msgstr ""
+
+#: src/screens/Moderation/index.tsx:540
+msgid "Note: Bluesky is an open and public network. This setting only limits the visibility of your content on the Bluesky app and website, and other apps may not respect this setting. Your content may still be shown to logged-out users by other apps and websites."
+msgstr "Not: Bluesky açık ve kamusal bir ağdır. Bu ayar yalnızca içeriğinizin Bluesky uygulaması ve web sitesindeki görünürlüğünü sınırlar, diğer uygulamalar bu ayarı dikkate almayabilir. İçeriğiniz hala diğer uygulamalar ve web siteleri tarafından çıkış yapan kullanıcılara gösterilebilir."
+
+#: src/Navigation.tsx:461
+#: src/view/screens/Notifications.tsx:124
+#: src/view/screens/Notifications.tsx:148
+#: src/view/shell/bottom-bar/BottomBar.tsx:216
+#: src/view/shell/desktop/LeftNav.tsx:365
+#: src/view/shell/Drawer.tsx:444
+#: src/view/shell/Drawer.tsx:445
+msgid "Notifications"
+msgstr "Bildirimler"
+
+#: src/view/com/modals/SelfLabel.tsx:103
+msgid "Nudity"
+msgstr "Çıplaklık"
+
+#: src/lib/moderation/useReportOptions.ts:71
+msgid "Nudity or adult content not labeled as such"
+msgstr ""
+
+#: src/screens/Signup/index.tsx:143
+msgid "of"
+msgstr ""
+
+#: src/lib/moderation/useLabelBehaviorDescription.ts:11
+msgid "Off"
+msgstr ""
+
+#: src/view/com/util/ErrorBoundary.tsx:49
+msgid "Oh no!"
+msgstr "Oh hayır!"
+
+#: src/screens/Onboarding/StepInterests/index.tsx:132
+msgid "Oh no! Something went wrong."
+msgstr "Oh hayır! Bir şeyler yanlış gitti."
+
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:126
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:333
+msgid "OK"
+msgstr ""
+
+#: src/screens/Login/PasswordUpdatedForm.tsx:44
+msgid "Okay"
+msgstr "Tamam"
+
+#: src/view/screens/PreferencesThreads.tsx:78
+msgid "Oldest replies first"
+msgstr "En eski yanıtlar önce"
+
+#: src/view/screens/Settings/index.tsx:247
+msgid "Onboarding reset"
+msgstr "Onboarding sıfırlama"
+
+#: src/view/com/composer/Composer.tsx:392
+msgid "One or more images is missing alt text."
+msgstr "Bir veya daha fazla resimde alternatif metin eksik."
+
+#: src/view/com/threadgate/WhoCanReply.tsx:100
+msgid "Only {0} can reply."
+msgstr "Yalnızca {0} yanıtlayabilir."
+
+#: src/screens/Signup/StepHandle.tsx:98
+msgid "Only contains letters, numbers, and hyphens"
+msgstr ""
+
+#: src/components/Lists.tsx:75
+msgid "Oops, something went wrong!"
+msgstr ""
+
+#: src/components/Lists.tsx:170
+#: src/view/screens/AppPasswords.tsx:67
+#: src/view/screens/Profile.tsx:101
+msgid "Oops!"
+msgstr "Hata!"
+
+#: src/screens/Onboarding/StepFinished.tsx:119
+msgid "Open"
+msgstr "Aç"
+
+#: src/view/com/composer/Composer.tsx:491
+#: src/view/com/composer/Composer.tsx:492
+msgid "Open emoji picker"
+msgstr "Emoji seçiciyi aç"
+
+#: src/view/screens/ProfileFeed.tsx:311
+msgid "Open feed options menu"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:685
+msgid "Open links with in-app browser"
+msgstr "Uygulama içi tarayıcıda bağlantıları aç"
+
+#: src/screens/Moderation/index.tsx:227
+msgid "Open muted words and tags settings"
+msgstr ""
+
+#: src/view/com/home/HomeHeaderLayoutMobile.tsx:52
+msgid "Open navigation"
+msgstr "Navigasyonu aç"
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:191
+msgid "Open post options menu"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:792
+#: src/view/screens/Settings/index.tsx:802
+msgid "Open storybook page"
+msgstr "Storybook sayfasını aç"
+
+#: src/view/screens/Settings/index.tsx:780
+msgid "Open system log"
+msgstr ""
+
+#: src/view/com/util/forms/DropdownButton.tsx:154
+msgid "Opens {numItems} options"
+msgstr "{numItems} seçeneği açar"
+
+#: src/view/screens/Log.tsx:54
+msgid "Opens additional details for a debug entry"
+msgstr "Hata ayıklama girişi için ek ayrıntıları açar"
+
+#: src/view/com/notifications/FeedItem.tsx:355
+msgid "Opens an expanded list of users in this notification"
+msgstr "Bu bildirimdeki kullanıcıların genişletilmiş bir listesini açar"
+
+#: src/view/com/composer/photos/OpenCameraBtn.tsx:78
+msgid "Opens camera on device"
+msgstr "Cihazdaki kamerayı açar"
+
+#: src/view/com/composer/Prompt.tsx:25
+msgid "Opens composer"
+msgstr "Besteciyi açar"
+
+#: src/view/screens/Settings/index.tsx:566
+msgid "Opens configurable language settings"
+msgstr "Yapılandırılabilir dil ayarlarını açar"
+
+#: src/view/com/composer/photos/SelectPhotoBtn.tsx:44
+msgid "Opens device photo gallery"
+msgstr "Cihaz fotoğraf galerisini açar"
+
+#: src/view/com/profile/ProfileHeader.tsx:459
+#~ msgid "Opens editor for profile display name, avatar, background image, and description"
+#~ msgstr "Profil görüntü adı, avatar, arka plan resmi ve açıklama için düzenleyiciyi açar"
+
+#: src/view/screens/Settings/index.tsx:620
+msgid "Opens external embeds settings"
+msgstr "Harici gömülü ayarları açar"
+
+#: src/view/com/auth/SplashScreen.tsx:50
+#: src/view/com/auth/SplashScreen.web.tsx:94
+msgid "Opens flow to create a new Bluesky account"
+msgstr ""
+
+#: src/view/com/auth/SplashScreen.tsx:65
+#: src/view/com/auth/SplashScreen.web.tsx:109
+msgid "Opens flow to sign into your existing Bluesky account"
+msgstr ""
+
+#: src/view/com/profile/ProfileHeader.tsx:614
+#~ msgid "Opens followers list"
+#~ msgstr "Takipçi listesini açar"
+
+#: src/view/com/profile/ProfileHeader.tsx:633
+#~ msgid "Opens following list"
+#~ msgstr "Takip listesini açar"
+
+#: src/view/screens/Settings.tsx:412
+#~ msgid "Opens invite code list"
+#~ msgstr "Davet kodu listesini açar"
+
+#: src/view/com/modals/InviteCodes.tsx:173
+msgid "Opens list of invite codes"
+msgstr "Davet kodu listesini açar"
+
+#: src/view/screens/Settings/index.tsx:762
+msgid "Opens modal for account deletion confirmation. Requires email code"
+msgstr ""
+
+#: src/view/screens/Settings.tsx:745
+#~ msgid "Opens modal for account deletion confirmation. Requires email code."
+#~ msgstr "Hesap silme onayı için modalı açar. E-posta kodu gerektirir."
+
+#: src/view/screens/Settings/index.tsx:720
+msgid "Opens modal for changing your Bluesky password"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:669
+msgid "Opens modal for choosing a new Bluesky handle"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:743
+msgid "Opens modal for downloading your Bluesky account data (repository)"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:932
+msgid "Opens modal for email verification"
+msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:282
+msgid "Opens modal for using custom domain"
+msgstr "Özel alan adı kullanımı için modalı açar"
+
+#: src/view/screens/Settings/index.tsx:591
+msgid "Opens moderation settings"
+msgstr "Moderasyon ayarlarını açar"
+
+#: src/screens/Login/LoginForm.tsx:202
+msgid "Opens password reset form"
+msgstr "Şifre sıfırlama formunu açar"
+
+#: src/view/com/home/HomeHeaderLayout.web.tsx:67
+#: src/view/screens/Feeds.tsx:381
+msgid "Opens screen to edit Saved Feeds"
+msgstr "Kayıtlı Beslemeleri düzenlemek için ekranı açar"
+
+#: src/view/screens/Settings/index.tsx:548
+msgid "Opens screen with all saved feeds"
+msgstr "Tüm kayıtlı beslemeleri içeren ekrana açar"
+
+#: src/view/screens/Settings/index.tsx:647
+msgid "Opens the app password settings"
+msgstr ""
+
+#: src/view/screens/Settings.tsx:670
+#~ msgid "Opens the app password settings page"
+#~ msgstr "Uygulama şifre ayarları sayfasını açar"
+
+#: src/view/screens/Settings/index.tsx:505
+msgid "Opens the Following feed preferences"
+msgstr ""
+
+#: src/view/screens/Settings.tsx:529
+#~ msgid "Opens the home feed preferences"
+#~ msgstr "Ana besleme tercihlerini açar"
+
+#: src/view/com/modals/LinkWarning.tsx:93
+msgid "Opens the linked website"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:793
+#: src/view/screens/Settings/index.tsx:803
+msgid "Opens the storybook page"
+msgstr "Storybook sayfasını açar"
+
+#: src/view/screens/Settings/index.tsx:781
+msgid "Opens the system log page"
+msgstr "Sistem log sayfasını açar"
+
+#: src/view/screens/Settings/index.tsx:526
+msgid "Opens the threads preferences"
+msgstr "Konu tercihlerini açar"
+
+#: src/view/com/util/forms/DropdownButton.tsx:280
+msgid "Option {0} of {numItems}"
+msgstr "{0} seçeneği, {numItems} seçenekten"
+
+#: src/components/ReportDialog/SubmitView.tsx:160
+msgid "Optionally provide additional information below:"
+msgstr ""
+
+#: src/view/com/modals/Threadgate.tsx:89
+msgid "Or combine these options:"
+msgstr "Veya bu seçenekleri birleştirin:"
+
+#: src/lib/moderation/useReportOptions.ts:25
+msgid "Other"
+msgstr ""
+
+#: src/components/AccountList.tsx:73
+msgid "Other account"
+msgstr "Diğer hesap"
+
+#: src/view/com/modals/ServerInput.tsx:88
+#~ msgid "Other service"
+#~ msgstr "Diğer servis"
+
+#: src/view/com/composer/select-language/SelectLangBtn.tsx:91
+msgid "Other..."
+msgstr "Diğer..."
+
+#: src/components/Lists.tsx:184
+#: src/view/screens/NotFound.tsx:45
+msgid "Page not found"
+msgstr "Sayfa bulunamadı"
+
+#: src/view/screens/NotFound.tsx:42
+msgid "Page Not Found"
+msgstr "Sayfa Bulunamadı"
+
+#: src/screens/Login/LoginForm.tsx:178
+#: src/screens/Signup/StepInfo/index.tsx:102
+#: src/view/com/modals/DeleteAccount.tsx:194
+#: src/view/com/modals/DeleteAccount.tsx:201
+msgid "Password"
+msgstr "Şifre"
+
+#: src/view/com/modals/ChangePassword.tsx:142
+msgid "Password Changed"
+msgstr ""
+
+#: src/screens/Login/index.tsx:157
+msgid "Password updated"
+msgstr "Şifre güncellendi"
+
+#: src/screens/Login/PasswordUpdatedForm.tsx:30
+msgid "Password updated!"
+msgstr "Şifre güncellendi!"
+
+#: src/view/screens/Search/Search.tsx:447
+#: src/view/screens/Search/Search.tsx:456
+msgid "People"
+msgstr ""
+
+#: src/Navigation.tsx:164
+msgid "People followed by @{0}"
+msgstr "@{0} tarafından takip edilenler"
+
+#: src/Navigation.tsx:157
+msgid "People following @{0}"
+msgstr "@{0} tarafından takip edilenler"
+
+#: src/view/com/lightbox/Lightbox.tsx:66
+msgid "Permission to access camera roll is required."
+msgstr "Kamera rulosuna erişim izni gerekiyor."
+
+#: src/view/com/lightbox/Lightbox.tsx:72
+msgid "Permission to access camera roll was denied. Please enable it in your system settings."
+msgstr "Kamera rulosuna erişim izni reddedildi. Lütfen sistem ayarlarınızda etkinleştirin."
+
+#: src/screens/Onboarding/index.tsx:31
+msgid "Pets"
+msgstr "Evcil Hayvanlar"
+
+#: src/view/com/auth/create/Step2.tsx:183
+#~ msgid "Phone number"
+#~ msgstr "Telefon numarası"
+
+#: src/view/com/modals/SelfLabel.tsx:121
+msgid "Pictures meant for adults."
+msgstr "Yetişkinler için resimler."
+
+#: src/view/screens/ProfileFeed.tsx:303
+#: src/view/screens/ProfileList.tsx:565
+msgid "Pin to home"
+msgstr "Ana ekrana sabitle"
+
+#: src/view/screens/ProfileFeed.tsx:306
+msgid "Pin to Home"
+msgstr ""
+
+#: src/view/screens/SavedFeeds.tsx:89
+msgid "Pinned Feeds"
+msgstr "Sabitleme Beslemeleri"
+
+#: src/view/com/util/post-embeds/ExternalGifEmbed.tsx:123
+msgid "Play {0}"
+msgstr "{0} oynat"
+
+#: src/view/com/util/post-embeds/ExternalPlayerEmbed.tsx:57
+#: src/view/com/util/post-embeds/ExternalPlayerEmbed.tsx:58
+msgid "Play Video"
+msgstr "Videoyu Oynat"
+
+#: src/view/com/util/post-embeds/ExternalGifEmbed.tsx:122
+msgid "Plays the GIF"
+msgstr "GIF'i oynatır"
+
+#: src/screens/Signup/state.ts:241
+msgid "Please choose your handle."
+msgstr "Kullanıcı adınızı seçin."
+
+#: src/screens/Signup/state.ts:234
+msgid "Please choose your password."
+msgstr "Şifrenizi seçin."
+
+#: src/screens/Signup/state.ts:251
+msgid "Please complete the verification captcha."
+msgstr ""
+
+#: src/view/com/modals/ChangeEmail.tsx:67
+msgid "Please confirm your email before changing it. This is a temporary requirement while email-updating tools are added, and it will soon be removed."
+msgstr "E-postanızı değiştirmeden önce onaylayın. Bu, e-posta güncelleme araçları eklenirken geçici bir gerekliliktir ve yakında kaldırılacaktır."
+
+#: src/view/com/modals/AddAppPasswords.tsx:91
+msgid "Please enter a name for your app password. All spaces is not allowed."
+msgstr "Uygulama şifreniz için bir ad girin. Tüm boşluklar izin verilmez."
+
+#: src/view/com/auth/create/Step2.tsx:206
+#~ msgid "Please enter a phone number that can receive SMS text messages."
+#~ msgstr "SMS metin mesajları alabilen bir telefon numarası girin."
+
+#: src/view/com/modals/AddAppPasswords.tsx:146
+msgid "Please enter a unique name for this App Password or use our randomly generated one."
+msgstr "Bu Uygulama Şifresi için benzersiz bir ad girin veya rastgele oluşturulanı kullanın."
+
+#: src/components/dialogs/MutedWords.tsx:67
+msgid "Please enter a valid word, tag, or phrase to mute"
+msgstr ""
+
+#: src/view/com/auth/create/state.ts:170
+#~ msgid "Please enter the code you received by SMS."
+#~ msgstr "SMS ile aldığınız kodu girin."
+
+#: src/view/com/auth/create/Step2.tsx:282
+#~ msgid "Please enter the verification code sent to {phoneNumberFormatted}."
+#~ msgstr "{phoneNumberFormatted} numarasına gönderilen doğrulama kodunu girin."
+
+#: src/screens/Signup/state.ts:220
+msgid "Please enter your email."
+msgstr "E-postanızı girin."
+
+#: src/view/com/modals/DeleteAccount.tsx:190
+msgid "Please enter your password as well:"
+msgstr "Lütfen şifrenizi de girin:"
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:221
+msgid "Please explain why you think this label was incorrectly applied by {0}"
+msgstr ""
+
+#: src/view/com/modals/AppealLabel.tsx:72
+#: src/view/com/modals/AppealLabel.tsx:75
+#~ msgid "Please tell us why you think this content warning was incorrectly applied!"
+#~ msgstr "Lütfen bu içerik uyarısının yanlış uygulandığını düşündüğünüz nedeni bize bildirin!"
+
+#: src/view/com/modals/VerifyEmail.tsx:101
+msgid "Please Verify Your Email"
+msgstr "Lütfen E-postanızı Doğrulayın"
+
+#: src/view/com/composer/Composer.tsx:222
+msgid "Please wait for your link card to finish loading"
+msgstr "Bağlantı kartınızın yüklenmesini bekleyin"
+
+#: src/screens/Onboarding/index.tsx:37
+msgid "Politics"
+msgstr "Politika"
+
+#: src/view/com/modals/SelfLabel.tsx:111
+msgid "Porn"
+msgstr "Pornografi"
+
+#: src/view/com/composer/Composer.tsx:367
+#: src/view/com/composer/Composer.tsx:375
+msgctxt "action"
+msgid "Post"
+msgstr "Gönder"
+
+#: src/view/com/post-thread/PostThread.tsx:292
+msgctxt "description"
+msgid "Post"
+msgstr "Gönderi"
+
+#: src/view/com/post-thread/PostThreadItem.tsx:175
+msgid "Post by {0}"
+msgstr "{0} tarafından gönderi"
+
+#: src/Navigation.tsx:176
+#: src/Navigation.tsx:183
+#: src/Navigation.tsx:190
+msgid "Post by @{0}"
+msgstr "@{0} tarafından gönderi"
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:111
+msgid "Post deleted"
+msgstr "Gönderi silindi"
+
+#: src/view/com/post-thread/PostThread.tsx:157
+msgid "Post hidden"
+msgstr "Gönderi gizlendi"
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:97
+#: src/lib/moderation/useModerationCauseDescription.ts:99
+msgid "Post Hidden by Muted Word"
+msgstr ""
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:100
+#: src/lib/moderation/useModerationCauseDescription.ts:108
+msgid "Post Hidden by You"
+msgstr ""
+
+#: src/view/com/composer/select-language/SelectLangBtn.tsx:87
+msgid "Post language"
+msgstr "Gönderi dili"
+
+#: src/view/com/modals/lang-settings/PostLanguagesSettings.tsx:75
+msgid "Post Languages"
+msgstr "Gönderi Dilleri"
+
+#: src/view/com/post-thread/PostThread.tsx:152
+#: src/view/com/post-thread/PostThread.tsx:164
+msgid "Post not found"
+msgstr "Gönderi bulunamadı"
+
+#: src/components/TagMenu/index.tsx:253
+msgid "posts"
+msgstr ""
+
+#: src/view/screens/Profile.tsx:195
+#: src/view/screens/Search/Search.tsx:467
+msgid "Posts"
+msgstr "Gönderiler"
+
+#: src/components/dialogs/MutedWords.tsx:89
+msgid "Posts can be muted based on their text, their tags, or both."
+msgstr ""
+
+#: src/view/com/posts/FeedErrorMessage.tsx:64
+msgid "Posts hidden"
+msgstr "Gönderiler gizlendi"
+
+#: src/view/com/modals/LinkWarning.tsx:60
+msgid "Potentially Misleading Link"
+msgstr "Potansiyel Yanıltıcı Bağlantı"
+
+#: src/components/forms/HostingProvider.tsx:46
+msgid "Press to change hosting provider"
+msgstr ""
+
+#: src/components/Error.tsx:74
+#: src/components/Lists.tsx:80
+#: src/screens/Signup/index.tsx:187
+msgid "Press to retry"
+msgstr ""
+
+#: src/view/com/lightbox/Lightbox.web.tsx:150
+msgid "Previous image"
+msgstr "Önceki resim"
+
+#: src/view/screens/LanguageSettings.tsx:187
+msgid "Primary Language"
+msgstr "Birincil Dil"
+
+#: src/view/screens/PreferencesThreads.tsx:97
+msgid "Prioritize Your Follows"
+msgstr "Takipçilerinizi Önceliklendirin"
+
+#: src/view/screens/Settings/index.tsx:603
+#: src/view/shell/desktop/RightNav.tsx:72
+msgid "Privacy"
+msgstr "Gizlilik"
+
+#: src/Navigation.tsx:231
+#: src/screens/Signup/StepInfo/Policies.tsx:56
+#: src/view/screens/PrivacyPolicy.tsx:29
+#: src/view/screens/Settings/index.tsx:887
+#: src/view/shell/Drawer.tsx:271
+msgid "Privacy Policy"
+msgstr "Gizlilik Politikası"
+
+#: src/screens/Login/ForgotPasswordForm.tsx:156
+msgid "Processing..."
+msgstr "İşleniyor..."
+
+#: src/view/screens/DebugMod.tsx:888
+#: src/view/screens/Profile.tsx:361
+msgid "profile"
+msgstr ""
+
+#: src/view/shell/bottom-bar/BottomBar.tsx:261
+#: src/view/shell/desktop/LeftNav.tsx:419
+#: src/view/shell/Drawer.tsx:70
+#: src/view/shell/Drawer.tsx:555
+#: src/view/shell/Drawer.tsx:556
+msgid "Profile"
+msgstr "Profil"
+
+#: src/view/com/modals/EditProfile.tsx:129
+msgid "Profile updated"
+msgstr "Profil güncellendi"
+
+#: src/view/screens/Settings/index.tsx:945
+msgid "Protect your account by verifying your email."
+msgstr "E-postanızı doğrulayarak hesabınızı koruyun."
+
+#: src/screens/Onboarding/StepFinished.tsx:105
+msgid "Public"
+msgstr "Herkese Açık"
+
+#: src/view/screens/ModerationModlists.tsx:61
+msgid "Public, shareable lists of users to mute or block in bulk."
+msgstr "Toplu olarak sessize almak veya engellemek için herkese açık, paylaşılabilir kullanıcı listeleri."
+
+#: src/view/screens/Lists.tsx:61
+msgid "Public, shareable lists which can drive feeds."
+msgstr "Beslemeleri yönlendirebilen herkese açık, paylaşılabilir listeler."
+
+#: src/view/com/composer/Composer.tsx:352
+msgid "Publish post"
+msgstr "Gönderiyi yayınla"
+
+#: src/view/com/composer/Composer.tsx:352
+msgid "Publish reply"
+msgstr "Yanıtı yayınla"
+
+#: src/view/com/modals/Repost.tsx:66
+msgctxt "action"
+msgid "Quote post"
+msgstr "Gönderiyi alıntıla"
+
+#: src/view/com/util/post-ctrls/RepostButton.web.tsx:58
+msgid "Quote post"
+msgstr "Gönderiyi alıntıla"
+
+#: src/view/com/modals/Repost.tsx:71
+msgctxt "action"
+msgid "Quote Post"
+msgstr "Gönderiyi Alıntıla"
+
+#: src/view/screens/PreferencesThreads.tsx:86
+msgid "Random (aka \"Poster's Roulette\")"
+msgstr "Rastgele (yani \"Gönderenin Ruleti\")"
+
+#: src/view/com/modals/EditImage.tsx:237
+msgid "Ratios"
+msgstr "Oranlar"
+
+#: src/view/screens/Search/Search.tsx:924
+msgid "Recent Searches"
+msgstr ""
+
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:117
+msgid "Recommended Feeds"
+msgstr "Önerilen Beslemeler"
+
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:181
+msgid "Recommended Users"
+msgstr "Önerilen Kullanıcılar"
+
+#: src/components/dialogs/MutedWords.tsx:286
+#: src/view/com/feeds/FeedSourceCard.tsx:283
+#: src/view/com/modals/ListAddRemoveUsers.tsx:268
+#: src/view/com/modals/SelfLabel.tsx:83
+#: src/view/com/modals/UserAddRemoveLists.tsx:219
+#: src/view/com/posts/FeedErrorMessage.tsx:204
+msgid "Remove"
+msgstr "Kaldır"
+
+#: src/view/com/feeds/FeedSourceCard.tsx:106
+#~ msgid "Remove {0} from my feeds?"
+#~ msgstr "{0} beslemelerimden kaldırılsın mı?"
+
+#: src/view/com/util/AccountDropdownBtn.tsx:22
+msgid "Remove account"
+msgstr "Hesabı kaldır"
+
+#: src/view/com/util/UserAvatar.tsx:360
+msgid "Remove Avatar"
+msgstr ""
+
+#: src/view/com/util/UserBanner.tsx:148
+msgid "Remove Banner"
+msgstr ""
+
+#: src/view/com/posts/FeedErrorMessage.tsx:160
+msgid "Remove feed"
+msgstr "Beslemeyi kaldır"
+
+#: src/view/com/posts/FeedErrorMessage.tsx:201
+msgid "Remove feed?"
+msgstr ""
+
+#: src/view/com/feeds/FeedSourceCard.tsx:173
+#: src/view/com/feeds/FeedSourceCard.tsx:233
+#: src/view/screens/ProfileFeed.tsx:346
+#: src/view/screens/ProfileFeed.tsx:352
+msgid "Remove from my feeds"
+msgstr "Beslemelerimden kaldır"
+
+#: src/view/com/feeds/FeedSourceCard.tsx:278
+msgid "Remove from my feeds?"
+msgstr ""
+
+#: src/view/com/composer/photos/Gallery.tsx:167
+msgid "Remove image"
+msgstr "Resmi kaldır"
+
+#: src/view/com/composer/ExternalEmbed.tsx:70
+msgid "Remove image preview"
+msgstr "Resim önizlemesini kaldır"
+
+#: src/components/dialogs/MutedWords.tsx:329
+msgid "Remove mute word from your list"
+msgstr ""
+
+#: src/view/com/modals/Repost.tsx:48
+msgid "Remove repost"
+msgstr "Yeniden göndermeyi kaldır"
+
+#: src/view/com/feeds/FeedSourceCard.tsx:173
+#~ msgid "Remove this feed from my feeds?"
+#~ msgstr "Bu beslemeyi beslemelerimden kaldırsın mı?"
+
+#: src/view/com/posts/FeedErrorMessage.tsx:202
+msgid "Remove this feed from your saved feeds"
+msgstr ""
+
+#: src/view/com/posts/FeedErrorMessage.tsx:132
+#~ msgid "Remove this feed from your saved feeds?"
+#~ msgstr "Bu beslemeyi kayıtlı beslemelerinizden kaldırsın mı?"
+
+#: src/view/com/modals/ListAddRemoveUsers.tsx:199
+#: src/view/com/modals/UserAddRemoveLists.tsx:152
+msgid "Removed from list"
+msgstr "Listeden kaldırıldı"
+
+#: src/view/com/feeds/FeedSourceCard.tsx:121
+msgid "Removed from my feeds"
+msgstr "Beslemelerimden kaldırıldı"
+
+#: src/view/screens/ProfileFeed.tsx:210
+msgid "Removed from your feeds"
+msgstr ""
+
+#: src/view/com/composer/ExternalEmbed.tsx:71
+msgid "Removes default thumbnail from {0}"
+msgstr "{0} adresinden varsayılan küçük resmi kaldırır"
+
+#: src/view/screens/Profile.tsx:196
+msgid "Replies"
+msgstr "Yanıtlar"
+
+#: src/view/com/threadgate/WhoCanReply.tsx:98
+msgid "Replies to this thread are disabled"
+msgstr "Bu konuya yanıtlar devre dışı bırakıldı"
+
+#: src/view/com/composer/Composer.tsx:365
+msgctxt "action"
+msgid "Reply"
+msgstr "Yanıtla"
+
+#: src/view/screens/PreferencesFollowingFeed.tsx:144
+msgid "Reply Filters"
+msgstr "Yanıt Filtreleri"
+
+#: src/view/com/post/Post.tsx:177
+#: src/view/com/posts/FeedItem.tsx:285
+msgctxt "description"
+msgid "Reply to <0/>"
+msgstr "<0/>'a yanıt"
+
+#: src/view/com/modals/report/Modal.tsx:166
+#~ msgid "Report {collectionName}"
+#~ msgstr "{collectionName} raporla"
+
+#: src/view/com/profile/ProfileMenu.tsx:319
+#: src/view/com/profile/ProfileMenu.tsx:322
+msgid "Report Account"
+msgstr "Hesabı Raporla"
+
+#: src/components/ReportDialog/index.tsx:49
+msgid "Report dialog"
+msgstr ""
+
+#: src/view/screens/ProfileFeed.tsx:363
+#: src/view/screens/ProfileFeed.tsx:365
+msgid "Report feed"
+msgstr "Beslemeyi raporla"
+
+#: src/view/screens/ProfileList.tsx:431
+msgid "Report List"
+msgstr "Listeyi Raporla"
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:312
+#: src/view/com/util/forms/PostDropdownBtn.tsx:314
+msgid "Report post"
+msgstr "Gönderiyi raporla"
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:42
+msgid "Report this content"
+msgstr ""
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:55
+msgid "Report this feed"
+msgstr ""
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:52
+msgid "Report this list"
+msgstr ""
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:49
+msgid "Report this post"
+msgstr ""
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:46
+msgid "Report this user"
+msgstr ""
+
+#: src/view/com/modals/Repost.tsx:44
+#: src/view/com/modals/Repost.tsx:49
+#: src/view/com/modals/Repost.tsx:54
+#: src/view/com/util/post-ctrls/RepostButton.tsx:61
+msgctxt "action"
+msgid "Repost"
+msgstr "Yeniden gönder"
+
+#: src/view/com/util/post-ctrls/RepostButton.web.tsx:48
+msgid "Repost"
+msgstr "Yeniden gönder"
+
+#: src/view/com/util/post-ctrls/RepostButton.web.tsx:94
+#: src/view/com/util/post-ctrls/RepostButton.web.tsx:105
+msgid "Repost or quote post"
+msgstr "Gönderiyi yeniden gönder veya alıntıla"
+
+#: src/view/screens/PostRepostedBy.tsx:27
+msgid "Reposted By"
+msgstr "Yeniden Gönderen"
+
+#: src/view/com/posts/FeedItem.tsx:199
+msgid "Reposted by {0}"
+msgstr "{0} tarafından yeniden gönderildi"
+
+#: src/view/com/posts/FeedItem.tsx:214
+#~ msgid "Reposted by <0/>"
+#~ msgstr "<0/>'a yeniden gönderildi"
+
+#: src/view/com/posts/FeedItem.tsx:216
+msgid "Reposted by <0><1/>0>"
+msgstr ""
+
+#: src/view/com/notifications/FeedItem.tsx:168
+msgid "reposted your post"
+msgstr "gönderinizi yeniden gönderdi"
+
+#: src/view/com/post-thread/PostThreadItem.tsx:187
+msgid "Reposts of this post"
+msgstr "Bu gönderinin yeniden gönderilmesi"
+
+#: src/view/com/modals/ChangeEmail.tsx:181
+#: src/view/com/modals/ChangeEmail.tsx:183
+msgid "Request Change"
+msgstr "Değişiklik İste"
+
+#: src/view/com/auth/create/Step2.tsx:219
+#~ msgid "Request code"
+#~ msgstr "Kod iste"
+
+#: src/view/com/modals/ChangePassword.tsx:241
+#: src/view/com/modals/ChangePassword.tsx:243
+msgid "Request Code"
+msgstr "Kod İste"
+
+#: src/view/screens/Settings/index.tsx:426
+msgid "Require alt text before posting"
+msgstr "Göndermeden önce alternatif metin gerektir"
+
+#: src/screens/Signup/StepInfo/index.tsx:69
+msgid "Required for this provider"
+msgstr "Bu sağlayıcı için gereklidir"
+
+#: src/view/com/modals/ChangePassword.tsx:185
+msgid "Reset code"
+msgstr "Sıfırlama kodu"
+
+#: src/view/com/modals/ChangePassword.tsx:192
+msgid "Reset Code"
+msgstr "Sıfırlama Kodu"
+
+#: src/view/screens/Settings.tsx:806
+#~ msgid "Reset onboarding"
+#~ msgstr "Onboarding sıfırla"
+
+#: src/view/screens/Settings/index.tsx:822
+#: src/view/screens/Settings/index.tsx:825
+msgid "Reset onboarding state"
+msgstr "Onboarding durumunu sıfırla"
+
+#: src/screens/Login/ForgotPasswordForm.tsx:86
+msgid "Reset password"
+msgstr "Şifreyi sıfırla"
+
+#: src/view/screens/Settings.tsx:796
+#~ msgid "Reset preferences"
+#~ msgstr "Tercihleri sıfırla"
+
+#: src/view/screens/Settings/index.tsx:812
+#: src/view/screens/Settings/index.tsx:815
+msgid "Reset preferences state"
+msgstr "Tercih durumunu sıfırla"
+
+#: src/view/screens/Settings/index.tsx:823
+msgid "Resets the onboarding state"
+msgstr "Onboarding durumunu sıfırlar"
+
+#: src/view/screens/Settings/index.tsx:813
+msgid "Resets the preferences state"
+msgstr "Tercih durumunu sıfırlar"
+
+#: src/screens/Login/LoginForm.tsx:235
+msgid "Retries login"
+msgstr "Giriş tekrar denemesi"
+
+#: src/view/com/util/error/ErrorMessage.tsx:57
+#: src/view/com/util/error/ErrorScreen.tsx:74
+msgid "Retries the last action, which errored out"
+msgstr "Son hataya neden olan son eylemi tekrarlar"
+
+#: src/components/Error.tsx:79
+#: src/components/Lists.tsx:91
+#: src/screens/Login/LoginForm.tsx:234
+#: src/screens/Login/LoginForm.tsx:241
+#: src/screens/Onboarding/StepInterests/index.tsx:225
+#: src/screens/Onboarding/StepInterests/index.tsx:228
+#: src/screens/Signup/index.tsx:194
+#: src/view/com/util/error/ErrorMessage.tsx:55
+#: src/view/com/util/error/ErrorScreen.tsx:72
+msgid "Retry"
+msgstr "Tekrar dene"
+
+#: src/view/com/auth/create/Step2.tsx:247
+#~ msgid "Retry."
+#~ msgstr "Tekrar dene."
+
+#: src/components/Error.tsx:86
+#: src/view/screens/ProfileList.tsx:919
+msgid "Return to previous page"
+msgstr "Önceki sayfaya dön"
+
+#: src/view/screens/NotFound.tsx:59
+msgid "Returns to home page"
+msgstr ""
+
+#: src/view/screens/NotFound.tsx:58
+#: src/view/screens/ProfileFeed.tsx:113
+msgid "Returns to previous page"
+msgstr ""
+
+#: src/view/shell/desktop/RightNav.tsx:59
+#~ msgid "SANDBOX. Posts and accounts are not permanent."
+#~ msgstr "KUM KUTUSU. Gönderiler ve hesaplar kalıcı değildir."
+
+#: src/components/dialogs/BirthDateSettings.tsx:125
+#: src/view/com/modals/ChangeHandle.tsx:174
+#: src/view/com/modals/CreateOrEditList.tsx:338
+#: src/view/com/modals/EditProfile.tsx:225
+msgid "Save"
+msgstr "Kaydet"
+
+#: src/view/com/lightbox/Lightbox.tsx:132
+#: src/view/com/modals/CreateOrEditList.tsx:346
+msgctxt "action"
+msgid "Save"
+msgstr "Kaydet"
+
+#: src/view/com/modals/AltImage.tsx:131
+msgid "Save alt text"
+msgstr "Alternatif metni kaydet"
+
+#: src/components/dialogs/BirthDateSettings.tsx:119
+msgid "Save birthday"
+msgstr ""
+
+#: src/view/com/modals/EditProfile.tsx:233
+msgid "Save Changes"
+msgstr "Değişiklikleri Kaydet"
+
+#: src/view/com/modals/ChangeHandle.tsx:171
+msgid "Save handle change"
+msgstr "Kullanıcı adı değişikliğini kaydet"
+
+#: src/view/com/modals/crop-image/CropImage.web.tsx:145
+msgid "Save image crop"
+msgstr "Resim kırpma kaydet"
+
+#: src/view/screens/ProfileFeed.tsx:347
+#: src/view/screens/ProfileFeed.tsx:353
+msgid "Save to my feeds"
+msgstr ""
+
+#: src/view/screens/SavedFeeds.tsx:123
+msgid "Saved Feeds"
+msgstr "Kayıtlı Beslemeler"
+
+#: src/view/com/lightbox/Lightbox.tsx:81
+msgid "Saved to your camera roll."
+msgstr ""
+
+#: src/view/screens/ProfileFeed.tsx:214
+msgid "Saved to your feeds"
+msgstr ""
+
+#: src/view/com/modals/EditProfile.tsx:226
+msgid "Saves any changes to your profile"
+msgstr "Profilinizdeki herhangi bir değişikliği kaydeder"
+
+#: src/view/com/modals/ChangeHandle.tsx:172
+msgid "Saves handle change to {handle}"
+msgstr "{handle} kullanıcı adı değişikliğini kaydeder"
+
+#: src/view/com/modals/crop-image/CropImage.web.tsx:146
+msgid "Saves image crop settings"
+msgstr ""
+
+#: src/screens/Onboarding/index.tsx:36
+msgid "Science"
+msgstr "Bilim"
+
+#: src/view/screens/ProfileList.tsx:875
+msgid "Scroll to top"
+msgstr "Başa kaydır"
+
+#: src/Navigation.tsx:451
+#: src/view/com/auth/LoggedOut.tsx:123
+#: src/view/com/modals/ListAddRemoveUsers.tsx:75
+#: src/view/com/util/forms/SearchInput.tsx:67
+#: src/view/com/util/forms/SearchInput.tsx:79
+#: src/view/screens/Search/Search.tsx:568
+#: src/view/screens/Search/Search.tsx:817
+#: src/view/screens/Search/Search.tsx:835
+#: src/view/shell/bottom-bar/BottomBar.tsx:170
+#: src/view/shell/desktop/LeftNav.tsx:328
+#: src/view/shell/desktop/Search.tsx:215
+#: src/view/shell/desktop/Search.tsx:224
+#: src/view/shell/Drawer.tsx:371
+#: src/view/shell/Drawer.tsx:372
+msgid "Search"
+msgstr "Ara"
+
+#: src/view/screens/Search/Search.tsx:884
+#: src/view/shell/desktop/Search.tsx:256
+msgid "Search for \"{query}\""
+msgstr "\"{query}\" için ara"
+
+#: src/components/TagMenu/index.tsx:145
+msgid "Search for all posts by @{authorHandle} with tag {displayTag}"
+msgstr ""
+
+#: src/components/TagMenu/index.tsx:94
+msgid "Search for all posts with tag {displayTag}"
+msgstr ""
+
+#: src/view/com/auth/LoggedOut.tsx:105
+#: src/view/com/auth/LoggedOut.tsx:106
+#: src/view/com/modals/ListAddRemoveUsers.tsx:70
+msgid "Search for users"
+msgstr "Kullanıcıları ara"
+
+#: src/view/com/modals/ChangeEmail.tsx:110
+msgid "Security Step Required"
+msgstr "Güvenlik Adımı Gerekli"
+
+#: src/components/TagMenu/index.web.tsx:66
+msgid "See {truncatedTag} posts"
+msgstr ""
+
+#: src/components/TagMenu/index.web.tsx:83
+msgid "See {truncatedTag} posts by user"
+msgstr ""
+
+#: src/components/TagMenu/index.tsx:128
+msgid "See <0>{displayTag}0> posts"
+msgstr ""
+
+#: src/components/TagMenu/index.tsx:187
+msgid "See <0>{displayTag}0> posts by this user"
+msgstr ""
+
+#: src/view/com/notifications/FeedItem.tsx:419
+#: src/view/com/util/UserAvatar.tsx:381
+msgid "See profile"
+msgstr ""
+
+#: src/view/screens/SavedFeeds.tsx:164
+msgid "See this guide"
+msgstr "Bu kılavuzu gör"
+
+#: src/view/com/auth/HomeLoggedOutCTA.tsx:40
+#~ msgid "See what's next"
+#~ msgstr "Ne olduğunu gör"
+
+#: src/view/com/util/Selector.tsx:106
+msgid "Select {item}"
+msgstr "{item} seç"
+
+#: src/screens/Login/ChooseAccountForm.tsx:61
+msgid "Select account"
+msgstr ""
+
+#: src/view/com/modals/ServerInput.tsx:75
+#~ msgid "Select Bluesky Social"
+#~ msgstr "Bluesky Social seç"
+
+#: src/screens/Login/index.tsx:120
+msgid "Select from an existing account"
+msgstr "Mevcut bir hesaptan seç"
+
+#: src/view/screens/LanguageSettings.tsx:299
+msgid "Select languages"
+msgstr ""
+
+#: src/components/ReportDialog/SelectLabelerView.tsx:30
+msgid "Select moderator"
+msgstr ""
+
+#: src/view/com/util/Selector.tsx:107
+msgid "Select option {i} of {numItems}"
+msgstr "{i} seçeneği, {numItems} seçenekten"
+
+#: src/view/com/auth/create/Step1.tsx:77
+#: src/view/com/auth/login/LoginForm.tsx:147
+#~ msgid "Select service"
+#~ msgstr "Servis seç"
+
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:52
+msgid "Select some accounts below to follow"
+msgstr "Aşağıdaki hesaplardan bazılarını takip et"
+
+#: src/components/ReportDialog/SubmitView.tsx:133
+msgid "Select the moderation service(s) to report to"
+msgstr ""
+
+#: src/view/com/auth/server-input/index.tsx:82
+msgid "Select the service that hosts your data."
+msgstr ""
+
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:100
+msgid "Select topical feeds to follow from the list below"
+msgstr "Aşağıdaki listeden takip edilecek konu beslemelerini seçin"
+
+#: src/screens/Onboarding/StepModeration/index.tsx:63
+msgid "Select what you want to see (or not see), and we’ll handle the rest."
+msgstr "Görmek istediğinizi (veya görmek istemediğinizi) seçin, gerisini biz hallederiz."
+
+#: src/view/screens/LanguageSettings.tsx:281
+msgid "Select which languages you want your subscribed feeds to include. If none are selected, all languages will be shown."
+msgstr "Abone olduğunuz beslemelerin hangi dilleri içermesini istediğinizi seçin. Hiçbiri seçilmezse, tüm diller gösterilir."
+
+#: src/view/screens/LanguageSettings.tsx:98
+#~ msgid "Select your app language for the default text to display in the app"
+#~ msgstr "Uygulama dilinizi seçin, uygulamada görüntülenecek varsayılan metin"
+
+#: src/view/screens/LanguageSettings.tsx:98
+msgid "Select your app language for the default text to display in the app."
+msgstr ""
+
+#: src/screens/Signup/StepInfo/index.tsx:135
+msgid "Select your date of birth"
+msgstr ""
+
+#: src/screens/Onboarding/StepInterests/index.tsx:200
+msgid "Select your interests from the options below"
+msgstr "Aşağıdaki seçeneklerden ilgi alanlarınızı seçin"
+
+#: src/view/com/auth/create/Step2.tsx:155
+#~ msgid "Select your phone's country"
+#~ msgstr "Telefonunuzun ülkesini seçin"
+
+#: src/view/screens/LanguageSettings.tsx:190
+msgid "Select your preferred language for translations in your feed."
+msgstr "Beslemenizdeki çeviriler için tercih ettiğiniz dili seçin."
+
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:117
+msgid "Select your primary algorithmic feeds"
+msgstr "Birincil algoritmik beslemelerinizi seçin"
+
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:133
+msgid "Select your secondary algorithmic feeds"
+msgstr "İkincil algoritmik beslemelerinizi seçin"
+
+#: src/view/com/modals/VerifyEmail.tsx:202
+#: src/view/com/modals/VerifyEmail.tsx:204
+msgid "Send Confirmation Email"
+msgstr "Onay E-postası Gönder"
+
+#: src/view/com/modals/DeleteAccount.tsx:130
+msgid "Send email"
+msgstr "E-posta gönder"
+
+#: src/view/com/modals/DeleteAccount.tsx:143
+msgctxt "action"
+msgid "Send Email"
+msgstr "E-posta Gönder"
+
+#: src/view/shell/Drawer.tsx:304
+#: src/view/shell/Drawer.tsx:325
+msgid "Send feedback"
+msgstr "Geribildirim gönder"
+
+#: src/components/ReportDialog/SubmitView.tsx:213
+#: src/components/ReportDialog/SubmitView.tsx:217
+msgid "Send report"
+msgstr ""
+
+#: src/view/com/modals/report/SendReportButton.tsx:45
+#~ msgid "Send Report"
+#~ msgstr "Rapor Gönder"
+
+#: src/components/ReportDialog/SelectLabelerView.tsx:44
+msgid "Send report to {0}"
+msgstr ""
+
+#: src/view/com/modals/DeleteAccount.tsx:132
+msgid "Sends email with confirmation code for account deletion"
+msgstr "Hesap silme için onay kodu içeren e-posta gönderir"
+
+#: src/view/com/auth/server-input/index.tsx:114
+msgid "Server address"
+msgstr ""
+
+#: src/view/com/modals/ContentFilteringSettings.tsx:306
+#~ msgid "Set {value} for {labelGroup} content moderation policy"
+#~ msgstr "{labelGroup} içerik düzenleme politikası için {value} ayarla"
+
+#: src/view/com/modals/ContentFilteringSettings.tsx:155
+#: src/view/com/modals/ContentFilteringSettings.tsx:174
+#~ msgctxt "action"
+#~ msgid "Set Age"
+#~ msgstr "Yaş Ayarla"
+
+#: src/screens/Moderation/index.tsx:304
+msgid "Set birthdate"
+msgstr ""
+
+#: src/view/screens/Settings.tsx:482
+#~ msgid "Set color theme to dark"
+#~ msgstr "Renk temasını koyu olarak ayarla"
+
+#: src/view/screens/Settings.tsx:475
+#~ msgid "Set color theme to light"
+#~ msgstr "Renk temasını açık olarak ayarla"
+
+#: src/view/screens/Settings.tsx:469
+#~ msgid "Set color theme to system setting"
+#~ msgstr "Renk temasını sistem ayarına ayarla"
+
+#: src/view/screens/Settings.tsx:508
+#~ msgid "Set dark theme to the dark theme"
+#~ msgstr "Koyu teması koyu temaya ayarla"
+
+#: src/view/screens/Settings.tsx:501
+#~ msgid "Set dark theme to the dim theme"
+#~ msgstr "Koyu teması loş temaya ayarla"
+
+#: src/screens/Login/SetNewPasswordForm.tsx:102
+msgid "Set new password"
+msgstr "Yeni şifre ayarla"
+
+#: src/view/com/auth/create/Step1.tsx:169
+#~ msgid "Set password"
+#~ msgstr "Şifre ayarla"
+
+#: src/view/screens/PreferencesFollowingFeed.tsx:225
+msgid "Set this setting to \"No\" to hide all quote posts from your feed. Reposts will still be visible."
+msgstr "Bu ayarı \"Hayır\" olarak ayarlayarak beslemenizden tüm alıntı gönderileri gizleyebilirsiniz. Yeniden göndermeler hala görünür olacaktır."
+
+#: src/view/screens/PreferencesFollowingFeed.tsx:122
+msgid "Set this setting to \"No\" to hide all replies from your feed."
+msgstr "Bu ayarı \"Hayır\" olarak ayarlayarak beslemenizden tüm yanıtları gizleyebilirsiniz."
+
+#: src/view/screens/PreferencesFollowingFeed.tsx:191
+msgid "Set this setting to \"No\" to hide all reposts from your feed."
+msgstr "Bu ayarı \"Hayır\" olarak ayarlayarak beslemenizden tüm yeniden göndermeleri gizleyebilirsiniz."
+
+#: src/view/screens/PreferencesThreads.tsx:122
+msgid "Set this setting to \"Yes\" to show replies in a threaded view. This is an experimental feature."
+msgstr "Bu ayarı \"Evet\" olarak ayarlayarak yanıtları konu tabanlı görüntülemek için ayarlayın. Bu deneysel bir özelliktir."
+
+#: src/view/screens/PreferencesHomeFeed.tsx:261
+#~ msgid "Set this setting to \"Yes\" to show samples of your saved feeds in your following feed. This is an experimental feature."
+#~ msgstr "Bu ayarı \"Evet\" olarak ayarlayarak kayıtlı beslemelerinizin örneklerini takip ettiğiniz beslemede göstermek için ayarlayın. Bu deneysel bir özelliktir."
+
+#: src/view/screens/PreferencesFollowingFeed.tsx:261
+msgid "Set this setting to \"Yes\" to show samples of your saved feeds in your Following feed. This is an experimental feature."
+msgstr ""
+
+#: src/screens/Onboarding/Layout.tsx:48
+msgid "Set up your account"
+msgstr "Hesabınızı ayarlayın"
+
+#: src/view/com/modals/ChangeHandle.tsx:267
+msgid "Sets Bluesky username"
+msgstr "Bluesky kullanıcı adını ayarlar"
+
+#: src/view/screens/Settings/index.tsx:458
+msgid "Sets color theme to dark"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:451
+msgid "Sets color theme to light"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:445
+msgid "Sets color theme to system setting"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:484
+msgid "Sets dark theme to the dark theme"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:477
+msgid "Sets dark theme to the dim theme"
+msgstr ""
+
+#: src/screens/Login/ForgotPasswordForm.tsx:113
+msgid "Sets email for password reset"
+msgstr "Şifre sıfırlama için e-posta ayarlar"
+
+#: src/view/com/auth/login/ForgotPasswordForm.tsx:118
+#~ msgid "Sets hosting provider for password reset"
+#~ msgstr "Şifre sıfırlama için barındırma sağlayıcısını ayarlar"
+
+#: src/view/com/modals/crop-image/CropImage.web.tsx:124
+msgid "Sets image aspect ratio to square"
+msgstr ""
+
+#: src/view/com/modals/crop-image/CropImage.web.tsx:114
+msgid "Sets image aspect ratio to tall"
+msgstr ""
+
+#: src/view/com/modals/crop-image/CropImage.web.tsx:104
+msgid "Sets image aspect ratio to wide"
+msgstr ""
+
+#: src/view/com/auth/create/Step1.tsx:78
+#: src/view/com/auth/login/LoginForm.tsx:148
+#~ msgid "Sets server for the Bluesky client"
+#~ msgstr "Bluesky istemcisi için sunucuyu ayarlar"
+
+#: src/Navigation.tsx:139
+#: src/view/screens/Settings/index.tsx:316
+#: src/view/shell/desktop/LeftNav.tsx:437
+#: src/view/shell/Drawer.tsx:576
+#: src/view/shell/Drawer.tsx:577
+msgid "Settings"
+msgstr "Ayarlar"
+
+#: src/view/com/modals/SelfLabel.tsx:125
+msgid "Sexual activity or erotic nudity."
+msgstr "Cinsel aktivite veya erotik çıplaklık."
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:38
+msgid "Sexually Suggestive"
+msgstr ""
+
+#: src/view/com/lightbox/Lightbox.tsx:141
+msgctxt "action"
+msgid "Share"
+msgstr "Paylaş"
+
+#: src/view/com/profile/ProfileMenu.tsx:215
+#: src/view/com/profile/ProfileMenu.tsx:224
+#: src/view/com/util/forms/PostDropdownBtn.tsx:236
+#: src/view/com/util/forms/PostDropdownBtn.tsx:245
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:237
+#: src/view/screens/ProfileList.tsx:390
+msgid "Share"
+msgstr "Paylaş"
+
+#: src/view/com/profile/ProfileMenu.tsx:373
+#: src/view/com/util/forms/PostDropdownBtn.tsx:369
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:253
+msgid "Share anyway"
+msgstr ""
+
+#: src/view/screens/ProfileFeed.tsx:373
+#: src/view/screens/ProfileFeed.tsx:375
+msgid "Share feed"
+msgstr "Beslemeyi paylaş"
+
+#: src/view/com/modals/LinkWarning.tsx:89
+#: src/view/com/modals/LinkWarning.tsx:95
+msgid "Share Link"
+msgstr ""
+
+#: src/view/com/modals/LinkWarning.tsx:92
+msgid "Shares the linked website"
+msgstr ""
+
+#: src/components/moderation/ContentHider.tsx:115
+#: src/components/moderation/LabelPreference.tsx:136
+#: src/components/moderation/PostHider.tsx:107
+#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:54
+#: src/view/screens/Settings/index.tsx:366
+msgid "Show"
+msgstr "Göster"
+
+#: src/view/screens/PreferencesFollowingFeed.tsx:68
+msgid "Show all replies"
+msgstr "Tüm yanıtları göster"
+
+#: src/components/moderation/ScreenHider.tsx:169
+#: src/components/moderation/ScreenHider.tsx:172
+msgid "Show anyway"
+msgstr "Yine de göster"
+
+#: src/lib/moderation/useLabelBehaviorDescription.ts:27
+#: src/lib/moderation/useLabelBehaviorDescription.ts:63
+msgid "Show badge"
+msgstr ""
+
+#: src/lib/moderation/useLabelBehaviorDescription.ts:61
+msgid "Show badge and filter from feeds"
+msgstr ""
+
+#: src/view/com/modals/EmbedConsent.tsx:87
+#~ msgid "Show embeds from {0}"
+#~ msgstr "{0} adresinden gömülü öğeleri göster"
+
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:200
+msgid "Show follows similar to {0}"
+msgstr "{0} adresine benzer takipçileri göster"
+
+#: src/view/com/post-thread/PostThreadItem.tsx:501
+#: src/view/com/post/Post.tsx:212
+#: src/view/com/posts/FeedItem.tsx:360
+msgid "Show More"
+msgstr "Daha Fazla Göster"
+
+#: src/view/screens/PreferencesFollowingFeed.tsx:258
+msgid "Show Posts from My Feeds"
+msgstr "Beslemelerimden Gönderileri Göster"
+
+#: src/view/screens/PreferencesFollowingFeed.tsx:222
+msgid "Show Quote Posts"
+msgstr "Alıntı Gönderileri Göster"
+
+#: src/screens/Onboarding/StepFollowingFeed.tsx:119
+msgid "Show quote-posts in Following feed"
+msgstr "Alıntı gönderileri takip etme beslemesinde göster"
+
+#: src/screens/Onboarding/StepFollowingFeed.tsx:135
+msgid "Show quotes in Following"
+msgstr "Takip etme beslemesinde alıntıları göster"
+
+#: src/screens/Onboarding/StepFollowingFeed.tsx:95
+msgid "Show re-posts in Following feed"
+msgstr "Yeniden göndermeleri takip etme beslemesinde göster"
+
+#: src/view/screens/PreferencesFollowingFeed.tsx:119
+msgid "Show Replies"
+msgstr "Yanıtları Göster"
+
+#: src/view/screens/PreferencesThreads.tsx:100
+msgid "Show replies by people you follow before all other replies."
+msgstr "Takip ettiğiniz kişilerin yanıtlarını diğer tüm yanıtlardan önce göster."
+
+#: src/screens/Onboarding/StepFollowingFeed.tsx:87
+msgid "Show replies in Following"
+msgstr "Takip etme beslemesinde yanıtları göster"
+
+#: src/screens/Onboarding/StepFollowingFeed.tsx:71
+msgid "Show replies in Following feed"
+msgstr "Takip etme beslemesinde yanıtları göster"
+
+#: src/view/screens/PreferencesFollowingFeed.tsx:70
+msgid "Show replies with at least {value} {0}"
+msgstr "En az {value} {0} olan yanıtları göster"
+
+#: src/view/screens/PreferencesFollowingFeed.tsx:188
+msgid "Show Reposts"
+msgstr "Yeniden Göndermeleri Göster"
+
+#: src/screens/Onboarding/StepFollowingFeed.tsx:111
+msgid "Show reposts in Following"
+msgstr "Takip etme beslemesinde yeniden göndermeleri göster"
+
+#: src/components/moderation/ContentHider.tsx:68
+#: src/components/moderation/PostHider.tsx:64
+msgid "Show the content"
+msgstr "İçeriği göster"
+
+#: src/view/com/notifications/FeedItem.tsx:353
+msgid "Show users"
+msgstr "Kullanıcıları göster"
+
+#: src/lib/moderation/useLabelBehaviorDescription.ts:58
+msgid "Show warning"
+msgstr ""
+
+#: src/lib/moderation/useLabelBehaviorDescription.ts:56
+msgid "Show warning and filter from feeds"
+msgstr ""
+
+#: src/view/com/profile/ProfileHeader.tsx:501
+#~ msgid "Shows a list of users similar to this user."
+#~ msgstr "Bu kullanıcıya benzer kullanıcıların listesini gösterir."
+
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:130
+msgid "Shows posts from {0} in your feed"
+msgstr "Beslemenizde {0} adresinden gönderileri gösterir"
+
+#: src/components/dialogs/Signin.tsx:97
+#: src/components/dialogs/Signin.tsx:99
+#: src/screens/Login/index.tsx:100
+#: src/screens/Login/index.tsx:119
+#: src/screens/Login/LoginForm.tsx:131
+#: src/view/com/auth/SplashScreen.tsx:63
+#: src/view/com/auth/SplashScreen.tsx:72
+#: src/view/com/auth/SplashScreen.web.tsx:107
+#: src/view/com/auth/SplashScreen.web.tsx:116
+#: src/view/shell/bottom-bar/BottomBar.tsx:301
+#: src/view/shell/bottom-bar/BottomBar.tsx:302
+#: src/view/shell/bottom-bar/BottomBar.tsx:304
+#: src/view/shell/bottom-bar/BottomBarWeb.tsx:178
+#: src/view/shell/bottom-bar/BottomBarWeb.tsx:179
+#: src/view/shell/bottom-bar/BottomBarWeb.tsx:181
+#: src/view/shell/NavSignupCard.tsx:63
+#: src/view/shell/NavSignupCard.tsx:64
+#: src/view/shell/NavSignupCard.tsx:66
+msgid "Sign in"
+msgstr "Giriş yap"
+
+#: src/view/com/auth/HomeLoggedOutCTA.tsx:78
+#: src/view/com/auth/SplashScreen.tsx:57
+#: src/view/com/auth/SplashScreen.web.tsx:87
+#~ msgid "Sign In"
+#~ msgstr "Giriş Yap"
+
+#: src/components/AccountList.tsx:109
+msgid "Sign in as {0}"
+msgstr "{0} olarak giriş yap"
+
+#: src/screens/Login/ChooseAccountForm.tsx:64
+msgid "Sign in as..."
+msgstr "Olarak giriş yap..."
+
+#: src/components/dialogs/Signin.tsx:75
+msgid "Sign in or create your account to join the conversation!"
+msgstr ""
+
+#: src/view/com/auth/login/LoginForm.tsx:134
+#~ msgid "Sign into"
+#~ msgstr "Olarak giriş yap"
+
+#: src/components/dialogs/Signin.tsx:46
+msgid "Sign into Bluesky or create a new account"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:118
+#: src/view/screens/Settings/index.tsx:121
+msgid "Sign out"
+msgstr "Çıkış yap"
+
+#: src/view/shell/bottom-bar/BottomBar.tsx:291
+#: src/view/shell/bottom-bar/BottomBar.tsx:292
+#: src/view/shell/bottom-bar/BottomBar.tsx:294
+#: src/view/shell/bottom-bar/BottomBarWeb.tsx:168
+#: src/view/shell/bottom-bar/BottomBarWeb.tsx:169
+#: src/view/shell/bottom-bar/BottomBarWeb.tsx:171
+#: src/view/shell/NavSignupCard.tsx:54
+#: src/view/shell/NavSignupCard.tsx:55
+#: src/view/shell/NavSignupCard.tsx:57
+msgid "Sign up"
+msgstr "Kaydol"
+
+#: src/view/shell/NavSignupCard.tsx:47
+msgid "Sign up or sign in to join the conversation"
+msgstr "Konuşmaya katılmak için kaydolun veya giriş yapın"
+
+#: src/components/moderation/ScreenHider.tsx:97
+#: src/lib/moderation/useGlobalLabelStrings.ts:28
+msgid "Sign-in Required"
+msgstr "Giriş Yapılması Gerekiyor"
+
+#: src/view/screens/Settings/index.tsx:377
+msgid "Signed in as"
+msgstr "Olarak giriş yapıldı"
+
+#: src/screens/Login/ChooseAccountForm.tsx:48
+msgid "Signed in as @{0}"
+msgstr "@{0} olarak giriş yapıldı"
+
+#: src/view/com/modals/SwitchAccount.tsx:66
+#~ msgid "Signs {0} out of Bluesky"
+#~ msgstr "{0} adresini Bluesky'den çıkarır"
+
+#: src/screens/Onboarding/StepInterests/index.tsx:239
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:203
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:35
+msgid "Skip"
+msgstr "Atla"
+
+#: src/screens/Onboarding/StepInterests/index.tsx:236
+msgid "Skip this flow"
+msgstr "Bu akışı atla"
+
+#: src/view/com/auth/create/Step2.tsx:82
+#~ msgid "SMS verification"
+#~ msgstr "SMS doğrulama"
+
+#: src/screens/Onboarding/index.tsx:40
+msgid "Software Dev"
+msgstr "Yazılım Geliştirme"
+
+#: src/view/com/modals/ProfilePreview.tsx:62
+#~ msgid "Something went wrong and we're not sure what."
+#~ msgstr "Bir şeyler yanlış gitti ve ne olduğundan emin değiliz."
+
+#: src/components/ReportDialog/index.tsx:59
+#: src/screens/Moderation/index.tsx:114
+#: src/screens/Profile/Sections/Labels.tsx:87
+msgid "Something went wrong, please try again."
+msgstr ""
+
+#: src/view/com/modals/Waitlist.tsx:51
+#~ msgid "Something went wrong. Check your email and try again."
+#~ msgstr "Bir şeyler yanlış gitti. E-postanızı kontrol edin ve tekrar deneyin."
+
+#: src/App.native.tsx:64
+msgid "Sorry! Your session expired. Please log in again."
+msgstr "Üzgünüz! Oturumunuzun süresi doldu. Lütfen tekrar giriş yapın."
+
+#: src/view/screens/PreferencesThreads.tsx:69
+msgid "Sort Replies"
+msgstr "Yanıtları Sırala"
+
+#: src/view/screens/PreferencesThreads.tsx:72
+msgid "Sort replies to the same post by:"
+msgstr "Aynı gönderiye verilen yanıtları şuna göre sırala:"
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:146
+msgid "Source:"
+msgstr ""
+
+#: src/lib/moderation/useReportOptions.ts:65
+msgid "Spam"
+msgstr ""
+
+#: src/lib/moderation/useReportOptions.ts:53
+msgid "Spam; excessive mentions or replies"
+msgstr ""
+
+#: src/screens/Onboarding/index.tsx:30
+msgid "Sports"
+msgstr "Spor"
+
+#: src/view/com/modals/crop-image/CropImage.web.tsx:123
+msgid "Square"
+msgstr "Kare"
+
+#: src/view/com/modals/ServerInput.tsx:62
+#~ msgid "Staging"
+#~ msgstr "Staging"
+
+#: src/view/screens/Settings/index.tsx:867
+msgid "Status page"
+msgstr "Durum sayfası"
+
+#: src/screens/Signup/index.tsx:143
+msgid "Step"
+msgstr ""
+
+#: src/view/com/auth/create/StepHeader.tsx:22
+#~ msgid "Step {0} of {numSteps}"
+#~ msgstr "{numSteps} adımdan {0}. adım"
+
+#: src/view/screens/Settings/index.tsx:295
+msgid "Storage cleared, you need to restart the app now."
+msgstr "Depolama temizlendi, şimdi uygulamayı yeniden başlatmanız gerekiyor."
+
+#: src/Navigation.tsx:211
+#: src/view/screens/Settings/index.tsx:795
+msgid "Storybook"
+msgstr "Storybook"
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:255
+#: src/components/moderation/LabelsOnMeDialog.tsx:256
+msgid "Submit"
+msgstr "Submit"
+
+#: src/view/screens/ProfileList.tsx:592
+msgid "Subscribe"
+msgstr "Abone ol"
+
+#: src/screens/Profile/Sections/Labels.tsx:191
+msgid "Subscribe to @{0} to use these labels:"
+msgstr ""
+
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:227
+msgid "Subscribe to Labeler"
+msgstr ""
+
+#: src/screens/Onboarding/StepAlgoFeeds/FeedCard.tsx:172
+#: src/screens/Onboarding/StepAlgoFeeds/FeedCard.tsx:307
+msgid "Subscribe to the {0} feed"
+msgstr "{0} beslemesine abone ol"
+
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:191
+msgid "Subscribe to this labeler"
+msgstr ""
+
+#: src/view/screens/ProfileList.tsx:588
+msgid "Subscribe to this list"
+msgstr "Bu listeye abone ol"
+
+#: src/view/screens/Search/Search.tsx:523
+msgid "Suggested Follows"
+msgstr "Önerilen Takipçiler"
+
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:65
+msgid "Suggested for you"
+msgstr "Sana önerilenler"
+
+#: src/view/com/modals/SelfLabel.tsx:95
+msgid "Suggestive"
+msgstr "Tehlikeli"
+
+#: src/Navigation.tsx:226
+#: src/view/screens/Support.tsx:30
+#: src/view/screens/Support.tsx:33
+msgid "Support"
+msgstr "Destek"
+
+#: src/view/com/modals/ProfilePreview.tsx:110
+#~ msgid "Swipe up to see more"
+#~ msgstr "Daha fazlasını görmek için yukarı kaydır"
+
+#: src/components/dialogs/SwitchAccount.tsx:46
+#: src/components/dialogs/SwitchAccount.tsx:49
+msgid "Switch Account"
+msgstr "Hesap Değiştir"
+
+#: src/view/screens/Settings/index.tsx:150
+msgid "Switch to {0}"
+msgstr "{0} adresine geç"
+
+#: src/view/screens/Settings/index.tsx:151
+msgid "Switches the account you are logged in to"
+msgstr "Giriş yaptığınız hesabı değiştirir"
+
+#: src/view/screens/Settings/index.tsx:442
+msgid "System"
+msgstr "Sistem"
+
+#: src/view/screens/Settings/index.tsx:783
+msgid "System log"
+msgstr "Sistem günlüğü"
+
+#: src/components/dialogs/MutedWords.tsx:323
+msgid "tag"
+msgstr ""
+
+#: src/components/TagMenu/index.tsx:78
+msgid "Tag menu: {displayTag}"
+msgstr ""
+
+#: src/view/com/modals/crop-image/CropImage.web.tsx:113
+msgid "Tall"
+msgstr "Uzun"
+
+#: src/view/com/util/images/AutoSizedImage.tsx:70
+msgid "Tap to view fully"
+msgstr "Tamamen görüntülemek için dokunun"
+
+#: src/screens/Onboarding/index.tsx:39
+msgid "Tech"
+msgstr "Teknoloji"
+
+#: src/view/shell/desktop/RightNav.tsx:81
+msgid "Terms"
+msgstr "Şartlar"
+
+#: src/Navigation.tsx:236
+#: src/screens/Signup/StepInfo/Policies.tsx:49
+#: src/view/screens/Settings/index.tsx:881
+#: src/view/screens/TermsOfService.tsx:29
+#: src/view/shell/Drawer.tsx:265
+msgid "Terms of Service"
+msgstr "Hizmet Şartları"
+
+#: src/lib/moderation/useReportOptions.ts:58
+#: src/lib/moderation/useReportOptions.ts:79
+#: src/lib/moderation/useReportOptions.ts:87
+msgid "Terms used violate community standards"
+msgstr ""
+
+#: src/components/dialogs/MutedWords.tsx:323
+msgid "text"
+msgstr ""
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:219
+msgid "Text input field"
+msgstr "Metin giriş alanı"
+
+#: src/components/ReportDialog/SubmitView.tsx:76
+msgid "Thank you. Your report has been sent."
+msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:465
+msgid "That contains the following:"
+msgstr ""
+
+#: src/screens/Signup/index.tsx:85
+msgid "That handle is already taken."
+msgstr ""
+
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:282
+#: src/view/com/profile/ProfileMenu.tsx:349
+msgid "The account will be able to interact with you after unblocking."
+msgstr "Hesap, engeli kaldırdıktan sonra sizinle etkileşime geçebilecek."
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:127
+msgid "the author"
+msgstr ""
+
+#: src/view/screens/CommunityGuidelines.tsx:36
+msgid "The Community Guidelines have been moved to <0/>"
+msgstr "Topluluk Kuralları <0/> konumuna taşındı"
+
+#: src/view/screens/CopyrightPolicy.tsx:33
+msgid "The Copyright Policy has been moved to <0/>"
+msgstr "Telif Hakkı Politikası <0/> konumuna taşındı"
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:48
+msgid "The following labels were applied to your account."
+msgstr ""
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:49
+msgid "The following labels were applied to your content."
+msgstr ""
+
+#: src/screens/Onboarding/Layout.tsx:58
+msgid "The following steps will help customize your Bluesky experience."
+msgstr "Aşağıdaki adımlar, Bluesky deneyiminizi özelleştirmenize yardımcı olacaktır."
+
+#: src/view/com/post-thread/PostThread.tsx:153
+#: src/view/com/post-thread/PostThread.tsx:165
+msgid "The post may have been deleted."
+msgstr "Gönderi silinmiş olabilir."
+
+#: src/view/screens/PrivacyPolicy.tsx:33
+msgid "The Privacy Policy has been moved to <0/>"
+msgstr "Gizlilik Politikası <0/> konumuna taşındı"
+
+#: src/view/screens/Support.tsx:36
+msgid "The support form has been moved. If you need help, please <0/> or visit {HELP_DESK_URL} to get in touch with us."
+msgstr "Destek formu taşındı. Yardıma ihtiyacınız varsa, lütfen <0/> veya bize ulaşmak için {HELP_DESK_URL} adresini ziyaret edin."
+
+#: src/view/screens/TermsOfService.tsx:33
+msgid "The Terms of Service have been moved to"
+msgstr "Hizmet Şartları taşındı"
+
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:141
+msgid "There are many feeds to try:"
+msgstr "Denemek için birçok besleme var:"
+
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:114
+#: src/view/screens/ProfileFeed.tsx:556
+msgid "There was an an issue contacting the server, please check your internet connection and try again."
+msgstr "Sunucuya ulaşma konusunda bir sorun oluştu, lütfen internet bağlantınızı kontrol edin ve tekrar deneyin."
+
+#: src/view/com/posts/FeedErrorMessage.tsx:138
+msgid "There was an an issue removing this feed. Please check your internet connection and try again."
+msgstr "Bu beslemeyi kaldırma konusunda bir sorun oluştu. Lütfen internet bağlantınızı kontrol edin ve tekrar deneyin."
+
+#: src/view/screens/ProfileFeed.tsx:219
+msgid "There was an an issue updating your feeds, please check your internet connection and try again."
+msgstr "Beslemelerinizi güncelleme konusunda bir sorun oluştu, lütfen internet bağlantınızı kontrol edin ve tekrar deneyin."
+
+#: src/view/screens/ProfileFeed.tsx:247
+#: src/view/screens/ProfileList.tsx:277
+#: src/view/screens/SavedFeeds.tsx:211
+#: src/view/screens/SavedFeeds.tsx:241
+#: src/view/screens/SavedFeeds.tsx:262
+msgid "There was an issue contacting the server"
+msgstr "Sunucuya ulaşma konusunda bir sorun oluştu"
+
+#: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:57
+#: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:66
+#: src/view/com/feeds/FeedSourceCard.tsx:110
+#: src/view/com/feeds/FeedSourceCard.tsx:123
+msgid "There was an issue contacting your server"
+msgstr "Sunucunuza ulaşma konusunda bir sorun oluştu"
+
+#: src/view/com/notifications/Feed.tsx:117
+msgid "There was an issue fetching notifications. Tap here to try again."
+msgstr "Bildirimleri almakta bir sorun oluştu. Tekrar denemek için buraya dokunun."
+
+#: src/view/com/posts/Feed.tsx:287
+msgid "There was an issue fetching posts. Tap here to try again."
+msgstr "Gönderileri almakta bir sorun oluştu. Tekrar denemek için buraya dokunun."
+
+#: src/view/com/lists/ListMembers.tsx:172
+msgid "There was an issue fetching the list. Tap here to try again."
+msgstr "Listeyi almakta bir sorun oluştu. Tekrar denemek için buraya dokunun."
+
+#: src/view/com/feeds/ProfileFeedgens.tsx:156
+#: src/view/com/lists/ProfileLists.tsx:163
+msgid "There was an issue fetching your lists. Tap here to try again."
+msgstr "Listelerinizi almakta bir sorun oluştu. Tekrar denemek için buraya dokunun."
+
+#: src/components/ReportDialog/SubmitView.tsx:81
+msgid "There was an issue sending your report. Please check your internet connection."
+msgstr ""
+
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:65
+msgid "There was an issue syncing your preferences with the server"
+msgstr "Tercihlerinizi sunucuyla senkronize etme konusunda bir sorun oluştu"
+
+#: src/view/screens/AppPasswords.tsx:68
+msgid "There was an issue with fetching your app passwords"
+msgstr "Uygulama şifrelerinizi almakta bir sorun oluştu"
+
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:105
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:127
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:141
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:99
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:111
+#: src/view/com/profile/ProfileMenu.tsx:106
+#: src/view/com/profile/ProfileMenu.tsx:117
+#: src/view/com/profile/ProfileMenu.tsx:132
+#: src/view/com/profile/ProfileMenu.tsx:143
+#: src/view/com/profile/ProfileMenu.tsx:157
+#: src/view/com/profile/ProfileMenu.tsx:170
+msgid "There was an issue! {0}"
+msgstr "Bir sorun oluştu! {0}"
+
+#: src/view/screens/ProfileList.tsx:290
+#: src/view/screens/ProfileList.tsx:304
+#: src/view/screens/ProfileList.tsx:318
+#: src/view/screens/ProfileList.tsx:332
+msgid "There was an issue. Please check your internet connection and try again."
+msgstr "Bir sorun oluştu. Lütfen internet bağlantınızı kontrol edin ve tekrar deneyin."
+
+#: src/view/com/util/ErrorBoundary.tsx:51
+msgid "There was an unexpected issue in the application. Please let us know if this happened to you!"
+msgstr "Uygulamada beklenmeyen bir sorun oluştu. Bu size de olduysa lütfen bize bildirin!"
+
+#: src/screens/Deactivated.tsx:106
+msgid "There's been a rush of new users to Bluesky! We'll activate your account as soon as we can."
+msgstr "Bluesky'e bir dizi yeni kullanıcı geldi! Hesabınızı en kısa sürede etkinleştireceğiz."
+
+#: src/view/com/auth/create/Step2.tsx:55
+#~ msgid "There's something wrong with this number. Please choose your country and enter your full phone number!"
+#~ msgstr "Bu numarada bir sorun var. Lütfen ülkenizi seçin ve tam telefon numaranızı girin!"
+
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:146
+msgid "These are popular accounts you might like:"
+msgstr "Bunlar, beğenebileceğiniz popüler hesaplar:"
+
+#: src/components/moderation/ScreenHider.tsx:116
+msgid "This {screenDescription} has been flagged:"
+msgstr "Bu {screenDescription} işaretlendi:"
+
+#: src/components/moderation/ScreenHider.tsx:111
+msgid "This account has requested that users sign in to view their profile."
+msgstr "Bu hesap, kullanıcıların profilini görüntülemek için giriş yapmalarını istedi."
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:204
+msgid "This appeal will be sent to <0>{0}0>."
+msgstr ""
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:19
+msgid "This content has been hidden by the moderators."
+msgstr ""
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:24
+msgid "This content has received a general warning from moderators."
+msgstr ""
+
+#: src/components/dialogs/EmbedConsent.tsx:64
+msgid "This content is hosted by {0}. Do you want to enable external media?"
+msgstr "Bu içerik {0} tarafından barındırılıyor. Harici medyayı etkinleştirmek ister misiniz?"
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:77
+#: src/lib/moderation/useModerationCauseDescription.ts:77
+msgid "This content is not available because one of the users involved has blocked the other."
+msgstr "Bu içerik, içerikte yer alan kullanıcılardan biri diğerini engellediği için mevcut değil."
+
+#: src/view/com/posts/FeedErrorMessage.tsx:108
+msgid "This content is not viewable without a Bluesky account."
+msgstr "Bu içerik, bir Bluesky hesabı olmadan görüntülenemez."
+
+#: src/view/screens/Settings/ExportCarDialog.tsx:75
+msgid "This feature is in beta. You can read more about repository exports in <0>this blogpost0>."
+msgstr ""
+
+#: src/view/com/posts/FeedErrorMessage.tsx:114
+msgid "This feed is currently receiving high traffic and is temporarily unavailable. Please try again later."
+msgstr "Bu besleme şu anda yüksek trafik alıyor ve geçici olarak kullanılamıyor. Lütfen daha sonra tekrar deneyin."
+
+#: src/screens/Profile/Sections/Feed.tsx:59
+#: src/view/screens/ProfileFeed.tsx:488
+#: src/view/screens/ProfileList.tsx:677
+msgid "This feed is empty!"
+msgstr "Bu besleme boş!"
+
+#: src/view/com/posts/CustomFeedEmptyState.tsx:37
+msgid "This feed is empty! You may need to follow more users or tune your language settings."
+msgstr "Bu besleme boş! Daha fazla kullanıcı takip etmeniz veya dil ayarlarınızı ayarlamanız gerekebilir."
+
+#: src/components/dialogs/BirthDateSettings.tsx:41
+msgid "This information is not shared with other users."
+msgstr "Bu bilgi diğer kullanıcılarla paylaşılmaz."
+
+#: src/view/com/modals/VerifyEmail.tsx:119
+msgid "This is important in case you ever need to change your email or reset your password."
+msgstr "Bu, e-postanızı değiştirmeniz veya şifrenizi sıfırlamanız gerektiğinde önemlidir."
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:124
+msgid "This label was applied by {0}."
+msgstr ""
+
+#: src/screens/Profile/Sections/Labels.tsx:178
+msgid "This labeler hasn't declared what labels it publishes, and may not be active."
+msgstr ""
+
+#: src/view/com/modals/LinkWarning.tsx:72
+msgid "This link is taking you to the following website:"
+msgstr "Bu bağlantı sizi aşağıdaki web sitesine götürüyor:"
+
+#: src/view/screens/ProfileList.tsx:855
+msgid "This list is empty!"
+msgstr "Bu liste boş!"
+
+#: src/screens/Profile/ErrorState.tsx:40
+msgid "This moderation service is unavailable. See below for more details. If this issue persists, contact us."
+msgstr ""
+
+#: src/view/com/modals/AddAppPasswords.tsx:107
+msgid "This name is already in use"
+msgstr "Bu isim zaten kullanılıyor"
+
+#: src/view/com/post-thread/PostThreadItem.tsx:125
+msgid "This post has been deleted."
+msgstr "Bu gönderi silindi."
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:366
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:250
+msgid "This post is only visible to logged-in users. It won't be visible to people who aren't logged in."
+msgstr ""
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:348
+msgid "This post will be hidden from feeds."
+msgstr ""
+
+#: src/view/com/profile/ProfileMenu.tsx:370
+msgid "This profile is only visible to logged-in users. It won't be visible to people who aren't logged in."
+msgstr ""
+
+#: src/screens/Signup/StepInfo/Policies.tsx:37
+msgid "This service has not provided terms of service or a privacy policy."
+msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:445
+msgid "This should create a domain record at:"
+msgstr ""
+
+#: src/view/com/profile/ProfileFollowers.tsx:87
+msgid "This user doesn't have any followers."
+msgstr ""
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:72
+#: src/lib/moderation/useModerationCauseDescription.ts:68
+msgid "This user has blocked you. You cannot view their content."
+msgstr "Bu kullanıcı sizi engelledi. İçeriklerini göremezsiniz."
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:30
+msgid "This user has requested that their content only be shown to signed-in users."
+msgstr ""
+
+#: src/view/com/modals/ModerationDetails.tsx:42
+#~ msgid "This user is included in the <0/> list which you have blocked."
+#~ msgstr "Bu kullanıcı, engellediğiniz <0/> listesinde bulunuyor."
+
+#: src/view/com/modals/ModerationDetails.tsx:74
+#~ msgid "This user is included in the <0/> list which you have muted."
+#~ msgstr "Bu kullanıcı, sessize aldığınız <0/> listesinde bulunuyor."
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:55
+msgid "This user is included in the <0>{0}0> list which you have blocked."
+msgstr ""
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:84
+msgid "This user is included in the <0>{0}0> list which you have muted."
+msgstr ""
+
+#: src/view/com/profile/ProfileFollows.tsx:87
+msgid "This user isn't following anyone."
+msgstr ""
+
+#: src/view/com/modals/SelfLabel.tsx:137
+msgid "This warning is only available for posts with media attached."
+msgstr "Bu uyarı yalnızca medya ekli gönderiler için mevcuttur."
+
+#: src/components/dialogs/MutedWords.tsx:283
+msgid "This will delete {0} from your muted words. You can always add it back later."
+msgstr ""
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:192
+#~ msgid "This will hide this post from your feeds."
+#~ msgstr "Bu, bu gönderiyi beslemelerinizden gizleyecektir."
+
+#: src/view/screens/Settings/index.tsx:525
+msgid "Thread preferences"
+msgstr ""
+
+#: src/view/screens/PreferencesThreads.tsx:53
+#: src/view/screens/Settings/index.tsx:535
+msgid "Thread Preferences"
+msgstr "Konu Tercihleri"
+
+#: src/view/screens/PreferencesThreads.tsx:119
+msgid "Threaded Mode"
+msgstr "Konu Tabanlı Mod"
+
+#: src/Navigation.tsx:269
+msgid "Threads Preferences"
+msgstr "Konu Tercihleri"
+
+#: src/components/ReportDialog/SelectLabelerView.tsx:33
+msgid "To whom would you like to send this report?"
+msgstr ""
+
+#: src/components/dialogs/MutedWords.tsx:112
+msgid "Toggle between muted word options."
+msgstr ""
+
+#: src/view/com/util/forms/DropdownButton.tsx:246
+msgid "Toggle dropdown"
+msgstr "Açılır menüyü aç/kapat"
+
+#: src/screens/Moderation/index.tsx:332
+msgid "Toggle to enable or disable adult content"
+msgstr ""
+
+#: src/view/screens/Search/Search.tsx:427
+msgid "Top"
+msgstr ""
+
+#: src/view/com/modals/EditImage.tsx:272
+msgid "Transformations"
+msgstr "Dönüşümler"
+
+#: src/view/com/post-thread/PostThreadItem.tsx:638
+#: src/view/com/post-thread/PostThreadItem.tsx:640
+#: src/view/com/util/forms/PostDropdownBtn.tsx:220
+#: src/view/com/util/forms/PostDropdownBtn.tsx:222
+msgid "Translate"
+msgstr "Çevir"
+
+#: src/view/com/util/error/ErrorScreen.tsx:82
+msgctxt "action"
+msgid "Try again"
+msgstr "Tekrar dene"
+
+#: src/view/com/modals/ChangeHandle.tsx:428
+msgid "Type:"
+msgstr ""
+
+#: src/view/screens/ProfileList.tsx:480
+msgid "Un-block list"
+msgstr "Listeyi engeli kaldır"
+
+#: src/view/screens/ProfileList.tsx:463
+msgid "Un-mute list"
+msgstr "Listeyi sessizden çıkar"
+
+#: src/screens/Login/ForgotPasswordForm.tsx:74
+#: src/screens/Login/index.tsx:78
+#: src/screens/Login/LoginForm.tsx:119
+#: src/screens/Login/SetNewPasswordForm.tsx:77
+#: src/screens/Signup/index.tsx:64
+#: src/view/com/modals/ChangePassword.tsx:70
+msgid "Unable to contact your service. Please check your Internet connection."
+msgstr "Hizmetinize ulaşılamıyor. Lütfen internet bağlantınızı kontrol edin."
+
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:181
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:286
+#: src/view/com/profile/ProfileMenu.tsx:361
+#: src/view/screens/ProfileList.tsx:574
+msgid "Unblock"
+msgstr "Engeli kaldır"
+
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:186
+msgctxt "action"
+msgid "Unblock"
+msgstr "Engeli kaldır"
+
+#: src/view/com/profile/ProfileMenu.tsx:299
+#: src/view/com/profile/ProfileMenu.tsx:305
+msgid "Unblock Account"
+msgstr "Hesabın engelini kaldır"
+
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:280
+#: src/view/com/profile/ProfileMenu.tsx:343
+msgid "Unblock Account?"
+msgstr ""
+
+#: src/view/com/modals/Repost.tsx:43
+#: src/view/com/modals/Repost.tsx:56
+#: src/view/com/util/post-ctrls/RepostButton.tsx:60
+#: src/view/com/util/post-ctrls/RepostButton.web.tsx:48
+msgid "Undo repost"
+msgstr "Yeniden göndermeyi geri al"
+
+#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:141
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:248
+msgid "Unfollow"
+msgstr ""
+
+#: src/view/com/profile/FollowButton.tsx:60
+msgctxt "action"
+msgid "Unfollow"
+msgstr "Takibi bırak"
+
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:220
+msgid "Unfollow {0}"
+msgstr "{0} adresini takibi bırak"
+
+#: src/view/com/profile/ProfileMenu.tsx:241
+#: src/view/com/profile/ProfileMenu.tsx:251
+msgid "Unfollow Account"
+msgstr ""
+
+#: src/view/com/auth/create/state.ts:300
+#~ msgid "Unfortunately, you do not meet the requirements to create an account."
+#~ msgstr "Üzgünüz, bir hesap oluşturmak için gerekleri karşılamıyorsunuz."
+
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:197
+msgid "Unlike"
+msgstr "Beğenmeyi geri al"
+
+#: src/view/screens/ProfileFeed.tsx:585
+msgid "Unlike this feed"
+msgstr ""
+
+#: src/components/TagMenu/index.tsx:249
+#: src/view/screens/ProfileList.tsx:581
+msgid "Unmute"
+msgstr "Sessizden çıkar"
+
+#: src/components/TagMenu/index.web.tsx:104
+msgid "Unmute {truncatedTag}"
+msgstr ""
+
+#: src/view/com/profile/ProfileMenu.tsx:278
+#: src/view/com/profile/ProfileMenu.tsx:284
+msgid "Unmute Account"
+msgstr "Hesabın sessizliğini kaldır"
+
+#: src/components/TagMenu/index.tsx:208
+msgid "Unmute all {displayTag} posts"
+msgstr ""
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:269
+#: src/view/com/util/forms/PostDropdownBtn.tsx:274
+msgid "Unmute thread"
+msgstr "Konunun sessizliğini kaldır"
+
+#: src/view/screens/ProfileFeed.tsx:306
+#: src/view/screens/ProfileList.tsx:565
+msgid "Unpin"
+msgstr "Sabitlemeyi kaldır"
+
+#: src/view/screens/ProfileFeed.tsx:303
+msgid "Unpin from home"
+msgstr ""
+
+#: src/view/screens/ProfileList.tsx:446
+msgid "Unpin moderation list"
+msgstr "Moderasyon listesini sabitlemeyi kaldır"
+
+#: src/view/screens/ProfileFeed.tsx:345
+#~ msgid "Unsave"
+#~ msgstr "Kaydedilenlerden kaldır"
+
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:225
+msgid "Unsubscribe"
+msgstr ""
+
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:190
+msgid "Unsubscribe from this labeler"
+msgstr ""
+
+#: src/lib/moderation/useReportOptions.ts:70
+msgid "Unwanted Sexual Content"
+msgstr ""
+
+#: src/view/com/modals/UserAddRemoveLists.tsx:70
+msgid "Update {displayName} in Lists"
+msgstr "Listelerde {displayName} güncelle"
+
+#: src/lib/hooks/useOTAUpdate.ts:15
+#~ msgid "Update Available"
+#~ msgstr "Güncelleme Mevcut"
+
+#: src/view/com/modals/ChangeHandle.tsx:508
+msgid "Update to {handle}"
+msgstr ""
+
+#: src/screens/Login/SetNewPasswordForm.tsx:186
+msgid "Updating..."
+msgstr "Güncelleniyor..."
+
+#: src/view/com/modals/ChangeHandle.tsx:454
+msgid "Upload a text file to:"
+msgstr "Bir metin dosyası yükleyin:"
+
+#: src/view/com/util/UserAvatar.tsx:328
+#: src/view/com/util/UserAvatar.tsx:331
+#: src/view/com/util/UserBanner.tsx:116
+#: src/view/com/util/UserBanner.tsx:119
+msgid "Upload from Camera"
+msgstr ""
+
+#: src/view/com/util/UserAvatar.tsx:345
+#: src/view/com/util/UserBanner.tsx:133
+msgid "Upload from Files"
+msgstr ""
+
+#: src/view/com/util/UserAvatar.tsx:339
+#: src/view/com/util/UserAvatar.tsx:343
+#: src/view/com/util/UserBanner.tsx:127
+#: src/view/com/util/UserBanner.tsx:131
+msgid "Upload from Library"
+msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:408
+msgid "Use a file on your server"
+msgstr ""
+
+#: src/view/screens/AppPasswords.tsx:197
+msgid "Use app passwords to login to other Bluesky clients without giving full access to your account or password."
+msgstr "Uygulama şifrelerini kullanarak hesabınızın veya şifrenizin tam erişimini vermeden diğer Bluesky istemcilerine giriş yapın."
+
+#: src/view/com/modals/ChangeHandle.tsx:517
+msgid "Use bsky.social as hosting provider"
+msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:516
+msgid "Use default provider"
+msgstr "Varsayılan sağlayıcıyı kullan"
+
+#: src/view/com/modals/InAppBrowserConsent.tsx:56
+#: src/view/com/modals/InAppBrowserConsent.tsx:58
+msgid "Use in-app browser"
+msgstr "Uygulama içi tarayıcıyı kullan"
+
+#: src/view/com/modals/InAppBrowserConsent.tsx:66
+#: src/view/com/modals/InAppBrowserConsent.tsx:68
+msgid "Use my default browser"
+msgstr "Varsayılan tarayıcımı kullan"
+
+#: src/view/com/modals/ChangeHandle.tsx:400
+msgid "Use the DNS panel"
+msgstr ""
+
+#: src/view/com/modals/AddAppPasswords.tsx:156
+msgid "Use this to sign into the other app along with your handle."
+msgstr "Bunu, kullanıcı adınızla birlikte diğer uygulamaya giriş yapmak için kullanın."
+
+#: src/view/com/modals/ServerInput.tsx:105
+#~ msgid "Use your domain as your Bluesky client service provider"
+#~ msgstr "Alan adınızı Bluesky istemci sağlayıcınız olarak kullanın"
+
+#: src/view/com/modals/InviteCodes.tsx:201
+msgid "Used by:"
+msgstr "Kullanıcı:"
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:64
+#: src/lib/moderation/useModerationCauseDescription.ts:56
+msgid "User Blocked"
+msgstr "Kullanıcı Engellendi"
+
+#: src/lib/moderation/useModerationCauseDescription.ts:48
+msgid "User Blocked by \"{0}\""
+msgstr ""
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:53
+msgid "User Blocked by List"
+msgstr "Liste Tarafından Engellenen Kullanıcı"
+
+#: src/lib/moderation/useModerationCauseDescription.ts:66
+msgid "User Blocking You"
+msgstr ""
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:70
+msgid "User Blocks You"
+msgstr "Kullanıcı Sizi Engelledi"
+
+#: src/view/com/auth/create/Step3.tsx:41
+#~ msgid "User handle"
+#~ msgstr "Kullanıcı adı"
+
+#: src/view/com/lists/ListCard.tsx:85
+#: src/view/com/modals/UserAddRemoveLists.tsx:198
+msgid "User list by {0}"
+msgstr "{0} tarafından oluşturulan kullanıcı listesi"
+
+#: src/view/screens/ProfileList.tsx:779
+msgid "User list by <0/>"
+msgstr "<0/> tarafından oluşturulan kullanıcı listesi"
+
+#: src/view/com/lists/ListCard.tsx:83
+#: src/view/com/modals/UserAddRemoveLists.tsx:196
+#: src/view/screens/ProfileList.tsx:777
+msgid "User list by you"
+msgstr "Sizin tarafınızdan oluşturulan kullanıcı listesi"
+
+#: src/view/com/modals/CreateOrEditList.tsx:197
+msgid "User list created"
+msgstr "Kullanıcı listesi oluşturuldu"
+
+#: src/view/com/modals/CreateOrEditList.tsx:183
+msgid "User list updated"
+msgstr "Kullanıcı listesi güncellendi"
+
+#: src/view/screens/Lists.tsx:58
+msgid "User Lists"
+msgstr "Kullanıcı Listeleri"
+
+#: src/screens/Login/LoginForm.tsx:151
+msgid "Username or email address"
+msgstr "Kullanıcı adı veya e-posta adresi"
+
+#: src/view/screens/ProfileList.tsx:813
+#: src/view/screens/Search/Search.tsx:473
+#: src/view/screens/Search/Search.tsx:482
+msgid "Users"
+msgstr "Kullanıcılar"
+
+#: src/view/com/threadgate/WhoCanReply.tsx:143
+msgid "users followed by <0/>"
+msgstr "<0/> tarafından takip edilen kullanıcılar"
+
+#: src/view/com/modals/Threadgate.tsx:106
+msgid "Users in \"{0}\""
+msgstr "\"{0}\" içindeki kullanıcılar"
+
+#: src/components/LikesDialog.tsx:85
+msgid "Users that have liked this content or profile"
+msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:436
+msgid "Value:"
+msgstr ""
+
+#: src/view/com/auth/create/Step2.tsx:243
+#~ msgid "Verification code"
+#~ msgstr "Doğrulama kodu"
+
+#: src/view/com/modals/ChangeHandle.tsx:509
+msgid "Verify {0}"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:906
+msgid "Verify email"
+msgstr "E-postayı doğrula"
+
+#: src/view/screens/Settings/index.tsx:931
+msgid "Verify my email"
+msgstr "E-postamı doğrula"
+
+#: src/view/screens/Settings/index.tsx:940
+msgid "Verify My Email"
+msgstr "E-postamı Doğrula"
+
+#: src/view/com/modals/ChangeEmail.tsx:205
+#: src/view/com/modals/ChangeEmail.tsx:207
+msgid "Verify New Email"
+msgstr "Yeni E-postayı Doğrula"
+
+#: src/view/com/modals/VerifyEmail.tsx:103
+msgid "Verify Your Email"
+msgstr "E-postanızı Doğrulayın"
+
+#: src/view/screens/Settings/index.tsx:857
+msgid "Version {0}"
+msgstr ""
+
+#: src/screens/Onboarding/index.tsx:42
+msgid "Video Games"
+msgstr "Video Oyunları"
+
+#: src/screens/Profile/Header/Shell.tsx:107
+msgid "View {0}'s avatar"
+msgstr "{0}'ın avatarını görüntüle"
+
+#: src/view/screens/Log.tsx:52
+msgid "View debug entry"
+msgstr "Hata ayıklama girişini görüntüle"
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:132
+msgid "View details"
+msgstr ""
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:127
+msgid "View details for reporting a copyright violation"
+msgstr ""
+
+#: src/view/com/posts/FeedSlice.tsx:99
+msgid "View full thread"
+msgstr "Tam konuyu görüntüle"
+
+#: src/components/moderation/LabelsOnMe.tsx:51
+msgid "View information about these labels"
+msgstr ""
+
+#: src/components/ProfileHoverCard/index.web.tsx:264
+#: src/components/ProfileHoverCard/index.web.tsx:293
+#: src/view/com/posts/FeedErrorMessage.tsx:166
+msgid "View profile"
+msgstr "Profili görüntüle"
+
+#: src/view/com/profile/ProfileSubpageHeader.tsx:128
+msgid "View the avatar"
+msgstr "Avatarı görüntüle"
+
+#: src/components/LabelingServiceCard/index.tsx:140
+msgid "View the labeling service provided by @{0}"
+msgstr ""
+
+#: src/view/screens/ProfileFeed.tsx:597
+msgid "View users who like this feed"
+msgstr ""
+
+#: src/view/com/modals/LinkWarning.tsx:89
+#: src/view/com/modals/LinkWarning.tsx:95
+msgid "Visit Site"
+msgstr "Siteyi Ziyaret Et"
+
+#: src/components/moderation/LabelPreference.tsx:135
+#: src/lib/moderation/useLabelBehaviorDescription.ts:17
+#: src/lib/moderation/useLabelBehaviorDescription.ts:22
+#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:53
+msgid "Warn"
+msgstr "Uyar"
+
+#: src/lib/moderation/useLabelBehaviorDescription.ts:48
+msgid "Warn content"
+msgstr ""
+
+#: src/lib/moderation/useLabelBehaviorDescription.ts:46
+msgid "Warn content and filter from feeds"
+msgstr ""
+
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:124
+#~ msgid "We also think you'll like \"For You\" by Skygaze:"
+#~ msgstr "Ayrıca Skygaze tarafından \"Sana Özel\" beslemesini de beğeneceğinizi düşünüyoruz:"
+
+#: src/screens/Hashtag.tsx:133
+msgid "We couldn't find any results for that hashtag."
+msgstr ""
+
+#: src/screens/Deactivated.tsx:133
+msgid "We estimate {estimatedTime} until your account is ready."
+msgstr "Hesabınızın hazır olmasına {estimatedTime} tahmin ediyoruz."
+
+#: src/screens/Onboarding/StepFinished.tsx:97
+msgid "We hope you have a wonderful time. Remember, Bluesky is:"
+msgstr "Harika vakit geçirmenizi umuyoruz. Unutmayın, Bluesky:"
+
+#: src/view/com/posts/DiscoverFallbackHeader.tsx:29
+msgid "We ran out of posts from your follows. Here's the latest from <0/>."
+msgstr "Takipçilerinizden gönderi kalmadı. İşte <0/>'den en son gönderiler."
+
+#: src/components/dialogs/MutedWords.tsx:203
+msgid "We recommend avoiding common words that appear in many posts, since it can result in no posts being shown."
+msgstr ""
+
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:125
+msgid "We recommend our \"Discover\" feed:"
+msgstr "\"Keşfet\" beslememizi öneririz:"
+
+#: src/components/dialogs/BirthDateSettings.tsx:52
+msgid "We were unable to load your birth date preferences. Please try again."
+msgstr ""
+
+#: src/screens/Moderation/index.tsx:385
+msgid "We were unable to load your configured labelers at this time."
+msgstr ""
+
+#: src/screens/Onboarding/StepInterests/index.tsx:137
+msgid "We weren't able to connect. Please try again to continue setting up your account. If it continues to fail, you can skip this flow."
+msgstr "Bağlantı kuramadık. Hesabınızı kurmaya devam etmek için tekrar deneyin. Başarısız olmaya devam ederse bu akışı atlayabilirsiniz."
+
+#: src/screens/Deactivated.tsx:137
+msgid "We will let you know when your account is ready."
+msgstr "Hesabınız hazır olduğunda size bildireceğiz."
+
+#: src/view/com/modals/AppealLabel.tsx:48
+#~ msgid "We'll look into your appeal promptly."
+#~ msgstr "İtirazınıza hızlı bir şekilde bakacağız."
+
+#: src/screens/Onboarding/StepInterests/index.tsx:142
+msgid "We'll use this to help customize your experience."
+msgstr "Bu, deneyiminizi özelleştirmenize yardımcı olmak için kullanılacak."
+
+#: src/screens/Signup/index.tsx:131
+msgid "We're so excited to have you join us!"
+msgstr "Sizi aramızda görmekten çok mutluyuz!"
+
+#: src/view/screens/ProfileList.tsx:90
+msgid "We're sorry, but we were unable to resolve this list. If this persists, please contact the list creator, @{handleOrDid}."
+msgstr "Üzgünüz, ancak bu listeyi çözemedik. Bu durum devam ederse, lütfen liste oluşturucu, @{handleOrDid} ile iletişime geçin."
+
+#: src/components/dialogs/MutedWords.tsx:229
+msgid "We're sorry, but we weren't able to load your muted words at this time. Please try again."
+msgstr ""
+
+#: src/view/screens/Search/Search.tsx:322
+msgid "We're sorry, but your search could not be completed. Please try again in a few minutes."
+msgstr "Üzgünüz, ancak aramanız tamamlanamadı. Lütfen birkaç dakika içinde tekrar deneyin."
+
+#: src/components/Lists.tsx:188
+#: src/view/screens/NotFound.tsx:48
+msgid "We're sorry! We can't find the page you were looking for."
+msgstr "Üzgünüz! Aradığınız sayfayı bulamıyoruz."
+
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:327
+msgid "We're sorry! You can only subscribe to ten labelers, and you've reached your limit of ten."
+msgstr ""
+
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:48
+msgid "Welcome to <0>Bluesky0>"
+msgstr "<0>Bluesky0>'e hoş geldiniz"
+
+#: src/screens/Onboarding/StepInterests/index.tsx:134
+msgid "What are your interests?"
+msgstr "İlgi alanlarınız nelerdir?"
+
+#: src/view/com/modals/report/Modal.tsx:169
+#~ msgid "What is the issue with this {collectionName}?"
+#~ msgstr "Bu {collectionName} ile ilgili sorun nedir?"
+
+#: src/view/com/auth/SplashScreen.tsx:40
+#: src/view/com/auth/SplashScreen.web.tsx:81
+#: src/view/com/composer/Composer.tsx:296
+msgid "What's up?"
+msgstr "Nasılsınız?"
+
+#: src/view/com/modals/lang-settings/PostLanguagesSettings.tsx:78
+msgid "Which languages are used in this post?"
+msgstr "Bu gönderide hangi diller kullanılıyor?"
+
+#: src/view/com/modals/lang-settings/ContentLanguagesSettings.tsx:77
+msgid "Which languages would you like to see in your algorithmic feeds?"
+msgstr "Algoritmik beslemelerinizde hangi dilleri görmek istersiniz?"
+
+#: src/view/com/composer/threadgate/ThreadgateBtn.tsx:47
+#: src/view/com/modals/Threadgate.tsx:66
+msgid "Who can reply"
+msgstr "Kimler yanıtlayabilir"
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:43
+msgid "Why should this content be reviewed?"
+msgstr ""
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:56
+msgid "Why should this feed be reviewed?"
+msgstr ""
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:53
+msgid "Why should this list be reviewed?"
+msgstr ""
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:50
+msgid "Why should this post be reviewed?"
+msgstr ""
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:47
+msgid "Why should this user be reviewed?"
+msgstr ""
+
+#: src/view/com/modals/crop-image/CropImage.web.tsx:103
+msgid "Wide"
+msgstr "Geniş"
+
+#: src/view/com/composer/Composer.tsx:436
+msgid "Write post"
+msgstr "Gönderi yaz"
+
+#: src/view/com/composer/Composer.tsx:295
+#: src/view/com/composer/Prompt.tsx:37
+msgid "Write your reply"
+msgstr "Yanıtınızı yazın"
+
+#: src/screens/Onboarding/index.tsx:28
+msgid "Writers"
+msgstr "Yazarlar"
+
+#: src/view/com/auth/create/Step2.tsx:263
+#~ msgid "XXXXXX"
+#~ msgstr "XXXXXX"
+
+#: src/view/com/composer/select-language/SuggestedLanguage.tsx:77
+#: src/view/screens/PreferencesFollowingFeed.tsx:129
+#: src/view/screens/PreferencesFollowingFeed.tsx:201
+#: src/view/screens/PreferencesFollowingFeed.tsx:236
+#: src/view/screens/PreferencesFollowingFeed.tsx:271
+#: src/view/screens/PreferencesThreads.tsx:106
+#: src/view/screens/PreferencesThreads.tsx:129
+msgid "Yes"
+msgstr "Evet"
+
+#: src/screens/Deactivated.tsx:130
+msgid "You are in line."
+msgstr "Sıradasınız."
+
+#: src/view/com/profile/ProfileFollows.tsx:86
+msgid "You are not following anyone."
+msgstr ""
+
+#: src/view/com/posts/FollowingEmptyState.tsx:67
+#: src/view/com/posts/FollowingEndOfFeed.tsx:68
+msgid "You can also discover new Custom Feeds to follow."
+msgstr "Ayrıca takip edebileceğiniz yeni Özel Beslemeler keşfedebilirsiniz."
+
+#: src/screens/Onboarding/StepFollowingFeed.tsx:143
+msgid "You can change these settings later."
+msgstr "Bu ayarları daha sonra değiştirebilirsiniz."
+
+#: src/screens/Login/index.tsx:158
+#: src/screens/Login/PasswordUpdatedForm.tsx:33
+msgid "You can now sign in with your new password."
+msgstr "Artık yeni şifrenizle giriş yapabilirsiniz."
+
+#: src/view/com/profile/ProfileFollowers.tsx:86
+msgid "You do not have any followers."
+msgstr ""
+
+#: src/view/com/modals/InviteCodes.tsx:67
+msgid "You don't have any invite codes yet! We'll send you some when you've been on Bluesky for a little longer."
+msgstr "Henüz hiç davet kodunuz yok! Bluesky'de biraz daha uzun süre kaldıktan sonra size bazı kodlar göndereceğiz."
+
+#: src/view/screens/SavedFeeds.tsx:103
+msgid "You don't have any pinned feeds."
+msgstr "Sabitlemiş beslemeniz yok."
+
+#: src/view/screens/Feeds.tsx:477
+msgid "You don't have any saved feeds!"
+msgstr "Kaydedilmiş beslemeniz yok!"
+
+#: src/view/screens/SavedFeeds.tsx:136
+msgid "You don't have any saved feeds."
+msgstr "Kaydedilmiş beslemeniz yok."
+
+#: src/view/com/post-thread/PostThread.tsx:159
+msgid "You have blocked the author or you have been blocked by the author."
+msgstr "Yazarı engellediniz veya yazar tarafından engellendiniz."
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:66
+#: src/lib/moderation/useModerationCauseDescription.ts:50
+#: src/lib/moderation/useModerationCauseDescription.ts:58
+msgid "You have blocked this user. You cannot view their content."
+msgstr "Bu kullanıcıyı engellediniz. İçeriklerini göremezsiniz."
+
+#: src/screens/Login/SetNewPasswordForm.tsx:54
+#: src/screens/Login/SetNewPasswordForm.tsx:91
+#: src/view/com/modals/ChangePassword.tsx:87
+#: src/view/com/modals/ChangePassword.tsx:121
+msgid "You have entered an invalid code. It should look like XXXXX-XXXXX."
+msgstr "Geçersiz bir kod girdiniz. XXXXX-XXXXX gibi görünmelidir."
+
+#: src/lib/moderation/useModerationCauseDescription.ts:109
+msgid "You have hidden this post"
+msgstr ""
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:101
+msgid "You have hidden this post."
+msgstr ""
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:94
+#: src/lib/moderation/useModerationCauseDescription.ts:92
+msgid "You have muted this account."
+msgstr ""
+
+#: src/lib/moderation/useModerationCauseDescription.ts:86
+msgid "You have muted this user"
+msgstr ""
+
+#: src/view/com/modals/ModerationDetails.tsx:87
+#~ msgid "You have muted this user."
+#~ msgstr "Bu kullanıcıyı sessize aldınız."
+
+#: src/view/com/feeds/ProfileFeedgens.tsx:144
+msgid "You have no feeds."
+msgstr "Beslemeniz yok."
+
+#: src/view/com/lists/MyLists.tsx:89
+#: src/view/com/lists/ProfileLists.tsx:148
+msgid "You have no lists."
+msgstr "Listeniz yok."
+
+#: src/view/screens/ModerationBlockedAccounts.tsx:138
+msgid "You have not blocked any accounts yet. To block an account, go to their profile and select \"Block account\" from the menu on their account."
+msgstr ""
+
+#: src/view/screens/ModerationBlockedAccounts.tsx:132
+#~ msgid "You have not blocked any accounts yet. To block an account, go to their profile and selected \"Block account\" from the menu on their account."
+#~ msgstr "Henüz hiçbir hesabı engellemediniz. Bir hesabı engellemek için, profilinize gidin ve hesaplarının menüsünden \"Hesabı engelle\" seçeneğini seçin."
+
+#: src/view/screens/AppPasswords.tsx:89
+msgid "You have not created any app passwords yet. You can create one by pressing the button below."
+msgstr "Henüz hiçbir uygulama şifresi oluşturmadınız. Aşağıdaki düğmeye basarak bir tane oluşturabilirsiniz."
+
+#: src/view/screens/ModerationMutedAccounts.tsx:136
+msgid "You have not muted any accounts yet. To mute an account, go to their profile and select \"Mute account\" from the menu on their account."
+msgstr ""
+
+#: src/view/screens/ModerationMutedAccounts.tsx:131
+#~ msgid "You have not muted any accounts yet. To mute an account, go to their profile and selected \"Mute account\" from the menu on their account."
+#~ msgstr "Henüz hiçbir hesabı sessize almadınız. Bir hesabı sessize almak için, profilinize gidin ve hesaplarının menüsünden \"Hesabı sessize al\" seçeneğini seçin."
+
+#: src/components/dialogs/MutedWords.tsx:249
+msgid "You haven't muted any words or tags yet"
+msgstr ""
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:68
+msgid "You may appeal these labels if you feel they were placed in error."
+msgstr ""
+
+#: src/screens/Signup/StepInfo/Policies.tsx:79
+msgid "You must be 13 years of age or older to sign up."
+msgstr ""
+
+#: src/view/com/modals/ContentFilteringSettings.tsx:170
+#~ msgid "You must be 18 or older to enable adult content."
+#~ msgstr "Yetişkin içeriği etkinleştirmek için 18 yaşında veya daha büyük olmalısınız."
+
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:110
+msgid "You must be 18 years or older to enable adult content"
+msgstr "Yetişkin içeriğini etkinleştirmek için 18 yaşında veya daha büyük olmalısınız"
+
+#: src/components/ReportDialog/SubmitView.tsx:203
+msgid "You must select at least one labeler for a report"
+msgstr ""
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:150
+msgid "You will no longer receive notifications for this thread"
+msgstr "Artık bu konu için bildirim almayacaksınız"
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:153
+msgid "You will now receive notifications for this thread"
+msgstr "Artık bu konu için bildirim alacaksınız"
+
+#: src/screens/Login/SetNewPasswordForm.tsx:104
+msgid "You will receive an email with a \"reset code.\" Enter that code here, then enter your new password."
+msgstr "Bir \"sıfırlama kodu\" içeren bir e-posta alacaksınız. Bu kodu buraya girin, ardından yeni şifrenizi girin."
+
+#: src/screens/Onboarding/StepModeration/index.tsx:60
+msgid "You're in control"
+msgstr "Siz kontrol ediyorsunuz"
+
+#: src/screens/Deactivated.tsx:87
+#: src/screens/Deactivated.tsx:88
+#: src/screens/Deactivated.tsx:103
+msgid "You're in line"
+msgstr "Sıradasınız"
+
+#: src/screens/Onboarding/StepFinished.tsx:94
+msgid "You're ready to go!"
+msgstr "Hazırsınız!"
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:98
+#: src/lib/moderation/useModerationCauseDescription.ts:101
+msgid "You've chosen to hide a word or tag within this post."
+msgstr ""
+
+#: src/view/com/posts/FollowingEndOfFeed.tsx:48
+msgid "You've reached the end of your feed! Find some more accounts to follow."
+msgstr "Beslemenizin sonuna ulaştınız! Takip edebileceğiniz daha fazla hesap bulun."
+
+#: src/screens/Signup/index.tsx:151
+msgid "Your account"
+msgstr "Hesabınız"
+
+#: src/view/com/modals/DeleteAccount.tsx:68
+msgid "Your account has been deleted"
+msgstr "Hesabınız silindi"
+
+#: src/view/screens/Settings/ExportCarDialog.tsx:47
+msgid "Your account repository, containing all public data records, can be downloaded as a \"CAR\" file. This file does not include media embeds, such as images, or your private data, which must be fetched separately."
+msgstr ""
+
+#: src/screens/Signup/StepInfo/index.tsx:123
+msgid "Your birth date"
+msgstr "Doğum tarihiniz"
+
+#: src/view/com/modals/InAppBrowserConsent.tsx:47
+msgid "Your choice will be saved, but can be changed later in settings."
+msgstr "Seçiminiz kaydedilecek, ancak daha sonra ayarlarda değiştirilebilir."
+
+#: src/screens/Onboarding/StepFollowingFeed.tsx:62
+msgid "Your default feed is \"Following\""
+msgstr "Varsayılan beslemeniz \"Takip Edilenler\""
+
+#: src/screens/Login/ForgotPasswordForm.tsx:57
+#: src/screens/Signup/state.ts:227
+#: src/view/com/modals/ChangePassword.tsx:54
+msgid "Your email appears to be invalid."
+msgstr "E-postanız geçersiz gibi görünüyor."
+
+#: src/view/com/modals/Waitlist.tsx:109
+#~ msgid "Your email has been saved! We'll be in touch soon."
+#~ msgstr "E-postanız kaydedildi! Yakında sizinle iletişime geçeceğiz."
+
+#: src/view/com/modals/ChangeEmail.tsx:125
+msgid "Your email has been updated but not verified. As a next step, please verify your new email."
+msgstr "E-postanız güncellendi ancak doğrulanmadı. Bir sonraki adım olarak, lütfen yeni e-postanızı doğrulayın."
+
+#: src/view/com/modals/VerifyEmail.tsx:114
+msgid "Your email has not yet been verified. This is an important security step which we recommend."
+msgstr "E-postanız henüz doğrulanmadı. Bu, önerdiğimiz önemli bir güvenlik adımıdır."
+
+#: src/view/com/posts/FollowingEmptyState.tsx:47
+msgid "Your following feed is empty! Follow more users to see what's happening."
+msgstr "Takip ettiğiniz besleme boş! Neler olduğunu görmek için daha fazla kullanıcı takip edin."
+
+#: src/screens/Signup/StepHandle.tsx:73
+msgid "Your full handle will be"
+msgstr "Tam kullanıcı adınız"
+
+#: src/view/com/modals/ChangeHandle.tsx:271
+msgid "Your full handle will be <0>@{0}0>"
+msgstr "Tam kullanıcı adınız <0>@{0}0> olacak"
+
+#: src/view/screens/Settings.tsx:NaN
+#: src/view/shell/Drawer.tsx:660
+#~ msgid "Your invite codes are hidden when logged in using an App Password"
+#~ msgstr "Uygulama Şifresi kullanarak giriş yaptığınızda davet kodlarınız gizlenir"
+
+#: src/components/dialogs/MutedWords.tsx:220
+msgid "Your muted words"
+msgstr ""
+
+#: src/view/com/modals/ChangePassword.tsx:157
+msgid "Your password has been changed successfully!"
+msgstr "Şifreniz başarıyla değiştirildi!"
+
+#: src/view/com/composer/Composer.tsx:284
+msgid "Your post has been published"
+msgstr "Gönderiniz yayınlandı"
+
+#: src/screens/Onboarding/StepFinished.tsx:109
+#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:59
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:61
+msgid "Your posts, likes, and blocks are public. Mutes are private."
+msgstr "Gönderileriniz, beğenileriniz ve engellemeleriniz herkese açıktır. Sessizlikleriniz özeldir."
+
+#: src/view/screens/Settings/index.tsx:136
+msgid "Your profile"
+msgstr "Profiliniz"
+
+#: src/view/com/composer/Composer.tsx:283
+msgid "Your reply has been published"
+msgstr "Yanıtınız yayınlandı"
+
+#: src/screens/Signup/index.tsx:153
+msgid "Your user handle"
+msgstr "Kullanıcı adınız"
diff --git a/src/locale/locales/uk/messages.po b/src/locale/locales/uk/messages.po
index 2af731a4bb..935d1f799d 100644
--- a/src/locale/locales/uk/messages.po
+++ b/src/locale/locales/uk/messages.po
@@ -8,7 +8,7 @@ msgstr ""
"Language: uk\n"
"Project-Id-Version: bsky-app-ua\n"
"Report-Msgid-Bugs-To: \n"
-"PO-Revision-Date: 2024-03-13 11:56\n"
+"PO-Revision-Date: 2024-04-13 13:57\n"
"Last-Translator: \n"
"Language-Team: Ukrainian\n"
"Plural-Forms: nplurals=4; plural=((n%10==1 && n%100!=11) ? 0 : ((n%10 >= 2 && n%10 <=4 && (n%100 < 12 || n%100 > 14)) ? 1 : ((n%10 == 0 || (n%10 >= 5 && n%10 <=9)) || (n%100 >= 11 && n%100 <= 14)) ? 2 : 3));\n"
@@ -22,29 +22,12 @@ msgstr ""
msgid "(no email)"
msgstr "(немає ел. адреси)"
-#: src/view/shell/desktop/RightNav.tsx:168
-#~ msgid "{0, plural, one {# invite code available} other {# invite codes available}}"
-#~ msgstr ""
-
-#: src/view/com/profile/ProfileHeader.tsx:593
+#: src/components/ProfileHoverCard/index.web.tsx:323
+#: src/screens/Profile/Header/Metrics.tsx:44
msgid "{following} following"
msgstr "{following} підписок"
-#: src/view/shell/desktop/RightNav.tsx:151
-#~ msgid "{invitesAvailable, plural, one {Invite codes: # available} other {Invite codes: # available}}"
-#~ msgstr ""
-
-#: src/view/screens/Settings.tsx:435
-#: src/view/shell/Drawer.tsx:664
-#~ msgid "{invitesAvailable} invite code available"
-#~ msgstr ""
-
-#: src/view/screens/Settings.tsx:437
-#: src/view/shell/Drawer.tsx:666
-#~ msgid "{invitesAvailable} invite codes available"
-#~ msgstr ""
-
-#: src/view/shell/Drawer.tsx:440
+#: src/view/shell/Drawer.tsx:449
msgid "{numUnreadNotifications} unread"
msgstr "{numUnreadNotifications} непрочитаних"
@@ -52,15 +35,24 @@ msgstr "{numUnreadNotifications} непрочитаних"
msgid "<0/> members"
msgstr "<0/> учасників"
-#: src/view/com/profile/ProfileHeader.tsx:595
+#: src/view/shell/Drawer.tsx:97
+msgid "<0>{0}0> following"
+msgstr ""
+
+#: src/components/ProfileHoverCard/index.web.tsx:314
+msgid "<0>{followers} 0><1>{pluralizedFollowers}1>"
+msgstr ""
+
+#: src/components/ProfileHoverCard/index.web.tsx:326
+#: src/screens/Profile/Header/Metrics.tsx:45
msgid "<0>{following} 0><1>following1>"
msgstr "<0>{following} 0><1>підписок1>"
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:30
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:31
msgid "<0>Choose your0><1>Recommended1><2>Feeds2>"
msgstr "<0>Оберіть свої0><1>рекомендовані1><2>стрічки2>"
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:37
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:38
msgid "<0>Follow some0><1>Recommended1><2>Users2>"
msgstr "<0>Підпишіться на деяких 0><1>рекомендованих 1><2>користувачів2>"
@@ -68,51 +60,52 @@ msgstr "<0>Підпишіться на деяких 0><1>рекомендов
msgid "<0>Welcome to0><1>Bluesky1>"
msgstr "<0>Ласкаво просимо до0><1>Bluesky1>"
-#: src/view/com/profile/ProfileHeader.tsx:558
+#: src/screens/Profile/Header/Handle.tsx:43
msgid "⚠Invalid Handle"
msgstr "⚠Недопустимий псевдонім"
-#: src/view/com/util/moderation/LabelInfo.tsx:45
-msgid "A content warning has been applied to this {0}."
-msgstr "Попередження про вміст було додано до цього {0}."
-
-#: src/lib/hooks/useOTAUpdate.ts:16
-msgid "A new version of the app is available. Please update to continue using the app."
-msgstr "Доступна нова версія. Будь ласка, оновіть застосунок, щоб продовжити ним користуватися."
-
#: src/view/com/util/ViewHeader.tsx:89
-#: src/view/screens/Search/Search.tsx:647
+#: src/view/screens/Search/Search.tsx:796
msgid "Access navigation links and settings"
msgstr "Відкрити навігацію й налаштування"
-#: src/view/com/home/HomeHeaderLayoutMobile.tsx:52
+#: src/view/com/home/HomeHeaderLayoutMobile.tsx:54
msgid "Access profile and other navigation links"
msgstr "Відкрити профіль та іншу навігацію"
-#: src/view/com/modals/EditImage.tsx:299
-#: src/view/screens/Settings/index.tsx:451
+#: src/view/com/modals/EditImage.tsx:300
+#: src/view/screens/Settings/index.tsx:421
msgid "Accessibility"
msgstr "Доступність"
-#: src/view/com/auth/login/LoginForm.tsx:166
-#: src/view/screens/Settings/index.tsx:308
-#: src/view/screens/Settings/index.tsx:721
+#: src/components/moderation/LabelsOnMe.tsx:42
+msgid "account"
+msgstr "обліковий запис"
+
+#: src/screens/Login/LoginForm.tsx:144
+#: src/view/screens/Settings/index.tsx:330
+#: src/view/screens/Settings/index.tsx:707
msgid "Account"
msgstr "Обліковий запис"
-#: src/view/com/profile/ProfileHeader.tsx:246
+#: src/view/com/profile/ProfileMenu.tsx:139
msgid "Account blocked"
msgstr "Обліковий запис заблоковано"
-#: src/view/com/profile/ProfileHeader.tsx:213
+#: src/view/com/profile/ProfileMenu.tsx:153
+msgid "Account followed"
+msgstr ""
+
+#: src/view/com/profile/ProfileMenu.tsx:113
msgid "Account muted"
msgstr "Обліковий запис ігнорується"
-#: src/view/com/modals/ModerationDetails.tsx:86
+#: src/components/moderation/ModerationDetailsDialog.tsx:93
+#: src/lib/moderation/useModerationCauseDescription.ts:91
msgid "Account Muted"
msgstr "Обліковий запис ігнорується"
-#: src/view/com/modals/ModerationDetails.tsx:72
+#: src/components/moderation/ModerationDetailsDialog.tsx:82
msgid "Account Muted by List"
msgstr "Обліковий запис ігнорується списком"
@@ -124,19 +117,24 @@ msgstr "Параметри облікового запису"
msgid "Account removed from quick access"
msgstr "Обліковий запис вилучено зі швидкого доступу"
-#: src/view/com/profile/ProfileHeader.tsx:268
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:137
+#: src/view/com/profile/ProfileMenu.tsx:128
msgid "Account unblocked"
msgstr "Обліковий запис розблоковано"
-#: src/view/com/profile/ProfileHeader.tsx:226
+#: src/view/com/profile/ProfileMenu.tsx:166
+msgid "Account unfollowed"
+msgstr ""
+
+#: src/view/com/profile/ProfileMenu.tsx:102
msgid "Account unmuted"
msgstr "Обліковий запис більше не ігнорується"
-#: src/components/dialogs/MutedWords.tsx:165
+#: src/components/dialogs/MutedWords.tsx:164
#: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:150
-#: src/view/com/modals/ListAddRemoveUsers.tsx:264
+#: src/view/com/modals/ListAddRemoveUsers.tsx:268
#: src/view/com/modals/UserAddRemoveLists.tsx:219
-#: src/view/screens/ProfileList.tsx:813
+#: src/view/screens/ProfileList.tsx:829
msgid "Add"
msgstr "Додати"
@@ -144,62 +142,54 @@ msgstr "Додати"
msgid "Add a content warning"
msgstr "Додати попередження про вміст"
-#: src/view/screens/ProfileList.tsx:803
+#: src/view/screens/ProfileList.tsx:819
msgid "Add a user to this list"
msgstr "Додати користувача до списку"
-#: src/view/screens/Settings/index.tsx:383
-#: src/view/screens/Settings/index.tsx:392
+#: src/components/dialogs/SwitchAccount.tsx:55
+#: src/view/screens/Settings/index.tsx:405
+#: src/view/screens/Settings/index.tsx:414
msgid "Add account"
msgstr "Додати обліковий запис"
#: src/view/com/composer/photos/Gallery.tsx:119
#: src/view/com/composer/photos/Gallery.tsx:180
-#: src/view/com/modals/AltImage.tsx:116
+#: src/view/com/modals/AltImage.tsx:117
msgid "Add alt text"
msgstr "Додати альтернативний текст"
-#: src/view/screens/AppPasswords.tsx:102
-#: src/view/screens/AppPasswords.tsx:143
-#: src/view/screens/AppPasswords.tsx:156
+#: src/view/screens/AppPasswords.tsx:104
+#: src/view/screens/AppPasswords.tsx:145
+#: src/view/screens/AppPasswords.tsx:158
msgid "Add App Password"
msgstr "Додати пароль застосунку"
-#: src/view/com/modals/report/InputIssueDetails.tsx:41
-#: src/view/com/modals/report/Modal.tsx:191
-msgid "Add details"
-msgstr "Додайте подробиці"
-
-#: src/view/com/modals/report/Modal.tsx:194
-msgid "Add details to report"
-msgstr "Додайте подробиці до скарги"
-
-#: src/view/com/composer/Composer.tsx:453
+#: src/view/com/composer/Composer.tsx:467
msgid "Add link card"
msgstr "Додати попередній перегляд"
-#: src/view/com/composer/Composer.tsx:458
+#: src/view/com/composer/Composer.tsx:472
msgid "Add link card:"
msgstr "Додати попередній перегляд:"
-#: src/components/dialogs/MutedWords.tsx:158
+#: src/components/dialogs/MutedWords.tsx:157
msgid "Add mute word for configured settings"
msgstr "Додати слово до ігнорування з обраними налаштуваннями"
-#: src/components/dialogs/MutedWords.tsx:87
+#: src/components/dialogs/MutedWords.tsx:86
msgid "Add muted words and tags"
msgstr "Додати ігноровані слова та теги"
-#: src/view/com/modals/ChangeHandle.tsx:417
+#: src/view/com/modals/ChangeHandle.tsx:416
msgid "Add the following DNS record to your domain:"
msgstr "Додайте наступний DNS-запис до вашого домену:"
-#: src/view/com/profile/ProfileHeader.tsx:310
+#: src/view/com/profile/ProfileMenu.tsx:263
+#: src/view/com/profile/ProfileMenu.tsx:266
msgid "Add to Lists"
msgstr "Додати до списку"
-#: src/view/com/feeds/FeedSourceCard.tsx:245
-#: src/view/screens/ProfileFeed.tsx:273
+#: src/view/com/feeds/FeedSourceCard.tsx:234
msgid "Add to my feeds"
msgstr "Додати до моїх стрічок"
@@ -212,7 +202,7 @@ msgstr "Додано"
msgid "Added to list"
msgstr "Додано до списку"
-#: src/view/com/feeds/FeedSourceCard.tsx:127
+#: src/view/com/feeds/FeedSourceCard.tsx:108
msgid "Added to my feeds"
msgstr "Додано до моїх стрічок"
@@ -220,32 +210,31 @@ msgstr "Додано до моїх стрічок"
msgid "Adjust the number of likes a reply must have to be shown in your feed."
msgstr "Налаштуйте мінімальну кількість вподобань для того щоб відповідь відобразилася у вашій стрічці."
+#: src/lib/moderation/useGlobalLabelStrings.ts:34
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:117
#: src/view/com/modals/SelfLabel.tsx:75
msgid "Adult Content"
msgstr "Вміст для дорослих"
-#: src/view/com/modals/ContentFilteringSettings.tsx:141
-msgid "Adult content can only be enabled via the Web at <0/>."
-msgstr "Вміст для дорослих можна увімкнути лише у вебверсії на <0/>."
+#: src/components/moderation/LabelPreference.tsx:242
+msgid "Adult content is disabled."
+msgstr "Контент для дорослих вимкнено."
-#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:78
-#~ msgid "Adult content can only be enabled via the Web at <0>bsky.app0>."
-#~ msgstr ""
-
-#: src/view/screens/Settings/index.tsx:664
+#: src/screens/Moderation/index.tsx:375
+#: src/view/screens/Settings/index.tsx:635
msgid "Advanced"
msgstr "Розширені"
-#: src/view/screens/Feeds.tsx:666
+#: src/view/screens/Feeds.tsx:691
msgid "All the feeds you've saved, right in one place."
msgstr "Усі збережені стрічки в одному місці."
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:221
-#: src/view/com/modals/ChangePassword.tsx:168
+#: src/screens/Login/ForgotPasswordForm.tsx:178
+#: src/view/com/modals/ChangePassword.tsx:170
msgid "Already have a code?"
msgstr "Вже маєте код?"
-#: src/view/com/auth/login/ChooseAccountForm.tsx:98
+#: src/screens/Login/ChooseAccountForm.tsx:39
msgid "Already signed in as @{0}"
msgstr "Вже увійшли як @{0}"
@@ -253,7 +242,7 @@ msgstr "Вже увійшли як @{0}"
msgid "ALT"
msgstr "ALT"
-#: src/view/com/modals/EditImage.tsx:315
+#: src/view/com/modals/EditImage.tsx:316
msgid "Alt text"
msgstr "Альтернативний текст"
@@ -269,12 +258,20 @@ msgstr "Було надіслано лист на адресу {0}. Він мі
msgid "An email has been sent to your previous address, {0}. It includes a confirmation code which you can enter below."
msgstr "Було надіслано лист на вашу попередню адресу, {0}. Він містить код підтвердження, який ви можете ввести нижче."
-#: src/view/com/profile/FollowButton.tsx:30
-#: src/view/com/profile/FollowButton.tsx:40
+#: src/lib/moderation/useReportOptions.ts:26
+msgid "An issue not included in these options"
+msgstr ""
+
+#: src/components/hooks/useFollowMethods.ts:35
+#: src/components/hooks/useFollowMethods.ts:50
+#: src/view/com/profile/FollowButton.tsx:35
+#: src/view/com/profile/FollowButton.tsx:45
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:188
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:198
msgid "An issue occurred, please try again."
msgstr "Виникла проблема, будь ласка, спробуйте ще раз."
-#: src/view/com/notifications/FeedItem.tsx:237
+#: src/view/com/notifications/FeedItem.tsx:242
#: src/view/com/threadgate/WhoCanReply.tsx:178
msgid "and"
msgstr "та"
@@ -283,74 +280,69 @@ msgstr "та"
msgid "Animals"
msgstr "Тварини"
+#: src/lib/moderation/useReportOptions.ts:31
+msgid "Anti-Social Behavior"
+msgstr "Антисоціальна поведінка"
+
#: src/view/screens/LanguageSettings.tsx:95
msgid "App Language"
msgstr "Мова застосунку"
-#: src/view/screens/AppPasswords.tsx:228
+#: src/view/screens/AppPasswords.tsx:223
msgid "App password deleted"
msgstr "Пароль застосунку видалено"
-#: src/view/com/modals/AddAppPasswords.tsx:134
+#: src/view/com/modals/AddAppPasswords.tsx:135
msgid "App Password names can only contain letters, numbers, spaces, dashes, and underscores."
msgstr "Назва пароля може містити лише латинські літери, цифри, пробіли, мінуси та нижні підкреслення."
-#: src/view/com/modals/AddAppPasswords.tsx:99
+#: src/view/com/modals/AddAppPasswords.tsx:100
msgid "App Password names must be at least 4 characters long."
msgstr "Назва пароля застосунку мусить бути хоча б 4 символи в довжину."
-#: src/view/screens/Settings/index.tsx:675
+#: src/view/screens/Settings/index.tsx:646
msgid "App password settings"
msgstr "Налаштування пароля застосунків"
-#: src/view/screens/Settings.tsx:650
-#~ msgid "App passwords"
-#~ msgstr ""
-
-#: src/Navigation.tsx:239
-#: src/view/screens/AppPasswords.tsx:187
-#: src/view/screens/Settings/index.tsx:684
+#: src/Navigation.tsx:251
+#: src/view/screens/AppPasswords.tsx:189
+#: src/view/screens/Settings/index.tsx:655
msgid "App Passwords"
msgstr "Паролі для застосунків"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:337
-#: src/view/com/util/forms/PostDropdownBtn.tsx:346
-msgid "Appeal content warning"
-msgstr "Оскаржити попередження про вміст"
+#: src/components/moderation/LabelsOnMeDialog.tsx:133
+#: src/components/moderation/LabelsOnMeDialog.tsx:136
+msgid "Appeal"
+msgstr ""
-#: src/view/com/modals/AppealLabel.tsx:65
-msgid "Appeal Content Warning"
-msgstr "Оскаржити попередження про вміст"
+#: src/components/moderation/LabelsOnMeDialog.tsx:201
+msgid "Appeal \"{0}\" label"
+msgstr ""
-#: src/view/com/util/moderation/LabelInfo.tsx:52
-msgid "Appeal this decision"
-msgstr "Оскаржити це рішення"
+#: src/components/moderation/LabelsOnMeDialog.tsx:192
+msgid "Appeal submitted."
+msgstr ""
-#: src/view/com/util/moderation/LabelInfo.tsx:56
-msgid "Appeal this decision."
-msgstr "Оскаржити це рішення"
-
-#: src/view/screens/Settings/index.tsx:466
+#: src/view/screens/Settings/index.tsx:436
msgid "Appearance"
msgstr "Оформлення"
-#: src/view/screens/AppPasswords.tsx:224
+#: src/view/screens/AppPasswords.tsx:265
msgid "Are you sure you want to delete the app password \"{name}\"?"
msgstr "Ви дійсно хочете видалити пароль для застосунку \"{name}\"?"
-#: src/view/com/composer/Composer.tsx:150
+#: src/view/com/feeds/FeedSourceCard.tsx:280
+msgid "Are you sure you want to remove {0} from your feeds?"
+msgstr ""
+
+#: src/view/com/composer/Composer.tsx:509
msgid "Are you sure you'd like to discard this draft?"
msgstr "Ви дійсно бажаєте видалити цю чернетку?"
-#: src/components/dialogs/MutedWords.tsx:282
-#: src/view/screens/ProfileList.tsx:365
+#: src/components/dialogs/MutedWords.tsx:281
msgid "Are you sure?"
msgstr "Ви впевнені?"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:322
-msgid "Are you sure? This cannot be undone."
-msgstr "Ви впевнені? Це не можна буде скасувати."
-
#: src/view/com/composer/select-language/SuggestedLanguage.tsx:60
msgid "Are you writing in <0>{0}0>?"
msgstr "Ви пишете <0>{0}0>?"
@@ -363,152 +355,155 @@ msgstr "Мистецтво"
msgid "Artistic or non-erotic nudity."
msgstr "Художня або нееротична оголеність."
-#: src/view/com/auth/create/CreateAccount.tsx:158
-#: src/view/com/auth/login/ChooseAccountForm.tsx:151
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:174
-#: src/view/com/auth/login/LoginForm.tsx:259
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:179
-#: src/view/com/modals/report/InputIssueDetails.tsx:46
-#: src/view/com/post-thread/PostThread.tsx:472
-#: src/view/com/post-thread/PostThread.tsx:522
-#: src/view/com/post-thread/PostThread.tsx:530
-#: src/view/com/profile/ProfileHeader.tsx:649
+#: src/screens/Signup/StepHandle.tsx:119
+msgid "At least 3 characters"
+msgstr "Не менше 3-х символів"
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:246
+#: src/components/moderation/LabelsOnMeDialog.tsx:247
+#: src/screens/Login/ChooseAccountForm.tsx:73
+#: src/screens/Login/ChooseAccountForm.tsx:78
+#: src/screens/Login/ForgotPasswordForm.tsx:129
+#: src/screens/Login/ForgotPasswordForm.tsx:135
+#: src/screens/Login/LoginForm.tsx:221
+#: src/screens/Login/LoginForm.tsx:227
+#: src/screens/Login/SetNewPasswordForm.tsx:160
+#: src/screens/Login/SetNewPasswordForm.tsx:166
+#: src/screens/Profile/Header/Shell.tsx:96
+#: src/screens/Signup/index.tsx:180
#: src/view/com/util/ViewHeader.tsx:87
msgid "Back"
msgstr "Назад"
-#: src/view/com/post-thread/PostThread.tsx:480
-msgctxt "action"
-msgid "Back"
-msgstr "Назад"
-
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:136
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:144
msgid "Based on your interest in {interestsText}"
msgstr "Ґрунтуючись на вашому інтересі до {interestsText}"
-#: src/view/screens/Settings/index.tsx:523
+#: src/view/screens/Settings/index.tsx:493
msgid "Basics"
msgstr "Основні"
-#: src/view/com/auth/create/Step1.tsx:227
-#: src/view/com/modals/BirthDateSettings.tsx:73
+#: src/components/dialogs/BirthDateSettings.tsx:107
msgid "Birthday"
msgstr "Дата народження"
-#: src/view/screens/Settings/index.tsx:340
+#: src/view/screens/Settings/index.tsx:362
msgid "Birthday:"
msgstr "Дата народження:"
-#: src/view/com/profile/ProfileHeader.tsx:239
-#: src/view/com/profile/ProfileHeader.tsx:346
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:286
+#: src/view/com/profile/ProfileMenu.tsx:361
+msgid "Block"
+msgstr "Заблокувати"
+
+#: src/view/com/profile/ProfileMenu.tsx:300
+#: src/view/com/profile/ProfileMenu.tsx:307
msgid "Block Account"
msgstr "Заблокувати"
-#: src/view/screens/ProfileList.tsx:556
+#: src/view/com/profile/ProfileMenu.tsx:344
+msgid "Block Account?"
+msgstr "Заблокувати обліковий запис?"
+
+#: src/view/screens/ProfileList.tsx:532
msgid "Block accounts"
msgstr "Заблокувати облікові записи"
-#: src/view/screens/ProfileList.tsx:506
+#: src/view/screens/ProfileList.tsx:480
+#: src/view/screens/ProfileList.tsx:636
msgid "Block list"
msgstr "Заблокувати список"
-#: src/view/screens/ProfileList.tsx:316
+#: src/view/screens/ProfileList.tsx:631
msgid "Block these accounts?"
msgstr "Заблокувати ці облікові записи?"
-#: src/view/screens/ProfileList.tsx:320
-msgid "Block this List"
-msgstr "Заблокувати список"
-
#: src/view/com/lists/ListCard.tsx:110
-#: src/view/com/util/post-embeds/QuoteEmbed.tsx:61
+#: src/view/com/util/post-embeds/QuoteEmbed.tsx:58
msgid "Blocked"
msgstr "Заблоковано"
-#: src/view/screens/Moderation.tsx:142
+#: src/screens/Moderation/index.tsx:267
msgid "Blocked accounts"
msgstr "Заблоковані облікові записи"
-#: src/Navigation.tsx:132
-#: src/view/screens/ModerationBlockedAccounts.tsx:107
+#: src/Navigation.tsx:134
+#: src/view/screens/ModerationBlockedAccounts.tsx:113
msgid "Blocked Accounts"
msgstr "Заблоковані облікові записи"
-#: src/view/com/profile/ProfileHeader.tsx:241
+#: src/view/com/profile/ProfileMenu.tsx:356
msgid "Blocked accounts cannot reply in your threads, mention you, or otherwise interact with you."
msgstr "Заблоковані облікові записи не можуть вам відповідати, згадувати вас у своїх постах, і взаємодіяти з вами будь-яким іншим чином."
-#: src/view/screens/ModerationBlockedAccounts.tsx:115
+#: src/view/screens/ModerationBlockedAccounts.tsx:121
msgid "Blocked accounts cannot reply in your threads, mention you, or otherwise interact with you. You will not see their content and they will be prevented from seeing yours."
msgstr "Заблоковані облікові записи не можуть вам відповідати, згадувати вас у своїх постах, і взаємодіяти з вами будь-яким іншим чином. Ви не будете бачити їхні пости і вони не будуть бачити ваші."
-#: src/view/com/post-thread/PostThread.tsx:324
+#: src/view/com/post-thread/PostThread.tsx:313
msgid "Blocked post."
msgstr "Заблокований пост."
-#: src/view/screens/ProfileList.tsx:318
+#: src/screens/Profile/Sections/Labels.tsx:163
+msgid "Blocking does not prevent this labeler from placing labels on your account."
+msgstr ""
+
+#: src/view/screens/ProfileList.tsx:633
msgid "Blocking is public. Blocked accounts cannot reply in your threads, mention you, or otherwise interact with you."
msgstr "Блокування - це відкрита інформація. Заблоковані користувачі не можуть відповісти у ваших темах, згадувати вас або іншим чином взаємодіяти з вами."
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:93
-#: src/view/com/auth/SplashScreen.web.tsx:133
+#: src/view/com/profile/ProfileMenu.tsx:353
+msgid "Blocking will not prevent labels from being applied on your account, but it will stop this account from replying in your threads or interacting with you."
+msgstr ""
+
+#: src/view/com/auth/SplashScreen.web.tsx:149
msgid "Blog"
msgstr "Блог"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:31
#: src/view/com/auth/server-input/index.tsx:89
-#: src/view/com/auth/server-input/index.tsx:90
+#: src/view/com/auth/server-input/index.tsx:91
msgid "Bluesky"
msgstr "Bluesky"
-#: src/view/com/auth/server-input/index.tsx:150
+#: src/view/com/auth/server-input/index.tsx:154
msgid "Bluesky is an open network where you can choose your hosting provider. Custom hosting is now available in beta for developers."
msgstr "Bluesky є відкритою мережею, де ви можете обрати свого хостинг-провайдера. Власний хостинг тепер доступний в бета-версії для розробників."
#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:80
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:80
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:82
msgid "Bluesky is flexible."
msgstr "Bluesky гнучкий."
#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:69
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:69
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:71
msgid "Bluesky is open."
msgstr "Bluesky відкритий."
#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:56
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:56
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:58
msgid "Bluesky is public."
msgstr "Bluesky публічний."
-#: src/view/com/modals/Waitlist.tsx:70
-#~ msgid "Bluesky uses invites to build a healthier community. If you don't know anybody with an invite, you can sign up for the waitlist and we'll send one soon."
-#~ msgstr ""
-
-#: src/view/screens/Moderation.tsx:245
+#: src/screens/Moderation/index.tsx:533
msgid "Bluesky will not show your profile and posts to logged-out users. Other apps may not honor this request. This does not make your account private."
msgstr "Bluesky не буде показувати ваш профіль і повідомлення відвідувачам без облікового запису. Інші застосунки можуть не слідувати цьому запиту. Це не робить ваш обліковий запис приватним."
-#: src/view/com/modals/ServerInput.tsx:78
-#~ msgid "Bluesky.Social"
-#~ msgstr ""
+#: src/lib/moderation/useLabelBehaviorDescription.ts:53
+msgid "Blur images"
+msgstr "Розмити зображення"
+
+#: src/lib/moderation/useLabelBehaviorDescription.ts:51
+msgid "Blur images and filter from feeds"
+msgstr "Розмити зображення і фільтрувати їх зі стрічки"
#: src/screens/Onboarding/index.tsx:33
msgid "Books"
msgstr "Книги"
-#: src/view/screens/Settings/index.tsx:859
-msgid "Build version {0} {1}"
-msgstr "Версія {0} {1}"
-
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:87
-#: src/view/com/auth/SplashScreen.web.tsx:128
+#: src/view/com/auth/SplashScreen.web.tsx:146
msgid "Business"
msgstr "Організація"
-#: src/view/com/modals/ServerInput.tsx:115
-#~ msgid "Button disabled. Input custom domain to proceed."
-#~ msgstr ""
-
#: src/view/com/profile/ProfileSubpageHeader.tsx:157
msgid "by —"
msgstr "від —"
@@ -517,94 +512,109 @@ msgstr "від —"
msgid "by {0}"
msgstr "від {0}"
+#: src/components/LabelingServiceCard/index.tsx:57
+msgid "By {0}"
+msgstr ""
+
#: src/view/com/profile/ProfileSubpageHeader.tsx:161
msgid "by <0/>"
msgstr "від <0/>"
+#: src/screens/Signup/StepInfo/Policies.tsx:74
+msgid "By creating an account you agree to the {els}."
+msgstr ""
+
#: src/view/com/profile/ProfileSubpageHeader.tsx:159
msgid "by you"
msgstr "створено вами"
-#: src/view/com/composer/photos/OpenCameraBtn.tsx:60
-#: src/view/com/util/UserAvatar.tsx:224
-#: src/view/com/util/UserBanner.tsx:40
+#: src/view/com/composer/photos/OpenCameraBtn.tsx:77
msgid "Camera"
msgstr "Камера"
-#: src/view/com/modals/AddAppPasswords.tsx:216
+#: src/view/com/modals/AddAppPasswords.tsx:217
msgid "Can only contain letters, numbers, spaces, dashes, and underscores. Must be at least 4 characters long, but no more than 32 characters long."
msgstr "Може містити лише літери, цифри, пробіли, дефіси та знаки підкреслення, і мати довжину від 4 до 32 символів."
-#: src/components/Prompt.tsx:101
-#: src/view/com/composer/Composer.tsx:307
-#: src/view/com/composer/Composer.tsx:312
+#: src/components/Menu/index.tsx:213
+#: src/components/Prompt.tsx:113
+#: src/components/Prompt.tsx:115
+#: src/components/TagMenu/index.tsx:268
+#: src/view/com/composer/Composer.tsx:317
+#: src/view/com/composer/Composer.tsx:322
#: src/view/com/modals/ChangeEmail.tsx:218
#: src/view/com/modals/ChangeEmail.tsx:220
-#: src/view/com/modals/ChangePassword.tsx:265
-#: src/view/com/modals/ChangePassword.tsx:268
-#: src/view/com/modals/CreateOrEditList.tsx:355
-#: src/view/com/modals/EditImage.tsx:323
-#: src/view/com/modals/EditProfile.tsx:249
+#: src/view/com/modals/ChangeHandle.tsx:154
+#: src/view/com/modals/ChangePassword.tsx:267
+#: src/view/com/modals/ChangePassword.tsx:270
+#: src/view/com/modals/CreateOrEditList.tsx:356
+#: src/view/com/modals/crop-image/CropImage.web.tsx:138
+#: src/view/com/modals/EditImage.tsx:324
+#: src/view/com/modals/EditProfile.tsx:250
#: src/view/com/modals/InAppBrowserConsent.tsx:78
-#: src/view/com/modals/LinkWarning.tsx:87
-#: src/view/com/modals/Repost.tsx:87
+#: src/view/com/modals/InAppBrowserConsent.tsx:80
+#: src/view/com/modals/LinkWarning.tsx:105
+#: src/view/com/modals/LinkWarning.tsx:107
+#: src/view/com/modals/Repost.tsx:88
#: src/view/com/modals/VerifyEmail.tsx:247
#: src/view/com/modals/VerifyEmail.tsx:253
-#: src/view/screens/Search/Search.tsx:716
-#: src/view/shell/desktop/Search.tsx:238
+#: src/view/screens/Search/Search.tsx:865
+#: src/view/shell/desktop/Search.tsx:239
msgid "Cancel"
msgstr "Скасувати"
-#: src/view/com/modals/Confirm.tsx:88
-#: src/view/com/modals/Confirm.tsx:91
-#: src/view/com/modals/CreateOrEditList.tsx:360
-#: src/view/com/modals/DeleteAccount.tsx:156
-#: src/view/com/modals/DeleteAccount.tsx:234
+#: src/view/com/modals/CreateOrEditList.tsx:361
+#: src/view/com/modals/DeleteAccount.tsx:155
+#: src/view/com/modals/DeleteAccount.tsx:233
msgctxt "action"
msgid "Cancel"
msgstr "Скасувати"
-#: src/view/com/modals/DeleteAccount.tsx:152
-#: src/view/com/modals/DeleteAccount.tsx:230
+#: src/view/com/modals/DeleteAccount.tsx:151
+#: src/view/com/modals/DeleteAccount.tsx:229
msgid "Cancel account deletion"
msgstr "Скасувати видалення облікового запису"
-#: src/view/com/modals/ChangeHandle.tsx:149
+#: src/view/com/modals/ChangeHandle.tsx:150
msgid "Cancel change handle"
msgstr "Скасувати зміну псевдоніма"
-#: src/view/com/modals/crop-image/CropImage.web.tsx:134
+#: src/view/com/modals/crop-image/CropImage.web.tsx:135
msgid "Cancel image crop"
msgstr "Скасувати обрізання зображення"
-#: src/view/com/modals/EditProfile.tsx:244
+#: src/view/com/modals/EditProfile.tsx:245
msgid "Cancel profile editing"
msgstr "Скасувати зміни профілю"
-#: src/view/com/modals/Repost.tsx:78
+#: src/view/com/modals/Repost.tsx:79
msgid "Cancel quote post"
msgstr "Скасувати цитування посту"
#: src/view/com/modals/ListAddRemoveUsers.tsx:87
-#: src/view/shell/desktop/Search.tsx:234
+#: src/view/shell/desktop/Search.tsx:235
msgid "Cancel search"
msgstr "Скасувати пошук"
-#: src/view/com/modals/Waitlist.tsx:136
-#~ msgid "Cancel waitlist signup"
-#~ msgstr ""
+#: src/view/com/modals/LinkWarning.tsx:106
+msgid "Cancels opening the linked website"
+msgstr "Скасовує відкриття посилання"
-#: src/view/screens/Settings/index.tsx:334
+#: src/view/com/modals/VerifyEmail.tsx:152
+msgid "Change"
+msgstr "Змінити"
+
+#: src/view/screens/Settings/index.tsx:356
msgctxt "action"
msgid "Change"
msgstr "Змінити"
-#: src/view/screens/Settings/index.tsx:696
+#: src/view/screens/Settings/index.tsx:667
msgid "Change handle"
msgstr "Змінити псевдонім"
-#: src/view/com/modals/ChangeHandle.tsx:161
-#: src/view/screens/Settings/index.tsx:705
+#: src/view/com/modals/ChangeHandle.tsx:162
+#: src/view/screens/Settings/index.tsx:678
msgid "Change Handle"
msgstr "Змінити псевдонім"
@@ -612,11 +622,12 @@ msgstr "Змінити псевдонім"
msgid "Change my email"
msgstr "Змінити адресу електронної пошти"
-#: src/view/screens/Settings/index.tsx:732
+#: src/view/screens/Settings/index.tsx:718
msgid "Change password"
msgstr "Змінити пароль"
-#: src/view/screens/Settings/index.tsx:741
+#: src/view/com/modals/ChangePassword.tsx:141
+#: src/view/screens/Settings/index.tsx:729
msgid "Change Password"
msgstr "Зміна пароля"
@@ -624,10 +635,6 @@ msgstr "Зміна пароля"
msgid "Change post language to {0}"
msgstr "Змінити мову поста на {0}"
-#: src/view/screens/Settings/index.tsx:733
-msgid "Change your Bluesky password"
-msgstr "Змінити ваш пароль Bluesky"
-
#: src/view/com/modals/ChangeEmail.tsx:109
msgid "Change Your Email"
msgstr "Змінити адресу електронної пошти"
@@ -637,15 +644,15 @@ msgstr "Змінити адресу електронної пошти"
msgid "Check my status"
msgstr "Перевірити мій статус"
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:121
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:122
msgid "Check out some recommended feeds. Tap + to add them to your list of pinned feeds."
msgstr "Подивіться на деякі з рекомендованих стрічок. Натисніть +, щоб додати їх до свого списку закріплених стрічок."
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:185
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:186
msgid "Check out some recommended users. Follow them to see similar users."
msgstr "Ознайомтеся з деякими рекомендованими користувачами. Слідкуйте за ними, щоб побачити дописи від подібних користувачів."
-#: src/view/com/modals/DeleteAccount.tsx:169
+#: src/view/com/modals/DeleteAccount.tsx:168
msgid "Check your inbox for an email with the confirmation code to enter below:"
msgstr "Перевірте свою поштову скриньку на наявність електронного листа з кодом підтвердження та введіть його нижче:"
@@ -653,58 +660,56 @@ msgstr "Перевірте свою поштову скриньку на ная
msgid "Choose \"Everybody\" or \"Nobody\""
msgstr "Виберіть \"Усі\" або \"Ніхто\""
-#: src/view/screens/Settings/index.tsx:697
-msgid "Choose a new Bluesky username or create"
-msgstr "Оберіть або створіть своє ім'я користувача"
-
#: src/view/com/auth/server-input/index.tsx:79
msgid "Choose Service"
msgstr "Оберіть хостинг-провайдера"
-#: src/screens/Onboarding/StepFinished.tsx:135
+#: src/screens/Onboarding/StepFinished.tsx:139
msgid "Choose the algorithms that power your custom feeds."
msgstr "Оберіть алгоритми, що наповнюватимуть ваші стрічки."
#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:83
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:83
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:85
msgid "Choose the algorithms that power your experience with custom feeds."
msgstr "Автори стрічок можуть обирати будь-які алгоритми для формування стрічки саме для вас."
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:103
-#~ msgid "Choose your algorithmic feeds"
-#~ msgstr ""
-
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:103
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:104
msgid "Choose your main feeds"
msgstr "Виберіть ваші основні стрічки"
-#: src/view/com/auth/create/Step1.tsx:196
+#: src/screens/Signup/StepInfo/index.tsx:114
msgid "Choose your password"
msgstr "Вкажіть пароль"
-#: src/view/screens/Settings/index.tsx:834
-#: src/view/screens/Settings/index.tsx:835
+#: src/view/screens/Settings/index.tsx:832
msgid "Clear all legacy storage data"
msgstr ""
-#: src/view/screens/Settings/index.tsx:837
+#: src/view/screens/Settings/index.tsx:835
msgid "Clear all legacy storage data (restart after this)"
msgstr ""
-#: src/view/screens/Settings/index.tsx:846
-#: src/view/screens/Settings/index.tsx:847
+#: src/view/screens/Settings/index.tsx:844
msgid "Clear all storage data"
msgstr ""
-#: src/view/screens/Settings/index.tsx:849
+#: src/view/screens/Settings/index.tsx:847
msgid "Clear all storage data (restart after this)"
msgstr ""
#: src/view/com/util/forms/SearchInput.tsx:88
-#: src/view/screens/Search/Search.tsx:697
+#: src/view/screens/Search/Search.tsx:846
msgid "Clear search query"
msgstr "Очистити пошуковий запит"
+#: src/view/screens/Settings/index.tsx:833
+msgid "Clears all legacy storage data"
+msgstr "Видаляє всі застарілі дані зі сховища"
+
+#: src/view/screens/Settings/index.tsx:845
+msgid "Clears all storage data"
+msgstr "Видаляє всі дані зі сховища"
+
#: src/view/screens/Support.tsx:40
msgid "click here"
msgstr "натисніть тут"
@@ -713,7 +718,7 @@ msgstr "натисніть тут"
msgid "Click here to open tag menu for {tag}"
msgstr "Натисніть тут, щоб відкрити меню тегів для {tag}"
-#: src/components/RichText.tsx:191
+#: src/components/RichText.tsx:198
msgid "Click here to open tag menu for #{tag}"
msgstr "Натисніть тут, щоб відкрити меню тегів для #{tag}"
@@ -721,57 +726,58 @@ msgstr "Натисніть тут, щоб відкрити меню тегів
msgid "Climate"
msgstr "Клімат"
-#: src/view/com/modals/ChangePassword.tsx:265
-#: src/view/com/modals/ChangePassword.tsx:268
+#: src/view/com/modals/ChangePassword.tsx:267
+#: src/view/com/modals/ChangePassword.tsx:270
msgid "Close"
msgstr "Закрити"
-#: src/components/Dialog/index.web.tsx:84
-#: src/components/Dialog/index.web.tsx:198
+#: src/components/Dialog/index.web.tsx:106
+#: src/components/Dialog/index.web.tsx:218
msgid "Close active dialog"
msgstr "Закрити діалогове вікно"
-#: src/view/com/auth/login/PasswordUpdatedForm.tsx:38
+#: src/screens/Login/PasswordUpdatedForm.tsx:38
msgid "Close alert"
msgstr "Закрити сповіщення"
-#: src/view/com/util/BottomSheetCustomBackdrop.tsx:33
+#: src/view/com/util/BottomSheetCustomBackdrop.tsx:36
msgid "Close bottom drawer"
msgstr "Закрити нижнє меню"
-#: src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx:26
+#: src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx:36
msgid "Close image"
msgstr "Закрити зображення"
-#: src/view/com/lightbox/Lightbox.web.tsx:119
+#: src/view/com/lightbox/Lightbox.web.tsx:129
msgid "Close image viewer"
msgstr "Закрити перегляд зображення"
-#: src/view/shell/index.web.tsx:51
+#: src/view/shell/index.web.tsx:57
msgid "Close navigation footer"
msgstr "Закрити панель навігації"
+#: src/components/Menu/index.tsx:207
#: src/components/TagMenu/index.tsx:262
msgid "Close this dialog"
msgstr "Закрити діалогове вікно"
-#: src/view/shell/index.web.tsx:52
+#: src/view/shell/index.web.tsx:58
msgid "Closes bottom navigation bar"
msgstr "Закриває нижню панель навігації"
-#: src/view/com/auth/login/PasswordUpdatedForm.tsx:39
+#: src/screens/Login/PasswordUpdatedForm.tsx:39
msgid "Closes password update alert"
msgstr "Закриває сповіщення про оновлення пароля"
-#: src/view/com/composer/Composer.tsx:309
+#: src/view/com/composer/Composer.tsx:319
msgid "Closes post composer and discards post draft"
msgstr "Закриває редактор постів і видаляє чернетку"
-#: src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx:27
+#: src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx:37
msgid "Closes viewer for header image"
msgstr "Закриває перегляд зображення"
-#: src/view/com/notifications/FeedItem.tsx:318
+#: src/view/com/notifications/FeedItem.tsx:323
msgid "Collapses list of users for a given notification"
msgstr "Згортає список користувачів для даного сповіщення"
@@ -783,20 +789,20 @@ msgstr "Комедія"
msgid "Comics"
msgstr "Комікси"
-#: src/Navigation.tsx:229
+#: src/Navigation.tsx:241
#: src/view/screens/CommunityGuidelines.tsx:32
msgid "Community Guidelines"
msgstr "Правила спільноти"
-#: src/screens/Onboarding/StepFinished.tsx:148
+#: src/screens/Onboarding/StepFinished.tsx:152
msgid "Complete onboarding and start using your account"
msgstr "Завершіть ознайомлення та розпочніть користуватися вашим обліковим записом"
-#: src/view/com/auth/create/Step3.tsx:73
+#: src/screens/Signup/index.tsx:155
msgid "Complete the challenge"
msgstr "Виконайте завдання"
-#: src/view/com/composer/Composer.tsx:424
+#: src/view/com/composer/Composer.tsx:438
msgid "Compose posts up to {MAX_GRAPHEME_LENGTH} characters in length"
msgstr "Створюйте пости до {MAX_GRAPHEME_LENGTH} символів у довжину"
@@ -804,12 +810,20 @@ msgstr "Створюйте пости до {MAX_GRAPHEME_LENGTH} символі
msgid "Compose reply"
msgstr "Відповісти"
-#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:67
+#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:81
msgid "Configure content filtering setting for category: {0}"
msgstr "Налаштувати фільтрування вмісту для категорій: {0}"
-#: src/components/Prompt.tsx:124
-#: src/view/com/modals/AppealLabel.tsx:98
+#: src/components/moderation/LabelPreference.tsx:81
+msgid "Configure content filtering setting for category: {name}"
+msgstr "Налаштувати фільтрування вмісту для категорії: {name}"
+
+#: src/components/moderation/LabelPreference.tsx:244
+msgid "Configured in <0>moderation settings0>."
+msgstr ""
+
+#: src/components/Prompt.tsx:153
+#: src/components/Prompt.tsx:156
#: src/view/com/modals/SelfLabel.tsx:154
#: src/view/com/modals/VerifyEmail.tsx:231
#: src/view/com/modals/VerifyEmail.tsx:233
@@ -818,67 +832,68 @@ msgstr "Налаштувати фільтрування вмісту для ка
msgid "Confirm"
msgstr "Підтвердити"
-#: src/view/com/modals/Confirm.tsx:75
-#: src/view/com/modals/Confirm.tsx:78
-msgctxt "action"
-msgid "Confirm"
-msgstr "Підтвердити"
-
#: src/view/com/modals/ChangeEmail.tsx:193
#: src/view/com/modals/ChangeEmail.tsx:195
msgid "Confirm Change"
msgstr "Підтвердити"
-#: src/view/com/modals/lang-settings/ConfirmLanguagesButton.tsx:34
+#: src/view/com/modals/lang-settings/ConfirmLanguagesButton.tsx:35
msgid "Confirm content language settings"
msgstr "Підтвердити налаштування мови вмісту"
-#: src/view/com/modals/DeleteAccount.tsx:220
+#: src/view/com/modals/DeleteAccount.tsx:219
msgid "Confirm delete account"
msgstr "Підтвердити видалення облікового запису"
-#: src/view/com/modals/ContentFilteringSettings.tsx:156
-msgid "Confirm your age to enable adult content."
-msgstr "Підтвердьте свій вік, щоб дозволити вміст для дорослих."
+#: src/screens/Moderation/index.tsx:301
+msgid "Confirm your age:"
+msgstr "Підтвердіть ваш вік:"
+
+#: src/screens/Moderation/index.tsx:292
+msgid "Confirm your birthdate"
+msgstr "Підтвердіть вашу дату народження"
#: src/view/com/modals/ChangeEmail.tsx:157
-#: src/view/com/modals/DeleteAccount.tsx:182
+#: src/view/com/modals/DeleteAccount.tsx:175
+#: src/view/com/modals/DeleteAccount.tsx:181
#: src/view/com/modals/VerifyEmail.tsx:165
msgid "Confirmation code"
msgstr "Код підтвердження"
-#: src/view/com/modals/Waitlist.tsx:120
-#~ msgid "Confirms signing up {email} to the waitlist"
-#~ msgstr ""
-
-#: src/view/com/auth/create/CreateAccount.tsx:193
-#: src/view/com/auth/login/LoginForm.tsx:278
+#: src/screens/Login/LoginForm.tsx:248
msgid "Connecting..."
msgstr "З’єднання..."
-#: src/view/com/auth/create/CreateAccount.tsx:213
+#: src/screens/Signup/index.tsx:225
msgid "Contact support"
msgstr "Служба підтримки"
-#: src/view/screens/Moderation.tsx:83
-msgid "Content filtering"
-msgstr "Фільтрування вмісту"
+#: src/components/moderation/LabelsOnMe.tsx:42
+msgid "content"
+msgstr ""
-#: src/view/com/modals/ContentFilteringSettings.tsx:44
-msgid "Content Filtering"
-msgstr "Фільтрування вмісту"
+#: src/lib/moderation/useGlobalLabelStrings.ts:18
+msgid "Content Blocked"
+msgstr "Заблокований вміст"
+
+#: src/screens/Moderation/index.tsx:285
+msgid "Content filters"
+msgstr "Відсів вмісту"
#: src/view/com/modals/lang-settings/ContentLanguagesSettings.tsx:74
#: src/view/screens/LanguageSettings.tsx:278
msgid "Content Languages"
msgstr "Мови"
-#: src/view/com/modals/ModerationDetails.tsx:65
+#: src/components/moderation/ModerationDetailsDialog.tsx:75
+#: src/lib/moderation/useModerationCauseDescription.ts:75
msgid "Content Not Available"
msgstr "Вміст недоступний"
-#: src/view/com/modals/ModerationDetails.tsx:33
-#: src/view/com/util/moderation/ScreenHider.tsx:78
+#: src/components/moderation/ModerationDetailsDialog.tsx:46
+#: src/components/moderation/ScreenHider.tsx:99
+#: src/lib/moderation/useGlobalLabelStrings.ts:22
+#: src/lib/moderation/useModerationCauseDescription.ts:38
msgid "Content Warning"
msgstr "Попередження про вміст"
@@ -886,28 +901,38 @@ msgstr "Попередження про вміст"
msgid "Content warnings"
msgstr "Попередження про вміст"
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:170
-#: src/screens/Onboarding/StepFollowingFeed.tsx:153
-#: src/screens/Onboarding/StepInterests/index.tsx:248
-#: src/screens/Onboarding/StepModeration/index.tsx:118
-#: src/screens/Onboarding/StepTopicalFeeds.tsx:114
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:148
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:209
+#: src/components/Menu/index.web.tsx:84
+msgid "Context menu backdrop, click to close the menu."
+msgstr ""
+
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:161
+#: src/screens/Onboarding/StepFollowingFeed.tsx:154
+#: src/screens/Onboarding/StepInterests/index.tsx:252
+#: src/screens/Onboarding/StepModeration/index.tsx:103
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:118
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:150
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:211
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:96
msgid "Continue"
msgstr "Далі"
-#: src/screens/Onboarding/StepFollowingFeed.tsx:150
-#: src/screens/Onboarding/StepInterests/index.tsx:245
-#: src/screens/Onboarding/StepModeration/index.tsx:115
-#: src/screens/Onboarding/StepTopicalFeeds.tsx:111
+#: src/components/AccountList.tsx:108
+msgid "Continue as {0} (currently signed in)"
+msgstr ""
+
+#: src/screens/Onboarding/StepFollowingFeed.tsx:151
+#: src/screens/Onboarding/StepInterests/index.tsx:249
+#: src/screens/Onboarding/StepModeration/index.tsx:100
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:115
+#: src/screens/Signup/index.tsx:200
msgid "Continue to next step"
msgstr "Перейти до наступного кроку"
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:167
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:158
msgid "Continue to the next step"
msgstr "Перейти до наступного кроку"
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:191
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:199
msgid "Continue to the next step without following any accounts"
msgstr "Перейдіть до наступного кроку, ні на кого не підписуючись"
@@ -915,100 +940,106 @@ msgstr "Перейдіть до наступного кроку, ні на ко
msgid "Cooking"
msgstr "Кухарство"
-#: src/view/com/modals/AddAppPasswords.tsx:195
-#: src/view/com/modals/InviteCodes.tsx:182
+#: src/view/com/modals/AddAppPasswords.tsx:196
+#: src/view/com/modals/InviteCodes.tsx:183
msgid "Copied"
msgstr "Скопійовано"
-#: src/view/screens/Settings/index.tsx:241
+#: src/view/screens/Settings/index.tsx:254
msgid "Copied build version to clipboard"
msgstr "Версію збірки скопійовано до буфера обміну"
-#: src/view/com/modals/AddAppPasswords.tsx:76
-#: src/view/com/modals/InviteCodes.tsx:152
-#: src/view/com/util/forms/PostDropdownBtn.tsx:161
+#: src/view/com/modals/AddAppPasswords.tsx:77
+#: src/view/com/modals/ChangeHandle.tsx:326
+#: src/view/com/modals/InviteCodes.tsx:153
+#: src/view/com/util/forms/PostDropdownBtn.tsx:164
msgid "Copied to clipboard"
msgstr "Скопійовано"
-#: src/view/com/modals/AddAppPasswords.tsx:189
+#: src/components/dialogs/Embed.tsx:134
+msgid "Copied!"
+msgstr ""
+
+#: src/view/com/modals/AddAppPasswords.tsx:190
msgid "Copies app password"
msgstr "Копіює пароль застосунку"
-#: src/view/com/modals/AddAppPasswords.tsx:188
+#: src/view/com/modals/AddAppPasswords.tsx:189
msgid "Copy"
msgstr "Скопіювати"
-#: src/view/screens/ProfileList.tsx:418
+#: src/view/com/modals/ChangeHandle.tsx:480
+msgid "Copy {0}"
+msgstr ""
+
+#: src/components/dialogs/Embed.tsx:120
+#: src/components/dialogs/Embed.tsx:139
+msgid "Copy code"
+msgstr ""
+
+#: src/view/screens/ProfileList.tsx:390
msgid "Copy link to list"
msgstr "Копіювати посилання на список"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:231
-#: src/view/com/util/forms/PostDropdownBtn.tsx:237
+#: src/view/com/util/forms/PostDropdownBtn.tsx:236
+#: src/view/com/util/forms/PostDropdownBtn.tsx:245
msgid "Copy link to post"
msgstr "Копіювати посилання на пост"
-#: src/view/com/profile/ProfileHeader.tsx:295
-msgid "Copy link to profile"
-msgstr "Копіювати посилання на профіль"
-
-#: src/view/com/util/forms/PostDropdownBtn.tsx:223
-#: src/view/com/util/forms/PostDropdownBtn.tsx:225
+#: src/view/com/util/forms/PostDropdownBtn.tsx:228
+#: src/view/com/util/forms/PostDropdownBtn.tsx:230
msgid "Copy post text"
msgstr "Копіювати текст повідомлення"
-#: src/Navigation.tsx:234
+#: src/Navigation.tsx:246
#: src/view/screens/CopyrightPolicy.tsx:29
msgid "Copyright Policy"
msgstr "Політика захисту авторського права"
-#: src/view/screens/ProfileFeed.tsx:97
+#: src/view/screens/ProfileFeed.tsx:103
msgid "Could not load feed"
msgstr "Не вдалося завантажити стрічку"
-#: src/view/screens/ProfileList.tsx:893
+#: src/view/screens/ProfileList.tsx:909
msgid "Could not load list"
msgstr "Не вдалося завантажити список"
-#: src/view/com/auth/create/Step2.tsx:91
-#~ msgid "Country"
-#~ msgstr ""
-
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:62
-#: src/view/com/auth/SplashScreen.tsx:71
-#: src/view/com/auth/SplashScreen.web.tsx:81
+#: src/view/com/auth/SplashScreen.tsx:57
+#: src/view/com/auth/SplashScreen.web.tsx:101
msgid "Create a new account"
msgstr "Створити новий обліковий запис"
-#: src/view/screens/Settings/index.tsx:384
+#: src/view/screens/Settings/index.tsx:406
msgid "Create a new Bluesky account"
msgstr "Створити новий обліковий запис Bluesky"
-#: src/view/com/auth/create/CreateAccount.tsx:133
+#: src/screens/Signup/index.tsx:130
msgid "Create Account"
msgstr "Створити обліковий запис"
-#: src/view/com/modals/AddAppPasswords.tsx:226
+#: src/components/dialogs/Signin.tsx:86
+#: src/components/dialogs/Signin.tsx:88
+msgid "Create an account"
+msgstr ""
+
+#: src/view/com/modals/AddAppPasswords.tsx:227
msgid "Create App Password"
msgstr "Створити пароль застосунку"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:54
-#: src/view/com/auth/SplashScreen.tsx:68
+#: src/view/com/auth/SplashScreen.tsx:48
+#: src/view/com/auth/SplashScreen.web.tsx:92
msgid "Create new account"
msgstr "Створити новий обліковий запис"
-#: src/view/screens/AppPasswords.tsx:249
+#: src/components/ReportDialog/SelectReportOptionView.tsx:94
+msgid "Create report for {0}"
+msgstr ""
+
+#: src/view/screens/AppPasswords.tsx:246
msgid "Created {0}"
msgstr "Створено: {0}"
-#: src/view/screens/ProfileFeed.tsx:616
-msgid "Created by <0/>"
-msgstr "Створено <0/>"
-
-#: src/view/screens/ProfileFeed.tsx:614
-msgid "Created by you"
-msgstr "Створено вами"
-
-#: src/view/com/composer/Composer.tsx:455
+#: src/view/com/composer/Composer.tsx:469
msgid "Creates a card with a thumbnail. The card links to {url}"
msgstr "Створює картку з мініатюрою. Посилання картки: {url}"
@@ -1016,17 +1047,17 @@ msgstr "Створює картку з мініатюрою. Посилання
msgid "Culture"
msgstr "Культура"
-#: src/view/com/auth/server-input/index.tsx:95
-#: src/view/com/auth/server-input/index.tsx:96
+#: src/view/com/auth/server-input/index.tsx:97
+#: src/view/com/auth/server-input/index.tsx:99
msgid "Custom"
msgstr "Користувацький"
-#: src/view/com/modals/ChangeHandle.tsx:389
+#: src/view/com/modals/ChangeHandle.tsx:388
msgid "Custom domain"
msgstr "Власний домен"
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:106
-#: src/view/screens/Feeds.tsx:692
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:107
+#: src/view/screens/Feeds.tsx:717
msgid "Custom feeds built by the community bring you new experiences and help you find the content you love."
msgstr "Кастомні стрічки, створені спільнотою, подарують вам нові враження та допоможуть знайти контент, який ви любите."
@@ -1034,12 +1065,8 @@ msgstr "Кастомні стрічки, створені спільнотою,
msgid "Customize media from external sites."
msgstr "Налаштування медіа зі сторонніх вебсайтів."
-#: src/view/screens/Settings.tsx:687
-#~ msgid "Danger Zone"
-#~ msgstr ""
-
-#: src/view/screens/Settings/index.tsx:485
-#: src/view/screens/Settings/index.tsx:511
+#: src/view/screens/Settings/index.tsx:455
+#: src/view/screens/Settings/index.tsx:481
msgid "Dark"
msgstr "Темна"
@@ -1047,89 +1074,117 @@ msgstr "Темна"
msgid "Dark mode"
msgstr "Темний режим"
-#: src/view/screens/Settings/index.tsx:498
+#: src/view/screens/Settings/index.tsx:468
msgid "Dark Theme"
msgstr "Темна тема"
+#: src/screens/Signup/StepInfo/index.tsx:134
+msgid "Date of birth"
+msgstr "Дата народження"
+
+#: src/view/screens/Settings/index.tsx:805
+msgid "Debug Moderation"
+msgstr ""
+
#: src/view/screens/Debug.tsx:83
msgid "Debug panel"
msgstr "Панель налагодження"
-#: src/view/screens/Settings/index.tsx:772
+#: src/view/com/util/forms/PostDropdownBtn.tsx:341
+#: src/view/screens/AppPasswords.tsx:268
+#: src/view/screens/ProfileList.tsx:615
+msgid "Delete"
+msgstr "Видаліть"
+
+#: src/view/screens/Settings/index.tsx:760
msgid "Delete account"
msgstr "Видалити обліковий запис"
-#: src/view/com/modals/DeleteAccount.tsx:87
+#: src/view/com/modals/DeleteAccount.tsx:86
msgid "Delete Account"
msgstr "Видалити обліковий запис"
-#: src/view/screens/AppPasswords.tsx:222
-#: src/view/screens/AppPasswords.tsx:242
+#: src/view/screens/AppPasswords.tsx:239
msgid "Delete app password"
msgstr "Видалити пароль для застосунку"
-#: src/view/screens/ProfileList.tsx:364
-#: src/view/screens/ProfileList.tsx:445
+#: src/view/screens/AppPasswords.tsx:263
+msgid "Delete app password?"
+msgstr "Видалити пароль застосунку?"
+
+#: src/view/screens/ProfileList.tsx:417
msgid "Delete List"
msgstr "Видалити список"
-#: src/view/com/modals/DeleteAccount.tsx:223
+#: src/view/com/modals/DeleteAccount.tsx:222
msgid "Delete my account"
msgstr "Видалити мій обліковий запис"
-#: src/view/screens/Settings.tsx:706
-#~ msgid "Delete my account…"
-#~ msgstr ""
-
-#: src/view/screens/Settings/index.tsx:784
+#: src/view/screens/Settings/index.tsx:772
msgid "Delete My Account…"
msgstr "Видалити мій обліковий запис..."
-#: src/view/com/util/forms/PostDropdownBtn.tsx:317
-#: src/view/com/util/forms/PostDropdownBtn.tsx:326
+#: src/view/com/util/forms/PostDropdownBtn.tsx:322
+#: src/view/com/util/forms/PostDropdownBtn.tsx:324
msgid "Delete post"
msgstr "Видалити пост"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:321
+#: src/view/screens/ProfileList.tsx:610
+msgid "Delete this list?"
+msgstr "Видалити цей список?"
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:336
msgid "Delete this post?"
msgstr "Видалити цей пост?"
-#: src/view/com/util/post-embeds/QuoteEmbed.tsx:70
+#: src/view/com/util/post-embeds/QuoteEmbed.tsx:67
msgid "Deleted"
msgstr "Видалено"
-#: src/view/com/post-thread/PostThread.tsx:316
+#: src/view/com/post-thread/PostThread.tsx:305
msgid "Deleted post."
msgstr "Видалений пост."
-#: src/view/com/modals/CreateOrEditList.tsx:300
-#: src/view/com/modals/CreateOrEditList.tsx:321
-#: src/view/com/modals/EditProfile.tsx:198
-#: src/view/com/modals/EditProfile.tsx:210
+#: src/view/com/modals/CreateOrEditList.tsx:301
+#: src/view/com/modals/CreateOrEditList.tsx:322
+#: src/view/com/modals/EditProfile.tsx:199
+#: src/view/com/modals/EditProfile.tsx:211
msgid "Description"
msgstr "Опис"
-#: src/view/screens/Settings.tsx:760
-#~ msgid "Developer Tools"
-#~ msgstr ""
-
#: src/view/com/composer/Composer.tsx:218
msgid "Did you want to say anything?"
msgstr "Порожній пост. Ви хотіли щось написати?"
-#: src/view/screens/Settings/index.tsx:504
+#: src/view/screens/Settings/index.tsx:474
msgid "Dim"
msgstr "Тьмяний"
-#: src/view/com/composer/Composer.tsx:151
+#: src/view/screens/Settings/index.tsx:697
+msgid "Disable haptics"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:697
+msgid "Disable vibrations"
+msgstr ""
+
+#: src/lib/moderation/useLabelBehaviorDescription.ts:32
+#: src/lib/moderation/useLabelBehaviorDescription.ts:42
+#: src/lib/moderation/useLabelBehaviorDescription.ts:68
+#: src/screens/Moderation/index.tsx:341
+msgid "Disabled"
+msgstr "Вимкнено"
+
+#: src/view/com/composer/Composer.tsx:511
msgid "Discard"
msgstr "Видалити"
-#: src/view/com/composer/Composer.tsx:145
-msgid "Discard draft"
-msgstr "Відкинути чернетку"
+#: src/view/com/composer/Composer.tsx:508
+msgid "Discard draft?"
+msgstr "Відхилити чернетку?"
-#: src/view/screens/Moderation.tsx:226
+#: src/screens/Moderation/index.tsx:518
+#: src/screens/Moderation/index.tsx:522
msgid "Discourage apps from showing my account to logged-out users"
msgstr "Попросити застосунки не показувати мій обліковий запис без входу"
@@ -1138,32 +1193,58 @@ msgstr "Попросити застосунки не показувати мій
msgid "Discover new custom feeds"
msgstr "Відкрийте для себе нові стрічки"
-#: src/view/screens/Feeds.tsx:473
-#~ msgid "Discover new feeds"
-#~ msgstr ""
-
-#: src/view/screens/Feeds.tsx:689
+#: src/view/screens/Feeds.tsx:714
msgid "Discover New Feeds"
msgstr "Відкрийте для себе нові стрічки"
-#: src/view/com/modals/EditProfile.tsx:192
+#: src/view/com/modals/EditProfile.tsx:193
msgid "Display name"
msgstr "Ім'я"
-#: src/view/com/modals/EditProfile.tsx:180
+#: src/view/com/modals/EditProfile.tsx:181
msgid "Display Name"
msgstr "Ім'я"
-#: src/view/com/modals/ChangeHandle.tsx:487
+#: src/view/com/modals/ChangeHandle.tsx:397
+msgid "DNS Panel"
+msgstr "Панель DNS"
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:39
+msgid "Does not include nudity."
+msgstr "Не містить оголеності."
+
+#: src/screens/Signup/StepHandle.tsx:105
+msgid "Doesn't begin or end with a hyphen"
+msgstr "Не починається або закінчується дефісом"
+
+#: src/view/com/modals/ChangeHandle.tsx:481
+msgid "Domain Value"
+msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:488
msgid "Domain verified!"
msgstr "Домен перевірено!"
-#: src/view/com/auth/create/Step1.tsx:170
-#~ msgid "Don't have an invite code?"
-#~ msgstr ""
+#: src/components/dialogs/BirthDateSettings.tsx:119
+#: src/components/dialogs/BirthDateSettings.tsx:125
+#: src/components/forms/DateField/index.tsx:74
+#: src/components/forms/DateField/index.tsx:80
+#: src/view/com/auth/server-input/index.tsx:169
+#: src/view/com/auth/server-input/index.tsx:170
+#: src/view/com/modals/AddAppPasswords.tsx:227
+#: src/view/com/modals/AltImage.tsx:140
+#: src/view/com/modals/crop-image/CropImage.web.tsx:153
+#: src/view/com/modals/InviteCodes.tsx:81
+#: src/view/com/modals/InviteCodes.tsx:124
+#: src/view/com/modals/ListAddRemoveUsers.tsx:142
+#: src/view/screens/PreferencesFollowingFeed.tsx:311
+#: src/view/screens/Settings/ExportCarDialog.tsx:94
+#: src/view/screens/Settings/ExportCarDialog.tsx:96
+msgid "Done"
+msgstr "Готово"
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:86
-#: src/view/com/modals/EditImage.tsx:333
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:87
+#: src/view/com/modals/EditImage.tsx:334
#: src/view/com/modals/ListAddRemoveUsers.tsx:144
#: src/view/com/modals/SelfLabel.tsx:157
#: src/view/com/modals/Threadgate.tsx:129
@@ -1175,34 +1256,10 @@ msgctxt "action"
msgid "Done"
msgstr "Готово"
-#: src/view/com/auth/server-input/index.tsx:165
-#: src/view/com/auth/server-input/index.tsx:166
-#: src/view/com/modals/AddAppPasswords.tsx:226
-#: src/view/com/modals/AltImage.tsx:139
-#: src/view/com/modals/ContentFilteringSettings.tsx:88
-#: src/view/com/modals/ContentFilteringSettings.tsx:96
-#: src/view/com/modals/crop-image/CropImage.web.tsx:152
-#: src/view/com/modals/InviteCodes.tsx:80
-#: src/view/com/modals/InviteCodes.tsx:123
-#: src/view/com/modals/ListAddRemoveUsers.tsx:142
-#: src/view/screens/PreferencesFollowingFeed.tsx:311
-#: src/view/screens/Settings/ExportCarDialog.tsx:93
-#: src/view/screens/Settings/ExportCarDialog.tsx:94
-msgid "Done"
-msgstr "Готово"
-
-#: src/view/com/modals/lang-settings/ConfirmLanguagesButton.tsx:42
+#: src/view/com/modals/lang-settings/ConfirmLanguagesButton.tsx:43
msgid "Done{extraText}"
msgstr "Готово{extraText}"
-#: src/view/com/auth/login/ChooseAccountForm.tsx:45
-msgid "Double tap to sign in"
-msgstr "Двічі натисніть, щоб увійти"
-
-#: src/view/screens/Settings/index.tsx:755
-msgid "Download Bluesky account data (repository)"
-msgstr "Завантажити дані облікового запису в Bluesky (репозиторій)"
-
#: src/view/screens/Settings/ExportCarDialog.tsx:59
#: src/view/screens/Settings/ExportCarDialog.tsx:63
msgid "Download CAR file"
@@ -1212,35 +1269,47 @@ msgstr "Завантажити CAR файл"
msgid "Drop to add images"
msgstr "Перетягніть і відпустіть, щоб додати зображення"
-#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:111
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:120
msgid "Due to Apple policies, adult content can only be enabled on the web after completing sign up."
msgstr "Через політику компанії Apple, перегляд вмісту для дорослих можна ввімкнути лише в інтернеті після реєстрації."
-#: src/view/com/modals/EditProfile.tsx:185
+#: src/view/com/modals/ChangeHandle.tsx:258
+msgid "e.g. alice"
+msgstr "для прикладу, olenka"
+
+#: src/view/com/modals/EditProfile.tsx:186
msgid "e.g. Alice Roberts"
msgstr "напр. Тарас Шевченко"
-#: src/view/com/modals/EditProfile.tsx:203
+#: src/view/com/modals/ChangeHandle.tsx:380
+msgid "e.g. alice.com"
+msgstr "для прикладу, olenka.ua"
+
+#: src/view/com/modals/EditProfile.tsx:204
msgid "e.g. Artist, dog-lover, and avid reader."
msgstr "напр. Художниця, собачниця та завзята читачка."
-#: src/view/com/modals/CreateOrEditList.tsx:283
+#: src/lib/moderation/useGlobalLabelStrings.ts:43
+msgid "E.g. artistic nudes."
+msgstr "Напр. художня голота."
+
+#: src/view/com/modals/CreateOrEditList.tsx:284
msgid "e.g. Great Posters"
msgstr "напр. Чудові писарі"
-#: src/view/com/modals/CreateOrEditList.tsx:284
+#: src/view/com/modals/CreateOrEditList.tsx:285
msgid "e.g. Spammers"
msgstr "напр. Спамери"
-#: src/view/com/modals/CreateOrEditList.tsx:312
+#: src/view/com/modals/CreateOrEditList.tsx:313
msgid "e.g. The posters who never miss."
msgstr "напр. Писарі, що нічого не пропускають."
-#: src/view/com/modals/CreateOrEditList.tsx:313
+#: src/view/com/modals/CreateOrEditList.tsx:314
msgid "e.g. Users that repeatedly reply with ads."
msgstr "напр. Користувачі, що неодноразово відповідали рекламою."
-#: src/view/com/modals/InviteCodes.tsx:96
+#: src/view/com/modals/InviteCodes.tsx:97
msgid "Each code works once. You'll receive more invite codes periodically."
msgstr "Кожен код запрошення працює лише один раз. Час від часу ви будете отримувати нові коди."
@@ -1249,51 +1318,58 @@ msgctxt "action"
msgid "Edit"
msgstr "Редагувати"
+#: src/view/com/util/UserAvatar.tsx:301
+#: src/view/com/util/UserBanner.tsx:85
+msgid "Edit avatar"
+msgstr "Змінити фото профілю"
+
#: src/view/com/composer/photos/Gallery.tsx:144
-#: src/view/com/modals/EditImage.tsx:207
+#: src/view/com/modals/EditImage.tsx:208
msgid "Edit image"
msgstr "Редагувати зображення"
-#: src/view/screens/ProfileList.tsx:433
+#: src/view/screens/ProfileList.tsx:405
msgid "Edit list details"
msgstr "Редагувати опис списку"
-#: src/view/com/modals/CreateOrEditList.tsx:250
+#: src/view/com/modals/CreateOrEditList.tsx:251
msgid "Edit Moderation List"
msgstr "Редагування списку"
-#: src/Navigation.tsx:244
-#: src/view/screens/Feeds.tsx:434
-#: src/view/screens/SavedFeeds.tsx:84
+#: src/Navigation.tsx:256
+#: src/view/screens/Feeds.tsx:459
+#: src/view/screens/SavedFeeds.tsx:85
msgid "Edit My Feeds"
msgstr "Редагувати мої стрічки"
-#: src/view/com/modals/EditProfile.tsx:152
+#: src/view/com/modals/EditProfile.tsx:153
msgid "Edit my profile"
msgstr "Редагувати мій профіль"
-#: src/view/com/profile/ProfileHeader.tsx:418
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:178
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:168
msgid "Edit profile"
msgstr "Редагувати профіль"
-#: src/view/com/profile/ProfileHeader.tsx:423
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:181
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:171
msgid "Edit Profile"
msgstr "Редагувати профіль"
-#: src/view/com/home/HomeHeaderLayout.web.tsx:62
-#: src/view/screens/Feeds.tsx:355
+#: src/view/com/home/HomeHeaderLayout.web.tsx:66
+#: src/view/screens/Feeds.tsx:380
msgid "Edit Saved Feeds"
msgstr "Редагувати збережені стрічки"
-#: src/view/com/modals/CreateOrEditList.tsx:245
+#: src/view/com/modals/CreateOrEditList.tsx:246
msgid "Edit User List"
msgstr "Редагувати список користувачів"
-#: src/view/com/modals/EditProfile.tsx:193
+#: src/view/com/modals/EditProfile.tsx:194
msgid "Edit your display name"
msgstr "Редагувати ваш псевдонім для показу"
-#: src/view/com/modals/EditProfile.tsx:211
+#: src/view/com/modals/EditProfile.tsx:212
msgid "Edit your profile description"
msgstr "Редагувати опис вашого профілю"
@@ -1301,14 +1377,12 @@ msgstr "Редагувати опис вашого профілю"
msgid "Education"
msgstr "Освіта"
-#: src/view/com/auth/create/Step1.tsx:176
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:156
+#: src/screens/Signup/StepInfo/index.tsx:80
#: src/view/com/modals/ChangeEmail.tsx:141
msgid "Email"
msgstr "Ел. адреса"
-#: src/view/com/auth/create/Step1.tsx:167
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:147
+#: src/screens/Login/ForgotPasswordForm.tsx:99
msgid "Email address"
msgstr "Адреса електронної пошти"
@@ -1325,26 +1399,45 @@ msgstr "Ел. адресу оновлено"
msgid "Email verified"
msgstr "Електронну адресу перевірено"
-#: src/view/screens/Settings/index.tsx:312
+#: src/view/screens/Settings/index.tsx:334
msgid "Email:"
msgstr "Ел. адреса:"
-#: src/view/com/modals/EmbedConsent.tsx:113
+#: src/components/dialogs/Embed.tsx:112
+msgid "Embed HTML code"
+msgstr ""
+
+#: src/components/dialogs/Embed.tsx:97
+#: src/view/com/util/forms/PostDropdownBtn.tsx:253
+#: src/view/com/util/forms/PostDropdownBtn.tsx:255
+msgid "Embed post"
+msgstr ""
+
+#: src/components/dialogs/Embed.tsx:101
+msgid "Embed this post in your website. Simply copy the following snippet and paste it into the HTML code of your website."
+msgstr ""
+
+#: src/components/dialogs/EmbedConsent.tsx:101
msgid "Enable {0} only"
msgstr "Увімкнути лише {0}"
-#: src/view/com/modals/ContentFilteringSettings.tsx:167
+#: src/screens/Moderation/index.tsx:329
+msgid "Enable adult content"
+msgstr "Дозволити вміст для дорослих"
+
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:94
msgid "Enable Adult Content"
msgstr "Дозволити вміст для дорослих"
-#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:76
-#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:77
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:78
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:79
msgid "Enable adult content in your feeds"
msgstr "Увімкнути вміст для дорослих у ваших стрічках"
-#: src/view/com/modals/EmbedConsent.tsx:97
-msgid "Enable External Media"
-msgstr "Увімкнути зовнішні медіа"
+#: src/components/dialogs/EmbedConsent.tsx:82
+#: src/components/dialogs/EmbedConsent.tsx:89
+msgid "Enable external media"
+msgstr ""
#: src/view/screens/PreferencesExternalEmbeds.tsx:75
msgid "Enable media players for"
@@ -1354,16 +1447,28 @@ msgstr "Увімкнути медіапрогравачі для"
msgid "Enable this setting to only see replies between people you follow."
msgstr "Увімкніть цей параметр, щоб бачити відповіді тільки від людей, на яких ви підписані."
-#: src/view/screens/Profile.tsx:455
+#: src/components/dialogs/EmbedConsent.tsx:94
+msgid "Enable this source only"
+msgstr ""
+
+#: src/screens/Moderation/index.tsx:339
+msgid "Enabled"
+msgstr "Увімкнено"
+
+#: src/screens/Profile/Sections/Feed.tsx:100
msgid "End of feed"
msgstr "Кінець стрічки"
-#: src/view/com/modals/AddAppPasswords.tsx:166
+#: src/view/com/modals/AddAppPasswords.tsx:167
msgid "Enter a name for this App Password"
msgstr "Введіть ім'я для цього пароля застосунку"
+#: src/screens/Login/SetNewPasswordForm.tsx:139
+msgid "Enter a password"
+msgstr "Введіть пароль"
+
+#: src/components/dialogs/MutedWords.tsx:99
#: src/components/dialogs/MutedWords.tsx:100
-#: src/components/dialogs/MutedWords.tsx:101
msgid "Enter a word or tag"
msgstr "Введіть слово або тег"
@@ -1371,28 +1476,24 @@ msgstr "Введіть слово або тег"
msgid "Enter Confirmation Code"
msgstr "Введіть код підтвердження"
-#: src/view/com/modals/ChangePassword.tsx:151
+#: src/view/com/modals/ChangePassword.tsx:153
msgid "Enter the code you received to change your password."
msgstr "Введіть код, який ви отримали, щоб змінити пароль."
-#: src/view/com/modals/ChangeHandle.tsx:371
+#: src/view/com/modals/ChangeHandle.tsx:370
msgid "Enter the domain you want to use"
msgstr "Введіть домен, який ви хочете використовувати"
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:107
+#: src/screens/Login/ForgotPasswordForm.tsx:119
msgid "Enter the email you used to create your account. We'll send you a \"reset code\" so you can set a new password."
msgstr "Введіть адресу електронної пошти, яку ви використовували для створення облікового запису. Ми надішлемо вам код підтвердження, щоб ви могли встановити новий пароль."
-#: src/view/com/auth/create/Step1.tsx:228
-#: src/view/com/modals/BirthDateSettings.tsx:74
+#: src/components/dialogs/BirthDateSettings.tsx:108
msgid "Enter your birth date"
msgstr "Введіть вашу дату народження"
-#: src/view/com/modals/Waitlist.tsx:78
-#~ msgid "Enter your email"
-#~ msgstr ""
-
-#: src/view/com/auth/create/Step1.tsx:172
+#: src/screens/Login/ForgotPasswordForm.tsx:105
+#: src/screens/Signup/StepInfo/index.tsx:92
msgid "Enter your email address"
msgstr "Введіть адресу електронної пошти"
@@ -1404,19 +1505,15 @@ msgstr "Введіть вашу нову електронну пошту вищ
msgid "Enter your new email address below."
msgstr "Введіть нову адресу електронної пошти."
-#: src/view/com/auth/create/Step2.tsx:188
-#~ msgid "Enter your phone number"
-#~ msgstr ""
-
-#: src/view/com/auth/login/Login.tsx:99
+#: src/screens/Login/index.tsx:101
msgid "Enter your username and password"
msgstr "Введіть псевдонім та пароль"
-#: src/view/com/auth/create/Step3.tsx:67
+#: src/screens/Signup/StepCaptcha/index.tsx:49
msgid "Error receiving captcha response."
msgstr "Помилка отримання відповіді Captcha."
-#: src/view/screens/Search/Search.tsx:110
+#: src/view/screens/Search/Search.tsx:115
msgid "Error:"
msgstr "Помилка:"
@@ -1424,131 +1521,148 @@ msgstr "Помилка:"
msgid "Everybody"
msgstr "Усі"
-#: src/view/com/modals/ChangeHandle.tsx:150
+#: src/lib/moderation/useReportOptions.ts:66
+msgid "Excessive mentions or replies"
+msgstr ""
+
+#: src/view/com/modals/DeleteAccount.tsx:230
+msgid "Exits account deletion process"
+msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:151
msgid "Exits handle change process"
msgstr "Вихід з процесу зміни псевдоніму користувача"
-#: src/view/com/lightbox/Lightbox.web.tsx:120
+#: src/view/com/modals/crop-image/CropImage.web.tsx:136
+msgid "Exits image cropping process"
+msgstr ""
+
+#: src/view/com/lightbox/Lightbox.web.tsx:130
msgid "Exits image view"
msgstr "Вийти з режиму перегляду"
#: src/view/com/modals/ListAddRemoveUsers.tsx:88
-#: src/view/shell/desktop/Search.tsx:235
+#: src/view/shell/desktop/Search.tsx:236
msgid "Exits inputting search query"
msgstr "Вихід із пошуку"
-#: src/view/com/modals/Waitlist.tsx:138
-#~ msgid "Exits signing up for waitlist with {email}"
-#~ msgstr ""
-
-#: src/view/com/lightbox/Lightbox.web.tsx:163
+#: src/view/com/lightbox/Lightbox.web.tsx:183
msgid "Expand alt text"
msgstr "Розгорнути опис"
-#: src/view/com/composer/ComposerReplyTo.tsx:81
-#: src/view/com/composer/ComposerReplyTo.tsx:84
+#: src/view/com/composer/ComposerReplyTo.tsx:82
+#: src/view/com/composer/ComposerReplyTo.tsx:85
msgid "Expand or collapse the full post you are replying to"
msgstr "Розгорнути або згорнути весь пост, на який ви відповідаєте"
-#: src/view/screens/Settings/index.tsx:753
+#: src/lib/moderation/useGlobalLabelStrings.ts:47
+msgid "Explicit or potentially disturbing media."
+msgstr "Відвертий чи потенційно тривожний засіб."
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:35
+msgid "Explicit sexual images."
+msgstr "Відверті сексуальні зображення."
+
+#: src/view/screens/Settings/index.tsx:741
msgid "Export my data"
msgstr "Експорт моїх даних"
#: src/view/screens/Settings/ExportCarDialog.tsx:44
-#: src/view/screens/Settings/index.tsx:764
+#: src/view/screens/Settings/index.tsx:752
msgid "Export My Data"
msgstr "Експорт моїх даних"
-#: src/view/com/modals/EmbedConsent.tsx:64
+#: src/components/dialogs/EmbedConsent.tsx:55
+#: src/components/dialogs/EmbedConsent.tsx:59
msgid "External Media"
msgstr "Зовнішні медіа"
-#: src/view/com/modals/EmbedConsent.tsx:75
+#: src/components/dialogs/EmbedConsent.tsx:71
#: src/view/screens/PreferencesExternalEmbeds.tsx:66
msgid "External media may allow websites to collect information about you and your device. No information is sent or requested until you press the \"play\" button."
msgstr "Зовнішні медіа можуть дозволяти вебсайтам збирати інформацію про вас та ваш пристрій. Інформація не надсилається та не запитується, допоки не натиснуто кнопку «Відтворити»."
-#: src/Navigation.tsx:263
+#: src/Navigation.tsx:275
#: src/view/screens/PreferencesExternalEmbeds.tsx:52
-#: src/view/screens/Settings/index.tsx:657
+#: src/view/screens/Settings/index.tsx:628
msgid "External Media Preferences"
msgstr "Налаштування зовнішніх медіа"
-#: src/view/screens/Settings/index.tsx:648
+#: src/view/screens/Settings/index.tsx:619
msgid "External media settings"
msgstr "Налаштування зовнішніх медіа"
-#: src/view/com/modals/AddAppPasswords.tsx:115
-#: src/view/com/modals/AddAppPasswords.tsx:119
+#: src/view/com/modals/AddAppPasswords.tsx:116
+#: src/view/com/modals/AddAppPasswords.tsx:120
msgid "Failed to create app password."
msgstr "Не вдалося створити пароль застосунку."
-#: src/view/com/modals/CreateOrEditList.tsx:206
+#: src/view/com/modals/CreateOrEditList.tsx:207
msgid "Failed to create the list. Check your internet connection and try again."
msgstr "Не вдалося створити список. Перевірте інтернет-з'єднання і спробуйте ще раз."
-#: src/view/com/util/forms/PostDropdownBtn.tsx:128
+#: src/view/com/util/forms/PostDropdownBtn.tsx:131
msgid "Failed to delete post, please try again"
msgstr "Не вдалося видалити пост, спробуйте ще раз"
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:109
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:141
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:110
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:143
msgid "Failed to load recommended feeds"
msgstr "Не вдалося завантажити рекомендації стрічок"
-#: src/Navigation.tsx:194
+#: src/view/com/lightbox/Lightbox.tsx:83
+msgid "Failed to save image: {0}"
+msgstr "Провалено збереження зображення: {0}"
+
+#: src/Navigation.tsx:196
msgid "Feed"
msgstr "Стрічка"
-#: src/view/com/feeds/FeedSourceCard.tsx:231
+#: src/view/com/feeds/FeedSourceCard.tsx:218
msgid "Feed by {0}"
msgstr "Стрічка від {0}"
-#: src/view/screens/Feeds.tsx:605
+#: src/view/screens/Feeds.tsx:630
msgid "Feed offline"
msgstr "Стрічка не працює"
-#: src/view/com/feeds/FeedPage.tsx:143
-#~ msgid "Feed Preferences"
-#~ msgstr ""
-
#: src/view/shell/desktop/RightNav.tsx:61
-#: src/view/shell/Drawer.tsx:311
+#: src/view/shell/Drawer.tsx:320
msgid "Feedback"
msgstr "Зворотний зв'язок"
-#: src/Navigation.tsx:452
-#: src/view/screens/Feeds.tsx:419
-#: src/view/screens/Feeds.tsx:524
-#: src/view/screens/Profile.tsx:184
-#: src/view/shell/bottom-bar/BottomBar.tsx:181
-#: src/view/shell/desktop/LeftNav.tsx:342
-#: src/view/shell/Drawer.tsx:476
-#: src/view/shell/Drawer.tsx:477
+#: src/Navigation.tsx:456
+#: src/view/screens/Feeds.tsx:444
+#: src/view/screens/Feeds.tsx:549
+#: src/view/screens/Profile.tsx:199
+#: src/view/shell/bottom-bar/BottomBar.tsx:192
+#: src/view/shell/desktop/LeftNav.tsx:346
+#: src/view/shell/Drawer.tsx:485
+#: src/view/shell/Drawer.tsx:486
msgid "Feeds"
msgstr "Стрічки"
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:106
-#~ msgid "Feeds are created by users and can give you entirely new experiences."
-#~ msgstr ""
-
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:106
-#~ msgid "Feeds are created by users and organizations. They offer you varied experiences and suggest content you may like using algorithms."
-#~ msgstr ""
-
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:57
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:58
msgid "Feeds are created by users to curate content. Choose some feeds that you find interesting."
msgstr "Стрічки створюються користувачами для відбору постів. Оберіть стрічки, що вас цікавлять."
-#: src/view/screens/SavedFeeds.tsx:156
+#: src/view/screens/SavedFeeds.tsx:157
msgid "Feeds are custom algorithms that users build with a little coding expertise. <0/> for more information."
msgstr "Стрічки – це алгоритми, створені користувачами з деяким досвідом програмування. <0/> для додаткової інформації."
-#: src/screens/Onboarding/StepTopicalFeeds.tsx:76
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:80
msgid "Feeds can be topical as well!"
msgstr "Стрічки також можуть бути тематичними!"
-#: src/screens/Onboarding/StepFinished.tsx:151
+#: src/view/com/modals/ChangeHandle.tsx:481
+msgid "File Contents"
+msgstr "Вміст файлу"
+
+#: src/lib/moderation/useLabelBehaviorDescription.ts:66
+msgid "Filter from feeds"
+msgstr "Відсів від стрічки"
+
+#: src/screens/Onboarding/StepFinished.tsx:155
msgid "Finalizing"
msgstr "Завершення"
@@ -1558,25 +1672,21 @@ msgstr "Завершення"
msgid "Find accounts to follow"
msgstr "Знайдіть облікові записи для стеження"
-#: src/view/screens/Search/Search.tsx:440
+#: src/view/screens/Search/Search.tsx:589
msgid "Find users on Bluesky"
msgstr "Знайти користувачів у Bluesky"
-#: src/view/screens/Search/Search.tsx:438
+#: src/view/screens/Search/Search.tsx:587
msgid "Find users with the search tool on the right"
msgstr "Знайдіть користувачів за допомогою інструменту пошуку праворуч"
-#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:150
+#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:155
msgid "Finding similar accounts..."
msgstr "Пошук подібних облікових записів..."
#: src/view/screens/PreferencesFollowingFeed.tsx:111
msgid "Fine-tune the content you see on your Following feed."
-msgstr "Оберіть, що ви хочете бачити у своїй стрічці підписок."
-
-#: src/view/screens/PreferencesHomeFeed.tsx:111
-#~ msgid "Fine-tune the content you see on your home screen."
-#~ msgstr ""
+msgstr "Оберіть, що хочете бачити в своїй стрічці підписок."
#: src/view/screens/PreferencesThreads.tsx:60
msgid "Fine-tune the discussion threads."
@@ -1586,49 +1696,60 @@ msgstr "Налаштуйте відображення обговорень."
msgid "Fitness"
msgstr "Фітнес"
-#: src/screens/Onboarding/StepFinished.tsx:131
+#: src/screens/Onboarding/StepFinished.tsx:135
msgid "Flexible"
msgstr "Гнучкий"
-#: src/view/com/modals/EditImage.tsx:115
+#: src/view/com/modals/EditImage.tsx:116
msgid "Flip horizontal"
msgstr "Віддзеркалити горизонтально"
-#: src/view/com/modals/EditImage.tsx:120
-#: src/view/com/modals/EditImage.tsx:287
+#: src/view/com/modals/EditImage.tsx:121
+#: src/view/com/modals/EditImage.tsx:288
msgid "Flip vertically"
msgstr "Віддзеркалити вертикально"
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:181
-#: src/view/com/post-thread/PostThreadFollowBtn.tsx:136
-#: src/view/com/profile/ProfileHeader.tsx:513
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:189
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:235
+#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:141
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:146
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:248
msgid "Follow"
msgstr "Підписатися"
-#: src/view/com/profile/FollowButton.tsx:64
+#: src/view/com/profile/FollowButton.tsx:69
msgctxt "action"
msgid "Follow"
msgstr "Підписатись"
#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:58
-#: src/view/com/post-thread/PostThreadFollowBtn.tsx:122
-#: src/view/com/profile/ProfileHeader.tsx:504
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:221
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:128
msgid "Follow {0}"
msgstr "Підписатися на {0}"
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:179
+#: src/view/com/profile/ProfileMenu.tsx:242
+#: src/view/com/profile/ProfileMenu.tsx:253
+msgid "Follow Account"
+msgstr ""
+
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:187
msgid "Follow All"
msgstr "Підписатися на всіх"
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:174
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:144
+msgid "Follow Back"
+msgstr "Підписатися навзаєм"
+
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:182
msgid "Follow selected accounts and continue to the next step"
msgstr "Підпишіться на обрані облікові записи і переходьте до наступного кроку"
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:64
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:65
msgid "Follow some users to get started. We can recommend you more users based on who you find interesting."
msgstr "Підпишіться на кількох користувачів щоб почати їх читати. Ми зможемо порекомендувати вам більше користувачів, спираючись на те хто вас цікавить."
-#: src/view/com/profile/ProfileCard.tsx:194
+#: src/view/com/profile/ProfileCard.tsx:219
msgid "Followed by {0}"
msgstr "Підписані {0}"
@@ -1640,37 +1761,43 @@ msgstr "Ваші підписки"
msgid "Followed users only"
msgstr "Тільки ваші підписки"
-#: src/view/com/notifications/FeedItem.tsx:166
+#: src/view/com/notifications/FeedItem.tsx:172
msgid "followed you"
-msgstr "підписка на вас"
+msgstr "підписалися на вас"
+#: src/view/com/profile/ProfileFollowers.tsx:104
#: src/view/screens/ProfileFollowers.tsx:25
msgid "Followers"
msgstr "Підписники"
-#: src/view/com/post-thread/PostThreadFollowBtn.tsx:136
-#: src/view/com/profile/ProfileHeader.tsx:495
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:233
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:149
+#: src/view/com/profile/ProfileFollows.tsx:104
#: src/view/screens/ProfileFollows.tsx:25
msgid "Following"
msgstr "Підписані"
-#: src/view/com/profile/ProfileHeader.tsx:149
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:93
msgid "Following {0}"
msgstr "Підписання на \"{0}\""
-#: src/Navigation.tsx:250
-#: src/view/com/home/HomeHeaderLayout.web.tsx:50
-#: src/view/com/home/HomeHeaderLayoutMobile.tsx:84
+#: src/view/screens/Settings/index.tsx:504
+msgid "Following feed preferences"
+msgstr "Налаштування стрічки підписок"
+
+#: src/Navigation.tsx:262
+#: src/view/com/home/HomeHeaderLayout.web.tsx:54
+#: src/view/com/home/HomeHeaderLayoutMobile.tsx:87
#: src/view/screens/PreferencesFollowingFeed.tsx:104
-#: src/view/screens/Settings/index.tsx:543
+#: src/view/screens/Settings/index.tsx:513
msgid "Following Feed Preferences"
msgstr "Налаштування стрічки підписок"
-#: src/view/com/profile/ProfileHeader.tsx:546
+#: src/screens/Profile/Header/Handle.tsx:24
msgid "Follows you"
msgstr "Підписаний(-на) на вас"
-#: src/view/com/profile/ProfileCard.tsx:141
+#: src/view/com/profile/ProfileCard.tsx:144
msgid "Follows You"
msgstr "Підписаний(-на) на вас"
@@ -1678,33 +1805,37 @@ msgstr "Підписаний(-на) на вас"
msgid "Food"
msgstr "Їжа"
-#: src/view/com/modals/DeleteAccount.tsx:111
+#: src/view/com/modals/DeleteAccount.tsx:110
msgid "For security reasons, we'll need to send a confirmation code to your email address."
msgstr "З міркувань безпеки нам потрібно буде відправити код підтвердження на вашу електронну адресу."
-#: src/view/com/modals/AddAppPasswords.tsx:209
+#: src/view/com/modals/AddAppPasswords.tsx:210
msgid "For security reasons, you won't be able to view this again. If you lose this password, you'll need to generate a new one."
msgstr "З міркувань безпеки цей пароль відображається лише один раз. Якщо ви втратите цей пароль, вам потрібно буде згенерувати новий."
-#: src/view/com/auth/login/LoginForm.tsx:241
-msgid "Forgot"
-msgstr "Забули пароль"
-
-#: src/view/com/auth/login/LoginForm.tsx:238
-msgid "Forgot password"
-msgstr "Забули пароль"
-
-#: src/view/com/auth/login/Login.tsx:127
-#: src/view/com/auth/login/Login.tsx:143
+#: src/screens/Login/index.tsx:129
+#: src/screens/Login/index.tsx:144
msgid "Forgot Password"
msgstr "Забули пароль"
-#: src/screens/Hashtag.tsx:108
-#: src/screens/Hashtag.tsx:148
+#: src/screens/Login/LoginForm.tsx:201
+msgid "Forgot password?"
+msgstr "Забули пароль?"
+
+#: src/screens/Login/LoginForm.tsx:212
+msgid "Forgot?"
+msgstr ""
+
+#: src/lib/moderation/useReportOptions.ts:52
+msgid "Frequently Posts Unwanted Content"
+msgstr ""
+
+#: src/screens/Hashtag.tsx:109
+#: src/screens/Hashtag.tsx:149
msgid "From @{sanitizedAuthor}"
msgstr "Від @{sanitizedAuthor}"
-#: src/view/com/posts/FeedItem.tsx:189
+#: src/view/com/posts/FeedItem.tsx:181
msgctxt "from-feed"
msgid "From <0/>"
msgstr "Зі стрічки \"<0/>\""
@@ -1718,113 +1849,136 @@ msgstr "Галерея"
msgid "Get Started"
msgstr "Почати"
-#: src/view/com/auth/LoggedOut.tsx:81
+#: src/lib/moderation/useReportOptions.ts:37
+msgid "Glaring violations of law or terms of service"
+msgstr "Грубі порушення закону чи умов послугу"
+
+#: src/components/moderation/ScreenHider.tsx:151
+#: src/components/moderation/ScreenHider.tsx:160
#: src/view/com/auth/LoggedOut.tsx:82
-#: src/view/com/util/moderation/ScreenHider.tsx:123
-#: src/view/shell/desktop/LeftNav.tsx:104
+#: src/view/com/auth/LoggedOut.tsx:83
+#: src/view/screens/NotFound.tsx:55
+#: src/view/screens/ProfileFeed.tsx:112
+#: src/view/screens/ProfileList.tsx:918
+#: src/view/shell/desktop/LeftNav.tsx:108
msgid "Go back"
msgstr "Назад"
-#: src/view/screens/ProfileFeed.tsx:106
-#: src/view/screens/ProfileFeed.tsx:111
-#: src/view/screens/ProfileList.tsx:902
-#: src/view/screens/ProfileList.tsx:907
+#: src/components/Error.tsx:91
+#: src/screens/Profile/ErrorState.tsx:62
+#: src/screens/Profile/ErrorState.tsx:66
+#: src/view/screens/NotFound.tsx:54
+#: src/view/screens/ProfileFeed.tsx:117
+#: src/view/screens/ProfileList.tsx:923
msgid "Go Back"
msgstr "Назад"
-#: src/screens/Onboarding/Layout.tsx:104
-#: src/screens/Onboarding/Layout.tsx:193
+#: src/components/ReportDialog/SelectReportOptionView.tsx:73
+#: src/components/ReportDialog/SubmitView.tsx:102
+#: src/screens/Onboarding/Layout.tsx:102
+#: src/screens/Onboarding/Layout.tsx:191
+#: src/screens/Signup/index.tsx:174
msgid "Go back to previous step"
-msgstr "Повернутися до попереднього кроку"
+msgstr "Назад до попереднього кроку"
-#: src/view/screens/Search/Search.tsx:747
-#: src/view/shell/desktop/Search.tsx:262
+#: src/view/screens/NotFound.tsx:55
+msgid "Go home"
+msgstr "На головну"
+
+#: src/view/screens/NotFound.tsx:54
+msgid "Go Home"
+msgstr "На головну"
+
+#: src/view/screens/Search/Search.tsx:896
+#: src/view/shell/desktop/Search.tsx:263
msgid "Go to @{queryMaybeHandle}"
msgstr "Перейти до @{queryMaybeHandle}"
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:189
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:218
-#: src/view/com/auth/login/LoginForm.tsx:288
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:195
-#: src/view/com/modals/ChangePassword.tsx:165
+#: src/screens/Login/ForgotPasswordForm.tsx:172
+#: src/view/com/modals/ChangePassword.tsx:167
msgid "Go to next"
msgstr "Далі"
-#: src/view/com/modals/ChangeHandle.tsx:265
+#: src/lib/moderation/useGlobalLabelStrings.ts:46
+msgid "Graphic Media"
+msgstr "Графічний медіаконтент"
+
+#: src/view/com/modals/ChangeHandle.tsx:266
msgid "Handle"
msgstr "Псевдонім"
-#: src/Navigation.tsx:270
+#: src/lib/moderation/useReportOptions.ts:32
+msgid "Harassment, trolling, or intolerance"
+msgstr "Домагання, тролінг або нетерпимість"
+
+#: src/Navigation.tsx:282
msgid "Hashtag"
-msgstr "Хештег"
+msgstr "Мітка"
-#: src/components/RichText.tsx:188
-#~ msgid "Hashtag: {tag}"
-#~ msgstr ""
-
-#: src/components/RichText.tsx:190
+#: src/components/RichText.tsx:197
msgid "Hashtag: #{tag}"
-msgstr "Хештег: #{tag}"
+msgstr "Мітка: #{tag}"
-#: src/view/com/auth/create/CreateAccount.tsx:208
+#: src/screens/Signup/index.tsx:221
msgid "Having trouble?"
-msgstr "Виникли проблеми?"
+msgstr "Маєте проблеми?"
#: src/view/shell/desktop/RightNav.tsx:90
-#: src/view/shell/Drawer.tsx:321
+#: src/view/shell/Drawer.tsx:330
msgid "Help"
msgstr "Довідка"
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:132
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:140
msgid "Here are some accounts for you to follow"
-msgstr "Ось деякі облікові записи, на які ви підписані"
+msgstr "Ось деякі облікові записи до ваших підписок"
-#: src/screens/Onboarding/StepTopicalFeeds.tsx:85
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:89
msgid "Here are some popular topical feeds. You can choose to follow as many as you like."
-msgstr "Ось декілька популярних тематичних стрічок. Ви можете підписатися на скільки забажаєте з них."
+msgstr "Ось декілька популярних стрічок за темами. Можете підписуватися скільки завгодно."
-#: src/screens/Onboarding/StepTopicalFeeds.tsx:80
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:84
msgid "Here are some topical feeds based on your interests: {interestsText}. You can choose to follow as many as you like."
-msgstr "Ось декілька тематичних стрічок на основі ваших інтересів: {interestsText}. Ви можете підписатися на скільки забажаєте з них."
+msgstr "Ось декілька стрічок за темами на основі ваших інтересів: {interestsText}. Можете підписуватися скільки завгодно."
-#: src/view/com/modals/AddAppPasswords.tsx:153
+#: src/view/com/modals/AddAppPasswords.tsx:154
msgid "Here is your app password."
-msgstr "Це ваш пароль для застосунків."
+msgstr "Ось ваш пароль для застосунків."
-#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:41
-#: src/view/com/modals/ContentFilteringSettings.tsx:251
-#: src/view/com/util/moderation/ContentHider.tsx:105
-#: src/view/com/util/moderation/PostHider.tsx:108
+#: src/components/moderation/ContentHider.tsx:115
+#: src/components/moderation/LabelPreference.tsx:134
+#: src/components/moderation/PostHider.tsx:107
+#: src/lib/moderation/useLabelBehaviorDescription.ts:15
+#: src/lib/moderation/useLabelBehaviorDescription.ts:20
+#: src/lib/moderation/useLabelBehaviorDescription.ts:25
+#: src/lib/moderation/useLabelBehaviorDescription.ts:30
+#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:52
+#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:76
+#: src/view/com/util/forms/PostDropdownBtn.tsx:350
msgid "Hide"
msgstr "Приховати"
-#: src/view/com/modals/ContentFilteringSettings.tsx:224
-#: src/view/com/notifications/FeedItem.tsx:326
+#: src/view/com/notifications/FeedItem.tsx:331
msgctxt "action"
msgid "Hide"
-msgstr "Сховати"
+msgstr "Сховай"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:276
-#: src/view/com/util/forms/PostDropdownBtn.tsx:287
+#: src/view/com/util/forms/PostDropdownBtn.tsx:294
+#: src/view/com/util/forms/PostDropdownBtn.tsx:296
msgid "Hide post"
-msgstr "Сховати пост"
+msgstr "Сховай пост"
-#: src/view/com/util/moderation/ContentHider.tsx:67
-#: src/view/com/util/moderation/PostHider.tsx:61
+#: src/components/moderation/ContentHider.tsx:67
+#: src/components/moderation/PostHider.tsx:64
msgid "Hide the content"
-msgstr "Приховати вміст"
+msgstr "Сховай вміст"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:280
+#: src/view/com/util/forms/PostDropdownBtn.tsx:347
msgid "Hide this post?"
msgstr "Сховати цей пост?"
-#: src/view/com/notifications/FeedItem.tsx:316
+#: src/view/com/notifications/FeedItem.tsx:321
msgid "Hide user list"
-msgstr "Сховати список користувачів"
-
-#: src/view/com/profile/ProfileHeader.tsx:487
-msgid "Hides posts from {0} in your feed"
-msgstr "Приховує пости з {0} у вашій стрічці"
+msgstr "Сховай список користувачів"
#: src/view/com/posts/FeedErrorMessage.tsx:111
msgid "Hmm, some kind of issue occurred when contacting the feed server. Please let the feed owner know about this issue."
@@ -1846,43 +2000,50 @@ msgstr "Хм, сервер стрічки надіслав нам незрозу
msgid "Hmm, we're having trouble finding this feed. It may have been deleted."
msgstr "Хм, ми не можемо знайти цю стрічку. Можливо вона була видалена."
-#: src/Navigation.tsx:442
-#: src/view/shell/bottom-bar/BottomBar.tsx:137
-#: src/view/shell/desktop/LeftNav.tsx:306
-#: src/view/shell/Drawer.tsx:398
-#: src/view/shell/Drawer.tsx:399
+#: src/screens/Moderation/index.tsx:59
+msgid "Hmmmm, it seems we're having trouble loading this data. See below for more details. If this issue persists, please contact us."
+msgstr ""
+
+#: src/screens/Profile/ErrorState.tsx:31
+msgid "Hmmmm, we couldn't load that moderation service."
+msgstr ""
+
+#: src/Navigation.tsx:446
+#: src/view/shell/bottom-bar/BottomBar.tsx:148
+#: src/view/shell/desktop/LeftNav.tsx:310
+#: src/view/shell/Drawer.tsx:407
+#: src/view/shell/Drawer.tsx:408
msgid "Home"
-msgstr "Головна"
+msgstr "Домівка"
-#: src/Navigation.tsx:247
-#: src/view/com/pager/FeedsTabBarMobile.tsx:123
-#: src/view/screens/PreferencesHomeFeed.tsx:104
-#: src/view/screens/Settings/index.tsx:543
-#~ msgid "Home Feed Preferences"
-#~ msgstr ""
+#: src/view/com/modals/ChangeHandle.tsx:420
+msgid "Host:"
+msgstr "Host:"
-#: src/view/com/auth/create/Step1.tsx:75
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:120
+#: src/screens/Login/ForgotPasswordForm.tsx:89
+#: src/screens/Login/LoginForm.tsx:134
+#: src/screens/Signup/StepInfo/index.tsx:40
+#: src/view/com/modals/ChangeHandle.tsx:281
msgid "Hosting provider"
msgstr "Хостинг-провайдер"
#: src/view/com/modals/InAppBrowserConsent.tsx:44
msgid "How should we open this link?"
-msgstr "Як ви хочете відкрити це посилання?"
+msgstr "Як хочете відкрити цю ланку?"
#: src/view/com/modals/VerifyEmail.tsx:214
msgid "I have a code"
-msgstr "У мене є код"
+msgstr "Маю код"
#: src/view/com/modals/VerifyEmail.tsx:216
msgid "I have a confirmation code"
-msgstr "У мене є код підтвердження"
+msgstr "Маю код підтвердження"
-#: src/view/com/modals/ChangeHandle.tsx:283
+#: src/view/com/modals/ChangeHandle.tsx:284
msgid "I have my own domain"
-msgstr "Я маю власний домен"
+msgstr "Маю свій домен"
-#: src/view/com/lightbox/Lightbox.web.tsx:165
+#: src/view/com/lightbox/Lightbox.web.tsx:185
msgid "If alt text is long, toggles alt text expanded state"
msgstr "Розкриває альтернативний текст, якщо текст задовгий"
@@ -1890,190 +2051,198 @@ msgstr "Розкриває альтернативний текст, якщо т
msgid "If none are selected, suitable for all ages."
msgstr "Якщо не вибрано жодного варіанту - підходить для всіх."
-#: src/view/com/modals/ChangePassword.tsx:146
+#: src/screens/Signup/StepInfo/Policies.tsx:83
+msgid "If you are not yet an adult according to the laws of your country, your parent or legal guardian must read these Terms on your behalf."
+msgstr ""
+
+#: src/view/screens/ProfileList.tsx:612
+msgid "If you delete this list, you won't be able to recover it."
+msgstr "Якщо видалите цей список, то його не відновите."
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:338
+msgid "If you remove this post, you won't be able to recover it."
+msgstr "Якщо видалите цей пост, то його не відновите."
+
+#: src/view/com/modals/ChangePassword.tsx:148
msgid "If you want to change your password, we will send you a code to verify that this is your account."
msgstr "Якщо ви хочете змінити пароль, ми надішлемо вам код, щоб переконатися, що це ваш обліковий запис."
+#: src/lib/moderation/useReportOptions.ts:36
+msgid "Illegal and Urgent"
+msgstr ""
+
#: src/view/com/util/images/Gallery.tsx:38
msgid "Image"
msgstr "Зображення"
-#: src/view/com/modals/AltImage.tsx:120
+#: src/view/com/modals/AltImage.tsx:121
msgid "Image alt text"
msgstr "Опис зображення"
-#: src/view/com/util/UserAvatar.tsx:311
-#: src/view/com/util/UserBanner.tsx:118
-msgid "Image options"
-msgstr "Редагування зображення"
+#: src/lib/moderation/useReportOptions.ts:47
+msgid "Impersonation or false claims about identity or affiliation"
+msgstr "Самозванство чи брехливі заяви про особу чи партнера"
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:138
+#: src/screens/Login/SetNewPasswordForm.tsx:127
msgid "Input code sent to your email for password reset"
msgstr "Введіть код, надісланий на вашу електронну пошту для скидання пароля"
-#: src/view/com/modals/DeleteAccount.tsx:184
+#: src/view/com/modals/DeleteAccount.tsx:183
msgid "Input confirmation code for account deletion"
msgstr "Введіть код підтвердження для видалення облікового запису"
-#: src/view/com/auth/create/Step1.tsx:177
-msgid "Input email for Bluesky account"
-msgstr "Введіть адресу електронної пошти для облікового запису Bluesky"
-
-#: src/view/com/auth/create/Step1.tsx:151
-msgid "Input invite code to proceed"
-msgstr "Введіть код запрошення, щоб продовжити"
-
-#: src/view/com/modals/AddAppPasswords.tsx:180
+#: src/view/com/modals/AddAppPasswords.tsx:181
msgid "Input name for app password"
msgstr "Введіть ім'я для пароля застосунку"
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:162
+#: src/screens/Login/SetNewPasswordForm.tsx:151
msgid "Input new password"
msgstr "Введіть новий пароль"
-#: src/view/com/modals/DeleteAccount.tsx:203
+#: src/view/com/modals/DeleteAccount.tsx:202
msgid "Input password for account deletion"
msgstr "Введіть пароль для видалення облікового запису"
-#: src/view/com/auth/create/Step2.tsx:196
-#~ msgid "Input phone number for SMS verification"
-#~ msgstr ""
-
-#: src/view/com/auth/login/LoginForm.tsx:230
+#: src/screens/Login/LoginForm.tsx:195
msgid "Input the password tied to {identifier}"
msgstr "Введіть пароль, прив'язаний до {identifier}"
-#: src/view/com/auth/login/LoginForm.tsx:197
+#: src/screens/Login/LoginForm.tsx:168
msgid "Input the username or email address you used at signup"
msgstr "Введіть псевдонім або ел. адресу, які ви використовували для реєстрації"
-#: src/view/com/auth/create/Step2.tsx:271
-#~ msgid "Input the verification code we have texted to you"
-#~ msgstr ""
-
-#: src/view/com/modals/Waitlist.tsx:90
-#~ msgid "Input your email to get on the Bluesky waitlist"
-#~ msgstr ""
-
-#: src/view/com/auth/login/LoginForm.tsx:229
+#: src/screens/Login/LoginForm.tsx:194
msgid "Input your password"
msgstr "Введіть ваш пароль"
-#: src/view/com/auth/create/Step2.tsx:80
+#: src/view/com/modals/ChangeHandle.tsx:389
+msgid "Input your preferred hosting provider"
+msgstr ""
+
+#: src/screens/Signup/StepHandle.tsx:63
msgid "Input your user handle"
msgstr "Введіть ваш псевдонім"
-#: src/view/com/post-thread/PostThreadItem.tsx:226
+#: src/view/com/post-thread/PostThreadItem.tsx:221
msgid "Invalid or unsupported post record"
msgstr "Невірний або непідтримуваний пост"
-#: src/view/com/auth/login/LoginForm.tsx:113
+#: src/screens/Login/LoginForm.tsx:114
msgid "Invalid username or password"
msgstr "Невірне ім'я користувача або пароль"
-#: src/view/screens/Settings.tsx:411
-#~ msgid "Invite"
-#~ msgstr ""
-
-#: src/view/com/modals/InviteCodes.tsx:93
+#: src/view/com/modals/InviteCodes.tsx:94
msgid "Invite a Friend"
msgstr "Запросити друга"
-#: src/view/com/auth/create/Step1.tsx:141
-#: src/view/com/auth/create/Step1.tsx:150
+#: src/screens/Signup/StepInfo/index.tsx:58
msgid "Invite code"
msgstr "Код запрошення"
-#: src/view/com/auth/create/state.ts:158
+#: src/screens/Signup/state.ts:278
msgid "Invite code not accepted. Check that you input it correctly and try again."
msgstr "Код запрошення не прийнято. Переконайтеся в його правильності та повторіть спробу."
-#: src/view/com/modals/InviteCodes.tsx:170
+#: src/view/com/modals/InviteCodes.tsx:171
msgid "Invite codes: {0} available"
msgstr "Коди запрошення: {0}"
-#: src/view/shell/Drawer.tsx:645
-#~ msgid "Invite codes: {invitesAvailable} available"
-#~ msgstr ""
-
-#: src/view/com/modals/InviteCodes.tsx:169
+#: src/view/com/modals/InviteCodes.tsx:170
msgid "Invite codes: 1 available"
msgstr "Коди запрошення: 1"
-#: src/screens/Onboarding/StepFollowingFeed.tsx:64
+#: src/screens/Onboarding/StepFollowingFeed.tsx:65
msgid "It shows posts from the people you follow as they happen."
msgstr "Ми показуємо пости людей, за якими ви слідкуєте в тому порядку в якому вони публікуються."
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:99
-#: src/view/com/auth/SplashScreen.web.tsx:138
+#: src/view/com/auth/SplashScreen.web.tsx:152
msgid "Jobs"
msgstr "Вакансії"
-#: src/view/com/modals/Waitlist.tsx:67
-#~ msgid "Join the waitlist"
-#~ msgstr ""
-
-#: src/view/com/auth/create/Step1.tsx:174
-#: src/view/com/auth/create/Step1.tsx:178
-#~ msgid "Join the waitlist."
-#~ msgstr ""
-
-#: src/view/com/modals/Waitlist.tsx:128
-#~ msgid "Join Waitlist"
-#~ msgstr ""
-
#: src/screens/Onboarding/index.tsx:24
msgid "Journalism"
msgstr "Журналістика"
+#: src/components/moderation/LabelsOnMe.tsx:59
+msgid "label has been placed on this {labelTarget}"
+msgstr ""
+
+#: src/components/moderation/ContentHider.tsx:144
+msgid "Labeled by {0}."
+msgstr ""
+
+#: src/components/moderation/ContentHider.tsx:142
+msgid "Labeled by the author."
+msgstr ""
+
+#: src/view/screens/Profile.tsx:193
+msgid "Labels"
+msgstr ""
+
+#: src/screens/Profile/Sections/Labels.tsx:153
+msgid "Labels are annotations on users and content. They can be used to hide, warn, and categorize the network."
+msgstr ""
+
+#: src/components/moderation/LabelsOnMe.tsx:61
+msgid "labels have been placed on this {labelTarget}"
+msgstr ""
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:62
+msgid "Labels on your account"
+msgstr ""
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:64
+msgid "Labels on your content"
+msgstr ""
+
#: src/view/com/composer/select-language/SelectLangBtn.tsx:104
msgid "Language selection"
msgstr "Вибір мови"
-#: src/view/screens/Settings/index.tsx:594
+#: src/view/screens/Settings/index.tsx:565
msgid "Language settings"
msgstr "Налаштування мови"
-#: src/Navigation.tsx:142
+#: src/Navigation.tsx:144
#: src/view/screens/LanguageSettings.tsx:89
msgid "Language Settings"
msgstr "Налаштування мов"
-#: src/view/screens/Settings/index.tsx:603
+#: src/view/screens/Settings/index.tsx:574
msgid "Languages"
msgstr "Мови"
-#: src/view/com/auth/create/StepHeader.tsx:20
-msgid "Last step!"
-msgstr "Останній крок!"
+#: src/view/screens/Search/Search.tsx:437
+msgid "Latest"
+msgstr ""
-#: src/view/com/util/moderation/ContentHider.tsx:103
-msgid "Learn more"
-msgstr "Дізнатися більше"
-
-#: src/view/com/util/moderation/PostAlerts.tsx:47
-#: src/view/com/util/moderation/ProfileHeaderAlerts.tsx:65
-#: src/view/com/util/moderation/ScreenHider.tsx:104
+#: src/components/moderation/ScreenHider.tsx:136
msgid "Learn More"
msgstr "Дізнатися більше"
-#: src/view/com/util/moderation/ContentHider.tsx:85
-#: src/view/com/util/moderation/PostAlerts.tsx:40
-#: src/view/com/util/moderation/PostHider.tsx:78
-#: src/view/com/util/moderation/ProfileHeaderAlerts.tsx:49
-#: src/view/com/util/moderation/ScreenHider.tsx:101
+#: src/components/moderation/ContentHider.tsx:65
+#: src/components/moderation/ContentHider.tsx:128
+msgid "Learn more about the moderation applied to this content."
+msgstr ""
+
+#: src/components/moderation/PostHider.tsx:85
+#: src/components/moderation/ScreenHider.tsx:125
msgid "Learn more about this warning"
msgstr "Дізнатися більше про це попередження"
-#: src/view/screens/Moderation.tsx:262
+#: src/screens/Moderation/index.tsx:549
msgid "Learn more about what is public on Bluesky."
msgstr "Дізнатися більше про те, що є публічним в Bluesky."
+#: src/components/moderation/ContentHider.tsx:152
+msgid "Learn more."
+msgstr ""
+
#: src/view/com/modals/lang-settings/ContentLanguagesSettings.tsx:82
msgid "Leave them all unchecked to see any language."
msgstr "Залиште їх усі невідміченими, щоб бачити пости незалежно від мови."
-#: src/view/com/modals/LinkWarning.tsx:51
+#: src/view/com/modals/LinkWarning.tsx:65
msgid "Leaving Bluesky"
msgstr "Ви залишаєте Bluesky"
@@ -2081,138 +2250,135 @@ msgstr "Ви залишаєте Bluesky"
msgid "left to go."
msgstr "ще залишилося."
-#: src/view/screens/Settings/index.tsx:278
+#: src/view/screens/Settings/index.tsx:299
msgid "Legacy storage cleared, you need to restart the app now."
msgstr "Старе сховище очищено, тепер вам потрібно перезапустити застосунок."
-#: src/view/com/auth/login/Login.tsx:128
-#: src/view/com/auth/login/Login.tsx:144
+#: src/screens/Login/index.tsx:130
+#: src/screens/Login/index.tsx:145
msgid "Let's get your password reset!"
msgstr "Давайте відновимо ваш пароль!"
-#: src/screens/Onboarding/StepFinished.tsx:151
+#: src/screens/Onboarding/StepFinished.tsx:155
msgid "Let's go!"
msgstr "Злітаємо!"
-#: src/view/com/util/UserAvatar.tsx:248
-#: src/view/com/util/UserBanner.tsx:62
-msgid "Library"
-msgstr "Галерея"
-
-#: src/view/screens/Settings/index.tsx:479
+#: src/view/screens/Settings/index.tsx:449
msgid "Light"
msgstr "Світла"
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:182
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:197
msgid "Like"
msgstr "Вподобати"
-#: src/view/screens/ProfileFeed.tsx:591
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:264
+#: src/view/screens/ProfileFeed.tsx:585
msgid "Like this feed"
msgstr "Вподобати цю стрічку"
-#: src/Navigation.tsx:199
+#: src/components/LikesDialog.tsx:87
+#: src/Navigation.tsx:201
+#: src/Navigation.tsx:206
msgid "Liked by"
msgstr "Сподобалося"
+#: src/screens/Profile/ProfileLabelerLikedBy.tsx:29
#: src/view/screens/PostLikedBy.tsx:27
#: src/view/screens/ProfileFeedLikedBy.tsx:27
msgid "Liked By"
-msgstr "Сподобався користувачу"
+msgstr "Уподобано"
-#: src/view/com/feeds/FeedSourceCard.tsx:279
+#: src/view/com/feeds/FeedSourceCard.tsx:268
msgid "Liked by {0} {1}"
msgstr "Вподобано {0} {1}"
-#: src/view/screens/ProfileFeed.tsx:606
+#: src/components/LabelingServiceCard/index.tsx:72
+msgid "Liked by {count} {0}"
+msgstr ""
+
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:284
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:298
+#: src/view/screens/ProfileFeed.tsx:600
msgid "Liked by {likeCount} {0}"
msgstr "Вподобано {likeCount} {0}"
-#: src/view/com/notifications/FeedItem.tsx:170
+#: src/view/com/notifications/FeedItem.tsx:176
msgid "liked your custom feed"
msgstr "вподобав(-ла) вашу стрічку"
-#: src/view/com/notifications/FeedItem.tsx:155
+#: src/view/com/notifications/FeedItem.tsx:161
msgid "liked your post"
-msgstr "сподобався ваш пост"
+msgstr "уподобали ваш пост"
-#: src/view/screens/Profile.tsx:183
+#: src/view/screens/Profile.tsx:198
msgid "Likes"
msgstr "Вподобання"
-#: src/view/com/post-thread/PostThreadItem.tsx:183
+#: src/view/com/post-thread/PostThreadItem.tsx:182
msgid "Likes on this post"
msgstr "Вподобайки цього поста"
-#: src/Navigation.tsx:168
+#: src/Navigation.tsx:170
msgid "List"
msgstr "Список"
-#: src/view/com/modals/CreateOrEditList.tsx:261
+#: src/view/com/modals/CreateOrEditList.tsx:262
msgid "List Avatar"
msgstr "Аватар списку"
-#: src/view/screens/ProfileList.tsx:324
+#: src/view/screens/ProfileList.tsx:313
msgid "List blocked"
msgstr "Список заблоковано"
-#: src/view/com/feeds/FeedSourceCard.tsx:233
+#: src/view/com/feeds/FeedSourceCard.tsx:220
msgid "List by {0}"
msgstr "Список від {0}"
-#: src/view/screens/ProfileList.tsx:378
+#: src/view/screens/ProfileList.tsx:357
msgid "List deleted"
msgstr "Список видалено"
-#: src/view/screens/ProfileList.tsx:283
+#: src/view/screens/ProfileList.tsx:285
msgid "List muted"
msgstr "Список ігнорується"
-#: src/view/com/modals/CreateOrEditList.tsx:275
+#: src/view/com/modals/CreateOrEditList.tsx:276
msgid "List Name"
msgstr "Назва списку"
-#: src/view/screens/ProfileList.tsx:343
+#: src/view/screens/ProfileList.tsx:327
msgid "List unblocked"
msgstr "Список розблоковано"
-#: src/view/screens/ProfileList.tsx:302
+#: src/view/screens/ProfileList.tsx:299
msgid "List unmuted"
msgstr "Список більше не ігнорується"
-#: src/Navigation.tsx:112
-#: src/view/screens/Profile.tsx:185
-#: src/view/shell/desktop/LeftNav.tsx:379
-#: src/view/shell/Drawer.tsx:492
-#: src/view/shell/Drawer.tsx:493
+#: src/Navigation.tsx:114
+#: src/view/screens/Profile.tsx:194
+#: src/view/screens/Profile.tsx:200
+#: src/view/shell/desktop/LeftNav.tsx:383
+#: src/view/shell/Drawer.tsx:501
+#: src/view/shell/Drawer.tsx:502
msgid "Lists"
msgstr "Списки"
-#: src/view/com/post-thread/PostThread.tsx:333
-#: src/view/com/post-thread/PostThread.tsx:341
-msgid "Load more posts"
-msgstr "Завантажити більше постів"
-
#: src/view/screens/Notifications.tsx:159
msgid "Load new notifications"
msgstr "Завантажити нові сповіщення"
-#: src/view/com/feeds/FeedPage.tsx:115
-#: src/view/screens/Profile.tsx:440
-#: src/view/screens/ProfileFeed.tsx:495
-#: src/view/screens/ProfileList.tsx:681
+#: src/screens/Profile/Sections/Feed.tsx:86
+#: src/view/com/feeds/FeedPage.tsx:138
+#: src/view/screens/ProfileFeed.tsx:507
+#: src/view/screens/ProfileList.tsx:697
msgid "Load new posts"
msgstr "Завантажити нові пости"
-#: src/view/com/composer/text-input/mobile/Autocomplete.tsx:95
+#: src/view/com/composer/text-input/mobile/Autocomplete.tsx:99
msgid "Loading..."
msgstr "Завантаження..."
-#: src/view/com/modals/ServerInput.tsx:50
-#~ msgid "Local dev server"
-#~ msgstr ""
-
-#: src/Navigation.tsx:209
+#: src/Navigation.tsx:221
msgid "Log"
msgstr "Звіт"
@@ -2223,31 +2389,27 @@ msgstr "Звіт"
msgid "Log out"
msgstr "Вийти"
-#: src/view/screens/Moderation.tsx:155
+#: src/screens/Moderation/index.tsx:442
msgid "Logged-out visibility"
msgstr "Видимість для користувачів без облікового запису"
-#: src/view/com/auth/login/ChooseAccountForm.tsx:133
+#: src/components/AccountList.tsx:54
msgid "Login to account that is not listed"
msgstr "Увійти до облікового запису, якого немає в списку"
-#: src/view/com/modals/LinkWarning.tsx:65
+#: src/screens/Login/SetNewPasswordForm.tsx:116
+msgid "Looks like XXXXX-XXXXX"
+msgstr "Виглядає як XXXXX-XXXXXXX"
+
+#: src/view/com/modals/LinkWarning.tsx:79
msgid "Make sure this is where you intend to go!"
msgstr "Переконайтеся, що це дійсно той сайт, що ви збираєтеся відвідати!"
-#: src/components/dialogs/MutedWords.tsx:83
+#: src/components/dialogs/MutedWords.tsx:82
msgid "Manage your muted words and tags"
msgstr "Налаштовуйте ваші ігноровані слова та теги"
-#: src/view/com/auth/create/Step2.tsx:118
-msgid "May not be longer than 253 characters"
-msgstr "Не може бути довшим за 253 символи"
-
-#: src/view/com/auth/create/Step2.tsx:109
-msgid "May only contain letters and numbers"
-msgstr "Може містити лише літери та цифри"
-
-#: src/view/screens/Profile.tsx:182
+#: src/view/screens/Profile.tsx:197
msgid "Media"
msgstr "Медіа"
@@ -2260,85 +2422,96 @@ msgid "Mentioned users"
msgstr "Згадані користувачі"
#: src/view/com/util/ViewHeader.tsx:87
-#: src/view/screens/Search/Search.tsx:646
+#: src/view/screens/Search/Search.tsx:795
msgid "Menu"
msgstr "Меню"
-#: src/view/com/posts/FeedErrorMessage.tsx:197
+#: src/view/com/posts/FeedErrorMessage.tsx:192
msgid "Message from server: {0}"
msgstr "Повідомлення від сервера: {0}"
-#: src/Navigation.tsx:117
-#: src/view/screens/Moderation.tsx:66
-#: src/view/screens/Settings/index.tsx:625
-#: src/view/shell/desktop/LeftNav.tsx:397
-#: src/view/shell/Drawer.tsx:511
-#: src/view/shell/Drawer.tsx:512
+#: src/lib/moderation/useReportOptions.ts:45
+msgid "Misleading Account"
+msgstr ""
+
+#: src/Navigation.tsx:119
+#: src/screens/Moderation/index.tsx:104
+#: src/view/screens/Settings/index.tsx:596
+#: src/view/shell/desktop/LeftNav.tsx:401
+#: src/view/shell/Drawer.tsx:520
+#: src/view/shell/Drawer.tsx:521
msgid "Moderation"
msgstr "Модерація"
+#: src/components/moderation/ModerationDetailsDialog.tsx:112
+msgid "Moderation details"
+msgstr ""
+
#: src/view/com/lists/ListCard.tsx:93
#: src/view/com/modals/UserAddRemoveLists.tsx:206
msgid "Moderation list by {0}"
msgstr "Список модерації від {0}"
-#: src/view/screens/ProfileList.tsx:775
+#: src/view/screens/ProfileList.tsx:791
msgid "Moderation list by <0/>"
msgstr "Список модерації від <0/>"
#: src/view/com/lists/ListCard.tsx:91
#: src/view/com/modals/UserAddRemoveLists.tsx:204
-#: src/view/screens/ProfileList.tsx:773
+#: src/view/screens/ProfileList.tsx:789
msgid "Moderation list by you"
msgstr "Список модерації від вас"
-#: src/view/com/modals/CreateOrEditList.tsx:197
+#: src/view/com/modals/CreateOrEditList.tsx:198
msgid "Moderation list created"
msgstr "Список модерації створено"
-#: src/view/com/modals/CreateOrEditList.tsx:183
+#: src/view/com/modals/CreateOrEditList.tsx:184
msgid "Moderation list updated"
msgstr "Список модерації оновлено"
-#: src/view/screens/Moderation.tsx:114
+#: src/screens/Moderation/index.tsx:243
msgid "Moderation lists"
msgstr "Списки для модерації"
-#: src/Navigation.tsx:122
+#: src/Navigation.tsx:124
#: src/view/screens/ModerationModlists.tsx:58
msgid "Moderation Lists"
msgstr "Списки для модерації"
-#: src/view/screens/Settings/index.tsx:619
+#: src/view/screens/Settings/index.tsx:590
msgid "Moderation settings"
msgstr "Налаштування модерації"
-#: src/view/com/modals/ModerationDetails.tsx:35
+#: src/Navigation.tsx:216
+msgid "Moderation states"
+msgstr ""
+
+#: src/screens/Moderation/index.tsx:215
+msgid "Moderation tools"
+msgstr ""
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:48
+#: src/lib/moderation/useModerationCauseDescription.ts:40
msgid "Moderator has chosen to set a general warning on the content."
msgstr "Модератор вирішив встановити загальне попередження на вміст."
+#: src/view/com/post-thread/PostThreadItem.tsx:535
+msgid "More"
+msgstr ""
+
#: src/view/shell/desktop/Feeds.tsx:65
msgid "More feeds"
msgstr "Більше стрічок"
-#: src/view/com/profile/ProfileHeader.tsx:523
-#: src/view/screens/ProfileFeed.tsx:363
-#: src/view/screens/ProfileList.tsx:617
+#: src/view/screens/ProfileList.tsx:601
msgid "More options"
msgstr "Додаткові опції"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:315
-#~ msgid "More post options"
-#~ msgstr ""
-
#: src/view/screens/PreferencesThreads.tsx:82
msgid "Most-liked replies first"
msgstr "За кількістю вподобань"
-#: src/view/com/auth/create/Step2.tsx:122
-msgid "Must be at least 3 characters"
-msgstr "Має містити щонайменше 3 символи"
-
#: src/components/TagMenu/index.tsx:249
msgid "Mute"
msgstr "Ігнорувати"
@@ -2347,11 +2520,12 @@ msgstr "Ігнорувати"
msgid "Mute {truncatedTag}"
msgstr "Ігнорувати {truncatedTag}"
-#: src/view/com/profile/ProfileHeader.tsx:327
+#: src/view/com/profile/ProfileMenu.tsx:279
+#: src/view/com/profile/ProfileMenu.tsx:286
msgid "Mute Account"
msgstr "Ігнорувати обліковий запис"
-#: src/view/screens/ProfileList.tsx:544
+#: src/view/screens/ProfileList.tsx:520
msgid "Mute accounts"
msgstr "Ігнорувати облікові записи"
@@ -2359,45 +2533,38 @@ msgstr "Ігнорувати облікові записи"
msgid "Mute all {displayTag} posts"
msgstr "Ігнорувати всі пости {displayTag}"
-#: src/components/TagMenu/index.tsx:211
-#~ msgid "Mute all {tag} posts"
-#~ msgstr ""
-
-#: src/components/dialogs/MutedWords.tsx:149
+#: src/components/dialogs/MutedWords.tsx:148
msgid "Mute in tags only"
-msgstr "Ігнорувати лише в тегах"
+msgstr "Лише в тегах"
-#: src/components/dialogs/MutedWords.tsx:134
+#: src/components/dialogs/MutedWords.tsx:133
msgid "Mute in text & tags"
-msgstr "Ігнорувати в тексті та тегах"
+msgstr "В тексті і тегах"
-#: src/view/screens/ProfileList.tsx:491
+#: src/view/screens/ProfileList.tsx:463
+#: src/view/screens/ProfileList.tsx:626
msgid "Mute list"
msgstr "Ігнорувати список"
-#: src/view/screens/ProfileList.tsx:275
+#: src/view/screens/ProfileList.tsx:621
msgid "Mute these accounts?"
msgstr "Ігнорувати ці облікові записи?"
-#: src/view/screens/ProfileList.tsx:279
-msgid "Mute this List"
-msgstr "Ігнорувати цей список"
-
-#: src/components/dialogs/MutedWords.tsx:127
+#: src/components/dialogs/MutedWords.tsx:126
msgid "Mute this word in post text and tags"
msgstr "Ігнорувати це слово у постах і тегах"
-#: src/components/dialogs/MutedWords.tsx:142
+#: src/components/dialogs/MutedWords.tsx:141
msgid "Mute this word in tags only"
msgstr "Ігнорувати це слово лише у тегах"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:251
-#: src/view/com/util/forms/PostDropdownBtn.tsx:257
+#: src/view/com/util/forms/PostDropdownBtn.tsx:269
+#: src/view/com/util/forms/PostDropdownBtn.tsx:275
msgid "Mute thread"
msgstr "Ігнорувати обговорення"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:267
-#: src/view/com/util/forms/PostDropdownBtn.tsx:269
+#: src/view/com/util/forms/PostDropdownBtn.tsx:285
+#: src/view/com/util/forms/PostDropdownBtn.tsx:287
msgid "Mute words & tags"
msgstr "Ігнорувати слова та теги"
@@ -2405,32 +2572,37 @@ msgstr "Ігнорувати слова та теги"
msgid "Muted"
msgstr "Ігнорується"
-#: src/view/screens/Moderation.tsx:128
+#: src/screens/Moderation/index.tsx:255
msgid "Muted accounts"
msgstr "Ігноровані облікові записи"
-#: src/Navigation.tsx:127
-#: src/view/screens/ModerationMutedAccounts.tsx:107
+#: src/Navigation.tsx:129
+#: src/view/screens/ModerationMutedAccounts.tsx:112
msgid "Muted Accounts"
msgstr "Ігноровані облікові записи"
-#: src/view/screens/ModerationMutedAccounts.tsx:115
+#: src/view/screens/ModerationMutedAccounts.tsx:120
msgid "Muted accounts have their posts removed from your feed and from your notifications. Mutes are completely private."
msgstr "Ігноровані облікові записи автоматично вилучаються із вашої стрічки та сповіщень. Ігнорування є повністю приватним."
-#: src/view/screens/Moderation.tsx:100
+#: src/lib/moderation/useModerationCauseDescription.ts:85
+msgid "Muted by \"{0}\""
+msgstr ""
+
+#: src/screens/Moderation/index.tsx:231
msgid "Muted words & tags"
msgstr "Ігноровані слова та теги"
-#: src/view/screens/ProfileList.tsx:277
+#: src/view/screens/ProfileList.tsx:623
msgid "Muting is private. Muted accounts can interact with you, but you will not see their posts or receive notifications from them."
msgstr "Ігнорування є приватним. Ігноровані користувачі можуть взаємодіяти з вами, але ви не бачитимете їх пости і не отримуватимете від них сповіщень."
-#: src/view/com/modals/BirthDateSettings.tsx:56
+#: src/components/dialogs/BirthDateSettings.tsx:35
+#: src/components/dialogs/BirthDateSettings.tsx:38
msgid "My Birthday"
msgstr "Мій день народження"
-#: src/view/screens/Feeds.tsx:663
+#: src/view/screens/Feeds.tsx:688
msgid "My Feeds"
msgstr "Мої стрічки"
@@ -2438,32 +2610,36 @@ msgstr "Мої стрічки"
msgid "My Profile"
msgstr "Мій профіль"
-#: src/view/screens/Settings/index.tsx:582
+#: src/view/screens/Settings/index.tsx:547
+msgid "My saved feeds"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:553
msgid "My Saved Feeds"
-msgstr "Мої збережені канали"
+msgstr "Мої збережені стрічки"
-#: src/view/com/auth/server-input/index.tsx:118
-msgid "my-server.com"
-msgstr "my-server.com"
-
-#: src/view/com/modals/AddAppPasswords.tsx:179
-#: src/view/com/modals/CreateOrEditList.tsx:290
+#: src/view/com/modals/AddAppPasswords.tsx:180
+#: src/view/com/modals/CreateOrEditList.tsx:291
msgid "Name"
msgstr "Ім'я"
-#: src/view/com/modals/CreateOrEditList.tsx:145
+#: src/view/com/modals/CreateOrEditList.tsx:146
msgid "Name is required"
msgstr "Необхідна назва"
+#: src/lib/moderation/useReportOptions.ts:57
+#: src/lib/moderation/useReportOptions.ts:78
+#: src/lib/moderation/useReportOptions.ts:86
+msgid "Name or Description Violates Community Standards"
+msgstr ""
+
#: src/screens/Onboarding/index.tsx:25
msgid "Nature"
msgstr "Природа"
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:190
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:219
-#: src/view/com/auth/login/LoginForm.tsx:289
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:196
-#: src/view/com/modals/ChangePassword.tsx:166
+#: src/screens/Login/ForgotPasswordForm.tsx:173
+#: src/screens/Login/LoginForm.tsx:255
+#: src/view/com/modals/ChangePassword.tsx:168
msgid "Navigates to the next screen"
msgstr "Переходить до наступного екрана"
@@ -2471,23 +2647,22 @@ msgstr "Переходить до наступного екрана"
msgid "Navigates to your profile"
msgstr "Переходить до вашого профілю"
-#: src/view/com/modals/EmbedConsent.tsx:107
-#: src/view/com/modals/EmbedConsent.tsx:123
-msgid "Never load embeds from {0}"
-msgstr "Не завантажувати вбудування з {0}"
+#: src/components/ReportDialog/SelectReportOptionView.tsx:123
+msgid "Need to report a copyright violation?"
+msgstr ""
#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:72
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:72
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:74
msgid "Never lose access to your followers and data."
msgstr "Ніколи не втрачайте доступ до ваших даних та підписників."
-#: src/screens/Onboarding/StepFinished.tsx:119
+#: src/screens/Onboarding/StepFinished.tsx:123
msgid "Never lose access to your followers or data."
msgstr "Ніколи не втрачайте доступ до ваших підписників та даних."
-#: src/components/dialogs/MutedWords.tsx:293
-msgid "Nevermind"
-msgstr "Скасувати"
+#: src/view/com/modals/ChangeHandle.tsx:519
+msgid "Nevermind, create a handle for me"
+msgstr "Неважливо, створіть псевдо мені"
#: src/view/screens/Lists.tsx:76
msgctxt "action"
@@ -2498,39 +2673,39 @@ msgstr "Новий"
msgid "New"
msgstr "Новий"
-#: src/view/com/modals/CreateOrEditList.tsx:252
+#: src/view/com/modals/CreateOrEditList.tsx:253
msgid "New Moderation List"
msgstr "Новий список модерації"
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:150
+#: src/view/com/modals/ChangePassword.tsx:212
msgid "New password"
msgstr "Новий пароль"
-#: src/view/com/modals/ChangePassword.tsx:215
+#: src/view/com/modals/ChangePassword.tsx:217
msgid "New Password"
msgstr "Новий Пароль"
-#: src/view/com/feeds/FeedPage.tsx:126
+#: src/view/com/feeds/FeedPage.tsx:149
msgctxt "action"
msgid "New post"
msgstr "Новий пост"
-#: src/view/screens/Feeds.tsx:555
+#: src/view/screens/Feeds.tsx:580
#: src/view/screens/Notifications.tsx:168
-#: src/view/screens/Profile.tsx:382
-#: src/view/screens/ProfileFeed.tsx:433
-#: src/view/screens/ProfileList.tsx:196
-#: src/view/screens/ProfileList.tsx:224
-#: src/view/shell/desktop/LeftNav.tsx:248
+#: src/view/screens/Profile.tsx:480
+#: src/view/screens/ProfileFeed.tsx:445
+#: src/view/screens/ProfileList.tsx:200
+#: src/view/screens/ProfileList.tsx:228
+#: src/view/shell/desktop/LeftNav.tsx:252
msgid "New post"
msgstr "Новий пост"
-#: src/view/shell/desktop/LeftNav.tsx:258
+#: src/view/shell/desktop/LeftNav.tsx:262
msgctxt "action"
msgid "New Post"
msgstr "Новий пост"
-#: src/view/com/modals/CreateOrEditList.tsx:247
+#: src/view/com/modals/CreateOrEditList.tsx:248
msgid "New User List"
msgstr "Новий список користувачів"
@@ -2542,15 +2717,16 @@ msgstr "Спочатку найновіші"
msgid "News"
msgstr "Новини"
-#: src/view/com/auth/create/CreateAccount.tsx:172
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:182
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:192
-#: src/view/com/auth/login/LoginForm.tsx:291
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:187
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:198
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:79
-#: src/view/com/modals/ChangePassword.tsx:251
+#: src/screens/Login/ForgotPasswordForm.tsx:143
+#: src/screens/Login/ForgotPasswordForm.tsx:150
+#: src/screens/Login/LoginForm.tsx:254
+#: src/screens/Login/LoginForm.tsx:261
+#: src/screens/Login/SetNewPasswordForm.tsx:174
+#: src/screens/Login/SetNewPasswordForm.tsx:180
+#: src/screens/Signup/index.tsx:207
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:80
#: src/view/com/modals/ChangePassword.tsx:253
+#: src/view/com/modals/ChangePassword.tsx:255
msgid "Next"
msgstr "Далі"
@@ -2559,7 +2735,7 @@ msgctxt "action"
msgid "Next"
msgstr "Далі"
-#: src/view/com/lightbox/Lightbox.web.tsx:149
+#: src/view/com/lightbox/Lightbox.web.tsx:169
msgid "Next image"
msgstr "Наступне зображення"
@@ -2572,39 +2748,48 @@ msgstr "Наступне зображення"
msgid "No"
msgstr "Ні"
-#: src/view/screens/ProfileFeed.tsx:584
-#: src/view/screens/ProfileList.tsx:755
+#: src/view/screens/ProfileFeed.tsx:574
+#: src/view/screens/ProfileList.tsx:771
msgid "No description"
msgstr "Опис відсутній"
-#: src/view/com/profile/ProfileHeader.tsx:170
+#: src/view/com/modals/ChangeHandle.tsx:405
+msgid "No DNS Panel"
+msgstr ""
+
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:118
msgid "No longer following {0}"
msgstr "Ви більше не підписані на {0}"
+#: src/screens/Signup/StepHandle.tsx:115
+msgid "No longer than 253 characters"
+msgstr "Не може бути довшим за 253 символи"
+
#: src/view/com/notifications/Feed.tsx:109
msgid "No notifications yet!"
msgstr "Ще ніяких сповіщень!"
-#: src/view/com/composer/text-input/mobile/Autocomplete.tsx:97
-#: src/view/com/composer/text-input/web/Autocomplete.tsx:191
+#: src/view/com/composer/text-input/mobile/Autocomplete.tsx:101
+#: src/view/com/composer/text-input/web/Autocomplete.tsx:195
msgid "No result"
msgstr "Результати відсутні"
-#: src/components/Lists.tsx:192
+#: src/components/Lists.tsx:183
msgid "No results found"
msgstr "Нічого не знайдено"
-#: src/view/screens/Feeds.tsx:495
+#: src/view/screens/Feeds.tsx:520
msgid "No results found for \"{query}\""
msgstr "Нічого не знайдено за запитом «{query}»"
#: src/view/com/modals/ListAddRemoveUsers.tsx:127
-#: src/view/screens/Search/Search.tsx:281
-#: src/view/screens/Search/Search.tsx:309
+#: src/view/screens/Search/Search.tsx:349
+#: src/view/screens/Search/Search.tsx:387
msgid "No results found for {query}"
msgstr "Нічого не знайдено за запитом «{query}»"
-#: src/view/com/modals/EmbedConsent.tsx:129
+#: src/components/dialogs/EmbedConsent.tsx:105
+#: src/components/dialogs/EmbedConsent.tsx:112
msgid "No thanks"
msgstr "Ні, дякую"
@@ -2612,12 +2797,21 @@ msgstr "Ні, дякую"
msgid "Nobody"
msgstr "Ніхто"
+#: src/components/LikedByList.tsx:79
+#: src/components/LikesDialog.tsx:99
+msgid "Nobody has liked this yet. Maybe you should be the first!"
+msgstr ""
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:42
+msgid "Non-sexual Nudity"
+msgstr ""
+
#: src/view/com/modals/SelfLabel.tsx:135
msgid "Not Applicable."
msgstr "Не застосовно."
-#: src/Navigation.tsx:107
-#: src/view/screens/Profile.tsx:106
+#: src/Navigation.tsx:109
+#: src/view/screens/Profile.tsx:101
msgid "Not Found"
msgstr "Не знайдено"
@@ -2626,17 +2820,23 @@ msgstr "Не знайдено"
msgid "Not right now"
msgstr "Пізніше"
-#: src/view/screens/Moderation.tsx:252
+#: src/view/com/profile/ProfileMenu.tsx:368
+#: src/view/com/util/forms/PostDropdownBtn.tsx:364
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:248
+msgid "Note about sharing"
+msgstr ""
+
+#: src/screens/Moderation/index.tsx:540
msgid "Note: Bluesky is an open and public network. This setting only limits the visibility of your content on the Bluesky app and website, and other apps may not respect this setting. Your content may still be shown to logged-out users by other apps and websites."
msgstr "Примітка: Bluesky є відкритою і публічною мережею. Цей параметр обмежує видимість вашого вмісту лише у застосунках і на сайті Bluesky, але інші застосунки можуть цього не дотримуватися. Ваш вміст все ще може бути показаний відвідувачам без облікового запису іншими застосунками і вебсайтами."
-#: src/Navigation.tsx:457
+#: src/Navigation.tsx:461
#: src/view/screens/Notifications.tsx:124
#: src/view/screens/Notifications.tsx:148
-#: src/view/shell/bottom-bar/BottomBar.tsx:205
-#: src/view/shell/desktop/LeftNav.tsx:361
-#: src/view/shell/Drawer.tsx:435
-#: src/view/shell/Drawer.tsx:436
+#: src/view/shell/bottom-bar/BottomBar.tsx:216
+#: src/view/shell/desktop/LeftNav.tsx:365
+#: src/view/shell/Drawer.tsx:444
+#: src/view/shell/Drawer.tsx:445
msgid "Notifications"
msgstr "Сповіщення"
@@ -2644,15 +2844,32 @@ msgstr "Сповіщення"
msgid "Nudity"
msgstr "Оголеність"
-#: src/view/com/util/ErrorBoundary.tsx:35
+#: src/lib/moderation/useReportOptions.ts:71
+msgid "Nudity or adult content not labeled as such"
+msgstr "Нагота чи матеріали для дорослих не позначені відповідним чином"
+
+#: src/screens/Signup/index.tsx:143
+msgid "of"
+msgstr ""
+
+#: src/lib/moderation/useLabelBehaviorDescription.ts:11
+msgid "Off"
+msgstr "Вимк."
+
+#: src/view/com/util/ErrorBoundary.tsx:49
msgid "Oh no!"
msgstr "О, ні!"
-#: src/screens/Onboarding/StepInterests/index.tsx:128
+#: src/screens/Onboarding/StepInterests/index.tsx:132
msgid "Oh no! Something went wrong."
msgstr "Ой! Щось пішло не так."
-#: src/view/com/auth/login/PasswordUpdatedForm.tsx:41
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:126
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:333
+msgid "OK"
+msgstr "OK"
+
+#: src/screens/Login/PasswordUpdatedForm.tsx:44
msgid "Okay"
msgstr "Добре"
@@ -2660,11 +2877,11 @@ msgstr "Добре"
msgid "Oldest replies first"
msgstr "Спочатку найдавніші"
-#: src/view/screens/Settings/index.tsx:234
+#: src/view/screens/Settings/index.tsx:247
msgid "Onboarding reset"
msgstr "Скинути ознайомлення"
-#: src/view/com/composer/Composer.tsx:382
+#: src/view/com/composer/Composer.tsx:392
msgid "One or more images is missing alt text."
msgstr "Для одного або кількох зображень відсутній опис."
@@ -2672,49 +2889,58 @@ msgstr "Для одного або кількох зображень відсу
msgid "Only {0} can reply."
msgstr "Тільки {0} можуть відповідати."
-#: src/components/Lists.tsx:82
+#: src/screens/Signup/StepHandle.tsx:98
+msgid "Only contains letters, numbers, and hyphens"
+msgstr "Тільки літери, цифри та дефіс"
+
+#: src/components/Lists.tsx:75
msgid "Oops, something went wrong!"
msgstr "Ой, щось пішло не так!"
-#: src/components/Lists.tsx:188
-#: src/view/screens/AppPasswords.tsx:65
-#: src/view/screens/Profile.tsx:106
+#: src/components/Lists.tsx:170
+#: src/view/screens/AppPasswords.tsx:67
+#: src/view/screens/Profile.tsx:101
msgid "Oops!"
msgstr "Ой!"
-#: src/screens/Onboarding/StepFinished.tsx:115
+#: src/screens/Onboarding/StepFinished.tsx:119
msgid "Open"
msgstr "Відкрити"
-#: src/view/screens/Moderation.tsx:75
-msgid "Open content filtering settings"
-msgstr "Відкрити налаштування фільтрації контенту"
-
-#: src/view/com/composer/Composer.tsx:477
-#: src/view/com/composer/Composer.tsx:478
+#: src/view/com/composer/Composer.tsx:491
+#: src/view/com/composer/Composer.tsx:492
msgid "Open emoji picker"
msgstr "Емоджі"
-#: src/view/screens/Settings/index.tsx:712
+#: src/view/screens/ProfileFeed.tsx:311
+msgid "Open feed options menu"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:685
msgid "Open links with in-app browser"
msgstr "Вбудований браузер"
-#: src/view/screens/Moderation.tsx:92
-msgid "Open muted words settings"
-msgstr "Відкрити налаштування ігнорування слів"
+#: src/screens/Moderation/index.tsx:227
+msgid "Open muted words and tags settings"
+msgstr ""
-#: src/view/com/home/HomeHeaderLayoutMobile.tsx:50
+#: src/view/com/home/HomeHeaderLayoutMobile.tsx:52
msgid "Open navigation"
msgstr "Відкрити навігацію"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:175
+#: src/view/com/util/forms/PostDropdownBtn.tsx:191
msgid "Open post options menu"
msgstr "Відкрити меню налаштувань посту"
-#: src/view/screens/Settings/index.tsx:804
+#: src/view/screens/Settings/index.tsx:792
+#: src/view/screens/Settings/index.tsx:802
msgid "Open storybook page"
msgstr "Відкрити storybook сторінку"
+#: src/view/screens/Settings/index.tsx:780
+msgid "Open system log"
+msgstr ""
+
#: src/view/com/util/forms/DropdownButton.tsx:154
msgid "Opens {numItems} options"
msgstr "Відкриває меню з {numItems} опціями"
@@ -2723,11 +2949,11 @@ msgstr "Відкриває меню з {numItems} опціями"
msgid "Opens additional details for a debug entry"
msgstr "Відкриває додаткову інформацію про запис для налагодження"
-#: src/view/com/notifications/FeedItem.tsx:349
+#: src/view/com/notifications/FeedItem.tsx:355
msgid "Opens an expanded list of users in this notification"
msgstr "Відкрити розширений список користувачів у цьому сповіщенні"
-#: src/view/com/composer/photos/OpenCameraBtn.tsx:61
+#: src/view/com/composer/photos/OpenCameraBtn.tsx:78
msgid "Opens camera on device"
msgstr "Відкриває камеру на пристрої"
@@ -2735,7 +2961,7 @@ msgstr "Відкриває камеру на пристрої"
msgid "Opens composer"
msgstr "Відкрити редактор"
-#: src/view/screens/Settings/index.tsx:595
+#: src/view/screens/Settings/index.tsx:566
msgid "Opens configurable language settings"
msgstr "Відкриває налаштування мов"
@@ -2743,72 +2969,87 @@ msgstr "Відкриває налаштування мов"
msgid "Opens device photo gallery"
msgstr "Відкриває фотогалерею пристрою"
-#: src/view/com/profile/ProfileHeader.tsx:420
-msgid "Opens editor for profile display name, avatar, background image, and description"
-msgstr "Відкриває редактор для назви профілю, аватара, фонового зображення та опису"
-
-#: src/view/screens/Settings/index.tsx:649
+#: src/view/screens/Settings/index.tsx:620
msgid "Opens external embeds settings"
msgstr "Відкриває налаштування зовнішніх вбудувань"
-#: src/view/com/profile/ProfileHeader.tsx:575
-msgid "Opens followers list"
-msgstr "Відкриває список підписників"
+#: src/view/com/auth/SplashScreen.tsx:50
+#: src/view/com/auth/SplashScreen.web.tsx:94
+msgid "Opens flow to create a new Bluesky account"
+msgstr ""
-#: src/view/com/profile/ProfileHeader.tsx:594
-msgid "Opens following list"
-msgstr "Відкриває список нижче"
+#: src/view/com/auth/SplashScreen.tsx:65
+#: src/view/com/auth/SplashScreen.web.tsx:109
+msgid "Opens flow to sign into your existing Bluesky account"
+msgstr ""
-#: src/view/screens/Settings.tsx:412
-#~ msgid "Opens invite code list"
-#~ msgstr ""
-
-#: src/view/com/modals/InviteCodes.tsx:172
+#: src/view/com/modals/InviteCodes.tsx:173
msgid "Opens list of invite codes"
msgstr "Відкриває список кодів запрошення"
-#: src/view/screens/Settings/index.tsx:774
-msgid "Opens modal for account deletion confirmation. Requires email code."
-msgstr "Відкриється модальне повідомлення для видалення облікового запису. Потрібен код електронної пошти."
+#: src/view/screens/Settings/index.tsx:762
+msgid "Opens modal for account deletion confirmation. Requires email code"
+msgstr ""
-#: src/view/com/modals/ChangeHandle.tsx:281
+#: src/view/screens/Settings/index.tsx:720
+msgid "Opens modal for changing your Bluesky password"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:669
+msgid "Opens modal for choosing a new Bluesky handle"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:743
+msgid "Opens modal for downloading your Bluesky account data (repository)"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:932
+msgid "Opens modal for email verification"
+msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:282
msgid "Opens modal for using custom domain"
msgstr "Відкриває діалог налаштування власного домену як псевдоніму"
-#: src/view/screens/Settings/index.tsx:620
+#: src/view/screens/Settings/index.tsx:591
msgid "Opens moderation settings"
msgstr "Відкриває налаштування модерації"
-#: src/view/com/auth/login/LoginForm.tsx:239
+#: src/screens/Login/LoginForm.tsx:202
msgid "Opens password reset form"
msgstr "Відкриває форму скидання пароля"
-#: src/view/com/home/HomeHeaderLayout.web.tsx:63
-#: src/view/screens/Feeds.tsx:356
+#: src/view/com/home/HomeHeaderLayout.web.tsx:67
+#: src/view/screens/Feeds.tsx:381
msgid "Opens screen to edit Saved Feeds"
msgstr "Відкриває сторінку з усіма збереженими стрічками"
-#: src/view/screens/Settings/index.tsx:576
+#: src/view/screens/Settings/index.tsx:548
msgid "Opens screen with all saved feeds"
msgstr "Відкриває сторінку з усіма збереженими каналами"
-#: src/view/screens/Settings/index.tsx:676
-msgid "Opens the app password settings page"
-msgstr "Відкриває налаштування паролів для застосунків"
+#: src/view/screens/Settings/index.tsx:647
+msgid "Opens the app password settings"
+msgstr ""
-#: src/view/screens/Settings/index.tsx:535
-msgid "Opens the home feed preferences"
-msgstr "Відкриває налаштування Головного каналу"
+#: src/view/screens/Settings/index.tsx:505
+msgid "Opens the Following feed preferences"
+msgstr ""
-#: src/view/screens/Settings/index.tsx:805
-msgid "Opens the storybook page"
+#: src/view/com/modals/LinkWarning.tsx:93
+msgid "Opens the linked website"
msgstr ""
#: src/view/screens/Settings/index.tsx:793
+#: src/view/screens/Settings/index.tsx:803
+msgid "Opens the storybook page"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:781
msgid "Opens the system log page"
msgstr "Відкриває системний журнал"
-#: src/view/screens/Settings/index.tsx:556
+#: src/view/screens/Settings/index.tsx:526
msgid "Opens the threads preferences"
msgstr "Відкриває налаштування гілок"
@@ -2816,23 +3057,27 @@ msgstr "Відкриває налаштування гілок"
msgid "Option {0} of {numItems}"
msgstr "Опція {0} з {numItems}"
+#: src/components/ReportDialog/SubmitView.tsx:160
+msgid "Optionally provide additional information below:"
+msgstr ""
+
#: src/view/com/modals/Threadgate.tsx:89
msgid "Or combine these options:"
msgstr "Або якісь із наступних варіантів:"
-#: src/view/com/auth/login/ChooseAccountForm.tsx:138
+#: src/lib/moderation/useReportOptions.ts:25
+msgid "Other"
+msgstr ""
+
+#: src/components/AccountList.tsx:73
msgid "Other account"
msgstr "Інший обліковий запис"
-#: src/view/com/modals/ServerInput.tsx:88
-#~ msgid "Other service"
-#~ msgstr ""
-
#: src/view/com/composer/select-language/SelectLangBtn.tsx:91
msgid "Other..."
msgstr "Інші..."
-#: src/components/Lists.tsx:194
+#: src/components/Lists.tsx:184
#: src/view/screens/NotFound.tsx:45
msgid "Page not found"
msgstr "Сторінку не знайдено"
@@ -2841,27 +3086,35 @@ msgstr "Сторінку не знайдено"
msgid "Page Not Found"
msgstr "Сторінку не знайдено"
-#: src/view/com/auth/create/Step1.tsx:191
-#: src/view/com/auth/create/Step1.tsx:201
-#: src/view/com/auth/login/LoginForm.tsx:226
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:161
-#: src/view/com/modals/DeleteAccount.tsx:202
+#: src/screens/Login/LoginForm.tsx:178
+#: src/screens/Signup/StepInfo/index.tsx:102
+#: src/view/com/modals/DeleteAccount.tsx:194
+#: src/view/com/modals/DeleteAccount.tsx:201
msgid "Password"
msgstr "Пароль"
-#: src/view/com/auth/login/Login.tsx:157
+#: src/view/com/modals/ChangePassword.tsx:142
+msgid "Password Changed"
+msgstr ""
+
+#: src/screens/Login/index.tsx:157
msgid "Password updated"
msgstr "Пароль змінено"
-#: src/view/com/auth/login/PasswordUpdatedForm.tsx:28
+#: src/screens/Login/PasswordUpdatedForm.tsx:30
msgid "Password updated!"
msgstr "Пароль змінено!"
-#: src/Navigation.tsx:162
+#: src/view/screens/Search/Search.tsx:447
+#: src/view/screens/Search/Search.tsx:456
+msgid "People"
+msgstr ""
+
+#: src/Navigation.tsx:164
msgid "People followed by @{0}"
msgstr "Люди, на яких підписаний(-на) @{0}"
-#: src/Navigation.tsx:155
+#: src/Navigation.tsx:157
msgid "People following @{0}"
msgstr "Люди, які підписані на @{0}"
@@ -2877,45 +3130,45 @@ msgstr "Дозвіл на доступ до камери був забороне
msgid "Pets"
msgstr "Домашні улюбленці"
-#: src/view/com/auth/create/Step2.tsx:183
-#~ msgid "Phone number"
-#~ msgstr ""
-
#: src/view/com/modals/SelfLabel.tsx:121
msgid "Pictures meant for adults."
msgstr "Зображення, призначені для дорослих."
-#: src/view/screens/ProfileFeed.tsx:354
-#: src/view/screens/ProfileList.tsx:581
+#: src/view/screens/ProfileFeed.tsx:303
+#: src/view/screens/ProfileList.tsx:565
msgid "Pin to home"
-msgstr "Закріпити"
+msgstr "Закріпити до головної"
-#: src/view/screens/SavedFeeds.tsx:88
+#: src/view/screens/ProfileFeed.tsx:306
+msgid "Pin to Home"
+msgstr "Закріп до головної"
+
+#: src/view/screens/SavedFeeds.tsx:89
msgid "Pinned Feeds"
msgstr "Закріплені стрічки"
-#: src/view/com/util/post-embeds/ExternalGifEmbed.tsx:111
+#: src/view/com/util/post-embeds/ExternalGifEmbed.tsx:123
msgid "Play {0}"
msgstr "Відтворити {0}"
-#: src/view/com/util/post-embeds/ExternalPlayerEmbed.tsx:54
-#: src/view/com/util/post-embeds/ExternalPlayerEmbed.tsx:55
+#: src/view/com/util/post-embeds/ExternalPlayerEmbed.tsx:57
+#: src/view/com/util/post-embeds/ExternalPlayerEmbed.tsx:58
msgid "Play Video"
msgstr "Відтворити відео"
-#: src/view/com/util/post-embeds/ExternalGifEmbed.tsx:110
+#: src/view/com/util/post-embeds/ExternalGifEmbed.tsx:122
msgid "Plays the GIF"
msgstr "Відтворює GIF"
-#: src/view/com/auth/create/state.ts:124
+#: src/screens/Signup/state.ts:241
msgid "Please choose your handle."
msgstr "Будь ласка, оберіть псевдонім."
-#: src/view/com/auth/create/state.ts:117
+#: src/screens/Signup/state.ts:234
msgid "Please choose your password."
msgstr "Будь ласка, оберіть ваш пароль."
-#: src/view/com/auth/create/state.ts:131
+#: src/screens/Signup/state.ts:251
msgid "Please complete the verification captcha."
msgstr "Будь ласка, завершіть перевірку Captcha."
@@ -2923,47 +3176,29 @@ msgstr "Будь ласка, завершіть перевірку Captcha."
msgid "Please confirm your email before changing it. This is a temporary requirement while email-updating tools are added, and it will soon be removed."
msgstr "Будь ласка, підтвердіть вашу електронну адресу, перш ніж змінити її. Це тимчасова вимога під час додавання інструментів оновлення електронної адреси, незабаром її видалять."
-#: src/view/com/modals/AddAppPasswords.tsx:90
+#: src/view/com/modals/AddAppPasswords.tsx:91
msgid "Please enter a name for your app password. All spaces is not allowed."
msgstr "Будь ласка, введіть ім'я для пароля застосунку. Пробіли і пропуски не допускаються."
-#: src/view/com/auth/create/Step2.tsx:206
-#~ msgid "Please enter a phone number that can receive SMS text messages."
-#~ msgstr ""
-
-#: src/view/com/modals/AddAppPasswords.tsx:145
+#: src/view/com/modals/AddAppPasswords.tsx:146
msgid "Please enter a unique name for this App Password or use our randomly generated one."
msgstr "Будь ласка, введіть унікальну назву для цього паролю або використовуйте нашу випадково згенеровану."
-#: src/components/dialogs/MutedWords.tsx:68
+#: src/components/dialogs/MutedWords.tsx:67
msgid "Please enter a valid word, tag, or phrase to mute"
msgstr "Будь ласка, введіть допустиме слово, тег або фразу для ігнорування"
-#: src/view/com/auth/create/state.ts:170
-#~ msgid "Please enter the code you received by SMS."
-#~ msgstr ""
-
-#: src/view/com/auth/create/Step2.tsx:282
-#~ msgid "Please enter the verification code sent to {phoneNumberFormatted}."
-#~ msgstr ""
-
-#: src/view/com/auth/create/state.ts:103
+#: src/screens/Signup/state.ts:220
msgid "Please enter your email."
msgstr "Будь ласка, введіть адресу ел. пошти."
-#: src/view/com/modals/DeleteAccount.tsx:191
+#: src/view/com/modals/DeleteAccount.tsx:190
msgid "Please enter your password as well:"
msgstr "Будь ласка, також введіть ваш пароль:"
-#: src/view/com/modals/AppealLabel.tsx:72
-#: src/view/com/modals/AppealLabel.tsx:75
-msgid "Please tell us why you think this content warning was incorrectly applied!"
-msgstr "Будь ласка, вкажіть чому ви вважаєте що попередження про вміст було додано неправильно?"
-
-#: src/view/com/modals/AppealLabel.tsx:72
-#: src/view/com/modals/AppealLabel.tsx:75
-#~ msgid "Please tell us why you think this decision was incorrect."
-#~ msgstr ""
+#: src/components/moderation/LabelsOnMeDialog.tsx:221
+msgid "Please explain why you think this label was incorrectly applied by {0}"
+msgstr ""
#: src/view/com/modals/VerifyEmail.tsx:101
msgid "Please Verify Your Email"
@@ -2981,13 +3216,13 @@ msgstr "Політика"
msgid "Porn"
msgstr "Порнографія"
-#: src/view/com/composer/Composer.tsx:357
-#: src/view/com/composer/Composer.tsx:365
+#: src/view/com/composer/Composer.tsx:367
+#: src/view/com/composer/Composer.tsx:375
msgctxt "action"
msgid "Post"
msgstr "Запостити"
-#: src/view/com/post-thread/PostThread.tsx:303
+#: src/view/com/post-thread/PostThread.tsx:292
msgctxt "description"
msgid "Post"
msgstr "Пост"
@@ -2996,20 +3231,30 @@ msgstr "Пост"
msgid "Post by {0}"
msgstr "Пост від {0}"
-#: src/Navigation.tsx:174
-#: src/Navigation.tsx:181
-#: src/Navigation.tsx:188
+#: src/Navigation.tsx:176
+#: src/Navigation.tsx:183
+#: src/Navigation.tsx:190
msgid "Post by @{0}"
msgstr "Пост від @{0}"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:108
+#: src/view/com/util/forms/PostDropdownBtn.tsx:111
msgid "Post deleted"
msgstr "Пост видалено"
-#: src/view/com/post-thread/PostThread.tsx:462
+#: src/view/com/post-thread/PostThread.tsx:157
msgid "Post hidden"
msgstr "Пост приховано"
+#: src/components/moderation/ModerationDetailsDialog.tsx:97
+#: src/lib/moderation/useModerationCauseDescription.ts:99
+msgid "Post Hidden by Muted Word"
+msgstr "Пост схований вимкненим словом"
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:100
+#: src/lib/moderation/useModerationCauseDescription.ts:108
+msgid "Post Hidden by You"
+msgstr "Пост схований вами"
+
#: src/view/com/composer/select-language/SelectLangBtn.tsx:87
msgid "Post language"
msgstr "Мова посту"
@@ -3018,7 +3263,8 @@ msgstr "Мова посту"
msgid "Post Languages"
msgstr "Мови посту"
-#: src/view/com/post-thread/PostThread.tsx:514
+#: src/view/com/post-thread/PostThread.tsx:152
+#: src/view/com/post-thread/PostThread.tsx:164
msgid "Post not found"
msgstr "Пост не знайдено"
@@ -3026,11 +3272,12 @@ msgstr "Пост не знайдено"
msgid "posts"
msgstr "пости"
-#: src/view/screens/Profile.tsx:180
+#: src/view/screens/Profile.tsx:195
+#: src/view/screens/Search/Search.tsx:467
msgid "Posts"
msgstr "Пости"
-#: src/components/dialogs/MutedWords.tsx:90
+#: src/components/dialogs/MutedWords.tsx:89
msgid "Posts can be muted based on their text, their tags, or both."
msgstr "Пости можуть бути ігноровані за їхнім текстом, тегами чи за обома."
@@ -3038,11 +3285,21 @@ msgstr "Пости можуть бути ігноровані за їхнім т
msgid "Posts hidden"
msgstr "Пости приховано"
-#: src/view/com/modals/LinkWarning.tsx:46
+#: src/view/com/modals/LinkWarning.tsx:60
msgid "Potentially Misleading Link"
msgstr "Потенційно оманливе посилання"
-#: src/view/com/lightbox/Lightbox.web.tsx:135
+#: src/components/forms/HostingProvider.tsx:46
+msgid "Press to change hosting provider"
+msgstr "Змінити хостинг-провайдера"
+
+#: src/components/Error.tsx:74
+#: src/components/Lists.tsx:80
+#: src/screens/Signup/index.tsx:187
+msgid "Press to retry"
+msgstr ""
+
+#: src/view/com/lightbox/Lightbox.web.tsx:150
msgid "Previous image"
msgstr "Попереднє зображення"
@@ -3054,39 +3311,45 @@ msgstr "Основна мова"
msgid "Prioritize Your Follows"
msgstr "Пріоритезувати ваші підписки"
-#: src/view/screens/Settings/index.tsx:632
+#: src/view/screens/Settings/index.tsx:603
#: src/view/shell/desktop/RightNav.tsx:72
msgid "Privacy"
msgstr "Конфіденційність"
-#: src/Navigation.tsx:219
+#: src/Navigation.tsx:231
+#: src/screens/Signup/StepInfo/Policies.tsx:56
#: src/view/screens/PrivacyPolicy.tsx:29
-#: src/view/screens/Settings/index.tsx:891
-#: src/view/shell/Drawer.tsx:262
+#: src/view/screens/Settings/index.tsx:887
+#: src/view/shell/Drawer.tsx:271
msgid "Privacy Policy"
msgstr "Політика конфіденційності"
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:198
+#: src/screens/Login/ForgotPasswordForm.tsx:156
msgid "Processing..."
msgstr "Обробка..."
-#: src/view/shell/bottom-bar/BottomBar.tsx:247
-#: src/view/shell/desktop/LeftNav.tsx:415
+#: src/view/screens/DebugMod.tsx:888
+#: src/view/screens/Profile.tsx:361
+msgid "profile"
+msgstr ""
+
+#: src/view/shell/bottom-bar/BottomBar.tsx:261
+#: src/view/shell/desktop/LeftNav.tsx:419
#: src/view/shell/Drawer.tsx:70
-#: src/view/shell/Drawer.tsx:546
-#: src/view/shell/Drawer.tsx:547
+#: src/view/shell/Drawer.tsx:555
+#: src/view/shell/Drawer.tsx:556
msgid "Profile"
msgstr "Профіль"
-#: src/view/com/modals/EditProfile.tsx:128
+#: src/view/com/modals/EditProfile.tsx:129
msgid "Profile updated"
msgstr "Профіль оновлено"
-#: src/view/screens/Settings/index.tsx:949
+#: src/view/screens/Settings/index.tsx:945
msgid "Protect your account by verifying your email."
msgstr "Захистіть свій обліковий запис, підтвердивши свою електронну адресу."
-#: src/screens/Onboarding/StepFinished.tsx:101
+#: src/screens/Onboarding/StepFinished.tsx:105
msgid "Public"
msgstr "Публічний"
@@ -3098,15 +3361,15 @@ msgstr "Публічні, поширювані списки користувач
msgid "Public, shareable lists which can drive feeds."
msgstr "Публічні, поширювані списки для створення стрічок."
-#: src/view/com/composer/Composer.tsx:342
+#: src/view/com/composer/Composer.tsx:352
msgid "Publish post"
msgstr "Опублікувати пост"
-#: src/view/com/composer/Composer.tsx:342
+#: src/view/com/composer/Composer.tsx:352
msgid "Publish reply"
msgstr "Опублікувати відповідь"
-#: src/view/com/modals/Repost.tsx:65
+#: src/view/com/modals/Repost.tsx:66
msgctxt "action"
msgid "Quote post"
msgstr "Цитувати"
@@ -3115,7 +3378,7 @@ msgstr "Цитувати"
msgid "Quote post"
msgstr "Цитувати пост"
-#: src/view/com/modals/Repost.tsx:70
+#: src/view/com/modals/Repost.tsx:71
msgctxt "action"
msgid "Quote Post"
msgstr "Цитувати"
@@ -3124,48 +3387,62 @@ msgstr "Цитувати"
msgid "Random (aka \"Poster's Roulette\")"
msgstr "У випадковому порядку"
-#: src/view/com/modals/EditImage.tsx:236
+#: src/view/com/modals/EditImage.tsx:237
msgid "Ratios"
msgstr "Співвідношення сторін"
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:116
+#: src/view/screens/Search/Search.tsx:924
+msgid "Recent Searches"
+msgstr ""
+
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:117
msgid "Recommended Feeds"
msgstr "Рекомендовані стрічки"
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:180
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:181
msgid "Recommended Users"
msgstr "Рекомендовані користувачі"
-#: src/components/dialogs/MutedWords.tsx:298
-#: src/view/com/modals/ListAddRemoveUsers.tsx:264
+#: src/components/dialogs/MutedWords.tsx:286
+#: src/view/com/feeds/FeedSourceCard.tsx:283
+#: src/view/com/modals/ListAddRemoveUsers.tsx:268
#: src/view/com/modals/SelfLabel.tsx:83
#: src/view/com/modals/UserAddRemoveLists.tsx:219
-#: src/view/com/util/UserAvatar.tsx:285
-#: src/view/com/util/UserBanner.tsx:91
+#: src/view/com/posts/FeedErrorMessage.tsx:204
msgid "Remove"
msgstr "Видалити"
-#: src/view/com/feeds/FeedSourceCard.tsx:108
-msgid "Remove {0} from my feeds?"
-msgstr "Вилучити {0} зі збережених стрічок?"
-
#: src/view/com/util/AccountDropdownBtn.tsx:22
msgid "Remove account"
msgstr "Видалити обліковий запис"
-#: src/view/com/posts/FeedErrorMessage.tsx:131
-#: src/view/com/posts/FeedErrorMessage.tsx:166
+#: src/view/com/util/UserAvatar.tsx:360
+msgid "Remove Avatar"
+msgstr "Вилучити аватар"
+
+#: src/view/com/util/UserBanner.tsx:148
+msgid "Remove Banner"
+msgstr "Вилуч шапку"
+
+#: src/view/com/posts/FeedErrorMessage.tsx:160
msgid "Remove feed"
msgstr "Видалити стрічку"
-#: src/view/com/feeds/FeedSourceCard.tsx:107
-#: src/view/com/feeds/FeedSourceCard.tsx:169
-#: src/view/com/feeds/FeedSourceCard.tsx:174
-#: src/view/com/feeds/FeedSourceCard.tsx:245
-#: src/view/screens/ProfileFeed.tsx:273
+#: src/view/com/posts/FeedErrorMessage.tsx:201
+msgid "Remove feed?"
+msgstr "Вилучити стрічку?"
+
+#: src/view/com/feeds/FeedSourceCard.tsx:173
+#: src/view/com/feeds/FeedSourceCard.tsx:233
+#: src/view/screens/ProfileFeed.tsx:346
+#: src/view/screens/ProfileFeed.tsx:352
msgid "Remove from my feeds"
msgstr "Вилучити з моїх стрічок"
+#: src/view/com/feeds/FeedSourceCard.tsx:278
+msgid "Remove from my feeds?"
+msgstr "Вилучити з моїх стрічок?"
+
#: src/view/com/composer/photos/Gallery.tsx:167
msgid "Remove image"
msgstr "Вилучити зображення"
@@ -3174,37 +3451,36 @@ msgstr "Вилучити зображення"
msgid "Remove image preview"
msgstr "Вилучити попередній перегляд зображення"
-#: src/components/dialogs/MutedWords.tsx:343
+#: src/components/dialogs/MutedWords.tsx:329
msgid "Remove mute word from your list"
msgstr "Вилучити ігноровані слова з вашого списку"
-#: src/view/com/modals/Repost.tsx:47
+#: src/view/com/modals/Repost.tsx:48
msgid "Remove repost"
msgstr "Видалити репост"
-#: src/view/com/feeds/FeedSourceCard.tsx:175
-msgid "Remove this feed from my feeds?"
-msgstr "Вилучити цю стрічку з ваших стрічок?"
-
-#: src/view/com/posts/FeedErrorMessage.tsx:132
-msgid "Remove this feed from your saved feeds?"
-msgstr "Вилучити цю стрічку зі збережених стрічок?"
+#: src/view/com/posts/FeedErrorMessage.tsx:202
+msgid "Remove this feed from your saved feeds"
+msgstr "Вилуч цю стрічку з ваших збережених"
#: src/view/com/modals/ListAddRemoveUsers.tsx:199
#: src/view/com/modals/UserAddRemoveLists.tsx:152
msgid "Removed from list"
msgstr "Вилучено зі списку"
-#: src/view/com/feeds/FeedSourceCard.tsx:113
-#: src/view/com/feeds/FeedSourceCard.tsx:180
+#: src/view/com/feeds/FeedSourceCard.tsx:121
msgid "Removed from my feeds"
msgstr "Вилучено з моїх стрічок"
+#: src/view/screens/ProfileFeed.tsx:210
+msgid "Removed from your feeds"
+msgstr "Вилучено з ваших стрічок"
+
#: src/view/com/composer/ExternalEmbed.tsx:71
msgid "Removes default thumbnail from {0}"
msgstr "Видаляє мініатюру за замовчуванням з {0}"
-#: src/view/screens/Profile.tsx:181
+#: src/view/screens/Profile.tsx:196
msgid "Replies"
msgstr "Відповіді"
@@ -3212,7 +3488,7 @@ msgstr "Відповіді"
msgid "Replies to this thread are disabled"
msgstr "Відповіді до цього посту вимкнено"
-#: src/view/com/composer/Composer.tsx:355
+#: src/view/com/composer/Composer.tsx:365
msgctxt "action"
msgid "Reply"
msgstr "Відповісти"
@@ -3221,37 +3497,58 @@ msgstr "Відповісти"
msgid "Reply Filters"
msgstr "Які відповіді показувати"
-#: src/view/com/post/Post.tsx:167
-#: src/view/com/posts/FeedItem.tsx:287
+#: src/view/com/post/Post.tsx:177
+#: src/view/com/posts/FeedItem.tsx:285
msgctxt "description"
msgid "Reply to <0/>"
msgstr "У відповідь <0/>"
-#: src/view/com/modals/report/Modal.tsx:166
-msgid "Report {collectionName}"
-msgstr "Поскаржитись на {collectionName}"
-
-#: src/view/com/profile/ProfileHeader.tsx:361
+#: src/view/com/profile/ProfileMenu.tsx:319
+#: src/view/com/profile/ProfileMenu.tsx:322
msgid "Report Account"
msgstr "Поскаржитись на обліковий запис"
-#: src/view/screens/ProfileFeed.tsx:293
+#: src/components/ReportDialog/index.tsx:49
+msgid "Report dialog"
+msgstr ""
+
+#: src/view/screens/ProfileFeed.tsx:363
+#: src/view/screens/ProfileFeed.tsx:365
msgid "Report feed"
msgstr "Поскаржитись на стрічку"
-#: src/view/screens/ProfileList.tsx:459
+#: src/view/screens/ProfileList.tsx:431
msgid "Report List"
msgstr "Поскаржитись на список"
-#: src/view/com/modals/report/SendReportButton.tsx:37
-#: src/view/com/util/forms/PostDropdownBtn.tsx:301
-#: src/view/com/util/forms/PostDropdownBtn.tsx:309
+#: src/view/com/util/forms/PostDropdownBtn.tsx:312
+#: src/view/com/util/forms/PostDropdownBtn.tsx:314
msgid "Report post"
msgstr "Поскаржитись на пост"
-#: src/view/com/modals/Repost.tsx:43
-#: src/view/com/modals/Repost.tsx:48
-#: src/view/com/modals/Repost.tsx:53
+#: src/components/ReportDialog/SelectReportOptionView.tsx:42
+msgid "Report this content"
+msgstr "Повідом про цей вміст"
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:55
+msgid "Report this feed"
+msgstr "Повідом про цю стрічку"
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:52
+msgid "Report this list"
+msgstr "Повідом про цей список"
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:49
+msgid "Report this post"
+msgstr "Повідом про цей пост"
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:46
+msgid "Report this user"
+msgstr "Повідом про цього ужитковця"
+
+#: src/view/com/modals/Repost.tsx:44
+#: src/view/com/modals/Repost.tsx:49
+#: src/view/com/modals/Repost.tsx:54
#: src/view/com/util/post-ctrls/RepostButton.tsx:61
msgctxt "action"
msgid "Repost"
@@ -3270,19 +3567,23 @@ msgstr "Репостити або цитувати"
msgid "Reposted By"
msgstr "Зробив(-ла) репост"
-#: src/view/com/posts/FeedItem.tsx:207
+#: src/view/com/posts/FeedItem.tsx:199
msgid "Reposted by {0}"
msgstr "{0} зробив(-ла) репост"
-#: src/view/com/posts/FeedItem.tsx:224
-msgid "Reposted by <0/>"
-msgstr "<0/> зробив(-ла) репост"
+#: src/view/com/posts/FeedItem.tsx:214
+#~ msgid "Reposted by <0/>"
+#~ msgstr "<0/> зробив(-ла) репост"
-#: src/view/com/notifications/FeedItem.tsx:162
+#: src/view/com/posts/FeedItem.tsx:216
+msgid "Reposted by <0><1/>0>"
+msgstr ""
+
+#: src/view/com/notifications/FeedItem.tsx:168
msgid "reposted your post"
msgstr "зробив(-ла) репост вашого допису"
-#: src/view/com/post-thread/PostThreadItem.tsx:188
+#: src/view/com/post-thread/PostThreadItem.tsx:187
msgid "Reposts of this post"
msgstr "Репости цього поста"
@@ -3291,61 +3592,50 @@ msgstr "Репости цього поста"
msgid "Request Change"
msgstr "Змінити"
-#: src/view/com/auth/create/Step2.tsx:219
-#~ msgid "Request code"
-#~ msgstr ""
-
-#: src/view/com/modals/ChangePassword.tsx:239
#: src/view/com/modals/ChangePassword.tsx:241
+#: src/view/com/modals/ChangePassword.tsx:243
msgid "Request Code"
msgstr "Надіслати запит на код"
-#: src/view/screens/Settings/index.tsx:456
+#: src/view/screens/Settings/index.tsx:426
msgid "Require alt text before posting"
msgstr "Вимагати опис зображень перед публікацією"
-#: src/view/com/auth/create/Step1.tsx:146
+#: src/screens/Signup/StepInfo/index.tsx:69
msgid "Required for this provider"
msgstr "Вимагається цим хостинг-провайдером"
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:124
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:136
+#: src/view/com/modals/ChangePassword.tsx:185
msgid "Reset code"
msgstr "Код підтвердження"
-#: src/view/com/modals/ChangePassword.tsx:190
+#: src/view/com/modals/ChangePassword.tsx:192
msgid "Reset Code"
msgstr "Код скидання"
-#: src/view/screens/Settings/index.tsx:824
-msgid "Reset onboarding"
-msgstr "Скинути ознайомлення"
-
-#: src/view/screens/Settings/index.tsx:827
+#: src/view/screens/Settings/index.tsx:822
+#: src/view/screens/Settings/index.tsx:825
msgid "Reset onboarding state"
msgstr ""
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:104
+#: src/screens/Login/ForgotPasswordForm.tsx:86
msgid "Reset password"
msgstr "Скинути пароль"
-#: src/view/screens/Settings/index.tsx:814
-msgid "Reset preferences"
-msgstr "Скинути налаштування"
-
-#: src/view/screens/Settings/index.tsx:817
+#: src/view/screens/Settings/index.tsx:812
+#: src/view/screens/Settings/index.tsx:815
msgid "Reset preferences state"
msgstr ""
-#: src/view/screens/Settings/index.tsx:825
+#: src/view/screens/Settings/index.tsx:823
msgid "Resets the onboarding state"
msgstr ""
-#: src/view/screens/Settings/index.tsx:815
+#: src/view/screens/Settings/index.tsx:813
msgid "Resets the preferences state"
msgstr ""
-#: src/view/com/auth/login/LoginForm.tsx:269
+#: src/screens/Login/LoginForm.tsx:235
msgid "Retries login"
msgstr "Повторити спробу"
@@ -3354,99 +3644,121 @@ msgstr "Повторити спробу"
msgid "Retries the last action, which errored out"
msgstr "Повторити останню дію, яка спричинила помилку"
-#: src/screens/Onboarding/StepInterests/index.tsx:221
-#: src/screens/Onboarding/StepInterests/index.tsx:224
-#: src/view/com/auth/create/CreateAccount.tsx:181
-#: src/view/com/auth/create/CreateAccount.tsx:186
-#: src/view/com/auth/login/LoginForm.tsx:268
-#: src/view/com/auth/login/LoginForm.tsx:271
+#: src/components/Error.tsx:79
+#: src/components/Lists.tsx:91
+#: src/screens/Login/LoginForm.tsx:234
+#: src/screens/Login/LoginForm.tsx:241
+#: src/screens/Onboarding/StepInterests/index.tsx:225
+#: src/screens/Onboarding/StepInterests/index.tsx:228
+#: src/screens/Signup/index.tsx:194
#: src/view/com/util/error/ErrorMessage.tsx:55
#: src/view/com/util/error/ErrorScreen.tsx:72
msgid "Retry"
msgstr "Повторити спробу"
-#: src/view/com/auth/create/Step2.tsx:247
-#~ msgid "Retry."
-#~ msgstr ""
-
-#: src/view/screens/ProfileList.tsx:903
+#: src/components/Error.tsx:86
+#: src/view/screens/ProfileList.tsx:919
msgid "Return to previous page"
msgstr "Повернутися до попередньої сторінки"
-#: src/view/shell/desktop/RightNav.tsx:55
-#~ msgid "SANDBOX. Posts and accounts are not permanent."
-#~ msgstr ""
+#: src/view/screens/NotFound.tsx:59
+msgid "Returns to home page"
+msgstr ""
+
+#: src/view/screens/NotFound.tsx:58
+#: src/view/screens/ProfileFeed.tsx:113
+msgid "Returns to previous page"
+msgstr ""
+
+#: src/components/dialogs/BirthDateSettings.tsx:125
+#: src/view/com/modals/ChangeHandle.tsx:174
+#: src/view/com/modals/CreateOrEditList.tsx:338
+#: src/view/com/modals/EditProfile.tsx:225
+msgid "Save"
+msgstr "Зберегти"
#: src/view/com/lightbox/Lightbox.tsx:132
-#: src/view/com/modals/CreateOrEditList.tsx:345
+#: src/view/com/modals/CreateOrEditList.tsx:346
msgctxt "action"
msgid "Save"
msgstr "Зберегти"
-#: src/view/com/modals/BirthDateSettings.tsx:94
-#: src/view/com/modals/BirthDateSettings.tsx:97
-#: src/view/com/modals/ChangeHandle.tsx:173
-#: src/view/com/modals/CreateOrEditList.tsx:337
-#: src/view/com/modals/EditProfile.tsx:224
-#: src/view/screens/ProfileFeed.tsx:346
-msgid "Save"
-msgstr "Зберегти"
-
-#: src/view/com/modals/AltImage.tsx:130
+#: src/view/com/modals/AltImage.tsx:131
msgid "Save alt text"
msgstr "Зберегти опис"
-#: src/view/com/modals/EditProfile.tsx:232
+#: src/components/dialogs/BirthDateSettings.tsx:119
+msgid "Save birthday"
+msgstr "Збережи уродини"
+
+#: src/view/com/modals/EditProfile.tsx:233
msgid "Save Changes"
msgstr "Зберегти зміни"
-#: src/view/com/modals/ChangeHandle.tsx:170
+#: src/view/com/modals/ChangeHandle.tsx:171
msgid "Save handle change"
msgstr "Зберегти новий псевдонім"
-#: src/view/com/modals/crop-image/CropImage.web.tsx:144
+#: src/view/com/modals/crop-image/CropImage.web.tsx:145
msgid "Save image crop"
msgstr "Обрізати зображення"
-#: src/view/screens/SavedFeeds.tsx:122
+#: src/view/screens/ProfileFeed.tsx:347
+#: src/view/screens/ProfileFeed.tsx:353
+msgid "Save to my feeds"
+msgstr "Збережи до мої стрічок"
+
+#: src/view/screens/SavedFeeds.tsx:123
msgid "Saved Feeds"
msgstr "Збережені стрічки"
-#: src/view/com/modals/EditProfile.tsx:225
+#: src/view/com/lightbox/Lightbox.tsx:81
+msgid "Saved to your camera roll."
+msgstr ""
+
+#: src/view/screens/ProfileFeed.tsx:214
+msgid "Saved to your feeds"
+msgstr "Збережено до ваших стрічок"
+
+#: src/view/com/modals/EditProfile.tsx:226
msgid "Saves any changes to your profile"
msgstr "Зберігає зміни вашого профілю"
-#: src/view/com/modals/ChangeHandle.tsx:171
+#: src/view/com/modals/ChangeHandle.tsx:172
msgid "Saves handle change to {handle}"
msgstr "Зберігає зміню псевдоніму на {handle}"
+#: src/view/com/modals/crop-image/CropImage.web.tsx:146
+msgid "Saves image crop settings"
+msgstr ""
+
#: src/screens/Onboarding/index.tsx:36
msgid "Science"
msgstr "Наука"
-#: src/view/screens/ProfileList.tsx:859
+#: src/view/screens/ProfileList.tsx:875
msgid "Scroll to top"
msgstr "Прогорнути вгору"
-#: src/Navigation.tsx:447
-#: src/view/com/auth/LoggedOut.tsx:122
+#: src/Navigation.tsx:451
+#: src/view/com/auth/LoggedOut.tsx:123
#: src/view/com/modals/ListAddRemoveUsers.tsx:75
#: src/view/com/util/forms/SearchInput.tsx:67
#: src/view/com/util/forms/SearchInput.tsx:79
-#: src/view/screens/Search/Search.tsx:419
-#: src/view/screens/Search/Search.tsx:668
-#: src/view/screens/Search/Search.tsx:686
-#: src/view/shell/bottom-bar/BottomBar.tsx:159
-#: src/view/shell/desktop/LeftNav.tsx:324
-#: src/view/shell/desktop/Search.tsx:214
-#: src/view/shell/desktop/Search.tsx:223
-#: src/view/shell/Drawer.tsx:362
-#: src/view/shell/Drawer.tsx:363
+#: src/view/screens/Search/Search.tsx:568
+#: src/view/screens/Search/Search.tsx:817
+#: src/view/screens/Search/Search.tsx:835
+#: src/view/shell/bottom-bar/BottomBar.tsx:170
+#: src/view/shell/desktop/LeftNav.tsx:328
+#: src/view/shell/desktop/Search.tsx:215
+#: src/view/shell/desktop/Search.tsx:224
+#: src/view/shell/Drawer.tsx:371
+#: src/view/shell/Drawer.tsx:372
msgid "Search"
msgstr "Пошук"
-#: src/view/screens/Search/Search.tsx:735
-#: src/view/shell/desktop/Search.tsx:255
+#: src/view/screens/Search/Search.tsx:884
+#: src/view/shell/desktop/Search.tsx:256
msgid "Search for \"{query}\""
msgstr "Шукати \"{query}\""
@@ -3454,20 +3766,12 @@ msgstr "Шукати \"{query}\""
msgid "Search for all posts by @{authorHandle} with tag {displayTag}"
msgstr "Пошук усіх повідомлень @{authorHandle} з тегом {displayTag}"
-#: src/components/TagMenu/index.tsx:145
-#~ msgid "Search for all posts by @{authorHandle} with tag {tag}"
-#~ msgstr ""
-
#: src/components/TagMenu/index.tsx:94
msgid "Search for all posts with tag {displayTag}"
msgstr "Пошук усіх повідомлень з тегом {displayTag}"
-#: src/components/TagMenu/index.tsx:90
-#~ msgid "Search for all posts with tag {tag}"
-#~ msgstr ""
-
-#: src/view/com/auth/LoggedOut.tsx:104
#: src/view/com/auth/LoggedOut.tsx:105
+#: src/view/com/auth/LoggedOut.tsx:106
#: src/view/com/modals/ListAddRemoveUsers.tsx:70
msgid "Search for users"
msgstr "Пошук користувачів"
@@ -3492,60 +3796,60 @@ msgstr "Переглянути пости з <0>{displayTag}0>"
msgid "See <0>{displayTag}0> posts by this user"
msgstr "Переглянути пости цього користувача з <0>{displayTag}0>"
-#: src/components/TagMenu/index.tsx:128
-#~ msgid "See <0>{tag}0> posts"
-#~ msgstr ""
+#: src/view/com/notifications/FeedItem.tsx:419
+#: src/view/com/util/UserAvatar.tsx:381
+msgid "See profile"
+msgstr ""
-#: src/components/TagMenu/index.tsx:189
-#~ msgid "See <0>{tag}0> posts by this user"
-#~ msgstr ""
-
-#: src/view/screens/SavedFeeds.tsx:163
+#: src/view/screens/SavedFeeds.tsx:164
msgid "See this guide"
msgstr "Перегляньте цей посібник"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:39
-msgid "See what's next"
-msgstr "Що далі?"
+#: src/view/com/auth/HomeLoggedOutCTA.tsx:40
+#~ msgid "See what's next"
+#~ msgstr "Що далі?"
#: src/view/com/util/Selector.tsx:106
msgid "Select {item}"
msgstr "Обрати {item}"
-#: src/view/com/modals/ServerInput.tsx:75
-#~ msgid "Select Bluesky Social"
-#~ msgstr ""
+#: src/screens/Login/ChooseAccountForm.tsx:61
+msgid "Select account"
+msgstr "Обрати обліковий запис"
-#: src/view/com/auth/login/Login.tsx:117
+#: src/screens/Login/index.tsx:120
msgid "Select from an existing account"
msgstr "Вибрати існуючий обліковий запис"
+#: src/view/screens/LanguageSettings.tsx:299
+msgid "Select languages"
+msgstr "Обери мови"
+
+#: src/components/ReportDialog/SelectLabelerView.tsx:30
+msgid "Select moderator"
+msgstr ""
+
#: src/view/com/util/Selector.tsx:107
msgid "Select option {i} of {numItems}"
msgstr "Обрати варіант {i} із {numItems}"
-#: src/view/com/auth/create/Step1.tsx:96
-#: src/view/com/auth/login/LoginForm.tsx:150
-msgid "Select service"
-msgstr "Вибрати хостинг-провайдера"
-
#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:52
msgid "Select some accounts below to follow"
msgstr "Оберіть деякі облікові записи, щоб підписатися"
+#: src/components/ReportDialog/SubmitView.tsx:133
+msgid "Select the moderation service(s) to report to"
+msgstr ""
+
#: src/view/com/auth/server-input/index.tsx:82
msgid "Select the service that hosts your data."
msgstr "Виберіть хостинг-провайдера для ваших даних."
-#: src/screens/Onboarding/StepModeration/index.tsx:49
-#~ msgid "Select the types of content that you want to see (or not see), and we'll handle the rest."
-#~ msgstr ""
-
-#: src/screens/Onboarding/StepTopicalFeeds.tsx:96
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:100
msgid "Select topical feeds to follow from the list below"
msgstr "Підпишіться на тематичні стрічки зі списку нижче"
-#: src/screens/Onboarding/StepModeration/index.tsx:75
+#: src/screens/Onboarding/StepModeration/index.tsx:63
msgid "Select what you want to see (or not see), and we’ll handle the rest."
msgstr "Виберіть, що ви хочете бачити (або не бачити), а решту ми зробимо за вас."
@@ -3554,26 +3858,26 @@ msgid "Select which languages you want your subscribed feeds to include. If none
msgstr "Оберіть мови постів, які ви хочете бачити у збережених каналах. Якщо не вибрано жодної – буде показано пости всіма мовами."
#: src/view/screens/LanguageSettings.tsx:98
-msgid "Select your app language for the default text to display in the app"
-msgstr "Оберіть мову інтерфейсу"
+msgid "Select your app language for the default text to display in the app."
+msgstr ""
-#: src/screens/Onboarding/StepInterests/index.tsx:196
+#: src/screens/Signup/StepInfo/index.tsx:135
+msgid "Select your date of birth"
+msgstr ""
+
+#: src/screens/Onboarding/StepInterests/index.tsx:200
msgid "Select your interests from the options below"
msgstr "Виберіть ваші інтереси із нижченаведених варіантів"
-#: src/view/com/auth/create/Step2.tsx:155
-#~ msgid "Select your phone's country"
-#~ msgstr ""
-
#: src/view/screens/LanguageSettings.tsx:190
msgid "Select your preferred language for translations in your feed."
msgstr "Оберіть бажану мову для перекладів у вашій стрічці."
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:116
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:117
msgid "Select your primary algorithmic feeds"
msgstr "Оберіть ваші основні алгоритмічні стрічки"
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:142
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:133
msgid "Select your secondary algorithmic feeds"
msgstr "Оберіть ваші другорядні алгоритмічні стрічки"
@@ -3582,70 +3886,45 @@ msgstr "Оберіть ваші другорядні алгоритмічні с
msgid "Send Confirmation Email"
msgstr "Надіслати лист із кодом підтвердження"
-#: src/view/com/modals/DeleteAccount.tsx:131
+#: src/view/com/modals/DeleteAccount.tsx:130
msgid "Send email"
msgstr "Надіслати ел. листа"
-#: src/view/com/modals/DeleteAccount.tsx:144
+#: src/view/com/modals/DeleteAccount.tsx:143
msgctxt "action"
msgid "Send Email"
msgstr "Надіслати ел. лист"
-#: src/view/shell/Drawer.tsx:295
-#: src/view/shell/Drawer.tsx:316
+#: src/view/shell/Drawer.tsx:304
+#: src/view/shell/Drawer.tsx:325
msgid "Send feedback"
msgstr "Надіслати відгук"
-#: src/view/com/modals/report/SendReportButton.tsx:45
-msgid "Send Report"
-msgstr "Поскаржитись"
+#: src/components/ReportDialog/SubmitView.tsx:213
+#: src/components/ReportDialog/SubmitView.tsx:217
+msgid "Send report"
+msgstr ""
-#: src/view/com/modals/DeleteAccount.tsx:133
+#: src/components/ReportDialog/SelectLabelerView.tsx:44
+msgid "Send report to {0}"
+msgstr ""
+
+#: src/view/com/modals/DeleteAccount.tsx:132
msgid "Sends email with confirmation code for account deletion"
msgstr "Надсилає електронний лист з кодом підтвердження видалення облікового запису"
-#: src/view/com/auth/server-input/index.tsx:110
+#: src/view/com/auth/server-input/index.tsx:114
msgid "Server address"
msgstr "Адреса сервера"
-#: src/view/com/modals/ContentFilteringSettings.tsx:311
-msgid "Set {value} for {labelGroup} content moderation policy"
-msgstr "Встановити {value} для політики модерації вмісту {labelGroup}"
+#: src/screens/Moderation/index.tsx:304
+msgid "Set birthdate"
+msgstr ""
-#: src/view/com/modals/ContentFilteringSettings.tsx:160
-#: src/view/com/modals/ContentFilteringSettings.tsx:179
-msgctxt "action"
-msgid "Set Age"
-msgstr "Встановити вік"
-
-#: src/view/screens/Settings/index.tsx:488
-msgid "Set color theme to dark"
-msgstr "Встановити темне оформлення"
-
-#: src/view/screens/Settings/index.tsx:481
-msgid "Set color theme to light"
-msgstr "Встановити світле оформлення"
-
-#: src/view/screens/Settings/index.tsx:475
-msgid "Set color theme to system setting"
-msgstr "Встановити системне оформлення"
-
-#: src/view/screens/Settings/index.tsx:514
-msgid "Set dark theme to the dark theme"
-msgstr "Встановити темну тему"
-
-#: src/view/screens/Settings/index.tsx:507
-msgid "Set dark theme to the dim theme"
-msgstr "Встановити темну тьмяну тему"
-
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:104
+#: src/screens/Login/SetNewPasswordForm.tsx:102
msgid "Set new password"
msgstr "Зміна пароля"
-#: src/view/com/auth/create/Step1.tsx:202
-msgid "Set password"
-msgstr "Встановити пароль"
-
#: src/view/screens/PreferencesFollowingFeed.tsx:225
msgid "Set this setting to \"No\" to hide all quote posts from your feed. Reposts will still be visible."
msgstr "Вимкніть цей параметр, щоб приховати всі цитовані пости у вашій стрічці. Не впливає на репости без цитування."
@@ -3662,40 +3941,59 @@ msgstr "Вимкніть цей параметр, щоб приховати вс
msgid "Set this setting to \"Yes\" to show replies in a threaded view. This is an experimental feature."
msgstr "Увімкніть це налаштування, щоб показувати відповіді у вигляді гілок. Це експериментальна функція."
-#: src/view/screens/PreferencesHomeFeed.tsx:261
-#~ msgid "Set this setting to \"Yes\" to show samples of your saved feeds in your following feed. This is an experimental feature."
-#~ msgstr ""
-
#: src/view/screens/PreferencesFollowingFeed.tsx:261
msgid "Set this setting to \"Yes\" to show samples of your saved feeds in your Following feed. This is an experimental feature."
msgstr "Увімкніть це налаштування, щоб іноді бачити пости зі збережених стрічок у вашій домашній стрічці. Це експериментальна функція."
-#: src/screens/Onboarding/Layout.tsx:50
+#: src/screens/Onboarding/Layout.tsx:48
msgid "Set up your account"
msgstr "Налаштуйте ваш обліковий запис"
-#: src/view/com/modals/ChangeHandle.tsx:266
+#: src/view/com/modals/ChangeHandle.tsx:267
msgid "Sets Bluesky username"
msgstr "Встановлює псевдонім Bluesky"
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:157
+#: src/view/screens/Settings/index.tsx:458
+msgid "Sets color theme to dark"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:451
+msgid "Sets color theme to light"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:445
+msgid "Sets color theme to system setting"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:484
+msgid "Sets dark theme to the dark theme"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:477
+msgid "Sets dark theme to the dim theme"
+msgstr ""
+
+#: src/screens/Login/ForgotPasswordForm.tsx:113
msgid "Sets email for password reset"
msgstr "Встановлює ел. адресу для скидання пароля"
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:122
-msgid "Sets hosting provider for password reset"
-msgstr "Встановлює хостинг-провайдером для скидання пароля"
+#: src/view/com/modals/crop-image/CropImage.web.tsx:124
+msgid "Sets image aspect ratio to square"
+msgstr ""
-#: src/view/com/auth/create/Step1.tsx:97
-#: src/view/com/auth/login/LoginForm.tsx:151
-msgid "Sets server for the Bluesky client"
-msgstr "Встановлює сервер для застосунку Bluesky"
+#: src/view/com/modals/crop-image/CropImage.web.tsx:114
+msgid "Sets image aspect ratio to tall"
+msgstr ""
-#: src/Navigation.tsx:137
-#: src/view/screens/Settings/index.tsx:294
-#: src/view/shell/desktop/LeftNav.tsx:433
-#: src/view/shell/Drawer.tsx:567
-#: src/view/shell/Drawer.tsx:568
+#: src/view/com/modals/crop-image/CropImage.web.tsx:104
+msgid "Sets image aspect ratio to wide"
+msgstr ""
+
+#: src/Navigation.tsx:139
+#: src/view/screens/Settings/index.tsx:316
+#: src/view/shell/desktop/LeftNav.tsx:437
+#: src/view/shell/Drawer.tsx:576
+#: src/view/shell/Drawer.tsx:577
msgid "Settings"
msgstr "Налаштування"
@@ -3703,28 +4001,49 @@ msgstr "Налаштування"
msgid "Sexual activity or erotic nudity."
msgstr "Сексуальна активність або еротична оголеність."
+#: src/lib/moderation/useGlobalLabelStrings.ts:38
+msgid "Sexually Suggestive"
+msgstr ""
+
#: src/view/com/lightbox/Lightbox.tsx:141
msgctxt "action"
msgid "Share"
msgstr "Поширити"
-#: src/view/com/profile/ProfileHeader.tsx:295
-#: src/view/com/util/forms/PostDropdownBtn.tsx:231
-#: src/view/com/util/forms/PostDropdownBtn.tsx:237
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:215
-#: src/view/screens/ProfileList.tsx:418
+#: src/view/com/profile/ProfileMenu.tsx:215
+#: src/view/com/profile/ProfileMenu.tsx:224
+#: src/view/com/util/forms/PostDropdownBtn.tsx:236
+#: src/view/com/util/forms/PostDropdownBtn.tsx:245
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:237
+#: src/view/screens/ProfileList.tsx:390
msgid "Share"
msgstr "Поширити"
-#: src/view/screens/ProfileFeed.tsx:305
+#: src/view/com/profile/ProfileMenu.tsx:373
+#: src/view/com/util/forms/PostDropdownBtn.tsx:369
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:253
+msgid "Share anyway"
+msgstr ""
+
+#: src/view/screens/ProfileFeed.tsx:373
+#: src/view/screens/ProfileFeed.tsx:375
msgid "Share feed"
msgstr "Поширити стрічку"
-#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:43
-#: src/view/com/modals/ContentFilteringSettings.tsx:266
-#: src/view/com/util/moderation/ContentHider.tsx:107
-#: src/view/com/util/moderation/PostHider.tsx:108
-#: src/view/screens/Settings/index.tsx:344
+#: src/view/com/modals/LinkWarning.tsx:89
+#: src/view/com/modals/LinkWarning.tsx:95
+msgid "Share Link"
+msgstr "Поділитись посиланням"
+
+#: src/view/com/modals/LinkWarning.tsx:92
+msgid "Shares the linked website"
+msgstr ""
+
+#: src/components/moderation/ContentHider.tsx:115
+#: src/components/moderation/LabelPreference.tsx:136
+#: src/components/moderation/PostHider.tsx:107
+#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:54
+#: src/view/screens/Settings/index.tsx:366
msgid "Show"
msgstr "Показувати"
@@ -3732,21 +4051,27 @@ msgstr "Показувати"
msgid "Show all replies"
msgstr "Показати всі відповіді"
-#: src/view/com/util/moderation/ScreenHider.tsx:132
+#: src/components/moderation/ScreenHider.tsx:169
+#: src/components/moderation/ScreenHider.tsx:172
msgid "Show anyway"
msgstr "Всеодно показати"
-#: src/view/com/modals/EmbedConsent.tsx:87
-msgid "Show embeds from {0}"
-msgstr "Показати вбудування з {0}"
+#: src/lib/moderation/useLabelBehaviorDescription.ts:27
+#: src/lib/moderation/useLabelBehaviorDescription.ts:63
+msgid "Show badge"
+msgstr ""
-#: src/view/com/profile/ProfileHeader.tsx:459
+#: src/lib/moderation/useLabelBehaviorDescription.ts:61
+msgid "Show badge and filter from feeds"
+msgstr ""
+
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:200
msgid "Show follows similar to {0}"
msgstr "Показати підписки, схожі на {0}"
-#: src/view/com/post-thread/PostThreadItem.tsx:538
-#: src/view/com/post/Post.tsx:198
-#: src/view/com/posts/FeedItem.tsx:363
+#: src/view/com/post-thread/PostThreadItem.tsx:501
+#: src/view/com/post/Post.tsx:212
+#: src/view/com/posts/FeedItem.tsx:360
msgid "Show More"
msgstr "Показати більше"
@@ -3758,15 +4083,15 @@ msgstr "Показувати пости зі збережених стрічок
msgid "Show Quote Posts"
msgstr "Показувати цитати"
-#: src/screens/Onboarding/StepFollowingFeed.tsx:118
+#: src/screens/Onboarding/StepFollowingFeed.tsx:119
msgid "Show quote-posts in Following feed"
msgstr "Показувати цитування у стрічці \"Following\""
-#: src/screens/Onboarding/StepFollowingFeed.tsx:134
+#: src/screens/Onboarding/StepFollowingFeed.tsx:135
msgid "Show quotes in Following"
msgstr "Показувати цитування у стрічці \"Following\""
-#: src/screens/Onboarding/StepFollowingFeed.tsx:94
+#: src/screens/Onboarding/StepFollowingFeed.tsx:95
msgid "Show re-posts in Following feed"
msgstr "Показувати репости у стрічці \"Following\""
@@ -3778,11 +4103,11 @@ msgstr "Показувати відповіді"
msgid "Show replies by people you follow before all other replies."
msgstr "Показувати відповіді від людей, за якими ви слідкуєте, вище інших."
-#: src/screens/Onboarding/StepFollowingFeed.tsx:86
+#: src/screens/Onboarding/StepFollowingFeed.tsx:87
msgid "Show replies in Following"
msgstr "Показувати відповіді у стрічці \"Following\""
-#: src/screens/Onboarding/StepFollowingFeed.tsx:70
+#: src/screens/Onboarding/StepFollowingFeed.tsx:71
msgid "Show replies in Following feed"
msgstr "Показувати відповіді у стрічці \"Following\""
@@ -3794,131 +4119,123 @@ msgstr "Показувати відповіді від {value} {0}"
msgid "Show Reposts"
msgstr "Показувати репости"
-#: src/screens/Onboarding/StepFollowingFeed.tsx:110
+#: src/screens/Onboarding/StepFollowingFeed.tsx:111
msgid "Show reposts in Following"
msgstr "Показувати репости у стрічці \"Following\""
-#: src/view/com/util/moderation/ContentHider.tsx:67
-#: src/view/com/util/moderation/PostHider.tsx:61
+#: src/components/moderation/ContentHider.tsx:68
+#: src/components/moderation/PostHider.tsx:64
msgid "Show the content"
msgstr "Показати вміст"
-#: src/view/com/notifications/FeedItem.tsx:347
+#: src/view/com/notifications/FeedItem.tsx:353
msgid "Show users"
msgstr "Показати користувачів"
-#: src/view/com/profile/ProfileHeader.tsx:462
-msgid "Shows a list of users similar to this user."
-msgstr "Показує список користувачів, схожих на цього."
+#: src/lib/moderation/useLabelBehaviorDescription.ts:58
+msgid "Show warning"
+msgstr ""
-#: src/view/com/post-thread/PostThreadFollowBtn.tsx:124
-#: src/view/com/profile/ProfileHeader.tsx:506
+#: src/lib/moderation/useLabelBehaviorDescription.ts:56
+msgid "Show warning and filter from feeds"
+msgstr ""
+
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:130
msgid "Shows posts from {0} in your feed"
msgstr "Показує дописи з {0} у вашій стрічці"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:70
-#: src/view/com/auth/login/Login.tsx:98
-#: src/view/com/auth/SplashScreen.tsx:79
-#: src/view/shell/bottom-bar/BottomBar.tsx:285
-#: src/view/shell/bottom-bar/BottomBar.tsx:286
-#: src/view/shell/bottom-bar/BottomBar.tsx:288
+#: src/components/dialogs/Signin.tsx:97
+#: src/components/dialogs/Signin.tsx:99
+#: src/screens/Login/index.tsx:100
+#: src/screens/Login/index.tsx:119
+#: src/screens/Login/LoginForm.tsx:131
+#: src/view/com/auth/SplashScreen.tsx:63
+#: src/view/com/auth/SplashScreen.tsx:72
+#: src/view/com/auth/SplashScreen.web.tsx:107
+#: src/view/com/auth/SplashScreen.web.tsx:116
+#: src/view/shell/bottom-bar/BottomBar.tsx:301
+#: src/view/shell/bottom-bar/BottomBar.tsx:302
+#: src/view/shell/bottom-bar/BottomBar.tsx:304
#: src/view/shell/bottom-bar/BottomBarWeb.tsx:178
#: src/view/shell/bottom-bar/BottomBarWeb.tsx:179
#: src/view/shell/bottom-bar/BottomBarWeb.tsx:181
-#: src/view/shell/NavSignupCard.tsx:58
-#: src/view/shell/NavSignupCard.tsx:59
+#: src/view/shell/NavSignupCard.tsx:63
+#: src/view/shell/NavSignupCard.tsx:64
+#: src/view/shell/NavSignupCard.tsx:66
msgid "Sign in"
msgstr "Увійти"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:78
-#: src/view/com/auth/SplashScreen.tsx:82
-#: src/view/com/auth/SplashScreen.web.tsx:91
-msgid "Sign In"
-msgstr "Увійти"
-
-#: src/view/com/auth/login/ChooseAccountForm.tsx:44
+#: src/components/AccountList.tsx:109
msgid "Sign in as {0}"
msgstr "Увійти як {0}"
-#: src/view/com/auth/login/ChooseAccountForm.tsx:118
-#: src/view/com/auth/login/Login.tsx:116
+#: src/screens/Login/ChooseAccountForm.tsx:64
msgid "Sign in as..."
msgstr "Увійти як..."
-#: src/view/com/auth/login/LoginForm.tsx:137
-msgid "Sign into"
-msgstr "Увійти до"
+#: src/components/dialogs/Signin.tsx:75
+msgid "Sign in or create your account to join the conversation!"
+msgstr ""
-#: src/view/com/modals/SwitchAccount.tsx:64
-#: src/view/com/modals/SwitchAccount.tsx:69
-#: src/view/screens/Settings/index.tsx:100
-#: src/view/screens/Settings/index.tsx:103
+#: src/components/dialogs/Signin.tsx:46
+msgid "Sign into Bluesky or create a new account"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:118
+#: src/view/screens/Settings/index.tsx:121
msgid "Sign out"
msgstr "Вийти"
-#: src/view/shell/bottom-bar/BottomBar.tsx:275
-#: src/view/shell/bottom-bar/BottomBar.tsx:276
-#: src/view/shell/bottom-bar/BottomBar.tsx:278
+#: src/view/shell/bottom-bar/BottomBar.tsx:291
+#: src/view/shell/bottom-bar/BottomBar.tsx:292
+#: src/view/shell/bottom-bar/BottomBar.tsx:294
#: src/view/shell/bottom-bar/BottomBarWeb.tsx:168
#: src/view/shell/bottom-bar/BottomBarWeb.tsx:169
#: src/view/shell/bottom-bar/BottomBarWeb.tsx:171
-#: src/view/shell/NavSignupCard.tsx:49
-#: src/view/shell/NavSignupCard.tsx:50
-#: src/view/shell/NavSignupCard.tsx:52
+#: src/view/shell/NavSignupCard.tsx:54
+#: src/view/shell/NavSignupCard.tsx:55
+#: src/view/shell/NavSignupCard.tsx:57
msgid "Sign up"
msgstr "Зареєструватися"
-#: src/view/shell/NavSignupCard.tsx:42
+#: src/view/shell/NavSignupCard.tsx:47
msgid "Sign up or sign in to join the conversation"
msgstr "Зареєструйтеся або увійдіть, щоб приєднатися до розмови"
-#: src/view/com/util/moderation/ScreenHider.tsx:76
+#: src/components/moderation/ScreenHider.tsx:97
+#: src/lib/moderation/useGlobalLabelStrings.ts:28
msgid "Sign-in Required"
msgstr "Необхідно увійти для перегляду"
-#: src/view/screens/Settings/index.tsx:355
+#: src/view/screens/Settings/index.tsx:377
msgid "Signed in as"
msgstr "Ви увійшли як"
-#: src/view/com/auth/login/ChooseAccountForm.tsx:103
+#: src/screens/Login/ChooseAccountForm.tsx:48
msgid "Signed in as @{0}"
msgstr "Ви увійшли як @{0}"
-#: src/view/com/modals/SwitchAccount.tsx:66
-msgid "Signs {0} out of Bluesky"
-msgstr "Виходить з Bluesky облікового запису {0}"
-
-#: src/screens/Onboarding/StepInterests/index.tsx:235
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:195
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:33
+#: src/screens/Onboarding/StepInterests/index.tsx:239
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:203
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:35
msgid "Skip"
msgstr "Пропустити"
-#: src/screens/Onboarding/StepInterests/index.tsx:232
+#: src/screens/Onboarding/StepInterests/index.tsx:236
msgid "Skip this flow"
msgstr "Пропустити цей процес"
-#: src/view/com/auth/create/Step2.tsx:82
-#~ msgid "SMS verification"
-#~ msgstr ""
-
#: src/screens/Onboarding/index.tsx:40
msgid "Software Dev"
msgstr "Розробка П/З"
-#: src/view/com/modals/ProfilePreview.tsx:62
-#~ msgid "Something went wrong and we're not sure what."
-#~ msgstr ""
+#: src/components/ReportDialog/index.tsx:59
+#: src/screens/Moderation/index.tsx:114
+#: src/screens/Profile/Sections/Labels.tsx:87
+msgid "Something went wrong, please try again."
+msgstr ""
-#: src/components/Lists.tsx:203
-msgid "Something went wrong!"
-msgstr "Щось пішло не так!"
-
-#: src/view/com/modals/Waitlist.tsx:51
-#~ msgid "Something went wrong. Check your email and try again."
-#~ msgstr ""
-
-#: src/App.native.tsx:66
+#: src/App.native.tsx:64
msgid "Sorry! Your session expired. Please log in again."
msgstr "Даруйте! Ваш сеанс вичерпався. Будь ласка, увійдіть знову."
@@ -3930,57 +4247,78 @@ msgstr "Сортувати відповіді"
msgid "Sort replies to the same post by:"
msgstr "Оберіть, як сортувати відповіді до постів:"
+#: src/components/moderation/LabelsOnMeDialog.tsx:146
+msgid "Source:"
+msgstr "Джерело:"
+
+#: src/lib/moderation/useReportOptions.ts:65
+msgid "Spam"
+msgstr "Спам"
+
+#: src/lib/moderation/useReportOptions.ts:53
+msgid "Spam; excessive mentions or replies"
+msgstr "Спам; надмірні згадки або відповіді"
+
#: src/screens/Onboarding/index.tsx:30
msgid "Sports"
msgstr "Спорт"
-#: src/view/com/modals/crop-image/CropImage.web.tsx:122
+#: src/view/com/modals/crop-image/CropImage.web.tsx:123
msgid "Square"
msgstr "Квадратне"
-#: src/view/com/modals/ServerInput.tsx:62
-#~ msgid "Staging"
-#~ msgstr ""
-
-#: src/view/screens/Settings/index.tsx:871
+#: src/view/screens/Settings/index.tsx:867
msgid "Status page"
msgstr "Сторінка стану"
-#: src/view/com/auth/create/StepHeader.tsx:22
-msgid "Step {0} of {numSteps}"
-msgstr "Крок {0} / {numSteps}"
+#: src/screens/Signup/index.tsx:143
+msgid "Step"
+msgstr "Крок"
-#: src/view/screens/Settings/index.tsx:274
+#: src/view/screens/Settings/index.tsx:295
msgid "Storage cleared, you need to restart the app now."
msgstr "Сховище очищено, тепер вам треба перезапустити застосунок."
-#: src/Navigation.tsx:204
-#: src/view/screens/Settings/index.tsx:807
+#: src/Navigation.tsx:211
+#: src/view/screens/Settings/index.tsx:795
msgid "Storybook"
msgstr ""
-#: src/view/com/modals/AppealLabel.tsx:101
+#: src/components/moderation/LabelsOnMeDialog.tsx:255
+#: src/components/moderation/LabelsOnMeDialog.tsx:256
msgid "Submit"
msgstr "Надіслати"
-#: src/view/screens/ProfileList.tsx:608
+#: src/view/screens/ProfileList.tsx:592
msgid "Subscribe"
msgstr "Підписатися"
-#: src/screens/Onboarding/StepAlgoFeeds/FeedCard.tsx:173
-#: src/screens/Onboarding/StepAlgoFeeds/FeedCard.tsx:308
+#: src/screens/Profile/Sections/Labels.tsx:191
+msgid "Subscribe to @{0} to use these labels:"
+msgstr ""
+
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:227
+msgid "Subscribe to Labeler"
+msgstr ""
+
+#: src/screens/Onboarding/StepAlgoFeeds/FeedCard.tsx:172
+#: src/screens/Onboarding/StepAlgoFeeds/FeedCard.tsx:307
msgid "Subscribe to the {0} feed"
msgstr "Підписатися на {0} стрічку"
-#: src/view/screens/ProfileList.tsx:604
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:191
+msgid "Subscribe to this labeler"
+msgstr ""
+
+#: src/view/screens/ProfileList.tsx:588
msgid "Subscribe to this list"
msgstr "Підписатися на цей список"
-#: src/view/screens/Search/Search.tsx:374
+#: src/view/screens/Search/Search.tsx:523
msgid "Suggested Follows"
msgstr "Пропоновані підписки"
-#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:64
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:65
msgid "Suggested for you"
msgstr "Пропозиції для вас"
@@ -3988,39 +4326,34 @@ msgstr "Пропозиції для вас"
msgid "Suggestive"
msgstr "Непристойний"
-#: src/Navigation.tsx:214
+#: src/Navigation.tsx:226
#: src/view/screens/Support.tsx:30
#: src/view/screens/Support.tsx:33
msgid "Support"
msgstr "Підтримка"
-#: src/view/com/modals/ProfilePreview.tsx:110
-#~ msgid "Swipe up to see more"
-#~ msgstr ""
-
-#: src/view/com/modals/SwitchAccount.tsx:117
+#: src/components/dialogs/SwitchAccount.tsx:46
+#: src/components/dialogs/SwitchAccount.tsx:49
msgid "Switch Account"
msgstr "Перемикнути обліковий запис"
-#: src/view/com/modals/SwitchAccount.tsx:97
-#: src/view/screens/Settings/index.tsx:130
+#: src/view/screens/Settings/index.tsx:150
msgid "Switch to {0}"
msgstr "Переключитися на {0}"
-#: src/view/com/modals/SwitchAccount.tsx:98
-#: src/view/screens/Settings/index.tsx:131
+#: src/view/screens/Settings/index.tsx:151
msgid "Switches the account you are logged in to"
msgstr "Переключає обліковий запис"
-#: src/view/screens/Settings/index.tsx:472
+#: src/view/screens/Settings/index.tsx:442
msgid "System"
msgstr "Системне"
-#: src/view/screens/Settings/index.tsx:795
+#: src/view/screens/Settings/index.tsx:783
msgid "System log"
msgstr "Системний журнал"
-#: src/components/dialogs/MutedWords.tsx:337
+#: src/components/dialogs/MutedWords.tsx:323
msgid "tag"
msgstr "тег"
@@ -4028,11 +4361,7 @@ msgstr "тег"
msgid "Tag menu: {displayTag}"
msgstr "Меню тегів: {displayTag}"
-#: src/components/TagMenu/index.tsx:74
-#~ msgid "Tag menu: {tag}"
-#~ msgstr ""
-
-#: src/view/com/modals/crop-image/CropImage.web.tsx:112
+#: src/view/com/modals/crop-image/CropImage.web.tsx:113
msgid "Tall"
msgstr "Високе"
@@ -4048,30 +4377,49 @@ msgstr "Технології"
msgid "Terms"
msgstr "Умови"
-#: src/Navigation.tsx:224
-#: src/view/screens/Settings/index.tsx:885
+#: src/Navigation.tsx:236
+#: src/screens/Signup/StepInfo/Policies.tsx:49
+#: src/view/screens/Settings/index.tsx:881
#: src/view/screens/TermsOfService.tsx:29
-#: src/view/shell/Drawer.tsx:256
+#: src/view/shell/Drawer.tsx:265
msgid "Terms of Service"
msgstr "Умови Використання"
-#: src/components/dialogs/MutedWords.tsx:337
+#: src/lib/moderation/useReportOptions.ts:58
+#: src/lib/moderation/useReportOptions.ts:79
+#: src/lib/moderation/useReportOptions.ts:87
+msgid "Terms used violate community standards"
+msgstr "Уживані терміни порушують стандарти спільноти"
+
+#: src/components/dialogs/MutedWords.tsx:323
msgid "text"
msgstr "текст"
-#: src/view/com/modals/AppealLabel.tsx:70
-#: src/view/com/modals/report/InputIssueDetails.tsx:51
+#: src/components/moderation/LabelsOnMeDialog.tsx:219
msgid "Text input field"
msgstr "Поле вводу тексту"
-#: src/view/com/auth/create/CreateAccount.tsx:94
+#: src/components/ReportDialog/SubmitView.tsx:76
+msgid "Thank you. Your report has been sent."
+msgstr "Дякую вам за повідомлення."
+
+#: src/view/com/modals/ChangeHandle.tsx:465
+msgid "That contains the following:"
+msgstr ""
+
+#: src/screens/Signup/index.tsx:85
msgid "That handle is already taken."
msgstr "Цей псевдонім вже зайнятий."
-#: src/view/com/profile/ProfileHeader.tsx:263
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:282
+#: src/view/com/profile/ProfileMenu.tsx:349
msgid "The account will be able to interact with you after unblocking."
msgstr "Обліковий запис зможе взаємодіяти з вами після розблокування."
+#: src/components/moderation/ModerationDetailsDialog.tsx:127
+msgid "the author"
+msgstr ""
+
#: src/view/screens/CommunityGuidelines.tsx:36
msgid "The Community Guidelines have been moved to <0/>"
msgstr "Правила Спільноти переміщено до <0/>"
@@ -4080,11 +4428,20 @@ msgstr "Правила Спільноти переміщено до <0/>"
msgid "The Copyright Policy has been moved to <0/>"
msgstr "Політику захисту авторського права переміщено до <0/>"
-#: src/screens/Onboarding/Layout.tsx:60
+#: src/components/moderation/LabelsOnMeDialog.tsx:48
+msgid "The following labels were applied to your account."
+msgstr ""
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:49
+msgid "The following labels were applied to your content."
+msgstr ""
+
+#: src/screens/Onboarding/Layout.tsx:58
msgid "The following steps will help customize your Bluesky experience."
msgstr "Наступні кроки допоможуть налаштувати Ваш досвід використання Bluesky."
-#: src/view/com/post-thread/PostThread.tsx:517
+#: src/view/com/post-thread/PostThread.tsx:153
+#: src/view/com/post-thread/PostThread.tsx:165
msgid "The post may have been deleted."
msgstr "Можливо цей пост було видалено."
@@ -4100,35 +4457,35 @@ msgstr "Форму підтримки переміщено. Якщо вам по
msgid "The Terms of Service have been moved to"
msgstr "Умови Використання перенесено до"
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:150
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:141
msgid "There are many feeds to try:"
msgstr "Також є багато інших стрічок, щоб спробувати:"
-#: src/view/screens/ProfileFeed.tsx:550
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:114
+#: src/view/screens/ProfileFeed.tsx:556
msgid "There was an an issue contacting the server, please check your internet connection and try again."
msgstr "Виникла проблема з доступом до сервера. Перевірте підключення до Інтернету і повторіть спробу знову."
-#: src/view/com/posts/FeedErrorMessage.tsx:139
+#: src/view/com/posts/FeedErrorMessage.tsx:138
msgid "There was an an issue removing this feed. Please check your internet connection and try again."
msgstr "Виникла проблема при видаленні цієї стрічки. Перевірте підключення до Інтернету і повторіть спробу."
-#: src/view/screens/ProfileFeed.tsx:210
+#: src/view/screens/ProfileFeed.tsx:219
msgid "There was an an issue updating your feeds, please check your internet connection and try again."
msgstr "Виникла проблема з оновленням ваших стрічок. Перевірте підключення до Інтернету і повторіть спробу."
-#: src/view/screens/ProfileFeed.tsx:237
-#: src/view/screens/ProfileList.tsx:267
-#: src/view/screens/SavedFeeds.tsx:209
-#: src/view/screens/SavedFeeds.tsx:231
-#: src/view/screens/SavedFeeds.tsx:252
+#: src/view/screens/ProfileFeed.tsx:247
+#: src/view/screens/ProfileList.tsx:277
+#: src/view/screens/SavedFeeds.tsx:211
+#: src/view/screens/SavedFeeds.tsx:241
+#: src/view/screens/SavedFeeds.tsx:262
msgid "There was an issue contacting the server"
msgstr "При з'єднанні з сервером виникла проблема"
#: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:57
#: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:66
-#: src/view/com/feeds/FeedSourceCard.tsx:115
-#: src/view/com/feeds/FeedSourceCard.tsx:129
-#: src/view/com/feeds/FeedSourceCard.tsx:183
+#: src/view/com/feeds/FeedSourceCard.tsx:110
+#: src/view/com/feeds/FeedSourceCard.tsx:123
msgid "There was an issue contacting your server"
msgstr "При з'єднанні з вашим сервером виникла проблема"
@@ -4136,7 +4493,7 @@ msgstr "При з'єднанні з вашим сервером виникла
msgid "There was an issue fetching notifications. Tap here to try again."
msgstr "Виникла проблема з завантаженням сповіщень. Натисніть тут, щоб повторити спробу."
-#: src/view/com/posts/Feed.tsx:265
+#: src/view/com/posts/Feed.tsx:287
msgid "There was an issue fetching posts. Tap here to try again."
msgstr "Виникла проблема з завантаженням постів. Натисніть тут, щоб повторити спробу."
@@ -4144,39 +4501,45 @@ msgstr "Виникла проблема з завантаженням пості
msgid "There was an issue fetching the list. Tap here to try again."
msgstr "Виникла проблема з завантаженням списку. Натисніть тут, щоб повторити спробу."
-#: src/view/com/feeds/ProfileFeedgens.tsx:148
-#: src/view/com/lists/ProfileLists.tsx:155
+#: src/view/com/feeds/ProfileFeedgens.tsx:156
+#: src/view/com/lists/ProfileLists.tsx:163
msgid "There was an issue fetching your lists. Tap here to try again."
msgstr "Виникла проблема з завантаженням ваших списків. Натисніть тут, щоб повторити спробу."
-#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:63
-#: src/view/com/modals/ContentFilteringSettings.tsx:126
+#: src/components/ReportDialog/SubmitView.tsx:81
+msgid "There was an issue sending your report. Please check your internet connection."
+msgstr ""
+
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:65
msgid "There was an issue syncing your preferences with the server"
msgstr "Виникла проблема під час синхронізації ваших налаштувань із сервером"
-#: src/view/screens/AppPasswords.tsx:66
+#: src/view/screens/AppPasswords.tsx:68
msgid "There was an issue with fetching your app passwords"
msgstr "Виникла проблема з завантаженням ваших паролів для застосунків"
-#: src/view/com/post-thread/PostThreadFollowBtn.tsx:93
-#: src/view/com/post-thread/PostThreadFollowBtn.tsx:105
-#: src/view/com/profile/ProfileHeader.tsx:157
-#: src/view/com/profile/ProfileHeader.tsx:178
-#: src/view/com/profile/ProfileHeader.tsx:217
-#: src/view/com/profile/ProfileHeader.tsx:230
-#: src/view/com/profile/ProfileHeader.tsx:250
-#: src/view/com/profile/ProfileHeader.tsx:272
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:105
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:127
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:141
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:99
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:111
+#: src/view/com/profile/ProfileMenu.tsx:106
+#: src/view/com/profile/ProfileMenu.tsx:117
+#: src/view/com/profile/ProfileMenu.tsx:132
+#: src/view/com/profile/ProfileMenu.tsx:143
+#: src/view/com/profile/ProfileMenu.tsx:157
+#: src/view/com/profile/ProfileMenu.tsx:170
msgid "There was an issue! {0}"
msgstr "Виникла проблема! {0}"
-#: src/view/screens/ProfileList.tsx:288
-#: src/view/screens/ProfileList.tsx:307
-#: src/view/screens/ProfileList.tsx:329
-#: src/view/screens/ProfileList.tsx:348
+#: src/view/screens/ProfileList.tsx:290
+#: src/view/screens/ProfileList.tsx:304
+#: src/view/screens/ProfileList.tsx:318
+#: src/view/screens/ProfileList.tsx:332
msgid "There was an issue. Please check your internet connection and try again."
msgstr "Виникла проблема. Перевірте підключення до Інтернету і повторіть спробу."
-#: src/view/com/util/ErrorBoundary.tsx:36
+#: src/view/com/util/ErrorBoundary.tsx:51
msgid "There was an unexpected issue in the application. Please let us know if this happened to you!"
msgstr "У застосунку сталася неочікувана проблема. Будь ласка, повідомте нас, якщо ви отримали це повідомлення!"
@@ -4184,27 +4547,36 @@ msgstr "У застосунку сталася неочікувана пробл
msgid "There's been a rush of new users to Bluesky! We'll activate your account as soon as we can."
msgstr "Відбувався наплив нових користувачів у Bluesky! Ми активуємо ваш обліковий запис як тільки зможемо."
-#: src/view/com/auth/create/Step2.tsx:55
-#~ msgid "There's something wrong with this number. Please choose your country and enter your full phone number!"
-#~ msgstr ""
-
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:138
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:146
msgid "These are popular accounts you might like:"
msgstr "Ці популярні користувачі можуть вам сподобатися:"
-#: src/view/com/util/moderation/ScreenHider.tsx:88
+#: src/components/moderation/ScreenHider.tsx:116
msgid "This {screenDescription} has been flagged:"
msgstr "Цей {screenDescription} був позначений:"
-#: src/view/com/util/moderation/ScreenHider.tsx:83
+#: src/components/moderation/ScreenHider.tsx:111
msgid "This account has requested that users sign in to view their profile."
msgstr "Цей користувач вказав, що не хоче, аби його профіль бачили відвідувачі без облікового запису."
-#: src/view/com/modals/EmbedConsent.tsx:68
+#: src/components/moderation/LabelsOnMeDialog.tsx:204
+msgid "This appeal will be sent to <0>{0}0>."
+msgstr ""
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:19
+msgid "This content has been hidden by the moderators."
+msgstr ""
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:24
+msgid "This content has received a general warning from moderators."
+msgstr ""
+
+#: src/components/dialogs/EmbedConsent.tsx:64
msgid "This content is hosted by {0}. Do you want to enable external media?"
msgstr "Цей вміст розміщено {0}. Увімкнути зовнішні медіа?"
-#: src/view/com/modals/ModerationDetails.tsx:67
+#: src/components/moderation/ModerationDetailsDialog.tsx:77
+#: src/lib/moderation/useModerationCauseDescription.ts:77
msgid "This content is not available because one of the users involved has blocked the other."
msgstr "Цей контент недоступний, оскільки один із залучених користувачів заблокував іншого."
@@ -4213,16 +4585,16 @@ msgid "This content is not viewable without a Bluesky account."
msgstr "Цей вміст не доступний для перегляду без облікового запису Bluesky."
#: src/view/screens/Settings/ExportCarDialog.tsx:75
-msgid "This feature is in beta. You can read more about repository exports in <0>this blogpost.0>"
-msgstr "Ця функція знаходиться в беті. Ви можете дізнатися більше про експорт репозиторіїв в <0>у цьому блозі.0>"
+msgid "This feature is in beta. You can read more about repository exports in <0>this blogpost0>."
+msgstr ""
#: src/view/com/posts/FeedErrorMessage.tsx:114
msgid "This feed is currently receiving high traffic and is temporarily unavailable. Please try again later."
msgstr "Ця стрічка зараз отримує забагато запитів і тимчасово недоступна. Спробуйте ще раз пізніше."
-#: src/view/screens/Profile.tsx:420
-#: src/view/screens/ProfileFeed.tsx:476
-#: src/view/screens/ProfileList.tsx:661
+#: src/screens/Profile/Sections/Feed.tsx:59
+#: src/view/screens/ProfileFeed.tsx:488
+#: src/view/screens/ProfileList.tsx:677
msgid "This feed is empty!"
msgstr "Стрічка порожня!"
@@ -4230,7 +4602,7 @@ msgstr "Стрічка порожня!"
msgid "This feed is empty! You may need to follow more users or tune your language settings."
msgstr "Ця стрічка порожня! Можливо, вам треба підписатися на більшу кількість користувачів або змінити ваші налаштування мови."
-#: src/view/com/modals/BirthDateSettings.tsx:61
+#: src/components/dialogs/BirthDateSettings.tsx:41
msgid "This information is not shared with other users."
msgstr "Ця інформація не розкривається іншим користувачам."
@@ -4238,15 +4610,27 @@ msgstr "Ця інформація не розкривається іншим к
msgid "This is important in case you ever need to change your email or reset your password."
msgstr "Це важливо для випадку, якщо вам коли-небудь потрібно буде змінити адресу електронної пошти або відновити пароль."
-#: src/view/com/modals/LinkWarning.tsx:58
+#: src/components/moderation/ModerationDetailsDialog.tsx:124
+msgid "This label was applied by {0}."
+msgstr ""
+
+#: src/screens/Profile/Sections/Labels.tsx:178
+msgid "This labeler hasn't declared what labels it publishes, and may not be active."
+msgstr ""
+
+#: src/view/com/modals/LinkWarning.tsx:72
msgid "This link is taking you to the following website:"
msgstr "Це посилання веде на сайт:"
-#: src/view/screens/ProfileList.tsx:839
+#: src/view/screens/ProfileList.tsx:855
msgid "This list is empty!"
msgstr "Список порожній!"
-#: src/view/com/modals/AddAppPasswords.tsx:106
+#: src/screens/Profile/ErrorState.tsx:40
+msgid "This moderation service is unavailable. See below for more details. If this issue persists, contact us."
+msgstr ""
+
+#: src/view/com/modals/AddAppPasswords.tsx:107
msgid "This name is already in use"
msgstr "Це ім'я вже використовується"
@@ -4254,36 +4638,66 @@ msgstr "Це ім'я вже використовується"
msgid "This post has been deleted."
msgstr "Цей пост було видалено."
-#: src/view/com/modals/ModerationDetails.tsx:62
+#: src/view/com/util/forms/PostDropdownBtn.tsx:366
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:250
+msgid "This post is only visible to logged-in users. It won't be visible to people who aren't logged in."
+msgstr ""
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:348
+msgid "This post will be hidden from feeds."
+msgstr ""
+
+#: src/view/com/profile/ProfileMenu.tsx:370
+msgid "This profile is only visible to logged-in users. It won't be visible to people who aren't logged in."
+msgstr ""
+
+#: src/screens/Signup/StepInfo/Policies.tsx:37
+msgid "This service has not provided terms of service or a privacy policy."
+msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:445
+msgid "This should create a domain record at:"
+msgstr ""
+
+#: src/view/com/profile/ProfileFollowers.tsx:87
+msgid "This user doesn't have any followers."
+msgstr ""
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:72
+#: src/lib/moderation/useModerationCauseDescription.ts:68
msgid "This user has blocked you. You cannot view their content."
msgstr "Цей користувач заблокував вас. Ви не можете бачити їх пости."
-#: src/view/com/modals/ModerationDetails.tsx:42
-msgid "This user is included in the <0/> list which you have blocked."
-msgstr "Цей користувач в списку \"<0/>\" на який ви підписались та заблокували."
+#: src/lib/moderation/useGlobalLabelStrings.ts:30
+msgid "This user has requested that their content only be shown to signed-in users."
+msgstr ""
-#: src/view/com/modals/ModerationDetails.tsx:74
-msgid "This user is included in the <0/> list which you have muted."
-msgstr "Цей користувач в списку \"<0/>\" який ви ігноруєте."
+#: src/components/moderation/ModerationDetailsDialog.tsx:55
+msgid "This user is included in the <0>{0}0> list which you have blocked."
+msgstr ""
-#: src/view/com/modals/ModerationDetails.tsx:74
-#~ msgid "This user is included the <0/> list which you have muted."
-#~ msgstr ""
+#: src/components/moderation/ModerationDetailsDialog.tsx:84
+msgid "This user is included in the <0>{0}0> list which you have muted."
+msgstr ""
+
+#: src/view/com/profile/ProfileFollows.tsx:87
+msgid "This user isn't following anyone."
+msgstr ""
#: src/view/com/modals/SelfLabel.tsx:137
msgid "This warning is only available for posts with media attached."
msgstr "Це попередження доступне тільки для записів з прикріпленими медіа-файлами."
-#: src/components/dialogs/MutedWords.tsx:285
+#: src/components/dialogs/MutedWords.tsx:283
msgid "This will delete {0} from your muted words. You can always add it back later."
msgstr "Це видалить {0} зі ваших ігнорованих слів. Ви завжди можете додати його назад."
-#: src/view/com/util/forms/PostDropdownBtn.tsx:282
-msgid "This will hide this post from your feeds."
-msgstr "Це дія приховає цей пост із вашої стрічки."
+#: src/view/screens/Settings/index.tsx:525
+msgid "Thread preferences"
+msgstr ""
#: src/view/screens/PreferencesThreads.tsx:53
-#: src/view/screens/Settings/index.tsx:565
+#: src/view/screens/Settings/index.tsx:535
msgid "Thread Preferences"
msgstr "Налаштування гілок"
@@ -4291,11 +4705,15 @@ msgstr "Налаштування гілок"
msgid "Threaded Mode"
msgstr "Режим гілок"
-#: src/Navigation.tsx:257
+#: src/Navigation.tsx:269
msgid "Threads Preferences"
msgstr "Налаштування обговорень"
-#: src/components/dialogs/MutedWords.tsx:113
+#: src/components/ReportDialog/SelectLabelerView.tsx:33
+msgid "To whom would you like to send this report?"
+msgstr ""
+
+#: src/components/dialogs/MutedWords.tsx:112
msgid "Toggle between muted word options."
msgstr "Перемикання між опціями ігнорування слів."
@@ -4303,14 +4721,22 @@ msgstr "Перемикання між опціями ігнорування сл
msgid "Toggle dropdown"
msgstr "Розкрити/сховати"
-#: src/view/com/modals/EditImage.tsx:271
+#: src/screens/Moderation/index.tsx:332
+msgid "Toggle to enable or disable adult content"
+msgstr ""
+
+#: src/view/screens/Search/Search.tsx:427
+msgid "Top"
+msgstr ""
+
+#: src/view/com/modals/EditImage.tsx:272
msgid "Transformations"
msgstr "Редагування"
-#: src/view/com/post-thread/PostThreadItem.tsx:685
-#: src/view/com/post-thread/PostThreadItem.tsx:687
-#: src/view/com/util/forms/PostDropdownBtn.tsx:215
-#: src/view/com/util/forms/PostDropdownBtn.tsx:217
+#: src/view/com/post-thread/PostThreadItem.tsx:638
+#: src/view/com/post-thread/PostThreadItem.tsx:640
+#: src/view/com/util/forms/PostDropdownBtn.tsx:220
+#: src/view/com/util/forms/PostDropdownBtn.tsx:222
msgid "Translate"
msgstr "Перекласти"
@@ -4319,63 +4745,85 @@ msgctxt "action"
msgid "Try again"
msgstr "Спробувати ще раз"
-#: src/view/screens/ProfileList.tsx:506
+#: src/view/com/modals/ChangeHandle.tsx:428
+msgid "Type:"
+msgstr ""
+
+#: src/view/screens/ProfileList.tsx:480
msgid "Un-block list"
msgstr "Розблокувати список"
-#: src/view/screens/ProfileList.tsx:491
+#: src/view/screens/ProfileList.tsx:463
msgid "Un-mute list"
msgstr "Перестати ігнорувати"
-#: src/view/com/auth/create/CreateAccount.tsx:58
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:87
-#: src/view/com/auth/login/Login.tsx:76
-#: src/view/com/auth/login/LoginForm.tsx:118
+#: src/screens/Login/ForgotPasswordForm.tsx:74
+#: src/screens/Login/index.tsx:78
+#: src/screens/Login/LoginForm.tsx:119
+#: src/screens/Login/SetNewPasswordForm.tsx:77
+#: src/screens/Signup/index.tsx:64
#: src/view/com/modals/ChangePassword.tsx:70
msgid "Unable to contact your service. Please check your Internet connection."
msgstr "Не вдалося зв'язатися з вашим хостинг-провайдером. Перевірте ваше підключення до Інтернету."
-#: src/view/com/profile/ProfileHeader.tsx:433
-#: src/view/screens/ProfileList.tsx:590
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:181
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:286
+#: src/view/com/profile/ProfileMenu.tsx:361
+#: src/view/screens/ProfileList.tsx:574
msgid "Unblock"
msgstr "Розблокувати"
-#: src/view/com/profile/ProfileHeader.tsx:436
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:186
msgctxt "action"
msgid "Unblock"
msgstr "Розблокувати"
-#: src/view/com/profile/ProfileHeader.tsx:261
-#: src/view/com/profile/ProfileHeader.tsx:345
+#: src/view/com/profile/ProfileMenu.tsx:299
+#: src/view/com/profile/ProfileMenu.tsx:305
msgid "Unblock Account"
msgstr "Розблокувати обліковий запис"
-#: src/view/com/modals/Repost.tsx:42
-#: src/view/com/modals/Repost.tsx:55
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:280
+#: src/view/com/profile/ProfileMenu.tsx:343
+msgid "Unblock Account?"
+msgstr ""
+
+#: src/view/com/modals/Repost.tsx:43
+#: src/view/com/modals/Repost.tsx:56
#: src/view/com/util/post-ctrls/RepostButton.tsx:60
#: src/view/com/util/post-ctrls/RepostButton.web.tsx:48
msgid "Undo repost"
msgstr "Скасувати репост"
-#: src/view/com/profile/FollowButton.tsx:55
+#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:141
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:248
+msgid "Unfollow"
+msgstr "Не стежити"
+
+#: src/view/com/profile/FollowButton.tsx:60
msgctxt "action"
msgid "Unfollow"
msgstr "Відписатись"
-#: src/view/com/profile/ProfileHeader.tsx:485
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:220
msgid "Unfollow {0}"
msgstr "Відписатися від {0}"
-#: src/view/com/auth/create/state.ts:262
-msgid "Unfortunately, you do not meet the requirements to create an account."
-msgstr "На жаль, ви не відповідаєте вимогам для створення облікового запису."
+#: src/view/com/profile/ProfileMenu.tsx:241
+#: src/view/com/profile/ProfileMenu.tsx:251
+msgid "Unfollow Account"
+msgstr ""
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:182
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:197
msgid "Unlike"
msgstr "Прибрати вподобання"
+#: src/view/screens/ProfileFeed.tsx:585
+msgid "Unlike this feed"
+msgstr ""
+
#: src/components/TagMenu/index.tsx:249
-#: src/view/screens/ProfileList.tsx:597
+#: src/view/screens/ProfileList.tsx:581
msgid "Unmute"
msgstr "Не ігнорувати"
@@ -4383,7 +4831,8 @@ msgstr "Не ігнорувати"
msgid "Unmute {truncatedTag}"
msgstr "Не ігнорувати {truncatedTag}"
-#: src/view/com/profile/ProfileHeader.tsx:326
+#: src/view/com/profile/ProfileMenu.tsx:278
+#: src/view/com/profile/ProfileMenu.tsx:284
msgid "Unmute Account"
msgstr "Перестати ігнорувати"
@@ -4391,49 +4840,84 @@ msgstr "Перестати ігнорувати"
msgid "Unmute all {displayTag} posts"
msgstr "Перестати ігнорувати всі пости {displayTag}"
-#: src/components/TagMenu/index.tsx:210
-#~ msgid "Unmute all {tag} posts"
-#~ msgstr ""
-
-#: src/view/com/util/forms/PostDropdownBtn.tsx:251
-#: src/view/com/util/forms/PostDropdownBtn.tsx:256
+#: src/view/com/util/forms/PostDropdownBtn.tsx:269
+#: src/view/com/util/forms/PostDropdownBtn.tsx:274
msgid "Unmute thread"
msgstr "Перестати ігнорувати"
-#: src/view/screens/ProfileFeed.tsx:354
-#: src/view/screens/ProfileList.tsx:581
+#: src/view/screens/ProfileFeed.tsx:306
+#: src/view/screens/ProfileList.tsx:565
msgid "Unpin"
msgstr "Відкріпити"
-#: src/view/screens/ProfileList.tsx:474
+#: src/view/screens/ProfileFeed.tsx:303
+msgid "Unpin from home"
+msgstr "Відкріп з головної"
+
+#: src/view/screens/ProfileList.tsx:446
msgid "Unpin moderation list"
msgstr "Відкріпити список модерації"
-#: src/view/screens/ProfileFeed.tsx:346
-msgid "Unsave"
-msgstr "Скасувати збереження"
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:225
+msgid "Unsubscribe"
+msgstr "Відписатися"
+
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:190
+msgid "Unsubscribe from this labeler"
+msgstr ""
+
+#: src/lib/moderation/useReportOptions.ts:70
+msgid "Unwanted Sexual Content"
+msgstr ""
#: src/view/com/modals/UserAddRemoveLists.tsx:70
msgid "Update {displayName} in Lists"
msgstr "Змінити належність {displayName} до списків"
-#: src/lib/hooks/useOTAUpdate.ts:15
-msgid "Update Available"
-msgstr "Доступне оновлення"
+#: src/view/com/modals/ChangeHandle.tsx:508
+msgid "Update to {handle}"
+msgstr ""
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:204
+#: src/screens/Login/SetNewPasswordForm.tsx:186
msgid "Updating..."
msgstr "Оновлення..."
-#: src/view/com/modals/ChangeHandle.tsx:455
+#: src/view/com/modals/ChangeHandle.tsx:454
msgid "Upload a text file to:"
msgstr "Завантажити текстовий файл до:"
-#: src/view/screens/AppPasswords.tsx:195
+#: src/view/com/util/UserAvatar.tsx:328
+#: src/view/com/util/UserAvatar.tsx:331
+#: src/view/com/util/UserBanner.tsx:116
+#: src/view/com/util/UserBanner.tsx:119
+msgid "Upload from Camera"
+msgstr ""
+
+#: src/view/com/util/UserAvatar.tsx:345
+#: src/view/com/util/UserBanner.tsx:133
+msgid "Upload from Files"
+msgstr ""
+
+#: src/view/com/util/UserAvatar.tsx:339
+#: src/view/com/util/UserAvatar.tsx:343
+#: src/view/com/util/UserBanner.tsx:127
+#: src/view/com/util/UserBanner.tsx:131
+msgid "Upload from Library"
+msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:408
+msgid "Use a file on your server"
+msgstr ""
+
+#: src/view/screens/AppPasswords.tsx:197
msgid "Use app passwords to login to other Bluesky clients without giving full access to your account or password."
msgstr "Використовуйте паролі для застосунків для входу в інших застосунках для Bluesky. Це дозволить використовувати їх, не надаючи повний доступ до вашого облікового запису і вашого основного пароля."
-#: src/view/com/modals/ChangeHandle.tsx:515
+#: src/view/com/modals/ChangeHandle.tsx:517
+msgid "Use bsky.social as hosting provider"
+msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:516
msgid "Use default provider"
msgstr "Використовувати провайдера за замовчуванням"
@@ -4447,54 +4931,59 @@ msgstr "У вбудованому браузері"
msgid "Use my default browser"
msgstr "У звичайному браузері"
-#: src/view/com/modals/AddAppPasswords.tsx:155
+#: src/view/com/modals/ChangeHandle.tsx:400
+msgid "Use the DNS panel"
+msgstr ""
+
+#: src/view/com/modals/AddAppPasswords.tsx:156
msgid "Use this to sign into the other app along with your handle."
msgstr "Скористайтесь ним для входу в інші застосунки."
-#: src/view/com/modals/ServerInput.tsx:105
-#~ msgid "Use your domain as your Bluesky client service provider"
-#~ msgstr ""
-
-#: src/view/com/modals/InviteCodes.tsx:200
+#: src/view/com/modals/InviteCodes.tsx:201
msgid "Used by:"
msgstr "Використано:"
-#: src/view/com/modals/ModerationDetails.tsx:54
+#: src/components/moderation/ModerationDetailsDialog.tsx:64
+#: src/lib/moderation/useModerationCauseDescription.ts:56
msgid "User Blocked"
msgstr "Користувача заблоковано"
-#: src/view/com/modals/ModerationDetails.tsx:40
+#: src/lib/moderation/useModerationCauseDescription.ts:48
+msgid "User Blocked by \"{0}\""
+msgstr ""
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:53
msgid "User Blocked by List"
msgstr "Користувача заблоковано списком"
-#: src/view/com/modals/ModerationDetails.tsx:60
+#: src/lib/moderation/useModerationCauseDescription.ts:66
+msgid "User Blocking You"
+msgstr ""
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:70
msgid "User Blocks You"
msgstr "Користувач заблокував вас"
-#: src/view/com/auth/create/Step2.tsx:79
-msgid "User handle"
-msgstr "Псевдонім"
-
#: src/view/com/lists/ListCard.tsx:85
#: src/view/com/modals/UserAddRemoveLists.tsx:198
msgid "User list by {0}"
msgstr "Список користувачів від {0}"
-#: src/view/screens/ProfileList.tsx:763
+#: src/view/screens/ProfileList.tsx:779
msgid "User list by <0/>"
msgstr "Список користувачів від <0/>"
#: src/view/com/lists/ListCard.tsx:83
#: src/view/com/modals/UserAddRemoveLists.tsx:196
-#: src/view/screens/ProfileList.tsx:761
+#: src/view/screens/ProfileList.tsx:777
msgid "User list by you"
msgstr "Список користувачів від вас"
-#: src/view/com/modals/CreateOrEditList.tsx:196
+#: src/view/com/modals/CreateOrEditList.tsx:197
msgid "User list created"
msgstr "Список користувачів створено"
-#: src/view/com/modals/CreateOrEditList.tsx:182
+#: src/view/com/modals/CreateOrEditList.tsx:183
msgid "User list updated"
msgstr "Список користувачів оновлено"
@@ -4502,12 +4991,13 @@ msgstr "Список користувачів оновлено"
msgid "User Lists"
msgstr "Списки користувачів"
-#: src/view/com/auth/login/LoginForm.tsx:177
-#: src/view/com/auth/login/LoginForm.tsx:195
+#: src/screens/Login/LoginForm.tsx:151
msgid "Username or email address"
msgstr "Ім'я користувача або електронна адреса"
-#: src/view/screens/ProfileList.tsx:797
+#: src/view/screens/ProfileList.tsx:813
+#: src/view/screens/Search/Search.tsx:473
+#: src/view/screens/Search/Search.tsx:482
msgid "Users"
msgstr "Користувачі"
@@ -4519,19 +5009,27 @@ msgstr "користувачі, на яких підписані <0/>"
msgid "Users in \"{0}\""
msgstr "Користувачі в «{0}»"
-#: src/view/com/auth/create/Step2.tsx:243
-#~ msgid "Verification code"
-#~ msgstr ""
+#: src/components/LikesDialog.tsx:85
+msgid "Users that have liked this content or profile"
+msgstr ""
-#: src/view/screens/Settings/index.tsx:910
+#: src/view/com/modals/ChangeHandle.tsx:436
+msgid "Value:"
+msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:509
+msgid "Verify {0}"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:906
msgid "Verify email"
msgstr "Підтвердити електронну адресу"
-#: src/view/screens/Settings/index.tsx:935
+#: src/view/screens/Settings/index.tsx:931
msgid "Verify my email"
msgstr "Підтвердити мою електронну адресу"
-#: src/view/screens/Settings/index.tsx:944
+#: src/view/screens/Settings/index.tsx:940
msgid "Verify My Email"
msgstr "Підтвердити мою електронну адресу"
@@ -4544,11 +5042,15 @@ msgstr "Підтвердити нову адресу електронної по
msgid "Verify Your Email"
msgstr "Підтвердьте адресу вашої електронної пошти"
+#: src/view/screens/Settings/index.tsx:857
+msgid "Version {0}"
+msgstr "Версія {0}"
+
#: src/screens/Onboarding/index.tsx:42
msgid "Video Games"
msgstr "Відеоігри"
-#: src/view/com/profile/ProfileHeader.tsx:662
+#: src/screens/Profile/Header/Shell.tsx:107
msgid "View {0}'s avatar"
msgstr "Переглянути аватар {0}"
@@ -4556,11 +5058,25 @@ msgstr "Переглянути аватар {0}"
msgid "View debug entry"
msgstr "Переглянути запис для налагодження"
-#: src/view/com/posts/FeedSlice.tsx:103
+#: src/components/ReportDialog/SelectReportOptionView.tsx:132
+msgid "View details"
+msgstr ""
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:127
+msgid "View details for reporting a copyright violation"
+msgstr ""
+
+#: src/view/com/posts/FeedSlice.tsx:99
msgid "View full thread"
msgstr "Переглянути обговорення"
-#: src/view/com/posts/FeedErrorMessage.tsx:172
+#: src/components/moderation/LabelsOnMe.tsx:51
+msgid "View information about these labels"
+msgstr ""
+
+#: src/components/ProfileHoverCard/index.web.tsx:264
+#: src/components/ProfileHoverCard/index.web.tsx:293
+#: src/view/com/posts/FeedErrorMessage.tsx:166
msgid "View profile"
msgstr "Переглянути профіль"
@@ -4568,20 +5084,35 @@ msgstr "Переглянути профіль"
msgid "View the avatar"
msgstr "Переглянути аватар"
-#: src/view/com/modals/LinkWarning.tsx:75
+#: src/components/LabelingServiceCard/index.tsx:140
+msgid "View the labeling service provided by @{0}"
+msgstr ""
+
+#: src/view/screens/ProfileFeed.tsx:597
+msgid "View users who like this feed"
+msgstr ""
+
+#: src/view/com/modals/LinkWarning.tsx:89
+#: src/view/com/modals/LinkWarning.tsx:95
msgid "Visit Site"
msgstr "Відвідати сайт"
-#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:42
-#: src/view/com/modals/ContentFilteringSettings.tsx:259
+#: src/components/moderation/LabelPreference.tsx:135
+#: src/lib/moderation/useLabelBehaviorDescription.ts:17
+#: src/lib/moderation/useLabelBehaviorDescription.ts:22
+#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:53
msgid "Warn"
msgstr "Попереджати"
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:134
-msgid "We also think you'll like \"For You\" by Skygaze:"
-msgstr "Гадаємо, вам також сподобається «For You» від Skygaze:"
+#: src/lib/moderation/useLabelBehaviorDescription.ts:48
+msgid "Warn content"
+msgstr ""
-#: src/screens/Hashtag.tsx:132
+#: src/lib/moderation/useLabelBehaviorDescription.ts:46
+msgid "Warn content and filter from feeds"
+msgstr ""
+
+#: src/screens/Hashtag.tsx:133
msgid "We couldn't find any results for that hashtag."
msgstr "Ми не змогли знайти жодних результатів для цього хештегу."
@@ -4589,7 +5120,7 @@ msgstr "Ми не змогли знайти жодних результатів
msgid "We estimate {estimatedTime} until your account is ready."
msgstr "Ми оцінюємо {estimatedTime} до готовності вашого облікового запису."
-#: src/screens/Onboarding/StepFinished.tsx:93
+#: src/screens/Onboarding/StepFinished.tsx:97
msgid "We hope you have a wonderful time. Remember, Bluesky is:"
msgstr "Ми сподіваємося, що ви проведете чудово свій час. Пам'ятайте, Bluesky — це:"
@@ -4597,19 +5128,23 @@ msgstr "Ми сподіваємося, що ви проведете чудово
msgid "We ran out of posts from your follows. Here's the latest from <0/>."
msgstr "У нас закінчилися дописи у ваших підписках. Ось останні пости зі стрічки <0/>."
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:118
-#~ msgid "We recommend \"For You\" by Skygaze:"
-#~ msgstr ""
-
-#: src/components/dialogs/MutedWords.tsx:204
+#: src/components/dialogs/MutedWords.tsx:203
msgid "We recommend avoiding common words that appear in many posts, since it can result in no posts being shown."
msgstr "Ми рекомендуємо уникати загальних слів, що зʼявляються у багатьох постах, оскільки це може призвести до того, що жодного поста не буде показано."
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:124
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:125
msgid "We recommend our \"Discover\" feed:"
msgstr "Ми рекомендуємо стрічку «Discover»:"
-#: src/screens/Onboarding/StepInterests/index.tsx:133
+#: src/components/dialogs/BirthDateSettings.tsx:52
+msgid "We were unable to load your birth date preferences. Please try again."
+msgstr ""
+
+#: src/screens/Moderation/index.tsx:385
+msgid "We were unable to load your configured labelers at this time."
+msgstr ""
+
+#: src/screens/Onboarding/StepInterests/index.tsx:137
msgid "We weren't able to connect. Please try again to continue setting up your account. If it continues to fail, you can skip this flow."
msgstr "Ми не змогли під'єднатися. Будь ласка, спробуйте ще раз, щоб продовжити налаштування свого облікового запису. Якщо помилка повторюється, то ви можете пропустити цей процес."
@@ -4617,49 +5152,46 @@ msgstr "Ми не змогли під'єднатися. Будь ласка, с
msgid "We will let you know when your account is ready."
msgstr "Ми повідомимо вас, коли ваш обліковий запис буде готовий."
-#: src/view/com/modals/AppealLabel.tsx:48
-msgid "We'll look into your appeal promptly."
-msgstr "Ми скоро розглянемо вашу апеляцію."
-
-#: src/screens/Onboarding/StepInterests/index.tsx:138
+#: src/screens/Onboarding/StepInterests/index.tsx:142
msgid "We'll use this to help customize your experience."
msgstr "Ми скористаємося цим, щоб підлаштувати Ваш досвід."
-#: src/view/com/auth/create/CreateAccount.tsx:134
+#: src/screens/Signup/index.tsx:131
msgid "We're so excited to have you join us!"
msgstr "Ми дуже раді, що ви приєдналися!"
-#: src/view/screens/ProfileList.tsx:86
+#: src/view/screens/ProfileList.tsx:90
msgid "We're sorry, but we were unable to resolve this list. If this persists, please contact the list creator, @{handleOrDid}."
msgstr "Дуже прикро, але нам не вдалося знайти цей список. Якщо це продовжується, будь ласка, зв'яжіться з його автором: @{handleOrDid}."
-#: src/components/dialogs/MutedWords.tsx:230
+#: src/components/dialogs/MutedWords.tsx:229
msgid "We're sorry, but we weren't able to load your muted words at this time. Please try again."
msgstr "На жаль, ми не змогли зараз завантажити ваші ігноровані слова. Будь ласка, спробуйте ще раз."
-#: src/view/screens/Search/Search.tsx:254
+#: src/view/screens/Search/Search.tsx:322
msgid "We're sorry, but your search could not be completed. Please try again in a few minutes."
msgstr "Даруйте, нам не вдалося виконати пошук за вашим запитом. Будь ласка, спробуйте ще раз через кілька хвилин."
-#: src/components/Lists.tsx:211
+#: src/components/Lists.tsx:188
#: src/view/screens/NotFound.tsx:48
msgid "We're sorry! We can't find the page you were looking for."
msgstr "Нам дуже прикро! Ми не можемо знайти сторінку, яку ви шукали."
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:46
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:327
+msgid "We're sorry! You can only subscribe to ten labelers, and you've reached your limit of ten."
+msgstr ""
+
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:48
msgid "Welcome to <0>Bluesky0>"
msgstr "Ласкаво просимо до <0>Bluesky0>"
-#: src/screens/Onboarding/StepInterests/index.tsx:130
+#: src/screens/Onboarding/StepInterests/index.tsx:134
msgid "What are your interests?"
msgstr "Чим ви цікавитесь?"
-#: src/view/com/modals/report/Modal.tsx:169
-msgid "What is the issue with this {collectionName}?"
-msgstr "Яка проблема з {collectionName}?"
-
-#: src/view/com/auth/SplashScreen.tsx:59
-#: src/view/com/composer/Composer.tsx:286
+#: src/view/com/auth/SplashScreen.tsx:40
+#: src/view/com/auth/SplashScreen.web.tsx:81
+#: src/view/com/composer/Composer.tsx:296
msgid "What's up?"
msgstr "Як справи?"
@@ -4676,16 +5208,36 @@ msgstr "Якими мовами ви хочете бачити пости у а
msgid "Who can reply"
msgstr "Хто може відповідати"
-#: src/view/com/modals/crop-image/CropImage.web.tsx:102
+#: src/components/ReportDialog/SelectReportOptionView.tsx:43
+msgid "Why should this content be reviewed?"
+msgstr ""
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:56
+msgid "Why should this feed be reviewed?"
+msgstr ""
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:53
+msgid "Why should this list be reviewed?"
+msgstr ""
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:50
+msgid "Why should this post be reviewed?"
+msgstr ""
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:47
+msgid "Why should this user be reviewed?"
+msgstr ""
+
+#: src/view/com/modals/crop-image/CropImage.web.tsx:103
msgid "Wide"
msgstr "Широке"
-#: src/view/com/composer/Composer.tsx:422
+#: src/view/com/composer/Composer.tsx:436
msgid "Write post"
msgstr "Написати пост"
-#: src/view/com/composer/Composer.tsx:285
-#: src/view/com/composer/Prompt.tsx:33
+#: src/view/com/composer/Composer.tsx:295
+#: src/view/com/composer/Prompt.tsx:37
msgid "Write your reply"
msgstr "Написати відповідь"
@@ -4693,10 +5245,6 @@ msgstr "Написати відповідь"
msgid "Writers"
msgstr "Письменники"
-#: src/view/com/auth/create/Step2.tsx:263
-#~ msgid "XXXXXX"
-#~ msgstr ""
-
#: src/view/com/composer/select-language/SuggestedLanguage.tsx:77
#: src/view/screens/PreferencesFollowingFeed.tsx:129
#: src/view/screens/PreferencesFollowingFeed.tsx:201
@@ -4707,113 +5255,136 @@ msgstr "Письменники"
msgid "Yes"
msgstr "Так"
-#: src/screens/Onboarding/StepModeration/index.tsx:46
-#~ msgid "You are in control"
-#~ msgstr ""
-
#: src/screens/Deactivated.tsx:130
msgid "You are in line."
msgstr "Ви в черзі."
+#: src/view/com/profile/ProfileFollows.tsx:86
+msgid "You are not following anyone."
+msgstr ""
+
#: src/view/com/posts/FollowingEmptyState.tsx:67
#: src/view/com/posts/FollowingEndOfFeed.tsx:68
msgid "You can also discover new Custom Feeds to follow."
msgstr "Також ви можете знайти кастомні стрічки для підписання."
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:123
-#~ msgid "You can also try our \"Discover\" algorithm:"
-#~ msgstr ""
-
-#: src/screens/Onboarding/StepFollowingFeed.tsx:142
+#: src/screens/Onboarding/StepFollowingFeed.tsx:143
msgid "You can change these settings later."
msgstr "Ви можете змінити ці налаштування пізніше."
-#: src/view/com/auth/login/Login.tsx:158
-#: src/view/com/auth/login/PasswordUpdatedForm.tsx:31
+#: src/screens/Login/index.tsx:158
+#: src/screens/Login/PasswordUpdatedForm.tsx:33
msgid "You can now sign in with your new password."
msgstr "Тепер ви можете увійти за допомогою нового пароля."
-#: src/view/com/modals/InviteCodes.tsx:66
+#: src/view/com/profile/ProfileFollowers.tsx:86
+msgid "You do not have any followers."
+msgstr ""
+
+#: src/view/com/modals/InviteCodes.tsx:67
msgid "You don't have any invite codes yet! We'll send you some when you've been on Bluesky for a little longer."
msgstr "У вас ще немає кодів запрошення! З часом ми надамо вам декілька."
-#: src/view/screens/SavedFeeds.tsx:102
+#: src/view/screens/SavedFeeds.tsx:103
msgid "You don't have any pinned feeds."
msgstr "У вас немає закріплених стрічок."
-#: src/view/screens/Feeds.tsx:452
+#: src/view/screens/Feeds.tsx:477
msgid "You don't have any saved feeds!"
msgstr "У вас немає збережених стрічок!"
-#: src/view/screens/SavedFeeds.tsx:135
+#: src/view/screens/SavedFeeds.tsx:136
msgid "You don't have any saved feeds."
msgstr "У вас немає збережених стрічок."
-#: src/view/com/post-thread/PostThread.tsx:465
+#: src/view/com/post-thread/PostThread.tsx:159
msgid "You have blocked the author or you have been blocked by the author."
msgstr "Ви заблокували автора або автор заблокував вас."
-#: src/view/com/modals/ModerationDetails.tsx:56
+#: src/components/moderation/ModerationDetailsDialog.tsx:66
+#: src/lib/moderation/useModerationCauseDescription.ts:50
+#: src/lib/moderation/useModerationCauseDescription.ts:58
msgid "You have blocked this user. You cannot view their content."
msgstr "Ви заблокували цього користувача. Ви не можете бачити їх вміст."
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:57
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:92
+#: src/screens/Login/SetNewPasswordForm.tsx:54
+#: src/screens/Login/SetNewPasswordForm.tsx:91
#: src/view/com/modals/ChangePassword.tsx:87
#: src/view/com/modals/ChangePassword.tsx:121
msgid "You have entered an invalid code. It should look like XXXXX-XXXXX."
msgstr "Ви ввели неправильний код. Він має виглядати так: XXXXX-XXXXX."
-#: src/view/com/modals/ModerationDetails.tsx:87
-msgid "You have muted this user."
-msgstr "Ви включили функцію ігнорування цього користувача."
+#: src/lib/moderation/useModerationCauseDescription.ts:109
+msgid "You have hidden this post"
+msgstr ""
-#: src/view/com/feeds/ProfileFeedgens.tsx:136
+#: src/components/moderation/ModerationDetailsDialog.tsx:101
+msgid "You have hidden this post."
+msgstr ""
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:94
+#: src/lib/moderation/useModerationCauseDescription.ts:92
+msgid "You have muted this account."
+msgstr ""
+
+#: src/lib/moderation/useModerationCauseDescription.ts:86
+msgid "You have muted this user"
+msgstr ""
+
+#: src/view/com/feeds/ProfileFeedgens.tsx:144
msgid "You have no feeds."
msgstr "У вас немає стрічок."
#: src/view/com/lists/MyLists.tsx:89
-#: src/view/com/lists/ProfileLists.tsx:140
+#: src/view/com/lists/ProfileLists.tsx:148
msgid "You have no lists."
msgstr "У вас немає списків."
-#: src/view/screens/ModerationBlockedAccounts.tsx:132
-msgid "You have not blocked any accounts yet. To block an account, go to their profile and selected \"Block account\" from the menu on their account."
-msgstr "Ви ще не заблокували жодного облікового запису. Щоб заблокувати когось, перейдіть до їх профілю та виберіть опцію \"Заблокувати\" у меню їх облікового запису."
+#: src/view/screens/ModerationBlockedAccounts.tsx:138
+msgid "You have not blocked any accounts yet. To block an account, go to their profile and select \"Block account\" from the menu on their account."
+msgstr ""
-#: src/view/screens/AppPasswords.tsx:87
+#: src/view/screens/AppPasswords.tsx:89
msgid "You have not created any app passwords yet. You can create one by pressing the button below."
msgstr "Ви ще не створили жодного пароля для застосунків. Ви можете створити новий пароль, натиснувши кнопку нижче."
-#: src/view/screens/ModerationMutedAccounts.tsx:131
-msgid "You have not muted any accounts yet. To mute an account, go to their profile and selected \"Mute account\" from the menu on their account."
-msgstr "Ви ще не ігноруєте жодного облікового запису. Щоб ігнорувати когось, перейдіть до їх профілю та виберіть опцію \"Ігнорувати\" у меню їх облікового запису."
+#: src/view/screens/ModerationMutedAccounts.tsx:136
+msgid "You have not muted any accounts yet. To mute an account, go to their profile and select \"Mute account\" from the menu on their account."
+msgstr ""
-#: src/components/dialogs/MutedWords.tsx:250
+#: src/components/dialogs/MutedWords.tsx:249
msgid "You haven't muted any words or tags yet"
msgstr "У вас ще немає ігнорованих слів чи тегів"
-#: src/view/com/modals/ContentFilteringSettings.tsx:175
-msgid "You must be 18 or older to enable adult content."
-msgstr "Щоб увімкнути відображення вмісту для дорослих вам повинно бути не менше 18 років."
+#: src/components/moderation/LabelsOnMeDialog.tsx:68
+msgid "You may appeal these labels if you feel they were placed in error."
+msgstr ""
-#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:103
+#: src/screens/Signup/StepInfo/Policies.tsx:79
+msgid "You must be 13 years of age or older to sign up."
+msgstr "Вам має виповнитись 13 років для того, щоб мати змогу зареєструватись."
+
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:110
msgid "You must be 18 years or older to enable adult content"
msgstr "Ви повинні бути старше 18 років, щоб дозволити перегляд контенту для дорослих"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:147
+#: src/components/ReportDialog/SubmitView.tsx:203
+msgid "You must select at least one labeler for a report"
+msgstr ""
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:150
msgid "You will no longer receive notifications for this thread"
msgstr "Ви більше не будете отримувати сповіщення з цього обговорення"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:150
+#: src/view/com/util/forms/PostDropdownBtn.tsx:153
msgid "You will now receive notifications for this thread"
msgstr "Ви будете отримувати сповіщення з цього обговорення"
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:107
+#: src/screens/Login/SetNewPasswordForm.tsx:104
msgid "You will receive an email with a \"reset code.\" Enter that code here, then enter your new password."
msgstr "Ви отримаєте електронний лист із кодом підтвердження. Введіть цей код тут, а потім введіть новий пароль."
-#: src/screens/Onboarding/StepModeration/index.tsx:72
+#: src/screens/Onboarding/StepModeration/index.tsx:60
msgid "You're in control"
msgstr "Все під вашим контролем"
@@ -4823,19 +5394,24 @@ msgstr "Все під вашим контролем"
msgid "You're in line"
msgstr "Ви в черзі"
-#: src/screens/Onboarding/StepFinished.tsx:90
+#: src/screens/Onboarding/StepFinished.tsx:94
msgid "You're ready to go!"
msgstr "Все готово!"
+#: src/components/moderation/ModerationDetailsDialog.tsx:98
+#: src/lib/moderation/useModerationCauseDescription.ts:101
+msgid "You've chosen to hide a word or tag within this post."
+msgstr ""
+
#: src/view/com/posts/FollowingEndOfFeed.tsx:48
msgid "You've reached the end of your feed! Find some more accounts to follow."
msgstr "Ваша домашня стрічка закінчилась! Підпишіться на більше користувачів щоб отримувати більше постів."
-#: src/view/com/auth/create/Step1.tsx:67
+#: src/screens/Signup/index.tsx:151
msgid "Your account"
msgstr "Ваш акаунт"
-#: src/view/com/modals/DeleteAccount.tsx:67
+#: src/view/com/modals/DeleteAccount.tsx:68
msgid "Your account has been deleted"
msgstr "Ваш обліковий запис видалено"
@@ -4843,7 +5419,7 @@ msgstr "Ваш обліковий запис видалено"
msgid "Your account repository, containing all public data records, can be downloaded as a \"CAR\" file. This file does not include media embeds, such as images, or your private data, which must be fetched separately."
msgstr "Дані з вашого облікового запису, які містять усі загальнодоступні записи, можна завантажити як \"CAR\" файл. Цей файл не містить медіафайлів, таких як зображення, або особисті дані, які необхідно отримати окремо."
-#: src/view/com/auth/create/Step1.tsx:215
+#: src/screens/Signup/StepInfo/index.tsx:123
msgid "Your birth date"
msgstr "Ваша дата народження"
@@ -4851,20 +5427,16 @@ msgstr "Ваша дата народження"
msgid "Your choice will be saved, but can be changed later in settings."
msgstr "Ваш вибір буде запам'ятовано, ви у будь-який момент зможете змінити його в налаштуваннях."
-#: src/screens/Onboarding/StepFollowingFeed.tsx:61
+#: src/screens/Onboarding/StepFollowingFeed.tsx:62
msgid "Your default feed is \"Following\""
msgstr "Ваша стрічка за замовчуванням \"Following\""
-#: src/view/com/auth/create/state.ts:110
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:70
+#: src/screens/Login/ForgotPasswordForm.tsx:57
+#: src/screens/Signup/state.ts:227
#: src/view/com/modals/ChangePassword.tsx:54
msgid "Your email appears to be invalid."
msgstr "Не вдалося розпізнати адресу електронної пошти."
-#: src/view/com/modals/Waitlist.tsx:109
-#~ msgid "Your email has been saved! We'll be in touch soon."
-#~ msgstr ""
-
#: src/view/com/modals/ChangeEmail.tsx:125
msgid "Your email has been updated but not verified. As a next step, please verify your new email."
msgstr "Вашу адресу електронної пошти було змінено, але ще не підтверджено. Для підтвердження, будь ласка, перевірте вашу поштову скриньку за новою адресою."
@@ -4877,48 +5449,40 @@ msgstr "Ваша електронна пошта ще не підтвердже
msgid "Your following feed is empty! Follow more users to see what's happening."
msgstr "Ваша домашня стрічка порожня! Підпишіться на більше користувачів щоб отримувати більше постів."
-#: src/view/com/auth/create/Step2.tsx:83
+#: src/screens/Signup/StepHandle.tsx:73
msgid "Your full handle will be"
msgstr "Ваш повний псевдонім буде"
-#: src/view/com/modals/ChangeHandle.tsx:270
+#: src/view/com/modals/ChangeHandle.tsx:271
msgid "Your full handle will be <0>@{0}0>"
msgstr "Вашим повним псевдонімом буде <0>@{0}0>"
-#: src/view/screens/Settings.tsx:430
-#: src/view/shell/desktop/RightNav.tsx:137
-#: src/view/shell/Drawer.tsx:660
-#~ msgid "Your invite codes are hidden when logged in using an App Password"
-#~ msgstr ""
-
-#: src/components/dialogs/MutedWords.tsx:221
+#: src/components/dialogs/MutedWords.tsx:220
msgid "Your muted words"
msgstr "Ваші ігноровані слова"
-#: src/view/com/modals/ChangePassword.tsx:155
+#: src/view/com/modals/ChangePassword.tsx:157
msgid "Your password has been changed successfully!"
msgstr "Ваш пароль успішно змінено!"
-#: src/view/com/composer/Composer.tsx:274
+#: src/view/com/composer/Composer.tsx:284
msgid "Your post has been published"
msgstr "Пост опубліковано"
-#: src/screens/Onboarding/StepFinished.tsx:105
+#: src/screens/Onboarding/StepFinished.tsx:109
#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:59
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:59
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:61
msgid "Your posts, likes, and blocks are public. Mutes are private."
msgstr "Ваші повідомлення, вподобання і блоки є публічними. Ігнорування - приватні."
-#: src/view/com/modals/SwitchAccount.tsx:84
-#: src/view/screens/Settings/index.tsx:118
+#: src/view/screens/Settings/index.tsx:136
msgid "Your profile"
msgstr "Ваш профіль"
-#: src/view/com/composer/Composer.tsx:273
+#: src/view/com/composer/Composer.tsx:283
msgid "Your reply has been published"
msgstr "Відповідь опубліковано"
-#: src/view/com/auth/create/Step2.tsx:65
+#: src/screens/Signup/index.tsx:153
msgid "Your user handle"
msgstr "Ваш псевдонім"
-
diff --git a/src/locale/locales/zh-CN/messages.po b/src/locale/locales/zh-CN/messages.po
index d7fb15b036..1d0289748f 100644
--- a/src/locale/locales/zh-CN/messages.po
+++ b/src/locale/locales/zh-CN/messages.po
@@ -1,6 +1,6 @@
msgid ""
msgstr ""
-"POT-Creation-Date: 2024-02-17 21:00+0800\n"
+"POT-Creation-Date: 2024-04-06 12:55+0800\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
@@ -9,7 +9,7 @@ msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: \n"
-"Last-Translator: Mikan Harada \n"
+"Last-Translator: Frudrax Cheng \n"
"Language-Team: Frudrax Cheng, Simon Chan, U2FsdGVkX1, Mikan Harada\n"
"Plural-Forms: \n"
@@ -17,29 +17,12 @@ msgstr ""
msgid "(no email)"
msgstr "(没有邮件)"
-#: src/view/shell/desktop/RightNav.tsx:168
-#~ msgid "{0, plural, one {# invite code available} other {# invite codes available}}"
-#~ msgstr "{0, plural, one {# 条邀请码可用} other {# 条邀请码可用}}"
-
-#: src/view/com/profile/ProfileHeader.tsx:593
+#: src/components/ProfileHoverCard/index.web.tsx:323
+#: src/screens/Profile/Header/Metrics.tsx:44
msgid "{following} following"
msgstr "{following} 个正在关注"
-#: src/view/shell/desktop/RightNav.tsx:151
-#~ msgid "{invitesAvailable, plural, one {Invite codes: # available} other {Invite codes: # available}}"
-#~ msgstr "{invitesAvailable, plural, one {邀请码: # 可用} other {邀请码: # 可用}}"
-
-#: src/view/screens/Settings.tsx:435
-#: src/view/shell/Drawer.tsx:664
-#~ msgid "{invitesAvailable} invite code available"
-#~ msgstr "{invitesAvailable} 条邀请码可用"
-
-#: src/view/screens/Settings.tsx:437
-#: src/view/shell/Drawer.tsx:666
-#~ msgid "{invitesAvailable} invite codes available"
-#~ msgstr "{invitesAvailable} 条邀请码可用"
-
-#: src/view/shell/Drawer.tsx:440
+#: src/view/shell/Drawer.tsx:449
msgid "{numUnreadNotifications} unread"
msgstr "{numUnreadNotifications} 个未读"
@@ -47,15 +30,24 @@ msgstr "{numUnreadNotifications} 个未读"
msgid "<0/> members"
msgstr "<0/> 个成员"
-#: src/view/com/profile/ProfileHeader.tsx:595
+#: src/view/shell/Drawer.tsx:97
+msgid "<0>{0}0> following"
+msgstr "<0>{0}0> 个正在关注"
+
+#: src/components/ProfileHoverCard/index.web.tsx:314
+msgid "<0>{followers} 0><1>{pluralizedFollowers}1>"
+msgstr ""
+
+#: src/components/ProfileHoverCard/index.web.tsx:326
+#: src/screens/Profile/Header/Metrics.tsx:45
msgid "<0>{following} 0><1>following1>"
msgstr "<0>{following} 0><1>个正在关注1>"
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:30
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:31
msgid "<0>Choose your0><1>Recommended1><2>Feeds2>"
msgstr "<0>选择你0><1>推荐的1><2>信息流2>"
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:37
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:38
msgid "<0>Follow some0><1>Recommended1><2>Users2>"
msgstr "<0>关注一些0><1>推荐的1><2>用户2>"
@@ -63,51 +55,52 @@ msgstr "<0>关注一些0><1>推荐的1><2>用户2>"
msgid "<0>Welcome to0><1>Bluesky1>"
msgstr "<0>欢迎来到0><1>Bluesky1>"
-#: src/view/com/profile/ProfileHeader.tsx:558
+#: src/screens/Profile/Header/Handle.tsx:43
msgid "⚠Invalid Handle"
msgstr "⚠无效的用户识别符"
-#: src/view/com/util/moderation/LabelInfo.tsx:45
-msgid "A content warning has been applied to this {0}."
-msgstr "内容警告已套用到这个{0}."
-
-#: src/lib/hooks/useOTAUpdate.ts:16
-msgid "A new version of the app is available. Please update to continue using the app."
-msgstr "应用新版本已发布,请更新以继续使用。"
-
#: src/view/com/util/ViewHeader.tsx:89
-#: src/view/screens/Search/Search.tsx:647
+#: src/view/screens/Search/Search.tsx:796
msgid "Access navigation links and settings"
msgstr "访问导航链接及设置"
-#: src/view/com/home/HomeHeaderLayoutMobile.tsx:52
+#: src/view/com/home/HomeHeaderLayoutMobile.tsx:54
msgid "Access profile and other navigation links"
msgstr "访问个人资料及其他导航链接"
-#: src/view/com/modals/EditImage.tsx:299
-#: src/view/screens/Settings/index.tsx:451
+#: src/view/com/modals/EditImage.tsx:300
+#: src/view/screens/Settings/index.tsx:421
msgid "Accessibility"
msgstr "无障碍"
-#: src/view/com/auth/login/LoginForm.tsx:166
-#: src/view/screens/Settings/index.tsx:308
-#: src/view/screens/Settings/index.tsx:721
+#: src/components/moderation/LabelsOnMe.tsx:42
+msgid "account"
+msgstr "账户"
+
+#: src/screens/Login/LoginForm.tsx:144
+#: src/view/screens/Settings/index.tsx:330
+#: src/view/screens/Settings/index.tsx:707
msgid "Account"
msgstr "账户"
-#: src/view/com/profile/ProfileHeader.tsx:246
+#: src/view/com/profile/ProfileMenu.tsx:139
msgid "Account blocked"
msgstr "已屏蔽账户"
-#: src/view/com/profile/ProfileHeader.tsx:213
+#: src/view/com/profile/ProfileMenu.tsx:153
+msgid "Account followed"
+msgstr "已关注账户"
+
+#: src/view/com/profile/ProfileMenu.tsx:113
msgid "Account muted"
msgstr "已隐藏账户"
-#: src/view/com/modals/ModerationDetails.tsx:86
+#: src/components/moderation/ModerationDetailsDialog.tsx:93
+#: src/lib/moderation/useModerationCauseDescription.ts:91
msgid "Account Muted"
msgstr "已隐藏账户"
-#: src/view/com/modals/ModerationDetails.tsx:72
+#: src/components/moderation/ModerationDetailsDialog.tsx:82
msgid "Account Muted by List"
msgstr "账户已被列表隐藏"
@@ -119,19 +112,24 @@ msgstr "账户选项"
msgid "Account removed from quick access"
msgstr "已从快速访问中移除账户"
-#: src/view/com/profile/ProfileHeader.tsx:268
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:137
+#: src/view/com/profile/ProfileMenu.tsx:128
msgid "Account unblocked"
msgstr "已取消屏蔽账户"
-#: src/view/com/profile/ProfileHeader.tsx:226
+#: src/view/com/profile/ProfileMenu.tsx:166
+msgid "Account unfollowed"
+msgstr "已取消关注账户"
+
+#: src/view/com/profile/ProfileMenu.tsx:102
msgid "Account unmuted"
msgstr "已取消隐藏账户"
-#: src/components/dialogs/MutedWords.tsx:165
+#: src/components/dialogs/MutedWords.tsx:164
#: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:150
-#: src/view/com/modals/ListAddRemoveUsers.tsx:264
+#: src/view/com/modals/ListAddRemoveUsers.tsx:268
#: src/view/com/modals/UserAddRemoveLists.tsx:219
-#: src/view/screens/ProfileList.tsx:813
+#: src/view/screens/ProfileList.tsx:829
msgid "Add"
msgstr "添加"
@@ -139,62 +137,54 @@ msgstr "添加"
msgid "Add a content warning"
msgstr "新增内容警告"
-#: src/view/screens/ProfileList.tsx:803
+#: src/view/screens/ProfileList.tsx:819
msgid "Add a user to this list"
msgstr "将用户添加至列表"
-#: src/view/screens/Settings/index.tsx:383
-#: src/view/screens/Settings/index.tsx:392
+#: src/components/dialogs/SwitchAccount.tsx:55
+#: src/view/screens/Settings/index.tsx:405
+#: src/view/screens/Settings/index.tsx:414
msgid "Add account"
msgstr "添加账户"
#: src/view/com/composer/photos/Gallery.tsx:119
#: src/view/com/composer/photos/Gallery.tsx:180
-#: src/view/com/modals/AltImage.tsx:116
+#: src/view/com/modals/AltImage.tsx:117
msgid "Add alt text"
msgstr "新增替代文字"
-#: src/view/screens/AppPasswords.tsx:102
-#: src/view/screens/AppPasswords.tsx:143
-#: src/view/screens/AppPasswords.tsx:156
+#: src/view/screens/AppPasswords.tsx:104
+#: src/view/screens/AppPasswords.tsx:145
+#: src/view/screens/AppPasswords.tsx:158
msgid "Add App Password"
msgstr "新增应用专用密码"
-#: src/view/com/modals/report/InputIssueDetails.tsx:41
-#: src/view/com/modals/report/Modal.tsx:191
-msgid "Add details"
-msgstr "新增细节"
-
-#: src/view/com/modals/report/Modal.tsx:194
-msgid "Add details to report"
-msgstr "补充反馈详细内容"
-
-#: src/view/com/composer/Composer.tsx:453
+#: src/view/com/composer/Composer.tsx:467
msgid "Add link card"
msgstr "添加链接卡片"
-#: src/view/com/composer/Composer.tsx:458
+#: src/view/com/composer/Composer.tsx:472
msgid "Add link card:"
msgstr "添加链接卡片:"
-#: src/components/dialogs/MutedWords.tsx:158
+#: src/components/dialogs/MutedWords.tsx:157
msgid "Add mute word for configured settings"
msgstr "为配置的设置添加隐藏词"
-#: src/components/dialogs/MutedWords.tsx:87
+#: src/components/dialogs/MutedWords.tsx:86
msgid "Add muted words and tags"
msgstr "添加隐藏词和话题标签"
-#: src/view/com/modals/ChangeHandle.tsx:417
+#: src/view/com/modals/ChangeHandle.tsx:416
msgid "Add the following DNS record to your domain:"
msgstr "将以下 DNS 记录新增到你的域名:"
-#: src/view/com/profile/ProfileHeader.tsx:310
+#: src/view/com/profile/ProfileMenu.tsx:263
+#: src/view/com/profile/ProfileMenu.tsx:266
msgid "Add to Lists"
msgstr "添加至列表"
-#: src/view/com/feeds/FeedSourceCard.tsx:245
-#: src/view/screens/ProfileFeed.tsx:273
+#: src/view/com/feeds/FeedSourceCard.tsx:234
msgid "Add to my feeds"
msgstr "添加至自定义信息流"
@@ -207,7 +197,7 @@ msgstr "已添加"
msgid "Added to list"
msgstr "已添加至列表"
-#: src/view/com/feeds/FeedSourceCard.tsx:127
+#: src/view/com/feeds/FeedSourceCard.tsx:108
msgid "Added to my feeds"
msgstr "已添加至自定义信息流"
@@ -215,28 +205,31 @@ msgstr "已添加至自定义信息流"
msgid "Adjust the number of likes a reply must have to be shown in your feed."
msgstr "调整回复中需要具有的喜欢数才会在你的信息流中显示。"
+#: src/lib/moderation/useGlobalLabelStrings.ts:34
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:117
#: src/view/com/modals/SelfLabel.tsx:75
msgid "Adult Content"
msgstr "成人内容"
-#: src/view/com/modals/ContentFilteringSettings.tsx:141
-msgid "Adult content can only be enabled via the Web at <0/>."
-msgstr "要显示成人内容,你必须访问网页端<0/>来启用。"
+#: src/components/moderation/LabelPreference.tsx:242
+msgid "Adult content is disabled."
+msgstr "成人内容显示已被禁用"
-#: src/view/screens/Settings/index.tsx:664
+#: src/screens/Moderation/index.tsx:375
+#: src/view/screens/Settings/index.tsx:635
msgid "Advanced"
msgstr "详细设置"
-#: src/view/screens/Feeds.tsx:666
+#: src/view/screens/Feeds.tsx:691
msgid "All the feeds you've saved, right in one place."
msgstr "你保存的所有信息流都集中在一处。"
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:221
-#: src/view/com/modals/ChangePassword.tsx:168
+#: src/screens/Login/ForgotPasswordForm.tsx:178
+#: src/view/com/modals/ChangePassword.tsx:170
msgid "Already have a code?"
msgstr "已经有验证码了?"
-#: src/view/com/auth/login/ChooseAccountForm.tsx:98
+#: src/screens/Login/ChooseAccountForm.tsx:39
msgid "Already signed in as @{0}"
msgstr "已以@{0}身份登录"
@@ -244,7 +237,7 @@ msgstr "已以@{0}身份登录"
msgid "ALT"
msgstr "ALT"
-#: src/view/com/modals/EditImage.tsx:315
+#: src/view/com/modals/EditImage.tsx:316
msgid "Alt text"
msgstr "替代文字"
@@ -260,12 +253,20 @@ msgstr "一封电子邮件已发送至 {0}。请查阅邮件内容并复制验
msgid "An email has been sent to your previous address, {0}. It includes a confirmation code which you can enter below."
msgstr "一封电子邮件已发送至先前填写的邮箱 {0}。请查阅邮件内容并复制验证码至下方。"
-#: src/view/com/profile/FollowButton.tsx:30
-#: src/view/com/profile/FollowButton.tsx:40
+#: src/lib/moderation/useReportOptions.ts:26
+msgid "An issue not included in these options"
+msgstr "不在这些选项中的问题"
+
+#: src/components/hooks/useFollowMethods.ts:35
+#: src/components/hooks/useFollowMethods.ts:50
+#: src/view/com/profile/FollowButton.tsx:35
+#: src/view/com/profile/FollowButton.tsx:45
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:188
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:198
msgid "An issue occurred, please try again."
msgstr "出现问题,请重试。"
-#: src/view/com/notifications/FeedItem.tsx:237
+#: src/view/com/notifications/FeedItem.tsx:242
#: src/view/com/threadgate/WhoCanReply.tsx:178
msgid "and"
msgstr "和"
@@ -274,74 +275,69 @@ msgstr "和"
msgid "Animals"
msgstr "动物"
+#: src/lib/moderation/useReportOptions.ts:31
+msgid "Anti-Social Behavior"
+msgstr "反社会行为"
+
#: src/view/screens/LanguageSettings.tsx:95
msgid "App Language"
msgstr "应用语言"
-#: src/view/screens/AppPasswords.tsx:228
+#: src/view/screens/AppPasswords.tsx:223
msgid "App password deleted"
msgstr "应用专用密码已删除"
-#: src/view/com/modals/AddAppPasswords.tsx:134
+#: src/view/com/modals/AddAppPasswords.tsx:135
msgid "App Password names can only contain letters, numbers, spaces, dashes, and underscores."
msgstr "应用专用密码只能包含字母、数字、空格、破折号及下划线。"
-#: src/view/com/modals/AddAppPasswords.tsx:99
+#: src/view/com/modals/AddAppPasswords.tsx:100
msgid "App Password names must be at least 4 characters long."
msgstr "应用专用密码必须至少为 4 个字符。"
-#: src/view/screens/Settings/index.tsx:675
+#: src/view/screens/Settings/index.tsx:646
msgid "App password settings"
msgstr "应用专用密码设置"
-#: src/view/screens/Settings.tsx:650
-#~ msgid "App passwords"
-#~ msgstr "应用专用密码"
-
-#: src/Navigation.tsx:239
-#: src/view/screens/AppPasswords.tsx:187
-#: src/view/screens/Settings/index.tsx:684
+#: src/Navigation.tsx:251
+#: src/view/screens/AppPasswords.tsx:189
+#: src/view/screens/Settings/index.tsx:655
msgid "App Passwords"
msgstr "应用专用密码"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:337
-#: src/view/com/util/forms/PostDropdownBtn.tsx:346
-msgid "Appeal content warning"
-msgstr "申诉内容警告"
+#: src/components/moderation/LabelsOnMeDialog.tsx:133
+#: src/components/moderation/LabelsOnMeDialog.tsx:136
+msgid "Appeal"
+msgstr "申诉"
-#: src/view/com/modals/AppealLabel.tsx:65
-msgid "Appeal Content Warning"
-msgstr "申诉内容警告"
+#: src/components/moderation/LabelsOnMeDialog.tsx:201
+msgid "Appeal \"{0}\" label"
+msgstr "申诉 \"{0}\" 标记"
-#: src/view/com/util/moderation/LabelInfo.tsx:52
-msgid "Appeal this decision"
-msgstr "对此决定提出申诉"
+#: src/components/moderation/LabelsOnMeDialog.tsx:192
+msgid "Appeal submitted."
+msgstr "申诉已提交"
-#: src/view/com/util/moderation/LabelInfo.tsx:56
-msgid "Appeal this decision."
-msgstr "对此决定提出申诉。"
-
-#: src/view/screens/Settings/index.tsx:466
+#: src/view/screens/Settings/index.tsx:436
msgid "Appearance"
msgstr "外观"
-#: src/view/screens/AppPasswords.tsx:224
+#: src/view/screens/AppPasswords.tsx:265
msgid "Are you sure you want to delete the app password \"{name}\"?"
-msgstr "你确定要删除这条应用专用密码 \"{name}\"?"
+msgstr "你确定要删除这条应用专用密码 \"{name}\" 吗?"
-#: src/view/com/composer/Composer.tsx:150
+#: src/view/com/feeds/FeedSourceCard.tsx:280
+msgid "Are you sure you want to remove {0} from your feeds?"
+msgstr "你确定要从你的信息流中删除 {0} 吗?"
+
+#: src/view/com/composer/Composer.tsx:509
msgid "Are you sure you'd like to discard this draft?"
msgstr "你确定要丢弃此草稿吗?"
-#: src/components/dialogs/MutedWords.tsx:282
-#: src/view/screens/ProfileList.tsx:365
+#: src/components/dialogs/MutedWords.tsx:281
msgid "Are you sure?"
msgstr "你确定吗?"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:322
-msgid "Are you sure? This cannot be undone."
-msgstr "你确定吗?此操作无法撤销。"
-
#: src/view/com/composer/select-language/SuggestedLanguage.tsx:60
msgid "Are you writing in <0>{0}0>?"
msgstr "你是用 <0>{0}0> 编写的吗?"
@@ -354,152 +350,159 @@ msgstr "艺术"
msgid "Artistic or non-erotic nudity."
msgstr "艺术作品或非色情的裸体。"
-#: src/view/com/auth/create/CreateAccount.tsx:158
-#: src/view/com/auth/login/ChooseAccountForm.tsx:151
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:174
-#: src/view/com/auth/login/LoginForm.tsx:259
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:179
-#: src/view/com/modals/report/InputIssueDetails.tsx:46
-#: src/view/com/post-thread/PostThread.tsx:472
-#: src/view/com/post-thread/PostThread.tsx:522
-#: src/view/com/post-thread/PostThread.tsx:530
-#: src/view/com/profile/ProfileHeader.tsx:649
+#: src/screens/Signup/StepHandle.tsx:119
+msgid "At least 3 characters"
+msgstr ""
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:246
+#: src/components/moderation/LabelsOnMeDialog.tsx:247
+#: src/screens/Login/ChooseAccountForm.tsx:73
+#: src/screens/Login/ChooseAccountForm.tsx:78
+#: src/screens/Login/ForgotPasswordForm.tsx:129
+#: src/screens/Login/ForgotPasswordForm.tsx:135
+#: src/screens/Login/LoginForm.tsx:221
+#: src/screens/Login/LoginForm.tsx:227
+#: src/screens/Login/SetNewPasswordForm.tsx:160
+#: src/screens/Login/SetNewPasswordForm.tsx:166
+#: src/screens/Profile/Header/Shell.tsx:96
+#: src/screens/Signup/index.tsx:180
#: src/view/com/util/ViewHeader.tsx:87
msgid "Back"
msgstr "返回"
-#: src/view/com/post-thread/PostThread.tsx:480
-msgctxt "action"
-msgid "Back"
-msgstr "返回"
-
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:136
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:144
msgid "Based on your interest in {interestsText}"
msgstr "基于你对 {interestsText} 感兴趣"
-#: src/view/screens/Settings/index.tsx:523
+#: src/view/screens/Settings/index.tsx:493
msgid "Basics"
msgstr "基础信息"
-#: src/view/com/auth/create/Step1.tsx:227
-#: src/view/com/modals/BirthDateSettings.tsx:73
+#: src/components/dialogs/BirthDateSettings.tsx:107
msgid "Birthday"
msgstr "生日"
-#: src/view/screens/Settings/index.tsx:340
+#: src/view/screens/Settings/index.tsx:362
msgid "Birthday:"
msgstr "生日:"
-#: src/view/com/profile/ProfileHeader.tsx:239
-#: src/view/com/profile/ProfileHeader.tsx:346
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:286
+#: src/view/com/profile/ProfileMenu.tsx:361
+msgid "Block"
+msgstr "屏蔽"
+
+#: src/view/com/profile/ProfileMenu.tsx:300
+#: src/view/com/profile/ProfileMenu.tsx:307
msgid "Block Account"
msgstr "屏蔽账户"
-#: src/view/screens/ProfileList.tsx:556
+#: src/view/com/profile/ProfileMenu.tsx:344
+msgid "Block Account?"
+msgstr "屏蔽账户?"
+
+#: src/view/screens/ProfileList.tsx:532
msgid "Block accounts"
msgstr "屏蔽账户"
-#: src/view/screens/ProfileList.tsx:506
+#: src/view/screens/ProfileList.tsx:480
+#: src/view/screens/ProfileList.tsx:636
msgid "Block list"
msgstr "屏蔽列表"
-#: src/view/screens/ProfileList.tsx:316
+#: src/view/screens/ProfileList.tsx:631
msgid "Block these accounts?"
msgstr "屏蔽这些账户?"
-#: src/view/screens/ProfileList.tsx:320
-msgid "Block this List"
-msgstr "屏蔽这个列表"
-
#: src/view/com/lists/ListCard.tsx:110
-#: src/view/com/util/post-embeds/QuoteEmbed.tsx:61
+#: src/view/com/util/post-embeds/QuoteEmbed.tsx:58
msgid "Blocked"
msgstr "已屏蔽"
-#: src/view/screens/Moderation.tsx:142
+#: src/screens/Moderation/index.tsx:267
msgid "Blocked accounts"
msgstr "已屏蔽账户"
-#: src/Navigation.tsx:132
-#: src/view/screens/ModerationBlockedAccounts.tsx:107
+#: src/Navigation.tsx:134
+#: src/view/screens/ModerationBlockedAccounts.tsx:113
msgid "Blocked Accounts"
msgstr "已屏蔽账户"
-#: src/view/com/profile/ProfileHeader.tsx:241
+#: src/view/com/profile/ProfileMenu.tsx:356
msgid "Blocked accounts cannot reply in your threads, mention you, or otherwise interact with you."
msgstr "被屏蔽的账户无法在你的帖子中回复、提及你或以其他方式与你互动。"
-#: src/view/screens/ModerationBlockedAccounts.tsx:115
+#: src/view/screens/ModerationBlockedAccounts.tsx:121
msgid "Blocked accounts cannot reply in your threads, mention you, or otherwise interact with you. You will not see their content and they will be prevented from seeing yours."
msgstr "被屏蔽的账户无法在你的帖子中回复、提及你或以其他方式与你互动。你将不会看到他们所发的内容,同样他们也无法查看你的内容。"
-#: src/view/com/post-thread/PostThread.tsx:324
+#: src/view/com/post-thread/PostThread.tsx:313
msgid "Blocked post."
msgstr "已屏蔽帖子。"
-#: src/view/screens/ProfileList.tsx:318
+#: src/screens/Profile/Sections/Labels.tsx:163
+msgid "Blocking does not prevent this labeler from placing labels on your account."
+msgstr "屏蔽不能阻止这个人在你的账户上放置标记"
+
+#: src/view/screens/ProfileList.tsx:633
msgid "Blocking is public. Blocked accounts cannot reply in your threads, mention you, or otherwise interact with you."
msgstr "屏蔽是公开的。被屏蔽的账户无法在你的帖子中回复、提及你或以其他方式与你互动。"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:93
-#: src/view/com/auth/SplashScreen.web.tsx:133
+#: src/view/com/profile/ProfileMenu.tsx:353
+msgid "Blocking will not prevent labels from being applied on your account, but it will stop this account from replying in your threads or interacting with you."
+msgstr "屏蔽不会阻止标记被放置到你的账户上,但会阻止此账户在你发布的帖子中回复或与你互动。"
+
+#: src/view/com/auth/SplashScreen.web.tsx:149
msgid "Blog"
msgstr "博客"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:31
#: src/view/com/auth/server-input/index.tsx:89
-#: src/view/com/auth/server-input/index.tsx:90
+#: src/view/com/auth/server-input/index.tsx:91
msgid "Bluesky"
msgstr "Bluesky"
-#: src/view/com/auth/server-input/index.tsx:150
+#: src/view/com/auth/server-input/index.tsx:154
msgid "Bluesky is an open network where you can choose your hosting provider. Custom hosting is now available in beta for developers."
msgstr "Bluesky 是一个开放的公共网络,你可以选择自己的托管提供商。现在,自定义托管现在已经进入开发者测试阶段。"
#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:80
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:80
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:82
msgid "Bluesky is flexible."
msgstr "Bluesky 非常灵活。"
#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:69
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:69
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:71
msgid "Bluesky is open."
msgstr "Bluesky 保持开放。"
#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:56
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:56
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:58
msgid "Bluesky is public."
msgstr "Bluesky 为公众而生。"
-#: src/view/com/modals/Waitlist.tsx:70
-#~ msgid "Bluesky uses invites to build a healthier community. If you don't know anybody with an invite, you can sign up for the waitlist and we'll send one soon."
-#~ msgstr "Bluesky 使用邀请制来打造更健康的社群环境。 如果你不认识拥有邀请码的人,你可以先填写并提交候补列表,我们会尽快审核并发送邀请码。"
-
-#: src/view/screens/Moderation.tsx:245
+#: src/screens/Moderation/index.tsx:533
msgid "Bluesky will not show your profile and posts to logged-out users. Other apps may not honor this request. This does not make your account private."
msgstr "Bluesky 不会向未登录的用户显示你的个人资料和帖子。但其他应用可能不会遵照此请求,这无法确保你的账户隐私。"
-#: src/view/com/modals/ServerInput.tsx:78
-#~ msgid "Bluesky.Social"
-#~ msgstr "Bluesky.Social"
+#: src/lib/moderation/useLabelBehaviorDescription.ts:53
+msgid "Blur images"
+msgstr "模糊化图片"
+
+#: src/lib/moderation/useLabelBehaviorDescription.ts:51
+msgid "Blur images and filter from feeds"
+msgstr "模糊化图片并从信息流中过滤"
#: src/screens/Onboarding/index.tsx:33
msgid "Books"
msgstr "书籍"
-#: src/view/screens/Settings/index.tsx:859
-msgid "Build version {0} {1}"
-msgstr "构建版本号 {0} {1}"
+#: src/view/screens/Settings/index.tsx:893
+#~ msgid "Build version {0} {1}"
+#~ msgstr "构建版本号 {0} {1}"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:87
-#: src/view/com/auth/SplashScreen.web.tsx:128
+#: src/view/com/auth/SplashScreen.web.tsx:146
msgid "Business"
msgstr "商务"
-#: src/view/com/modals/ServerInput.tsx:115
-#~ msgid "Button disabled. Input custom domain to proceed."
-#~ msgstr "按钮已禁用。输入自定义域名以继续。"
-
#: src/view/com/profile/ProfileSubpageHeader.tsx:157
msgid "by —"
msgstr "来自 —"
@@ -508,94 +511,109 @@ msgstr "来自 —"
msgid "by {0}"
msgstr "来自 {0}"
+#: src/components/LabelingServiceCard/index.tsx:57
+msgid "By {0}"
+msgstr "来自 {0}"
+
#: src/view/com/profile/ProfileSubpageHeader.tsx:161
msgid "by <0/>"
msgstr "来自 <0/>"
+#: src/screens/Signup/StepInfo/Policies.tsx:74
+msgid "By creating an account you agree to the {els}."
+msgstr "创建账户即默认表明你同意我们的 {els}。"
+
#: src/view/com/profile/ProfileSubpageHeader.tsx:159
msgid "by you"
msgstr "来自你"
-#: src/view/com/composer/photos/OpenCameraBtn.tsx:60
-#: src/view/com/util/UserAvatar.tsx:224
-#: src/view/com/util/UserBanner.tsx:40
+#: src/view/com/composer/photos/OpenCameraBtn.tsx:77
msgid "Camera"
msgstr "相机"
-#: src/view/com/modals/AddAppPasswords.tsx:216
+#: src/view/com/modals/AddAppPasswords.tsx:217
msgid "Can only contain letters, numbers, spaces, dashes, and underscores. Must be at least 4 characters long, but no more than 32 characters long."
msgstr "只能包含字母、数字、空格、破折号及下划线。 长度必须至少 4 个字符,但不超过 32 个字符。"
-#: src/components/Prompt.tsx:101
-#: src/view/com/composer/Composer.tsx:307
-#: src/view/com/composer/Composer.tsx:312
+#: src/components/Menu/index.tsx:213
+#: src/components/Prompt.tsx:113
+#: src/components/Prompt.tsx:115
+#: src/components/TagMenu/index.tsx:268
+#: src/view/com/composer/Composer.tsx:317
+#: src/view/com/composer/Composer.tsx:322
#: src/view/com/modals/ChangeEmail.tsx:218
#: src/view/com/modals/ChangeEmail.tsx:220
-#: src/view/com/modals/ChangePassword.tsx:265
-#: src/view/com/modals/ChangePassword.tsx:268
-#: src/view/com/modals/CreateOrEditList.tsx:355
-#: src/view/com/modals/EditImage.tsx:323
-#: src/view/com/modals/EditProfile.tsx:249
+#: src/view/com/modals/ChangeHandle.tsx:154
+#: src/view/com/modals/ChangePassword.tsx:267
+#: src/view/com/modals/ChangePassword.tsx:270
+#: src/view/com/modals/CreateOrEditList.tsx:356
+#: src/view/com/modals/crop-image/CropImage.web.tsx:138
+#: src/view/com/modals/EditImage.tsx:324
+#: src/view/com/modals/EditProfile.tsx:250
#: src/view/com/modals/InAppBrowserConsent.tsx:78
-#: src/view/com/modals/LinkWarning.tsx:87
-#: src/view/com/modals/Repost.tsx:87
+#: src/view/com/modals/InAppBrowserConsent.tsx:80
+#: src/view/com/modals/LinkWarning.tsx:105
+#: src/view/com/modals/LinkWarning.tsx:107
+#: src/view/com/modals/Repost.tsx:88
#: src/view/com/modals/VerifyEmail.tsx:247
#: src/view/com/modals/VerifyEmail.tsx:253
-#: src/view/screens/Search/Search.tsx:716
-#: src/view/shell/desktop/Search.tsx:238
+#: src/view/screens/Search/Search.tsx:865
+#: src/view/shell/desktop/Search.tsx:239
msgid "Cancel"
msgstr "取消"
-#: src/view/com/modals/Confirm.tsx:88
-#: src/view/com/modals/Confirm.tsx:91
-#: src/view/com/modals/CreateOrEditList.tsx:360
-#: src/view/com/modals/DeleteAccount.tsx:156
-#: src/view/com/modals/DeleteAccount.tsx:234
+#: src/view/com/modals/CreateOrEditList.tsx:361
+#: src/view/com/modals/DeleteAccount.tsx:155
+#: src/view/com/modals/DeleteAccount.tsx:233
msgctxt "action"
msgid "Cancel"
msgstr "取消"
-#: src/view/com/modals/DeleteAccount.tsx:152
-#: src/view/com/modals/DeleteAccount.tsx:230
+#: src/view/com/modals/DeleteAccount.tsx:151
+#: src/view/com/modals/DeleteAccount.tsx:229
msgid "Cancel account deletion"
msgstr "取消账户删除申请"
-#: src/view/com/modals/ChangeHandle.tsx:149
+#: src/view/com/modals/ChangeHandle.tsx:150
msgid "Cancel change handle"
msgstr "取消修改用户识别符"
-#: src/view/com/modals/crop-image/CropImage.web.tsx:134
+#: src/view/com/modals/crop-image/CropImage.web.tsx:135
msgid "Cancel image crop"
msgstr "取消裁剪图片"
-#: src/view/com/modals/EditProfile.tsx:244
+#: src/view/com/modals/EditProfile.tsx:245
msgid "Cancel profile editing"
msgstr "取消编辑个人资料"
-#: src/view/com/modals/Repost.tsx:78
+#: src/view/com/modals/Repost.tsx:79
msgid "Cancel quote post"
msgstr "取消引用帖子"
#: src/view/com/modals/ListAddRemoveUsers.tsx:87
-#: src/view/shell/desktop/Search.tsx:234
+#: src/view/shell/desktop/Search.tsx:235
msgid "Cancel search"
msgstr "取消搜索"
-#: src/view/com/modals/Waitlist.tsx:136
-msgid "Cancel waitlist signup"
-msgstr "取消候补列表申请"
+#: src/view/com/modals/LinkWarning.tsx:106
+msgid "Cancels opening the linked website"
+msgstr "取消打开链接的网站"
-#: src/view/screens/Settings/index.tsx:334
+#: src/view/com/modals/VerifyEmail.tsx:152
+msgid "Change"
+msgstr "更改"
+
+#: src/view/screens/Settings/index.tsx:356
msgctxt "action"
msgid "Change"
msgstr "更改"
-#: src/view/screens/Settings/index.tsx:696
+#: src/view/screens/Settings/index.tsx:667
msgid "Change handle"
msgstr "更改用户识别符"
-#: src/view/com/modals/ChangeHandle.tsx:161
-#: src/view/screens/Settings/index.tsx:705
+#: src/view/com/modals/ChangeHandle.tsx:162
+#: src/view/screens/Settings/index.tsx:678
msgid "Change Handle"
msgstr "更改用户识别符"
@@ -603,11 +621,12 @@ msgstr "更改用户识别符"
msgid "Change my email"
msgstr "更改我的邮箱地址"
-#: src/view/screens/Settings/index.tsx:732
+#: src/view/screens/Settings/index.tsx:718
msgid "Change password"
msgstr "更改密码"
-#: src/view/screens/Settings/index.tsx:741
+#: src/view/com/modals/ChangePassword.tsx:141
+#: src/view/screens/Settings/index.tsx:729
msgid "Change Password"
msgstr "更改密码"
@@ -615,10 +634,6 @@ msgstr "更改密码"
msgid "Change post language to {0}"
msgstr "更改帖子的发布语言至 {0}"
-#: src/view/screens/Settings/index.tsx:733
-msgid "Change your Bluesky password"
-msgstr "更改你的 Bluesky 密码"
-
#: src/view/com/modals/ChangeEmail.tsx:109
msgid "Change Your Email"
msgstr "更改你的邮箱地址"
@@ -628,15 +643,15 @@ msgstr "更改你的邮箱地址"
msgid "Check my status"
msgstr "检查我的状态"
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:121
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:122
msgid "Check out some recommended feeds. Tap + to add them to your list of pinned feeds."
msgstr "查看一些推荐的信息流。点击 + 去将他们新增到你的固定信息流列表中。"
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:185
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:186
msgid "Check out some recommended users. Follow them to see similar users."
msgstr "查看一些推荐的用户。关注他们还将推荐相似的用户。"
-#: src/view/com/modals/DeleteAccount.tsx:169
+#: src/view/com/modals/DeleteAccount.tsx:168
msgid "Check your inbox for an email with the confirmation code to enter below:"
msgstr "查看发送至你电子邮箱的确认邮件,并在下方输入收到的验证码:"
@@ -644,121 +659,124 @@ msgstr "查看发送至你电子邮箱的确认邮件,并在下方输入收到
msgid "Choose \"Everybody\" or \"Nobody\""
msgstr "选择 \"所有人\" 或是 \"没有人\""
-#: src/view/screens/Settings/index.tsx:697
-msgid "Choose a new Bluesky username or create"
-msgstr "选择一个新的 Bluesky 用户名或重新创建"
-
#: src/view/com/auth/server-input/index.tsx:79
msgid "Choose Service"
msgstr "选择服务"
-#: src/screens/Onboarding/StepFinished.tsx:135
+#: src/screens/Onboarding/StepFinished.tsx:139
msgid "Choose the algorithms that power your custom feeds."
msgstr "选择支持你的自定义信息流的算法。"
#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:83
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:83
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:85
msgid "Choose the algorithms that power your experience with custom feeds."
msgstr "选择可改进你自定义信息流的算法。"
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:103
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:104
msgid "Choose your main feeds"
msgstr "选择你的主要信息流"
-#: src/view/com/auth/create/Step1.tsx:196
+#: src/screens/Signup/StepInfo/index.tsx:114
msgid "Choose your password"
msgstr "选择你的密码"
-#: src/view/screens/Settings/index.tsx:834
-#: src/view/screens/Settings/index.tsx:835
+#: src/view/screens/Settings/index.tsx:832
msgid "Clear all legacy storage data"
msgstr "清除所有旧存储数据"
-#: src/view/screens/Settings/index.tsx:837
+#: src/view/screens/Settings/index.tsx:835
msgid "Clear all legacy storage data (restart after this)"
msgstr "清除所有旧存储数据(并重启)"
-#: src/view/screens/Settings/index.tsx:846
-#: src/view/screens/Settings/index.tsx:847
+#: src/view/screens/Settings/index.tsx:844
msgid "Clear all storage data"
msgstr "清除所有数据"
-#: src/view/screens/Settings/index.tsx:849
+#: src/view/screens/Settings/index.tsx:847
msgid "Clear all storage data (restart after this)"
msgstr "清除所有数据(并重启)"
#: src/view/com/util/forms/SearchInput.tsx:88
-#: src/view/screens/Search/Search.tsx:697
+#: src/view/screens/Search/Search.tsx:846
msgid "Clear search query"
msgstr "清除搜索历史记录"
+#: src/view/screens/Settings/index.tsx:833
+msgid "Clears all legacy storage data"
+msgstr "清除所有旧版存储数据"
+
+#: src/view/screens/Settings/index.tsx:845
+msgid "Clears all storage data"
+msgstr "清除所有数据"
+
#: src/view/screens/Support.tsx:40
msgid "click here"
msgstr "点击这里"
#: src/components/TagMenu/index.web.tsx:138
msgid "Click here to open tag menu for {tag}"
-msgstr ""
+msgstr "点击这里打开 {tag} 的标签菜单"
-#: src/components/RichText.tsx:191
+#: src/components/RichText.tsx:198
msgid "Click here to open tag menu for #{tag}"
-msgstr ""
+msgstr "点击这里打开 #{tag} 的标签菜单"
#: src/screens/Onboarding/index.tsx:35
msgid "Climate"
msgstr "气象"
-#: src/view/com/modals/ChangePassword.tsx:265
-#: src/view/com/modals/ChangePassword.tsx:268
+#: src/view/com/modals/ChangePassword.tsx:267
+#: src/view/com/modals/ChangePassword.tsx:270
msgid "Close"
msgstr "关闭"
-#: src/components/Dialog/index.web.tsx:84
-#: src/components/Dialog/index.web.tsx:198
+#: src/components/Dialog/index.web.tsx:106
+#: src/components/Dialog/index.web.tsx:218
msgid "Close active dialog"
msgstr "关闭活动对话框"
-#: src/view/com/auth/login/PasswordUpdatedForm.tsx:38
+#: src/screens/Login/PasswordUpdatedForm.tsx:38
msgid "Close alert"
msgstr "关闭警告"
-#: src/view/com/util/BottomSheetCustomBackdrop.tsx:33
+#: src/view/com/util/BottomSheetCustomBackdrop.tsx:36
msgid "Close bottom drawer"
msgstr "关闭底部抽屉"
-#: src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx:26
+#: src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx:36
msgid "Close image"
msgstr "关闭图片"
-#: src/view/com/lightbox/Lightbox.web.tsx:119
+#: src/view/com/lightbox/Lightbox.web.tsx:129
msgid "Close image viewer"
msgstr "关闭图片查看器"
-#: src/view/shell/index.web.tsx:51
+#: src/view/shell/index.web.tsx:57
msgid "Close navigation footer"
msgstr "关闭导航页脚"
+#: src/components/Menu/index.tsx:207
#: src/components/TagMenu/index.tsx:262
msgid "Close this dialog"
msgstr "关闭该窗口"
-#: src/view/shell/index.web.tsx:52
+#: src/view/shell/index.web.tsx:58
msgid "Closes bottom navigation bar"
msgstr "关闭底部导航栏"
-#: src/view/com/auth/login/PasswordUpdatedForm.tsx:39
+#: src/screens/Login/PasswordUpdatedForm.tsx:39
msgid "Closes password update alert"
msgstr "关闭密码更新警告"
-#: src/view/com/composer/Composer.tsx:309
+#: src/view/com/composer/Composer.tsx:319
msgid "Closes post composer and discards post draft"
msgstr "关闭帖子编辑页并丢弃草稿"
-#: src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx:27
+#: src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx:37
msgid "Closes viewer for header image"
msgstr "关闭标题图片查看器"
-#: src/view/com/notifications/FeedItem.tsx:318
+#: src/view/com/notifications/FeedItem.tsx:323
msgid "Collapses list of users for a given notification"
msgstr "折叠给定通知的用户列表"
@@ -770,20 +788,20 @@ msgstr "喜剧"
msgid "Comics"
msgstr "漫画"
-#: src/Navigation.tsx:229
+#: src/Navigation.tsx:241
#: src/view/screens/CommunityGuidelines.tsx:32
msgid "Community Guidelines"
msgstr "社群准则"
-#: src/screens/Onboarding/StepFinished.tsx:148
+#: src/screens/Onboarding/StepFinished.tsx:152
msgid "Complete onboarding and start using your account"
msgstr "完成引导并开始使用你的账户"
-#: src/view/com/auth/create/Step3.tsx:73
+#: src/screens/Signup/index.tsx:155
msgid "Complete the challenge"
msgstr "完成验证"
-#: src/view/com/composer/Composer.tsx:424
+#: src/view/com/composer/Composer.tsx:438
msgid "Compose posts up to {MAX_GRAPHEME_LENGTH} characters in length"
msgstr "撰写帖子的长度最多为 {MAX_GRAPHEME_LENGTH} 个字符"
@@ -791,12 +809,20 @@ msgstr "撰写帖子的长度最多为 {MAX_GRAPHEME_LENGTH} 个字符"
msgid "Compose reply"
msgstr "撰写回复"
-#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:67
+#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:81
msgid "Configure content filtering setting for category: {0}"
-msgstr "配置类别的内容过滤设置:{0}"
+msgstr "为类别 {0} 配置内容过滤设置"
-#: src/components/Prompt.tsx:124
-#: src/view/com/modals/AppealLabel.tsx:98
+#: src/components/moderation/LabelPreference.tsx:81
+msgid "Configure content filtering setting for category: {name}"
+msgstr ""
+
+#: src/components/moderation/LabelPreference.tsx:244
+msgid "Configured in <0>moderation settings0>."
+msgstr "在 <0>限制设置0> 中配置。"
+
+#: src/components/Prompt.tsx:153
+#: src/components/Prompt.tsx:156
#: src/view/com/modals/SelfLabel.tsx:154
#: src/view/com/modals/VerifyEmail.tsx:231
#: src/view/com/modals/VerifyEmail.tsx:233
@@ -805,67 +831,68 @@ msgstr "配置类别的内容过滤设置:{0}"
msgid "Confirm"
msgstr "确认"
-#: src/view/com/modals/Confirm.tsx:75
-#: src/view/com/modals/Confirm.tsx:78
-msgctxt "action"
-msgid "Confirm"
-msgstr "确认"
-
#: src/view/com/modals/ChangeEmail.tsx:193
#: src/view/com/modals/ChangeEmail.tsx:195
msgid "Confirm Change"
msgstr "确认更改"
-#: src/view/com/modals/lang-settings/ConfirmLanguagesButton.tsx:34
+#: src/view/com/modals/lang-settings/ConfirmLanguagesButton.tsx:35
msgid "Confirm content language settings"
msgstr "确认内容语言设置"
-#: src/view/com/modals/DeleteAccount.tsx:220
+#: src/view/com/modals/DeleteAccount.tsx:219
msgid "Confirm delete account"
msgstr "确认删除账户"
-#: src/view/com/modals/ContentFilteringSettings.tsx:156
-msgid "Confirm your age to enable adult content."
-msgstr "确认你的年龄以启用成人内容。"
+#: src/screens/Moderation/index.tsx:301
+msgid "Confirm your age:"
+msgstr "确认你的年龄:"
+
+#: src/screens/Moderation/index.tsx:292
+msgid "Confirm your birthdate"
+msgstr "确认你的出生年月:"
#: src/view/com/modals/ChangeEmail.tsx:157
-#: src/view/com/modals/DeleteAccount.tsx:182
+#: src/view/com/modals/DeleteAccount.tsx:175
+#: src/view/com/modals/DeleteAccount.tsx:181
#: src/view/com/modals/VerifyEmail.tsx:165
msgid "Confirmation code"
msgstr "验证码"
-#: src/view/com/modals/Waitlist.tsx:120
-#~ msgid "Confirms signing up {email} to the waitlist"
-#~ msgstr "确认将 {email} 注册到候补列表"
-
-#: src/view/com/auth/create/CreateAccount.tsx:193
-#: src/view/com/auth/login/LoginForm.tsx:278
+#: src/screens/Login/LoginForm.tsx:248
msgid "Connecting..."
msgstr "连接中..."
-#: src/view/com/auth/create/CreateAccount.tsx:213
+#: src/screens/Signup/index.tsx:225
msgid "Contact support"
msgstr "联系支持"
-#: src/view/screens/Moderation.tsx:83
-msgid "Content filtering"
-msgstr "内容过滤"
+#: src/components/moderation/LabelsOnMe.tsx:42
+msgid "content"
+msgstr "内容"
-#: src/view/com/modals/ContentFilteringSettings.tsx:44
-msgid "Content Filtering"
-msgstr "内容过滤"
+#: src/lib/moderation/useGlobalLabelStrings.ts:18
+msgid "Content Blocked"
+msgstr "内容已屏蔽"
+
+#: src/screens/Moderation/index.tsx:285
+msgid "Content filters"
+msgstr "内容过滤器"
#: src/view/com/modals/lang-settings/ContentLanguagesSettings.tsx:74
#: src/view/screens/LanguageSettings.tsx:278
msgid "Content Languages"
msgstr "内容语言"
-#: src/view/com/modals/ModerationDetails.tsx:65
+#: src/components/moderation/ModerationDetailsDialog.tsx:75
+#: src/lib/moderation/useModerationCauseDescription.ts:75
msgid "Content Not Available"
msgstr "内容不可用"
-#: src/view/com/modals/ModerationDetails.tsx:33
-#: src/view/com/util/moderation/ScreenHider.tsx:78
+#: src/components/moderation/ModerationDetailsDialog.tsx:46
+#: src/components/moderation/ScreenHider.tsx:99
+#: src/lib/moderation/useGlobalLabelStrings.ts:22
+#: src/lib/moderation/useModerationCauseDescription.ts:38
msgid "Content Warning"
msgstr "内容警告"
@@ -873,28 +900,38 @@ msgstr "内容警告"
msgid "Content warnings"
msgstr "内容警告"
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:170
-#: src/screens/Onboarding/StepFollowingFeed.tsx:153
-#: src/screens/Onboarding/StepInterests/index.tsx:248
-#: src/screens/Onboarding/StepModeration/index.tsx:118
-#: src/screens/Onboarding/StepTopicalFeeds.tsx:114
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:148
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:209
+#: src/components/Menu/index.web.tsx:84
+msgid "Context menu backdrop, click to close the menu."
+msgstr "上下文菜单背景,点击关闭菜单。"
+
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:161
+#: src/screens/Onboarding/StepFollowingFeed.tsx:154
+#: src/screens/Onboarding/StepInterests/index.tsx:252
+#: src/screens/Onboarding/StepModeration/index.tsx:103
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:118
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:150
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:211
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:96
msgid "Continue"
msgstr "继续"
-#: src/screens/Onboarding/StepFollowingFeed.tsx:150
-#: src/screens/Onboarding/StepInterests/index.tsx:245
-#: src/screens/Onboarding/StepModeration/index.tsx:115
-#: src/screens/Onboarding/StepTopicalFeeds.tsx:111
+#: src/components/AccountList.tsx:108
+msgid "Continue as {0} (currently signed in)"
+msgstr ""
+
+#: src/screens/Onboarding/StepFollowingFeed.tsx:151
+#: src/screens/Onboarding/StepInterests/index.tsx:249
+#: src/screens/Onboarding/StepModeration/index.tsx:100
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:115
+#: src/screens/Signup/index.tsx:200
msgid "Continue to next step"
msgstr "继续下一步"
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:167
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:158
msgid "Continue to the next step"
msgstr "继续下一步"
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:191
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:199
msgid "Continue to the next step without following any accounts"
msgstr "继续下一步,不关注任何账户"
@@ -902,100 +939,106 @@ msgstr "继续下一步,不关注任何账户"
msgid "Cooking"
msgstr "烹饪"
-#: src/view/com/modals/AddAppPasswords.tsx:195
-#: src/view/com/modals/InviteCodes.tsx:182
+#: src/view/com/modals/AddAppPasswords.tsx:196
+#: src/view/com/modals/InviteCodes.tsx:183
msgid "Copied"
msgstr "已复制"
-#: src/view/screens/Settings/index.tsx:241
+#: src/view/screens/Settings/index.tsx:254
msgid "Copied build version to clipboard"
msgstr "已复制构建版本号至剪贴板"
-#: src/view/com/modals/AddAppPasswords.tsx:76
-#: src/view/com/modals/InviteCodes.tsx:152
-#: src/view/com/util/forms/PostDropdownBtn.tsx:161
+#: src/view/com/modals/AddAppPasswords.tsx:77
+#: src/view/com/modals/ChangeHandle.tsx:326
+#: src/view/com/modals/InviteCodes.tsx:153
+#: src/view/com/util/forms/PostDropdownBtn.tsx:164
msgid "Copied to clipboard"
msgstr "已复制至剪贴板"
-#: src/view/com/modals/AddAppPasswords.tsx:189
+#: src/components/dialogs/Embed.tsx:134
+msgid "Copied!"
+msgstr ""
+
+#: src/view/com/modals/AddAppPasswords.tsx:190
msgid "Copies app password"
msgstr "已复制应用专用密码"
-#: src/view/com/modals/AddAppPasswords.tsx:188
+#: src/view/com/modals/AddAppPasswords.tsx:189
msgid "Copy"
msgstr "复制"
-#: src/view/screens/ProfileList.tsx:418
+#: src/view/com/modals/ChangeHandle.tsx:480
+msgid "Copy {0}"
+msgstr "复制 {0}"
+
+#: src/components/dialogs/Embed.tsx:120
+#: src/components/dialogs/Embed.tsx:139
+msgid "Copy code"
+msgstr ""
+
+#: src/view/screens/ProfileList.tsx:390
msgid "Copy link to list"
msgstr "复制列表链接"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:231
-#: src/view/com/util/forms/PostDropdownBtn.tsx:237
+#: src/view/com/util/forms/PostDropdownBtn.tsx:236
+#: src/view/com/util/forms/PostDropdownBtn.tsx:245
msgid "Copy link to post"
msgstr "复制帖子链接"
-#: src/view/com/profile/ProfileHeader.tsx:295
-msgid "Copy link to profile"
-msgstr "复制个人资料链接"
-
-#: src/view/com/util/forms/PostDropdownBtn.tsx:223
-#: src/view/com/util/forms/PostDropdownBtn.tsx:225
+#: src/view/com/util/forms/PostDropdownBtn.tsx:228
+#: src/view/com/util/forms/PostDropdownBtn.tsx:230
msgid "Copy post text"
msgstr "复制帖子文字"
-#: src/Navigation.tsx:234
+#: src/Navigation.tsx:246
#: src/view/screens/CopyrightPolicy.tsx:29
msgid "Copyright Policy"
msgstr "版权许可"
-#: src/view/screens/ProfileFeed.tsx:97
+#: src/view/screens/ProfileFeed.tsx:103
msgid "Could not load feed"
msgstr "无法加载信息流"
-#: src/view/screens/ProfileList.tsx:893
+#: src/view/screens/ProfileList.tsx:909
msgid "Could not load list"
msgstr "无法加载列表"
-#: src/view/com/auth/create/Step2.tsx:91
-#~ msgid "Country"
-#~ msgstr "国家"
-
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:62
-#: src/view/com/auth/SplashScreen.tsx:71
-#: src/view/com/auth/SplashScreen.web.tsx:81
+#: src/view/com/auth/SplashScreen.tsx:57
+#: src/view/com/auth/SplashScreen.web.tsx:101
msgid "Create a new account"
msgstr "创建新的账户"
-#: src/view/screens/Settings/index.tsx:384
+#: src/view/screens/Settings/index.tsx:406
msgid "Create a new Bluesky account"
msgstr "创建新的 Bluesky 账户"
-#: src/view/com/auth/create/CreateAccount.tsx:133
+#: src/screens/Signup/index.tsx:130
msgid "Create Account"
msgstr "创建账户"
-#: src/view/com/modals/AddAppPasswords.tsx:226
+#: src/components/dialogs/Signin.tsx:86
+#: src/components/dialogs/Signin.tsx:88
+msgid "Create an account"
+msgstr ""
+
+#: src/view/com/modals/AddAppPasswords.tsx:227
msgid "Create App Password"
msgstr "创建应用专用密码"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:54
-#: src/view/com/auth/SplashScreen.tsx:68
+#: src/view/com/auth/SplashScreen.tsx:48
+#: src/view/com/auth/SplashScreen.web.tsx:92
msgid "Create new account"
msgstr "创建新的账户"
-#: src/view/screens/AppPasswords.tsx:249
+#: src/components/ReportDialog/SelectReportOptionView.tsx:94
+msgid "Create report for {0}"
+msgstr "创建 {0} 的举报"
+
+#: src/view/screens/AppPasswords.tsx:246
msgid "Created {0}"
msgstr "{0} 已创建"
-#: src/view/screens/ProfileFeed.tsx:616
-msgid "Created by <0/>"
-msgstr "由 <0/> 创建"
-
-#: src/view/screens/ProfileFeed.tsx:614
-msgid "Created by you"
-msgstr "由你创建"
-
-#: src/view/com/composer/Composer.tsx:455
+#: src/view/com/composer/Composer.tsx:469
msgid "Creates a card with a thumbnail. The card links to {url}"
msgstr "创建带有缩略图的卡片。该卡片链接到 {url}"
@@ -1003,17 +1046,17 @@ msgstr "创建带有缩略图的卡片。该卡片链接到 {url}"
msgid "Culture"
msgstr "文化"
-#: src/view/com/auth/server-input/index.tsx:95
-#: src/view/com/auth/server-input/index.tsx:96
+#: src/view/com/auth/server-input/index.tsx:97
+#: src/view/com/auth/server-input/index.tsx:99
msgid "Custom"
msgstr "自定义"
-#: src/view/com/modals/ChangeHandle.tsx:389
+#: src/view/com/modals/ChangeHandle.tsx:388
msgid "Custom domain"
msgstr "自定义域名"
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:106
-#: src/view/screens/Feeds.tsx:692
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:107
+#: src/view/screens/Feeds.tsx:717
msgid "Custom feeds built by the community bring you new experiences and help you find the content you love."
msgstr "由社群构建的自定义信息流能为你带来新的体验,并帮助你找到你喜欢的内容。"
@@ -1021,102 +1064,126 @@ msgstr "由社群构建的自定义信息流能为你带来新的体验,并帮
msgid "Customize media from external sites."
msgstr "自定义外部站点的媒体。"
-#: src/view/screens/Settings.tsx:687
-#~ msgid "Danger Zone"
-#~ msgstr "实验室"
-
-#: src/view/screens/Settings/index.tsx:485
-#: src/view/screens/Settings/index.tsx:511
+#: src/view/screens/Settings/index.tsx:455
+#: src/view/screens/Settings/index.tsx:481
msgid "Dark"
-msgstr "深黑"
+msgstr "暗色"
#: src/view/screens/Debug.tsx:63
msgid "Dark mode"
msgstr "深色模式"
-#: src/view/screens/Settings/index.tsx:498
+#: src/view/screens/Settings/index.tsx:468
msgid "Dark Theme"
msgstr "深色模式"
+#: src/screens/Signup/StepInfo/index.tsx:134
+msgid "Date of birth"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:805
+msgid "Debug Moderation"
+msgstr "调试限制"
+
#: src/view/screens/Debug.tsx:83
msgid "Debug panel"
msgstr "调试面板"
-#: src/view/screens/Settings/index.tsx:772
+#: src/view/com/util/forms/PostDropdownBtn.tsx:341
+#: src/view/screens/AppPasswords.tsx:268
+#: src/view/screens/ProfileList.tsx:615
+msgid "Delete"
+msgstr "删除"
+
+#: src/view/screens/Settings/index.tsx:760
msgid "Delete account"
-msgstr "删除账号"
+msgstr "删除账户"
-#: src/view/com/modals/DeleteAccount.tsx:87
+#: src/view/com/modals/DeleteAccount.tsx:86
msgid "Delete Account"
-msgstr "删除账号"
+msgstr "删除账户"
-#: src/view/screens/AppPasswords.tsx:222
-#: src/view/screens/AppPasswords.tsx:242
+#: src/view/screens/AppPasswords.tsx:239
msgid "Delete app password"
msgstr "删除应用专用密码"
-#: src/view/screens/ProfileList.tsx:364
-#: src/view/screens/ProfileList.tsx:445
+#: src/view/screens/AppPasswords.tsx:263
+msgid "Delete app password?"
+msgstr "删除应用专用密码?"
+
+#: src/view/screens/ProfileList.tsx:417
msgid "Delete List"
msgstr "删除列表"
-#: src/view/com/modals/DeleteAccount.tsx:223
+#: src/view/com/modals/DeleteAccount.tsx:222
msgid "Delete my account"
msgstr "删除我的账户"
-#: src/view/screens/Settings.tsx:706
-#~ msgid "Delete my account…"
-#~ msgstr "删除我的账户…"
-
-#: src/view/screens/Settings/index.tsx:784
+#: src/view/screens/Settings/index.tsx:772
msgid "Delete My Account…"
msgstr "删除我的账户…"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:317
-#: src/view/com/util/forms/PostDropdownBtn.tsx:326
+#: src/view/com/util/forms/PostDropdownBtn.tsx:322
+#: src/view/com/util/forms/PostDropdownBtn.tsx:324
msgid "Delete post"
msgstr "删除帖子"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:321
+#: src/view/screens/ProfileList.tsx:610
+msgid "Delete this list?"
+msgstr "删除这个列表?"
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:336
msgid "Delete this post?"
msgstr "删除这条帖子?"
-#: src/view/com/util/post-embeds/QuoteEmbed.tsx:70
+#: src/view/com/util/post-embeds/QuoteEmbed.tsx:67
msgid "Deleted"
msgstr "已删除"
-#: src/view/com/post-thread/PostThread.tsx:316
+#: src/view/com/post-thread/PostThread.tsx:305
msgid "Deleted post."
msgstr "已删除帖子。"
-#: src/view/com/modals/CreateOrEditList.tsx:300
-#: src/view/com/modals/CreateOrEditList.tsx:321
-#: src/view/com/modals/EditProfile.tsx:198
-#: src/view/com/modals/EditProfile.tsx:210
+#: src/view/com/modals/CreateOrEditList.tsx:301
+#: src/view/com/modals/CreateOrEditList.tsx:322
+#: src/view/com/modals/EditProfile.tsx:199
+#: src/view/com/modals/EditProfile.tsx:211
msgid "Description"
msgstr "描述"
-#: src/view/screens/Settings.tsx:760
-#~ msgid "Developer Tools"
-#~ msgstr "开发者工具"
-
#: src/view/com/composer/Composer.tsx:218
msgid "Did you want to say anything?"
msgstr "有什么想说的吗?"
-#: src/view/screens/Settings/index.tsx:504
+#: src/view/screens/Settings/index.tsx:474
msgid "Dim"
msgstr "暗淡"
-#: src/view/com/composer/Composer.tsx:151
+#: src/view/screens/Settings/index.tsx:697
+msgid "Disable haptics"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:697
+msgid "Disable vibrations"
+msgstr ""
+
+#: src/lib/moderation/useLabelBehaviorDescription.ts:32
+#: src/lib/moderation/useLabelBehaviorDescription.ts:42
+#: src/lib/moderation/useLabelBehaviorDescription.ts:68
+#: src/screens/Moderation/index.tsx:341
+msgid "Disabled"
+msgstr "关闭"
+
+#: src/view/com/composer/Composer.tsx:511
msgid "Discard"
msgstr "丢弃"
-#: src/view/com/composer/Composer.tsx:145
-msgid "Discard draft"
-msgstr "丢弃草稿"
+#: src/view/com/composer/Composer.tsx:508
+msgid "Discard draft?"
+msgstr "丢弃草稿?"
-#: src/view/screens/Moderation.tsx:226
+#: src/screens/Moderation/index.tsx:518
+#: src/screens/Moderation/index.tsx:522
msgid "Discourage apps from showing my account to logged-out users"
msgstr "阻止应用向未登录用户显示我的账户"
@@ -1125,32 +1192,58 @@ msgstr "阻止应用向未登录用户显示我的账户"
msgid "Discover new custom feeds"
msgstr "探索新的自定义信息流"
-#: src/view/screens/Feeds.tsx:473
-#~ msgid "Discover new feeds"
-#~ msgstr "探索新的信息流"
-
-#: src/view/screens/Feeds.tsx:689
+#: src/view/screens/Feeds.tsx:714
msgid "Discover New Feeds"
msgstr "探索新的信息流"
-#: src/view/com/modals/EditProfile.tsx:192
+#: src/view/com/modals/EditProfile.tsx:193
msgid "Display name"
msgstr "显示名称"
-#: src/view/com/modals/EditProfile.tsx:180
+#: src/view/com/modals/EditProfile.tsx:181
msgid "Display Name"
msgstr "显示名称"
-#: src/view/com/modals/ChangeHandle.tsx:487
+#: src/view/com/modals/ChangeHandle.tsx:397
+msgid "DNS Panel"
+msgstr "DNS 面板"
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:39
+msgid "Does not include nudity."
+msgstr "不包含裸露内容"
+
+#: src/screens/Signup/StepHandle.tsx:105
+msgid "Doesn't begin or end with a hyphen"
+msgstr ""
+
+#: src/view/com/modals/ChangeHandle.tsx:481
+msgid "Domain Value"
+msgstr "域名记录"
+
+#: src/view/com/modals/ChangeHandle.tsx:488
msgid "Domain verified!"
msgstr "域名已认证!"
-#: src/view/com/auth/create/Step1.tsx:170
-#~ msgid "Don't have an invite code?"
-#~ msgstr "没有邀请码?"
+#: src/components/dialogs/BirthDateSettings.tsx:119
+#: src/components/dialogs/BirthDateSettings.tsx:125
+#: src/components/forms/DateField/index.tsx:74
+#: src/components/forms/DateField/index.tsx:80
+#: src/view/com/auth/server-input/index.tsx:169
+#: src/view/com/auth/server-input/index.tsx:170
+#: src/view/com/modals/AddAppPasswords.tsx:227
+#: src/view/com/modals/AltImage.tsx:140
+#: src/view/com/modals/crop-image/CropImage.web.tsx:153
+#: src/view/com/modals/InviteCodes.tsx:81
+#: src/view/com/modals/InviteCodes.tsx:124
+#: src/view/com/modals/ListAddRemoveUsers.tsx:142
+#: src/view/screens/PreferencesFollowingFeed.tsx:311
+#: src/view/screens/Settings/ExportCarDialog.tsx:94
+#: src/view/screens/Settings/ExportCarDialog.tsx:96
+msgid "Done"
+msgstr "完成"
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:86
-#: src/view/com/modals/EditImage.tsx:333
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:87
+#: src/view/com/modals/EditImage.tsx:334
#: src/view/com/modals/ListAddRemoveUsers.tsx:144
#: src/view/com/modals/SelfLabel.tsx:157
#: src/view/com/modals/Threadgate.tsx:129
@@ -1162,33 +1255,13 @@ msgctxt "action"
msgid "Done"
msgstr "完成"
-#: src/view/com/auth/server-input/index.tsx:165
-#: src/view/com/auth/server-input/index.tsx:166
-#: src/view/com/modals/AddAppPasswords.tsx:226
-#: src/view/com/modals/AltImage.tsx:139
-#: src/view/com/modals/ContentFilteringSettings.tsx:88
-#: src/view/com/modals/ContentFilteringSettings.tsx:96
-#: src/view/com/modals/crop-image/CropImage.web.tsx:152
-#: src/view/com/modals/InviteCodes.tsx:80
-#: src/view/com/modals/InviteCodes.tsx:123
-#: src/view/com/modals/ListAddRemoveUsers.tsx:142
-#: src/view/screens/PreferencesFollowingFeed.tsx:311
-#: src/view/screens/Settings/ExportCarDialog.tsx:93
-#: src/view/screens/Settings/ExportCarDialog.tsx:94
-msgid "Done"
-msgstr "完成"
-
-#: src/view/com/modals/lang-settings/ConfirmLanguagesButton.tsx:42
+#: src/view/com/modals/lang-settings/ConfirmLanguagesButton.tsx:43
msgid "Done{extraText}"
msgstr "完成{extraText}"
-#: src/view/com/auth/login/ChooseAccountForm.tsx:45
-msgid "Double tap to sign in"
-msgstr "双击以登录"
-
-#: src/view/screens/Settings/index.tsx:755
-msgid "Download Bluesky account data (repository)"
-msgstr "下载你的 Bluesky 账户数据(数据库)"
+#: src/view/com/auth/login/ChooseAccountForm.tsx:46
+#~ msgid "Double tap to sign in"
+#~ msgstr "双击以登录"
#: src/view/screens/Settings/ExportCarDialog.tsx:59
#: src/view/screens/Settings/ExportCarDialog.tsx:63
@@ -1199,35 +1272,47 @@ msgstr "下载 CAR 文件"
msgid "Drop to add images"
msgstr "拖放即可新增图片"
-#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:111
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:120
msgid "Due to Apple policies, adult content can only be enabled on the web after completing sign up."
msgstr "受 Apple 政策限制,显示成人内容只能在完成注册后在网页端设置中启用。"
-#: src/view/com/modals/EditProfile.tsx:185
-msgid "e.g. Alice Roberts"
-msgstr "例如:张蓝天"
+#: src/view/com/modals/ChangeHandle.tsx:258
+msgid "e.g. alice"
+msgstr "例如:alice"
-#: src/view/com/modals/EditProfile.tsx:203
+#: src/view/com/modals/EditProfile.tsx:186
+msgid "e.g. Alice Roberts"
+msgstr "例如:爱丽丝·罗伯特"
+
+#: src/view/com/modals/ChangeHandle.tsx:380
+msgid "e.g. alice.com"
+msgstr "例如:alice.com"
+
+#: src/view/com/modals/EditProfile.tsx:204
msgid "e.g. Artist, dog-lover, and avid reader."
msgstr "例如:艺术家、爱狗人士和狂热读者。"
-#: src/view/com/modals/CreateOrEditList.tsx:283
+#: src/lib/moderation/useGlobalLabelStrings.ts:43
+msgid "E.g. artistic nudes."
+msgstr "例如:裸露艺术"
+
+#: src/view/com/modals/CreateOrEditList.tsx:284
msgid "e.g. Great Posters"
msgstr "例如:优秀的发帖者"
-#: src/view/com/modals/CreateOrEditList.tsx:284
+#: src/view/com/modals/CreateOrEditList.tsx:285
msgid "e.g. Spammers"
msgstr "例如:垃圾内容制造者"
-#: src/view/com/modals/CreateOrEditList.tsx:312
+#: src/view/com/modals/CreateOrEditList.tsx:313
msgid "e.g. The posters who never miss."
msgstr "例如:绝不容错过的发帖者。"
-#: src/view/com/modals/CreateOrEditList.tsx:313
+#: src/view/com/modals/CreateOrEditList.tsx:314
msgid "e.g. Users that repeatedly reply with ads."
msgstr "例如:散布广告内容的用户。"
-#: src/view/com/modals/InviteCodes.tsx:96
+#: src/view/com/modals/InviteCodes.tsx:97
msgid "Each code works once. You'll receive more invite codes periodically."
msgstr "每个邀请码仅可使用一次。你将不定期获得新的邀请码。"
@@ -1236,51 +1321,58 @@ msgctxt "action"
msgid "Edit"
msgstr "编辑"
+#: src/view/com/util/UserAvatar.tsx:301
+#: src/view/com/util/UserBanner.tsx:85
+msgid "Edit avatar"
+msgstr "编辑头像"
+
#: src/view/com/composer/photos/Gallery.tsx:144
-#: src/view/com/modals/EditImage.tsx:207
+#: src/view/com/modals/EditImage.tsx:208
msgid "Edit image"
msgstr "编辑图片"
-#: src/view/screens/ProfileList.tsx:433
+#: src/view/screens/ProfileList.tsx:405
msgid "Edit list details"
msgstr "编辑列表详情"
-#: src/view/com/modals/CreateOrEditList.tsx:250
+#: src/view/com/modals/CreateOrEditList.tsx:251
msgid "Edit Moderation List"
msgstr "编辑限制列表"
-#: src/Navigation.tsx:244
-#: src/view/screens/Feeds.tsx:434
-#: src/view/screens/SavedFeeds.tsx:84
+#: src/Navigation.tsx:256
+#: src/view/screens/Feeds.tsx:459
+#: src/view/screens/SavedFeeds.tsx:85
msgid "Edit My Feeds"
msgstr "编辑自定义信息流"
-#: src/view/com/modals/EditProfile.tsx:152
+#: src/view/com/modals/EditProfile.tsx:153
msgid "Edit my profile"
msgstr "编辑个人资料"
-#: src/view/com/profile/ProfileHeader.tsx:418
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:178
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:168
msgid "Edit profile"
msgstr "编辑个人资料"
-#: src/view/com/profile/ProfileHeader.tsx:423
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:181
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:171
msgid "Edit Profile"
msgstr "编辑个人资料"
-#: src/view/com/home/HomeHeaderLayout.web.tsx:62
-#: src/view/screens/Feeds.tsx:355
+#: src/view/com/home/HomeHeaderLayout.web.tsx:66
+#: src/view/screens/Feeds.tsx:380
msgid "Edit Saved Feeds"
msgstr "编辑保存的信息流"
-#: src/view/com/modals/CreateOrEditList.tsx:245
+#: src/view/com/modals/CreateOrEditList.tsx:246
msgid "Edit User List"
msgstr "编辑用户列表"
-#: src/view/com/modals/EditProfile.tsx:193
+#: src/view/com/modals/EditProfile.tsx:194
msgid "Edit your display name"
msgstr "编辑你的显示名称"
-#: src/view/com/modals/EditProfile.tsx:211
+#: src/view/com/modals/EditProfile.tsx:212
msgid "Edit your profile description"
msgstr "编辑你的账户描述"
@@ -1288,14 +1380,12 @@ msgstr "编辑你的账户描述"
msgid "Education"
msgstr "教育"
-#: src/view/com/auth/create/Step1.tsx:176
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:156
+#: src/screens/Signup/StepInfo/index.tsx:80
#: src/view/com/modals/ChangeEmail.tsx:141
msgid "Email"
msgstr "电子邮箱"
-#: src/view/com/auth/create/Step1.tsx:167
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:147
+#: src/screens/Login/ForgotPasswordForm.tsx:99
msgid "Email address"
msgstr "邮箱地址"
@@ -1312,26 +1402,49 @@ msgstr "电子邮箱已更新"
msgid "Email verified"
msgstr "电子邮箱已验证"
-#: src/view/screens/Settings/index.tsx:312
+#: src/view/screens/Settings/index.tsx:334
msgid "Email:"
msgstr "电子邮箱:"
-#: src/view/com/modals/EmbedConsent.tsx:113
+#: src/components/dialogs/Embed.tsx:112
+msgid "Embed HTML code"
+msgstr ""
+
+#: src/components/dialogs/Embed.tsx:97
+#: src/view/com/util/forms/PostDropdownBtn.tsx:253
+#: src/view/com/util/forms/PostDropdownBtn.tsx:255
+msgid "Embed post"
+msgstr ""
+
+#: src/components/dialogs/Embed.tsx:101
+msgid "Embed this post in your website. Simply copy the following snippet and paste it into the HTML code of your website."
+msgstr ""
+
+#: src/components/dialogs/EmbedConsent.tsx:101
msgid "Enable {0} only"
msgstr "仅启用 {0}"
-#: src/view/com/modals/ContentFilteringSettings.tsx:167
+#: src/screens/Moderation/index.tsx:329
+msgid "Enable adult content"
+msgstr "启用成人内容"
+
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:94
msgid "Enable Adult Content"
msgstr "启用成人内容"
-#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:76
-#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:77
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:78
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:79
msgid "Enable adult content in your feeds"
msgstr "在你的信息流中启用成人内容"
+#: src/components/dialogs/EmbedConsent.tsx:82
+#: src/components/dialogs/EmbedConsent.tsx:89
+msgid "Enable external media"
+msgstr ""
+
#: src/view/com/modals/EmbedConsent.tsx:97
-msgid "Enable External Media"
-msgstr "启用外部媒体"
+#~ msgid "Enable External Media"
+#~ msgstr "启用外部媒体"
#: src/view/screens/PreferencesExternalEmbeds.tsx:75
msgid "Enable media players for"
@@ -1341,16 +1454,28 @@ msgstr "启用媒体播放器"
msgid "Enable this setting to only see replies between people you follow."
msgstr "启用此设置以仅查看你关注的人之间的回复。"
-#: src/view/screens/Profile.tsx:455
+#: src/components/dialogs/EmbedConsent.tsx:94
+msgid "Enable this source only"
+msgstr ""
+
+#: src/screens/Moderation/index.tsx:339
+msgid "Enabled"
+msgstr "已启用"
+
+#: src/screens/Profile/Sections/Feed.tsx:100
msgid "End of feed"
msgstr "信息流的末尾"
-#: src/view/com/modals/AddAppPasswords.tsx:166
+#: src/view/com/modals/AddAppPasswords.tsx:167
msgid "Enter a name for this App Password"
msgstr "为此应用专用密码命名"
+#: src/screens/Login/SetNewPasswordForm.tsx:139
+msgid "Enter a password"
+msgstr ""
+
+#: src/components/dialogs/MutedWords.tsx:99
#: src/components/dialogs/MutedWords.tsx:100
-#: src/components/dialogs/MutedWords.tsx:101
msgid "Enter a word or tag"
msgstr "输入一个词或标签"
@@ -1358,28 +1483,24 @@ msgstr "输入一个词或标签"
msgid "Enter Confirmation Code"
msgstr "输入验证码"
-#: src/view/com/modals/ChangePassword.tsx:151
+#: src/view/com/modals/ChangePassword.tsx:153
msgid "Enter the code you received to change your password."
msgstr "输入你收到的确认码以更改密码。"
-#: src/view/com/modals/ChangeHandle.tsx:371
+#: src/view/com/modals/ChangeHandle.tsx:370
msgid "Enter the domain you want to use"
msgstr "输入你想使用的域名"
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:107
+#: src/screens/Login/ForgotPasswordForm.tsx:119
msgid "Enter the email you used to create your account. We'll send you a \"reset code\" so you can set a new password."
msgstr "输入你用于创建账户的电子邮箱。我们将向你发送用于密码重设的确认码。"
-#: src/view/com/auth/create/Step1.tsx:228
-#: src/view/com/modals/BirthDateSettings.tsx:74
+#: src/components/dialogs/BirthDateSettings.tsx:108
msgid "Enter your birth date"
msgstr "输入你的出生日期"
-#: src/view/com/modals/Waitlist.tsx:78
-#~ msgid "Enter your email"
-#~ msgstr "输入你的电子邮箱"
-
-#: src/view/com/auth/create/Step1.tsx:172
+#: src/screens/Login/ForgotPasswordForm.tsx:105
+#: src/screens/Signup/StepInfo/index.tsx:92
msgid "Enter your email address"
msgstr "输入你的电子邮箱"
@@ -1391,19 +1512,15 @@ msgstr "请在上方输入你新的电子邮箱"
msgid "Enter your new email address below."
msgstr "请在下方输入你新的电子邮箱。"
-#: src/view/com/auth/create/Step2.tsx:188
-#~ msgid "Enter your phone number"
-#~ msgstr "输入你的手机号码"
-
-#: src/view/com/auth/login/Login.tsx:99
+#: src/screens/Login/index.tsx:101
msgid "Enter your username and password"
msgstr "输入你的用户名和密码"
-#: src/view/com/auth/create/Step3.tsx:67
+#: src/screens/Signup/StepCaptcha/index.tsx:49
msgid "Error receiving captcha response."
msgstr "Captcha 响应错误"
-#: src/view/screens/Search/Search.tsx:110
+#: src/view/screens/Search/Search.tsx:115
msgid "Error:"
msgstr "错误:"
@@ -1411,127 +1528,148 @@ msgstr "错误:"
msgid "Everybody"
msgstr "所有人"
-#: src/view/com/modals/ChangeHandle.tsx:150
+#: src/lib/moderation/useReportOptions.ts:66
+msgid "Excessive mentions or replies"
+msgstr "过多的提及或回复"
+
+#: src/view/com/modals/DeleteAccount.tsx:230
+msgid "Exits account deletion process"
+msgstr "退出账户删除流程"
+
+#: src/view/com/modals/ChangeHandle.tsx:151
msgid "Exits handle change process"
msgstr "退出修改用户识别符流程"
-#: src/view/com/lightbox/Lightbox.web.tsx:120
+#: src/view/com/modals/crop-image/CropImage.web.tsx:136
+msgid "Exits image cropping process"
+msgstr "退出图片裁剪流程"
+
+#: src/view/com/lightbox/Lightbox.web.tsx:130
msgid "Exits image view"
msgstr "退出图片查看器"
#: src/view/com/modals/ListAddRemoveUsers.tsx:88
-#: src/view/shell/desktop/Search.tsx:235
+#: src/view/shell/desktop/Search.tsx:236
msgid "Exits inputting search query"
msgstr "退出搜索查询输入"
-#: src/view/com/modals/Waitlist.tsx:138
-#~ msgid "Exits signing up for waitlist with {email}"
-#~ msgstr "将 {email} 从候补列表中移除"
-
-#: src/view/com/lightbox/Lightbox.web.tsx:163
+#: src/view/com/lightbox/Lightbox.web.tsx:183
msgid "Expand alt text"
msgstr "展开替代文本"
-#: src/view/com/composer/ComposerReplyTo.tsx:81
-#: src/view/com/composer/ComposerReplyTo.tsx:84
+#: src/view/com/composer/ComposerReplyTo.tsx:82
+#: src/view/com/composer/ComposerReplyTo.tsx:85
msgid "Expand or collapse the full post you are replying to"
msgstr "展开或折叠你要回复的完整帖子"
-#: src/view/screens/Settings/index.tsx:753
+#: src/lib/moderation/useGlobalLabelStrings.ts:47
+msgid "Explicit or potentially disturbing media."
+msgstr "明确或潜在引起不适的媒体内容。"
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:35
+msgid "Explicit sexual images."
+msgstr "明确的性暗示图片。"
+
+#: src/view/screens/Settings/index.tsx:741
msgid "Export my data"
-msgstr "导出账号数据"
+msgstr "导出账户数据"
#: src/view/screens/Settings/ExportCarDialog.tsx:44
-#: src/view/screens/Settings/index.tsx:764
+#: src/view/screens/Settings/index.tsx:752
msgid "Export My Data"
-msgstr "导出账号数据"
+msgstr "导出账户数据"
-#: src/view/com/modals/EmbedConsent.tsx:64
+#: src/components/dialogs/EmbedConsent.tsx:55
+#: src/components/dialogs/EmbedConsent.tsx:59
msgid "External Media"
msgstr "外部媒体"
-#: src/view/com/modals/EmbedConsent.tsx:75
+#: src/components/dialogs/EmbedConsent.tsx:71
#: src/view/screens/PreferencesExternalEmbeds.tsx:66
msgid "External media may allow websites to collect information about you and your device. No information is sent or requested until you press the \"play\" button."
msgstr "外部媒体可能允许网站收集有关你和你设备的有关信息。在你按下\"查看\"按钮之前,将不会发送或请求任何外部信息。"
-#: src/Navigation.tsx:263
+#: src/Navigation.tsx:275
#: src/view/screens/PreferencesExternalEmbeds.tsx:52
-#: src/view/screens/Settings/index.tsx:657
+#: src/view/screens/Settings/index.tsx:628
msgid "External Media Preferences"
msgstr "外部媒体首选项"
-#: src/view/screens/Settings/index.tsx:648
+#: src/view/screens/Settings/index.tsx:619
msgid "External media settings"
msgstr "外部媒体设置"
-#: src/view/com/modals/AddAppPasswords.tsx:115
-#: src/view/com/modals/AddAppPasswords.tsx:119
+#: src/view/com/modals/AddAppPasswords.tsx:116
+#: src/view/com/modals/AddAppPasswords.tsx:120
msgid "Failed to create app password."
msgstr "创建应用专用密码失败。"
-#: src/view/com/modals/CreateOrEditList.tsx:206
+#: src/view/com/modals/CreateOrEditList.tsx:207
msgid "Failed to create the list. Check your internet connection and try again."
msgstr "无法创建列表。请检查你的互联网连接并重试。"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:128
+#: src/view/com/util/forms/PostDropdownBtn.tsx:131
msgid "Failed to delete post, please try again"
msgstr "无法删除帖子,请重试"
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:109
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:141
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:110
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:143
msgid "Failed to load recommended feeds"
msgstr "无法加载推荐信息流"
-#: src/Navigation.tsx:194
+#: src/view/com/lightbox/Lightbox.tsx:83
+msgid "Failed to save image: {0}"
+msgstr "无法保存此图片:{0}"
+
+#: src/Navigation.tsx:196
msgid "Feed"
msgstr "信息流"
-#: src/view/com/feeds/FeedSourceCard.tsx:231
+#: src/view/com/feeds/FeedSourceCard.tsx:218
msgid "Feed by {0}"
msgstr "由 {0} 创建的信息流"
-#: src/view/screens/Feeds.tsx:605
+#: src/view/screens/Feeds.tsx:630
msgid "Feed offline"
msgstr "信息流已离线"
-#: src/view/com/feeds/FeedPage.tsx:143
-#~ msgid "Feed Preferences"
-#~ msgstr "信息流首选项"
-
#: src/view/shell/desktop/RightNav.tsx:61
-#: src/view/shell/Drawer.tsx:311
+#: src/view/shell/Drawer.tsx:320
msgid "Feedback"
msgstr "反馈"
-#: src/Navigation.tsx:452
-#: src/view/screens/Feeds.tsx:419
-#: src/view/screens/Feeds.tsx:524
-#: src/view/screens/Profile.tsx:184
-#: src/view/shell/bottom-bar/BottomBar.tsx:181
-#: src/view/shell/desktop/LeftNav.tsx:342
-#: src/view/shell/Drawer.tsx:476
-#: src/view/shell/Drawer.tsx:477
+#: src/Navigation.tsx:456
+#: src/view/screens/Feeds.tsx:444
+#: src/view/screens/Feeds.tsx:549
+#: src/view/screens/Profile.tsx:199
+#: src/view/shell/bottom-bar/BottomBar.tsx:192
+#: src/view/shell/desktop/LeftNav.tsx:346
+#: src/view/shell/Drawer.tsx:485
+#: src/view/shell/Drawer.tsx:486
msgid "Feeds"
msgstr "信息流"
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:106
-#~ msgid "Feeds are created by users and organizations. They offer you varied experiences and suggest content you may like using algorithms."
-#~ msgstr "信息流由用户和组织创建,结合算法为你推荐可能喜欢的内容,可为你带来不一样的体验。"
-
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:57
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:58
msgid "Feeds are created by users to curate content. Choose some feeds that you find interesting."
msgstr "信息流由用户创建并管理。选择一些你感兴趣的信息流。"
-#: src/view/screens/SavedFeeds.tsx:156
+#: src/view/screens/SavedFeeds.tsx:157
msgid "Feeds are custom algorithms that users build with a little coding expertise. <0/> for more information."
msgstr "创建信息流要求一些编程基础。查看 <0/> 以获取详情。"
-#: src/screens/Onboarding/StepTopicalFeeds.tsx:76
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:80
msgid "Feeds can be topical as well!"
msgstr "信息流也可以围绕某些话题!"
-#: src/screens/Onboarding/StepFinished.tsx:151
+#: src/view/com/modals/ChangeHandle.tsx:481
+msgid "File Contents"
+msgstr "文件内容"
+
+#: src/lib/moderation/useLabelBehaviorDescription.ts:66
+msgid "Filter from feeds"
+msgstr "从信息流中过滤"
+
+#: src/screens/Onboarding/StepFinished.tsx:155
msgid "Finalizing"
msgstr "最终确定"
@@ -1541,15 +1679,15 @@ msgstr "最终确定"
msgid "Find accounts to follow"
msgstr "寻找一些账户关注"
-#: src/view/screens/Search/Search.tsx:440
+#: src/view/screens/Search/Search.tsx:589
msgid "Find users on Bluesky"
msgstr "寻找一些正在使用 Bluesky 的用户"
-#: src/view/screens/Search/Search.tsx:438
+#: src/view/screens/Search/Search.tsx:587
msgid "Find users with the search tool on the right"
msgstr "使用右侧的搜索工具来查找用户"
-#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:150
+#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:155
msgid "Finding similar accounts..."
msgstr "正在寻找类似的账户..."
@@ -1557,10 +1695,6 @@ msgstr "正在寻找类似的账户..."
msgid "Fine-tune the content you see on your Following feed."
msgstr "调整你在关注信息流上所看到的内容。"
-#: src/view/screens/PreferencesHomeFeed.tsx:111
-#~ msgid "Fine-tune the content you see on your home screen."
-#~ msgstr "调整你在主页上所看到的内容。"
-
#: src/view/screens/PreferencesThreads.tsx:60
msgid "Fine-tune the discussion threads."
msgstr "调整讨论主题。"
@@ -1569,49 +1703,60 @@ msgstr "调整讨论主题。"
msgid "Fitness"
msgstr "健康"
-#: src/screens/Onboarding/StepFinished.tsx:131
+#: src/screens/Onboarding/StepFinished.tsx:135
msgid "Flexible"
msgstr "灵活"
-#: src/view/com/modals/EditImage.tsx:115
+#: src/view/com/modals/EditImage.tsx:116
msgid "Flip horizontal"
msgstr "水平翻转"
-#: src/view/com/modals/EditImage.tsx:120
-#: src/view/com/modals/EditImage.tsx:287
+#: src/view/com/modals/EditImage.tsx:121
+#: src/view/com/modals/EditImage.tsx:288
msgid "Flip vertically"
msgstr "垂直翻转"
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:181
-#: src/view/com/post-thread/PostThreadFollowBtn.tsx:136
-#: src/view/com/profile/ProfileHeader.tsx:513
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:189
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:235
+#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:141
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:146
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:248
msgid "Follow"
msgstr "关注"
-#: src/view/com/profile/FollowButton.tsx:64
+#: src/view/com/profile/FollowButton.tsx:69
msgctxt "action"
msgid "Follow"
msgstr "关注"
#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:58
-#: src/view/com/post-thread/PostThreadFollowBtn.tsx:122
-#: src/view/com/profile/ProfileHeader.tsx:504
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:221
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:128
msgid "Follow {0}"
msgstr "关注 {0}"
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:179
+#: src/view/com/profile/ProfileMenu.tsx:242
+#: src/view/com/profile/ProfileMenu.tsx:253
+msgid "Follow Account"
+msgstr "关注账户"
+
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:187
msgid "Follow All"
msgstr "关注所有"
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:174
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:144
+msgid "Follow Back"
+msgstr ""
+
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:182
msgid "Follow selected accounts and continue to the next step"
msgstr "关注选择的用户并继续下一步"
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:64
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:65
msgid "Follow some users to get started. We can recommend you more users based on who you find interesting."
msgstr "关注一些用户以开始,我们可以根据你感兴趣的用户向你推荐更多类似用户。"
-#: src/view/com/profile/ProfileCard.tsx:194
+#: src/view/com/profile/ProfileCard.tsx:219
msgid "Followed by {0}"
msgstr "由 {0} 关注"
@@ -1623,37 +1768,43 @@ msgstr "已关注的用户"
msgid "Followed users only"
msgstr "仅限已关注的用户"
-#: src/view/com/notifications/FeedItem.tsx:166
+#: src/view/com/notifications/FeedItem.tsx:172
msgid "followed you"
msgstr "关注了你"
+#: src/view/com/profile/ProfileFollowers.tsx:104
#: src/view/screens/ProfileFollowers.tsx:25
msgid "Followers"
msgstr "关注者"
-#: src/view/com/post-thread/PostThreadFollowBtn.tsx:136
-#: src/view/com/profile/ProfileHeader.tsx:495
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:233
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:149
+#: src/view/com/profile/ProfileFollows.tsx:104
#: src/view/screens/ProfileFollows.tsx:25
msgid "Following"
msgstr "正在关注"
-#: src/view/com/profile/ProfileHeader.tsx:149
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:93
msgid "Following {0}"
msgstr "正在关注 {0}"
-#: src/Navigation.tsx:250
-#: src/view/com/home/HomeHeaderLayout.web.tsx:50
-#: src/view/com/home/HomeHeaderLayoutMobile.tsx:84
+#: src/view/screens/Settings/index.tsx:504
+msgid "Following feed preferences"
+msgstr "关注信息流首选项"
+
+#: src/Navigation.tsx:262
+#: src/view/com/home/HomeHeaderLayout.web.tsx:54
+#: src/view/com/home/HomeHeaderLayoutMobile.tsx:87
#: src/view/screens/PreferencesFollowingFeed.tsx:104
-#: src/view/screens/Settings/index.tsx:543
+#: src/view/screens/Settings/index.tsx:513
msgid "Following Feed Preferences"
msgstr "关注信息流首选项"
-#: src/view/com/profile/ProfileHeader.tsx:546
+#: src/screens/Profile/Header/Handle.tsx:24
msgid "Follows you"
msgstr "关注了你"
-#: src/view/com/profile/ProfileCard.tsx:141
+#: src/view/com/profile/ProfileCard.tsx:144
msgid "Follows You"
msgstr "关注了你"
@@ -1661,33 +1812,45 @@ msgstr "关注了你"
msgid "Food"
msgstr "食物"
-#: src/view/com/modals/DeleteAccount.tsx:111
+#: src/view/com/modals/DeleteAccount.tsx:110
msgid "For security reasons, we'll need to send a confirmation code to your email address."
msgstr "出于安全原因,我们需要向你的电子邮箱发送验证码。"
-#: src/view/com/modals/AddAppPasswords.tsx:209
+#: src/view/com/modals/AddAppPasswords.tsx:210
msgid "For security reasons, you won't be able to view this again. If you lose this password, you'll need to generate a new one."
msgstr "出于安全原因,你将无法再次查看此内容。如果你丢失了该密码,则需要生成一个新的密码。"
+#: src/view/com/auth/login/LoginForm.tsx:244
+#~ msgid "Forgot"
+#~ msgstr "忘记"
+
#: src/view/com/auth/login/LoginForm.tsx:241
-msgid "Forgot"
-msgstr "忘记"
+#~ msgid "Forgot password"
+#~ msgstr "忘记密码"
-#: src/view/com/auth/login/LoginForm.tsx:238
-msgid "Forgot password"
-msgstr "忘记密码"
-
-#: src/view/com/auth/login/Login.tsx:127
-#: src/view/com/auth/login/Login.tsx:143
+#: src/screens/Login/index.tsx:129
+#: src/screens/Login/index.tsx:144
msgid "Forgot Password"
msgstr "忘记密码"
-#: src/screens/Hashtag.tsx:108
-#: src/screens/Hashtag.tsx:148
+#: src/screens/Login/LoginForm.tsx:201
+msgid "Forgot password?"
+msgstr ""
+
+#: src/screens/Login/LoginForm.tsx:212
+msgid "Forgot?"
+msgstr ""
+
+#: src/lib/moderation/useReportOptions.ts:52
+msgid "Frequently Posts Unwanted Content"
+msgstr "频繁发布不受欢迎的内容"
+
+#: src/screens/Hashtag.tsx:109
+#: src/screens/Hashtag.tsx:149
msgid "From @{sanitizedAuthor}"
msgstr "来自 @{sanitizedAuthor}"
-#: src/view/com/posts/FeedItem.tsx:189
+#: src/view/com/posts/FeedItem.tsx:181
msgctxt "from-feed"
msgid "From <0/>"
msgstr "来自 <0/>"
@@ -1701,114 +1864,137 @@ msgstr "相册"
msgid "Get Started"
msgstr "开始"
-#: src/view/com/auth/LoggedOut.tsx:81
+#: src/lib/moderation/useReportOptions.ts:37
+msgid "Glaring violations of law or terms of service"
+msgstr "明显违反法律或服务条款"
+
+#: src/components/moderation/ScreenHider.tsx:151
+#: src/components/moderation/ScreenHider.tsx:160
#: src/view/com/auth/LoggedOut.tsx:82
-#: src/view/com/util/moderation/ScreenHider.tsx:123
-#: src/view/shell/desktop/LeftNav.tsx:104
+#: src/view/com/auth/LoggedOut.tsx:83
+#: src/view/screens/NotFound.tsx:55
+#: src/view/screens/ProfileFeed.tsx:112
+#: src/view/screens/ProfileList.tsx:918
+#: src/view/shell/desktop/LeftNav.tsx:108
msgid "Go back"
msgstr "返回"
-#: src/view/screens/ProfileFeed.tsx:106
-#: src/view/screens/ProfileFeed.tsx:111
-#: src/view/screens/ProfileList.tsx:902
-#: src/view/screens/ProfileList.tsx:907
+#: src/components/Error.tsx:91
+#: src/screens/Profile/ErrorState.tsx:62
+#: src/screens/Profile/ErrorState.tsx:66
+#: src/view/screens/NotFound.tsx:54
+#: src/view/screens/ProfileFeed.tsx:117
+#: src/view/screens/ProfileList.tsx:923
msgid "Go Back"
msgstr "返回"
-#: src/screens/Onboarding/Layout.tsx:104
-#: src/screens/Onboarding/Layout.tsx:193
+#: src/components/ReportDialog/SelectReportOptionView.tsx:73
+#: src/components/ReportDialog/SubmitView.tsx:102
+#: src/screens/Onboarding/Layout.tsx:102
+#: src/screens/Onboarding/Layout.tsx:191
+#: src/screens/Signup/index.tsx:174
msgid "Go back to previous step"
msgstr "返回上一步"
-#: src/view/screens/Search/Search.tsx:747
-#: src/view/shell/desktop/Search.tsx:262
+#: src/view/screens/NotFound.tsx:55
+msgid "Go home"
+msgstr "返回主页"
+
+#: src/view/screens/NotFound.tsx:54
+msgid "Go Home"
+msgstr "返回主页"
+
+#: src/view/screens/Search/Search.tsx:896
+#: src/view/shell/desktop/Search.tsx:263
msgid "Go to @{queryMaybeHandle}"
msgstr "前往 @{queryMaybeHandle}"
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:189
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:218
-#: src/view/com/auth/login/LoginForm.tsx:288
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:195
-#: src/view/com/modals/ChangePassword.tsx:165
+#: src/screens/Login/ForgotPasswordForm.tsx:172
+#: src/view/com/modals/ChangePassword.tsx:167
msgid "Go to next"
msgstr "前往下一步"
-#: src/view/com/modals/ChangeHandle.tsx:265
+#: src/lib/moderation/useGlobalLabelStrings.ts:46
+msgid "Graphic Media"
+msgstr "图形媒体"
+
+#: src/view/com/modals/ChangeHandle.tsx:266
msgid "Handle"
msgstr "用户识别符"
-#: src/Navigation.tsx:270
+#: src/lib/moderation/useReportOptions.ts:32
+msgid "Harassment, trolling, or intolerance"
+msgstr "骚扰、恶作剧或其他无法容忍的行为"
+
+#: src/Navigation.tsx:282
msgid "Hashtag"
msgstr "话题标签"
-#: src/components/RichText.tsx:188
-#~ msgid "Hashtag: {tag}"
-#~ msgstr "话题标签:{tag}"
-
-#: src/components/RichText.tsx:190
+#: src/components/RichText.tsx:197
msgid "Hashtag: #{tag}"
msgstr "话题标签:#{tag}"
-#: src/view/com/auth/create/CreateAccount.tsx:208
+#: src/screens/Signup/index.tsx:221
msgid "Having trouble?"
msgstr "任何疑问?"
#: src/view/shell/desktop/RightNav.tsx:90
-#: src/view/shell/Drawer.tsx:321
+#: src/view/shell/Drawer.tsx:330
msgid "Help"
msgstr "帮助"
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:132
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:140
msgid "Here are some accounts for you to follow"
msgstr "这里有一些推荐关注的用户"
-#: src/screens/Onboarding/StepTopicalFeeds.tsx:85
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:89
msgid "Here are some popular topical feeds. You can choose to follow as many as you like."
msgstr "这里有一些流行的信息流供你挑选。"
-#: src/screens/Onboarding/StepTopicalFeeds.tsx:80
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:84
msgid "Here are some topical feeds based on your interests: {interestsText}. You can choose to follow as many as you like."
msgstr "这里有一些基于你兴趣所推荐的信息流供你挑选:{interestsText}。关注的信息流数量没有限制。"
-#: src/view/com/modals/AddAppPasswords.tsx:153
+#: src/view/com/modals/AddAppPasswords.tsx:154
msgid "Here is your app password."
msgstr "这里是你的应用专用密码。"
-#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:41
-#: src/view/com/modals/ContentFilteringSettings.tsx:251
-#: src/view/com/util/moderation/ContentHider.tsx:105
-#: src/view/com/util/moderation/PostHider.tsx:108
+#: src/components/moderation/ContentHider.tsx:115
+#: src/components/moderation/LabelPreference.tsx:134
+#: src/components/moderation/PostHider.tsx:107
+#: src/lib/moderation/useLabelBehaviorDescription.ts:15
+#: src/lib/moderation/useLabelBehaviorDescription.ts:20
+#: src/lib/moderation/useLabelBehaviorDescription.ts:25
+#: src/lib/moderation/useLabelBehaviorDescription.ts:30
+#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:52
+#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:76
+#: src/view/com/util/forms/PostDropdownBtn.tsx:350
msgid "Hide"
msgstr "隐藏"
-#: src/view/com/modals/ContentFilteringSettings.tsx:224
-#: src/view/com/notifications/FeedItem.tsx:326
+#: src/view/com/notifications/FeedItem.tsx:331
msgctxt "action"
msgid "Hide"
msgstr "隐藏"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:276
-#: src/view/com/util/forms/PostDropdownBtn.tsx:287
+#: src/view/com/util/forms/PostDropdownBtn.tsx:294
+#: src/view/com/util/forms/PostDropdownBtn.tsx:296
msgid "Hide post"
msgstr "隐藏帖子"
-#: src/view/com/util/moderation/ContentHider.tsx:67
-#: src/view/com/util/moderation/PostHider.tsx:61
+#: src/components/moderation/ContentHider.tsx:67
+#: src/components/moderation/PostHider.tsx:64
msgid "Hide the content"
msgstr "隐藏内容"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:280
+#: src/view/com/util/forms/PostDropdownBtn.tsx:347
msgid "Hide this post?"
msgstr "隐藏这条帖子?"
-#: src/view/com/notifications/FeedItem.tsx:316
+#: src/view/com/notifications/FeedItem.tsx:321
msgid "Hide user list"
msgstr "隐藏用户列表"
-#: src/view/com/profile/ProfileHeader.tsx:487
-msgid "Hides posts from {0} in your feed"
-msgstr "在你的信息流中隐藏来自 {0} 的帖子"
-
#: src/view/com/posts/FeedErrorMessage.tsx:111
msgid "Hmm, some kind of issue occurred when contacting the feed server. Please let the feed owner know about this issue."
msgstr "连接信息流服务器出现问题,请联系信息流的维护者反馈此问题。"
@@ -1827,25 +2013,32 @@ msgstr "信息流服务器返回错误的响应,请联系信息流的维护者
#: src/view/com/posts/FeedErrorMessage.tsx:96
msgid "Hmm, we're having trouble finding this feed. It may have been deleted."
-msgstr "我们无法找到该信息流,似乎已被删除。"
+msgstr "无法找到该信息流,似乎已被删除。"
-#: src/Navigation.tsx:442
-#: src/view/shell/bottom-bar/BottomBar.tsx:137
-#: src/view/shell/desktop/LeftNav.tsx:306
-#: src/view/shell/Drawer.tsx:398
-#: src/view/shell/Drawer.tsx:399
+#: src/screens/Moderation/index.tsx:59
+msgid "Hmmmm, it seems we're having trouble loading this data. See below for more details. If this issue persists, please contact us."
+msgstr "看起来在加载数据时遇到了问题,请查看下方获取更多详情。如果问题仍然存在,请联系我们。"
+
+#: src/screens/Profile/ErrorState.tsx:31
+msgid "Hmmmm, we couldn't load that moderation service."
+msgstr "无法加载该限制提供服务。"
+
+#: src/Navigation.tsx:446
+#: src/view/shell/bottom-bar/BottomBar.tsx:148
+#: src/view/shell/desktop/LeftNav.tsx:310
+#: src/view/shell/Drawer.tsx:407
+#: src/view/shell/Drawer.tsx:408
msgid "Home"
msgstr "主页"
-#: src/Navigation.tsx:247
-#: src/view/com/pager/FeedsTabBarMobile.tsx:123
-#: src/view/screens/PreferencesHomeFeed.tsx:104
-#: src/view/screens/Settings/index.tsx:543
-#~ msgid "Home Feed Preferences"
-#~ msgstr "主页信息流首选项"
+#: src/view/com/modals/ChangeHandle.tsx:420
+msgid "Host:"
+msgstr "主机:"
-#: src/view/com/auth/create/Step1.tsx:75
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:120
+#: src/screens/Login/ForgotPasswordForm.tsx:89
+#: src/screens/Login/LoginForm.tsx:134
+#: src/screens/Signup/StepInfo/index.tsx:40
+#: src/view/com/modals/ChangeHandle.tsx:281
msgid "Hosting provider"
msgstr "托管服务提供商"
@@ -1861,11 +2054,11 @@ msgstr "我有验证码"
msgid "I have a confirmation code"
msgstr "我有验证码"
-#: src/view/com/modals/ChangeHandle.tsx:283
+#: src/view/com/modals/ChangeHandle.tsx:284
msgid "I have my own domain"
msgstr "我拥有自己的域名"
-#: src/view/com/lightbox/Lightbox.web.tsx:165
+#: src/view/com/lightbox/Lightbox.web.tsx:185
msgid "If alt text is long, toggles alt text expanded state"
msgstr "若替代文本过长,则切换替代文本的展开状态"
@@ -1873,190 +2066,210 @@ msgstr "若替代文本过长,则切换替代文本的展开状态"
msgid "If none are selected, suitable for all ages."
msgstr "若不勾选,则默认为全年龄向。"
-#: src/view/com/modals/ChangePassword.tsx:146
+#: src/screens/Signup/StepInfo/Policies.tsx:83
+msgid "If you are not yet an adult according to the laws of your country, your parent or legal guardian must read these Terms on your behalf."
+msgstr "如果你根据你所在国家的法律定义还不是成年人,则你的父母或法定监护人必须代表你阅读这些条款。"
+
+#: src/view/screens/ProfileList.tsx:612
+msgid "If you delete this list, you won't be able to recover it."
+msgstr "如果你删除此列表,将无法恢复"
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:338
+msgid "If you remove this post, you won't be able to recover it."
+msgstr "如果你移除此列表,将无法恢复"
+
+#: src/view/com/modals/ChangePassword.tsx:148
msgid "If you want to change your password, we will send you a code to verify that this is your account."
msgstr "如果你想要更改密码,我们将向你发送一个验证码以验证这是你的账户。"
+#: src/lib/moderation/useReportOptions.ts:36
+msgid "Illegal and Urgent"
+msgstr "违法"
+
#: src/view/com/util/images/Gallery.tsx:38
msgid "Image"
msgstr "图片"
-#: src/view/com/modals/AltImage.tsx:120
+#: src/view/com/modals/AltImage.tsx:121
msgid "Image alt text"
msgstr "图片替代文本"
-#: src/view/com/util/UserAvatar.tsx:311
-#: src/view/com/util/UserBanner.tsx:118
-msgid "Image options"
-msgstr "图片选项"
+#: src/lib/moderation/useReportOptions.ts:47
+msgid "Impersonation or false claims about identity or affiliation"
+msgstr "冒充或虚假身份及从属关系"
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:138
+#: src/screens/Login/SetNewPasswordForm.tsx:127
msgid "Input code sent to your email for password reset"
msgstr "输入发送到你电子邮箱的验证码以重置密码"
-#: src/view/com/modals/DeleteAccount.tsx:184
+#: src/view/com/modals/DeleteAccount.tsx:183
msgid "Input confirmation code for account deletion"
msgstr "输入删除用户的验证码"
#: src/view/com/auth/create/Step1.tsx:177
-msgid "Input email for Bluesky account"
-msgstr "输入 Bluesky 账户的电子邮箱"
+#~ msgid "Input email for Bluesky account"
+#~ msgstr "输入 Bluesky 账户的电子邮箱"
#: src/view/com/auth/create/Step1.tsx:151
-msgid "Input invite code to proceed"
-msgstr "输入邀请码以继续"
+#~ msgid "Input invite code to proceed"
+#~ msgstr "输入邀请码以继续"
-#: src/view/com/modals/AddAppPasswords.tsx:180
+#: src/view/com/modals/AddAppPasswords.tsx:181
msgid "Input name for app password"
msgstr "输入应用专用密码名称"
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:162
+#: src/screens/Login/SetNewPasswordForm.tsx:151
msgid "Input new password"
msgstr "输入新的密码"
-#: src/view/com/modals/DeleteAccount.tsx:203
+#: src/view/com/modals/DeleteAccount.tsx:202
msgid "Input password for account deletion"
msgstr "输入密码以删除账户"
-#: src/view/com/auth/create/Step2.tsx:196
-#~ msgid "Input phone number for SMS verification"
-#~ msgstr "输入手机号码进行短信验证"
-
-#: src/view/com/auth/login/LoginForm.tsx:230
+#: src/screens/Login/LoginForm.tsx:195
msgid "Input the password tied to {identifier}"
msgstr "输入与 {identifier} 关联的密码"
-#: src/view/com/auth/login/LoginForm.tsx:197
+#: src/screens/Login/LoginForm.tsx:168
msgid "Input the username or email address you used at signup"
msgstr "输入注册时使用的用户名或电子邮箱"
-#: src/view/com/auth/create/Step2.tsx:271
-#~ msgid "Input the verification code we have texted to you"
-#~ msgstr "输入我们发送到你手机的短信验证码"
-
-#: src/view/com/modals/Waitlist.tsx:90
-#~ msgid "Input your email to get on the Bluesky waitlist"
-#~ msgstr "输入你的电子邮箱以加入 Bluesky 候补列表"
-
-#: src/view/com/auth/login/LoginForm.tsx:229
+#: src/screens/Login/LoginForm.tsx:194
msgid "Input your password"
msgstr "输入你的密码"
-#: src/view/com/auth/create/Step2.tsx:80
+#: src/view/com/modals/ChangeHandle.tsx:389
+msgid "Input your preferred hosting provider"
+msgstr "输入你首选的托管服务提供商"
+
+#: src/screens/Signup/StepHandle.tsx:63
msgid "Input your user handle"
msgstr "输入你的用户识别符"
-#: src/view/com/post-thread/PostThreadItem.tsx:226
+#: src/view/com/post-thread/PostThreadItem.tsx:221
msgid "Invalid or unsupported post record"
msgstr "帖子记录无效或不受支持"
-#: src/view/com/auth/login/LoginForm.tsx:113
+#: src/screens/Login/LoginForm.tsx:114
msgid "Invalid username or password"
msgstr "用户名或密码无效"
-#: src/view/screens/Settings.tsx:411
-#~ msgid "Invite"
-#~ msgstr "邀请"
-
-#: src/view/com/modals/InviteCodes.tsx:93
+#: src/view/com/modals/InviteCodes.tsx:94
msgid "Invite a Friend"
msgstr "邀请朋友"
-#: src/view/com/auth/create/Step1.tsx:141
-#: src/view/com/auth/create/Step1.tsx:150
+#: src/screens/Signup/StepInfo/index.tsx:58
msgid "Invite code"
msgstr "邀请码"
-#: src/view/com/auth/create/state.ts:158
+#: src/screens/Signup/state.ts:278
msgid "Invite code not accepted. Check that you input it correctly and try again."
msgstr "邀请码无效,请检查你输入的邀请码并重试。"
-#: src/view/com/modals/InviteCodes.tsx:170
+#: src/view/com/modals/InviteCodes.tsx:171
msgid "Invite codes: {0} available"
msgstr "邀请码:{0} 个可用"
-#: src/view/shell/Drawer.tsx:645
-#~ msgid "Invite codes: {invitesAvailable} available"
-#~ msgstr "邀请码:{invitesAvailable} 可用"
-
-#: src/view/com/modals/InviteCodes.tsx:169
+#: src/view/com/modals/InviteCodes.tsx:170
msgid "Invite codes: 1 available"
msgstr "邀请码:1 个可用"
-#: src/screens/Onboarding/StepFollowingFeed.tsx:64
+#: src/screens/Onboarding/StepFollowingFeed.tsx:65
msgid "It shows posts from the people you follow as they happen."
msgstr "他会显示你所关注的人发布的帖子。"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:99
-#: src/view/com/auth/SplashScreen.web.tsx:138
+#: src/view/com/auth/SplashScreen.web.tsx:152
msgid "Jobs"
msgstr "工作"
-#: src/view/com/modals/Waitlist.tsx:67
-#~ msgid "Join the waitlist"
-#~ msgstr "加入候补列表"
-
-#: src/view/com/auth/create/Step1.tsx:174
-#: src/view/com/auth/create/Step1.tsx:178
-#~ msgid "Join the waitlist."
-#~ msgstr "加入候补列表。"
-
-#: src/view/com/modals/Waitlist.tsx:128
-#~ msgid "Join Waitlist"
-#~ msgstr "加入候补列表"
-
#: src/screens/Onboarding/index.tsx:24
msgid "Journalism"
msgstr "新闻学"
+#: src/components/moderation/LabelsOnMe.tsx:59
+msgid "label has been placed on this {labelTarget}"
+msgstr "标记已放置在 {labelTarget} 上"
+
+#: src/components/moderation/ContentHider.tsx:144
+msgid "Labeled by {0}."
+msgstr "由 {0} 标记。"
+
+#: src/components/moderation/ContentHider.tsx:142
+msgid "Labeled by the author."
+msgstr "由作者标记。"
+
+#: src/view/screens/Profile.tsx:193
+msgid "Labels"
+msgstr "标记"
+
+#: src/screens/Profile/Sections/Labels.tsx:153
+msgid "Labels are annotations on users and content. They can be used to hide, warn, and categorize the network."
+msgstr "标记是对特定内容及用户的提示。可以针对特定内容默认隐藏内容、显示警告或直接显示。"
+
+#: src/components/moderation/LabelsOnMe.tsx:61
+msgid "labels have been placed on this {labelTarget}"
+msgstr "标记已放置在 {labelTarget} 上"
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:62
+msgid "Labels on your account"
+msgstr "你账户上的标记"
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:64
+msgid "Labels on your content"
+msgstr "你内容上的标记"
+
#: src/view/com/composer/select-language/SelectLangBtn.tsx:104
msgid "Language selection"
msgstr "选择语言"
-#: src/view/screens/Settings/index.tsx:594
+#: src/view/screens/Settings/index.tsx:565
msgid "Language settings"
msgstr "语言设置"
-#: src/Navigation.tsx:142
+#: src/Navigation.tsx:144
#: src/view/screens/LanguageSettings.tsx:89
msgid "Language Settings"
msgstr "语言设置"
-#: src/view/screens/Settings/index.tsx:603
+#: src/view/screens/Settings/index.tsx:574
msgid "Languages"
msgstr "语言"
#: src/view/com/auth/create/StepHeader.tsx:20
-msgid "Last step!"
-msgstr "最后一步!"
+#~ msgid "Last step!"
+#~ msgstr "最后一步!"
-#: src/view/com/util/moderation/ContentHider.tsx:103
-msgid "Learn more"
-msgstr "了解详情"
+#: src/view/screens/Search/Search.tsx:437
+msgid "Latest"
+msgstr ""
-#: src/view/com/util/moderation/PostAlerts.tsx:47
-#: src/view/com/util/moderation/ProfileHeaderAlerts.tsx:65
-#: src/view/com/util/moderation/ScreenHider.tsx:104
+#: src/components/moderation/ScreenHider.tsx:136
msgid "Learn More"
msgstr "了解详情"
-#: src/view/com/util/moderation/ContentHider.tsx:85
-#: src/view/com/util/moderation/PostAlerts.tsx:40
-#: src/view/com/util/moderation/PostHider.tsx:78
-#: src/view/com/util/moderation/ProfileHeaderAlerts.tsx:49
-#: src/view/com/util/moderation/ScreenHider.tsx:101
-msgid "Learn more about this warning"
-msgstr "了解关于这个警告的更多详情"
+#: src/components/moderation/ContentHider.tsx:65
+#: src/components/moderation/ContentHider.tsx:128
+msgid "Learn more about the moderation applied to this content."
+msgstr "了解有关应用于此内容的限制的更多详情。"
-#: src/view/screens/Moderation.tsx:262
+#: src/components/moderation/PostHider.tsx:85
+#: src/components/moderation/ScreenHider.tsx:125
+msgid "Learn more about this warning"
+msgstr "了解有关这个警告的更多详情"
+
+#: src/screens/Moderation/index.tsx:549
msgid "Learn more about what is public on Bluesky."
msgstr "了解有关 Bluesky 公开内容的更多详情。"
+#: src/components/moderation/ContentHider.tsx:152
+msgid "Learn more."
+msgstr "了解详情。"
+
#: src/view/com/modals/lang-settings/ContentLanguagesSettings.tsx:82
msgid "Leave them all unchecked to see any language."
msgstr "全部留空以查看所有语言的帖子。"
-#: src/view/com/modals/LinkWarning.tsx:51
+#: src/view/com/modals/LinkWarning.tsx:65
msgid "Leaving Bluesky"
msgstr "离开 Bluesky"
@@ -2064,138 +2277,135 @@ msgstr "离开 Bluesky"
msgid "left to go."
msgstr "尚未完成。"
-#: src/view/screens/Settings/index.tsx:278
+#: src/view/screens/Settings/index.tsx:299
msgid "Legacy storage cleared, you need to restart the app now."
msgstr "旧存储数据已清除,你需要立即重新启动应用。"
-#: src/view/com/auth/login/Login.tsx:128
-#: src/view/com/auth/login/Login.tsx:144
+#: src/screens/Login/index.tsx:130
+#: src/screens/Login/index.tsx:145
msgid "Let's get your password reset!"
msgstr "让我们来重置你的密码!"
-#: src/screens/Onboarding/StepFinished.tsx:151
+#: src/screens/Onboarding/StepFinished.tsx:155
msgid "Let's go!"
msgstr "让我们开始!"
-#: src/view/com/util/UserAvatar.tsx:248
-#: src/view/com/util/UserBanner.tsx:62
-msgid "Library"
-msgstr "图书馆"
-
-#: src/view/screens/Settings/index.tsx:479
+#: src/view/screens/Settings/index.tsx:449
msgid "Light"
msgstr "亮色"
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:182
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:197
msgid "Like"
msgstr "喜欢"
-#: src/view/screens/ProfileFeed.tsx:591
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:264
+#: src/view/screens/ProfileFeed.tsx:585
msgid "Like this feed"
msgstr "喜欢这个信息流"
-#: src/Navigation.tsx:199
+#: src/components/LikesDialog.tsx:87
+#: src/Navigation.tsx:201
+#: src/Navigation.tsx:206
msgid "Liked by"
msgstr "喜欢"
+#: src/screens/Profile/ProfileLabelerLikedBy.tsx:29
#: src/view/screens/PostLikedBy.tsx:27
#: src/view/screens/ProfileFeedLikedBy.tsx:27
msgid "Liked By"
msgstr "喜欢"
-#: src/view/com/feeds/FeedSourceCard.tsx:279
+#: src/view/com/feeds/FeedSourceCard.tsx:268
msgid "Liked by {0} {1}"
msgstr "{0} 个 {1} 喜欢"
-#: src/view/screens/ProfileFeed.tsx:606
+#: src/components/LabelingServiceCard/index.tsx:72
+msgid "Liked by {count} {0}"
+msgstr "被 {count} {0} 喜欢"
+
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:284
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:298
+#: src/view/screens/ProfileFeed.tsx:600
msgid "Liked by {likeCount} {0}"
msgstr "{likeCount} 个 {0} 喜欢"
-#: src/view/com/notifications/FeedItem.tsx:170
+#: src/view/com/notifications/FeedItem.tsx:176
msgid "liked your custom feed"
msgstr "赞了你的自定义信息流"
-#: src/view/com/notifications/FeedItem.tsx:155
+#: src/view/com/notifications/FeedItem.tsx:161
msgid "liked your post"
msgstr "赞了你的帖子"
-#: src/view/screens/Profile.tsx:183
+#: src/view/screens/Profile.tsx:198
msgid "Likes"
msgstr "喜欢"
-#: src/view/com/post-thread/PostThreadItem.tsx:183
+#: src/view/com/post-thread/PostThreadItem.tsx:182
msgid "Likes on this post"
msgstr "这条帖子的喜欢数"
-#: src/Navigation.tsx:168
+#: src/Navigation.tsx:170
msgid "List"
msgstr "列表"
-#: src/view/com/modals/CreateOrEditList.tsx:261
+#: src/view/com/modals/CreateOrEditList.tsx:262
msgid "List Avatar"
msgstr "列表头像"
-#: src/view/screens/ProfileList.tsx:324
+#: src/view/screens/ProfileList.tsx:313
msgid "List blocked"
msgstr "列表已屏蔽"
-#: src/view/com/feeds/FeedSourceCard.tsx:233
+#: src/view/com/feeds/FeedSourceCard.tsx:220
msgid "List by {0}"
msgstr "列表由 {0} 创建"
-#: src/view/screens/ProfileList.tsx:378
+#: src/view/screens/ProfileList.tsx:357
msgid "List deleted"
msgstr "列表已删除"
-#: src/view/screens/ProfileList.tsx:283
+#: src/view/screens/ProfileList.tsx:285
msgid "List muted"
msgstr "列表已隐藏"
-#: src/view/com/modals/CreateOrEditList.tsx:275
+#: src/view/com/modals/CreateOrEditList.tsx:276
msgid "List Name"
msgstr "列表名称"
-#: src/view/screens/ProfileList.tsx:343
+#: src/view/screens/ProfileList.tsx:327
msgid "List unblocked"
msgstr "解除对列表的屏蔽"
-#: src/view/screens/ProfileList.tsx:302
+#: src/view/screens/ProfileList.tsx:299
msgid "List unmuted"
msgstr "解除对列表的隐藏"
-#: src/Navigation.tsx:112
-#: src/view/screens/Profile.tsx:185
-#: src/view/shell/desktop/LeftNav.tsx:379
-#: src/view/shell/Drawer.tsx:492
-#: src/view/shell/Drawer.tsx:493
+#: src/Navigation.tsx:114
+#: src/view/screens/Profile.tsx:194
+#: src/view/screens/Profile.tsx:200
+#: src/view/shell/desktop/LeftNav.tsx:383
+#: src/view/shell/Drawer.tsx:501
+#: src/view/shell/Drawer.tsx:502
msgid "Lists"
msgstr "列表"
-#: src/view/com/post-thread/PostThread.tsx:333
-#: src/view/com/post-thread/PostThread.tsx:341
-msgid "Load more posts"
-msgstr "加载更多帖子"
-
#: src/view/screens/Notifications.tsx:159
msgid "Load new notifications"
msgstr "加载新的通知"
-#: src/view/com/feeds/FeedPage.tsx:115
-#: src/view/screens/Profile.tsx:440
-#: src/view/screens/ProfileFeed.tsx:495
-#: src/view/screens/ProfileList.tsx:681
+#: src/screens/Profile/Sections/Feed.tsx:86
+#: src/view/com/feeds/FeedPage.tsx:138
+#: src/view/screens/ProfileFeed.tsx:507
+#: src/view/screens/ProfileList.tsx:697
msgid "Load new posts"
msgstr "加载新的帖子"
-#: src/view/com/composer/text-input/mobile/Autocomplete.tsx:95
+#: src/view/com/composer/text-input/mobile/Autocomplete.tsx:99
msgid "Loading..."
msgstr "加载中..."
-#: src/view/com/modals/ServerInput.tsx:50
-#~ msgid "Local dev server"
-#~ msgstr "本地开发服务器"
-
-#: src/Navigation.tsx:209
+#: src/Navigation.tsx:221
msgid "Log"
msgstr "日志"
@@ -2206,31 +2416,35 @@ msgstr "日志"
msgid "Log out"
msgstr "登出"
-#: src/view/screens/Moderation.tsx:155
+#: src/screens/Moderation/index.tsx:442
msgid "Logged-out visibility"
msgstr "未登录用户可见性"
-#: src/view/com/auth/login/ChooseAccountForm.tsx:133
+#: src/components/AccountList.tsx:54
msgid "Login to account that is not listed"
msgstr "登录未列出的账户"
-#: src/view/com/modals/LinkWarning.tsx:65
+#: src/screens/Login/SetNewPasswordForm.tsx:116
+msgid "Looks like XXXXX-XXXXX"
+msgstr ""
+
+#: src/view/com/modals/LinkWarning.tsx:79
msgid "Make sure this is where you intend to go!"
msgstr "请确认目标页面地址是否正确!"
-#: src/components/dialogs/MutedWords.tsx:83
+#: src/components/dialogs/MutedWords.tsx:82
msgid "Manage your muted words and tags"
msgstr "管理你的隐藏词和话题标签"
#: src/view/com/auth/create/Step2.tsx:118
-msgid "May not be longer than 253 characters"
-msgstr "不能长于 253 个字符"
+#~ msgid "May not be longer than 253 characters"
+#~ msgstr "不能长于 253 个字符"
#: src/view/com/auth/create/Step2.tsx:109
-msgid "May only contain letters and numbers"
-msgstr "只能包含字母和数字"
+#~ msgid "May only contain letters and numbers"
+#~ msgstr "只能包含字母和数字"
-#: src/view/screens/Profile.tsx:182
+#: src/view/screens/Profile.tsx:197
msgid "Media"
msgstr "媒体"
@@ -2243,84 +2457,99 @@ msgid "Mentioned users"
msgstr "提到的用户"
#: src/view/com/util/ViewHeader.tsx:87
-#: src/view/screens/Search/Search.tsx:646
+#: src/view/screens/Search/Search.tsx:795
msgid "Menu"
msgstr "菜单"
-#: src/view/com/posts/FeedErrorMessage.tsx:197
+#: src/view/com/posts/FeedErrorMessage.tsx:192
msgid "Message from server: {0}"
msgstr "来自服务器的信息:{0}"
-#: src/Navigation.tsx:117
-#: src/view/screens/Moderation.tsx:66
-#: src/view/screens/Settings/index.tsx:625
-#: src/view/shell/desktop/LeftNav.tsx:397
-#: src/view/shell/Drawer.tsx:511
-#: src/view/shell/Drawer.tsx:512
+#: src/lib/moderation/useReportOptions.ts:45
+msgid "Misleading Account"
+msgstr "误导性账户"
+
+#: src/Navigation.tsx:119
+#: src/screens/Moderation/index.tsx:104
+#: src/view/screens/Settings/index.tsx:596
+#: src/view/shell/desktop/LeftNav.tsx:401
+#: src/view/shell/Drawer.tsx:520
+#: src/view/shell/Drawer.tsx:521
msgid "Moderation"
msgstr "限制"
+#: src/components/moderation/ModerationDetailsDialog.tsx:112
+msgid "Moderation details"
+msgstr "限制详情"
+
#: src/view/com/lists/ListCard.tsx:93
#: src/view/com/modals/UserAddRemoveLists.tsx:206
msgid "Moderation list by {0}"
msgstr "由 {0} 创建的限制列表"
-#: src/view/screens/ProfileList.tsx:775
+#: src/view/screens/ProfileList.tsx:791
msgid "Moderation list by <0/>"
msgstr "由 0> 创建的限制列表"
#: src/view/com/lists/ListCard.tsx:91
#: src/view/com/modals/UserAddRemoveLists.tsx:204
-#: src/view/screens/ProfileList.tsx:773
+#: src/view/screens/ProfileList.tsx:789
msgid "Moderation list by you"
msgstr "你创建的限制列表"
-#: src/view/com/modals/CreateOrEditList.tsx:197
+#: src/view/com/modals/CreateOrEditList.tsx:198
msgid "Moderation list created"
msgstr "限制列表已创建"
-#: src/view/com/modals/CreateOrEditList.tsx:183
+#: src/view/com/modals/CreateOrEditList.tsx:184
msgid "Moderation list updated"
msgstr "限制列表已更新"
-#: src/view/screens/Moderation.tsx:114
+#: src/screens/Moderation/index.tsx:243
msgid "Moderation lists"
msgstr "限制列表"
-#: src/Navigation.tsx:122
+#: src/Navigation.tsx:124
#: src/view/screens/ModerationModlists.tsx:58
msgid "Moderation Lists"
msgstr "限制列表"
-#: src/view/screens/Settings/index.tsx:619
+#: src/view/screens/Settings/index.tsx:590
msgid "Moderation settings"
msgstr "限制设置"
-#: src/view/com/modals/ModerationDetails.tsx:35
+#: src/Navigation.tsx:216
+msgid "Moderation states"
+msgstr "限制状态"
+
+#: src/screens/Moderation/index.tsx:215
+msgid "Moderation tools"
+msgstr "限制工具"
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:48
+#: src/lib/moderation/useModerationCauseDescription.ts:40
msgid "Moderator has chosen to set a general warning on the content."
-msgstr "限制选择对内容设置一般警告。"
+msgstr "由限制者对内容设置的一般警告。"
+
+#: src/view/com/post-thread/PostThreadItem.tsx:535
+msgid "More"
+msgstr "更多"
#: src/view/shell/desktop/Feeds.tsx:65
msgid "More feeds"
msgstr "更多信息流"
-#: src/view/com/profile/ProfileHeader.tsx:523
-#: src/view/screens/ProfileFeed.tsx:363
-#: src/view/screens/ProfileList.tsx:617
+#: src/view/screens/ProfileList.tsx:601
msgid "More options"
msgstr "更多选项"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:315
-#~ msgid "More post options"
-#~ msgstr "更多帖子选项"
-
#: src/view/screens/PreferencesThreads.tsx:82
msgid "Most-liked replies first"
msgstr "优先显示最多喜欢"
#: src/view/com/auth/create/Step2.tsx:122
-msgid "Must be at least 3 characters"
-msgstr "需要至少 3 个字符"
+#~ msgid "Must be at least 3 characters"
+#~ msgstr "需要至少 3 个字符"
#: src/components/TagMenu/index.tsx:249
msgid "Mute"
@@ -2330,11 +2559,12 @@ msgstr "隐藏"
msgid "Mute {truncatedTag}"
msgstr "隐藏 {truncatedTag}"
-#: src/view/com/profile/ProfileHeader.tsx:327
+#: src/view/com/profile/ProfileMenu.tsx:279
+#: src/view/com/profile/ProfileMenu.tsx:286
msgid "Mute Account"
msgstr "隐藏账户"
-#: src/view/screens/ProfileList.tsx:544
+#: src/view/screens/ProfileList.tsx:520
msgid "Mute accounts"
msgstr "隐藏账户"
@@ -2342,45 +2572,38 @@ msgstr "隐藏账户"
msgid "Mute all {displayTag} posts"
msgstr "隐藏所有 {displayTag} 的帖子"
-#: src/components/TagMenu/index.tsx:211
-#~ msgid "Mute all {tag} posts"
-#~ msgstr "隐藏所有 {tag} 的帖子"
-
-#: src/components/dialogs/MutedWords.tsx:149
+#: src/components/dialogs/MutedWords.tsx:148
msgid "Mute in tags only"
msgstr "仅隐藏话题标签"
-#: src/components/dialogs/MutedWords.tsx:134
+#: src/components/dialogs/MutedWords.tsx:133
msgid "Mute in text & tags"
msgstr "隐藏文本和话题标签"
-#: src/view/screens/ProfileList.tsx:491
+#: src/view/screens/ProfileList.tsx:463
+#: src/view/screens/ProfileList.tsx:626
msgid "Mute list"
msgstr "隐藏列表"
-#: src/view/screens/ProfileList.tsx:275
+#: src/view/screens/ProfileList.tsx:621
msgid "Mute these accounts?"
msgstr "隐藏这些账户?"
-#: src/view/screens/ProfileList.tsx:279
-msgid "Mute this List"
-msgstr "隐藏这个列表"
-
-#: src/components/dialogs/MutedWords.tsx:127
+#: src/components/dialogs/MutedWords.tsx:126
msgid "Mute this word in post text and tags"
msgstr "在帖子文本和话题标签中隐藏该词"
-#: src/components/dialogs/MutedWords.tsx:142
+#: src/components/dialogs/MutedWords.tsx:141
msgid "Mute this word in tags only"
msgstr "仅在话题标签中隐藏该词"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:251
-#: src/view/com/util/forms/PostDropdownBtn.tsx:257
+#: src/view/com/util/forms/PostDropdownBtn.tsx:269
+#: src/view/com/util/forms/PostDropdownBtn.tsx:275
msgid "Mute thread"
msgstr "隐藏讨论串"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:267
-#: src/view/com/util/forms/PostDropdownBtn.tsx:269
+#: src/view/com/util/forms/PostDropdownBtn.tsx:285
+#: src/view/com/util/forms/PostDropdownBtn.tsx:287
msgid "Mute words & tags"
msgstr "隐藏词和话题标签"
@@ -2388,32 +2611,37 @@ msgstr "隐藏词和话题标签"
msgid "Muted"
msgstr "已隐藏"
-#: src/view/screens/Moderation.tsx:128
+#: src/screens/Moderation/index.tsx:255
msgid "Muted accounts"
msgstr "已隐藏账户"
-#: src/Navigation.tsx:127
-#: src/view/screens/ModerationMutedAccounts.tsx:107
+#: src/Navigation.tsx:129
+#: src/view/screens/ModerationMutedAccounts.tsx:112
msgid "Muted Accounts"
msgstr "已隐藏账户"
-#: src/view/screens/ModerationMutedAccounts.tsx:115
+#: src/view/screens/ModerationMutedAccounts.tsx:120
msgid "Muted accounts have their posts removed from your feed and from your notifications. Mutes are completely private."
msgstr "已隐藏的账户将不会在你的通知或时间线中显示,被隐藏账户将不会收到通知。"
-#: src/view/screens/Moderation.tsx:100
+#: src/lib/moderation/useModerationCauseDescription.ts:85
+msgid "Muted by \"{0}\""
+msgstr "被 \"{0}\" 隐藏"
+
+#: src/screens/Moderation/index.tsx:231
msgid "Muted words & tags"
msgstr "已隐藏词和话题标签"
-#: src/view/screens/ProfileList.tsx:277
+#: src/view/screens/ProfileList.tsx:623
msgid "Muting is private. Muted accounts can interact with you, but you will not see their posts or receive notifications from them."
msgstr "被隐藏的账户将不会得知你已将他隐藏,已隐藏的账户将不会在你的通知或时间线中显示。"
-#: src/view/com/modals/BirthDateSettings.tsx:56
+#: src/components/dialogs/BirthDateSettings.tsx:35
+#: src/components/dialogs/BirthDateSettings.tsx:38
msgid "My Birthday"
msgstr "我的生日"
-#: src/view/screens/Feeds.tsx:663
+#: src/view/screens/Feeds.tsx:688
msgid "My Feeds"
msgstr "自定义信息流"
@@ -2421,32 +2649,36 @@ msgstr "自定义信息流"
msgid "My Profile"
msgstr "我的个人资料"
-#: src/view/screens/Settings/index.tsx:582
+#: src/view/screens/Settings/index.tsx:547
+msgid "My saved feeds"
+msgstr "我保存的信息流"
+
+#: src/view/screens/Settings/index.tsx:553
msgid "My Saved Feeds"
msgstr "我保存的信息流"
-#: src/view/com/auth/server-input/index.tsx:118
-msgid "my-server.com"
-msgstr "my-server.com"
-
-#: src/view/com/modals/AddAppPasswords.tsx:179
-#: src/view/com/modals/CreateOrEditList.tsx:290
+#: src/view/com/modals/AddAppPasswords.tsx:180
+#: src/view/com/modals/CreateOrEditList.tsx:291
msgid "Name"
msgstr "名称"
-#: src/view/com/modals/CreateOrEditList.tsx:145
+#: src/view/com/modals/CreateOrEditList.tsx:146
msgid "Name is required"
msgstr "名称是必填项"
+#: src/lib/moderation/useReportOptions.ts:57
+#: src/lib/moderation/useReportOptions.ts:78
+#: src/lib/moderation/useReportOptions.ts:86
+msgid "Name or Description Violates Community Standards"
+msgstr "名称或描述违反了社群准则"
+
#: src/screens/Onboarding/index.tsx:25
msgid "Nature"
msgstr "自然"
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:190
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:219
-#: src/view/com/auth/login/LoginForm.tsx:289
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:196
-#: src/view/com/modals/ChangePassword.tsx:166
+#: src/screens/Login/ForgotPasswordForm.tsx:173
+#: src/screens/Login/LoginForm.tsx:255
+#: src/view/com/modals/ChangePassword.tsx:168
msgid "Navigates to the next screen"
msgstr "转到下一页"
@@ -2454,23 +2686,27 @@ msgstr "转到下一页"
msgid "Navigates to your profile"
msgstr "转到个人资料"
+#: src/components/ReportDialog/SelectReportOptionView.tsx:123
+msgid "Need to report a copyright violation?"
+msgstr "需要举报侵犯版权行为吗?"
+
#: src/view/com/modals/EmbedConsent.tsx:107
#: src/view/com/modals/EmbedConsent.tsx:123
-msgid "Never load embeds from {0}"
-msgstr "请勿加载来自 {0} 的嵌入内容"
+#~ msgid "Never load embeds from {0}"
+#~ msgstr "请勿加载来自 {0} 的嵌入内容"
#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:72
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:72
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:74
msgid "Never lose access to your followers and data."
msgstr "永远不会失去对你的关注者和数据的访问。"
-#: src/screens/Onboarding/StepFinished.tsx:119
+#: src/screens/Onboarding/StepFinished.tsx:123
msgid "Never lose access to your followers or data."
msgstr "永远不会失去对你的关注者或数据的访问。"
-#: src/components/dialogs/MutedWords.tsx:293
-msgid "Nevermind"
-msgstr "放弃"
+#: src/view/com/modals/ChangeHandle.tsx:519
+msgid "Nevermind, create a handle for me"
+msgstr "没关系,为我创建一个用户识别符"
#: src/view/screens/Lists.tsx:76
msgctxt "action"
@@ -2481,39 +2717,39 @@ msgstr "新建"
msgid "New"
msgstr "新建"
-#: src/view/com/modals/CreateOrEditList.tsx:252
+#: src/view/com/modals/CreateOrEditList.tsx:253
msgid "New Moderation List"
msgstr "新的限制列表"
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:150
+#: src/view/com/modals/ChangePassword.tsx:212
msgid "New password"
msgstr "新密码"
-#: src/view/com/modals/ChangePassword.tsx:215
+#: src/view/com/modals/ChangePassword.tsx:217
msgid "New Password"
msgstr "新密码"
-#: src/view/com/feeds/FeedPage.tsx:126
+#: src/view/com/feeds/FeedPage.tsx:149
msgctxt "action"
msgid "New post"
msgstr "新帖子"
-#: src/view/screens/Feeds.tsx:555
+#: src/view/screens/Feeds.tsx:580
#: src/view/screens/Notifications.tsx:168
-#: src/view/screens/Profile.tsx:382
-#: src/view/screens/ProfileFeed.tsx:433
-#: src/view/screens/ProfileList.tsx:196
-#: src/view/screens/ProfileList.tsx:224
-#: src/view/shell/desktop/LeftNav.tsx:248
+#: src/view/screens/Profile.tsx:480
+#: src/view/screens/ProfileFeed.tsx:445
+#: src/view/screens/ProfileList.tsx:200
+#: src/view/screens/ProfileList.tsx:228
+#: src/view/shell/desktop/LeftNav.tsx:252
msgid "New post"
msgstr "新帖子"
-#: src/view/shell/desktop/LeftNav.tsx:258
+#: src/view/shell/desktop/LeftNav.tsx:262
msgctxt "action"
msgid "New Post"
msgstr "新帖子"
-#: src/view/com/modals/CreateOrEditList.tsx:247
+#: src/view/com/modals/CreateOrEditList.tsx:248
msgid "New User List"
msgstr "新的用户列表"
@@ -2525,15 +2761,16 @@ msgstr "优先显示最新回复"
msgid "News"
msgstr "新闻"
-#: src/view/com/auth/create/CreateAccount.tsx:172
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:182
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:192
-#: src/view/com/auth/login/LoginForm.tsx:291
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:187
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:198
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:79
-#: src/view/com/modals/ChangePassword.tsx:251
+#: src/screens/Login/ForgotPasswordForm.tsx:143
+#: src/screens/Login/ForgotPasswordForm.tsx:150
+#: src/screens/Login/LoginForm.tsx:254
+#: src/screens/Login/LoginForm.tsx:261
+#: src/screens/Login/SetNewPasswordForm.tsx:174
+#: src/screens/Login/SetNewPasswordForm.tsx:180
+#: src/screens/Signup/index.tsx:207
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:80
#: src/view/com/modals/ChangePassword.tsx:253
+#: src/view/com/modals/ChangePassword.tsx:255
msgid "Next"
msgstr "下一步"
@@ -2542,7 +2779,7 @@ msgctxt "action"
msgid "Next"
msgstr "下一步"
-#: src/view/com/lightbox/Lightbox.web.tsx:149
+#: src/view/com/lightbox/Lightbox.web.tsx:169
msgid "Next image"
msgstr "下一张图片"
@@ -2555,39 +2792,48 @@ msgstr "下一张图片"
msgid "No"
msgstr "停用"
-#: src/view/screens/ProfileFeed.tsx:584
-#: src/view/screens/ProfileList.tsx:755
+#: src/view/screens/ProfileFeed.tsx:574
+#: src/view/screens/ProfileList.tsx:771
msgid "No description"
msgstr "没有描述"
-#: src/view/com/profile/ProfileHeader.tsx:170
+#: src/view/com/modals/ChangeHandle.tsx:405
+msgid "No DNS Panel"
+msgstr "没有 DNS 面板"
+
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:118
msgid "No longer following {0}"
msgstr "不再关注 {0}"
+#: src/screens/Signup/StepHandle.tsx:115
+msgid "No longer than 253 characters"
+msgstr ""
+
#: src/view/com/notifications/Feed.tsx:109
msgid "No notifications yet!"
msgstr "还没有通知!"
-#: src/view/com/composer/text-input/mobile/Autocomplete.tsx:97
-#: src/view/com/composer/text-input/web/Autocomplete.tsx:191
+#: src/view/com/composer/text-input/mobile/Autocomplete.tsx:101
+#: src/view/com/composer/text-input/web/Autocomplete.tsx:195
msgid "No result"
msgstr "没有结果"
-#: src/components/Lists.tsx:192
+#: src/components/Lists.tsx:183
msgid "No results found"
msgstr "未找到结果"
-#: src/view/screens/Feeds.tsx:495
+#: src/view/screens/Feeds.tsx:520
msgid "No results found for \"{query}\""
msgstr "未找到\"{query}\"的结果"
#: src/view/com/modals/ListAddRemoveUsers.tsx:127
-#: src/view/screens/Search/Search.tsx:281
-#: src/view/screens/Search/Search.tsx:309
+#: src/view/screens/Search/Search.tsx:349
+#: src/view/screens/Search/Search.tsx:387
msgid "No results found for {query}"
msgstr "未找到 {query} 的结果"
-#: src/view/com/modals/EmbedConsent.tsx:129
+#: src/components/dialogs/EmbedConsent.tsx:105
+#: src/components/dialogs/EmbedConsent.tsx:112
msgid "No thanks"
msgstr "不,谢谢"
@@ -2595,12 +2841,21 @@ msgstr "不,谢谢"
msgid "Nobody"
msgstr "没有人"
+#: src/components/LikedByList.tsx:79
+#: src/components/LikesDialog.tsx:99
+msgid "Nobody has liked this yet. Maybe you should be the first!"
+msgstr "目前还没有人喜欢,也许你应该成为第一个!"
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:42
+msgid "Non-sexual Nudity"
+msgstr "非性暗示裸露"
+
#: src/view/com/modals/SelfLabel.tsx:135
msgid "Not Applicable."
msgstr "不适用。"
-#: src/Navigation.tsx:107
-#: src/view/screens/Profile.tsx:106
+#: src/Navigation.tsx:109
+#: src/view/screens/Profile.tsx:101
msgid "Not Found"
msgstr "未找到"
@@ -2609,17 +2864,23 @@ msgstr "未找到"
msgid "Not right now"
msgstr "暂时不需要"
-#: src/view/screens/Moderation.tsx:252
+#: src/view/com/profile/ProfileMenu.tsx:368
+#: src/view/com/util/forms/PostDropdownBtn.tsx:364
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:248
+msgid "Note about sharing"
+msgstr "分享注意事项"
+
+#: src/screens/Moderation/index.tsx:540
msgid "Note: Bluesky is an open and public network. This setting only limits the visibility of your content on the Bluesky app and website, and other apps may not respect this setting. Your content may still be shown to logged-out users by other apps and websites."
msgstr "注意:Bluesky 是一个开放的公共网络。此设置项仅限制你的内容在 Bluesky 应用和网站上的可见性,其他应用可能不尊从此设置项,仍可能会向未登录的用户显示你的动态。"
-#: src/Navigation.tsx:457
+#: src/Navigation.tsx:461
#: src/view/screens/Notifications.tsx:124
#: src/view/screens/Notifications.tsx:148
-#: src/view/shell/bottom-bar/BottomBar.tsx:205
-#: src/view/shell/desktop/LeftNav.tsx:361
-#: src/view/shell/Drawer.tsx:435
-#: src/view/shell/Drawer.tsx:436
+#: src/view/shell/bottom-bar/BottomBar.tsx:216
+#: src/view/shell/desktop/LeftNav.tsx:365
+#: src/view/shell/Drawer.tsx:444
+#: src/view/shell/Drawer.tsx:445
msgid "Notifications"
msgstr "通知"
@@ -2627,15 +2888,36 @@ msgstr "通知"
msgid "Nudity"
msgstr "裸露"
-#: src/view/com/util/ErrorBoundary.tsx:35
+#: src/lib/moderation/useReportOptions.ts:71
+msgid "Nudity or adult content not labeled as such"
+msgstr ""
+
+#: src/lib/moderation/useReportOptions.ts:71
+#~ msgid "Nudity or pornography not labeled as such"
+#~ msgstr "未标记的裸露或色情内容"
+
+#: src/screens/Signup/index.tsx:143
+msgid "of"
+msgstr ""
+
+#: src/lib/moderation/useLabelBehaviorDescription.ts:11
+msgid "Off"
+msgstr "显示"
+
+#: src/view/com/util/ErrorBoundary.tsx:49
msgid "Oh no!"
msgstr "糟糕!"
-#: src/screens/Onboarding/StepInterests/index.tsx:128
+#: src/screens/Onboarding/StepInterests/index.tsx:132
msgid "Oh no! Something went wrong."
msgstr "糟糕!发生了一些错误。"
-#: src/view/com/auth/login/PasswordUpdatedForm.tsx:41
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:126
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:333
+msgid "OK"
+msgstr "好的"
+
+#: src/screens/Login/PasswordUpdatedForm.tsx:44
msgid "Okay"
msgstr "好的"
@@ -2643,11 +2925,11 @@ msgstr "好的"
msgid "Oldest replies first"
msgstr "优先显示最旧的回复"
-#: src/view/screens/Settings/index.tsx:234
+#: src/view/screens/Settings/index.tsx:247
msgid "Onboarding reset"
msgstr "重新开始引导流程"
-#: src/view/com/composer/Composer.tsx:382
+#: src/view/com/composer/Composer.tsx:392
msgid "One or more images is missing alt text."
msgstr "至少有一张图片缺失了替代文字。"
@@ -2655,49 +2937,58 @@ msgstr "至少有一张图片缺失了替代文字。"
msgid "Only {0} can reply."
msgstr "只有 {0} 可以回复。"
-#: src/components/Lists.tsx:82
+#: src/screens/Signup/StepHandle.tsx:98
+msgid "Only contains letters, numbers, and hyphens"
+msgstr ""
+
+#: src/components/Lists.tsx:75
msgid "Oops, something went wrong!"
msgstr "糟糕,发生了一些错误!"
-#: src/components/Lists.tsx:188
-#: src/view/screens/AppPasswords.tsx:65
-#: src/view/screens/Profile.tsx:106
+#: src/components/Lists.tsx:170
+#: src/view/screens/AppPasswords.tsx:67
+#: src/view/screens/Profile.tsx:101
msgid "Oops!"
msgstr "Oops!"
-#: src/screens/Onboarding/StepFinished.tsx:115
+#: src/screens/Onboarding/StepFinished.tsx:119
msgid "Open"
msgstr "开启"
-#: src/view/screens/Moderation.tsx:75
-msgid "Open content filtering settings"
-msgstr "打开内容过滤设置"
-
-#: src/view/com/composer/Composer.tsx:477
-#: src/view/com/composer/Composer.tsx:478
+#: src/view/com/composer/Composer.tsx:491
+#: src/view/com/composer/Composer.tsx:492
msgid "Open emoji picker"
-msgstr "打开表情符号选择器"
+msgstr "开启表情符号选择器"
-#: src/view/screens/Settings/index.tsx:712
+#: src/view/screens/ProfileFeed.tsx:311
+msgid "Open feed options menu"
+msgstr "开启信息流选项菜单"
+
+#: src/view/screens/Settings/index.tsx:685
msgid "Open links with in-app browser"
msgstr "在内置浏览器中打开链接"
-#: src/view/screens/Moderation.tsx:92
-msgid "Open muted words settings"
-msgstr "打开隐藏词设置"
+#: src/screens/Moderation/index.tsx:227
+msgid "Open muted words and tags settings"
+msgstr "开启隐藏词和标签设置"
-#: src/view/com/home/HomeHeaderLayoutMobile.tsx:50
+#: src/view/com/home/HomeHeaderLayoutMobile.tsx:52
msgid "Open navigation"
-msgstr "开启导航"
+msgstr "打开导航"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:175
+#: src/view/com/util/forms/PostDropdownBtn.tsx:191
msgid "Open post options menu"
-msgstr "打开帖子选项菜单"
+msgstr "开启帖子选项菜单"
-#: src/view/screens/Settings/index.tsx:804
+#: src/view/screens/Settings/index.tsx:792
+#: src/view/screens/Settings/index.tsx:802
msgid "Open storybook page"
msgstr "开启 Storybook 界面"
+#: src/view/screens/Settings/index.tsx:780
+msgid "Open system log"
+msgstr "开启系统日志"
+
#: src/view/com/util/forms/DropdownButton.tsx:154
msgid "Opens {numItems} options"
msgstr "开启 {numItems} 个选项"
@@ -2706,11 +2997,11 @@ msgstr "开启 {numItems} 个选项"
msgid "Opens additional details for a debug entry"
msgstr "开启调试记录的额外详细信息"
-#: src/view/com/notifications/FeedItem.tsx:349
+#: src/view/com/notifications/FeedItem.tsx:355
msgid "Opens an expanded list of users in this notification"
msgstr "展开此通知中的扩展用户列表"
-#: src/view/com/composer/photos/OpenCameraBtn.tsx:61
+#: src/view/com/composer/photos/OpenCameraBtn.tsx:78
msgid "Opens camera on device"
msgstr "开启设备相机"
@@ -2718,7 +3009,7 @@ msgstr "开启设备相机"
msgid "Opens composer"
msgstr "开启编辑器"
-#: src/view/screens/Settings/index.tsx:595
+#: src/view/screens/Settings/index.tsx:566
msgid "Opens configurable language settings"
msgstr "开启可配置的语言设置"
@@ -2726,72 +3017,87 @@ msgstr "开启可配置的语言设置"
msgid "Opens device photo gallery"
msgstr "开启设备相册"
-#: src/view/com/profile/ProfileHeader.tsx:420
-msgid "Opens editor for profile display name, avatar, background image, and description"
-msgstr "开启个人资料(如名称、头像、背景图片、描述等)编辑器"
-
-#: src/view/screens/Settings/index.tsx:649
+#: src/view/screens/Settings/index.tsx:620
msgid "Opens external embeds settings"
msgstr "开启外部嵌入设置"
-#: src/view/com/profile/ProfileHeader.tsx:575
-msgid "Opens followers list"
-msgstr "开启关注者列表"
+#: src/view/com/auth/SplashScreen.tsx:50
+#: src/view/com/auth/SplashScreen.web.tsx:94
+msgid "Opens flow to create a new Bluesky account"
+msgstr "开启流程以创建一个新的 Bluesky 账户"
-#: src/view/com/profile/ProfileHeader.tsx:594
-msgid "Opens following list"
-msgstr "开启正在关注列表"
+#: src/view/com/auth/SplashScreen.tsx:65
+#: src/view/com/auth/SplashScreen.web.tsx:109
+msgid "Opens flow to sign into your existing Bluesky account"
+msgstr "开启流程以登录到你现有的 Bluesky 账户"
-#: src/view/screens/Settings.tsx:412
-#~ msgid "Opens invite code list"
-#~ msgstr "开启邀请码列表"
-
-#: src/view/com/modals/InviteCodes.tsx:172
+#: src/view/com/modals/InviteCodes.tsx:173
msgid "Opens list of invite codes"
msgstr "开启邀请码列表"
-#: src/view/screens/Settings/index.tsx:774
-msgid "Opens modal for account deletion confirmation. Requires email code."
+#: src/view/screens/Settings/index.tsx:762
+msgid "Opens modal for account deletion confirmation. Requires email code"
msgstr "开启用户删除确认界面,需要电子邮箱接收验证码。"
-#: src/view/com/modals/ChangeHandle.tsx:281
+#: src/view/screens/Settings/index.tsx:720
+msgid "Opens modal for changing your Bluesky password"
+msgstr "开启密码修改界面"
+
+#: src/view/screens/Settings/index.tsx:669
+msgid "Opens modal for choosing a new Bluesky handle"
+msgstr "开启创建新的用户识别符界面"
+
+#: src/view/screens/Settings/index.tsx:743
+msgid "Opens modal for downloading your Bluesky account data (repository)"
+msgstr "开启你的 Bluesky 用户资料(存储库)下载页面"
+
+#: src/view/screens/Settings/index.tsx:932
+msgid "Opens modal for email verification"
+msgstr "开启电子邮箱确认界面"
+
+#: src/view/com/modals/ChangeHandle.tsx:282
msgid "Opens modal for using custom domain"
msgstr "开启使用自定义域名的模式"
-#: src/view/screens/Settings/index.tsx:620
+#: src/view/screens/Settings/index.tsx:591
msgid "Opens moderation settings"
msgstr "开启限制设置"
-#: src/view/com/auth/login/LoginForm.tsx:239
+#: src/screens/Login/LoginForm.tsx:202
msgid "Opens password reset form"
msgstr "开启密码重置申请"
-#: src/view/com/home/HomeHeaderLayout.web.tsx:63
-#: src/view/screens/Feeds.tsx:356
+#: src/view/com/home/HomeHeaderLayout.web.tsx:67
+#: src/view/screens/Feeds.tsx:381
msgid "Opens screen to edit Saved Feeds"
msgstr "开启用于编辑已保存信息流的界面"
-#: src/view/screens/Settings/index.tsx:576
+#: src/view/screens/Settings/index.tsx:548
msgid "Opens screen with all saved feeds"
msgstr "开启包含所有已保存信息流的界面"
-#: src/view/screens/Settings/index.tsx:676
-msgid "Opens the app password settings page"
-msgstr "开启应用专用密码设置页"
+#: src/view/screens/Settings/index.tsx:647
+msgid "Opens the app password settings"
+msgstr "开启应用专用密码设置界面"
-#: src/view/screens/Settings/index.tsx:535
-msgid "Opens the home feed preferences"
-msgstr "开启主页信息流首选项"
+#: src/view/screens/Settings/index.tsx:505
+msgid "Opens the Following feed preferences"
+msgstr "开启关注信息流首选项"
-#: src/view/screens/Settings/index.tsx:805
+#: src/view/com/modals/LinkWarning.tsx:93
+msgid "Opens the linked website"
+msgstr "开启链接的网页"
+
+#: src/view/screens/Settings/index.tsx:793
+#: src/view/screens/Settings/index.tsx:803
msgid "Opens the storybook page"
msgstr "开启 Storybook 界面"
-#: src/view/screens/Settings/index.tsx:793
+#: src/view/screens/Settings/index.tsx:781
msgid "Opens the system log page"
msgstr "开启系统日志界面"
-#: src/view/screens/Settings/index.tsx:556
+#: src/view/screens/Settings/index.tsx:526
msgid "Opens the threads preferences"
msgstr "开启讨论串首选项"
@@ -2799,23 +3105,27 @@ msgstr "开启讨论串首选项"
msgid "Option {0} of {numItems}"
msgstr "第 {0} 个选项,共 {numItems} 个"
+#: src/components/ReportDialog/SubmitView.tsx:160
+msgid "Optionally provide additional information below:"
+msgstr "可选在下方提供额外信息:"
+
#: src/view/com/modals/Threadgate.tsx:89
msgid "Or combine these options:"
msgstr "或者选择组合这些选项:"
-#: src/view/com/auth/login/ChooseAccountForm.tsx:138
+#: src/lib/moderation/useReportOptions.ts:25
+msgid "Other"
+msgstr "其他"
+
+#: src/components/AccountList.tsx:73
msgid "Other account"
msgstr "其他账户"
-#: src/view/com/modals/ServerInput.tsx:88
-#~ msgid "Other service"
-#~ msgstr "其他服务"
-
#: src/view/com/composer/select-language/SelectLangBtn.tsx:91
msgid "Other..."
msgstr "其他..."
-#: src/components/Lists.tsx:194
+#: src/components/Lists.tsx:184
#: src/view/screens/NotFound.tsx:45
msgid "Page not found"
msgstr "无法找到此页面"
@@ -2824,27 +3134,35 @@ msgstr "无法找到此页面"
msgid "Page Not Found"
msgstr "无法找到此页面"
-#: src/view/com/auth/create/Step1.tsx:191
-#: src/view/com/auth/create/Step1.tsx:201
-#: src/view/com/auth/login/LoginForm.tsx:226
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:161
-#: src/view/com/modals/DeleteAccount.tsx:202
+#: src/screens/Login/LoginForm.tsx:178
+#: src/screens/Signup/StepInfo/index.tsx:102
+#: src/view/com/modals/DeleteAccount.tsx:194
+#: src/view/com/modals/DeleteAccount.tsx:201
msgid "Password"
msgstr "密码"
-#: src/view/com/auth/login/Login.tsx:157
+#: src/view/com/modals/ChangePassword.tsx:142
+msgid "Password Changed"
+msgstr "密码已修改"
+
+#: src/screens/Login/index.tsx:157
msgid "Password updated"
msgstr "密码已更新"
-#: src/view/com/auth/login/PasswordUpdatedForm.tsx:28
+#: src/screens/Login/PasswordUpdatedForm.tsx:30
msgid "Password updated!"
msgstr "密码已更新!"
-#: src/Navigation.tsx:162
+#: src/view/screens/Search/Search.tsx:447
+#: src/view/screens/Search/Search.tsx:456
+msgid "People"
+msgstr ""
+
+#: src/Navigation.tsx:164
msgid "People followed by @{0}"
msgstr "@{0} 关注的人"
-#: src/Navigation.tsx:155
+#: src/Navigation.tsx:157
msgid "People following @{0}"
msgstr "关注 @{0} 的人"
@@ -2860,45 +3178,45 @@ msgstr "相机的访问权限已被拒绝,请在系统设置中启用。"
msgid "Pets"
msgstr "宠物"
-#: src/view/com/auth/create/Step2.tsx:183
-#~ msgid "Phone number"
-#~ msgstr "手机号码"
-
#: src/view/com/modals/SelfLabel.tsx:121
msgid "Pictures meant for adults."
msgstr "适合成年人的图像。"
-#: src/view/screens/ProfileFeed.tsx:354
-#: src/view/screens/ProfileList.tsx:581
+#: src/view/screens/ProfileFeed.tsx:303
+#: src/view/screens/ProfileList.tsx:565
msgid "Pin to home"
msgstr "固定到主页"
-#: src/view/screens/SavedFeeds.tsx:88
+#: src/view/screens/ProfileFeed.tsx:306
+msgid "Pin to Home"
+msgstr "固定到主页"
+
+#: src/view/screens/SavedFeeds.tsx:89
msgid "Pinned Feeds"
msgstr "固定信息流列表"
-#: src/view/com/util/post-embeds/ExternalGifEmbed.tsx:111
+#: src/view/com/util/post-embeds/ExternalGifEmbed.tsx:123
msgid "Play {0}"
msgstr "播放 {0}"
-#: src/view/com/util/post-embeds/ExternalPlayerEmbed.tsx:54
-#: src/view/com/util/post-embeds/ExternalPlayerEmbed.tsx:55
+#: src/view/com/util/post-embeds/ExternalPlayerEmbed.tsx:57
+#: src/view/com/util/post-embeds/ExternalPlayerEmbed.tsx:58
msgid "Play Video"
msgstr "播放视频"
-#: src/view/com/util/post-embeds/ExternalGifEmbed.tsx:110
+#: src/view/com/util/post-embeds/ExternalGifEmbed.tsx:122
msgid "Plays the GIF"
msgstr "播放 GIF"
-#: src/view/com/auth/create/state.ts:124
+#: src/screens/Signup/state.ts:241
msgid "Please choose your handle."
msgstr "请设置你的用户识别符。"
-#: src/view/com/auth/create/state.ts:117
+#: src/screens/Signup/state.ts:234
msgid "Please choose your password."
msgstr "请设置你的密码。"
-#: src/view/com/auth/create/state.ts:131
+#: src/screens/Signup/state.ts:251
msgid "Please complete the verification captcha."
msgstr "请完成 Captcha 验证"
@@ -2906,42 +3224,29 @@ msgstr "请完成 Captcha 验证"
msgid "Please confirm your email before changing it. This is a temporary requirement while email-updating tools are added, and it will soon be removed."
msgstr "更改前请先确认你的电子邮箱。这是新增电子邮箱更新工具的临时要求,此限制将很快被移除。"
-#: src/view/com/modals/AddAppPasswords.tsx:90
+#: src/view/com/modals/AddAppPasswords.tsx:91
msgid "Please enter a name for your app password. All spaces is not allowed."
msgstr "请输入应用专用密码的名称,不允许使用空格。"
-#: src/view/com/auth/create/Step2.tsx:206
-#~ msgid "Please enter a phone number that can receive SMS text messages."
-#~ msgstr "请输入可以接收短信的手机号码。"
-
-#: src/view/com/modals/AddAppPasswords.tsx:145
+#: src/view/com/modals/AddAppPasswords.tsx:146
msgid "Please enter a unique name for this App Password or use our randomly generated one."
msgstr "请输入此应用专用密码的唯一名称,或使用我们提供的随机生成名称。"
-#: src/components/dialogs/MutedWords.tsx:68
+#: src/components/dialogs/MutedWords.tsx:67
msgid "Please enter a valid word, tag, or phrase to mute"
msgstr "请输入一个有效的词、话题标签或短语"
-#: src/view/com/auth/create/state.ts:170
-#~ msgid "Please enter the code you received by SMS."
-#~ msgstr "请输入你收到的短信验证码。"
-
-#: src/view/com/auth/create/Step2.tsx:282
-#~ msgid "Please enter the verification code sent to {phoneNumberFormatted}."
-#~ msgstr "请输入发送到 {phoneNumberFormatted} 的验证码。"
-
-#: src/view/com/auth/create/state.ts:103
+#: src/screens/Signup/state.ts:220
msgid "Please enter your email."
msgstr "请输入你的电子邮箱。"
-#: src/view/com/modals/DeleteAccount.tsx:191
+#: src/view/com/modals/DeleteAccount.tsx:190
msgid "Please enter your password as well:"
msgstr "请输入你的密码:"
-#: src/view/com/modals/AppealLabel.tsx:72
-#: src/view/com/modals/AppealLabel.tsx:75
-msgid "Please tell us why you think this content warning was incorrectly applied!"
-msgstr "请告诉我们你认为此内容警告被错误设置的原因!"
+#: src/components/moderation/LabelsOnMeDialog.tsx:221
+msgid "Please explain why you think this label was incorrectly applied by {0}"
+msgstr "请解释为什么你认为此标记是由 {0} 错误应用的"
#: src/view/com/modals/VerifyEmail.tsx:101
msgid "Please Verify Your Email"
@@ -2959,13 +3264,17 @@ msgstr "政治"
msgid "Porn"
msgstr "色情内容"
-#: src/view/com/composer/Composer.tsx:357
-#: src/view/com/composer/Composer.tsx:365
+#: src/lib/moderation/useGlobalLabelStrings.ts:34
+#~ msgid "Pornography"
+#~ msgstr "色情"
+
+#: src/view/com/composer/Composer.tsx:367
+#: src/view/com/composer/Composer.tsx:375
msgctxt "action"
msgid "Post"
msgstr "发布"
-#: src/view/com/post-thread/PostThread.tsx:303
+#: src/view/com/post-thread/PostThread.tsx:292
msgctxt "description"
msgid "Post"
msgstr "发布"
@@ -2974,20 +3283,30 @@ msgstr "发布"
msgid "Post by {0}"
msgstr "{0} 的帖子"
-#: src/Navigation.tsx:174
-#: src/Navigation.tsx:181
-#: src/Navigation.tsx:188
+#: src/Navigation.tsx:176
+#: src/Navigation.tsx:183
+#: src/Navigation.tsx:190
msgid "Post by @{0}"
msgstr "@{0} 的帖子"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:108
+#: src/view/com/util/forms/PostDropdownBtn.tsx:111
msgid "Post deleted"
msgstr "已删除帖子"
-#: src/view/com/post-thread/PostThread.tsx:462
+#: src/view/com/post-thread/PostThread.tsx:157
msgid "Post hidden"
msgstr "已隐藏帖子"
+#: src/components/moderation/ModerationDetailsDialog.tsx:97
+#: src/lib/moderation/useModerationCauseDescription.ts:99
+msgid "Post Hidden by Muted Word"
+msgstr "帖子被隐藏词所隐藏"
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:100
+#: src/lib/moderation/useModerationCauseDescription.ts:108
+msgid "Post Hidden by You"
+msgstr "帖子由你隐藏"
+
#: src/view/com/composer/select-language/SelectLangBtn.tsx:87
msgid "Post language"
msgstr "帖子语言"
@@ -2996,7 +3315,8 @@ msgstr "帖子语言"
msgid "Post Languages"
msgstr "帖子语言"
-#: src/view/com/post-thread/PostThread.tsx:514
+#: src/view/com/post-thread/PostThread.tsx:152
+#: src/view/com/post-thread/PostThread.tsx:164
msgid "Post not found"
msgstr "无法找到帖子"
@@ -3004,11 +3324,12 @@ msgstr "无法找到帖子"
msgid "posts"
msgstr "帖子"
-#: src/view/screens/Profile.tsx:180
+#: src/view/screens/Profile.tsx:195
+#: src/view/screens/Search/Search.tsx:467
msgid "Posts"
msgstr "帖子"
-#: src/components/dialogs/MutedWords.tsx:90
+#: src/components/dialogs/MutedWords.tsx:89
msgid "Posts can be muted based on their text, their tags, or both."
msgstr "帖子可以根据其文本、话题标签或两者来隐藏。"
@@ -3016,11 +3337,21 @@ msgstr "帖子可以根据其文本、话题标签或两者来隐藏。"
msgid "Posts hidden"
msgstr "帖子已隐藏"
-#: src/view/com/modals/LinkWarning.tsx:46
+#: src/view/com/modals/LinkWarning.tsx:60
msgid "Potentially Misleading Link"
msgstr "潜在误导性链接"
-#: src/view/com/lightbox/Lightbox.web.tsx:135
+#: src/components/forms/HostingProvider.tsx:46
+msgid "Press to change hosting provider"
+msgstr ""
+
+#: src/components/Error.tsx:74
+#: src/components/Lists.tsx:80
+#: src/screens/Signup/index.tsx:187
+msgid "Press to retry"
+msgstr "点按重试"
+
+#: src/view/com/lightbox/Lightbox.web.tsx:150
msgid "Previous image"
msgstr "上一张图片"
@@ -3032,39 +3363,45 @@ msgstr "首选语言"
msgid "Prioritize Your Follows"
msgstr "优先显示关注者"
-#: src/view/screens/Settings/index.tsx:632
+#: src/view/screens/Settings/index.tsx:603
#: src/view/shell/desktop/RightNav.tsx:72
msgid "Privacy"
msgstr "隐私"
-#: src/Navigation.tsx:219
+#: src/Navigation.tsx:231
+#: src/screens/Signup/StepInfo/Policies.tsx:56
#: src/view/screens/PrivacyPolicy.tsx:29
-#: src/view/screens/Settings/index.tsx:891
-#: src/view/shell/Drawer.tsx:262
+#: src/view/screens/Settings/index.tsx:887
+#: src/view/shell/Drawer.tsx:271
msgid "Privacy Policy"
msgstr "隐私政策"
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:198
+#: src/screens/Login/ForgotPasswordForm.tsx:156
msgid "Processing..."
msgstr "处理中..."
-#: src/view/shell/bottom-bar/BottomBar.tsx:247
-#: src/view/shell/desktop/LeftNav.tsx:415
+#: src/view/screens/DebugMod.tsx:888
+#: src/view/screens/Profile.tsx:361
+msgid "profile"
+msgstr "个人资料"
+
+#: src/view/shell/bottom-bar/BottomBar.tsx:261
+#: src/view/shell/desktop/LeftNav.tsx:419
#: src/view/shell/Drawer.tsx:70
-#: src/view/shell/Drawer.tsx:546
-#: src/view/shell/Drawer.tsx:547
+#: src/view/shell/Drawer.tsx:555
+#: src/view/shell/Drawer.tsx:556
msgid "Profile"
msgstr "个人资料"
-#: src/view/com/modals/EditProfile.tsx:128
+#: src/view/com/modals/EditProfile.tsx:129
msgid "Profile updated"
msgstr "个人资料已更新"
-#: src/view/screens/Settings/index.tsx:949
+#: src/view/screens/Settings/index.tsx:945
msgid "Protect your account by verifying your email."
msgstr "通过验证电子邮箱来保护你的账户。"
-#: src/screens/Onboarding/StepFinished.tsx:101
+#: src/screens/Onboarding/StepFinished.tsx:105
msgid "Public"
msgstr "公开内容"
@@ -3076,15 +3413,15 @@ msgstr "公开且可共享的批量隐藏或屏蔽列表。"
msgid "Public, shareable lists which can drive feeds."
msgstr "公开且可共享的列表,可作为信息流使用。"
-#: src/view/com/composer/Composer.tsx:342
+#: src/view/com/composer/Composer.tsx:352
msgid "Publish post"
msgstr "发布帖子"
-#: src/view/com/composer/Composer.tsx:342
+#: src/view/com/composer/Composer.tsx:352
msgid "Publish reply"
msgstr "发布回复"
-#: src/view/com/modals/Repost.tsx:65
+#: src/view/com/modals/Repost.tsx:66
msgctxt "action"
msgid "Quote post"
msgstr "引用帖子"
@@ -3093,7 +3430,7 @@ msgstr "引用帖子"
msgid "Quote post"
msgstr "引用帖子"
-#: src/view/com/modals/Repost.tsx:70
+#: src/view/com/modals/Repost.tsx:71
msgctxt "action"
msgid "Quote Post"
msgstr "引用帖子"
@@ -3102,48 +3439,62 @@ msgstr "引用帖子"
msgid "Random (aka \"Poster's Roulette\")"
msgstr "随机显示 (手气不错)"
-#: src/view/com/modals/EditImage.tsx:236
+#: src/view/com/modals/EditImage.tsx:237
msgid "Ratios"
msgstr "比率"
-#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:116
+#: src/view/screens/Search/Search.tsx:924
+msgid "Recent Searches"
+msgstr "最近的搜索"
+
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:117
msgid "Recommended Feeds"
msgstr "推荐信息流"
-#: src/view/com/auth/onboarding/RecommendedFollows.tsx:180
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:181
msgid "Recommended Users"
msgstr "推荐的用户"
-#: src/components/dialogs/MutedWords.tsx:298
-#: src/view/com/modals/ListAddRemoveUsers.tsx:264
+#: src/components/dialogs/MutedWords.tsx:286
+#: src/view/com/feeds/FeedSourceCard.tsx:283
+#: src/view/com/modals/ListAddRemoveUsers.tsx:268
#: src/view/com/modals/SelfLabel.tsx:83
#: src/view/com/modals/UserAddRemoveLists.tsx:219
-#: src/view/com/util/UserAvatar.tsx:285
-#: src/view/com/util/UserBanner.tsx:91
+#: src/view/com/posts/FeedErrorMessage.tsx:204
msgid "Remove"
msgstr "移除"
-#: src/view/com/feeds/FeedSourceCard.tsx:108
-msgid "Remove {0} from my feeds?"
-msgstr "将 {0} 从自定义信息流中移除?"
-
#: src/view/com/util/AccountDropdownBtn.tsx:22
msgid "Remove account"
-msgstr "删除账号"
+msgstr "删除账户"
-#: src/view/com/posts/FeedErrorMessage.tsx:131
-#: src/view/com/posts/FeedErrorMessage.tsx:166
+#: src/view/com/util/UserAvatar.tsx:360
+msgid "Remove Avatar"
+msgstr "删除头像"
+
+#: src/view/com/util/UserBanner.tsx:148
+msgid "Remove Banner"
+msgstr "删除横幅图片"
+
+#: src/view/com/posts/FeedErrorMessage.tsx:160
msgid "Remove feed"
msgstr "删除信息流"
-#: src/view/com/feeds/FeedSourceCard.tsx:107
-#: src/view/com/feeds/FeedSourceCard.tsx:169
-#: src/view/com/feeds/FeedSourceCard.tsx:174
-#: src/view/com/feeds/FeedSourceCard.tsx:245
-#: src/view/screens/ProfileFeed.tsx:273
+#: src/view/com/posts/FeedErrorMessage.tsx:201
+msgid "Remove feed?"
+msgstr "删除信息流?"
+
+#: src/view/com/feeds/FeedSourceCard.tsx:173
+#: src/view/com/feeds/FeedSourceCard.tsx:233
+#: src/view/screens/ProfileFeed.tsx:346
+#: src/view/screens/ProfileFeed.tsx:352
msgid "Remove from my feeds"
msgstr "从自定义信息流中删除"
+#: src/view/com/feeds/FeedSourceCard.tsx:278
+msgid "Remove from my feeds?"
+msgstr "从自定义信息流中删除?"
+
#: src/view/com/composer/photos/Gallery.tsx:167
msgid "Remove image"
msgstr "删除图片"
@@ -3152,20 +3503,16 @@ msgstr "删除图片"
msgid "Remove image preview"
msgstr "删除图片预览"
-#: src/components/dialogs/MutedWords.tsx:343
+#: src/components/dialogs/MutedWords.tsx:329
msgid "Remove mute word from your list"
msgstr "从你的隐藏词列表中删除"
-#: src/view/com/modals/Repost.tsx:47
+#: src/view/com/modals/Repost.tsx:48
msgid "Remove repost"
msgstr "删除转发"
-#: src/view/com/feeds/FeedSourceCard.tsx:175
-msgid "Remove this feed from my feeds?"
-msgstr "将这个信息流从自定义信息流列表中删除?"
-
-#: src/view/com/posts/FeedErrorMessage.tsx:132
-msgid "Remove this feed from your saved feeds?"
+#: src/view/com/posts/FeedErrorMessage.tsx:202
+msgid "Remove this feed from your saved feeds"
msgstr "将这个信息流从保存的信息流列表中删除?"
#: src/view/com/modals/ListAddRemoveUsers.tsx:199
@@ -3173,16 +3520,19 @@ msgstr "将这个信息流从保存的信息流列表中删除?"
msgid "Removed from list"
msgstr "从列表中删除"
-#: src/view/com/feeds/FeedSourceCard.tsx:113
-#: src/view/com/feeds/FeedSourceCard.tsx:180
+#: src/view/com/feeds/FeedSourceCard.tsx:121
msgid "Removed from my feeds"
msgstr "从自定义信息流中删除"
+#: src/view/screens/ProfileFeed.tsx:210
+msgid "Removed from your feeds"
+msgstr "从你的自定义信息流中删除"
+
#: src/view/com/composer/ExternalEmbed.tsx:71
msgid "Removes default thumbnail from {0}"
msgstr "从 {0} 中删除默认缩略图"
-#: src/view/screens/Profile.tsx:181
+#: src/view/screens/Profile.tsx:196
msgid "Replies"
msgstr "回复"
@@ -3190,7 +3540,7 @@ msgstr "回复"
msgid "Replies to this thread are disabled"
msgstr "对此讨论串的回复已被禁用"
-#: src/view/com/composer/Composer.tsx:355
+#: src/view/com/composer/Composer.tsx:365
msgctxt "action"
msgid "Reply"
msgstr "回复"
@@ -3199,37 +3549,58 @@ msgstr "回复"
msgid "Reply Filters"
msgstr "回复过滤器"
-#: src/view/com/post/Post.tsx:167
-#: src/view/com/posts/FeedItem.tsx:287
+#: src/view/com/post/Post.tsx:177
+#: src/view/com/posts/FeedItem.tsx:285
msgctxt "description"
msgid "Reply to <0/>"
msgstr "回复 <0/>"
-#: src/view/com/modals/report/Modal.tsx:166
-msgid "Report {collectionName}"
-msgstr "举报 {collectionName}"
-
-#: src/view/com/profile/ProfileHeader.tsx:361
+#: src/view/com/profile/ProfileMenu.tsx:319
+#: src/view/com/profile/ProfileMenu.tsx:322
msgid "Report Account"
msgstr "举报账户"
-#: src/view/screens/ProfileFeed.tsx:293
+#: src/components/ReportDialog/index.tsx:49
+msgid "Report dialog"
+msgstr ""
+
+#: src/view/screens/ProfileFeed.tsx:363
+#: src/view/screens/ProfileFeed.tsx:365
msgid "Report feed"
msgstr "举报信息流"
-#: src/view/screens/ProfileList.tsx:459
+#: src/view/screens/ProfileList.tsx:431
msgid "Report List"
msgstr "举报列表"
-#: src/view/com/modals/report/SendReportButton.tsx:37
-#: src/view/com/util/forms/PostDropdownBtn.tsx:301
-#: src/view/com/util/forms/PostDropdownBtn.tsx:309
+#: src/view/com/util/forms/PostDropdownBtn.tsx:312
+#: src/view/com/util/forms/PostDropdownBtn.tsx:314
msgid "Report post"
msgstr "举报帖子"
-#: src/view/com/modals/Repost.tsx:43
-#: src/view/com/modals/Repost.tsx:48
-#: src/view/com/modals/Repost.tsx:53
+#: src/components/ReportDialog/SelectReportOptionView.tsx:42
+msgid "Report this content"
+msgstr "举报此内容"
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:55
+msgid "Report this feed"
+msgstr "举报此信息流"
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:52
+msgid "Report this list"
+msgstr "举报此列表"
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:49
+msgid "Report this post"
+msgstr "举报此帖子"
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:46
+msgid "Report this user"
+msgstr "举报此用户"
+
+#: src/view/com/modals/Repost.tsx:44
+#: src/view/com/modals/Repost.tsx:49
+#: src/view/com/modals/Repost.tsx:54
#: src/view/com/util/post-ctrls/RepostButton.tsx:61
msgctxt "action"
msgid "Repost"
@@ -3248,19 +3619,23 @@ msgstr "转发或引用帖子"
msgid "Reposted By"
msgstr "转发"
-#: src/view/com/posts/FeedItem.tsx:207
+#: src/view/com/posts/FeedItem.tsx:199
msgid "Reposted by {0}"
msgstr "由 {0} 转发"
-#: src/view/com/posts/FeedItem.tsx:224
-msgid "Reposted by <0/>"
-msgstr "由 <0/> 转发"
+#: src/view/com/posts/FeedItem.tsx:214
+#~ msgid "Reposted by <0/>"
+#~ msgstr "由 <0/> 转发"
-#: src/view/com/notifications/FeedItem.tsx:162
+#: src/view/com/posts/FeedItem.tsx:216
+msgid "Reposted by <0><1/>0>"
+msgstr ""
+
+#: src/view/com/notifications/FeedItem.tsx:168
msgid "reposted your post"
msgstr "转发你的帖子"
-#: src/view/com/post-thread/PostThreadItem.tsx:188
+#: src/view/com/post-thread/PostThreadItem.tsx:187
msgid "Reposts of this post"
msgstr "转发这条帖子"
@@ -3269,61 +3644,50 @@ msgstr "转发这条帖子"
msgid "Request Change"
msgstr "请求变更"
-#: src/view/com/auth/create/Step2.tsx:219
-#~ msgid "Request code"
-#~ msgstr "请求码"
-
-#: src/view/com/modals/ChangePassword.tsx:239
#: src/view/com/modals/ChangePassword.tsx:241
+#: src/view/com/modals/ChangePassword.tsx:243
msgid "Request Code"
msgstr "确认码"
-#: src/view/screens/Settings/index.tsx:456
+#: src/view/screens/Settings/index.tsx:426
msgid "Require alt text before posting"
msgstr "发布时检查媒体是否存在替代文本"
-#: src/view/com/auth/create/Step1.tsx:146
+#: src/screens/Signup/StepInfo/index.tsx:69
msgid "Required for this provider"
msgstr "服务提供者要求"
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:124
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:136
+#: src/view/com/modals/ChangePassword.tsx:185
msgid "Reset code"
msgstr "确认码"
-#: src/view/com/modals/ChangePassword.tsx:190
+#: src/view/com/modals/ChangePassword.tsx:192
msgid "Reset Code"
msgstr "确认码"
-#: src/view/screens/Settings/index.tsx:824
-msgid "Reset onboarding"
-msgstr "重置引导流程"
-
-#: src/view/screens/Settings/index.tsx:827
+#: src/view/screens/Settings/index.tsx:822
+#: src/view/screens/Settings/index.tsx:825
msgid "Reset onboarding state"
msgstr "重置引导流程状态"
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:104
+#: src/screens/Login/ForgotPasswordForm.tsx:86
msgid "Reset password"
msgstr "重置密码"
-#: src/view/screens/Settings/index.tsx:814
-msgid "Reset preferences"
-msgstr "重置首选项"
-
-#: src/view/screens/Settings/index.tsx:817
+#: src/view/screens/Settings/index.tsx:812
+#: src/view/screens/Settings/index.tsx:815
msgid "Reset preferences state"
msgstr "重置首选项状态"
-#: src/view/screens/Settings/index.tsx:825
+#: src/view/screens/Settings/index.tsx:823
msgid "Resets the onboarding state"
msgstr "重置引导流程状态"
-#: src/view/screens/Settings/index.tsx:815
+#: src/view/screens/Settings/index.tsx:813
msgid "Resets the preferences state"
msgstr "重置首选项状态"
-#: src/view/com/auth/login/LoginForm.tsx:269
+#: src/screens/Login/LoginForm.tsx:235
msgid "Retries login"
msgstr "重试登录"
@@ -3332,99 +3696,121 @@ msgstr "重试登录"
msgid "Retries the last action, which errored out"
msgstr "重试上次出错的操作"
-#: src/screens/Onboarding/StepInterests/index.tsx:221
-#: src/screens/Onboarding/StepInterests/index.tsx:224
-#: src/view/com/auth/create/CreateAccount.tsx:181
-#: src/view/com/auth/create/CreateAccount.tsx:186
-#: src/view/com/auth/login/LoginForm.tsx:268
-#: src/view/com/auth/login/LoginForm.tsx:271
+#: src/components/Error.tsx:79
+#: src/components/Lists.tsx:91
+#: src/screens/Login/LoginForm.tsx:234
+#: src/screens/Login/LoginForm.tsx:241
+#: src/screens/Onboarding/StepInterests/index.tsx:225
+#: src/screens/Onboarding/StepInterests/index.tsx:228
+#: src/screens/Signup/index.tsx:194
#: src/view/com/util/error/ErrorMessage.tsx:55
#: src/view/com/util/error/ErrorScreen.tsx:72
msgid "Retry"
msgstr "重试"
-#: src/view/com/auth/create/Step2.tsx:247
-#~ msgid "Retry."
-#~ msgstr "重试。"
-
-#: src/view/screens/ProfileList.tsx:903
+#: src/components/Error.tsx:86
+#: src/view/screens/ProfileList.tsx:919
msgid "Return to previous page"
msgstr "回到上一页"
-#: src/view/shell/desktop/RightNav.tsx:55
-#~ msgid "SANDBOX. Posts and accounts are not permanent."
-#~ msgstr "沙盒模式。帖子和账户不会永久保存。"
+#: src/view/screens/NotFound.tsx:59
+msgid "Returns to home page"
+msgstr "回到主页"
+
+#: src/view/screens/NotFound.tsx:58
+#: src/view/screens/ProfileFeed.tsx:113
+msgid "Returns to previous page"
+msgstr "回到上一页"
+
+#: src/components/dialogs/BirthDateSettings.tsx:125
+#: src/view/com/modals/ChangeHandle.tsx:174
+#: src/view/com/modals/CreateOrEditList.tsx:338
+#: src/view/com/modals/EditProfile.tsx:225
+msgid "Save"
+msgstr "保存"
#: src/view/com/lightbox/Lightbox.tsx:132
-#: src/view/com/modals/CreateOrEditList.tsx:345
+#: src/view/com/modals/CreateOrEditList.tsx:346
msgctxt "action"
msgid "Save"
msgstr "保存"
-#: src/view/com/modals/BirthDateSettings.tsx:94
-#: src/view/com/modals/BirthDateSettings.tsx:97
-#: src/view/com/modals/ChangeHandle.tsx:173
-#: src/view/com/modals/CreateOrEditList.tsx:337
-#: src/view/com/modals/EditProfile.tsx:224
-#: src/view/screens/ProfileFeed.tsx:346
-msgid "Save"
-msgstr "保存"
-
-#: src/view/com/modals/AltImage.tsx:130
+#: src/view/com/modals/AltImage.tsx:131
msgid "Save alt text"
msgstr "保存替代文字"
-#: src/view/com/modals/EditProfile.tsx:232
+#: src/components/dialogs/BirthDateSettings.tsx:119
+msgid "Save birthday"
+msgstr "保存生日"
+
+#: src/view/com/modals/EditProfile.tsx:233
msgid "Save Changes"
msgstr "保存更改"
-#: src/view/com/modals/ChangeHandle.tsx:170
+#: src/view/com/modals/ChangeHandle.tsx:171
msgid "Save handle change"
msgstr "保存用户识别符更改"
-#: src/view/com/modals/crop-image/CropImage.web.tsx:144
+#: src/view/com/modals/crop-image/CropImage.web.tsx:145
msgid "Save image crop"
msgstr "保存图片裁切"
-#: src/view/screens/SavedFeeds.tsx:122
+#: src/view/screens/ProfileFeed.tsx:347
+#: src/view/screens/ProfileFeed.tsx:353
+msgid "Save to my feeds"
+msgstr "保存到自定义信息流"
+
+#: src/view/screens/SavedFeeds.tsx:123
msgid "Saved Feeds"
msgstr "已保存信息流"
-#: src/view/com/modals/EditProfile.tsx:225
+#: src/view/com/lightbox/Lightbox.tsx:81
+msgid "Saved to your camera roll."
+msgstr "已保存到相机胶卷"
+
+#: src/view/screens/ProfileFeed.tsx:214
+msgid "Saved to your feeds"
+msgstr "已保存到你的自定义信息流"
+
+#: src/view/com/modals/EditProfile.tsx:226
msgid "Saves any changes to your profile"
msgstr "保存个人资料中所做的变更"
-#: src/view/com/modals/ChangeHandle.tsx:171
+#: src/view/com/modals/ChangeHandle.tsx:172
msgid "Saves handle change to {handle}"
msgstr "保存用户识别符更改至 {handle}"
+#: src/view/com/modals/crop-image/CropImage.web.tsx:146
+msgid "Saves image crop settings"
+msgstr "保存图片裁剪设置"
+
#: src/screens/Onboarding/index.tsx:36
msgid "Science"
msgstr "科学"
-#: src/view/screens/ProfileList.tsx:859
+#: src/view/screens/ProfileList.tsx:875
msgid "Scroll to top"
msgstr "滚动到顶部"
-#: src/Navigation.tsx:447
-#: src/view/com/auth/LoggedOut.tsx:122
+#: src/Navigation.tsx:451
+#: src/view/com/auth/LoggedOut.tsx:123
#: src/view/com/modals/ListAddRemoveUsers.tsx:75
#: src/view/com/util/forms/SearchInput.tsx:67
#: src/view/com/util/forms/SearchInput.tsx:79
-#: src/view/screens/Search/Search.tsx:419
-#: src/view/screens/Search/Search.tsx:668
-#: src/view/screens/Search/Search.tsx:686
-#: src/view/shell/bottom-bar/BottomBar.tsx:159
-#: src/view/shell/desktop/LeftNav.tsx:324
-#: src/view/shell/desktop/Search.tsx:214
-#: src/view/shell/desktop/Search.tsx:223
-#: src/view/shell/Drawer.tsx:362
-#: src/view/shell/Drawer.tsx:363
+#: src/view/screens/Search/Search.tsx:568
+#: src/view/screens/Search/Search.tsx:817
+#: src/view/screens/Search/Search.tsx:835
+#: src/view/shell/bottom-bar/BottomBar.tsx:170
+#: src/view/shell/desktop/LeftNav.tsx:328
+#: src/view/shell/desktop/Search.tsx:215
+#: src/view/shell/desktop/Search.tsx:224
+#: src/view/shell/Drawer.tsx:371
+#: src/view/shell/Drawer.tsx:372
msgid "Search"
msgstr "搜索"
-#: src/view/screens/Search/Search.tsx:735
-#: src/view/shell/desktop/Search.tsx:255
+#: src/view/screens/Search/Search.tsx:884
+#: src/view/shell/desktop/Search.tsx:256
msgid "Search for \"{query}\""
msgstr "搜索 \"{query}\""
@@ -3432,20 +3818,12 @@ msgstr "搜索 \"{query}\""
msgid "Search for all posts by @{authorHandle} with tag {displayTag}"
msgstr "搜索 @{authorHandle} 带有 {displayTag} 的所有帖子"
-#: src/components/TagMenu/index.tsx:145
-#~ msgid "Search for all posts by @{authorHandle} with tag {tag}"
-#~ msgstr "搜索 @{authorHandle} 带有 {tag} 的所有帖子"
-
#: src/components/TagMenu/index.tsx:94
msgid "Search for all posts with tag {displayTag}"
msgstr "搜索所有带有 {displayTag} 的帖子"
-#: src/components/TagMenu/index.tsx:90
-#~ msgid "Search for all posts with tag {tag}"
-#~ msgstr "搜索所有带有 {tag} 的帖子"
-
-#: src/view/com/auth/LoggedOut.tsx:104
#: src/view/com/auth/LoggedOut.tsx:105
+#: src/view/com/auth/LoggedOut.tsx:106
#: src/view/com/modals/ListAddRemoveUsers.tsx:70
msgid "Search for users"
msgstr "搜索用户"
@@ -3470,56 +3848,65 @@ msgstr "查看 <0>{displayTag}0> 的帖子"
msgid "See <0>{displayTag}0> posts by this user"
msgstr "查看该用户 <0>{displayTag}0> 的帖子"
-#: src/components/TagMenu/index.tsx:128
-#~ msgid "See <0>{tag}0> posts"
-#~ msgstr "查看 <0>{tag}0> 的帖子"
+#: src/view/com/notifications/FeedItem.tsx:419
+#: src/view/com/util/UserAvatar.tsx:381
+msgid "See profile"
+msgstr ""
-#: src/components/TagMenu/index.tsx:189
-#~ msgid "See <0>{tag}0> posts by this user"
-#~ msgstr "查看该用户 <0>{tag}0> 的帖子"
-
-#: src/view/screens/SavedFeeds.tsx:163
+#: src/view/screens/SavedFeeds.tsx:164
msgid "See this guide"
msgstr "查看指南"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:39
-msgid "See what's next"
-msgstr "查看下一步"
+#: src/view/com/auth/HomeLoggedOutCTA.tsx:40
+#~ msgid "See what's next"
+#~ msgstr "查看下一步"
#: src/view/com/util/Selector.tsx:106
msgid "Select {item}"
msgstr "选择 {item}"
-#: src/view/com/modals/ServerInput.tsx:75
-#~ msgid "Select Bluesky Social"
-#~ msgstr "选择 Bluesky Social"
+#: src/screens/Login/ChooseAccountForm.tsx:61
+msgid "Select account"
+msgstr ""
-#: src/view/com/auth/login/Login.tsx:117
+#: src/screens/Login/index.tsx:120
msgid "Select from an existing account"
msgstr "从现有账户中选择"
+#: src/view/screens/LanguageSettings.tsx:299
+msgid "Select languages"
+msgstr "选择语言"
+
+#: src/components/ReportDialog/SelectLabelerView.tsx:30
+msgid "Select moderator"
+msgstr "选择限制者"
+
#: src/view/com/util/Selector.tsx:107
msgid "Select option {i} of {numItems}"
msgstr "选择 {numItems} 项中的第 {i} 项"
#: src/view/com/auth/create/Step1.tsx:96
-#: src/view/com/auth/login/LoginForm.tsx:150
-msgid "Select service"
-msgstr "选择服务"
+#: src/view/com/auth/login/LoginForm.tsx:153
+#~ msgid "Select service"
+#~ msgstr "选择服务"
#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:52
msgid "Select some accounts below to follow"
msgstr "选择以下一些账户进行关注"
+#: src/components/ReportDialog/SubmitView.tsx:133
+msgid "Select the moderation service(s) to report to"
+msgstr "你要将该条举报提交给哪位限制服务提供者?"
+
#: src/view/com/auth/server-input/index.tsx:82
msgid "Select the service that hosts your data."
msgstr "选择托管你数据的服务器。"
-#: src/screens/Onboarding/StepTopicalFeeds.tsx:96
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:100
msgid "Select topical feeds to follow from the list below"
msgstr "从下面的列表中选择要关注的专题信息流"
-#: src/screens/Onboarding/StepModeration/index.tsx:75
+#: src/screens/Onboarding/StepModeration/index.tsx:63
msgid "Select what you want to see (or not see), and we’ll handle the rest."
msgstr "选择你想看到(或不想看到)的内容,剩下的由我们来处理。"
@@ -3528,26 +3915,26 @@ msgid "Select which languages you want your subscribed feeds to include. If none
msgstr "选择你希望订阅信息流中所包含的语言。如果未选择任何语言,将默认显示所有语言。"
#: src/view/screens/LanguageSettings.tsx:98
-msgid "Select your app language for the default text to display in the app"
-msgstr "选择应用中显示默认文本的语言"
+msgid "Select your app language for the default text to display in the app."
+msgstr "选择你的应用语言,以显示应用中的默认文本。"
-#: src/screens/Onboarding/StepInterests/index.tsx:196
+#: src/screens/Signup/StepInfo/index.tsx:135
+msgid "Select your date of birth"
+msgstr ""
+
+#: src/screens/Onboarding/StepInterests/index.tsx:200
msgid "Select your interests from the options below"
msgstr "下面选择你感兴趣的选项"
-#: src/view/com/auth/create/Step2.tsx:155
-#~ msgid "Select your phone's country"
-#~ msgstr "选择你的电话区号"
-
#: src/view/screens/LanguageSettings.tsx:190
msgid "Select your preferred language for translations in your feed."
msgstr "选择你在订阅信息流中希望进行翻译的目标首选语言。"
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:116
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:117
msgid "Select your primary algorithmic feeds"
msgstr "选择你的信息流主要算法"
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:142
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:133
msgid "Select your secondary algorithmic feeds"
msgstr "选择你的信息流次要算法"
@@ -3556,69 +3943,48 @@ msgstr "选择你的信息流次要算法"
msgid "Send Confirmation Email"
msgstr "发送确认电子邮件"
-#: src/view/com/modals/DeleteAccount.tsx:131
+#: src/view/com/modals/DeleteAccount.tsx:130
msgid "Send email"
msgstr "发送电子邮件"
-#: src/view/com/modals/DeleteAccount.tsx:144
+#: src/view/com/modals/DeleteAccount.tsx:143
msgctxt "action"
msgid "Send Email"
msgstr "发送电子邮件"
-#: src/view/shell/Drawer.tsx:295
-#: src/view/shell/Drawer.tsx:316
+#: src/view/shell/Drawer.tsx:304
+#: src/view/shell/Drawer.tsx:325
msgid "Send feedback"
msgstr "提交反馈"
-#: src/view/com/modals/report/SendReportButton.tsx:45
-msgid "Send Report"
+#: src/components/ReportDialog/SubmitView.tsx:213
+#: src/components/ReportDialog/SubmitView.tsx:217
+msgid "Send report"
msgstr "提交举报"
-#: src/view/com/modals/DeleteAccount.tsx:133
+#: src/components/ReportDialog/SelectLabelerView.tsx:44
+msgid "Send report to {0}"
+msgstr "给 {0} 提交举报"
+
+#: src/view/com/modals/DeleteAccount.tsx:132
msgid "Sends email with confirmation code for account deletion"
msgstr "发送包含账户删除验证码的电子邮件"
-#: src/view/com/auth/server-input/index.tsx:110
+#: src/view/com/auth/server-input/index.tsx:114
msgid "Server address"
msgstr "服务器地址"
-#: src/view/com/modals/ContentFilteringSettings.tsx:311
-msgid "Set {value} for {labelGroup} content moderation policy"
-msgstr "为 {labelGroup} 内容审核政策设置 {value}"
+#: src/screens/Moderation/index.tsx:304
+msgid "Set birthdate"
+msgstr "设置生日"
-#: src/view/com/modals/ContentFilteringSettings.tsx:160
-#: src/view/com/modals/ContentFilteringSettings.tsx:179
-msgctxt "action"
-msgid "Set Age"
-msgstr "设置年龄"
-
-#: src/view/screens/Settings/index.tsx:488
-msgid "Set color theme to dark"
-msgstr "设置主题为深色模式"
-
-#: src/view/screens/Settings/index.tsx:481
-msgid "Set color theme to light"
-msgstr "设置主题为亮色模式"
-
-#: src/view/screens/Settings/index.tsx:475
-msgid "Set color theme to system setting"
-msgstr "设置主题跟随系统设置"
-
-#: src/view/screens/Settings/index.tsx:514
-msgid "Set dark theme to the dark theme"
-msgstr "设置深色模式至深黑"
-
-#: src/view/screens/Settings/index.tsx:507
-msgid "Set dark theme to the dim theme"
-msgstr "设置深色模式至暗淡"
-
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:104
+#: src/screens/Login/SetNewPasswordForm.tsx:102
msgid "Set new password"
msgstr "设置新密码"
#: src/view/com/auth/create/Step1.tsx:202
-msgid "Set password"
-msgstr "设置密码"
+#~ msgid "Set password"
+#~ msgstr "设置密码"
#: src/view/screens/PreferencesFollowingFeed.tsx:225
msgid "Set this setting to \"No\" to hide all quote posts from your feed. Reposts will still be visible."
@@ -3636,40 +4002,68 @@ msgstr "停用此设置项以隐藏来自订阅信息流的所有转发。"
msgid "Set this setting to \"Yes\" to show replies in a threaded view. This is an experimental feature."
msgstr "启用此设置项以在分层视图中显示回复。这是一个实验性功能。"
-#: src/view/screens/PreferencesHomeFeed.tsx:261
-#~ msgid "Set this setting to \"Yes\" to show samples of your saved feeds in your following feed. This is an experimental feature."
-#~ msgstr "启用此设置项以在关注信息流中显示已保存信息流的样例。这是一个实验性功能。"
-
#: src/view/screens/PreferencesFollowingFeed.tsx:261
msgid "Set this setting to \"Yes\" to show samples of your saved feeds in your Following feed. This is an experimental feature."
msgstr "启用此设置项以在关注信息流中显示已保存信息流的样例。这是一个实验性功能。"
-#: src/screens/Onboarding/Layout.tsx:50
+#: src/screens/Onboarding/Layout.tsx:48
msgid "Set up your account"
msgstr "设置你的账户"
-#: src/view/com/modals/ChangeHandle.tsx:266
+#: src/view/com/modals/ChangeHandle.tsx:267
msgid "Sets Bluesky username"
msgstr "设置 Bluesky 用户名"
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:157
+#: src/view/screens/Settings/index.tsx:458
+msgid "Sets color theme to dark"
+msgstr "设置主题为深色模式"
+
+#: src/view/screens/Settings/index.tsx:451
+msgid "Sets color theme to light"
+msgstr "设置主题为亮色模式"
+
+#: src/view/screens/Settings/index.tsx:445
+msgid "Sets color theme to system setting"
+msgstr "设置主题跟随系统设置"
+
+#: src/view/screens/Settings/index.tsx:484
+msgid "Sets dark theme to the dark theme"
+msgstr "设置深色模式至深黑"
+
+#: src/view/screens/Settings/index.tsx:477
+msgid "Sets dark theme to the dim theme"
+msgstr "设置深色模式至暗淡"
+
+#: src/screens/Login/ForgotPasswordForm.tsx:113
msgid "Sets email for password reset"
msgstr "设置用于重置密码的电子邮箱"
#: src/view/com/auth/login/ForgotPasswordForm.tsx:122
-msgid "Sets hosting provider for password reset"
-msgstr "设置用于密码重置的托管提供商信息"
+#~ msgid "Sets hosting provider for password reset"
+#~ msgstr "设置用于密码重置的托管提供商信息"
+
+#: src/view/com/modals/crop-image/CropImage.web.tsx:124
+msgid "Sets image aspect ratio to square"
+msgstr "将图片纵横比设置为正方形"
+
+#: src/view/com/modals/crop-image/CropImage.web.tsx:114
+msgid "Sets image aspect ratio to tall"
+msgstr "将图片纵横比设置为高"
+
+#: src/view/com/modals/crop-image/CropImage.web.tsx:104
+msgid "Sets image aspect ratio to wide"
+msgstr "将图片纵横比设置为宽"
#: src/view/com/auth/create/Step1.tsx:97
-#: src/view/com/auth/login/LoginForm.tsx:151
-msgid "Sets server for the Bluesky client"
-msgstr "设置 Bluesky 客户端的服务器"
+#: src/view/com/auth/login/LoginForm.tsx:154
+#~ msgid "Sets server for the Bluesky client"
+#~ msgstr "设置 Bluesky 客户端的服务器"
-#: src/Navigation.tsx:137
-#: src/view/screens/Settings/index.tsx:294
-#: src/view/shell/desktop/LeftNav.tsx:433
-#: src/view/shell/Drawer.tsx:567
-#: src/view/shell/Drawer.tsx:568
+#: src/Navigation.tsx:139
+#: src/view/screens/Settings/index.tsx:316
+#: src/view/shell/desktop/LeftNav.tsx:437
+#: src/view/shell/Drawer.tsx:576
+#: src/view/shell/Drawer.tsx:577
msgid "Settings"
msgstr "设置"
@@ -3677,28 +4071,49 @@ msgstr "设置"
msgid "Sexual activity or erotic nudity."
msgstr "性行为或性暗示裸露。"
+#: src/lib/moderation/useGlobalLabelStrings.ts:38
+msgid "Sexually Suggestive"
+msgstr "性暗示"
+
#: src/view/com/lightbox/Lightbox.tsx:141
msgctxt "action"
msgid "Share"
msgstr "分享"
-#: src/view/com/profile/ProfileHeader.tsx:295
-#: src/view/com/util/forms/PostDropdownBtn.tsx:231
-#: src/view/com/util/forms/PostDropdownBtn.tsx:237
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:215
-#: src/view/screens/ProfileList.tsx:418
+#: src/view/com/profile/ProfileMenu.tsx:215
+#: src/view/com/profile/ProfileMenu.tsx:224
+#: src/view/com/util/forms/PostDropdownBtn.tsx:236
+#: src/view/com/util/forms/PostDropdownBtn.tsx:245
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:237
+#: src/view/screens/ProfileList.tsx:390
msgid "Share"
msgstr "分享"
-#: src/view/screens/ProfileFeed.tsx:305
+#: src/view/com/profile/ProfileMenu.tsx:373
+#: src/view/com/util/forms/PostDropdownBtn.tsx:369
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:253
+msgid "Share anyway"
+msgstr "仍然分享"
+
+#: src/view/screens/ProfileFeed.tsx:373
+#: src/view/screens/ProfileFeed.tsx:375
msgid "Share feed"
msgstr "分享信息流"
-#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:43
-#: src/view/com/modals/ContentFilteringSettings.tsx:266
-#: src/view/com/util/moderation/ContentHider.tsx:107
-#: src/view/com/util/moderation/PostHider.tsx:108
-#: src/view/screens/Settings/index.tsx:344
+#: src/view/com/modals/LinkWarning.tsx:89
+#: src/view/com/modals/LinkWarning.tsx:95
+msgid "Share Link"
+msgstr ""
+
+#: src/view/com/modals/LinkWarning.tsx:92
+msgid "Shares the linked website"
+msgstr ""
+
+#: src/components/moderation/ContentHider.tsx:115
+#: src/components/moderation/LabelPreference.tsx:136
+#: src/components/moderation/PostHider.tsx:107
+#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:54
+#: src/view/screens/Settings/index.tsx:366
msgid "Show"
msgstr "显示"
@@ -3706,21 +4121,31 @@ msgstr "显示"
msgid "Show all replies"
msgstr "显示所有回复"
-#: src/view/com/util/moderation/ScreenHider.tsx:132
+#: src/components/moderation/ScreenHider.tsx:169
+#: src/components/moderation/ScreenHider.tsx:172
msgid "Show anyway"
msgstr "仍然显示"
-#: src/view/com/modals/EmbedConsent.tsx:87
-msgid "Show embeds from {0}"
-msgstr "显示来自 {0} 的嵌入内容"
+#: src/lib/moderation/useLabelBehaviorDescription.ts:27
+#: src/lib/moderation/useLabelBehaviorDescription.ts:63
+msgid "Show badge"
+msgstr "显示徽章"
-#: src/view/com/profile/ProfileHeader.tsx:459
+#: src/lib/moderation/useLabelBehaviorDescription.ts:61
+msgid "Show badge and filter from feeds"
+msgstr "显示徽章并从信息流中过滤"
+
+#: src/view/com/modals/EmbedConsent.tsx:87
+#~ msgid "Show embeds from {0}"
+#~ msgstr "显示来自 {0} 的嵌入内容"
+
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:200
msgid "Show follows similar to {0}"
msgstr "显示类似于 {0} 的关注者"
-#: src/view/com/post-thread/PostThreadItem.tsx:538
-#: src/view/com/post/Post.tsx:198
-#: src/view/com/posts/FeedItem.tsx:363
+#: src/view/com/post-thread/PostThreadItem.tsx:501
+#: src/view/com/post/Post.tsx:212
+#: src/view/com/posts/FeedItem.tsx:360
msgid "Show More"
msgstr "显示更多"
@@ -3732,15 +4157,15 @@ msgstr "在自定义信息流中显示帖子"
msgid "Show Quote Posts"
msgstr "显示引用帖子"
-#: src/screens/Onboarding/StepFollowingFeed.tsx:118
+#: src/screens/Onboarding/StepFollowingFeed.tsx:119
msgid "Show quote-posts in Following feed"
msgstr "在关注信息流中显示引用"
-#: src/screens/Onboarding/StepFollowingFeed.tsx:134
+#: src/screens/Onboarding/StepFollowingFeed.tsx:135
msgid "Show quotes in Following"
msgstr "在关注中显示引用"
-#: src/screens/Onboarding/StepFollowingFeed.tsx:94
+#: src/screens/Onboarding/StepFollowingFeed.tsx:95
msgid "Show re-posts in Following feed"
msgstr "在关注信息流中显示转发"
@@ -3752,11 +4177,11 @@ msgstr "显示回复"
msgid "Show replies by people you follow before all other replies."
msgstr "在所有其他回复之前显示你关注的人的回复。"
-#: src/screens/Onboarding/StepFollowingFeed.tsx:86
+#: src/screens/Onboarding/StepFollowingFeed.tsx:87
msgid "Show replies in Following"
msgstr "在关注中显示回复"
-#: src/screens/Onboarding/StepFollowingFeed.tsx:70
+#: src/screens/Onboarding/StepFollowingFeed.tsx:71
msgid "Show replies in Following feed"
msgstr "在关注信息流中显示回复"
@@ -3768,131 +4193,137 @@ msgstr "显示至少包含 {value} 个 {0} 的回复"
msgid "Show Reposts"
msgstr "显示转发"
-#: src/screens/Onboarding/StepFollowingFeed.tsx:110
+#: src/screens/Onboarding/StepFollowingFeed.tsx:111
msgid "Show reposts in Following"
msgstr "在关注中显示转发"
-#: src/view/com/util/moderation/ContentHider.tsx:67
-#: src/view/com/util/moderation/PostHider.tsx:61
+#: src/components/moderation/ContentHider.tsx:68
+#: src/components/moderation/PostHider.tsx:64
msgid "Show the content"
msgstr "显示内容"
-#: src/view/com/notifications/FeedItem.tsx:347
+#: src/view/com/notifications/FeedItem.tsx:353
msgid "Show users"
msgstr "显示用户"
-#: src/view/com/profile/ProfileHeader.tsx:462
-msgid "Shows a list of users similar to this user."
-msgstr "显示与该用户相似的用户列表。"
+#: src/lib/moderation/useLabelBehaviorDescription.ts:58
+msgid "Show warning"
+msgstr "显示警告"
-#: src/view/com/post-thread/PostThreadFollowBtn.tsx:124
-#: src/view/com/profile/ProfileHeader.tsx:506
+#: src/lib/moderation/useLabelBehaviorDescription.ts:56
+msgid "Show warning and filter from feeds"
+msgstr "显示警告并从信息流中过滤"
+
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:130
msgid "Shows posts from {0} in your feed"
msgstr "在你的信息流中显示来自 {0} 的帖子"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:70
-#: src/view/com/auth/login/Login.tsx:98
-#: src/view/com/auth/SplashScreen.tsx:79
-#: src/view/shell/bottom-bar/BottomBar.tsx:285
-#: src/view/shell/bottom-bar/BottomBar.tsx:286
-#: src/view/shell/bottom-bar/BottomBar.tsx:288
+#: src/components/dialogs/Signin.tsx:97
+#: src/components/dialogs/Signin.tsx:99
+#: src/screens/Login/index.tsx:100
+#: src/screens/Login/index.tsx:119
+#: src/screens/Login/LoginForm.tsx:131
+#: src/view/com/auth/SplashScreen.tsx:63
+#: src/view/com/auth/SplashScreen.tsx:72
+#: src/view/com/auth/SplashScreen.web.tsx:107
+#: src/view/com/auth/SplashScreen.web.tsx:116
+#: src/view/shell/bottom-bar/BottomBar.tsx:301
+#: src/view/shell/bottom-bar/BottomBar.tsx:302
+#: src/view/shell/bottom-bar/BottomBar.tsx:304
#: src/view/shell/bottom-bar/BottomBarWeb.tsx:178
#: src/view/shell/bottom-bar/BottomBarWeb.tsx:179
#: src/view/shell/bottom-bar/BottomBarWeb.tsx:181
-#: src/view/shell/NavSignupCard.tsx:58
-#: src/view/shell/NavSignupCard.tsx:59
+#: src/view/shell/NavSignupCard.tsx:63
+#: src/view/shell/NavSignupCard.tsx:64
+#: src/view/shell/NavSignupCard.tsx:66
msgid "Sign in"
msgstr "登录"
-#: src/view/com/auth/HomeLoggedOutCTA.tsx:78
-#: src/view/com/auth/SplashScreen.tsx:82
+#: src/view/com/auth/HomeLoggedOutCTA.tsx:82
+#: src/view/com/auth/SplashScreen.tsx:86
#: src/view/com/auth/SplashScreen.web.tsx:91
-msgid "Sign In"
-msgstr "登录"
+#~ msgid "Sign In"
+#~ msgstr "登录"
-#: src/view/com/auth/login/ChooseAccountForm.tsx:44
+#: src/components/AccountList.tsx:109
msgid "Sign in as {0}"
msgstr "以 {0} 登录"
-#: src/view/com/auth/login/ChooseAccountForm.tsx:118
-#: src/view/com/auth/login/Login.tsx:116
+#: src/screens/Login/ChooseAccountForm.tsx:64
msgid "Sign in as..."
msgstr "登录为..."
-#: src/view/com/auth/login/LoginForm.tsx:137
-msgid "Sign into"
-msgstr "登录到"
+#: src/components/dialogs/Signin.tsx:75
+msgid "Sign in or create your account to join the conversation!"
+msgstr ""
-#: src/view/com/modals/SwitchAccount.tsx:64
-#: src/view/com/modals/SwitchAccount.tsx:69
-#: src/view/screens/Settings/index.tsx:100
-#: src/view/screens/Settings/index.tsx:103
+#: src/view/com/auth/login/LoginForm.tsx:140
+#~ msgid "Sign into"
+#~ msgstr "登录到"
+
+#: src/components/dialogs/Signin.tsx:46
+msgid "Sign into Bluesky or create a new account"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:118
+#: src/view/screens/Settings/index.tsx:121
msgid "Sign out"
msgstr "登出"
-#: src/view/shell/bottom-bar/BottomBar.tsx:275
-#: src/view/shell/bottom-bar/BottomBar.tsx:276
-#: src/view/shell/bottom-bar/BottomBar.tsx:278
+#: src/view/shell/bottom-bar/BottomBar.tsx:291
+#: src/view/shell/bottom-bar/BottomBar.tsx:292
+#: src/view/shell/bottom-bar/BottomBar.tsx:294
#: src/view/shell/bottom-bar/BottomBarWeb.tsx:168
#: src/view/shell/bottom-bar/BottomBarWeb.tsx:169
#: src/view/shell/bottom-bar/BottomBarWeb.tsx:171
-#: src/view/shell/NavSignupCard.tsx:49
-#: src/view/shell/NavSignupCard.tsx:50
-#: src/view/shell/NavSignupCard.tsx:52
+#: src/view/shell/NavSignupCard.tsx:54
+#: src/view/shell/NavSignupCard.tsx:55
+#: src/view/shell/NavSignupCard.tsx:57
msgid "Sign up"
msgstr "注册"
-#: src/view/shell/NavSignupCard.tsx:42
+#: src/view/shell/NavSignupCard.tsx:47
msgid "Sign up or sign in to join the conversation"
msgstr "注册或登录以加入对话"
-#: src/view/com/util/moderation/ScreenHider.tsx:76
+#: src/components/moderation/ScreenHider.tsx:97
+#: src/lib/moderation/useGlobalLabelStrings.ts:28
msgid "Sign-in Required"
msgstr "需要登录"
-#: src/view/screens/Settings/index.tsx:355
+#: src/view/screens/Settings/index.tsx:377
msgid "Signed in as"
msgstr "登录身份"
-#: src/view/com/auth/login/ChooseAccountForm.tsx:103
+#: src/screens/Login/ChooseAccountForm.tsx:48
msgid "Signed in as @{0}"
msgstr "以 @{0} 身份登录"
-#: src/view/com/modals/SwitchAccount.tsx:66
-msgid "Signs {0} out of Bluesky"
-msgstr "从 {0} 登出 Bluesky"
+#: src/view/com/modals/SwitchAccount.tsx:70
+#~ msgid "Signs {0} out of Bluesky"
+#~ msgstr "从 {0} 登出 Bluesky"
-#: src/screens/Onboarding/StepInterests/index.tsx:235
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:195
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:33
+#: src/screens/Onboarding/StepInterests/index.tsx:239
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:203
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:35
msgid "Skip"
msgstr "跳过"
-#: src/screens/Onboarding/StepInterests/index.tsx:232
+#: src/screens/Onboarding/StepInterests/index.tsx:236
msgid "Skip this flow"
msgstr "跳过此流程"
-#: src/view/com/auth/create/Step2.tsx:82
-#~ msgid "SMS verification"
-#~ msgstr "短信验证"
-
#: src/screens/Onboarding/index.tsx:40
msgid "Software Dev"
msgstr "程序开发"
-#: src/view/com/modals/ProfilePreview.tsx:62
-#~ msgid "Something went wrong and we're not sure what."
-#~ msgstr "出了点问题,原因不明。"
+#: src/components/ReportDialog/index.tsx:59
+#: src/screens/Moderation/index.tsx:114
+#: src/screens/Profile/Sections/Labels.tsx:87
+msgid "Something went wrong, please try again."
+msgstr "出了点问题,请重试。"
-#: src/components/Lists.tsx:203
-msgid "Something went wrong!"
-msgstr "出了点问题!"
-
-#: src/view/com/modals/Waitlist.tsx:51
-#~ msgid "Something went wrong. Check your email and try again."
-#~ msgstr "出了点问题,请检查你的电子邮箱并重试。"
-
-#: src/App.native.tsx:66
+#: src/App.native.tsx:64
msgid "Sorry! Your session expired. Please log in again."
msgstr "很抱歉,你的登录会话已过期,请重新登录。"
@@ -3904,57 +4335,82 @@ msgstr "回复排序"
msgid "Sort replies to the same post by:"
msgstr "对同一帖子的回复进行排序:"
+#: src/components/moderation/LabelsOnMeDialog.tsx:146
+msgid "Source:"
+msgstr "来源:"
+
+#: src/lib/moderation/useReportOptions.ts:65
+msgid "Spam"
+msgstr "垃圾内容"
+
+#: src/lib/moderation/useReportOptions.ts:53
+msgid "Spam; excessive mentions or replies"
+msgstr "垃圾内容;过多的提及或回复"
+
#: src/screens/Onboarding/index.tsx:30
msgid "Sports"
msgstr "运动"
-#: src/view/com/modals/crop-image/CropImage.web.tsx:122
+#: src/view/com/modals/crop-image/CropImage.web.tsx:123
msgid "Square"
msgstr "方块"
-#: src/view/com/modals/ServerInput.tsx:62
-#~ msgid "Staging"
-#~ msgstr "暂存"
-
-#: src/view/screens/Settings/index.tsx:871
+#: src/view/screens/Settings/index.tsx:867
msgid "Status page"
msgstr "状态页"
-#: src/view/com/auth/create/StepHeader.tsx:22
-msgid "Step {0} of {numSteps}"
-msgstr "第 {0} 步,共 {numSteps} 步"
+#: src/screens/Signup/index.tsx:143
+msgid "Step"
+msgstr ""
-#: src/view/screens/Settings/index.tsx:274
+#: src/view/com/auth/create/StepHeader.tsx:22
+#~ msgid "Step {0} of {numSteps}"
+#~ msgstr "第 {0} 步,共 {numSteps} 步"
+
+#: src/view/screens/Settings/index.tsx:295
msgid "Storage cleared, you need to restart the app now."
msgstr "已清除存储,请立即重启应用。"
-#: src/Navigation.tsx:204
-#: src/view/screens/Settings/index.tsx:807
+#: src/Navigation.tsx:211
+#: src/view/screens/Settings/index.tsx:795
msgid "Storybook"
msgstr "Storybook"
-#: src/view/com/modals/AppealLabel.tsx:101
+#: src/components/moderation/LabelsOnMeDialog.tsx:255
+#: src/components/moderation/LabelsOnMeDialog.tsx:256
msgid "Submit"
msgstr "提交"
-#: src/view/screens/ProfileList.tsx:608
+#: src/view/screens/ProfileList.tsx:592
msgid "Subscribe"
msgstr "订阅"
-#: src/screens/Onboarding/StepAlgoFeeds/FeedCard.tsx:173
-#: src/screens/Onboarding/StepAlgoFeeds/FeedCard.tsx:308
+#: src/screens/Profile/Sections/Labels.tsx:191
+msgid "Subscribe to @{0} to use these labels:"
+msgstr "订阅 @{0} 以使用这些标记:"
+
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:227
+msgid "Subscribe to Labeler"
+msgstr "订阅标记者"
+
+#: src/screens/Onboarding/StepAlgoFeeds/FeedCard.tsx:172
+#: src/screens/Onboarding/StepAlgoFeeds/FeedCard.tsx:307
msgid "Subscribe to the {0} feed"
msgstr "订阅 {0} 信息流"
-#: src/view/screens/ProfileList.tsx:604
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:191
+msgid "Subscribe to this labeler"
+msgstr "订阅这个标记者"
+
+#: src/view/screens/ProfileList.tsx:588
msgid "Subscribe to this list"
msgstr "订阅这个列表"
-#: src/view/screens/Search/Search.tsx:374
+#: src/view/screens/Search/Search.tsx:523
msgid "Suggested Follows"
msgstr "推荐的关注者"
-#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:64
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:65
msgid "Suggested for you"
msgstr "为你推荐"
@@ -3962,39 +4418,34 @@ msgstr "为你推荐"
msgid "Suggestive"
msgstr "建议"
-#: src/Navigation.tsx:214
+#: src/Navigation.tsx:226
#: src/view/screens/Support.tsx:30
#: src/view/screens/Support.tsx:33
msgid "Support"
msgstr "支持"
-#: src/view/com/modals/ProfilePreview.tsx:110
-#~ msgid "Swipe up to see more"
-#~ msgstr "向上滑动查看更多"
-
-#: src/view/com/modals/SwitchAccount.tsx:117
+#: src/components/dialogs/SwitchAccount.tsx:46
+#: src/components/dialogs/SwitchAccount.tsx:49
msgid "Switch Account"
msgstr "切换账户"
-#: src/view/com/modals/SwitchAccount.tsx:97
-#: src/view/screens/Settings/index.tsx:130
+#: src/view/screens/Settings/index.tsx:150
msgid "Switch to {0}"
msgstr "切换到 {0}"
-#: src/view/com/modals/SwitchAccount.tsx:98
-#: src/view/screens/Settings/index.tsx:131
+#: src/view/screens/Settings/index.tsx:151
msgid "Switches the account you are logged in to"
msgstr "切换你登录的账户"
-#: src/view/screens/Settings/index.tsx:472
+#: src/view/screens/Settings/index.tsx:442
msgid "System"
msgstr "系统"
-#: src/view/screens/Settings/index.tsx:795
+#: src/view/screens/Settings/index.tsx:783
msgid "System log"
msgstr "系统日志"
-#: src/components/dialogs/MutedWords.tsx:337
+#: src/components/dialogs/MutedWords.tsx:323
msgid "tag"
msgstr "话题标签"
@@ -4002,11 +4453,7 @@ msgstr "话题标签"
msgid "Tag menu: {displayTag}"
msgstr "话题标签菜单:{displayTag}"
-#: src/components/TagMenu/index.tsx:74
-#~ msgid "Tag menu: {tag}"
-#~ msgstr "话题标签菜单:{tag}"
-
-#: src/view/com/modals/crop-image/CropImage.web.tsx:112
+#: src/view/com/modals/crop-image/CropImage.web.tsx:113
msgid "Tall"
msgstr "高"
@@ -4022,30 +4469,49 @@ msgstr "科技"
msgid "Terms"
msgstr "条款"
-#: src/Navigation.tsx:224
-#: src/view/screens/Settings/index.tsx:885
+#: src/Navigation.tsx:236
+#: src/screens/Signup/StepInfo/Policies.tsx:49
+#: src/view/screens/Settings/index.tsx:881
#: src/view/screens/TermsOfService.tsx:29
-#: src/view/shell/Drawer.tsx:256
+#: src/view/shell/Drawer.tsx:265
msgid "Terms of Service"
msgstr "服务条款"
-#: src/components/dialogs/MutedWords.tsx:337
+#: src/lib/moderation/useReportOptions.ts:58
+#: src/lib/moderation/useReportOptions.ts:79
+#: src/lib/moderation/useReportOptions.ts:87
+msgid "Terms used violate community standards"
+msgstr "用词违反了社群准则"
+
+#: src/components/dialogs/MutedWords.tsx:323
msgid "text"
msgstr "文本"
-#: src/view/com/modals/AppealLabel.tsx:70
-#: src/view/com/modals/report/InputIssueDetails.tsx:51
+#: src/components/moderation/LabelsOnMeDialog.tsx:219
msgid "Text input field"
msgstr "文本输入框"
-#: src/view/com/auth/create/CreateAccount.tsx:94
+#: src/components/ReportDialog/SubmitView.tsx:76
+msgid "Thank you. Your report has been sent."
+msgstr "谢谢,你的举报已提交。"
+
+#: src/view/com/modals/ChangeHandle.tsx:465
+msgid "That contains the following:"
+msgstr "其中包含以下内容:"
+
+#: src/screens/Signup/index.tsx:85
msgid "That handle is already taken."
msgstr "该用户识别符已被占用"
-#: src/view/com/profile/ProfileHeader.tsx:263
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:282
+#: src/view/com/profile/ProfileMenu.tsx:349
msgid "The account will be able to interact with you after unblocking."
msgstr "解除屏蔽后,该账户将能够与你互动。"
+#: src/components/moderation/ModerationDetailsDialog.tsx:127
+msgid "the author"
+msgstr "作者"
+
#: src/view/screens/CommunityGuidelines.tsx:36
msgid "The Community Guidelines have been moved to <0/>"
msgstr "社群准则已迁移至 <0/>"
@@ -4054,11 +4520,20 @@ msgstr "社群准则已迁移至 <0/>"
msgid "The Copyright Policy has been moved to <0/>"
msgstr "版权许可已迁移至 <0/>"
-#: src/screens/Onboarding/Layout.tsx:60
+#: src/components/moderation/LabelsOnMeDialog.tsx:48
+msgid "The following labels were applied to your account."
+msgstr "以下标记已应用到你的账户。"
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:49
+msgid "The following labels were applied to your content."
+msgstr "以下标记已应用到你的内容。"
+
+#: src/screens/Onboarding/Layout.tsx:58
msgid "The following steps will help customize your Bluesky experience."
msgstr "以下步骤将帮助定制你的 Bluesky 体验。"
-#: src/view/com/post-thread/PostThread.tsx:517
+#: src/view/com/post-thread/PostThread.tsx:153
+#: src/view/com/post-thread/PostThread.tsx:165
msgid "The post may have been deleted."
msgstr "此帖子可能已被删除。"
@@ -4074,35 +4549,35 @@ msgstr "支持表单已被移除。如果你需要帮助,请点击<0/>或访
msgid "The Terms of Service have been moved to"
msgstr "服务条款已迁移至"
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:150
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:141
msgid "There are many feeds to try:"
msgstr "这里有些信息流你可以尝试:"
-#: src/view/screens/ProfileFeed.tsx:550
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:114
+#: src/view/screens/ProfileFeed.tsx:556
msgid "There was an an issue contacting the server, please check your internet connection and try again."
msgstr "连接至服务器时出现问题,请检查你的互联网连接并重试。"
-#: src/view/com/posts/FeedErrorMessage.tsx:139
+#: src/view/com/posts/FeedErrorMessage.tsx:138
msgid "There was an an issue removing this feed. Please check your internet connection and try again."
msgstr "删除信息流时出现问题,请检查你的互联网连接并重试。"
-#: src/view/screens/ProfileFeed.tsx:210
+#: src/view/screens/ProfileFeed.tsx:219
msgid "There was an an issue updating your feeds, please check your internet connection and try again."
msgstr "更新信息流时出现问题,请检查你的互联网连接并重试。"
-#: src/view/screens/ProfileFeed.tsx:237
-#: src/view/screens/ProfileList.tsx:267
-#: src/view/screens/SavedFeeds.tsx:209
-#: src/view/screens/SavedFeeds.tsx:231
-#: src/view/screens/SavedFeeds.tsx:252
+#: src/view/screens/ProfileFeed.tsx:247
+#: src/view/screens/ProfileList.tsx:277
+#: src/view/screens/SavedFeeds.tsx:211
+#: src/view/screens/SavedFeeds.tsx:241
+#: src/view/screens/SavedFeeds.tsx:262
msgid "There was an issue contacting the server"
msgstr "连接服务器时出现问题"
#: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:57
#: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:66
-#: src/view/com/feeds/FeedSourceCard.tsx:115
-#: src/view/com/feeds/FeedSourceCard.tsx:129
-#: src/view/com/feeds/FeedSourceCard.tsx:183
+#: src/view/com/feeds/FeedSourceCard.tsx:110
+#: src/view/com/feeds/FeedSourceCard.tsx:123
msgid "There was an issue contacting your server"
msgstr "连接服务器时出现问题"
@@ -4110,7 +4585,7 @@ msgstr "连接服务器时出现问题"
msgid "There was an issue fetching notifications. Tap here to try again."
msgstr "刷新通知时出现问题,点击重试。"
-#: src/view/com/posts/Feed.tsx:265
+#: src/view/com/posts/Feed.tsx:287
msgid "There was an issue fetching posts. Tap here to try again."
msgstr "刷新帖子时出现问题,点击重试。"
@@ -4118,39 +4593,45 @@ msgstr "刷新帖子时出现问题,点击重试。"
msgid "There was an issue fetching the list. Tap here to try again."
msgstr "刷新列表时出现问题,点击重试。"
-#: src/view/com/feeds/ProfileFeedgens.tsx:148
-#: src/view/com/lists/ProfileLists.tsx:155
+#: src/view/com/feeds/ProfileFeedgens.tsx:156
+#: src/view/com/lists/ProfileLists.tsx:163
msgid "There was an issue fetching your lists. Tap here to try again."
msgstr "刷新列表时出现问题,点击重试。"
-#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:63
-#: src/view/com/modals/ContentFilteringSettings.tsx:126
+#: src/components/ReportDialog/SubmitView.tsx:81
+msgid "There was an issue sending your report. Please check your internet connection."
+msgstr "提交举报时出现问题,请检查你的网络连接。"
+
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:65
msgid "There was an issue syncing your preferences with the server"
msgstr "与服务器同步首选项时出现问题"
-#: src/view/screens/AppPasswords.tsx:66
+#: src/view/screens/AppPasswords.tsx:68
msgid "There was an issue with fetching your app passwords"
msgstr "获取应用专用密码时出现问题"
-#: src/view/com/post-thread/PostThreadFollowBtn.tsx:93
-#: src/view/com/post-thread/PostThreadFollowBtn.tsx:105
-#: src/view/com/profile/ProfileHeader.tsx:157
-#: src/view/com/profile/ProfileHeader.tsx:178
-#: src/view/com/profile/ProfileHeader.tsx:217
-#: src/view/com/profile/ProfileHeader.tsx:230
-#: src/view/com/profile/ProfileHeader.tsx:250
-#: src/view/com/profile/ProfileHeader.tsx:272
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:105
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:127
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:141
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:99
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:111
+#: src/view/com/profile/ProfileMenu.tsx:106
+#: src/view/com/profile/ProfileMenu.tsx:117
+#: src/view/com/profile/ProfileMenu.tsx:132
+#: src/view/com/profile/ProfileMenu.tsx:143
+#: src/view/com/profile/ProfileMenu.tsx:157
+#: src/view/com/profile/ProfileMenu.tsx:170
msgid "There was an issue! {0}"
msgstr "出现问题了!{0}"
-#: src/view/screens/ProfileList.tsx:288
-#: src/view/screens/ProfileList.tsx:307
-#: src/view/screens/ProfileList.tsx:329
-#: src/view/screens/ProfileList.tsx:348
+#: src/view/screens/ProfileList.tsx:290
+#: src/view/screens/ProfileList.tsx:304
+#: src/view/screens/ProfileList.tsx:318
+#: src/view/screens/ProfileList.tsx:332
msgid "There was an issue. Please check your internet connection and try again."
msgstr "出现问题了,请检查你的互联网连接并重试。"
-#: src/view/com/util/ErrorBoundary.tsx:36
+#: src/view/com/util/ErrorBoundary.tsx:51
msgid "There was an unexpected issue in the application. Please let us know if this happened to you!"
msgstr "应用发生意外错误,请联系我们进行错误反馈!"
@@ -4158,27 +4639,36 @@ msgstr "应用发生意外错误,请联系我们进行错误反馈!"
msgid "There's been a rush of new users to Bluesky! We'll activate your account as soon as we can."
msgstr "Bluesky 迎来了大量新用户!我们将尽快激活你的账户。"
-#: src/view/com/auth/create/Step2.tsx:55
-#~ msgid "There's something wrong with this number. Please choose your country and enter your full phone number!"
-#~ msgstr "电话号码有误,请选择电话区号并输入完整的电话号码!"
-
-#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:138
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:146
msgid "These are popular accounts you might like:"
-msgstr "这里是一些受欢迎的账号,你可能会喜欢:"
+msgstr "这里是一些受欢迎的账户,你可能会喜欢:"
-#: src/view/com/util/moderation/ScreenHider.tsx:88
+#: src/components/moderation/ScreenHider.tsx:116
msgid "This {screenDescription} has been flagged:"
msgstr "{screenDescription} 已被标记:"
-#: src/view/com/util/moderation/ScreenHider.tsx:83
+#: src/components/moderation/ScreenHider.tsx:111
msgid "This account has requested that users sign in to view their profile."
-msgstr "此账号要求用户登录后才能查看其个人资料。"
+msgstr "此账户要求用户登录后才能查看其个人资料。"
-#: src/view/com/modals/EmbedConsent.tsx:68
+#: src/components/moderation/LabelsOnMeDialog.tsx:204
+msgid "This appeal will be sent to <0>{0}0>."
+msgstr "此申诉将发送至 <0>{0}0>。"
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:19
+msgid "This content has been hidden by the moderators."
+msgstr "此内容已被限制者隐藏。"
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:24
+msgid "This content has received a general warning from moderators."
+msgstr "此内容已受到限制者设置的一般警告。"
+
+#: src/components/dialogs/EmbedConsent.tsx:64
msgid "This content is hosted by {0}. Do you want to enable external media?"
msgstr "此内容由 {0} 托管。是否要启用外部媒体?"
-#: src/view/com/modals/ModerationDetails.tsx:67
+#: src/components/moderation/ModerationDetailsDialog.tsx:77
+#: src/lib/moderation/useModerationCauseDescription.ts:77
msgid "This content is not available because one of the users involved has blocked the other."
msgstr "由于其中一个用户屏蔽了另一个用户,此内容不可用。"
@@ -4187,16 +4677,16 @@ msgid "This content is not viewable without a Bluesky account."
msgstr "没有 Bluesky 账户,无法查看此内容。"
#: src/view/screens/Settings/ExportCarDialog.tsx:75
-msgid "This feature is in beta. You can read more about repository exports in <0>this blogpost.0>"
-msgstr "该功能正在测试。你可以在<0>这篇博客文章0>中获得关于导出数据的更多信息。"
+msgid "This feature is in beta. You can read more about repository exports in <0>this blogpost0>."
+msgstr "该功能正在测试,你可以在<0>这篇博客文章0>中获得关于导出数据的更多信息。"
#: src/view/com/posts/FeedErrorMessage.tsx:114
msgid "This feed is currently receiving high traffic and is temporarily unavailable. Please try again later."
msgstr "该信息流当前使用人数较多,服务暂时不可用。请稍后再试。"
-#: src/view/screens/Profile.tsx:420
-#: src/view/screens/ProfileFeed.tsx:476
-#: src/view/screens/ProfileList.tsx:661
+#: src/screens/Profile/Sections/Feed.tsx:59
+#: src/view/screens/ProfileFeed.tsx:488
+#: src/view/screens/ProfileList.tsx:677
msgid "This feed is empty!"
msgstr "该信息流为空!"
@@ -4204,7 +4694,7 @@ msgstr "该信息流为空!"
msgid "This feed is empty! You may need to follow more users or tune your language settings."
msgstr "该信息流为空!你或许需要先关注更多的人或检查你的语言设置。"
-#: src/view/com/modals/BirthDateSettings.tsx:61
+#: src/components/dialogs/BirthDateSettings.tsx:41
msgid "This information is not shared with other users."
msgstr "此信息不会分享给其他用户。"
@@ -4212,15 +4702,27 @@ msgstr "此信息不会分享给其他用户。"
msgid "This is important in case you ever need to change your email or reset your password."
msgstr "这很重要,以防你将来需要更改电子邮箱或重置密码。"
-#: src/view/com/modals/LinkWarning.tsx:58
+#: src/components/moderation/ModerationDetailsDialog.tsx:124
+msgid "This label was applied by {0}."
+msgstr "此标记由 {0} 应用。"
+
+#: src/screens/Profile/Sections/Labels.tsx:178
+msgid "This labeler hasn't declared what labels it publishes, and may not be active."
+msgstr "此标记者尚未声明他发布的标记,并且可能处于非活跃状态。"
+
+#: src/view/com/modals/LinkWarning.tsx:72
msgid "This link is taking you to the following website:"
msgstr "此链接将带你到以下网站:"
-#: src/view/screens/ProfileList.tsx:839
+#: src/view/screens/ProfileList.tsx:855
msgid "This list is empty!"
msgstr "此列表为空!"
-#: src/view/com/modals/AddAppPasswords.tsx:106
+#: src/screens/Profile/ErrorState.tsx:40
+msgid "This moderation service is unavailable. See below for more details. If this issue persists, contact us."
+msgstr "此限制提供服务不可用,请查看下方获取更多详情。如果问题持续存在,请联系我们。"
+
+#: src/view/com/modals/AddAppPasswords.tsx:107
msgid "This name is already in use"
msgstr "该名称已被使用"
@@ -4228,36 +4730,66 @@ msgstr "该名称已被使用"
msgid "This post has been deleted."
msgstr "此帖子已被删除。"
-#: src/view/com/modals/ModerationDetails.tsx:62
+#: src/view/com/util/forms/PostDropdownBtn.tsx:366
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:250
+msgid "This post is only visible to logged-in users. It won't be visible to people who aren't logged in."
+msgstr "此帖子只对已登录用户可见,未登录的用户将无法看到。"
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:348
+msgid "This post will be hidden from feeds."
+msgstr "此帖子将从信息流中隐藏。"
+
+#: src/view/com/profile/ProfileMenu.tsx:370
+msgid "This profile is only visible to logged-in users. It won't be visible to people who aren't logged in."
+msgstr "此个人资料只对已登录用户可见,未登录的用户将无法看到。"
+
+#: src/screens/Signup/StepInfo/Policies.tsx:37
+msgid "This service has not provided terms of service or a privacy policy."
+msgstr "此服务没有提供服务条款或隐私政策。"
+
+#: src/view/com/modals/ChangeHandle.tsx:445
+msgid "This should create a domain record at:"
+msgstr "应该在以下位置创建一个域名记录:"
+
+#: src/view/com/profile/ProfileFollowers.tsx:87
+msgid "This user doesn't have any followers."
+msgstr "此用户目前没有任何关注者。"
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:72
+#: src/lib/moderation/useModerationCauseDescription.ts:68
msgid "This user has blocked you. You cannot view their content."
msgstr "此用户已将你屏蔽,你将无法看到他所发布的内容。"
-#: src/view/com/modals/ModerationDetails.tsx:42
-msgid "This user is included in the <0/> list which you have blocked."
-msgstr "此用户包含在你已屏蔽的 <0/> 列表中。"
+#: src/lib/moderation/useGlobalLabelStrings.ts:30
+msgid "This user has requested that their content only be shown to signed-in users."
+msgstr "此用户要求其发布内容仅对已登录用户可见。"
-#: src/view/com/modals/ModerationDetails.tsx:74
-msgid "This user is included in the <0/> list which you have muted."
-msgstr "此用户包含在你已隐藏的 <0/> 列表中。"
+#: src/components/moderation/ModerationDetailsDialog.tsx:55
+msgid "This user is included in the <0>{0}0> list which you have blocked."
+msgstr "此用户包含在你已屏蔽的 <0>{0}0> 列表中。"
-#: src/view/com/modals/ModerationDetails.tsx:74
-#~ msgid "This user is included the <0/> list which you have muted."
-#~ msgstr "此用户包含在你已隐藏的 <0/> 列表中。"
+#: src/components/moderation/ModerationDetailsDialog.tsx:84
+msgid "This user is included in the <0>{0}0> list which you have muted."
+msgstr "此用户包含在你已隐藏的 <0>{0}0> 列表中。"
+
+#: src/view/com/profile/ProfileFollows.tsx:87
+msgid "This user isn't following anyone."
+msgstr "此账户目前没有关注任何人。"
#: src/view/com/modals/SelfLabel.tsx:137
msgid "This warning is only available for posts with media attached."
msgstr "此警告仅适用于附带媒体的帖子。"
-#: src/components/dialogs/MutedWords.tsx:285
+#: src/components/dialogs/MutedWords.tsx:283
msgid "This will delete {0} from your muted words. You can always add it back later."
msgstr "这将从你的隐藏词中删除 {0}。你随时可以重新添加。"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:282
-msgid "This will hide this post from your feeds."
-msgstr "这将在你的信息流中隐藏此帖子。"
+#: src/view/screens/Settings/index.tsx:525
+msgid "Thread preferences"
+msgstr "讨论串首选项"
#: src/view/screens/PreferencesThreads.tsx:53
-#: src/view/screens/Settings/index.tsx:565
+#: src/view/screens/Settings/index.tsx:535
msgid "Thread Preferences"
msgstr "讨论串首选项"
@@ -4265,11 +4797,15 @@ msgstr "讨论串首选项"
msgid "Threaded Mode"
msgstr "讨论串模式"
-#: src/Navigation.tsx:257
+#: src/Navigation.tsx:269
msgid "Threads Preferences"
msgstr "讨论串首选项"
-#: src/components/dialogs/MutedWords.tsx:113
+#: src/components/ReportDialog/SelectLabelerView.tsx:33
+msgid "To whom would you like to send this report?"
+msgstr "你想将举报提交给谁?"
+
+#: src/components/dialogs/MutedWords.tsx:112
msgid "Toggle between muted word options."
msgstr "在隐藏词选项之间切换。"
@@ -4277,14 +4813,22 @@ msgstr "在隐藏词选项之间切换。"
msgid "Toggle dropdown"
msgstr "切换下拉式菜单"
-#: src/view/com/modals/EditImage.tsx:271
+#: src/screens/Moderation/index.tsx:332
+msgid "Toggle to enable or disable adult content"
+msgstr "切换以启用或禁用成人内容"
+
+#: src/view/screens/Search/Search.tsx:427
+msgid "Top"
+msgstr ""
+
+#: src/view/com/modals/EditImage.tsx:272
msgid "Transformations"
msgstr "转换"
-#: src/view/com/post-thread/PostThreadItem.tsx:685
-#: src/view/com/post-thread/PostThreadItem.tsx:687
-#: src/view/com/util/forms/PostDropdownBtn.tsx:215
-#: src/view/com/util/forms/PostDropdownBtn.tsx:217
+#: src/view/com/post-thread/PostThreadItem.tsx:638
+#: src/view/com/post-thread/PostThreadItem.tsx:640
+#: src/view/com/util/forms/PostDropdownBtn.tsx:220
+#: src/view/com/util/forms/PostDropdownBtn.tsx:222
msgid "Translate"
msgstr "翻译"
@@ -4293,63 +4837,89 @@ msgctxt "action"
msgid "Try again"
msgstr "重试"
-#: src/view/screens/ProfileList.tsx:506
+#: src/view/com/modals/ChangeHandle.tsx:428
+msgid "Type:"
+msgstr "类型:"
+
+#: src/view/screens/ProfileList.tsx:480
msgid "Un-block list"
msgstr "取消屏蔽列表"
-#: src/view/screens/ProfileList.tsx:491
+#: src/view/screens/ProfileList.tsx:463
msgid "Un-mute list"
msgstr "取消隐藏列表"
-#: src/view/com/auth/create/CreateAccount.tsx:58
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:87
-#: src/view/com/auth/login/Login.tsx:76
-#: src/view/com/auth/login/LoginForm.tsx:118
+#: src/screens/Login/ForgotPasswordForm.tsx:74
+#: src/screens/Login/index.tsx:78
+#: src/screens/Login/LoginForm.tsx:119
+#: src/screens/Login/SetNewPasswordForm.tsx:77
+#: src/screens/Signup/index.tsx:64
#: src/view/com/modals/ChangePassword.tsx:70
msgid "Unable to contact your service. Please check your Internet connection."
msgstr "无法连接到服务,请检查互联网连接。"
-#: src/view/com/profile/ProfileHeader.tsx:433
-#: src/view/screens/ProfileList.tsx:590
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:181
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:286
+#: src/view/com/profile/ProfileMenu.tsx:361
+#: src/view/screens/ProfileList.tsx:574
msgid "Unblock"
msgstr "取消屏蔽"
-#: src/view/com/profile/ProfileHeader.tsx:436
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:186
msgctxt "action"
msgid "Unblock"
msgstr "取消屏蔽"
-#: src/view/com/profile/ProfileHeader.tsx:261
-#: src/view/com/profile/ProfileHeader.tsx:345
+#: src/view/com/profile/ProfileMenu.tsx:299
+#: src/view/com/profile/ProfileMenu.tsx:305
msgid "Unblock Account"
-msgstr "取消屏蔽"
+msgstr "取消屏蔽账户"
-#: src/view/com/modals/Repost.tsx:42
-#: src/view/com/modals/Repost.tsx:55
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:280
+#: src/view/com/profile/ProfileMenu.tsx:343
+msgid "Unblock Account?"
+msgstr "取消屏蔽账户?"
+
+#: src/view/com/modals/Repost.tsx:43
+#: src/view/com/modals/Repost.tsx:56
#: src/view/com/util/post-ctrls/RepostButton.tsx:60
#: src/view/com/util/post-ctrls/RepostButton.web.tsx:48
msgid "Undo repost"
msgstr "取消转发"
-#: src/view/com/profile/FollowButton.tsx:55
+#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:141
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:248
+msgid "Unfollow"
+msgstr "取消关注"
+
+#: src/view/com/profile/FollowButton.tsx:60
msgctxt "action"
msgid "Unfollow"
msgstr "取消关注"
-#: src/view/com/profile/ProfileHeader.tsx:485
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:220
msgid "Unfollow {0}"
msgstr "取消关注 {0}"
-#: src/view/com/auth/create/state.ts:262
-msgid "Unfortunately, you do not meet the requirements to create an account."
-msgstr "很遗憾,你不符合创建账户的要求。"
+#: src/view/com/profile/ProfileMenu.tsx:241
+#: src/view/com/profile/ProfileMenu.tsx:251
+msgid "Unfollow Account"
+msgstr "取消关注账户"
-#: src/view/com/util/post-ctrls/PostCtrls.tsx:182
+#: src/view/com/auth/create/state.ts:262
+#~ msgid "Unfortunately, you do not meet the requirements to create an account."
+#~ msgstr "很遗憾,你不符合创建账户的要求。"
+
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:197
msgid "Unlike"
msgstr "取消喜欢"
+#: src/view/screens/ProfileFeed.tsx:585
+msgid "Unlike this feed"
+msgstr "取消喜欢这个信息流"
+
#: src/components/TagMenu/index.tsx:249
-#: src/view/screens/ProfileList.tsx:597
+#: src/view/screens/ProfileList.tsx:581
msgid "Unmute"
msgstr "取消隐藏"
@@ -4357,7 +4927,8 @@ msgstr "取消隐藏"
msgid "Unmute {truncatedTag}"
msgstr "取消隐藏 {truncatedTag}"
-#: src/view/com/profile/ProfileHeader.tsx:326
+#: src/view/com/profile/ProfileMenu.tsx:278
+#: src/view/com/profile/ProfileMenu.tsx:284
msgid "Unmute Account"
msgstr "取消隐藏账户"
@@ -4365,49 +4936,84 @@ msgstr "取消隐藏账户"
msgid "Unmute all {displayTag} posts"
msgstr "取消隐藏所有 {displayTag} 帖子"
-#: src/components/TagMenu/index.tsx:210
-#~ msgid "Unmute all {tag} posts"
-#~ msgstr ""
-
-#: src/view/com/util/forms/PostDropdownBtn.tsx:251
-#: src/view/com/util/forms/PostDropdownBtn.tsx:256
+#: src/view/com/util/forms/PostDropdownBtn.tsx:269
+#: src/view/com/util/forms/PostDropdownBtn.tsx:274
msgid "Unmute thread"
msgstr "取消隐藏讨论串"
-#: src/view/screens/ProfileFeed.tsx:354
-#: src/view/screens/ProfileList.tsx:581
+#: src/view/screens/ProfileFeed.tsx:306
+#: src/view/screens/ProfileList.tsx:565
msgid "Unpin"
msgstr "取消固定"
-#: src/view/screens/ProfileList.tsx:474
+#: src/view/screens/ProfileFeed.tsx:303
+msgid "Unpin from home"
+msgstr "从主页取消固定"
+
+#: src/view/screens/ProfileList.tsx:446
msgid "Unpin moderation list"
msgstr "取消固定限制列表"
-#: src/view/screens/ProfileFeed.tsx:346
-msgid "Unsave"
-msgstr "取消保存"
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:225
+msgid "Unsubscribe"
+msgstr "取消订阅"
+
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:190
+msgid "Unsubscribe from this labeler"
+msgstr "取消订阅此标记者"
+
+#: src/lib/moderation/useReportOptions.ts:70
+msgid "Unwanted Sexual Content"
+msgstr "不受欢迎的性内容"
#: src/view/com/modals/UserAddRemoveLists.tsx:70
msgid "Update {displayName} in Lists"
msgstr "更新列表中的 {displayName}"
-#: src/lib/hooks/useOTAUpdate.ts:15
-msgid "Update Available"
-msgstr "更新可用"
+#: src/view/com/modals/ChangeHandle.tsx:508
+msgid "Update to {handle}"
+msgstr "更新至 {handle}"
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:204
+#: src/screens/Login/SetNewPasswordForm.tsx:186
msgid "Updating..."
msgstr "更新中..."
-#: src/view/com/modals/ChangeHandle.tsx:455
+#: src/view/com/modals/ChangeHandle.tsx:454
msgid "Upload a text file to:"
msgstr "将文本文件上传至:"
-#: src/view/screens/AppPasswords.tsx:195
+#: src/view/com/util/UserAvatar.tsx:328
+#: src/view/com/util/UserAvatar.tsx:331
+#: src/view/com/util/UserBanner.tsx:116
+#: src/view/com/util/UserBanner.tsx:119
+msgid "Upload from Camera"
+msgstr "从相机上传"
+
+#: src/view/com/util/UserAvatar.tsx:345
+#: src/view/com/util/UserBanner.tsx:133
+msgid "Upload from Files"
+msgstr "从文件上传"
+
+#: src/view/com/util/UserAvatar.tsx:339
+#: src/view/com/util/UserAvatar.tsx:343
+#: src/view/com/util/UserBanner.tsx:127
+#: src/view/com/util/UserBanner.tsx:131
+msgid "Upload from Library"
+msgstr "从媒体库上传"
+
+#: src/view/com/modals/ChangeHandle.tsx:408
+msgid "Use a file on your server"
+msgstr "使用你服务器上的文件"
+
+#: src/view/screens/AppPasswords.tsx:197
msgid "Use app passwords to login to other Bluesky clients without giving full access to your account or password."
msgstr "使用应用专用密码登录到其他 Bluesky 客户端,而无需对其授予你账户或密码的完全访问权限。"
-#: src/view/com/modals/ChangeHandle.tsx:515
+#: src/view/com/modals/ChangeHandle.tsx:517
+msgid "Use bsky.social as hosting provider"
+msgstr "使用 bsky.social 作为域名提供商"
+
+#: src/view/com/modals/ChangeHandle.tsx:516
msgid "Use default provider"
msgstr "使用默认提供商"
@@ -4421,54 +5027,63 @@ msgstr "使用内置浏览器"
msgid "Use my default browser"
msgstr "使用系统默认浏览器"
-#: src/view/com/modals/AddAppPasswords.tsx:155
+#: src/view/com/modals/ChangeHandle.tsx:400
+msgid "Use the DNS panel"
+msgstr "使用 DNS 面板"
+
+#: src/view/com/modals/AddAppPasswords.tsx:156
msgid "Use this to sign into the other app along with your handle."
msgstr "使用这个和你的用户识别符一起登录其他应用。"
-#: src/view/com/modals/ServerInput.tsx:105
-#~ msgid "Use your domain as your Bluesky client service provider"
-#~ msgstr "使用你的域名作为 Bluesky 客户端的服务提供方"
-
-#: src/view/com/modals/InviteCodes.tsx:200
+#: src/view/com/modals/InviteCodes.tsx:201
msgid "Used by:"
msgstr "使用者:"
-#: src/view/com/modals/ModerationDetails.tsx:54
+#: src/components/moderation/ModerationDetailsDialog.tsx:64
+#: src/lib/moderation/useModerationCauseDescription.ts:56
msgid "User Blocked"
msgstr "用户被屏蔽"
-#: src/view/com/modals/ModerationDetails.tsx:40
+#: src/lib/moderation/useModerationCauseDescription.ts:48
+msgid "User Blocked by \"{0}\""
+msgstr "用户被 \"{0}\" 屏蔽"
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:53
msgid "User Blocked by List"
msgstr "用户被列表屏蔽"
-#: src/view/com/modals/ModerationDetails.tsx:60
+#: src/lib/moderation/useModerationCauseDescription.ts:66
+msgid "User Blocking You"
+msgstr "用户屏蔽了你"
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:70
msgid "User Blocks You"
msgstr "用户屏蔽了你"
#: src/view/com/auth/create/Step2.tsx:79
-msgid "User handle"
-msgstr "用户识别符"
+#~ msgid "User handle"
+#~ msgstr "用户识别符"
#: src/view/com/lists/ListCard.tsx:85
#: src/view/com/modals/UserAddRemoveLists.tsx:198
msgid "User list by {0}"
msgstr "{0} 的用户列表"
-#: src/view/screens/ProfileList.tsx:763
+#: src/view/screens/ProfileList.tsx:779
msgid "User list by <0/>"
msgstr "<0/> 的用户列表"
#: src/view/com/lists/ListCard.tsx:83
#: src/view/com/modals/UserAddRemoveLists.tsx:196
-#: src/view/screens/ProfileList.tsx:761
+#: src/view/screens/ProfileList.tsx:777
msgid "User list by you"
msgstr "你的用户列表"
-#: src/view/com/modals/CreateOrEditList.tsx:196
+#: src/view/com/modals/CreateOrEditList.tsx:197
msgid "User list created"
msgstr "用户列表已创建"
-#: src/view/com/modals/CreateOrEditList.tsx:182
+#: src/view/com/modals/CreateOrEditList.tsx:183
msgid "User list updated"
msgstr "用户列表已更新"
@@ -4476,12 +5091,13 @@ msgstr "用户列表已更新"
msgid "User Lists"
msgstr "用户列表"
-#: src/view/com/auth/login/LoginForm.tsx:177
-#: src/view/com/auth/login/LoginForm.tsx:195
+#: src/screens/Login/LoginForm.tsx:151
msgid "Username or email address"
msgstr "用户名或电子邮箱"
-#: src/view/screens/ProfileList.tsx:797
+#: src/view/screens/ProfileList.tsx:813
+#: src/view/screens/Search/Search.tsx:473
+#: src/view/screens/Search/Search.tsx:482
msgid "Users"
msgstr "用户"
@@ -4493,19 +5109,27 @@ msgstr "关注 <0/> 的用户"
msgid "Users in \"{0}\""
msgstr "\"{0}\"中的用户"
-#: src/view/com/auth/create/Step2.tsx:243
-#~ msgid "Verification code"
-#~ msgstr "验证码"
+#: src/components/LikesDialog.tsx:85
+msgid "Users that have liked this content or profile"
+msgstr "已喜欢此内容或个人资料的账户"
-#: src/view/screens/Settings/index.tsx:910
+#: src/view/com/modals/ChangeHandle.tsx:436
+msgid "Value:"
+msgstr "值:"
+
+#: src/view/com/modals/ChangeHandle.tsx:509
+msgid "Verify {0}"
+msgstr "验证 {0}"
+
+#: src/view/screens/Settings/index.tsx:906
msgid "Verify email"
msgstr "验证邮箱"
-#: src/view/screens/Settings/index.tsx:935
+#: src/view/screens/Settings/index.tsx:931
msgid "Verify my email"
msgstr "验证我的邮箱"
-#: src/view/screens/Settings/index.tsx:944
+#: src/view/screens/Settings/index.tsx:940
msgid "Verify My Email"
msgstr "验证我的邮箱"
@@ -4518,11 +5142,15 @@ msgstr "验证新的邮箱"
msgid "Verify Your Email"
msgstr "验证你的邮箱"
+#: src/view/screens/Settings/index.tsx:857
+msgid "Version {0}"
+msgstr ""
+
#: src/screens/Onboarding/index.tsx:42
msgid "Video Games"
msgstr "电子游戏"
-#: src/view/com/profile/ProfileHeader.tsx:662
+#: src/screens/Profile/Header/Shell.tsx:107
msgid "View {0}'s avatar"
msgstr "查看{0}的头像"
@@ -4530,11 +5158,25 @@ msgstr "查看{0}的头像"
msgid "View debug entry"
msgstr "查看调试入口"
-#: src/view/com/posts/FeedSlice.tsx:103
+#: src/components/ReportDialog/SelectReportOptionView.tsx:132
+msgid "View details"
+msgstr "查看详情"
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:127
+msgid "View details for reporting a copyright violation"
+msgstr "查看举报版权侵权的详情"
+
+#: src/view/com/posts/FeedSlice.tsx:99
msgid "View full thread"
msgstr "查看整个讨论串"
-#: src/view/com/posts/FeedErrorMessage.tsx:172
+#: src/components/moderation/LabelsOnMe.tsx:51
+msgid "View information about these labels"
+msgstr "查看此标记的详情"
+
+#: src/components/ProfileHoverCard/index.web.tsx:264
+#: src/components/ProfileHoverCard/index.web.tsx:293
+#: src/view/com/posts/FeedErrorMessage.tsx:166
msgid "View profile"
msgstr "查看个人资料"
@@ -4542,20 +5184,39 @@ msgstr "查看个人资料"
msgid "View the avatar"
msgstr "查看头像"
-#: src/view/com/modals/LinkWarning.tsx:75
+#: src/components/LabelingServiceCard/index.tsx:140
+msgid "View the labeling service provided by @{0}"
+msgstr "查看 @{0} 提供的标记服务。"
+
+#: src/view/screens/ProfileFeed.tsx:597
+msgid "View users who like this feed"
+msgstr "查看此信息流被谁喜欢"
+
+#: src/view/com/modals/LinkWarning.tsx:89
+#: src/view/com/modals/LinkWarning.tsx:95
msgid "Visit Site"
msgstr "访问网站"
-#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:42
-#: src/view/com/modals/ContentFilteringSettings.tsx:259
+#: src/components/moderation/LabelPreference.tsx:135
+#: src/lib/moderation/useLabelBehaviorDescription.ts:17
+#: src/lib/moderation/useLabelBehaviorDescription.ts:22
+#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:53
msgid "Warn"
msgstr "警告"
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:134
-msgid "We also think you'll like \"For You\" by Skygaze:"
-msgstr "我们认为还你会喜欢 Skygaze 所维护的 \"For You\":"
+#: src/lib/moderation/useLabelBehaviorDescription.ts:48
+msgid "Warn content"
+msgstr "警告内容"
-#: src/screens/Hashtag.tsx:132
+#: src/lib/moderation/useLabelBehaviorDescription.ts:46
+msgid "Warn content and filter from feeds"
+msgstr "警告内容并从信息流中过滤"
+
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:134
+#~ msgid "We also think you'll like \"For You\" by Skygaze:"
+#~ msgstr "我们认为还你会喜欢 Skygaze 所维护的 \"For You\":"
+
+#: src/screens/Hashtag.tsx:133
msgid "We couldn't find any results for that hashtag."
msgstr "找不到任何与该话题标签相关的结果。"
@@ -4563,7 +5224,7 @@ msgstr "找不到任何与该话题标签相关的结果。"
msgid "We estimate {estimatedTime} until your account is ready."
msgstr "我们估计还需要 {estimatedTime} 才能完成你的账户准备。"
-#: src/screens/Onboarding/StepFinished.tsx:93
+#: src/screens/Onboarding/StepFinished.tsx:97
msgid "We hope you have a wonderful time. Remember, Bluesky is:"
msgstr "我们希望你在此度过愉快的时光。请记住,Bluesky 是:"
@@ -4571,15 +5232,23 @@ msgstr "我们希望你在此度过愉快的时光。请记住,Bluesky 是:"
msgid "We ran out of posts from your follows. Here's the latest from <0/>."
msgstr "我们已经看完了你关注的帖子。这是来自 <0/> 的最新消息。"
-#: src/components/dialogs/MutedWords.tsx:204
+#: src/components/dialogs/MutedWords.tsx:203
msgid "We recommend avoiding common words that appear in many posts, since it can result in no posts being shown."
-msgstr "不建议您使用会出现在许多帖子中的常见词汇,这可能导致你的时间线上没有帖子可显示。"
+msgstr "不建议你使用会出现在许多帖子中的常见词汇,这可能导致你的时间线上没有帖子可显示。"
-#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:124
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:125
msgid "We recommend our \"Discover\" feed:"
msgstr "我们推荐我们的 \"Discover\" 信息流:"
-#: src/screens/Onboarding/StepInterests/index.tsx:133
+#: src/components/dialogs/BirthDateSettings.tsx:52
+msgid "We were unable to load your birth date preferences. Please try again."
+msgstr "我们无法加载你的生日首选项,请重试。"
+
+#: src/screens/Moderation/index.tsx:385
+msgid "We were unable to load your configured labelers at this time."
+msgstr "我们暂时无法记载你已配置的标记者。"
+
+#: src/screens/Onboarding/StepInterests/index.tsx:137
msgid "We weren't able to connect. Please try again to continue setting up your account. If it continues to fail, you can skip this flow."
msgstr "我们无法连接到互联网,请重试以继续设置你的账户。如果仍继续失败,你可以选择跳过此流程。"
@@ -4587,49 +5256,46 @@ msgstr "我们无法连接到互联网,请重试以继续设置你的账户。
msgid "We will let you know when your account is ready."
msgstr "我们会在你的账户准备好时通知你。"
-#: src/view/com/modals/AppealLabel.tsx:48
-msgid "We'll look into your appeal promptly."
-msgstr "我们将迅速审查你的申诉。"
-
-#: src/screens/Onboarding/StepInterests/index.tsx:138
+#: src/screens/Onboarding/StepInterests/index.tsx:142
msgid "We'll use this to help customize your experience."
msgstr "我们将使用这些信息来帮助定制你的体验。"
-#: src/view/com/auth/create/CreateAccount.tsx:134
+#: src/screens/Signup/index.tsx:131
msgid "We're so excited to have you join us!"
msgstr "我们非常高兴你加入我们!"
-#: src/view/screens/ProfileList.tsx:86
+#: src/view/screens/ProfileList.tsx:90
msgid "We're sorry, but we were unable to resolve this list. If this persists, please contact the list creator, @{handleOrDid}."
msgstr "很抱歉,我们无法解析此列表。如果问题持续发生,请联系列表创建者,@{handleOrDid}。"
-#: src/components/dialogs/MutedWords.tsx:230
+#: src/components/dialogs/MutedWords.tsx:229
msgid "We're sorry, but we weren't able to load your muted words at this time. Please try again."
msgstr "很抱歉,我们无法加载你的隐藏词列表。请重试。"
-#: src/view/screens/Search/Search.tsx:254
+#: src/view/screens/Search/Search.tsx:322
msgid "We're sorry, but your search could not be completed. Please try again in a few minutes."
msgstr "很抱歉,无法完成你的搜索。请稍后再试。"
-#: src/components/Lists.tsx:211
+#: src/components/Lists.tsx:188
#: src/view/screens/NotFound.tsx:48
msgid "We're sorry! We can't find the page you were looking for."
msgstr "很抱歉!我们找不到你正在寻找的页面。"
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:46
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:327
+msgid "We're sorry! You can only subscribe to ten labelers, and you've reached your limit of ten."
+msgstr "很抱歉!你目前只能订阅 10 个标记者,你已达到 10 个的限制。"
+
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:48
msgid "Welcome to <0>Bluesky0>"
msgstr "欢迎来到 <0>Bluesky0>"
-#: src/screens/Onboarding/StepInterests/index.tsx:130
+#: src/screens/Onboarding/StepInterests/index.tsx:134
msgid "What are your interests?"
msgstr "你感兴趣的是什么?"
-#: src/view/com/modals/report/Modal.tsx:169
-msgid "What is the issue with this {collectionName}?"
-msgstr "这个 {collectionName} 有什么问题?"
-
-#: src/view/com/auth/SplashScreen.tsx:59
-#: src/view/com/composer/Composer.tsx:286
+#: src/view/com/auth/SplashScreen.tsx:40
+#: src/view/com/auth/SplashScreen.web.tsx:81
+#: src/view/com/composer/Composer.tsx:296
msgid "What's up?"
msgstr "发生了什么新鲜事?"
@@ -4646,16 +5312,36 @@ msgstr "你想在算法信息流中看到哪些语言?"
msgid "Who can reply"
msgstr "谁可以回复"
-#: src/view/com/modals/crop-image/CropImage.web.tsx:102
+#: src/components/ReportDialog/SelectReportOptionView.tsx:43
+msgid "Why should this content be reviewed?"
+msgstr "为什么应该审核此内容?"
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:56
+msgid "Why should this feed be reviewed?"
+msgstr "为什么应该审核此信息流?"
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:53
+msgid "Why should this list be reviewed?"
+msgstr "为什么应该审核此列表?"
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:50
+msgid "Why should this post be reviewed?"
+msgstr "为什么应该审核此帖子?"
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:47
+msgid "Why should this user be reviewed?"
+msgstr "为什么应该审核此用户?"
+
+#: src/view/com/modals/crop-image/CropImage.web.tsx:103
msgid "Wide"
msgstr "宽"
-#: src/view/com/composer/Composer.tsx:422
+#: src/view/com/composer/Composer.tsx:436
msgid "Write post"
msgstr "撰写帖子"
-#: src/view/com/composer/Composer.tsx:285
-#: src/view/com/composer/Prompt.tsx:33
+#: src/view/com/composer/Composer.tsx:295
+#: src/view/com/composer/Prompt.tsx:37
msgid "Write your reply"
msgstr "撰写你的回复"
@@ -4663,10 +5349,6 @@ msgstr "撰写你的回复"
msgid "Writers"
msgstr "作家"
-#: src/view/com/auth/create/Step2.tsx:263
-#~ msgid "XXXXXX"
-#~ msgstr "XXXXXX"
-
#: src/view/com/composer/select-language/SuggestedLanguage.tsx:77
#: src/view/screens/PreferencesFollowingFeed.tsx:129
#: src/view/screens/PreferencesFollowingFeed.tsx:201
@@ -4681,101 +5363,132 @@ msgstr "启用"
msgid "You are in line."
msgstr "轮到你了。"
+#: src/view/com/profile/ProfileFollows.tsx:86
+msgid "You are not following anyone."
+msgstr "你没有关注任何账户。"
+
#: src/view/com/posts/FollowingEmptyState.tsx:67
#: src/view/com/posts/FollowingEndOfFeed.tsx:68
msgid "You can also discover new Custom Feeds to follow."
msgstr "你也可以探索新的自定义信息流来关注。"
-#: src/screens/Onboarding/StepFollowingFeed.tsx:142
+#: src/screens/Onboarding/StepFollowingFeed.tsx:143
msgid "You can change these settings later."
msgstr "你可以稍后在设置中更改。"
-#: src/view/com/auth/login/Login.tsx:158
-#: src/view/com/auth/login/PasswordUpdatedForm.tsx:31
+#: src/screens/Login/index.tsx:158
+#: src/screens/Login/PasswordUpdatedForm.tsx:33
msgid "You can now sign in with your new password."
msgstr "你现在可以使用新密码登录。"
-#: src/view/com/modals/InviteCodes.tsx:66
+#: src/view/com/profile/ProfileFollowers.tsx:86
+msgid "You do not have any followers."
+msgstr "你目前还没有任何关注者。"
+
+#: src/view/com/modals/InviteCodes.tsx:67
msgid "You don't have any invite codes yet! We'll send you some when you've been on Bluesky for a little longer."
msgstr "你目前还没有邀请码!当你持续使用 Bluesky 一段时间后,我们将提供一些新的邀请码给你。"
-#: src/view/screens/SavedFeeds.tsx:102
+#: src/view/screens/SavedFeeds.tsx:103
msgid "You don't have any pinned feeds."
msgstr "你目前还没有任何固定的信息流。"
-#: src/view/screens/Feeds.tsx:452
+#: src/view/screens/Feeds.tsx:477
msgid "You don't have any saved feeds!"
msgstr "你目前还没有任何保存的信息流!"
-#: src/view/screens/SavedFeeds.tsx:135
+#: src/view/screens/SavedFeeds.tsx:136
msgid "You don't have any saved feeds."
msgstr "你目前还没有任何保存的信息流。"
-#: src/view/com/post-thread/PostThread.tsx:465
+#: src/view/com/post-thread/PostThread.tsx:159
msgid "You have blocked the author or you have been blocked by the author."
msgstr "你已屏蔽该帖子作者,或你已被该作者屏蔽。"
-#: src/view/com/modals/ModerationDetails.tsx:56
+#: src/components/moderation/ModerationDetailsDialog.tsx:66
+#: src/lib/moderation/useModerationCauseDescription.ts:50
+#: src/lib/moderation/useModerationCauseDescription.ts:58
msgid "You have blocked this user. You cannot view their content."
msgstr "你已屏蔽了此用户,你将无法查看他们发布的内容。"
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:57
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:92
+#: src/screens/Login/SetNewPasswordForm.tsx:54
+#: src/screens/Login/SetNewPasswordForm.tsx:91
#: src/view/com/modals/ChangePassword.tsx:87
#: src/view/com/modals/ChangePassword.tsx:121
msgid "You have entered an invalid code. It should look like XXXXX-XXXXX."
msgstr "你输入的确认码无效。它应该长得像这样 XXXXX-XXXXX。"
-#: src/view/com/modals/ModerationDetails.tsx:87
-msgid "You have muted this user."
-msgstr "你已隐藏这个用户。"
+#: src/lib/moderation/useModerationCauseDescription.ts:109
+msgid "You have hidden this post"
+msgstr "你已隐藏此帖子"
-#: src/view/com/feeds/ProfileFeedgens.tsx:136
+#: src/components/moderation/ModerationDetailsDialog.tsx:101
+msgid "You have hidden this post."
+msgstr "你已隐藏此帖子。"
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:94
+#: src/lib/moderation/useModerationCauseDescription.ts:92
+msgid "You have muted this account."
+msgstr "你已隐藏此账户。"
+
+#: src/lib/moderation/useModerationCauseDescription.ts:86
+msgid "You have muted this user"
+msgstr "你已隐藏此用户"
+
+#: src/view/com/feeds/ProfileFeedgens.tsx:144
msgid "You have no feeds."
msgstr "你没有订阅信息流。"
#: src/view/com/lists/MyLists.tsx:89
-#: src/view/com/lists/ProfileLists.tsx:140
+#: src/view/com/lists/ProfileLists.tsx:148
msgid "You have no lists."
msgstr "你没有列表。"
-#: src/view/screens/ModerationBlockedAccounts.tsx:132
-msgid "You have not blocked any accounts yet. To block an account, go to their profile and selected \"Block account\" from the menu on their account."
-msgstr "你还没有屏蔽任何账号。要屏蔽账号,请转到其个人资料并在其账号上的菜单中选择 \"屏蔽账号\"。"
+#: src/view/screens/ModerationBlockedAccounts.tsx:138
+msgid "You have not blocked any accounts yet. To block an account, go to their profile and select \"Block account\" from the menu on their account."
+msgstr "你还没有屏蔽任何账户。要屏蔽账户,请转到其个人资料并在其账户上的菜单中选择 \"屏蔽账户\"。"
-#: src/view/screens/AppPasswords.tsx:87
+#: src/view/screens/AppPasswords.tsx:89
msgid "You have not created any app passwords yet. You can create one by pressing the button below."
msgstr "你尚未创建任何应用专用密码,可以通过点击下面的按钮来创建一个。"
-#: src/view/screens/ModerationMutedAccounts.tsx:131
-msgid "You have not muted any accounts yet. To mute an account, go to their profile and selected \"Mute account\" from the menu on their account."
-msgstr "你还没有隐藏任何账号。要隐藏账号,请转到其个人资料并在其账号上的菜单中选择 \"隐藏账号\"。"
+#: src/view/screens/ModerationMutedAccounts.tsx:136
+msgid "You have not muted any accounts yet. To mute an account, go to their profile and select \"Mute account\" from the menu on their account."
+msgstr "你还没有隐藏任何账户。要隐藏账户,请转到其个人资料并在其账户上的菜单中选择 \"隐藏账户\"。"
-#: src/components/dialogs/MutedWords.tsx:250
+#: src/components/dialogs/MutedWords.tsx:249
msgid "You haven't muted any words or tags yet"
msgstr "你还没有隐藏任何词或话题标签"
-#: src/view/com/modals/ContentFilteringSettings.tsx:175
-msgid "You must be 18 or older to enable adult content."
-msgstr "你必须年满18岁及以上才能启用成人内容。"
+#: src/components/moderation/LabelsOnMeDialog.tsx:68
+msgid "You may appeal these labels if you feel they were placed in error."
+msgstr "如果你认为这些标记是错误的,你可以申诉这些标记。"
-#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:103
+#: src/screens/Signup/StepInfo/Policies.tsx:79
+msgid "You must be 13 years of age or older to sign up."
+msgstr ""
+
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:110
msgid "You must be 18 years or older to enable adult content"
msgstr "你必须年满18岁及以上才能启用成人内容"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:147
+#: src/components/ReportDialog/SubmitView.tsx:203
+msgid "You must select at least one labeler for a report"
+msgstr "你必须选择至少一个标记者进行举报"
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:150
msgid "You will no longer receive notifications for this thread"
msgstr "你将不再收到这条讨论串的通知"
-#: src/view/com/util/forms/PostDropdownBtn.tsx:150
+#: src/view/com/util/forms/PostDropdownBtn.tsx:153
msgid "You will now receive notifications for this thread"
msgstr "你将收到这条讨论串的通知"
-#: src/view/com/auth/login/SetNewPasswordForm.tsx:107
+#: src/screens/Login/SetNewPasswordForm.tsx:104
msgid "You will receive an email with a \"reset code.\" Enter that code here, then enter your new password."
msgstr "你将收到一封带有确认码的电子邮件。请在此输入该确认码,然后输入你的新密码。"
-#: src/screens/Onboarding/StepModeration/index.tsx:72
+#: src/screens/Onboarding/StepModeration/index.tsx:60
msgid "You're in control"
msgstr "你尽在掌控"
@@ -4785,27 +5498,32 @@ msgstr "你尽在掌控"
msgid "You're in line"
msgstr "轮到你了"
-#: src/screens/Onboarding/StepFinished.tsx:90
+#: src/screens/Onboarding/StepFinished.tsx:94
msgid "You're ready to go!"
msgstr "你已设置完成!"
+#: src/components/moderation/ModerationDetailsDialog.tsx:98
+#: src/lib/moderation/useModerationCauseDescription.ts:101
+msgid "You've chosen to hide a word or tag within this post."
+msgstr "你选择隐藏了此帖子中的一个词或标签。"
+
#: src/view/com/posts/FollowingEndOfFeed.tsx:48
msgid "You've reached the end of your feed! Find some more accounts to follow."
-msgstr "你已经浏览完你的订阅信息流啦!寻找一些更多的账号关注吧。"
+msgstr "你已经浏览完你的订阅信息流啦!寻找一些更多的账户关注吧。"
-#: src/view/com/auth/create/Step1.tsx:67
+#: src/screens/Signup/index.tsx:151
msgid "Your account"
msgstr "你的账户"
-#: src/view/com/modals/DeleteAccount.tsx:67
+#: src/view/com/modals/DeleteAccount.tsx:68
msgid "Your account has been deleted"
msgstr "你的账户已删除"
#: src/view/screens/Settings/ExportCarDialog.tsx:47
msgid "Your account repository, containing all public data records, can be downloaded as a \"CAR\" file. This file does not include media embeds, such as images, or your private data, which must be fetched separately."
-msgstr "您的帐户数据库包含所有公共数据记录,它们将被导出为“CAR”文件。此文件不包括帖子中的媒体,例如图像或您的隐私数据,这些数据需要另外获取。"
+msgstr "你的帐户数据库包含所有公共数据记录,它们将被导出为“CAR”文件。此文件不包括帖子中的媒体,例如图像或你的隐私数据,这些数据需要另外获取。"
-#: src/view/com/auth/create/Step1.tsx:215
+#: src/screens/Signup/StepInfo/index.tsx:123
msgid "Your birth date"
msgstr "你的生日"
@@ -4813,20 +5531,16 @@ msgstr "你的生日"
msgid "Your choice will be saved, but can be changed later in settings."
msgstr "你的选择将被保存,但可以稍后在设置中更改。"
-#: src/screens/Onboarding/StepFollowingFeed.tsx:61
+#: src/screens/Onboarding/StepFollowingFeed.tsx:62
msgid "Your default feed is \"Following\""
msgstr "你的默认信息流为\"关注\""
-#: src/view/com/auth/create/state.ts:110
-#: src/view/com/auth/login/ForgotPasswordForm.tsx:70
+#: src/screens/Login/ForgotPasswordForm.tsx:57
+#: src/screens/Signup/state.ts:227
#: src/view/com/modals/ChangePassword.tsx:54
msgid "Your email appears to be invalid."
msgstr "你的电子邮箱似乎无效。"
-#: src/view/com/modals/Waitlist.tsx:109
-#~ msgid "Your email has been saved! We'll be in touch soon."
-#~ msgstr "你的电子邮箱已保存!我们将很快联系你。"
-
#: src/view/com/modals/ChangeEmail.tsx:125
msgid "Your email has been updated but not verified. As a next step, please verify your new email."
msgstr "你的电子邮箱已更新但尚未验证。作为下一步,请验证你的新电子邮件。"
@@ -4839,47 +5553,40 @@ msgstr "你的电子邮箱尚未验证。这是一个重要的安全步骤,我
msgid "Your following feed is empty! Follow more users to see what's happening."
msgstr "你的关注信息流为空!关注更多用户去看看他们发了什么。"
-#: src/view/com/auth/create/Step2.tsx:83
+#: src/screens/Signup/StepHandle.tsx:73
msgid "Your full handle will be"
msgstr "你的完整用户识别符将修改为"
-#: src/view/com/modals/ChangeHandle.tsx:270
+#: src/view/com/modals/ChangeHandle.tsx:271
msgid "Your full handle will be <0>@{0}0>"
msgstr "你的完整用户识别符将修改为 <0>@{0}0>"
-#: src/view/screens/Settings.tsx:430
-#: src/view/shell/desktop/RightNav.tsx:137
-#: src/view/shell/Drawer.tsx:660
-#~ msgid "Your invite codes are hidden when logged in using an App Password"
-#~ msgstr "在使用应用专用密码登录时,你的邀请码将被隐藏"
-
-#: src/components/dialogs/MutedWords.tsx:221
+#: src/components/dialogs/MutedWords.tsx:220
msgid "Your muted words"
msgstr "你的隐藏词"
-#: src/view/com/modals/ChangePassword.tsx:155
+#: src/view/com/modals/ChangePassword.tsx:157
msgid "Your password has been changed successfully!"
msgstr "你的密码已成功更改!"
-#: src/view/com/composer/Composer.tsx:274
+#: src/view/com/composer/Composer.tsx:284
msgid "Your post has been published"
msgstr "你的帖子已发布"
-#: src/screens/Onboarding/StepFinished.tsx:105
+#: src/screens/Onboarding/StepFinished.tsx:109
#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:59
-#: src/view/com/auth/onboarding/WelcomeMobile.tsx:59
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:61
msgid "Your posts, likes, and blocks are public. Mutes are private."
msgstr "你的帖子、喜欢和屏蔽是公开可见的,而隐藏不可见。"
-#: src/view/com/modals/SwitchAccount.tsx:84
-#: src/view/screens/Settings/index.tsx:118
+#: src/view/screens/Settings/index.tsx:136
msgid "Your profile"
msgstr "你的个人资料"
-#: src/view/com/composer/Composer.tsx:273
+#: src/view/com/composer/Composer.tsx:283
msgid "Your reply has been published"
msgstr "你的回复已发布"
-#: src/view/com/auth/create/Step2.tsx:65
+#: src/screens/Signup/index.tsx:153
msgid "Your user handle"
msgstr "你的用户识别符"
diff --git a/src/locale/locales/zh-TW/messages.po b/src/locale/locales/zh-TW/messages.po
new file mode 100644
index 0000000000..aa5ae6dbac
--- /dev/null
+++ b/src/locale/locales/zh-TW/messages.po
@@ -0,0 +1,5483 @@
+msgid ""
+msgstr ""
+"POT-Creation-Date: 2024-04-12 11:00+0800\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: @lingui/cli\n"
+"Language: zh_TW\n"
+"Project-Id-Version: \n"
+"Report-Msgid-Bugs-To: \n"
+"PO-Revision-Date: \n"
+"Last-Translator: Frudrax Cheng \n"
+"Language-Team: Frudrax Cheng, Kuwa Lee, noeFly, snowleo208, Kisaragi Hiu, Yi-Jyun Pan, toto6038, cirx1e\n"
+"Plural-Forms: \n"
+
+#: src/view/com/modals/VerifyEmail.tsx:142
+msgid "(no email)"
+msgstr "(沒有郵件)"
+
+#: src/components/ProfileHoverCard/index.web.tsx:323
+#: src/screens/Profile/Header/Metrics.tsx:44
+msgid "{following} following"
+msgstr "{following} 個跟隨中"
+
+#: src/view/shell/Drawer.tsx:449
+msgid "{numUnreadNotifications} unread"
+msgstr "{numUnreadNotifications} 個未讀"
+
+#: src/view/com/threadgate/WhoCanReply.tsx:158
+msgid "<0/> members"
+msgstr "<0/> 個成員"
+
+#: src/view/shell/Drawer.tsx:97
+msgid "<0>{0}0> following"
+msgstr "<0>{0}0> 個跟隨中"
+
+#: src/components/ProfileHoverCard/index.web.tsx:314
+msgid "<0>{followers} 0><1>{pluralizedFollowers}1>"
+msgstr ""
+
+#: src/components/ProfileHoverCard/index.web.tsx:326
+#: src/screens/Profile/Header/Metrics.tsx:45
+msgid "<0>{following} 0><1>following1>"
+msgstr "<0>{following} 0><1>個跟隨中1>"
+
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:31
+msgid "<0>Choose your0><1>Recommended1><2>Feeds2>"
+msgstr "<0>選擇你的0><1>推薦1><2>訊息流2>"
+
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:38
+msgid "<0>Follow some0><1>Recommended1><2>Users2>"
+msgstr "<0>跟隨一些0><1>推薦的1><2>使用者2>"
+
+#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:21
+msgid "<0>Welcome to0><1>Bluesky1>"
+msgstr "<0>歡迎來到0><1>Bluesky1>"
+
+#: src/screens/Profile/Header/Handle.tsx:43
+msgid "⚠Invalid Handle"
+msgstr "⚠無效的帳號代碼"
+
+#: src/view/com/util/ViewHeader.tsx:89
+#: src/view/screens/Search/Search.tsx:796
+msgid "Access navigation links and settings"
+msgstr "存取導覽連結和設定"
+
+#: src/view/com/home/HomeHeaderLayoutMobile.tsx:54
+msgid "Access profile and other navigation links"
+msgstr "存取個人資料和其他導覽連結"
+
+#: src/view/com/modals/EditImage.tsx:300
+#: src/view/screens/Settings/index.tsx:421
+msgid "Accessibility"
+msgstr "協助工具"
+
+#: src/components/moderation/LabelsOnMe.tsx:42
+msgid "account"
+msgstr "帳號"
+
+#: src/screens/Login/LoginForm.tsx:144
+#: src/view/screens/Settings/index.tsx:330
+#: src/view/screens/Settings/index.tsx:707
+msgid "Account"
+msgstr "帳號"
+
+#: src/view/com/profile/ProfileMenu.tsx:139
+msgid "Account blocked"
+msgstr "已封鎖帳號"
+
+#: src/view/com/profile/ProfileMenu.tsx:153
+msgid "Account followed"
+msgstr "已跟隨帳號"
+
+#: src/view/com/profile/ProfileMenu.tsx:113
+msgid "Account muted"
+msgstr "已靜音帳號"
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:93
+#: src/lib/moderation/useModerationCauseDescription.ts:91
+msgid "Account Muted"
+msgstr "已靜音帳號"
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:82
+msgid "Account Muted by List"
+msgstr "帳號已被列表靜音"
+
+#: src/view/com/util/AccountDropdownBtn.tsx:41
+msgid "Account options"
+msgstr "帳號選項"
+
+#: src/view/com/util/AccountDropdownBtn.tsx:25
+msgid "Account removed from quick access"
+msgstr "已從快速存取中移除帳號"
+
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:137
+#: src/view/com/profile/ProfileMenu.tsx:128
+msgid "Account unblocked"
+msgstr "已取消封鎖帳號"
+
+#: src/view/com/profile/ProfileMenu.tsx:166
+msgid "Account unfollowed"
+msgstr "已取消跟隨帳號"
+
+#: src/view/com/profile/ProfileMenu.tsx:102
+msgid "Account unmuted"
+msgstr "已取消靜音帳號"
+
+#: src/components/dialogs/MutedWords.tsx:164
+#: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:150
+#: src/view/com/modals/ListAddRemoveUsers.tsx:268
+#: src/view/com/modals/UserAddRemoveLists.tsx:219
+#: src/view/screens/ProfileList.tsx:829
+msgid "Add"
+msgstr "新增"
+
+#: src/view/com/modals/SelfLabel.tsx:56
+msgid "Add a content warning"
+msgstr "新增內容警告"
+
+#: src/view/screens/ProfileList.tsx:819
+msgid "Add a user to this list"
+msgstr "將使用者新增至此列表"
+
+#: src/components/dialogs/SwitchAccount.tsx:55
+#: src/view/screens/Settings/index.tsx:405
+#: src/view/screens/Settings/index.tsx:414
+msgid "Add account"
+msgstr "新增帳號"
+
+#: src/view/com/composer/photos/Gallery.tsx:119
+#: src/view/com/composer/photos/Gallery.tsx:180
+#: src/view/com/modals/AltImage.tsx:117
+msgid "Add alt text"
+msgstr "新增替代文字"
+
+#: src/view/screens/AppPasswords.tsx:104
+#: src/view/screens/AppPasswords.tsx:145
+#: src/view/screens/AppPasswords.tsx:158
+msgid "Add App Password"
+msgstr "新增應用程式專用密碼"
+
+#: src/view/com/composer/Composer.tsx:467
+msgid "Add link card"
+msgstr "新增連結卡片"
+
+#: src/view/com/composer/Composer.tsx:472
+msgid "Add link card:"
+msgstr "新增連結卡片:"
+
+#: src/components/dialogs/MutedWords.tsx:157
+msgid "Add mute word for configured settings"
+msgstr "在設定中新增靜音字詞"
+
+#: src/components/dialogs/MutedWords.tsx:86
+msgid "Add muted words and tags"
+msgstr "新增靜音字詞及標籤"
+
+#: src/view/com/modals/ChangeHandle.tsx:416
+msgid "Add the following DNS record to your domain:"
+msgstr "將以下 DNS 記錄新增到你的網域:"
+
+#: src/view/com/profile/ProfileMenu.tsx:263
+#: src/view/com/profile/ProfileMenu.tsx:266
+msgid "Add to Lists"
+msgstr "新增至列表"
+
+#: src/view/com/feeds/FeedSourceCard.tsx:234
+msgid "Add to my feeds"
+msgstr "新增至自訂訊息流"
+
+#: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:139
+msgid "Added"
+msgstr "已新增"
+
+#: src/view/com/modals/ListAddRemoveUsers.tsx:191
+#: src/view/com/modals/UserAddRemoveLists.tsx:144
+msgid "Added to list"
+msgstr "新增至列表"
+
+#: src/view/com/feeds/FeedSourceCard.tsx:108
+msgid "Added to my feeds"
+msgstr "新增至自訂訊息流"
+
+#: src/view/screens/PreferencesFollowingFeed.tsx:173
+msgid "Adjust the number of likes a reply must have to be shown in your feed."
+msgstr "調整回覆要在你的訊息流顯示所需的最低喜歡數。"
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:34
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:117
+#: src/view/com/modals/SelfLabel.tsx:75
+msgid "Adult Content"
+msgstr "成人內容"
+
+#: src/components/moderation/LabelPreference.tsx:242
+msgid "Adult content is disabled."
+msgstr "成人內容已停用"
+
+#: src/screens/Moderation/index.tsx:375
+#: src/view/screens/Settings/index.tsx:635
+msgid "Advanced"
+msgstr "詳細設定"
+
+#: src/view/screens/Feeds.tsx:691
+msgid "All the feeds you've saved, right in one place."
+msgstr "你已儲存的所有訊息流都集中在一處。"
+
+#: src/screens/Login/ForgotPasswordForm.tsx:178
+#: src/view/com/modals/ChangePassword.tsx:170
+msgid "Already have a code?"
+msgstr "已經有重設碼了?"
+
+#: src/screens/Login/ChooseAccountForm.tsx:39
+msgid "Already signed in as @{0}"
+msgstr "已以@{0}身份登入"
+
+#: src/view/com/composer/photos/Gallery.tsx:130
+msgid "ALT"
+msgstr "ALT"
+
+#: src/view/com/modals/EditImage.tsx:316
+msgid "Alt text"
+msgstr "替代文字"
+
+#: src/view/com/composer/photos/Gallery.tsx:209
+msgid "Alt text describes images for blind and low-vision users, and helps give context to everyone."
+msgstr "替代文字為盲人和視覺受損的使用者描述圖片,並幫助所有人提供上下文。"
+
+#: src/view/com/modals/VerifyEmail.tsx:124
+msgid "An email has been sent to {0}. It includes a confirmation code which you can enter below."
+msgstr "一封電子郵件已發送至 {0}。請查閱郵件並在下方輸入驗證碼。"
+
+#: src/view/com/modals/ChangeEmail.tsx:119
+msgid "An email has been sent to your previous address, {0}. It includes a confirmation code which you can enter below."
+msgstr "一封電子郵件已發送至先前填寫的電子郵件地址 {0}。請查閱郵件並在下方輸入驗證碼。"
+
+#: src/lib/moderation/useReportOptions.ts:26
+msgid "An issue not included in these options"
+msgstr "這些選項中沒有包括的問題"
+
+#: src/components/hooks/useFollowMethods.ts:35
+#: src/components/hooks/useFollowMethods.ts:50
+#: src/view/com/profile/FollowButton.tsx:35
+#: src/view/com/profile/FollowButton.tsx:45
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:188
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:198
+msgid "An issue occurred, please try again."
+msgstr "出現問題,請重試。"
+
+#: src/view/com/notifications/FeedItem.tsx:242
+#: src/view/com/threadgate/WhoCanReply.tsx:178
+msgid "and"
+msgstr "和"
+
+#: src/screens/Onboarding/index.tsx:32
+msgid "Animals"
+msgstr "動物"
+
+#: src/lib/moderation/useReportOptions.ts:31
+msgid "Anti-Social Behavior"
+msgstr "反社會行為"
+
+#: src/view/screens/LanguageSettings.tsx:95
+msgid "App Language"
+msgstr "應用程式語言"
+
+#: src/view/screens/AppPasswords.tsx:223
+msgid "App password deleted"
+msgstr "應用程式專用密碼已刪除"
+
+#: src/view/com/modals/AddAppPasswords.tsx:135
+msgid "App Password names can only contain letters, numbers, spaces, dashes, and underscores."
+msgstr "應用程式專用密碼只能包含字母、數字、空格、破折號及底線。"
+
+#: src/view/com/modals/AddAppPasswords.tsx:100
+msgid "App Password names must be at least 4 characters long."
+msgstr "應用程式專用密碼名稱必須至少為 4 個字元。"
+
+#: src/view/screens/Settings/index.tsx:646
+msgid "App password settings"
+msgstr "應用程式專用密碼設定"
+
+#: src/Navigation.tsx:251
+#: src/view/screens/AppPasswords.tsx:189
+#: src/view/screens/Settings/index.tsx:655
+msgid "App Passwords"
+msgstr "應用程式專用密碼"
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:133
+#: src/components/moderation/LabelsOnMeDialog.tsx:136
+msgid "Appeal"
+msgstr "申訴"
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:201
+msgid "Appeal \"{0}\" label"
+msgstr "申訴標籤 \"{0}\""
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:192
+msgid "Appeal submitted."
+msgstr "申訴已提交。"
+
+#: src/view/screens/Settings/index.tsx:436
+msgid "Appearance"
+msgstr "外觀"
+
+#: src/view/screens/AppPasswords.tsx:265
+msgid "Are you sure you want to delete the app password \"{name}\"?"
+msgstr "你確定要刪除這個應用程式專用密碼「{name}」嗎?"
+
+#: src/view/com/feeds/FeedSourceCard.tsx:280
+msgid "Are you sure you want to remove {0} from your feeds?"
+msgstr "你確定要從你的訊息流中移除 {0} 嗎?"
+
+#: src/view/com/composer/Composer.tsx:509
+msgid "Are you sure you'd like to discard this draft?"
+msgstr "你確定要捨棄此草稿嗎?"
+
+#: src/components/dialogs/MutedWords.tsx:281
+msgid "Are you sure?"
+msgstr "你確定嗎?"
+
+#: src/view/com/composer/select-language/SuggestedLanguage.tsx:60
+msgid "Are you writing in <0>{0}0>?"
+msgstr "你正在使用 <0>{0}0> 書寫嗎?"
+
+#: src/screens/Onboarding/index.tsx:26
+msgid "Art"
+msgstr "藝術"
+
+#: src/view/com/modals/SelfLabel.tsx:123
+msgid "Artistic or non-erotic nudity."
+msgstr "藝術作品或非情色的裸露。"
+
+#: src/screens/Signup/StepHandle.tsx:119
+msgid "At least 3 characters"
+msgstr "至少 3 個字元"
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:246
+#: src/components/moderation/LabelsOnMeDialog.tsx:247
+#: src/screens/Login/ChooseAccountForm.tsx:73
+#: src/screens/Login/ChooseAccountForm.tsx:78
+#: src/screens/Login/ForgotPasswordForm.tsx:129
+#: src/screens/Login/ForgotPasswordForm.tsx:135
+#: src/screens/Login/LoginForm.tsx:221
+#: src/screens/Login/LoginForm.tsx:227
+#: src/screens/Login/SetNewPasswordForm.tsx:160
+#: src/screens/Login/SetNewPasswordForm.tsx:166
+#: src/screens/Profile/Header/Shell.tsx:96
+#: src/screens/Signup/index.tsx:180
+#: src/view/com/util/ViewHeader.tsx:87
+msgid "Back"
+msgstr "返回"
+
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:144
+msgid "Based on your interest in {interestsText}"
+msgstr "因為你對 {interestsText} 感興趣"
+
+#: src/view/screens/Settings/index.tsx:493
+msgid "Basics"
+msgstr "基礎資訊"
+
+#: src/components/dialogs/BirthDateSettings.tsx:107
+msgid "Birthday"
+msgstr "生日"
+
+#: src/view/screens/Settings/index.tsx:362
+msgid "Birthday:"
+msgstr "生日:"
+
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:286
+#: src/view/com/profile/ProfileMenu.tsx:361
+msgid "Block"
+msgstr "封鎖"
+
+#: src/view/com/profile/ProfileMenu.tsx:300
+#: src/view/com/profile/ProfileMenu.tsx:307
+msgid "Block Account"
+msgstr "封鎖帳號"
+
+#: src/view/com/profile/ProfileMenu.tsx:344
+msgid "Block Account?"
+msgstr "封鎖帳號?"
+
+#: src/view/screens/ProfileList.tsx:532
+msgid "Block accounts"
+msgstr "封鎖帳號"
+
+#: src/view/screens/ProfileList.tsx:480
+#: src/view/screens/ProfileList.tsx:636
+msgid "Block list"
+msgstr "封鎖列表"
+
+#: src/view/screens/ProfileList.tsx:631
+msgid "Block these accounts?"
+msgstr "封鎖這些帳號?"
+
+#: src/view/com/lists/ListCard.tsx:110
+#: src/view/com/util/post-embeds/QuoteEmbed.tsx:58
+msgid "Blocked"
+msgstr "已封鎖"
+
+#: src/screens/Moderation/index.tsx:267
+msgid "Blocked accounts"
+msgstr "已封鎖帳號"
+
+#: src/Navigation.tsx:134
+#: src/view/screens/ModerationBlockedAccounts.tsx:113
+msgid "Blocked Accounts"
+msgstr "已封鎖帳號"
+
+#: src/view/com/profile/ProfileMenu.tsx:356
+msgid "Blocked accounts cannot reply in your threads, mention you, or otherwise interact with you."
+msgstr "被封鎖的帳號無法在你的貼文中回覆、提及你,或以其他方式與你互動。"
+
+#: src/view/screens/ModerationBlockedAccounts.tsx:121
+msgid "Blocked accounts cannot reply in your threads, mention you, or otherwise interact with you. You will not see their content and they will be prevented from seeing yours."
+msgstr "被封鎖的帳號無法在你的貼文中回覆、提及你,或以其他方式與你互動。你將不會看到他們所發佈的內容,同樣他們也無法查看你的內容。"
+
+#: src/view/com/post-thread/PostThread.tsx:313
+msgid "Blocked post."
+msgstr "已封鎖貼文。"
+
+#: src/screens/Profile/Sections/Labels.tsx:163
+msgid "Blocking does not prevent this labeler from placing labels on your account."
+msgstr "封鎖並不能阻止此標記者在你的帳戶上標記標籤。"
+
+#: src/view/screens/ProfileList.tsx:633
+msgid "Blocking is public. Blocked accounts cannot reply in your threads, mention you, or otherwise interact with you."
+msgstr "封鎖是公開的。被封鎖的帳號無法在你的貼文中回覆、提及你,或以其他方式與你互動。"
+
+#: src/view/com/profile/ProfileMenu.tsx:353
+msgid "Blocking will not prevent labels from being applied on your account, but it will stop this account from replying in your threads or interacting with you."
+msgstr "封鎖不會阻止標籤套用在你的帳戶上,但它會阻止此帳戶在你的討論串中回覆或與你進行互動。"
+
+#: src/view/com/auth/SplashScreen.web.tsx:149
+msgid "Blog"
+msgstr "部落格"
+
+#: src/view/com/auth/server-input/index.tsx:89
+#: src/view/com/auth/server-input/index.tsx:91
+msgid "Bluesky"
+msgstr "Bluesky"
+
+#: src/view/com/auth/server-input/index.tsx:154
+msgid "Bluesky is an open network where you can choose your hosting provider. Custom hosting is now available in beta for developers."
+msgstr "Bluesky 是一個開放的網路,你可以自行挑選託管服務提供商。現在,開發者也可以參與自訂託管服務的測試版本。"
+
+#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:80
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:82
+msgid "Bluesky is flexible."
+msgstr "Bluesky 非常靈活。"
+
+#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:69
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:71
+msgid "Bluesky is open."
+msgstr "Bluesky 保持開放。"
+
+#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:56
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:58
+msgid "Bluesky is public."
+msgstr "Bluesky 為公眾而生。"
+
+#: src/screens/Moderation/index.tsx:533
+msgid "Bluesky will not show your profile and posts to logged-out users. Other apps may not honor this request. This does not make your account private."
+msgstr "Bluesky 不會向未登入的使用者顯示你的個人資料和貼文。但其他應用可能不會遵照此請求,這無法確保你的帳號隱私。"
+
+#: src/lib/moderation/useLabelBehaviorDescription.ts:53
+msgid "Blur images"
+msgstr "模糊圖片"
+
+#: src/lib/moderation/useLabelBehaviorDescription.ts:51
+msgid "Blur images and filter from feeds"
+msgstr "從訊息流中模糊圖片並過濾"
+
+#: src/screens/Onboarding/index.tsx:33
+msgid "Books"
+msgstr "書籍"
+
+#: src/view/com/auth/SplashScreen.web.tsx:146
+msgid "Business"
+msgstr "商務"
+
+#: src/view/com/profile/ProfileSubpageHeader.tsx:157
+msgid "by —"
+msgstr "來自 —"
+
+#: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:100
+msgid "by {0}"
+msgstr "來自 {0}"
+
+#: src/components/LabelingServiceCard/index.tsx:57
+msgid "By {0}"
+msgstr "來自 {0}"
+
+#: src/view/com/profile/ProfileSubpageHeader.tsx:161
+msgid "by <0/>"
+msgstr "來自 <0/>"
+
+#: src/screens/Signup/StepInfo/Policies.tsx:74
+msgid "By creating an account you agree to the {els}."
+msgstr ""
+
+#: src/view/com/profile/ProfileSubpageHeader.tsx:159
+msgid "by you"
+msgstr "來自你"
+
+#: src/view/com/composer/photos/OpenCameraBtn.tsx:77
+msgid "Camera"
+msgstr "相機"
+
+#: src/view/com/modals/AddAppPasswords.tsx:217
+msgid "Can only contain letters, numbers, spaces, dashes, and underscores. Must be at least 4 characters long, but no more than 32 characters long."
+msgstr "只能包含字母、數字、空格、破折號及底線。長度必須至少 4 個字元,但不超過 32 個字元。"
+
+#: src/components/Menu/index.tsx:213
+#: src/components/Prompt.tsx:113
+#: src/components/Prompt.tsx:115
+#: src/components/TagMenu/index.tsx:268
+#: src/view/com/composer/Composer.tsx:317
+#: src/view/com/composer/Composer.tsx:322
+#: src/view/com/modals/ChangeEmail.tsx:218
+#: src/view/com/modals/ChangeEmail.tsx:220
+#: src/view/com/modals/ChangeHandle.tsx:154
+#: src/view/com/modals/ChangePassword.tsx:267
+#: src/view/com/modals/ChangePassword.tsx:270
+#: src/view/com/modals/CreateOrEditList.tsx:356
+#: src/view/com/modals/crop-image/CropImage.web.tsx:138
+#: src/view/com/modals/EditImage.tsx:324
+#: src/view/com/modals/EditProfile.tsx:250
+#: src/view/com/modals/InAppBrowserConsent.tsx:78
+#: src/view/com/modals/InAppBrowserConsent.tsx:80
+#: src/view/com/modals/LinkWarning.tsx:105
+#: src/view/com/modals/LinkWarning.tsx:107
+#: src/view/com/modals/Repost.tsx:88
+#: src/view/com/modals/VerifyEmail.tsx:247
+#: src/view/com/modals/VerifyEmail.tsx:253
+#: src/view/screens/Search/Search.tsx:865
+#: src/view/shell/desktop/Search.tsx:239
+msgid "Cancel"
+msgstr "取消"
+
+#: src/view/com/modals/CreateOrEditList.tsx:361
+#: src/view/com/modals/DeleteAccount.tsx:155
+#: src/view/com/modals/DeleteAccount.tsx:233
+msgctxt "action"
+msgid "Cancel"
+msgstr "取消"
+
+#: src/view/com/modals/DeleteAccount.tsx:151
+#: src/view/com/modals/DeleteAccount.tsx:229
+msgid "Cancel account deletion"
+msgstr "取消刪除帳號"
+
+#: src/view/com/modals/ChangeHandle.tsx:150
+msgid "Cancel change handle"
+msgstr "取消修改帳號代碼"
+
+#: src/view/com/modals/crop-image/CropImage.web.tsx:135
+msgid "Cancel image crop"
+msgstr "取消裁剪圖片"
+
+#: src/view/com/modals/EditProfile.tsx:245
+msgid "Cancel profile editing"
+msgstr "取消編輯個人資料"
+
+#: src/view/com/modals/Repost.tsx:79
+msgid "Cancel quote post"
+msgstr "取消引用貼文"
+
+#: src/view/com/modals/ListAddRemoveUsers.tsx:87
+#: src/view/shell/desktop/Search.tsx:235
+msgid "Cancel search"
+msgstr "取消搜尋"
+
+#: src/view/com/modals/LinkWarning.tsx:106
+msgid "Cancels opening the linked website"
+msgstr "取消開啟連結的網站"
+
+#: src/view/com/modals/VerifyEmail.tsx:152
+msgid "Change"
+msgstr "變更"
+
+#: src/view/screens/Settings/index.tsx:356
+msgctxt "action"
+msgid "Change"
+msgstr "變更"
+
+#: src/view/screens/Settings/index.tsx:667
+msgid "Change handle"
+msgstr "變更帳號代碼"
+
+#: src/view/com/modals/ChangeHandle.tsx:162
+#: src/view/screens/Settings/index.tsx:678
+msgid "Change Handle"
+msgstr "變更帳號代碼"
+
+#: src/view/com/modals/VerifyEmail.tsx:147
+msgid "Change my email"
+msgstr "變更我的電子郵件地址"
+
+#: src/view/screens/Settings/index.tsx:718
+msgid "Change password"
+msgstr "變更密碼"
+
+#: src/view/com/modals/ChangePassword.tsx:141
+#: src/view/screens/Settings/index.tsx:729
+msgid "Change Password"
+msgstr "變更密碼"
+
+#: src/view/com/composer/select-language/SuggestedLanguage.tsx:73
+msgid "Change post language to {0}"
+msgstr "變更貼文的發佈語言至 {0}"
+
+#: src/view/com/modals/ChangeEmail.tsx:109
+msgid "Change Your Email"
+msgstr "變更你的電子郵件地址"
+
+#: src/screens/Deactivated.tsx:72
+#: src/screens/Deactivated.tsx:76
+msgid "Check my status"
+msgstr "檢查我的狀態"
+
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:122
+msgid "Check out some recommended feeds. Tap + to add them to your list of pinned feeds."
+msgstr "來看看一些推薦的訊息流吧。點擊 + 將它們新增到你的釘選訊息流清單中。"
+
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:186
+msgid "Check out some recommended users. Follow them to see similar users."
+msgstr "來看看一些推薦的使用者吧。跟隨人來查看類似的使用者。"
+
+#: src/view/com/modals/DeleteAccount.tsx:168
+msgid "Check your inbox for an email with the confirmation code to enter below:"
+msgstr "查看寄送至你電子郵件地址的確認郵件,然後在下方輸入收到的驗證碼:"
+
+#: src/view/com/modals/Threadgate.tsx:72
+msgid "Choose \"Everybody\" or \"Nobody\""
+msgstr "選擇「所有人」或「沒有人」"
+
+#: src/view/com/auth/server-input/index.tsx:79
+msgid "Choose Service"
+msgstr "選擇服務"
+
+#: src/screens/Onboarding/StepFinished.tsx:139
+msgid "Choose the algorithms that power your custom feeds."
+msgstr "選擇你的自訂訊息流所使用的演算法。"
+
+#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:83
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:85
+msgid "Choose the algorithms that power your experience with custom feeds."
+msgstr "選擇你的自訂訊息流體驗所使用的演算法。"
+
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:104
+msgid "Choose your main feeds"
+msgstr "選擇你的主要訊息流"
+
+#: src/screens/Signup/StepInfo/index.tsx:114
+msgid "Choose your password"
+msgstr "選擇你的密碼"
+
+#: src/view/screens/Settings/index.tsx:832
+msgid "Clear all legacy storage data"
+msgstr "清除所有舊儲存資料"
+
+#: src/view/screens/Settings/index.tsx:835
+msgid "Clear all legacy storage data (restart after this)"
+msgstr "清除所有舊儲存資料(並重啟)"
+
+#: src/view/screens/Settings/index.tsx:844
+msgid "Clear all storage data"
+msgstr "清除所有資料"
+
+#: src/view/screens/Settings/index.tsx:847
+msgid "Clear all storage data (restart after this)"
+msgstr "清除所有資料(並重啟)"
+
+#: src/view/com/util/forms/SearchInput.tsx:88
+#: src/view/screens/Search/Search.tsx:846
+msgid "Clear search query"
+msgstr "清除搜尋記錄"
+
+#: src/view/screens/Settings/index.tsx:833
+msgid "Clears all legacy storage data"
+msgstr "清除所有舊儲存資料"
+
+#: src/view/screens/Settings/index.tsx:845
+msgid "Clears all storage data"
+msgstr "清除所有資料"
+
+#: src/view/screens/Support.tsx:40
+msgid "click here"
+msgstr "點擊這裡"
+
+#: src/components/TagMenu/index.web.tsx:138
+msgid "Click here to open tag menu for {tag}"
+msgstr "點擊這裡開啟 {tag} 的標籤選單"
+
+#: src/components/RichText.tsx:198
+msgid "Click here to open tag menu for #{tag}"
+msgstr "點擊這裡開啟 #{tag} 的標籤選單"
+
+#: src/screens/Onboarding/index.tsx:35
+msgid "Climate"
+msgstr "氣象"
+
+#: src/view/com/modals/ChangePassword.tsx:267
+#: src/view/com/modals/ChangePassword.tsx:270
+msgid "Close"
+msgstr "關閉"
+
+#: src/components/Dialog/index.web.tsx:106
+#: src/components/Dialog/index.web.tsx:218
+msgid "Close active dialog"
+msgstr "關閉打開的對話框"
+
+#: src/screens/Login/PasswordUpdatedForm.tsx:38
+msgid "Close alert"
+msgstr "關閉警告"
+
+#: src/view/com/util/BottomSheetCustomBackdrop.tsx:36
+msgid "Close bottom drawer"
+msgstr "關閉底部抽屜"
+
+#: src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx:36
+msgid "Close image"
+msgstr "關閉圖片"
+
+#: src/view/com/lightbox/Lightbox.web.tsx:129
+msgid "Close image viewer"
+msgstr "關閉圖片檢視器"
+
+#: src/view/shell/index.web.tsx:57
+msgid "Close navigation footer"
+msgstr "關閉導覽頁腳"
+
+#: src/components/Menu/index.tsx:207
+#: src/components/TagMenu/index.tsx:262
+msgid "Close this dialog"
+msgstr "關閉此對話框"
+
+#: src/view/shell/index.web.tsx:58
+msgid "Closes bottom navigation bar"
+msgstr "關閉底部導覽列"
+
+#: src/screens/Login/PasswordUpdatedForm.tsx:39
+msgid "Closes password update alert"
+msgstr "關閉密碼更新警告"
+
+#: src/view/com/composer/Composer.tsx:319
+msgid "Closes post composer and discards post draft"
+msgstr "關閉貼文編輯頁並捨棄草稿"
+
+#: src/view/com/lightbox/ImageViewing/components/ImageDefaultHeader.tsx:37
+msgid "Closes viewer for header image"
+msgstr "關閉標題圖片檢視器"
+
+#: src/view/com/notifications/FeedItem.tsx:323
+msgid "Collapses list of users for a given notification"
+msgstr "折疊指定通知的使用者清單"
+
+#: src/screens/Onboarding/index.tsx:41
+msgid "Comedy"
+msgstr "喜劇"
+
+#: src/screens/Onboarding/index.tsx:27
+msgid "Comics"
+msgstr "漫畫"
+
+#: src/Navigation.tsx:241
+#: src/view/screens/CommunityGuidelines.tsx:32
+msgid "Community Guidelines"
+msgstr "社群準則"
+
+#: src/screens/Onboarding/StepFinished.tsx:152
+msgid "Complete onboarding and start using your account"
+msgstr "完成初始設定並開始使用你的帳號"
+
+#: src/screens/Signup/index.tsx:155
+msgid "Complete the challenge"
+msgstr "完成驗證"
+
+#: src/view/com/composer/Composer.tsx:438
+msgid "Compose posts up to {MAX_GRAPHEME_LENGTH} characters in length"
+msgstr "撰寫貼文的長度最多為 {MAX_GRAPHEME_LENGTH} 個字元"
+
+#: src/view/com/composer/Prompt.tsx:24
+msgid "Compose reply"
+msgstr "撰寫回覆"
+
+#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:81
+msgid "Configure content filtering setting for category: {0}"
+msgstr "調整類別的內容過濾設定:{0}"
+
+#: src/components/moderation/LabelPreference.tsx:81
+msgid "Configure content filtering setting for category: {name}"
+msgstr "為 {name} 分類配置內容過濾設定"
+
+#: src/components/moderation/LabelPreference.tsx:244
+msgid "Configured in <0>moderation settings0>."
+msgstr "在<0>限制設定0>中進行配置"
+
+#: src/components/Prompt.tsx:153
+#: src/components/Prompt.tsx:156
+#: src/view/com/modals/SelfLabel.tsx:154
+#: src/view/com/modals/VerifyEmail.tsx:231
+#: src/view/com/modals/VerifyEmail.tsx:233
+#: src/view/screens/PreferencesFollowingFeed.tsx:308
+#: src/view/screens/PreferencesThreads.tsx:159
+msgid "Confirm"
+msgstr "確認"
+
+#: src/view/com/modals/ChangeEmail.tsx:193
+#: src/view/com/modals/ChangeEmail.tsx:195
+msgid "Confirm Change"
+msgstr "確認更改"
+
+#: src/view/com/modals/lang-settings/ConfirmLanguagesButton.tsx:35
+msgid "Confirm content language settings"
+msgstr "確認內容語言設定"
+
+#: src/view/com/modals/DeleteAccount.tsx:219
+msgid "Confirm delete account"
+msgstr "確認刪除帳號"
+
+#: src/screens/Moderation/index.tsx:301
+msgid "Confirm your age:"
+msgstr "確認你的年齡:"
+
+#: src/screens/Moderation/index.tsx:292
+msgid "Confirm your birthdate"
+msgstr "確認你的出生日期"
+
+#: src/view/com/modals/ChangeEmail.tsx:157
+#: src/view/com/modals/DeleteAccount.tsx:175
+#: src/view/com/modals/DeleteAccount.tsx:181
+#: src/view/com/modals/VerifyEmail.tsx:165
+msgid "Confirmation code"
+msgstr "驗證碼"
+
+#: src/screens/Login/LoginForm.tsx:248
+msgid "Connecting..."
+msgstr "連線中…"
+
+#: src/screens/Signup/index.tsx:225
+msgid "Contact support"
+msgstr "聯絡支援"
+
+#: src/components/moderation/LabelsOnMe.tsx:42
+msgid "content"
+msgstr "內容"
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:18
+msgid "Content Blocked"
+msgstr "已封鎖內容"
+
+#: src/screens/Moderation/index.tsx:285
+msgid "Content filters"
+msgstr "內容過濾"
+
+#: src/view/com/modals/lang-settings/ContentLanguagesSettings.tsx:74
+#: src/view/screens/LanguageSettings.tsx:278
+msgid "Content Languages"
+msgstr "內容語言"
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:75
+#: src/lib/moderation/useModerationCauseDescription.ts:75
+msgid "Content Not Available"
+msgstr "內容不可用"
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:46
+#: src/components/moderation/ScreenHider.tsx:99
+#: src/lib/moderation/useGlobalLabelStrings.ts:22
+#: src/lib/moderation/useModerationCauseDescription.ts:38
+msgid "Content Warning"
+msgstr "內容警告"
+
+#: src/view/com/composer/labels/LabelsBtn.tsx:31
+msgid "Content warnings"
+msgstr "內容警告"
+
+#: src/components/Menu/index.web.tsx:84
+msgid "Context menu backdrop, click to close the menu."
+msgstr "上下文菜單背景,點擊以關閉菜單"
+
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:161
+#: src/screens/Onboarding/StepFollowingFeed.tsx:154
+#: src/screens/Onboarding/StepInterests/index.tsx:252
+#: src/screens/Onboarding/StepModeration/index.tsx:103
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:118
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:150
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:211
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:96
+msgid "Continue"
+msgstr "繼續"
+
+#: src/components/AccountList.tsx:108
+msgid "Continue as {0} (currently signed in)"
+msgstr "以 {0} 繼續 (目前已登入)"
+
+#: src/screens/Onboarding/StepFollowingFeed.tsx:151
+#: src/screens/Onboarding/StepInterests/index.tsx:249
+#: src/screens/Onboarding/StepModeration/index.tsx:100
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:115
+#: src/screens/Signup/index.tsx:200
+msgid "Continue to next step"
+msgstr "繼續下一步"
+
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:158
+msgid "Continue to the next step"
+msgstr "繼續下一步"
+
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:199
+msgid "Continue to the next step without following any accounts"
+msgstr "繼續下一步,不跟隨任何帳號"
+
+#: src/screens/Onboarding/index.tsx:44
+msgid "Cooking"
+msgstr "烹飪"
+
+#: src/view/com/modals/AddAppPasswords.tsx:196
+#: src/view/com/modals/InviteCodes.tsx:183
+msgid "Copied"
+msgstr "已複製"
+
+#: src/view/screens/Settings/index.tsx:254
+msgid "Copied build version to clipboard"
+msgstr "已複製建構版本號至剪貼簿"
+
+#: src/view/com/modals/AddAppPasswords.tsx:77
+#: src/view/com/modals/ChangeHandle.tsx:326
+#: src/view/com/modals/InviteCodes.tsx:153
+#: src/view/com/util/forms/PostDropdownBtn.tsx:164
+msgid "Copied to clipboard"
+msgstr "已複製至剪貼簿"
+
+#: src/components/dialogs/Embed.tsx:134
+msgid "Copied!"
+msgstr ""
+
+#: src/view/com/modals/AddAppPasswords.tsx:190
+msgid "Copies app password"
+msgstr "複製應用程式專用密碼"
+
+#: src/view/com/modals/AddAppPasswords.tsx:189
+msgid "Copy"
+msgstr "複製"
+
+#: src/view/com/modals/ChangeHandle.tsx:480
+msgid "Copy {0}"
+msgstr "複製 {0}"
+
+#: src/components/dialogs/Embed.tsx:120
+#: src/components/dialogs/Embed.tsx:139
+msgid "Copy code"
+msgstr ""
+
+#: src/view/screens/ProfileList.tsx:390
+msgid "Copy link to list"
+msgstr "複製列表連結"
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:236
+#: src/view/com/util/forms/PostDropdownBtn.tsx:245
+msgid "Copy link to post"
+msgstr "複製貼文連結"
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:228
+#: src/view/com/util/forms/PostDropdownBtn.tsx:230
+msgid "Copy post text"
+msgstr "複製貼文文字"
+
+#: src/Navigation.tsx:246
+#: src/view/screens/CopyrightPolicy.tsx:29
+msgid "Copyright Policy"
+msgstr "著作權政策"
+
+#: src/view/screens/ProfileFeed.tsx:103
+msgid "Could not load feed"
+msgstr "無法載入訊息流"
+
+#: src/view/screens/ProfileList.tsx:909
+msgid "Could not load list"
+msgstr "無法載入列表"
+
+#: src/view/com/auth/SplashScreen.tsx:57
+#: src/view/com/auth/SplashScreen.web.tsx:101
+msgid "Create a new account"
+msgstr "建立新帳號"
+
+#: src/view/screens/Settings/index.tsx:406
+msgid "Create a new Bluesky account"
+msgstr "建立新的 Bluesky 帳號"
+
+#: src/screens/Signup/index.tsx:130
+msgid "Create Account"
+msgstr "建立帳號"
+
+#: src/components/dialogs/Signin.tsx:86
+#: src/components/dialogs/Signin.tsx:88
+msgid "Create an account"
+msgstr ""
+
+#: src/view/com/modals/AddAppPasswords.tsx:227
+msgid "Create App Password"
+msgstr "建立應用程式專用密碼"
+
+#: src/view/com/auth/SplashScreen.tsx:48
+#: src/view/com/auth/SplashScreen.web.tsx:92
+msgid "Create new account"
+msgstr "建立新帳號"
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:94
+msgid "Create report for {0}"
+msgstr "建立 {0} 的檢舉"
+
+#: src/view/screens/AppPasswords.tsx:246
+msgid "Created {0}"
+msgstr "{0} 已建立"
+
+#: src/view/com/composer/Composer.tsx:469
+msgid "Creates a card with a thumbnail. The card links to {url}"
+msgstr "建立帶有縮圖的卡片。該卡片連結到 {url}"
+
+#: src/screens/Onboarding/index.tsx:29
+msgid "Culture"
+msgstr "文化"
+
+#: src/view/com/auth/server-input/index.tsx:97
+#: src/view/com/auth/server-input/index.tsx:99
+msgid "Custom"
+msgstr "自訂"
+
+#: src/view/com/modals/ChangeHandle.tsx:388
+msgid "Custom domain"
+msgstr "自訂網域"
+
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:107
+#: src/view/screens/Feeds.tsx:717
+msgid "Custom feeds built by the community bring you new experiences and help you find the content you love."
+msgstr "由社群打造的自訂訊息流帶來新鮮體驗,協助你找到所愛內容。"
+
+#: src/view/screens/PreferencesExternalEmbeds.tsx:55
+msgid "Customize media from external sites."
+msgstr "自訂外部網站的媒體。"
+
+#: src/view/screens/Settings/index.tsx:455
+#: src/view/screens/Settings/index.tsx:481
+msgid "Dark"
+msgstr "深色"
+
+#: src/view/screens/Debug.tsx:63
+msgid "Dark mode"
+msgstr "深色模式"
+
+#: src/view/screens/Settings/index.tsx:468
+msgid "Dark Theme"
+msgstr "深色主題"
+
+#: src/screens/Signup/StepInfo/index.tsx:134
+msgid "Date of birth"
+msgstr "出生日期"
+
+#: src/view/screens/Settings/index.tsx:805
+msgid "Debug Moderation"
+msgstr "限制除錯"
+
+#: src/view/screens/Debug.tsx:83
+msgid "Debug panel"
+msgstr "除錯面板"
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:341
+#: src/view/screens/AppPasswords.tsx:268
+#: src/view/screens/ProfileList.tsx:615
+msgid "Delete"
+msgstr "刪除"
+
+#: src/view/screens/Settings/index.tsx:760
+msgid "Delete account"
+msgstr "刪除帳號"
+
+#: src/view/com/modals/DeleteAccount.tsx:86
+msgid "Delete Account"
+msgstr "刪除帳號"
+
+#: src/view/screens/AppPasswords.tsx:239
+msgid "Delete app password"
+msgstr "刪除應用程式專用密碼"
+
+#: src/view/screens/AppPasswords.tsx:263
+msgid "Delete app password?"
+msgstr "刪除應用程式專用密碼?"
+
+#: src/view/screens/ProfileList.tsx:417
+msgid "Delete List"
+msgstr "刪除列表"
+
+#: src/view/com/modals/DeleteAccount.tsx:222
+msgid "Delete my account"
+msgstr "刪除我的帳號"
+
+#: src/view/screens/Settings/index.tsx:772
+msgid "Delete My Account…"
+msgstr "刪除我的帳號…"
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:322
+#: src/view/com/util/forms/PostDropdownBtn.tsx:324
+msgid "Delete post"
+msgstr "刪除貼文"
+
+#: src/view/screens/ProfileList.tsx:610
+msgid "Delete this list?"
+msgstr "刪除此列表?"
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:336
+msgid "Delete this post?"
+msgstr "刪除這條貼文?"
+
+#: src/view/com/util/post-embeds/QuoteEmbed.tsx:67
+msgid "Deleted"
+msgstr "已刪除"
+
+#: src/view/com/post-thread/PostThread.tsx:305
+msgid "Deleted post."
+msgstr "已刪除貼文。"
+
+#: src/view/com/modals/CreateOrEditList.tsx:301
+#: src/view/com/modals/CreateOrEditList.tsx:322
+#: src/view/com/modals/EditProfile.tsx:199
+#: src/view/com/modals/EditProfile.tsx:211
+msgid "Description"
+msgstr "描述"
+
+#: src/view/com/composer/Composer.tsx:218
+msgid "Did you want to say anything?"
+msgstr "有什麼想說的嗎?"
+
+#: src/view/screens/Settings/index.tsx:474
+msgid "Dim"
+msgstr "暗淡"
+
+#: src/view/screens/Settings/index.tsx:697
+msgid "Disable haptics"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:697
+msgid "Disable vibrations"
+msgstr ""
+
+#: src/lib/moderation/useLabelBehaviorDescription.ts:32
+#: src/lib/moderation/useLabelBehaviorDescription.ts:42
+#: src/lib/moderation/useLabelBehaviorDescription.ts:68
+#: src/screens/Moderation/index.tsx:341
+msgid "Disabled"
+msgstr "停用"
+
+#: src/view/com/composer/Composer.tsx:511
+msgid "Discard"
+msgstr "捨棄"
+
+#: src/view/com/composer/Composer.tsx:508
+msgid "Discard draft?"
+msgstr "捨棄草稿?"
+
+#: src/screens/Moderation/index.tsx:518
+#: src/screens/Moderation/index.tsx:522
+msgid "Discourage apps from showing my account to logged-out users"
+msgstr "鼓勵應用程式不要向未登入使用者顯示我的帳號"
+
+#: src/view/com/posts/FollowingEmptyState.tsx:74
+#: src/view/com/posts/FollowingEndOfFeed.tsx:75
+msgid "Discover new custom feeds"
+msgstr "探索新的自訂訊息流"
+
+#: src/view/screens/Feeds.tsx:714
+msgid "Discover New Feeds"
+msgstr "探索新的訊息流"
+
+#: src/view/com/modals/EditProfile.tsx:193
+msgid "Display name"
+msgstr "顯示名稱"
+
+#: src/view/com/modals/EditProfile.tsx:181
+msgid "Display Name"
+msgstr "顯示名稱"
+
+#: src/view/com/modals/ChangeHandle.tsx:397
+msgid "DNS Panel"
+msgstr "DNS 控制台"
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:39
+msgid "Does not include nudity."
+msgstr "不包含裸露内容。"
+
+#: src/screens/Signup/StepHandle.tsx:105
+msgid "Doesn't begin or end with a hyphen"
+msgstr "不以連字符開頭或結尾"
+
+#: src/view/com/modals/ChangeHandle.tsx:481
+msgid "Domain Value"
+msgstr "網域設定值"
+
+#: src/view/com/modals/ChangeHandle.tsx:488
+msgid "Domain verified!"
+msgstr "網域已驗證!"
+
+#: src/components/dialogs/BirthDateSettings.tsx:119
+#: src/components/dialogs/BirthDateSettings.tsx:125
+#: src/components/forms/DateField/index.tsx:74
+#: src/components/forms/DateField/index.tsx:80
+#: src/view/com/auth/server-input/index.tsx:169
+#: src/view/com/auth/server-input/index.tsx:170
+#: src/view/com/modals/AddAppPasswords.tsx:227
+#: src/view/com/modals/AltImage.tsx:140
+#: src/view/com/modals/crop-image/CropImage.web.tsx:153
+#: src/view/com/modals/InviteCodes.tsx:81
+#: src/view/com/modals/InviteCodes.tsx:124
+#: src/view/com/modals/ListAddRemoveUsers.tsx:142
+#: src/view/screens/PreferencesFollowingFeed.tsx:311
+#: src/view/screens/Settings/ExportCarDialog.tsx:94
+#: src/view/screens/Settings/ExportCarDialog.tsx:96
+msgid "Done"
+msgstr "完成"
+
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:87
+#: src/view/com/modals/EditImage.tsx:334
+#: src/view/com/modals/ListAddRemoveUsers.tsx:144
+#: src/view/com/modals/SelfLabel.tsx:157
+#: src/view/com/modals/Threadgate.tsx:129
+#: src/view/com/modals/Threadgate.tsx:132
+#: src/view/com/modals/UserAddRemoveLists.tsx:95
+#: src/view/com/modals/UserAddRemoveLists.tsx:98
+#: src/view/screens/PreferencesThreads.tsx:162
+msgctxt "action"
+msgid "Done"
+msgstr "完成"
+
+#: src/view/com/modals/lang-settings/ConfirmLanguagesButton.tsx:43
+msgid "Done{extraText}"
+msgstr "完成{extraText}"
+
+#: src/view/screens/Settings/ExportCarDialog.tsx:59
+#: src/view/screens/Settings/ExportCarDialog.tsx:63
+msgid "Download CAR file"
+msgstr "下載 CAR 檔案"
+
+#: src/view/com/composer/text-input/TextInput.web.tsx:249
+msgid "Drop to add images"
+msgstr "拖放即可新增圖片"
+
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:120
+msgid "Due to Apple policies, adult content can only be enabled on the web after completing sign up."
+msgstr "受 Apple 政策限制,成人內容只能在完成註冊後在網頁端啟用顯示。"
+
+#: src/view/com/modals/ChangeHandle.tsx:258
+msgid "e.g. alice"
+msgstr "例如:alice"
+
+#: src/view/com/modals/EditProfile.tsx:186
+msgid "e.g. Alice Roberts"
+msgstr "例如:張藍天"
+
+#: src/view/com/modals/ChangeHandle.tsx:380
+msgid "e.g. alice.com"
+msgstr "例如:alice.com"
+
+#: src/view/com/modals/EditProfile.tsx:204
+msgid "e.g. Artist, dog-lover, and avid reader."
+msgstr "例如:藝術家、愛狗人士和狂熱讀者。"
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:43
+msgid "E.g. artistic nudes."
+msgstr "例如:藝術裸露。"
+
+#: src/view/com/modals/CreateOrEditList.tsx:284
+msgid "e.g. Great Posters"
+msgstr "例如:優秀的發文者"
+
+#: src/view/com/modals/CreateOrEditList.tsx:285
+msgid "e.g. Spammers"
+msgstr "例如:垃圾內容製造者"
+
+#: src/view/com/modals/CreateOrEditList.tsx:313
+msgid "e.g. The posters who never miss."
+msgstr "例如:絕對不容錯過的發文者。"
+
+#: src/view/com/modals/CreateOrEditList.tsx:314
+msgid "e.g. Users that repeatedly reply with ads."
+msgstr "例如:張貼廣告回覆的使用者。"
+
+#: src/view/com/modals/InviteCodes.tsx:97
+msgid "Each code works once. You'll receive more invite codes periodically."
+msgstr "每個邀請碼僅能使用一次。你將定期收到更多的邀請碼。"
+
+#: src/view/com/lists/ListMembers.tsx:149
+msgctxt "action"
+msgid "Edit"
+msgstr "編輯"
+
+#: src/view/com/util/UserAvatar.tsx:301
+#: src/view/com/util/UserBanner.tsx:85
+msgid "Edit avatar"
+msgstr "編輯頭像"
+
+#: src/view/com/composer/photos/Gallery.tsx:144
+#: src/view/com/modals/EditImage.tsx:208
+msgid "Edit image"
+msgstr "編輯圖片"
+
+#: src/view/screens/ProfileList.tsx:405
+msgid "Edit list details"
+msgstr "編輯列表詳情"
+
+#: src/view/com/modals/CreateOrEditList.tsx:251
+msgid "Edit Moderation List"
+msgstr "編輯管理列表"
+
+#: src/Navigation.tsx:256
+#: src/view/screens/Feeds.tsx:459
+#: src/view/screens/SavedFeeds.tsx:85
+msgid "Edit My Feeds"
+msgstr "編輯自訂訊息流"
+
+#: src/view/com/modals/EditProfile.tsx:153
+msgid "Edit my profile"
+msgstr "編輯我的個人資料"
+
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:178
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:168
+msgid "Edit profile"
+msgstr "編輯個人資料"
+
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:181
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:171
+msgid "Edit Profile"
+msgstr "編輯個人資料"
+
+#: src/view/com/home/HomeHeaderLayout.web.tsx:66
+#: src/view/screens/Feeds.tsx:380
+msgid "Edit Saved Feeds"
+msgstr "編輯已儲存的訊息流"
+
+#: src/view/com/modals/CreateOrEditList.tsx:246
+msgid "Edit User List"
+msgstr "編輯使用者列表"
+
+#: src/view/com/modals/EditProfile.tsx:194
+msgid "Edit your display name"
+msgstr "編輯你的顯示名稱"
+
+#: src/view/com/modals/EditProfile.tsx:212
+msgid "Edit your profile description"
+msgstr "編輯你的帳號描述"
+
+#: src/screens/Onboarding/index.tsx:34
+msgid "Education"
+msgstr "教育"
+
+#: src/screens/Signup/StepInfo/index.tsx:80
+#: src/view/com/modals/ChangeEmail.tsx:141
+msgid "Email"
+msgstr "電子郵件"
+
+#: src/screens/Login/ForgotPasswordForm.tsx:99
+msgid "Email address"
+msgstr "電子郵件地址"
+
+#: src/view/com/modals/ChangeEmail.tsx:56
+#: src/view/com/modals/ChangeEmail.tsx:88
+msgid "Email updated"
+msgstr "電子郵件已更新"
+
+#: src/view/com/modals/ChangeEmail.tsx:111
+msgid "Email Updated"
+msgstr "電子郵件已更新"
+
+#: src/view/com/modals/VerifyEmail.tsx:78
+msgid "Email verified"
+msgstr "電子郵件已驗證"
+
+#: src/view/screens/Settings/index.tsx:334
+msgid "Email:"
+msgstr "電子郵件:"
+
+#: src/components/dialogs/Embed.tsx:112
+msgid "Embed HTML code"
+msgstr ""
+
+#: src/components/dialogs/Embed.tsx:97
+#: src/view/com/util/forms/PostDropdownBtn.tsx:253
+#: src/view/com/util/forms/PostDropdownBtn.tsx:255
+msgid "Embed post"
+msgstr ""
+
+#: src/components/dialogs/Embed.tsx:101
+msgid "Embed this post in your website. Simply copy the following snippet and paste it into the HTML code of your website."
+msgstr ""
+
+#: src/components/dialogs/EmbedConsent.tsx:101
+msgid "Enable {0} only"
+msgstr "僅啟用 {0}"
+
+#: src/screens/Moderation/index.tsx:329
+msgid "Enable adult content"
+msgstr "顯示成人內容"
+
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:94
+msgid "Enable Adult Content"
+msgstr "顯示成人內容"
+
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:78
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:79
+msgid "Enable adult content in your feeds"
+msgstr "允許在你的訊息流中出現成人內容"
+
+#: src/components/dialogs/EmbedConsent.tsx:82
+#: src/components/dialogs/EmbedConsent.tsx:89
+msgid "Enable external media"
+msgstr "啟用外部媒體"
+
+#: src/view/screens/PreferencesExternalEmbeds.tsx:75
+msgid "Enable media players for"
+msgstr "啟用媒體播放器"
+
+#: src/view/screens/PreferencesFollowingFeed.tsx:147
+msgid "Enable this setting to only see replies between people you follow."
+msgstr "啟用此設定來只顯示你跟隨的人之間的回覆。"
+
+#: src/components/dialogs/EmbedConsent.tsx:94
+msgid "Enable this source only"
+msgstr "僅啟用此來源"
+
+#: src/screens/Moderation/index.tsx:339
+msgid "Enabled"
+msgstr "啟用"
+
+#: src/screens/Profile/Sections/Feed.tsx:100
+msgid "End of feed"
+msgstr "訊息流的結尾"
+
+#: src/view/com/modals/AddAppPasswords.tsx:167
+msgid "Enter a name for this App Password"
+msgstr "輸入此應用程式專用密碼的名稱"
+
+#: src/screens/Login/SetNewPasswordForm.tsx:139
+msgid "Enter a password"
+msgstr "輸入密碼"
+
+#: src/components/dialogs/MutedWords.tsx:99
+#: src/components/dialogs/MutedWords.tsx:100
+msgid "Enter a word or tag"
+msgstr "輸入詞彙或標籤"
+
+#: src/view/com/modals/VerifyEmail.tsx:105
+msgid "Enter Confirmation Code"
+msgstr "輸入驗證碼"
+
+#: src/view/com/modals/ChangePassword.tsx:153
+msgid "Enter the code you received to change your password."
+msgstr "輸入你收到的驗證碼以更改密碼。"
+
+#: src/view/com/modals/ChangeHandle.tsx:370
+msgid "Enter the domain you want to use"
+msgstr "輸入你想使用的網域"
+
+#: src/screens/Login/ForgotPasswordForm.tsx:119
+msgid "Enter the email you used to create your account. We'll send you a \"reset code\" so you can set a new password."
+msgstr "輸入你用於建立帳號的電子郵件。我們將向你發送重設碼,以便你設定新密碼。"
+
+#: src/components/dialogs/BirthDateSettings.tsx:108
+msgid "Enter your birth date"
+msgstr "輸入你的出生日期"
+
+#: src/screens/Login/ForgotPasswordForm.tsx:105
+#: src/screens/Signup/StepInfo/index.tsx:92
+msgid "Enter your email address"
+msgstr "輸入你的電子郵件地址"
+
+#: src/view/com/modals/ChangeEmail.tsx:41
+msgid "Enter your new email above"
+msgstr "請在上方輸入你的新電子郵件地址"
+
+#: src/view/com/modals/ChangeEmail.tsx:117
+msgid "Enter your new email address below."
+msgstr "請在下方輸入你的新電子郵件地址。"
+
+#: src/screens/Login/index.tsx:101
+msgid "Enter your username and password"
+msgstr "輸入你的使用者名稱和密碼"
+
+#: src/screens/Signup/StepCaptcha/index.tsx:49
+msgid "Error receiving captcha response."
+msgstr "Captcha 給出了錯誤的回應。"
+
+#: src/view/screens/Search/Search.tsx:115
+msgid "Error:"
+msgstr "錯誤:"
+
+#: src/view/com/modals/Threadgate.tsx:76
+msgid "Everybody"
+msgstr "所有人"
+
+#: src/lib/moderation/useReportOptions.ts:66
+msgid "Excessive mentions or replies"
+msgstr "過多的提及或回覆"
+
+#: src/view/com/modals/DeleteAccount.tsx:230
+msgid "Exits account deletion process"
+msgstr "離開帐户删除流程"
+
+#: src/view/com/modals/ChangeHandle.tsx:151
+msgid "Exits handle change process"
+msgstr "離開修改帳號代碼流程"
+
+#: src/view/com/modals/crop-image/CropImage.web.tsx:136
+msgid "Exits image cropping process"
+msgstr "離開圖片裁剪流程"
+
+#: src/view/com/lightbox/Lightbox.web.tsx:130
+msgid "Exits image view"
+msgstr "離開圖片檢視器"
+
+#: src/view/com/modals/ListAddRemoveUsers.tsx:88
+#: src/view/shell/desktop/Search.tsx:236
+msgid "Exits inputting search query"
+msgstr "離開搜尋字詞輸入"
+
+#: src/view/com/lightbox/Lightbox.web.tsx:183
+msgid "Expand alt text"
+msgstr "展開替代文字"
+
+#: src/view/com/composer/ComposerReplyTo.tsx:82
+#: src/view/com/composer/ComposerReplyTo.tsx:85
+msgid "Expand or collapse the full post you are replying to"
+msgstr "展開或摺疊你要回覆的完整貼文"
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:47
+msgid "Explicit or potentially disturbing media."
+msgstr "露骨或可能令人不安的媒體內容。"
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:35
+msgid "Explicit sexual images."
+msgstr "露骨的情色內容圖片。"
+
+#: src/view/screens/Settings/index.tsx:741
+msgid "Export my data"
+msgstr "匯出我的資料"
+
+#: src/view/screens/Settings/ExportCarDialog.tsx:44
+#: src/view/screens/Settings/index.tsx:752
+msgid "Export My Data"
+msgstr "匯出我的資料"
+
+#: src/components/dialogs/EmbedConsent.tsx:55
+#: src/components/dialogs/EmbedConsent.tsx:59
+msgid "External Media"
+msgstr "外部媒體"
+
+#: src/components/dialogs/EmbedConsent.tsx:71
+#: src/view/screens/PreferencesExternalEmbeds.tsx:66
+msgid "External media may allow websites to collect information about you and your device. No information is sent or requested until you press the \"play\" button."
+msgstr "外部媒體可能允許網站收集有關你和你裝置的信息。在你按下「播放」按鈕之前,將不會發送或請求任何外部信息。"
+
+#: src/Navigation.tsx:275
+#: src/view/screens/PreferencesExternalEmbeds.tsx:52
+#: src/view/screens/Settings/index.tsx:628
+msgid "External Media Preferences"
+msgstr "外部媒體設定偏好"
+
+#: src/view/screens/Settings/index.tsx:619
+msgid "External media settings"
+msgstr "外部媒體設定"
+
+#: src/view/com/modals/AddAppPasswords.tsx:116
+#: src/view/com/modals/AddAppPasswords.tsx:120
+msgid "Failed to create app password."
+msgstr "建立應用程式專用密碼失敗。"
+
+#: src/view/com/modals/CreateOrEditList.tsx:207
+msgid "Failed to create the list. Check your internet connection and try again."
+msgstr "無法建立列表。請檢查你的網路連線並重試。"
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:131
+msgid "Failed to delete post, please try again"
+msgstr "無法刪除貼文,請重試"
+
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:110
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:143
+msgid "Failed to load recommended feeds"
+msgstr "無法載入推薦訊息流"
+
+#: src/view/com/lightbox/Lightbox.tsx:83
+msgid "Failed to save image: {0}"
+msgstr "無法儲存圖片:{0}"
+
+#: src/Navigation.tsx:196
+msgid "Feed"
+msgstr "訊息流"
+
+#: src/view/com/feeds/FeedSourceCard.tsx:218
+msgid "Feed by {0}"
+msgstr "{0} 建立的訊息流"
+
+#: src/view/screens/Feeds.tsx:630
+msgid "Feed offline"
+msgstr "訊息流已離線"
+
+#: src/view/shell/desktop/RightNav.tsx:61
+#: src/view/shell/Drawer.tsx:320
+msgid "Feedback"
+msgstr "意見回饋"
+
+#: src/Navigation.tsx:456
+#: src/view/screens/Feeds.tsx:444
+#: src/view/screens/Feeds.tsx:549
+#: src/view/screens/Profile.tsx:199
+#: src/view/shell/bottom-bar/BottomBar.tsx:192
+#: src/view/shell/desktop/LeftNav.tsx:346
+#: src/view/shell/Drawer.tsx:485
+#: src/view/shell/Drawer.tsx:486
+msgid "Feeds"
+msgstr "訊息流"
+
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:58
+msgid "Feeds are created by users to curate content. Choose some feeds that you find interesting."
+msgstr "訊息流由使用者建立並管理。選擇一些你覺得有趣的訊息流。"
+
+#: src/view/screens/SavedFeeds.tsx:157
+msgid "Feeds are custom algorithms that users build with a little coding expertise. <0/> for more information."
+msgstr "訊息流是使用者用一點程式技能建立的自訂演算法。更多資訊請見 <0/>。"
+
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:80
+msgid "Feeds can be topical as well!"
+msgstr "訊息流也可以圍繞某些話題!"
+
+#: src/view/com/modals/ChangeHandle.tsx:481
+msgid "File Contents"
+msgstr "檔案內容"
+
+#: src/lib/moderation/useLabelBehaviorDescription.ts:66
+msgid "Filter from feeds"
+msgstr "從訊息流中篩選"
+
+#: src/screens/Onboarding/StepFinished.tsx:155
+msgid "Finalizing"
+msgstr "最終確定"
+
+#: src/view/com/posts/CustomFeedEmptyState.tsx:47
+#: src/view/com/posts/FollowingEmptyState.tsx:57
+#: src/view/com/posts/FollowingEndOfFeed.tsx:58
+msgid "Find accounts to follow"
+msgstr "尋找一些要跟隨的帳號"
+
+#: src/view/screens/Search/Search.tsx:589
+msgid "Find users on Bluesky"
+msgstr "在 Bluesky 上尋找使用者"
+
+#: src/view/screens/Search/Search.tsx:587
+msgid "Find users with the search tool on the right"
+msgstr "使用右側的搜尋工具尋找使用者"
+
+#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:155
+msgid "Finding similar accounts..."
+msgstr "正在尋找相似的帳號…"
+
+#: src/view/screens/PreferencesFollowingFeed.tsx:111
+msgid "Fine-tune the content you see on your Following feed."
+msgstr "調整你在跟隨訊息流上所看到的內容。"
+
+#: src/view/screens/PreferencesThreads.tsx:60
+msgid "Fine-tune the discussion threads."
+msgstr "調整討論主題。"
+
+#: src/screens/Onboarding/index.tsx:38
+msgid "Fitness"
+msgstr "健康"
+
+#: src/screens/Onboarding/StepFinished.tsx:135
+msgid "Flexible"
+msgstr "靈活"
+
+#: src/view/com/modals/EditImage.tsx:116
+msgid "Flip horizontal"
+msgstr "水平翻轉"
+
+#: src/view/com/modals/EditImage.tsx:121
+#: src/view/com/modals/EditImage.tsx:288
+msgid "Flip vertically"
+msgstr "垂直翻轉"
+
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:189
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:235
+#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:141
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:146
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:248
+msgid "Follow"
+msgstr "跟隨"
+
+#: src/view/com/profile/FollowButton.tsx:69
+msgctxt "action"
+msgid "Follow"
+msgstr "跟隨"
+
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:58
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:221
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:128
+msgid "Follow {0}"
+msgstr "跟隨 {0}"
+
+#: src/view/com/profile/ProfileMenu.tsx:242
+#: src/view/com/profile/ProfileMenu.tsx:253
+msgid "Follow Account"
+msgstr "跟隨帳號"
+
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:187
+msgid "Follow All"
+msgstr "跟隨所有"
+
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:144
+msgid "Follow Back"
+msgstr "回追蹤"
+
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:182
+msgid "Follow selected accounts and continue to the next step"
+msgstr "跟隨選擇的使用者並繼續下一步"
+
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:65
+msgid "Follow some users to get started. We can recommend you more users based on who you find interesting."
+msgstr "跟隨一些使用者以開始,我們可以根據你感興趣的使用者向你推薦更多相似使用者。"
+
+#: src/view/com/profile/ProfileCard.tsx:219
+msgid "Followed by {0}"
+msgstr "由 {0} 跟隨"
+
+#: src/view/com/modals/Threadgate.tsx:98
+msgid "Followed users"
+msgstr "已跟隨的使用者"
+
+#: src/view/screens/PreferencesFollowingFeed.tsx:154
+msgid "Followed users only"
+msgstr "僅限已跟隨的使用者"
+
+#: src/view/com/notifications/FeedItem.tsx:172
+msgid "followed you"
+msgstr "已跟隨"
+
+#: src/view/com/profile/ProfileFollowers.tsx:104
+#: src/view/screens/ProfileFollowers.tsx:25
+msgid "Followers"
+msgstr "跟隨者"
+
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:233
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:149
+#: src/view/com/profile/ProfileFollows.tsx:104
+#: src/view/screens/ProfileFollows.tsx:25
+msgid "Following"
+msgstr "跟隨中"
+
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:93
+msgid "Following {0}"
+msgstr "跟隨中:{0}"
+
+#: src/view/screens/Settings/index.tsx:504
+msgid "Following feed preferences"
+msgstr "跟隨訊息流設定偏好"
+
+#: src/Navigation.tsx:262
+#: src/view/com/home/HomeHeaderLayout.web.tsx:54
+#: src/view/com/home/HomeHeaderLayoutMobile.tsx:87
+#: src/view/screens/PreferencesFollowingFeed.tsx:104
+#: src/view/screens/Settings/index.tsx:513
+msgid "Following Feed Preferences"
+msgstr "跟隨訊息流設定偏好"
+
+#: src/screens/Profile/Header/Handle.tsx:24
+msgid "Follows you"
+msgstr "跟隨你"
+
+#: src/view/com/profile/ProfileCard.tsx:144
+msgid "Follows You"
+msgstr "跟隨你"
+
+#: src/screens/Onboarding/index.tsx:43
+msgid "Food"
+msgstr "食物"
+
+#: src/view/com/modals/DeleteAccount.tsx:110
+msgid "For security reasons, we'll need to send a confirmation code to your email address."
+msgstr "為了保護你的帳號安全,我們需要將驗證碼發送到你的電子郵件地址。"
+
+#: src/view/com/modals/AddAppPasswords.tsx:210
+msgid "For security reasons, you won't be able to view this again. If you lose this password, you'll need to generate a new one."
+msgstr "為了保護你的帳號安全,你將無法再次查看此內容。如果你丟失了此密碼,你將需要產生一個新密碼。"
+
+#: src/screens/Login/index.tsx:129
+#: src/screens/Login/index.tsx:144
+msgid "Forgot Password"
+msgstr "忘記密碼"
+
+#: src/screens/Login/LoginForm.tsx:201
+msgid "Forgot password?"
+msgstr "忘記密碼?"
+
+#: src/screens/Login/LoginForm.tsx:212
+msgid "Forgot?"
+msgstr "忘記?"
+
+#: src/lib/moderation/useReportOptions.ts:52
+msgid "Frequently Posts Unwanted Content"
+msgstr "經常發佈無關內容"
+
+#: src/screens/Hashtag.tsx:109
+#: src/screens/Hashtag.tsx:149
+msgid "From @{sanitizedAuthor}"
+msgstr "來自 @{sanitizedAuthor}"
+
+#: src/view/com/posts/FeedItem.tsx:181
+msgctxt "from-feed"
+msgid "From <0/>"
+msgstr "來自 <0/>"
+
+#: src/view/com/composer/photos/SelectPhotoBtn.tsx:43
+msgid "Gallery"
+msgstr "相簿"
+
+#: src/view/com/modals/VerifyEmail.tsx:189
+#: src/view/com/modals/VerifyEmail.tsx:191
+msgid "Get Started"
+msgstr "開始"
+
+#: src/lib/moderation/useReportOptions.ts:37
+msgid "Glaring violations of law or terms of service"
+msgstr "明顯違反法律或服務條款"
+
+#: src/components/moderation/ScreenHider.tsx:151
+#: src/components/moderation/ScreenHider.tsx:160
+#: src/view/com/auth/LoggedOut.tsx:82
+#: src/view/com/auth/LoggedOut.tsx:83
+#: src/view/screens/NotFound.tsx:55
+#: src/view/screens/ProfileFeed.tsx:112
+#: src/view/screens/ProfileList.tsx:918
+#: src/view/shell/desktop/LeftNav.tsx:108
+msgid "Go back"
+msgstr "返回"
+
+#: src/components/Error.tsx:91
+#: src/screens/Profile/ErrorState.tsx:62
+#: src/screens/Profile/ErrorState.tsx:66
+#: src/view/screens/NotFound.tsx:54
+#: src/view/screens/ProfileFeed.tsx:117
+#: src/view/screens/ProfileList.tsx:923
+msgid "Go Back"
+msgstr "返回"
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:73
+#: src/components/ReportDialog/SubmitView.tsx:102
+#: src/screens/Onboarding/Layout.tsx:102
+#: src/screens/Onboarding/Layout.tsx:191
+#: src/screens/Signup/index.tsx:174
+msgid "Go back to previous step"
+msgstr "返回上一步"
+
+#: src/view/screens/NotFound.tsx:55
+msgid "Go home"
+msgstr "前往首頁"
+
+#: src/view/screens/NotFound.tsx:54
+msgid "Go Home"
+msgstr "前往首頁"
+
+#: src/view/screens/Search/Search.tsx:896
+#: src/view/shell/desktop/Search.tsx:263
+msgid "Go to @{queryMaybeHandle}"
+msgstr "前往 @{queryMaybeHandle}"
+
+#: src/screens/Login/ForgotPasswordForm.tsx:172
+#: src/view/com/modals/ChangePassword.tsx:167
+msgid "Go to next"
+msgstr "前往下一步"
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:46
+msgid "Graphic Media"
+msgstr "平面媒體"
+
+#: src/view/com/modals/ChangeHandle.tsx:266
+msgid "Handle"
+msgstr "帳號代碼"
+
+#: src/lib/moderation/useReportOptions.ts:32
+msgid "Harassment, trolling, or intolerance"
+msgstr "騷擾、惡作劇或其他無法容忍的行為"
+
+#: src/Navigation.tsx:282
+msgid "Hashtag"
+msgstr "標籤"
+
+#: src/components/RichText.tsx:197
+msgid "Hashtag: #{tag}"
+msgstr "標籤:#{tag}"
+
+#: src/screens/Signup/index.tsx:221
+msgid "Having trouble?"
+msgstr "遇到問題?"
+
+#: src/view/shell/desktop/RightNav.tsx:90
+#: src/view/shell/Drawer.tsx:330
+msgid "Help"
+msgstr "幫助"
+
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:140
+msgid "Here are some accounts for you to follow"
+msgstr "這裡有一些你可以跟隨的帳號"
+
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:89
+msgid "Here are some popular topical feeds. You can choose to follow as many as you like."
+msgstr "這裡有一些熱門的話題訊息流。跟隨的訊息流數量沒有限制。"
+
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:84
+msgid "Here are some topical feeds based on your interests: {interestsText}. You can choose to follow as many as you like."
+msgstr "這裡有一些根據你的興趣({interestsText})所推薦的熱門的話題訊息流。跟隨的訊息流數量沒有限制。"
+
+#: src/view/com/modals/AddAppPasswords.tsx:154
+msgid "Here is your app password."
+msgstr "這是你的應用程式專用密碼。"
+
+#: src/components/moderation/ContentHider.tsx:115
+#: src/components/moderation/LabelPreference.tsx:134
+#: src/components/moderation/PostHider.tsx:107
+#: src/lib/moderation/useLabelBehaviorDescription.ts:15
+#: src/lib/moderation/useLabelBehaviorDescription.ts:20
+#: src/lib/moderation/useLabelBehaviorDescription.ts:25
+#: src/lib/moderation/useLabelBehaviorDescription.ts:30
+#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:52
+#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:76
+#: src/view/com/util/forms/PostDropdownBtn.tsx:350
+msgid "Hide"
+msgstr "隱藏"
+
+#: src/view/com/notifications/FeedItem.tsx:331
+msgctxt "action"
+msgid "Hide"
+msgstr "隱藏"
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:294
+#: src/view/com/util/forms/PostDropdownBtn.tsx:296
+msgid "Hide post"
+msgstr "隱藏貼文"
+
+#: src/components/moderation/ContentHider.tsx:67
+#: src/components/moderation/PostHider.tsx:64
+msgid "Hide the content"
+msgstr "隱藏內容"
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:347
+msgid "Hide this post?"
+msgstr "隱藏這則貼文?"
+
+#: src/view/com/notifications/FeedItem.tsx:321
+msgid "Hide user list"
+msgstr "隱藏使用者列表"
+
+#: src/view/com/posts/FeedErrorMessage.tsx:111
+msgid "Hmm, some kind of issue occurred when contacting the feed server. Please let the feed owner know about this issue."
+msgstr "唔,與訊息流伺服器連線時發生了某種問題。請告訴該訊息流的擁有者這個問題。"
+
+#: src/view/com/posts/FeedErrorMessage.tsx:99
+msgid "Hmm, the feed server appears to be misconfigured. Please let the feed owner know about this issue."
+msgstr "唔,訊息流伺服器似乎設置錯誤。請告訴該訊息流的擁有者這個問題。"
+
+#: src/view/com/posts/FeedErrorMessage.tsx:105
+msgid "Hmm, the feed server appears to be offline. Please let the feed owner know about this issue."
+msgstr "唔,訊息流伺服器似乎已離線。請告訴該訊息流的擁有者這個問題。"
+
+#: src/view/com/posts/FeedErrorMessage.tsx:102
+msgid "Hmm, the feed server gave a bad response. Please let the feed owner know about this issue."
+msgstr "唔,訊息流伺服器給出了錯誤的回應。請告訴該訊息流的擁有者這個問題。"
+
+#: src/view/com/posts/FeedErrorMessage.tsx:96
+msgid "Hmm, we're having trouble finding this feed. It may have been deleted."
+msgstr "唔,我們無法找到這個訊息流,它可能已被刪除。"
+
+#: src/screens/Moderation/index.tsx:59
+msgid "Hmmmm, it seems we're having trouble loading this data. See below for more details. If this issue persists, please contact us."
+msgstr "唔,看起來我們在載入這些資料時遇到了問題,詳情請參閱下方。如果問題持續存在,請聯絡我們。"
+
+#: src/screens/Profile/ErrorState.tsx:31
+msgid "Hmmmm, we couldn't load that moderation service."
+msgstr "唔,我們無法載入該限制服務"
+
+#: src/Navigation.tsx:446
+#: src/view/shell/bottom-bar/BottomBar.tsx:148
+#: src/view/shell/desktop/LeftNav.tsx:310
+#: src/view/shell/Drawer.tsx:407
+#: src/view/shell/Drawer.tsx:408
+msgid "Home"
+msgstr "首頁"
+
+#: src/view/com/modals/ChangeHandle.tsx:420
+msgid "Host:"
+msgstr "主機:"
+
+#: src/screens/Login/ForgotPasswordForm.tsx:89
+#: src/screens/Login/LoginForm.tsx:134
+#: src/screens/Signup/StepInfo/index.tsx:40
+#: src/view/com/modals/ChangeHandle.tsx:281
+msgid "Hosting provider"
+msgstr "托管服務提供商"
+
+#: src/view/com/modals/InAppBrowserConsent.tsx:44
+msgid "How should we open this link?"
+msgstr "我們該如何開啟此連結?"
+
+#: src/view/com/modals/VerifyEmail.tsx:214
+msgid "I have a code"
+msgstr "我有驗證碼"
+
+#: src/view/com/modals/VerifyEmail.tsx:216
+msgid "I have a confirmation code"
+msgstr "我有驗證碼"
+
+#: src/view/com/modals/ChangeHandle.tsx:284
+msgid "I have my own domain"
+msgstr "我擁有自己的網域"
+
+#: src/view/com/lightbox/Lightbox.web.tsx:185
+msgid "If alt text is long, toggles alt text expanded state"
+msgstr "替代文字過長時,切換替代文字的展開狀態"
+
+#: src/view/com/modals/SelfLabel.tsx:127
+msgid "If none are selected, suitable for all ages."
+msgstr "若不勾選,則預設為全年齡向。"
+
+#: src/screens/Signup/StepInfo/Policies.tsx:83
+msgid "If you are not yet an adult according to the laws of your country, your parent or legal guardian must read these Terms on your behalf."
+msgstr "如果根據你所在國家的法律,你尚未成年,則你的父母或法定監護人必須代表你閱讀這些條款。"
+
+#: src/view/screens/ProfileList.tsx:612
+msgid "If you delete this list, you won't be able to recover it."
+msgstr "如果刪除這個列表,你將無法恢復它。"
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:338
+msgid "If you remove this post, you won't be able to recover it."
+msgstr "如果刪除這則貼文,你將無法恢復它。"
+
+#: src/view/com/modals/ChangePassword.tsx:148
+msgid "If you want to change your password, we will send you a code to verify that this is your account."
+msgstr "如果你想更改密碼,我們將向你發送一個驗證碼以確認這是你的帳號。"
+
+#: src/lib/moderation/useReportOptions.ts:36
+msgid "Illegal and Urgent"
+msgstr "違法"
+
+#: src/view/com/util/images/Gallery.tsx:38
+msgid "Image"
+msgstr "圖片"
+
+#: src/view/com/modals/AltImage.tsx:121
+msgid "Image alt text"
+msgstr "圖片替代文字"
+
+#: src/lib/moderation/useReportOptions.ts:47
+msgid "Impersonation or false claims about identity or affiliation"
+msgstr "冒充或虛假聲明身份或隸屬關係"
+
+#: src/screens/Login/SetNewPasswordForm.tsx:127
+msgid "Input code sent to your email for password reset"
+msgstr "輸入發送到你電子郵件地址的重設碼以重設密碼"
+
+#: src/view/com/modals/DeleteAccount.tsx:183
+msgid "Input confirmation code for account deletion"
+msgstr "輸入刪除帳號的驗證碼"
+
+#: src/view/com/modals/AddAppPasswords.tsx:181
+msgid "Input name for app password"
+msgstr "輸入應用程式專用密碼名稱"
+
+#: src/screens/Login/SetNewPasswordForm.tsx:151
+msgid "Input new password"
+msgstr "輸入新密碼"
+
+#: src/view/com/modals/DeleteAccount.tsx:202
+msgid "Input password for account deletion"
+msgstr "輸入密碼以刪除帳號"
+
+#: src/screens/Login/LoginForm.tsx:195
+msgid "Input the password tied to {identifier}"
+msgstr "輸入與 {identifier} 關聯的密碼"
+
+#: src/screens/Login/LoginForm.tsx:168
+msgid "Input the username or email address you used at signup"
+msgstr "輸入註冊時使用的使用者名稱或電子郵件地址"
+
+#: src/screens/Login/LoginForm.tsx:194
+msgid "Input your password"
+msgstr "輸入你的密碼"
+
+#: src/view/com/modals/ChangeHandle.tsx:389
+msgid "Input your preferred hosting provider"
+msgstr "輸入你的托管服務提供商"
+
+#: src/screens/Signup/StepHandle.tsx:63
+msgid "Input your user handle"
+msgstr "輸入你的帳號代碼"
+
+#: src/view/com/post-thread/PostThreadItem.tsx:221
+msgid "Invalid or unsupported post record"
+msgstr "無效或不支援的貼文紀錄"
+
+#: src/screens/Login/LoginForm.tsx:114
+msgid "Invalid username or password"
+msgstr "使用者名稱或密碼無效"
+
+#: src/view/com/modals/InviteCodes.tsx:94
+msgid "Invite a Friend"
+msgstr "邀請朋友"
+
+#: src/screens/Signup/StepInfo/index.tsx:58
+msgid "Invite code"
+msgstr "邀請碼"
+
+#: src/screens/Signup/state.ts:278
+msgid "Invite code not accepted. Check that you input it correctly and try again."
+msgstr "邀請碼無效。請檢查你輸入的內容是否正確,然後重試。"
+
+#: src/view/com/modals/InviteCodes.tsx:171
+msgid "Invite codes: {0} available"
+msgstr "邀請碼:{0} 個可用"
+
+#: src/view/com/modals/InviteCodes.tsx:170
+msgid "Invite codes: 1 available"
+msgstr "邀請碼:1 個可用"
+
+#: src/screens/Onboarding/StepFollowingFeed.tsx:65
+msgid "It shows posts from the people you follow as they happen."
+msgstr "它會即時顯示你所跟隨的人發佈的貼文。"
+
+#: src/view/com/auth/SplashScreen.web.tsx:152
+msgid "Jobs"
+msgstr "工作"
+
+#: src/screens/Onboarding/index.tsx:24
+msgid "Journalism"
+msgstr "新聞學"
+
+#: src/components/moderation/LabelsOnMe.tsx:59
+msgid "label has been placed on this {labelTarget}"
+msgstr "此標籤已放置於 {labelTarget} 上"
+
+#: src/components/moderation/ContentHider.tsx:144
+msgid "Labeled by {0}."
+msgstr "由 {0} 標註。"
+
+#: src/components/moderation/ContentHider.tsx:142
+msgid "Labeled by the author."
+msgstr "由作者標註。"
+
+#: src/view/screens/Profile.tsx:193
+msgid "Labels"
+msgstr "標籤"
+
+#: src/screens/Profile/Sections/Labels.tsx:153
+msgid "Labels are annotations on users and content. They can be used to hide, warn, and categorize the network."
+msgstr "標籤是對使用者和內容的標註,可用於隱藏、警告和對網路進行分類。"
+
+#: src/components/moderation/LabelsOnMe.tsx:61
+msgid "labels have been placed on this {labelTarget}"
+msgstr "此標籤已放置於 {labelTarget} 上"
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:62
+msgid "Labels on your account"
+msgstr "你帳戶上的標籤"
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:64
+msgid "Labels on your content"
+msgstr "你內容上的標籤"
+
+#: src/view/com/composer/select-language/SelectLangBtn.tsx:104
+msgid "Language selection"
+msgstr "語言選擇"
+
+#: src/view/screens/Settings/index.tsx:565
+msgid "Language settings"
+msgstr "語言設定"
+
+#: src/Navigation.tsx:144
+#: src/view/screens/LanguageSettings.tsx:89
+msgid "Language Settings"
+msgstr "語言設定"
+
+#: src/view/screens/Settings/index.tsx:574
+msgid "Languages"
+msgstr "語言"
+
+#: src/view/screens/Search/Search.tsx:437
+msgid "Latest"
+msgstr ""
+
+#: src/components/moderation/ScreenHider.tsx:136
+msgid "Learn More"
+msgstr "瞭解詳情"
+
+#: src/components/moderation/ContentHider.tsx:65
+#: src/components/moderation/ContentHider.tsx:128
+msgid "Learn more about the moderation applied to this content."
+msgstr "詳細了解套用於此內容的限制。"
+
+#: src/components/moderation/PostHider.tsx:85
+#: src/components/moderation/ScreenHider.tsx:125
+msgid "Learn more about this warning"
+msgstr "瞭解有關此警告的更多資訊"
+
+#: src/screens/Moderation/index.tsx:549
+msgid "Learn more about what is public on Bluesky."
+msgstr "瞭解有關 Bluesky 上公開內容的更多資訊。"
+
+#: src/components/moderation/ContentHider.tsx:152
+msgid "Learn more."
+msgstr "瞭解詳情"
+
+#: src/view/com/modals/lang-settings/ContentLanguagesSettings.tsx:82
+msgid "Leave them all unchecked to see any language."
+msgstr "全部留空以查看所有語言。"
+
+#: src/view/com/modals/LinkWarning.tsx:65
+msgid "Leaving Bluesky"
+msgstr "離開 Bluesky"
+
+#: src/screens/Deactivated.tsx:128
+msgid "left to go."
+msgstr "尚未完成。"
+
+#: src/view/screens/Settings/index.tsx:299
+msgid "Legacy storage cleared, you need to restart the app now."
+msgstr "舊儲存資料已清除,你需要立即重新啟動應用程式。"
+
+#: src/screens/Login/index.tsx:130
+#: src/screens/Login/index.tsx:145
+msgid "Let's get your password reset!"
+msgstr "讓我們來重設你的密碼吧!"
+
+#: src/screens/Onboarding/StepFinished.tsx:155
+msgid "Let's go!"
+msgstr "讓我們開始吧!"
+
+#: src/view/screens/Settings/index.tsx:449
+msgid "Light"
+msgstr "亮色"
+
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:197
+msgid "Like"
+msgstr "喜歡"
+
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:264
+#: src/view/screens/ProfileFeed.tsx:585
+msgid "Like this feed"
+msgstr "喜歡這個訊息流"
+
+#: src/components/LikesDialog.tsx:87
+#: src/Navigation.tsx:201
+#: src/Navigation.tsx:206
+msgid "Liked by"
+msgstr "喜歡"
+
+#: src/screens/Profile/ProfileLabelerLikedBy.tsx:29
+#: src/view/screens/PostLikedBy.tsx:27
+#: src/view/screens/ProfileFeedLikedBy.tsx:27
+msgid "Liked By"
+msgstr "喜歡"
+
+#: src/view/com/feeds/FeedSourceCard.tsx:268
+msgid "Liked by {0} {1}"
+msgstr "{0} 個 {1} 喜歡"
+
+#: src/components/LabelingServiceCard/index.tsx:72
+msgid "Liked by {count} {0}"
+msgstr "{count} 個 {0} 喜歡"
+
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:284
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:298
+#: src/view/screens/ProfileFeed.tsx:600
+msgid "Liked by {likeCount} {0}"
+msgstr "{likeCount} 個 {0} 喜歡"
+
+#: src/view/com/notifications/FeedItem.tsx:176
+msgid "liked your custom feed"
+msgstr "喜歡你的自訂訊息流"
+
+#: src/view/com/notifications/FeedItem.tsx:161
+msgid "liked your post"
+msgstr "喜歡你的貼文"
+
+#: src/view/screens/Profile.tsx:198
+msgid "Likes"
+msgstr "喜歡"
+
+#: src/view/com/post-thread/PostThreadItem.tsx:182
+msgid "Likes on this post"
+msgstr "這條貼文的喜歡數"
+
+#: src/Navigation.tsx:170
+msgid "List"
+msgstr "列表"
+
+#: src/view/com/modals/CreateOrEditList.tsx:262
+msgid "List Avatar"
+msgstr "列表頭像"
+
+#: src/view/screens/ProfileList.tsx:313
+msgid "List blocked"
+msgstr "列表已封鎖"
+
+#: src/view/com/feeds/FeedSourceCard.tsx:220
+msgid "List by {0}"
+msgstr "列表由 {0} 建立"
+
+#: src/view/screens/ProfileList.tsx:357
+msgid "List deleted"
+msgstr "列表已刪除"
+
+#: src/view/screens/ProfileList.tsx:285
+msgid "List muted"
+msgstr "列表已靜音"
+
+#: src/view/com/modals/CreateOrEditList.tsx:276
+msgid "List Name"
+msgstr "列表名稱"
+
+#: src/view/screens/ProfileList.tsx:327
+msgid "List unblocked"
+msgstr "解除封鎖列表"
+
+#: src/view/screens/ProfileList.tsx:299
+msgid "List unmuted"
+msgstr "解除靜音列表"
+
+#: src/Navigation.tsx:114
+#: src/view/screens/Profile.tsx:194
+#: src/view/screens/Profile.tsx:200
+#: src/view/shell/desktop/LeftNav.tsx:383
+#: src/view/shell/Drawer.tsx:501
+#: src/view/shell/Drawer.tsx:502
+msgid "Lists"
+msgstr "列表"
+
+#: src/view/screens/Notifications.tsx:159
+msgid "Load new notifications"
+msgstr "載入新的通知"
+
+#: src/screens/Profile/Sections/Feed.tsx:86
+#: src/view/com/feeds/FeedPage.tsx:138
+#: src/view/screens/ProfileFeed.tsx:507
+#: src/view/screens/ProfileList.tsx:697
+msgid "Load new posts"
+msgstr "載入新的貼文"
+
+#: src/view/com/composer/text-input/mobile/Autocomplete.tsx:99
+msgid "Loading..."
+msgstr "載入中…"
+
+#: src/Navigation.tsx:221
+msgid "Log"
+msgstr "日誌"
+
+#: src/screens/Deactivated.tsx:149
+#: src/screens/Deactivated.tsx:152
+#: src/screens/Deactivated.tsx:178
+#: src/screens/Deactivated.tsx:181
+msgid "Log out"
+msgstr "登出"
+
+#: src/screens/Moderation/index.tsx:442
+msgid "Logged-out visibility"
+msgstr "登出可見性"
+
+#: src/components/AccountList.tsx:54
+msgid "Login to account that is not listed"
+msgstr "登入未列出的帳號"
+
+#: src/screens/Login/SetNewPasswordForm.tsx:116
+msgid "Looks like XXXXX-XXXXX"
+msgstr "看起來像是 XXXXX-XXXXX"
+
+#: src/view/com/modals/LinkWarning.tsx:79
+msgid "Make sure this is where you intend to go!"
+msgstr "請確認這是你想要去的的地方!"
+
+#: src/components/dialogs/MutedWords.tsx:82
+msgid "Manage your muted words and tags"
+msgstr "管理你靜音的文字和標籤"
+
+#: src/view/screens/Profile.tsx:197
+msgid "Media"
+msgstr "媒體"
+
+#: src/view/com/threadgate/WhoCanReply.tsx:139
+msgid "mentioned users"
+msgstr "提及的使用者"
+
+#: src/view/com/modals/Threadgate.tsx:93
+msgid "Mentioned users"
+msgstr "提及的使用者"
+
+#: src/view/com/util/ViewHeader.tsx:87
+#: src/view/screens/Search/Search.tsx:795
+msgid "Menu"
+msgstr "選單"
+
+#: src/view/com/posts/FeedErrorMessage.tsx:192
+msgid "Message from server: {0}"
+msgstr "來自伺服器的訊息:{0}"
+
+#: src/lib/moderation/useReportOptions.ts:45
+msgid "Misleading Account"
+msgstr "誤導性帳戶"
+
+#: src/Navigation.tsx:119
+#: src/screens/Moderation/index.tsx:104
+#: src/view/screens/Settings/index.tsx:596
+#: src/view/shell/desktop/LeftNav.tsx:401
+#: src/view/shell/Drawer.tsx:520
+#: src/view/shell/Drawer.tsx:521
+msgid "Moderation"
+msgstr "限制"
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:112
+msgid "Moderation details"
+msgstr "限制詳情"
+
+#: src/view/com/lists/ListCard.tsx:93
+#: src/view/com/modals/UserAddRemoveLists.tsx:206
+msgid "Moderation list by {0}"
+msgstr "{0} 建立的限制列表"
+
+#: src/view/screens/ProfileList.tsx:791
+msgid "Moderation list by <0/>"
+msgstr "0> 建立的限制列表"
+
+#: src/view/com/lists/ListCard.tsx:91
+#: src/view/com/modals/UserAddRemoveLists.tsx:204
+#: src/view/screens/ProfileList.tsx:789
+msgid "Moderation list by you"
+msgstr "你建立的限制列表"
+
+#: src/view/com/modals/CreateOrEditList.tsx:198
+msgid "Moderation list created"
+msgstr "已建立限制列表"
+
+#: src/view/com/modals/CreateOrEditList.tsx:184
+msgid "Moderation list updated"
+msgstr "限制列表已更新"
+
+#: src/screens/Moderation/index.tsx:243
+msgid "Moderation lists"
+msgstr "限制列表"
+
+#: src/Navigation.tsx:124
+#: src/view/screens/ModerationModlists.tsx:58
+msgid "Moderation Lists"
+msgstr "限制列表"
+
+#: src/view/screens/Settings/index.tsx:590
+msgid "Moderation settings"
+msgstr "限制設定"
+
+#: src/Navigation.tsx:216
+msgid "Moderation states"
+msgstr "限制狀態"
+
+#: src/screens/Moderation/index.tsx:215
+msgid "Moderation tools"
+msgstr "限制工具"
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:48
+#: src/lib/moderation/useModerationCauseDescription.ts:40
+msgid "Moderator has chosen to set a general warning on the content."
+msgstr "限制選擇對內容設定一般警告。"
+
+#: src/view/com/post-thread/PostThreadItem.tsx:535
+msgid "More"
+msgstr "更多"
+
+#: src/view/shell/desktop/Feeds.tsx:65
+msgid "More feeds"
+msgstr "更多訊息流"
+
+#: src/view/screens/ProfileList.tsx:601
+msgid "More options"
+msgstr "更多選項"
+
+#: src/view/screens/PreferencesThreads.tsx:82
+msgid "Most-liked replies first"
+msgstr "最多按喜歡數優先"
+
+#: src/components/TagMenu/index.tsx:249
+msgid "Mute"
+msgstr "靜音"
+
+#: src/components/TagMenu/index.web.tsx:105
+msgid "Mute {truncatedTag}"
+msgstr "靜音 {truncatedTag}"
+
+#: src/view/com/profile/ProfileMenu.tsx:279
+#: src/view/com/profile/ProfileMenu.tsx:286
+msgid "Mute Account"
+msgstr "靜音帳號"
+
+#: src/view/screens/ProfileList.tsx:520
+msgid "Mute accounts"
+msgstr "靜音帳號"
+
+#: src/components/TagMenu/index.tsx:209
+msgid "Mute all {displayTag} posts"
+msgstr "將所有 {displayTag} 貼文靜音"
+
+#: src/components/dialogs/MutedWords.tsx:148
+msgid "Mute in tags only"
+msgstr "僅在標籤中靜音"
+
+#: src/components/dialogs/MutedWords.tsx:133
+msgid "Mute in text & tags"
+msgstr "在文字和標籤中靜音"
+
+#: src/view/screens/ProfileList.tsx:463
+#: src/view/screens/ProfileList.tsx:626
+msgid "Mute list"
+msgstr "靜音列表"
+
+#: src/view/screens/ProfileList.tsx:621
+msgid "Mute these accounts?"
+msgstr "靜音這些帳號?"
+
+#: src/components/dialogs/MutedWords.tsx:126
+msgid "Mute this word in post text and tags"
+msgstr "在帖子文本和话题标签中隐藏该词"
+
+#: src/components/dialogs/MutedWords.tsx:141
+msgid "Mute this word in tags only"
+msgstr "仅在话题标签中隐藏该词"
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:269
+#: src/view/com/util/forms/PostDropdownBtn.tsx:275
+msgid "Mute thread"
+msgstr "靜音對話串"
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:285
+#: src/view/com/util/forms/PostDropdownBtn.tsx:287
+msgid "Mute words & tags"
+msgstr "靜音文字和標籤"
+
+#: src/view/com/lists/ListCard.tsx:102
+msgid "Muted"
+msgstr "已靜音"
+
+#: src/screens/Moderation/index.tsx:255
+msgid "Muted accounts"
+msgstr "已靜音帳號"
+
+#: src/Navigation.tsx:129
+#: src/view/screens/ModerationMutedAccounts.tsx:112
+msgid "Muted Accounts"
+msgstr "已靜音帳號"
+
+#: src/view/screens/ModerationMutedAccounts.tsx:120
+msgid "Muted accounts have their posts removed from your feed and from your notifications. Mutes are completely private."
+msgstr "已靜音的帳號將不會在你的通知或時間線中顯示,被靜音的帳號將不會收到通知。"
+
+#: src/lib/moderation/useModerationCauseDescription.ts:85
+msgid "Muted by \"{0}\""
+msgstr "被\"{0}\"靜音"
+
+#: src/screens/Moderation/index.tsx:231
+msgid "Muted words & tags"
+msgstr "已靜音文字和標籤"
+
+#: src/view/screens/ProfileList.tsx:623
+msgid "Muting is private. Muted accounts can interact with you, but you will not see their posts or receive notifications from them."
+msgstr "封鎖是私人的。被封鎖的帳號可以與你互動,但你將無法看到他們的貼文或收到來自他們的通知。"
+
+#: src/components/dialogs/BirthDateSettings.tsx:35
+#: src/components/dialogs/BirthDateSettings.tsx:38
+msgid "My Birthday"
+msgstr "我的生日"
+
+#: src/view/screens/Feeds.tsx:688
+msgid "My Feeds"
+msgstr "自定訊息流"
+
+#: src/view/shell/desktop/LeftNav.tsx:65
+msgid "My Profile"
+msgstr "我的個人資料"
+
+#: src/view/screens/Settings/index.tsx:547
+msgid "My saved feeds"
+msgstr "我儲存的訊息流"
+
+#: src/view/screens/Settings/index.tsx:553
+msgid "My Saved Feeds"
+msgstr "我儲存的訊息流"
+
+#: src/view/com/modals/AddAppPasswords.tsx:180
+#: src/view/com/modals/CreateOrEditList.tsx:291
+msgid "Name"
+msgstr "名稱"
+
+#: src/view/com/modals/CreateOrEditList.tsx:146
+msgid "Name is required"
+msgstr "名稱是必填項"
+
+#: src/lib/moderation/useReportOptions.ts:57
+#: src/lib/moderation/useReportOptions.ts:78
+#: src/lib/moderation/useReportOptions.ts:86
+msgid "Name or Description Violates Community Standards"
+msgstr "名稱或描述違反社群標準"
+
+#: src/screens/Onboarding/index.tsx:25
+msgid "Nature"
+msgstr "自然"
+
+#: src/screens/Login/ForgotPasswordForm.tsx:173
+#: src/screens/Login/LoginForm.tsx:255
+#: src/view/com/modals/ChangePassword.tsx:168
+msgid "Navigates to the next screen"
+msgstr "切換到下一畫面"
+
+#: src/view/shell/Drawer.tsx:71
+msgid "Navigates to your profile"
+msgstr "切換到你的個人檔案"
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:123
+msgid "Need to report a copyright violation?"
+msgstr "需要檢舉侵權嗎?"
+
+#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:72
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:74
+msgid "Never lose access to your followers and data."
+msgstr "永遠不會失去對你的跟隨者和資料的存取權。"
+
+#: src/screens/Onboarding/StepFinished.tsx:123
+msgid "Never lose access to your followers or data."
+msgstr "永遠不會失去對你的跟隨者或資料的存取權。"
+
+#: src/view/com/modals/ChangeHandle.tsx:519
+msgid "Nevermind, create a handle for me"
+msgstr "沒關係,為我創建一個帳號代碼"
+
+#: src/view/screens/Lists.tsx:76
+msgctxt "action"
+msgid "New"
+msgstr "新增"
+
+#: src/view/screens/ModerationModlists.tsx:78
+msgid "New"
+msgstr "新增"
+
+#: src/view/com/modals/CreateOrEditList.tsx:253
+msgid "New Moderation List"
+msgstr "新的限制列表"
+
+#: src/view/com/modals/ChangePassword.tsx:212
+msgid "New password"
+msgstr "新密碼"
+
+#: src/view/com/modals/ChangePassword.tsx:217
+msgid "New Password"
+msgstr "新密碼"
+
+#: src/view/com/feeds/FeedPage.tsx:149
+msgctxt "action"
+msgid "New post"
+msgstr "新貼文"
+
+#: src/view/screens/Feeds.tsx:580
+#: src/view/screens/Notifications.tsx:168
+#: src/view/screens/Profile.tsx:480
+#: src/view/screens/ProfileFeed.tsx:445
+#: src/view/screens/ProfileList.tsx:200
+#: src/view/screens/ProfileList.tsx:228
+#: src/view/shell/desktop/LeftNav.tsx:252
+msgid "New post"
+msgstr "新貼文"
+
+#: src/view/shell/desktop/LeftNav.tsx:262
+msgctxt "action"
+msgid "New Post"
+msgstr "新貼文"
+
+#: src/view/com/modals/CreateOrEditList.tsx:248
+msgid "New User List"
+msgstr "新的使用者列表"
+
+#: src/view/screens/PreferencesThreads.tsx:79
+msgid "Newest replies first"
+msgstr "最新回覆優先"
+
+#: src/screens/Onboarding/index.tsx:23
+msgid "News"
+msgstr "新聞"
+
+#: src/screens/Login/ForgotPasswordForm.tsx:143
+#: src/screens/Login/ForgotPasswordForm.tsx:150
+#: src/screens/Login/LoginForm.tsx:254
+#: src/screens/Login/LoginForm.tsx:261
+#: src/screens/Login/SetNewPasswordForm.tsx:174
+#: src/screens/Login/SetNewPasswordForm.tsx:180
+#: src/screens/Signup/index.tsx:207
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:80
+#: src/view/com/modals/ChangePassword.tsx:253
+#: src/view/com/modals/ChangePassword.tsx:255
+msgid "Next"
+msgstr "下一個"
+
+#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:103
+msgctxt "action"
+msgid "Next"
+msgstr "下一個"
+
+#: src/view/com/lightbox/Lightbox.web.tsx:169
+msgid "Next image"
+msgstr "下一張圖片"
+
+#: src/view/screens/PreferencesFollowingFeed.tsx:129
+#: src/view/screens/PreferencesFollowingFeed.tsx:200
+#: src/view/screens/PreferencesFollowingFeed.tsx:235
+#: src/view/screens/PreferencesFollowingFeed.tsx:272
+#: src/view/screens/PreferencesThreads.tsx:106
+#: src/view/screens/PreferencesThreads.tsx:129
+msgid "No"
+msgstr "關"
+
+#: src/view/screens/ProfileFeed.tsx:574
+#: src/view/screens/ProfileList.tsx:771
+msgid "No description"
+msgstr "沒有描述"
+
+#: src/view/com/modals/ChangeHandle.tsx:405
+msgid "No DNS Panel"
+msgstr "無 DNS 控制台"
+
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:118
+msgid "No longer following {0}"
+msgstr "不再跟隨 {0}"
+
+#: src/screens/Signup/StepHandle.tsx:115
+msgid "No longer than 253 characters"
+msgstr "不超過 253 個字符"
+
+#: src/view/com/notifications/Feed.tsx:109
+msgid "No notifications yet!"
+msgstr "還沒有通知!"
+
+#: src/view/com/composer/text-input/mobile/Autocomplete.tsx:101
+#: src/view/com/composer/text-input/web/Autocomplete.tsx:195
+msgid "No result"
+msgstr "沒有結果"
+
+#: src/components/Lists.tsx:183
+msgid "No results found"
+msgstr "未找到結果"
+
+#: src/view/screens/Feeds.tsx:520
+msgid "No results found for \"{query}\""
+msgstr "未找到「{query}」的結果"
+
+#: src/view/com/modals/ListAddRemoveUsers.tsx:127
+#: src/view/screens/Search/Search.tsx:349
+#: src/view/screens/Search/Search.tsx:387
+msgid "No results found for {query}"
+msgstr "未找到 {query} 的結果"
+
+#: src/components/dialogs/EmbedConsent.tsx:105
+#: src/components/dialogs/EmbedConsent.tsx:112
+msgid "No thanks"
+msgstr "不,謝謝"
+
+#: src/view/com/modals/Threadgate.tsx:82
+msgid "Nobody"
+msgstr "沒有人"
+
+#: src/components/LikedByList.tsx:79
+#: src/components/LikesDialog.tsx:99
+msgid "Nobody has liked this yet. Maybe you should be the first!"
+msgstr "還沒有人喜歡這個,也許你應該成為第一個!"
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:42
+msgid "Non-sexual Nudity"
+msgstr "非情色內容裸體"
+
+#: src/view/com/modals/SelfLabel.tsx:135
+msgid "Not Applicable."
+msgstr "不適用。"
+
+#: src/Navigation.tsx:109
+#: src/view/screens/Profile.tsx:101
+msgid "Not Found"
+msgstr "未找到"
+
+#: src/view/com/modals/VerifyEmail.tsx:246
+#: src/view/com/modals/VerifyEmail.tsx:252
+msgid "Not right now"
+msgstr "暫時不需要"
+
+#: src/view/com/profile/ProfileMenu.tsx:368
+#: src/view/com/util/forms/PostDropdownBtn.tsx:364
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:248
+msgid "Note about sharing"
+msgstr "關於分享的注意事項"
+
+#: src/screens/Moderation/index.tsx:540
+msgid "Note: Bluesky is an open and public network. This setting only limits the visibility of your content on the Bluesky app and website, and other apps may not respect this setting. Your content may still be shown to logged-out users by other apps and websites."
+msgstr "注意:Bluesky 是一個開放且公開的網路。此設定僅限制你在 Bluesky 應用程式和網站上的內容可見性,其他應用程式可能不尊重此設定。你的內容仍可能由其他應用程式和網站顯示給未登入的使用者。"
+
+#: src/Navigation.tsx:461
+#: src/view/screens/Notifications.tsx:124
+#: src/view/screens/Notifications.tsx:148
+#: src/view/shell/bottom-bar/BottomBar.tsx:216
+#: src/view/shell/desktop/LeftNav.tsx:365
+#: src/view/shell/Drawer.tsx:444
+#: src/view/shell/Drawer.tsx:445
+msgid "Notifications"
+msgstr "通知"
+
+#: src/view/com/modals/SelfLabel.tsx:103
+msgid "Nudity"
+msgstr "裸露"
+
+#: src/lib/moderation/useReportOptions.ts:71
+msgid "Nudity or adult content not labeled as such"
+msgstr "未貼上此類標籤的裸露或成人內容"
+
+#: src/screens/Signup/index.tsx:143
+msgid "of"
+msgstr "of"
+
+#: src/lib/moderation/useLabelBehaviorDescription.ts:11
+msgid "Off"
+msgstr "顯示"
+
+#: src/view/com/util/ErrorBoundary.tsx:49
+msgid "Oh no!"
+msgstr "糟糕!"
+
+#: src/screens/Onboarding/StepInterests/index.tsx:132
+msgid "Oh no! Something went wrong."
+msgstr "糟糕!發生了一些錯誤。"
+
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:126
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:333
+msgid "OK"
+msgstr "好的"
+
+#: src/screens/Login/PasswordUpdatedForm.tsx:44
+msgid "Okay"
+msgstr "好的"
+
+#: src/view/screens/PreferencesThreads.tsx:78
+msgid "Oldest replies first"
+msgstr "最舊的回覆優先"
+
+#: src/view/screens/Settings/index.tsx:247
+msgid "Onboarding reset"
+msgstr "重新開始引導流程"
+
+#: src/view/com/composer/Composer.tsx:392
+msgid "One or more images is missing alt text."
+msgstr "至少有一張圖片缺失了替代文字。"
+
+#: src/view/com/threadgate/WhoCanReply.tsx:100
+msgid "Only {0} can reply."
+msgstr "只有 {0} 可以回覆。"
+
+#: src/screens/Signup/StepHandle.tsx:98
+msgid "Only contains letters, numbers, and hyphens"
+msgstr "只包含字母、數字和連字符"
+
+#: src/components/Lists.tsx:75
+msgid "Oops, something went wrong!"
+msgstr "糟糕,發生了錯誤!"
+
+#: src/components/Lists.tsx:170
+#: src/view/screens/AppPasswords.tsx:67
+#: src/view/screens/Profile.tsx:101
+msgid "Oops!"
+msgstr "糟糕!"
+
+#: src/screens/Onboarding/StepFinished.tsx:119
+msgid "Open"
+msgstr "開啟"
+
+#: src/view/com/composer/Composer.tsx:491
+#: src/view/com/composer/Composer.tsx:492
+msgid "Open emoji picker"
+msgstr "開啟表情符號選擇器"
+
+#: src/view/screens/ProfileFeed.tsx:311
+msgid "Open feed options menu"
+msgstr "開啟訊息流選項選單"
+
+#: src/view/screens/Settings/index.tsx:685
+msgid "Open links with in-app browser"
+msgstr "在內建瀏覽器中開啟連結"
+
+#: src/screens/Moderation/index.tsx:227
+msgid "Open muted words and tags settings"
+msgstr "開啟靜音文字和標籤設定"
+
+#: src/view/com/home/HomeHeaderLayoutMobile.tsx:52
+msgid "Open navigation"
+msgstr "開啟導覽"
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:191
+msgid "Open post options menu"
+msgstr "開啟貼文選項選單"
+
+#: src/view/screens/Settings/index.tsx:792
+#: src/view/screens/Settings/index.tsx:802
+msgid "Open storybook page"
+msgstr "開啟故事書頁面"
+
+#: src/view/screens/Settings/index.tsx:780
+msgid "Open system log"
+msgstr "開啟系統日誌"
+
+#: src/view/com/util/forms/DropdownButton.tsx:154
+msgid "Opens {numItems} options"
+msgstr "開啟 {numItems} 個選項"
+
+#: src/view/screens/Log.tsx:54
+msgid "Opens additional details for a debug entry"
+msgstr "開啟除錯項目的額外詳細資訊"
+
+#: src/view/com/notifications/FeedItem.tsx:355
+msgid "Opens an expanded list of users in this notification"
+msgstr "展開此通知的使用者列表"
+
+#: src/view/com/composer/photos/OpenCameraBtn.tsx:78
+msgid "Opens camera on device"
+msgstr "開啟裝置相機"
+
+#: src/view/com/composer/Prompt.tsx:25
+msgid "Opens composer"
+msgstr "開啟編輯器"
+
+#: src/view/screens/Settings/index.tsx:566
+msgid "Opens configurable language settings"
+msgstr "開啟可以更改的語言設定"
+
+#: src/view/com/composer/photos/SelectPhotoBtn.tsx:44
+msgid "Opens device photo gallery"
+msgstr "開啟裝置相簿"
+
+#: src/view/screens/Settings/index.tsx:620
+msgid "Opens external embeds settings"
+msgstr "開啟外部嵌入設定"
+
+#: src/view/com/auth/SplashScreen.tsx:50
+#: src/view/com/auth/SplashScreen.web.tsx:94
+msgid "Opens flow to create a new Bluesky account"
+msgstr "開始流程以建立新的 Bluesky 帳戶"
+
+#: src/view/com/auth/SplashScreen.tsx:65
+#: src/view/com/auth/SplashScreen.web.tsx:109
+msgid "Opens flow to sign into your existing Bluesky account"
+msgstr "開啟流程以登入你現有的 Bluesky 帳戶"
+
+#: src/view/com/modals/InviteCodes.tsx:173
+msgid "Opens list of invite codes"
+msgstr "開啟邀請碼列表"
+
+#: src/view/screens/Settings/index.tsx:762
+msgid "Opens modal for account deletion confirmation. Requires email code"
+msgstr "開啟用於帳號刪除確認的彈窗。需要電子郵件驗證碼。"
+
+#: src/view/screens/Settings/index.tsx:720
+msgid "Opens modal for changing your Bluesky password"
+msgstr "開啟用於修改你 Bluesky 密碼的彈窗"
+
+#: src/view/screens/Settings/index.tsx:669
+msgid "Opens modal for choosing a new Bluesky handle"
+msgstr "開啟用於創建新 Bluesky 帳號代碼的彈窗"
+
+#: src/view/screens/Settings/index.tsx:743
+msgid "Opens modal for downloading your Bluesky account data (repository)"
+msgstr "開啟用於下載 Bluesky 帳戶數據(存儲庫)的彈窗"
+
+#: src/view/screens/Settings/index.tsx:932
+msgid "Opens modal for email verification"
+msgstr "開啟用於驗證電子郵件的彈窗"
+
+#: src/view/com/modals/ChangeHandle.tsx:282
+msgid "Opens modal for using custom domain"
+msgstr "開啟使用自訂網域的彈窗"
+
+#: src/view/screens/Settings/index.tsx:591
+msgid "Opens moderation settings"
+msgstr "開啟限制設定"
+
+#: src/screens/Login/LoginForm.tsx:202
+msgid "Opens password reset form"
+msgstr "開啟密碼重設表單"
+
+#: src/view/com/home/HomeHeaderLayout.web.tsx:67
+#: src/view/screens/Feeds.tsx:381
+msgid "Opens screen to edit Saved Feeds"
+msgstr "開啟編輯已儲存訊息流的畫面"
+
+#: src/view/screens/Settings/index.tsx:548
+msgid "Opens screen with all saved feeds"
+msgstr "開啟包含所有已儲存訊息流的畫面"
+
+#: src/view/screens/Settings/index.tsx:647
+msgid "Opens the app password settings"
+msgstr "開啟應用程式專用密碼設定的畫面"
+
+#: src/view/screens/Settings/index.tsx:505
+msgid "Opens the Following feed preferences"
+msgstr "開啟跟隨訊息流設定偏好"
+
+#: src/view/com/modals/LinkWarning.tsx:93
+msgid "Opens the linked website"
+msgstr "開啟已連結的網站"
+
+#: src/view/screens/Settings/index.tsx:793
+#: src/view/screens/Settings/index.tsx:803
+msgid "Opens the storybook page"
+msgstr "開啟故事書頁面"
+
+#: src/view/screens/Settings/index.tsx:781
+msgid "Opens the system log page"
+msgstr "開啟系統日誌頁面"
+
+#: src/view/screens/Settings/index.tsx:526
+msgid "Opens the threads preferences"
+msgstr "開啟對話串設定偏好"
+
+#: src/view/com/util/forms/DropdownButton.tsx:280
+msgid "Option {0} of {numItems}"
+msgstr "{0} 選項,共 {numItems} 個"
+
+#: src/components/ReportDialog/SubmitView.tsx:160
+msgid "Optionally provide additional information below:"
+msgstr "以下是可選提供的额外信息:"
+
+#: src/view/com/modals/Threadgate.tsx:89
+msgid "Or combine these options:"
+msgstr "或者選擇組合這些選項:"
+
+#: src/lib/moderation/useReportOptions.ts:25
+msgid "Other"
+msgstr "其他"
+
+#: src/components/AccountList.tsx:73
+msgid "Other account"
+msgstr "其他帳號"
+
+#: src/view/com/composer/select-language/SelectLangBtn.tsx:91
+msgid "Other..."
+msgstr "其他…"
+
+#: src/components/Lists.tsx:184
+#: src/view/screens/NotFound.tsx:45
+msgid "Page not found"
+msgstr "頁面不存在"
+
+#: src/view/screens/NotFound.tsx:42
+msgid "Page Not Found"
+msgstr "頁面不存在"
+
+#: src/screens/Login/LoginForm.tsx:178
+#: src/screens/Signup/StepInfo/index.tsx:102
+#: src/view/com/modals/DeleteAccount.tsx:194
+#: src/view/com/modals/DeleteAccount.tsx:201
+msgid "Password"
+msgstr "密碼"
+
+#: src/view/com/modals/ChangePassword.tsx:142
+msgid "Password Changed"
+msgstr "密碼已更改"
+
+#: src/screens/Login/index.tsx:157
+msgid "Password updated"
+msgstr "密碼已更新"
+
+#: src/screens/Login/PasswordUpdatedForm.tsx:30
+msgid "Password updated!"
+msgstr "密碼已更新!"
+
+#: src/view/screens/Search/Search.tsx:447
+#: src/view/screens/Search/Search.tsx:456
+msgid "People"
+msgstr ""
+
+#: src/Navigation.tsx:164
+msgid "People followed by @{0}"
+msgstr "被 @{0} 跟隨的人"
+
+#: src/Navigation.tsx:157
+msgid "People following @{0}"
+msgstr "跟隨 @{0} 的人"
+
+#: src/view/com/lightbox/Lightbox.tsx:66
+msgid "Permission to access camera roll is required."
+msgstr "需要相機的存取權限。"
+
+#: src/view/com/lightbox/Lightbox.tsx:72
+msgid "Permission to access camera roll was denied. Please enable it in your system settings."
+msgstr "相機的存取權限已被拒絕,請在系統設定中啟用。"
+
+#: src/screens/Onboarding/index.tsx:31
+msgid "Pets"
+msgstr "寵物"
+
+#: src/view/com/modals/SelfLabel.tsx:121
+msgid "Pictures meant for adults."
+msgstr "適合成年人的圖像。"
+
+#: src/view/screens/ProfileFeed.tsx:303
+#: src/view/screens/ProfileList.tsx:565
+msgid "Pin to home"
+msgstr "固定到首頁"
+
+#: src/view/screens/ProfileFeed.tsx:306
+msgid "Pin to Home"
+msgstr "固定到首頁"
+
+#: src/view/screens/SavedFeeds.tsx:89
+msgid "Pinned Feeds"
+msgstr "固定訊息流列表"
+
+#: src/view/com/util/post-embeds/ExternalGifEmbed.tsx:123
+msgid "Play {0}"
+msgstr "播放 {0}"
+
+#: src/view/com/util/post-embeds/ExternalPlayerEmbed.tsx:57
+#: src/view/com/util/post-embeds/ExternalPlayerEmbed.tsx:58
+msgid "Play Video"
+msgstr "播放影片"
+
+#: src/view/com/util/post-embeds/ExternalGifEmbed.tsx:122
+msgid "Plays the GIF"
+msgstr "播放 GIF"
+
+#: src/screens/Signup/state.ts:241
+msgid "Please choose your handle."
+msgstr "請選擇你的帳號代碼。"
+
+#: src/screens/Signup/state.ts:234
+msgid "Please choose your password."
+msgstr "請選擇你的密碼。"
+
+#: src/screens/Signup/state.ts:251
+msgid "Please complete the verification captcha."
+msgstr "請完成 Captcha 驗證。"
+
+#: src/view/com/modals/ChangeEmail.tsx:67
+msgid "Please confirm your email before changing it. This is a temporary requirement while email-updating tools are added, and it will soon be removed."
+msgstr "更改前請先確認你的電子郵件地址。這是電子郵件更新工具的臨時要求,此限制將很快被移除。"
+
+#: src/view/com/modals/AddAppPasswords.tsx:91
+msgid "Please enter a name for your app password. All spaces is not allowed."
+msgstr "請輸入應用程式專用密碼的名稱。所有空格均不允許使用。"
+
+#: src/view/com/modals/AddAppPasswords.tsx:146
+msgid "Please enter a unique name for this App Password or use our randomly generated one."
+msgstr "請輸入此應用程式專用密碼的唯一名稱,或使用我們提供的隨機生成名稱。"
+
+#: src/components/dialogs/MutedWords.tsx:67
+msgid "Please enter a valid word, tag, or phrase to mute"
+msgstr "請輸入有效的詞語或標籤進行靜音"
+
+#: src/screens/Signup/state.ts:220
+msgid "Please enter your email."
+msgstr "請輸入你的電子郵件。"
+
+#: src/view/com/modals/DeleteAccount.tsx:190
+msgid "Please enter your password as well:"
+msgstr "請輸入你的密碼:"
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:221
+msgid "Please explain why you think this label was incorrectly applied by {0}"
+msgstr "請解釋你認為 {0} 不正確套用此標籤的原因"
+
+#: src/view/com/modals/VerifyEmail.tsx:101
+msgid "Please Verify Your Email"
+msgstr "請驗證你的電子郵件地址"
+
+#: src/view/com/composer/Composer.tsx:222
+msgid "Please wait for your link card to finish loading"
+msgstr "請等待你的連結卡載入完畢"
+
+#: src/screens/Onboarding/index.tsx:37
+msgid "Politics"
+msgstr "政治"
+
+#: src/view/com/modals/SelfLabel.tsx:111
+msgid "Porn"
+msgstr "情色內容"
+
+#: src/view/com/composer/Composer.tsx:367
+#: src/view/com/composer/Composer.tsx:375
+msgctxt "action"
+msgid "Post"
+msgstr "發佈"
+
+#: src/view/com/post-thread/PostThread.tsx:292
+msgctxt "description"
+msgid "Post"
+msgstr "發佈"
+
+#: src/view/com/post-thread/PostThreadItem.tsx:175
+msgid "Post by {0}"
+msgstr "{0} 的貼文"
+
+#: src/Navigation.tsx:176
+#: src/Navigation.tsx:183
+#: src/Navigation.tsx:190
+msgid "Post by @{0}"
+msgstr "@{0} 的貼文"
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:111
+msgid "Post deleted"
+msgstr "貼文已刪除"
+
+#: src/view/com/post-thread/PostThread.tsx:157
+msgid "Post hidden"
+msgstr "貼文已隱藏"
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:97
+#: src/lib/moderation/useModerationCauseDescription.ts:99
+msgid "Post Hidden by Muted Word"
+msgstr "貼文因靜音詞彙設定而被靜音"
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:100
+#: src/lib/moderation/useModerationCauseDescription.ts:108
+msgid "Post Hidden by You"
+msgstr "你靜音了這則貼文"
+
+#: src/view/com/composer/select-language/SelectLangBtn.tsx:87
+msgid "Post language"
+msgstr "貼文語言"
+
+#: src/view/com/modals/lang-settings/PostLanguagesSettings.tsx:75
+msgid "Post Languages"
+msgstr "貼文語言"
+
+#: src/view/com/post-thread/PostThread.tsx:152
+#: src/view/com/post-thread/PostThread.tsx:164
+msgid "Post not found"
+msgstr "找不到貼文"
+
+#: src/components/TagMenu/index.tsx:253
+msgid "posts"
+msgstr "貼文"
+
+#: src/view/screens/Profile.tsx:195
+#: src/view/screens/Search/Search.tsx:467
+msgid "Posts"
+msgstr "貼文"
+
+#: src/components/dialogs/MutedWords.tsx:89
+msgid "Posts can be muted based on their text, their tags, or both."
+msgstr "貼文可以根据所包含的文字和標籤来设定静音。"
+
+#: src/view/com/posts/FeedErrorMessage.tsx:64
+msgid "Posts hidden"
+msgstr "貼文已隱藏"
+
+#: src/view/com/modals/LinkWarning.tsx:60
+msgid "Potentially Misleading Link"
+msgstr "潛在誤導性連結"
+
+#: src/components/forms/HostingProvider.tsx:46
+msgid "Press to change hosting provider"
+msgstr "按下以更改主機提供商"
+
+#: src/components/Error.tsx:74
+#: src/components/Lists.tsx:80
+#: src/screens/Signup/index.tsx:187
+msgid "Press to retry"
+msgstr "按下以重試"
+
+#: src/view/com/lightbox/Lightbox.web.tsx:150
+msgid "Previous image"
+msgstr "上一張圖片"
+
+#: src/view/screens/LanguageSettings.tsx:187
+msgid "Primary Language"
+msgstr "主要語言"
+
+#: src/view/screens/PreferencesThreads.tsx:97
+msgid "Prioritize Your Follows"
+msgstr "優先顯示跟隨者"
+
+#: src/view/screens/Settings/index.tsx:603
+#: src/view/shell/desktop/RightNav.tsx:72
+msgid "Privacy"
+msgstr "隱私"
+
+#: src/Navigation.tsx:231
+#: src/screens/Signup/StepInfo/Policies.tsx:56
+#: src/view/screens/PrivacyPolicy.tsx:29
+#: src/view/screens/Settings/index.tsx:887
+#: src/view/shell/Drawer.tsx:271
+msgid "Privacy Policy"
+msgstr "隱私政策"
+
+#: src/screens/Login/ForgotPasswordForm.tsx:156
+msgid "Processing..."
+msgstr "處理中…"
+
+#: src/view/screens/DebugMod.tsx:888
+#: src/view/screens/Profile.tsx:361
+msgid "profile"
+msgstr "個人檔案"
+
+#: src/view/shell/bottom-bar/BottomBar.tsx:261
+#: src/view/shell/desktop/LeftNav.tsx:419
+#: src/view/shell/Drawer.tsx:70
+#: src/view/shell/Drawer.tsx:555
+#: src/view/shell/Drawer.tsx:556
+msgid "Profile"
+msgstr "個人檔案"
+
+#: src/view/com/modals/EditProfile.tsx:129
+msgid "Profile updated"
+msgstr "個人檔案已更新"
+
+#: src/view/screens/Settings/index.tsx:945
+msgid "Protect your account by verifying your email."
+msgstr "通過驗證電子郵件地址來保護你的帳號。"
+
+#: src/screens/Onboarding/StepFinished.tsx:105
+msgid "Public"
+msgstr "公開內容"
+
+#: src/view/screens/ModerationModlists.tsx:61
+msgid "Public, shareable lists of users to mute or block in bulk."
+msgstr "公開且可共享的批量靜音或封鎖列表。"
+
+#: src/view/screens/Lists.tsx:61
+msgid "Public, shareable lists which can drive feeds."
+msgstr "公開且可共享的列表,可作為訊息流使用。"
+
+#: src/view/com/composer/Composer.tsx:352
+msgid "Publish post"
+msgstr "發佈貼文"
+
+#: src/view/com/composer/Composer.tsx:352
+msgid "Publish reply"
+msgstr "發佈回覆"
+
+#: src/view/com/modals/Repost.tsx:66
+msgctxt "action"
+msgid "Quote post"
+msgstr "引用貼文"
+
+#: src/view/com/util/post-ctrls/RepostButton.web.tsx:58
+msgid "Quote post"
+msgstr "引用貼文"
+
+#: src/view/com/modals/Repost.tsx:71
+msgctxt "action"
+msgid "Quote Post"
+msgstr "引用貼文"
+
+#: src/view/screens/PreferencesThreads.tsx:86
+msgid "Random (aka \"Poster's Roulette\")"
+msgstr "隨機顯示 (又名試試手氣)"
+
+#: src/view/com/modals/EditImage.tsx:237
+msgid "Ratios"
+msgstr "比率"
+
+#: src/view/screens/Search/Search.tsx:924
+msgid "Recent Searches"
+msgstr "最近的搜尋結果"
+
+#: src/view/com/auth/onboarding/RecommendedFeeds.tsx:117
+msgid "Recommended Feeds"
+msgstr "推薦訊息流"
+
+#: src/view/com/auth/onboarding/RecommendedFollows.tsx:181
+msgid "Recommended Users"
+msgstr "推薦的使用者"
+
+#: src/components/dialogs/MutedWords.tsx:286
+#: src/view/com/feeds/FeedSourceCard.tsx:283
+#: src/view/com/modals/ListAddRemoveUsers.tsx:268
+#: src/view/com/modals/SelfLabel.tsx:83
+#: src/view/com/modals/UserAddRemoveLists.tsx:219
+#: src/view/com/posts/FeedErrorMessage.tsx:204
+msgid "Remove"
+msgstr "移除"
+
+#: src/view/com/util/AccountDropdownBtn.tsx:22
+msgid "Remove account"
+msgstr "刪除帳號"
+
+#: src/view/com/util/UserAvatar.tsx:360
+msgid "Remove Avatar"
+msgstr "刪除頭像"
+
+#: src/view/com/util/UserBanner.tsx:148
+msgid "Remove Banner"
+msgstr "刪除橫幅圖片"
+
+#: src/view/com/posts/FeedErrorMessage.tsx:160
+msgid "Remove feed"
+msgstr "刪除訊息流"
+
+#: src/view/com/posts/FeedErrorMessage.tsx:201
+msgid "Remove feed?"
+msgstr "刪除訊息流?"
+
+#: src/view/com/feeds/FeedSourceCard.tsx:173
+#: src/view/com/feeds/FeedSourceCard.tsx:233
+#: src/view/screens/ProfileFeed.tsx:346
+#: src/view/screens/ProfileFeed.tsx:352
+msgid "Remove from my feeds"
+msgstr "從我的訊息流中刪除"
+
+#: src/view/com/feeds/FeedSourceCard.tsx:278
+msgid "Remove from my feeds?"
+msgstr "從我的訊息流中刪除?"
+
+#: src/view/com/composer/photos/Gallery.tsx:167
+msgid "Remove image"
+msgstr "刪除圖片"
+
+#: src/view/com/composer/ExternalEmbed.tsx:70
+msgid "Remove image preview"
+msgstr "刪除圖片預覽"
+
+#: src/components/dialogs/MutedWords.tsx:329
+msgid "Remove mute word from your list"
+msgstr "從你的列表中移除靜音詞"
+
+#: src/view/com/modals/Repost.tsx:48
+msgid "Remove repost"
+msgstr "刪除轉發"
+
+#: src/view/com/posts/FeedErrorMessage.tsx:202
+msgid "Remove this feed from your saved feeds"
+msgstr "將這個訊息流從儲存的訊息流列表中刪除"
+
+#: src/view/com/modals/ListAddRemoveUsers.tsx:199
+#: src/view/com/modals/UserAddRemoveLists.tsx:152
+msgid "Removed from list"
+msgstr "從列表中刪除"
+
+#: src/view/com/feeds/FeedSourceCard.tsx:121
+msgid "Removed from my feeds"
+msgstr "從我的訊息流中刪除"
+
+#: src/view/screens/ProfileFeed.tsx:210
+msgid "Removed from your feeds"
+msgstr "從你的訊息流中刪除"
+
+#: src/view/com/composer/ExternalEmbed.tsx:71
+msgid "Removes default thumbnail from {0}"
+msgstr "從 {0} 中刪除預設縮略圖"
+
+#: src/view/screens/Profile.tsx:196
+msgid "Replies"
+msgstr "回覆"
+
+#: src/view/com/threadgate/WhoCanReply.tsx:98
+msgid "Replies to this thread are disabled"
+msgstr "對此對話串的回覆已被停用"
+
+#: src/view/com/composer/Composer.tsx:365
+msgctxt "action"
+msgid "Reply"
+msgstr "回覆"
+
+#: src/view/screens/PreferencesFollowingFeed.tsx:144
+msgid "Reply Filters"
+msgstr "回覆過濾器"
+
+#: src/view/com/post/Post.tsx:177
+#: src/view/com/posts/FeedItem.tsx:285
+msgctxt "description"
+msgid "Reply to <0/>"
+msgstr "回覆 <0/>"
+
+#: src/view/com/profile/ProfileMenu.tsx:319
+#: src/view/com/profile/ProfileMenu.tsx:322
+msgid "Report Account"
+msgstr "檢舉帳號"
+
+#: src/components/ReportDialog/index.tsx:49
+msgid "Report dialog"
+msgstr "檢舉頁"
+
+#: src/view/screens/ProfileFeed.tsx:363
+#: src/view/screens/ProfileFeed.tsx:365
+msgid "Report feed"
+msgstr "檢舉訊息流"
+
+#: src/view/screens/ProfileList.tsx:431
+msgid "Report List"
+msgstr "檢舉列表"
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:312
+#: src/view/com/util/forms/PostDropdownBtn.tsx:314
+msgid "Report post"
+msgstr "檢舉貼文"
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:42
+msgid "Report this content"
+msgstr "檢舉這個內容"
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:55
+msgid "Report this feed"
+msgstr "檢舉這個訊息流"
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:52
+msgid "Report this list"
+msgstr "檢舉這個列表"
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:49
+msgid "Report this post"
+msgstr "檢舉這則貼文"
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:46
+msgid "Report this user"
+msgstr "檢舉這個使用者"
+
+#: src/view/com/modals/Repost.tsx:44
+#: src/view/com/modals/Repost.tsx:49
+#: src/view/com/modals/Repost.tsx:54
+#: src/view/com/util/post-ctrls/RepostButton.tsx:61
+msgctxt "action"
+msgid "Repost"
+msgstr "轉發"
+
+#: src/view/com/util/post-ctrls/RepostButton.web.tsx:48
+msgid "Repost"
+msgstr "轉發"
+
+#: src/view/com/util/post-ctrls/RepostButton.web.tsx:94
+#: src/view/com/util/post-ctrls/RepostButton.web.tsx:105
+msgid "Repost or quote post"
+msgstr "轉發或引用貼文"
+
+#: src/view/screens/PostRepostedBy.tsx:27
+msgid "Reposted By"
+msgstr "轉發"
+
+#: src/view/com/posts/FeedItem.tsx:199
+msgid "Reposted by {0}"
+msgstr "由 {0} 轉發"
+
+#: src/view/com/posts/FeedItem.tsx:214
+#~ msgid "Reposted by <0/>"
+#~ msgstr "由 <0/> 轉發"
+
+#: src/view/com/posts/FeedItem.tsx:216
+msgid "Reposted by <0><1/>0>"
+msgstr ""
+
+#: src/view/com/notifications/FeedItem.tsx:168
+msgid "reposted your post"
+msgstr "轉發你的貼文"
+
+#: src/view/com/post-thread/PostThreadItem.tsx:187
+msgid "Reposts of this post"
+msgstr "轉發這條貼文"
+
+#: src/view/com/modals/ChangeEmail.tsx:181
+#: src/view/com/modals/ChangeEmail.tsx:183
+msgid "Request Change"
+msgstr "請求變更"
+
+#: src/view/com/modals/ChangePassword.tsx:241
+#: src/view/com/modals/ChangePassword.tsx:243
+msgid "Request Code"
+msgstr "請求代碼"
+
+#: src/view/screens/Settings/index.tsx:426
+msgid "Require alt text before posting"
+msgstr "要求發佈前提供替代文字"
+
+#: src/screens/Signup/StepInfo/index.tsx:69
+msgid "Required for this provider"
+msgstr "提供商要求必填"
+
+#: src/view/com/modals/ChangePassword.tsx:185
+msgid "Reset code"
+msgstr "重設碼"
+
+#: src/view/com/modals/ChangePassword.tsx:192
+msgid "Reset Code"
+msgstr "重設碼"
+
+#: src/view/screens/Settings/index.tsx:822
+#: src/view/screens/Settings/index.tsx:825
+msgid "Reset onboarding state"
+msgstr "重設初始設定進行狀態"
+
+#: src/screens/Login/ForgotPasswordForm.tsx:86
+msgid "Reset password"
+msgstr "重設密碼"
+
+#: src/view/screens/Settings/index.tsx:812
+#: src/view/screens/Settings/index.tsx:815
+msgid "Reset preferences state"
+msgstr "重設設定偏好狀態"
+
+#: src/view/screens/Settings/index.tsx:823
+msgid "Resets the onboarding state"
+msgstr "重設初始設定狀態"
+
+#: src/view/screens/Settings/index.tsx:813
+msgid "Resets the preferences state"
+msgstr "重設設定偏好狀態"
+
+#: src/screens/Login/LoginForm.tsx:235
+msgid "Retries login"
+msgstr "重試登入"
+
+#: src/view/com/util/error/ErrorMessage.tsx:57
+#: src/view/com/util/error/ErrorScreen.tsx:74
+msgid "Retries the last action, which errored out"
+msgstr "重試上次出錯的操作"
+
+#: src/components/Error.tsx:79
+#: src/components/Lists.tsx:91
+#: src/screens/Login/LoginForm.tsx:234
+#: src/screens/Login/LoginForm.tsx:241
+#: src/screens/Onboarding/StepInterests/index.tsx:225
+#: src/screens/Onboarding/StepInterests/index.tsx:228
+#: src/screens/Signup/index.tsx:194
+#: src/view/com/util/error/ErrorMessage.tsx:55
+#: src/view/com/util/error/ErrorScreen.tsx:72
+msgid "Retry"
+msgstr "重試"
+
+#: src/components/Error.tsx:86
+#: src/view/screens/ProfileList.tsx:919
+msgid "Return to previous page"
+msgstr "返回上一頁"
+
+#: src/view/screens/NotFound.tsx:59
+msgid "Returns to home page"
+msgstr "返回首頁"
+
+#: src/view/screens/NotFound.tsx:58
+#: src/view/screens/ProfileFeed.tsx:113
+msgid "Returns to previous page"
+msgstr "返回上一頁"
+
+#: src/components/dialogs/BirthDateSettings.tsx:125
+#: src/view/com/modals/ChangeHandle.tsx:174
+#: src/view/com/modals/CreateOrEditList.tsx:338
+#: src/view/com/modals/EditProfile.tsx:225
+msgid "Save"
+msgstr "儲存"
+
+#: src/view/com/lightbox/Lightbox.tsx:132
+#: src/view/com/modals/CreateOrEditList.tsx:346
+msgctxt "action"
+msgid "Save"
+msgstr "儲存"
+
+#: src/view/com/modals/AltImage.tsx:131
+msgid "Save alt text"
+msgstr "儲存替代文字"
+
+#: src/components/dialogs/BirthDateSettings.tsx:119
+msgid "Save birthday"
+msgstr "儲存生日"
+
+#: src/view/com/modals/EditProfile.tsx:233
+msgid "Save Changes"
+msgstr "儲存更改"
+
+#: src/view/com/modals/ChangeHandle.tsx:171
+msgid "Save handle change"
+msgstr "儲存帳號代碼更改"
+
+#: src/view/com/modals/crop-image/CropImage.web.tsx:145
+msgid "Save image crop"
+msgstr "儲存圖片裁剪"
+
+#: src/view/screens/ProfileFeed.tsx:347
+#: src/view/screens/ProfileFeed.tsx:353
+msgid "Save to my feeds"
+msgstr "儲存到我的訊息流"
+
+#: src/view/screens/SavedFeeds.tsx:123
+msgid "Saved Feeds"
+msgstr "已儲存訊息流"
+
+#: src/view/com/lightbox/Lightbox.tsx:81
+msgid "Saved to your camera roll."
+msgstr "儲存到你的相機膠卷。"
+
+#: src/view/screens/ProfileFeed.tsx:214
+msgid "Saved to your feeds"
+msgstr "儲存到你的訊息流"
+
+#: src/view/com/modals/EditProfile.tsx:226
+msgid "Saves any changes to your profile"
+msgstr "儲存個人資料中所做的變更"
+
+#: src/view/com/modals/ChangeHandle.tsx:172
+msgid "Saves handle change to {handle}"
+msgstr "儲存帳號代碼更改至 {handle}"
+
+#: src/view/com/modals/crop-image/CropImage.web.tsx:146
+msgid "Saves image crop settings"
+msgstr "保存圖片裁剪設定"
+
+#: src/screens/Onboarding/index.tsx:36
+msgid "Science"
+msgstr "科學"
+
+#: src/view/screens/ProfileList.tsx:875
+msgid "Scroll to top"
+msgstr "滾動到頂部"
+
+#: src/Navigation.tsx:451
+#: src/view/com/auth/LoggedOut.tsx:123
+#: src/view/com/modals/ListAddRemoveUsers.tsx:75
+#: src/view/com/util/forms/SearchInput.tsx:67
+#: src/view/com/util/forms/SearchInput.tsx:79
+#: src/view/screens/Search/Search.tsx:568
+#: src/view/screens/Search/Search.tsx:817
+#: src/view/screens/Search/Search.tsx:835
+#: src/view/shell/bottom-bar/BottomBar.tsx:170
+#: src/view/shell/desktop/LeftNav.tsx:328
+#: src/view/shell/desktop/Search.tsx:215
+#: src/view/shell/desktop/Search.tsx:224
+#: src/view/shell/Drawer.tsx:371
+#: src/view/shell/Drawer.tsx:372
+msgid "Search"
+msgstr "搜尋"
+
+#: src/view/screens/Search/Search.tsx:884
+#: src/view/shell/desktop/Search.tsx:256
+msgid "Search for \"{query}\""
+msgstr "搜尋「{query}」"
+
+#: src/components/TagMenu/index.tsx:145
+msgid "Search for all posts by @{authorHandle} with tag {displayTag}"
+msgstr "搜尋所有由 @{authorHandle} 發佈並具有標籤 {displayTag} 的貼文"
+
+#: src/components/TagMenu/index.tsx:94
+msgid "Search for all posts with tag {displayTag}"
+msgstr "搜尋所有具有標籤 {displayTag} 的貼文"
+
+#: src/view/com/auth/LoggedOut.tsx:105
+#: src/view/com/auth/LoggedOut.tsx:106
+#: src/view/com/modals/ListAddRemoveUsers.tsx:70
+msgid "Search for users"
+msgstr "搜尋使用者"
+
+#: src/view/com/modals/ChangeEmail.tsx:110
+msgid "Security Step Required"
+msgstr "所需的安全步驟"
+
+#: src/components/TagMenu/index.web.tsx:66
+msgid "See {truncatedTag} posts"
+msgstr "查看 {truncatedTag} 的貼文"
+
+#: src/components/TagMenu/index.web.tsx:83
+msgid "See {truncatedTag} posts by user"
+msgstr "查看使用者的 {truncatedTag} 貼文"
+
+#: src/components/TagMenu/index.tsx:128
+msgid "See <0>{displayTag}0> posts"
+msgstr "查看 <0>{displayTag}0> 的貼文"
+
+#: src/components/TagMenu/index.tsx:187
+msgid "See <0>{displayTag}0> posts by this user"
+msgstr "查看這個使用者的 <0>{displayTag}0> 貼文"
+
+#: src/view/com/notifications/FeedItem.tsx:419
+#: src/view/com/util/UserAvatar.tsx:381
+msgid "See profile"
+msgstr ""
+
+#: src/view/screens/SavedFeeds.tsx:164
+msgid "See this guide"
+msgstr "查看指南"
+
+#: src/view/com/auth/HomeLoggedOutCTA.tsx:40
+#~ msgid "See what's next"
+#~ msgstr "查看下一步"
+
+#: src/view/com/util/Selector.tsx:106
+msgid "Select {item}"
+msgstr "選擇 {item}"
+
+#: src/screens/Login/ChooseAccountForm.tsx:61
+msgid "Select account"
+msgstr "選擇帳號"
+
+#: src/screens/Login/index.tsx:120
+msgid "Select from an existing account"
+msgstr "從現有帳號中選擇"
+
+#: src/view/screens/LanguageSettings.tsx:299
+msgid "Select languages"
+msgstr "選擇語言"
+
+#: src/components/ReportDialog/SelectLabelerView.tsx:30
+msgid "Select moderator"
+msgstr "選擇限制服務提供者"
+
+#: src/view/com/util/Selector.tsx:107
+msgid "Select option {i} of {numItems}"
+msgstr "選擇 {numItems} 個項目中的第 {i} 項"
+
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:52
+msgid "Select some accounts below to follow"
+msgstr "在下面選擇一些要跟隨的帳號"
+
+#: src/components/ReportDialog/SubmitView.tsx:133
+msgid "Select the moderation service(s) to report to"
+msgstr "選擇要檢舉的限制服務提供者"
+
+#: src/view/com/auth/server-input/index.tsx:82
+msgid "Select the service that hosts your data."
+msgstr "選擇用來託管你的資料的服務商。"
+
+#: src/screens/Onboarding/StepTopicalFeeds.tsx:100
+msgid "Select topical feeds to follow from the list below"
+msgstr "從下面的列表中選擇要跟隨的主題訊息流"
+
+#: src/screens/Onboarding/StepModeration/index.tsx:63
+msgid "Select what you want to see (or not see), and we’ll handle the rest."
+msgstr "選擇你想看到(或不想看到)的內容,剩下的由我們來處理。"
+
+#: src/view/screens/LanguageSettings.tsx:281
+msgid "Select which languages you want your subscribed feeds to include. If none are selected, all languages will be shown."
+msgstr "選擇你希望訂閱訊息流中所包含的語言。未選擇任何語言時會預設顯示所有語言。"
+
+#: src/view/screens/LanguageSettings.tsx:98
+msgid "Select your app language for the default text to display in the app."
+msgstr "選擇你應用程式中要顯示的默認文字的語言。"
+
+#: src/screens/Signup/StepInfo/index.tsx:135
+msgid "Select your date of birth"
+msgstr "選擇你的出生日期"
+
+#: src/screens/Onboarding/StepInterests/index.tsx:200
+msgid "Select your interests from the options below"
+msgstr "下面選擇你感興趣的選項"
+
+#: src/view/screens/LanguageSettings.tsx:190
+msgid "Select your preferred language for translations in your feed."
+msgstr "選擇你在訂閱訊息流中希望進行翻譯的目標語言偏好。"
+
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:117
+msgid "Select your primary algorithmic feeds"
+msgstr "選擇你的訊息流主要算法"
+
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:133
+msgid "Select your secondary algorithmic feeds"
+msgstr "選擇你的訊息流次要算法"
+
+#: src/view/com/modals/VerifyEmail.tsx:202
+#: src/view/com/modals/VerifyEmail.tsx:204
+msgid "Send Confirmation Email"
+msgstr "發送確認電子郵件"
+
+#: src/view/com/modals/DeleteAccount.tsx:130
+msgid "Send email"
+msgstr "發送電子郵件"
+
+#: src/view/com/modals/DeleteAccount.tsx:143
+msgctxt "action"
+msgid "Send Email"
+msgstr "發送電子郵件"
+
+#: src/view/shell/Drawer.tsx:304
+#: src/view/shell/Drawer.tsx:325
+msgid "Send feedback"
+msgstr "提交意見"
+
+#: src/components/ReportDialog/SubmitView.tsx:213
+#: src/components/ReportDialog/SubmitView.tsx:217
+msgid "Send report"
+msgstr "提交檢舉"
+
+#: src/components/ReportDialog/SelectLabelerView.tsx:44
+msgid "Send report to {0}"
+msgstr "將檢舉提交至 {0}"
+
+#: src/view/com/modals/DeleteAccount.tsx:132
+msgid "Sends email with confirmation code for account deletion"
+msgstr "發送包含帳號刪除確認碼的電子郵件"
+
+#: src/view/com/auth/server-input/index.tsx:114
+msgid "Server address"
+msgstr "伺服器地址"
+
+#: src/screens/Moderation/index.tsx:304
+msgid "Set birthdate"
+msgstr "設定生日"
+
+#: src/screens/Login/SetNewPasswordForm.tsx:102
+msgid "Set new password"
+msgstr "設定新密碼"
+
+#: src/view/screens/PreferencesFollowingFeed.tsx:225
+msgid "Set this setting to \"No\" to hide all quote posts from your feed. Reposts will still be visible."
+msgstr "將此設定項設為「關」會隱藏來自訂閱訊息流的所有引用貼文。轉發仍將可見。"
+
+#: src/view/screens/PreferencesFollowingFeed.tsx:122
+msgid "Set this setting to \"No\" to hide all replies from your feed."
+msgstr "將此設定項設為「關」以隱藏來自訂閱訊息流的所有回覆。"
+
+#: src/view/screens/PreferencesFollowingFeed.tsx:191
+msgid "Set this setting to \"No\" to hide all reposts from your feed."
+msgstr "將此設定項設為「關」以隱藏來自訂閱訊息流的所有轉發。"
+
+#: src/view/screens/PreferencesThreads.tsx:122
+msgid "Set this setting to \"Yes\" to show replies in a threaded view. This is an experimental feature."
+msgstr "將此設定項設為「開」以在分層視圖中顯示回覆。這是一個實驗性功能。"
+
+#: src/view/screens/PreferencesFollowingFeed.tsx:261
+msgid "Set this setting to \"Yes\" to show samples of your saved feeds in your Following feed. This is an experimental feature."
+msgstr "將此設定為「是」以在你的追蹤訊息流中顯示你保存的訊息流。這是一個實驗性功能。"
+
+#: src/screens/Onboarding/Layout.tsx:48
+msgid "Set up your account"
+msgstr "設定你的帳號"
+
+#: src/view/com/modals/ChangeHandle.tsx:267
+msgid "Sets Bluesky username"
+msgstr "設定 Bluesky 使用者名稱"
+
+#: src/view/screens/Settings/index.tsx:458
+msgid "Sets color theme to dark"
+msgstr "將色彩主題設定為深色"
+
+#: src/view/screens/Settings/index.tsx:451
+msgid "Sets color theme to light"
+msgstr "將色彩主題設定為亮色"
+
+#: src/view/screens/Settings/index.tsx:445
+msgid "Sets color theme to system setting"
+msgstr "將色彩主題設定為跟隨系統設定"
+
+#: src/view/screens/Settings/index.tsx:484
+msgid "Sets dark theme to the dark theme"
+msgstr "將深色主題設定為深色"
+
+#: src/view/screens/Settings/index.tsx:477
+msgid "Sets dark theme to the dim theme"
+msgstr "將深色主題設定為暗淡"
+
+#: src/screens/Login/ForgotPasswordForm.tsx:113
+msgid "Sets email for password reset"
+msgstr "設定用於重設密碼的電子郵件"
+
+#: src/view/com/modals/crop-image/CropImage.web.tsx:124
+msgid "Sets image aspect ratio to square"
+msgstr "將圖片寬高比設定為正方形"
+
+#: src/view/com/modals/crop-image/CropImage.web.tsx:114
+msgid "Sets image aspect ratio to tall"
+msgstr "將圖像的寬高比設定為高"
+
+#: src/view/com/modals/crop-image/CropImage.web.tsx:104
+msgid "Sets image aspect ratio to wide"
+msgstr "將圖像的寬高比設定為寬"
+
+#: src/Navigation.tsx:139
+#: src/view/screens/Settings/index.tsx:316
+#: src/view/shell/desktop/LeftNav.tsx:437
+#: src/view/shell/Drawer.tsx:576
+#: src/view/shell/Drawer.tsx:577
+msgid "Settings"
+msgstr "設定"
+
+#: src/view/com/modals/SelfLabel.tsx:125
+msgid "Sexual activity or erotic nudity."
+msgstr "性行為或性暗示裸露。"
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:38
+msgid "Sexually Suggestive"
+msgstr "性暗示"
+
+#: src/view/com/lightbox/Lightbox.tsx:141
+msgctxt "action"
+msgid "Share"
+msgstr "分享"
+
+#: src/view/com/profile/ProfileMenu.tsx:215
+#: src/view/com/profile/ProfileMenu.tsx:224
+#: src/view/com/util/forms/PostDropdownBtn.tsx:236
+#: src/view/com/util/forms/PostDropdownBtn.tsx:245
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:237
+#: src/view/screens/ProfileList.tsx:390
+msgid "Share"
+msgstr "分享"
+
+#: src/view/com/profile/ProfileMenu.tsx:373
+#: src/view/com/util/forms/PostDropdownBtn.tsx:369
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:253
+msgid "Share anyway"
+msgstr "仍然分享"
+
+#: src/view/screens/ProfileFeed.tsx:373
+#: src/view/screens/ProfileFeed.tsx:375
+msgid "Share feed"
+msgstr "分享訊息流"
+
+#: src/view/com/modals/LinkWarning.tsx:89
+#: src/view/com/modals/LinkWarning.tsx:95
+msgid "Share Link"
+msgstr "分享連結"
+
+#: src/view/com/modals/LinkWarning.tsx:92
+msgid "Shares the linked website"
+msgstr "分享連結的網站"
+
+#: src/components/moderation/ContentHider.tsx:115
+#: src/components/moderation/LabelPreference.tsx:136
+#: src/components/moderation/PostHider.tsx:107
+#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:54
+#: src/view/screens/Settings/index.tsx:366
+msgid "Show"
+msgstr "顯示"
+
+#: src/view/screens/PreferencesFollowingFeed.tsx:68
+msgid "Show all replies"
+msgstr "顯示所有回覆"
+
+#: src/components/moderation/ScreenHider.tsx:169
+#: src/components/moderation/ScreenHider.tsx:172
+msgid "Show anyway"
+msgstr "仍然顯示"
+
+#: src/lib/moderation/useLabelBehaviorDescription.ts:27
+#: src/lib/moderation/useLabelBehaviorDescription.ts:63
+msgid "Show badge"
+msgstr "顯示徽章"
+
+#: src/lib/moderation/useLabelBehaviorDescription.ts:61
+msgid "Show badge and filter from feeds"
+msgstr "顯示徽章並從訊息流中篩選"
+
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:200
+msgid "Show follows similar to {0}"
+msgstr "顯示類似於 {0} 的跟隨者"
+
+#: src/view/com/post-thread/PostThreadItem.tsx:501
+#: src/view/com/post/Post.tsx:212
+#: src/view/com/posts/FeedItem.tsx:360
+msgid "Show More"
+msgstr "顯示更多"
+
+#: src/view/screens/PreferencesFollowingFeed.tsx:258
+msgid "Show Posts from My Feeds"
+msgstr "在自訂訊息流中顯示貼文"
+
+#: src/view/screens/PreferencesFollowingFeed.tsx:222
+msgid "Show Quote Posts"
+msgstr "顯示引用貼文"
+
+#: src/screens/Onboarding/StepFollowingFeed.tsx:119
+msgid "Show quote-posts in Following feed"
+msgstr "在跟隨訊息流中顯示引用"
+
+#: src/screens/Onboarding/StepFollowingFeed.tsx:135
+msgid "Show quotes in Following"
+msgstr "在跟隨中顯示引用"
+
+#: src/screens/Onboarding/StepFollowingFeed.tsx:95
+msgid "Show re-posts in Following feed"
+msgstr "在跟隨訊息流中顯示轉發"
+
+#: src/view/screens/PreferencesFollowingFeed.tsx:119
+msgid "Show Replies"
+msgstr "顯示回覆"
+
+#: src/view/screens/PreferencesThreads.tsx:100
+msgid "Show replies by people you follow before all other replies."
+msgstr "在所有其他回覆之前顯示你跟隨的人的回覆。"
+
+#: src/screens/Onboarding/StepFollowingFeed.tsx:87
+msgid "Show replies in Following"
+msgstr "在跟隨中顯示回覆"
+
+#: src/screens/Onboarding/StepFollowingFeed.tsx:71
+msgid "Show replies in Following feed"
+msgstr "在跟隨訊息流中顯示回覆"
+
+#: src/view/screens/PreferencesFollowingFeed.tsx:70
+msgid "Show replies with at least {value} {0}"
+msgstr "顯示至少包含 {value} 個{0}的回覆"
+
+#: src/view/screens/PreferencesFollowingFeed.tsx:188
+msgid "Show Reposts"
+msgstr "顯示轉發"
+
+#: src/screens/Onboarding/StepFollowingFeed.tsx:111
+msgid "Show reposts in Following"
+msgstr "在跟隨中顯示轉發"
+
+#: src/components/moderation/ContentHider.tsx:68
+#: src/components/moderation/PostHider.tsx:64
+msgid "Show the content"
+msgstr "顯示內容"
+
+#: src/view/com/notifications/FeedItem.tsx:353
+msgid "Show users"
+msgstr "顯示使用者"
+
+#: src/lib/moderation/useLabelBehaviorDescription.ts:58
+msgid "Show warning"
+msgstr "顯示警告"
+
+#: src/lib/moderation/useLabelBehaviorDescription.ts:56
+msgid "Show warning and filter from feeds"
+msgstr "顯示警告並從訊息流中篩選"
+
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:130
+msgid "Shows posts from {0} in your feed"
+msgstr "在你的訊息流中顯示來自 {0} 的貼文"
+
+#: src/components/dialogs/Signin.tsx:97
+#: src/components/dialogs/Signin.tsx:99
+#: src/screens/Login/index.tsx:100
+#: src/screens/Login/index.tsx:119
+#: src/screens/Login/LoginForm.tsx:131
+#: src/view/com/auth/SplashScreen.tsx:63
+#: src/view/com/auth/SplashScreen.tsx:72
+#: src/view/com/auth/SplashScreen.web.tsx:107
+#: src/view/com/auth/SplashScreen.web.tsx:116
+#: src/view/shell/bottom-bar/BottomBar.tsx:301
+#: src/view/shell/bottom-bar/BottomBar.tsx:302
+#: src/view/shell/bottom-bar/BottomBar.tsx:304
+#: src/view/shell/bottom-bar/BottomBarWeb.tsx:178
+#: src/view/shell/bottom-bar/BottomBarWeb.tsx:179
+#: src/view/shell/bottom-bar/BottomBarWeb.tsx:181
+#: src/view/shell/NavSignupCard.tsx:63
+#: src/view/shell/NavSignupCard.tsx:64
+#: src/view/shell/NavSignupCard.tsx:66
+msgid "Sign in"
+msgstr "登入"
+
+#: src/components/AccountList.tsx:109
+msgid "Sign in as {0}"
+msgstr "以 {0} 登入"
+
+#: src/screens/Login/ChooseAccountForm.tsx:64
+msgid "Sign in as..."
+msgstr "登入為…"
+
+#: src/components/dialogs/Signin.tsx:75
+msgid "Sign in or create your account to join the conversation!"
+msgstr ""
+
+#: src/components/dialogs/Signin.tsx:46
+msgid "Sign into Bluesky or create a new account"
+msgstr ""
+
+#: src/view/screens/Settings/index.tsx:118
+#: src/view/screens/Settings/index.tsx:121
+msgid "Sign out"
+msgstr "登出"
+
+#: src/view/shell/bottom-bar/BottomBar.tsx:291
+#: src/view/shell/bottom-bar/BottomBar.tsx:292
+#: src/view/shell/bottom-bar/BottomBar.tsx:294
+#: src/view/shell/bottom-bar/BottomBarWeb.tsx:168
+#: src/view/shell/bottom-bar/BottomBarWeb.tsx:169
+#: src/view/shell/bottom-bar/BottomBarWeb.tsx:171
+#: src/view/shell/NavSignupCard.tsx:54
+#: src/view/shell/NavSignupCard.tsx:55
+#: src/view/shell/NavSignupCard.tsx:57
+msgid "Sign up"
+msgstr "註冊"
+
+#: src/view/shell/NavSignupCard.tsx:47
+msgid "Sign up or sign in to join the conversation"
+msgstr "註冊或登入以參與對話"
+
+#: src/components/moderation/ScreenHider.tsx:97
+#: src/lib/moderation/useGlobalLabelStrings.ts:28
+msgid "Sign-in Required"
+msgstr "需要登入"
+
+#: src/view/screens/Settings/index.tsx:377
+msgid "Signed in as"
+msgstr "登入身分"
+
+#: src/screens/Login/ChooseAccountForm.tsx:48
+msgid "Signed in as @{0}"
+msgstr "以 @{0} 身分登入"
+
+#: src/screens/Onboarding/StepInterests/index.tsx:239
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:203
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:35
+msgid "Skip"
+msgstr "跳過"
+
+#: src/screens/Onboarding/StepInterests/index.tsx:236
+msgid "Skip this flow"
+msgstr "跳過此流程"
+
+#: src/screens/Onboarding/index.tsx:40
+msgid "Software Dev"
+msgstr "軟體開發"
+
+#: src/components/ReportDialog/index.tsx:59
+#: src/screens/Moderation/index.tsx:114
+#: src/screens/Profile/Sections/Labels.tsx:87
+msgid "Something went wrong, please try again."
+msgstr "發生了一些問題,請重試。"
+
+#: src/App.native.tsx:64
+msgid "Sorry! Your session expired. Please log in again."
+msgstr "抱歉!你的登入已過期。請重新登入。"
+
+#: src/view/screens/PreferencesThreads.tsx:69
+msgid "Sort Replies"
+msgstr "排序回覆"
+
+#: src/view/screens/PreferencesThreads.tsx:72
+msgid "Sort replies to the same post by:"
+msgstr "對同一貼文的回覆進行排序:"
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:146
+msgid "Source:"
+msgstr "來源:"
+
+#: src/lib/moderation/useReportOptions.ts:65
+msgid "Spam"
+msgstr "垃圾訊息"
+
+#: src/lib/moderation/useReportOptions.ts:53
+msgid "Spam; excessive mentions or replies"
+msgstr "垃圾訊息;過多的提及或回复"
+
+#: src/screens/Onboarding/index.tsx:30
+msgid "Sports"
+msgstr "運動"
+
+#: src/view/com/modals/crop-image/CropImage.web.tsx:123
+msgid "Square"
+msgstr "方塊"
+
+#: src/view/screens/Settings/index.tsx:867
+msgid "Status page"
+msgstr "狀態頁"
+
+#: src/screens/Signup/index.tsx:143
+msgid "Step"
+msgstr "Step"
+
+#: src/view/screens/Settings/index.tsx:295
+msgid "Storage cleared, you need to restart the app now."
+msgstr "已清除儲存資料,你需要立即重啟應用程式。"
+
+#: src/Navigation.tsx:211
+#: src/view/screens/Settings/index.tsx:795
+msgid "Storybook"
+msgstr "故事書"
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:255
+#: src/components/moderation/LabelsOnMeDialog.tsx:256
+msgid "Submit"
+msgstr "提交"
+
+#: src/view/screens/ProfileList.tsx:592
+msgid "Subscribe"
+msgstr "訂閱"
+
+#: src/screens/Profile/Sections/Labels.tsx:191
+msgid "Subscribe to @{0} to use these labels:"
+msgstr "訂閱 @{0} 以使用這些標籤:"
+
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:227
+msgid "Subscribe to Labeler"
+msgstr "訂閱標籤者"
+
+#: src/screens/Onboarding/StepAlgoFeeds/FeedCard.tsx:172
+#: src/screens/Onboarding/StepAlgoFeeds/FeedCard.tsx:307
+msgid "Subscribe to the {0} feed"
+msgstr "訂閱 {0} 訊息流"
+
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:191
+msgid "Subscribe to this labeler"
+msgstr "訂閱這個標籤者"
+
+#: src/view/screens/ProfileList.tsx:588
+msgid "Subscribe to this list"
+msgstr "訂閱這個列表"
+
+#: src/view/screens/Search/Search.tsx:523
+msgid "Suggested Follows"
+msgstr "推薦的跟隨者"
+
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:65
+msgid "Suggested for you"
+msgstr "為你推薦"
+
+#: src/view/com/modals/SelfLabel.tsx:95
+msgid "Suggestive"
+msgstr "建議"
+
+#: src/Navigation.tsx:226
+#: src/view/screens/Support.tsx:30
+#: src/view/screens/Support.tsx:33
+msgid "Support"
+msgstr "支援"
+
+#: src/components/dialogs/SwitchAccount.tsx:46
+#: src/components/dialogs/SwitchAccount.tsx:49
+msgid "Switch Account"
+msgstr "切換帳號"
+
+#: src/view/screens/Settings/index.tsx:150
+msgid "Switch to {0}"
+msgstr "切換到 {0}"
+
+#: src/view/screens/Settings/index.tsx:151
+msgid "Switches the account you are logged in to"
+msgstr "切換你登入的帳號"
+
+#: src/view/screens/Settings/index.tsx:442
+msgid "System"
+msgstr "系統"
+
+#: src/view/screens/Settings/index.tsx:783
+msgid "System log"
+msgstr "系統日誌"
+
+#: src/components/dialogs/MutedWords.tsx:323
+msgid "tag"
+msgstr "標籤"
+
+#: src/components/TagMenu/index.tsx:78
+msgid "Tag menu: {displayTag}"
+msgstr "標籤選單:{displayTag}"
+
+#: src/view/com/modals/crop-image/CropImage.web.tsx:113
+msgid "Tall"
+msgstr "高"
+
+#: src/view/com/util/images/AutoSizedImage.tsx:70
+msgid "Tap to view fully"
+msgstr "點擊查看完整內容"
+
+#: src/screens/Onboarding/index.tsx:39
+msgid "Tech"
+msgstr "科技"
+
+#: src/view/shell/desktop/RightNav.tsx:81
+msgid "Terms"
+msgstr "條款"
+
+#: src/Navigation.tsx:236
+#: src/screens/Signup/StepInfo/Policies.tsx:49
+#: src/view/screens/Settings/index.tsx:881
+#: src/view/screens/TermsOfService.tsx:29
+#: src/view/shell/Drawer.tsx:265
+msgid "Terms of Service"
+msgstr "服務條款"
+
+#: src/lib/moderation/useReportOptions.ts:58
+#: src/lib/moderation/useReportOptions.ts:79
+#: src/lib/moderation/useReportOptions.ts:87
+msgid "Terms used violate community standards"
+msgstr "所使用的文字違反了社群標準"
+
+#: src/components/dialogs/MutedWords.tsx:323
+msgid "text"
+msgstr "文字"
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:219
+msgid "Text input field"
+msgstr "文字輸入框"
+
+#: src/components/ReportDialog/SubmitView.tsx:76
+msgid "Thank you. Your report has been sent."
+msgstr "謝謝,你的檢舉已提交。"
+
+#: src/view/com/modals/ChangeHandle.tsx:465
+msgid "That contains the following:"
+msgstr "其中包含以下內容:"
+
+#: src/screens/Signup/index.tsx:85
+msgid "That handle is already taken."
+msgstr "這個帳號代碼已被使用。"
+
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:282
+#: src/view/com/profile/ProfileMenu.tsx:349
+msgid "The account will be able to interact with you after unblocking."
+msgstr "解除封鎖後,該帳號將能夠與你互動。"
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:127
+msgid "the author"
+msgstr "作者"
+
+#: src/view/screens/CommunityGuidelines.tsx:36
+msgid "The Community Guidelines have been moved to <0/>"
+msgstr "社群準則已移動到 <0/>"
+
+#: src/view/screens/CopyrightPolicy.tsx:33
+msgid "The Copyright Policy has been moved to <0/>"
+msgstr "版權政策已移動到 <0/>"
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:48
+msgid "The following labels were applied to your account."
+msgstr "以下標籤已套用到你的帳戶。"
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:49
+msgid "The following labels were applied to your content."
+msgstr "以下標籤已套用到你的內容。"
+
+#: src/screens/Onboarding/Layout.tsx:58
+msgid "The following steps will help customize your Bluesky experience."
+msgstr "以下步驟將幫助自訂你的 Bluesky 體驗。"
+
+#: src/view/com/post-thread/PostThread.tsx:153
+#: src/view/com/post-thread/PostThread.tsx:165
+msgid "The post may have been deleted."
+msgstr "這則貼文可能已被刪除。"
+
+#: src/view/screens/PrivacyPolicy.tsx:33
+msgid "The Privacy Policy has been moved to <0/>"
+msgstr "隱私政策已移動到 <0/>"
+
+#: src/view/screens/Support.tsx:36
+msgid "The support form has been moved. If you need help, please <0/> or visit {HELP_DESK_URL} to get in touch with us."
+msgstr "支援表單已移至別處。如果需協助,請點擊<0/>或前往 {HELP_DESK_URL} 與我們聯繫。"
+
+#: src/view/screens/TermsOfService.tsx:33
+msgid "The Terms of Service have been moved to"
+msgstr "服務條款已遷移到"
+
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:141
+msgid "There are many feeds to try:"
+msgstr "這裡有些訊息流你可以嘗試:"
+
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:114
+#: src/view/screens/ProfileFeed.tsx:556
+msgid "There was an an issue contacting the server, please check your internet connection and try again."
+msgstr "連線至伺服器時出現問題,請檢查你的網路連線並重試。"
+
+#: src/view/com/posts/FeedErrorMessage.tsx:138
+msgid "There was an an issue removing this feed. Please check your internet connection and try again."
+msgstr "刪除訊息流時出現問題,請檢查你的網路連線並重試。"
+
+#: src/view/screens/ProfileFeed.tsx:219
+msgid "There was an an issue updating your feeds, please check your internet connection and try again."
+msgstr "更新訊息流時出現問題,請檢查你的網路連線並重試。"
+
+#: src/view/screens/ProfileFeed.tsx:247
+#: src/view/screens/ProfileList.tsx:277
+#: src/view/screens/SavedFeeds.tsx:211
+#: src/view/screens/SavedFeeds.tsx:241
+#: src/view/screens/SavedFeeds.tsx:262
+msgid "There was an issue contacting the server"
+msgstr "連線伺服器時出現問題"
+
+#: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:57
+#: src/view/com/auth/onboarding/RecommendedFeedsItem.tsx:66
+#: src/view/com/feeds/FeedSourceCard.tsx:110
+#: src/view/com/feeds/FeedSourceCard.tsx:123
+msgid "There was an issue contacting your server"
+msgstr "連線伺服器時出現問題"
+
+#: src/view/com/notifications/Feed.tsx:117
+msgid "There was an issue fetching notifications. Tap here to try again."
+msgstr "取得通知時發生問題,點擊這裡重試。"
+
+#: src/view/com/posts/Feed.tsx:287
+msgid "There was an issue fetching posts. Tap here to try again."
+msgstr "取得貼文時發生問題,點擊這裡重試。"
+
+#: src/view/com/lists/ListMembers.tsx:172
+msgid "There was an issue fetching the list. Tap here to try again."
+msgstr "取得列表時發生問題,點擊這裡重試。"
+
+#: src/view/com/feeds/ProfileFeedgens.tsx:156
+#: src/view/com/lists/ProfileLists.tsx:163
+msgid "There was an issue fetching your lists. Tap here to try again."
+msgstr "取得列表時發生問題,點擊這裡重試。"
+
+#: src/components/ReportDialog/SubmitView.tsx:81
+msgid "There was an issue sending your report. Please check your internet connection."
+msgstr "提交你的檢舉時出現問題,請檢查你的網路連線。"
+
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:65
+msgid "There was an issue syncing your preferences with the server"
+msgstr "與伺服器同步設定偏好時發生問題"
+
+#: src/view/screens/AppPasswords.tsx:68
+msgid "There was an issue with fetching your app passwords"
+msgstr "取得應用程式專用密碼時發生問題"
+
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:105
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:127
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:141
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:99
+#: src/view/com/post-thread/PostThreadFollowBtn.tsx:111
+#: src/view/com/profile/ProfileMenu.tsx:106
+#: src/view/com/profile/ProfileMenu.tsx:117
+#: src/view/com/profile/ProfileMenu.tsx:132
+#: src/view/com/profile/ProfileMenu.tsx:143
+#: src/view/com/profile/ProfileMenu.tsx:157
+#: src/view/com/profile/ProfileMenu.tsx:170
+msgid "There was an issue! {0}"
+msgstr "發生問題了!{0}"
+
+#: src/view/screens/ProfileList.tsx:290
+#: src/view/screens/ProfileList.tsx:304
+#: src/view/screens/ProfileList.tsx:318
+#: src/view/screens/ProfileList.tsx:332
+msgid "There was an issue. Please check your internet connection and try again."
+msgstr "發生問題了。請檢查你的網路連線並重試。"
+
+#: src/view/com/util/ErrorBoundary.tsx:51
+msgid "There was an unexpected issue in the application. Please let us know if this happened to you!"
+msgstr "應用程式中發生了意外問題。請告訴我們是否發生在你身上!"
+
+#: src/screens/Deactivated.tsx:106
+msgid "There's been a rush of new users to Bluesky! We'll activate your account as soon as we can."
+msgstr "Bluesky 迎來了大量新使用者!我們將儘快啟用你的帳號。"
+
+#: src/screens/Onboarding/StepSuggestedAccounts/index.tsx:146
+msgid "These are popular accounts you might like:"
+msgstr "這裡是一些受歡迎的帳號,你可能會喜歡:"
+
+#: src/components/moderation/ScreenHider.tsx:116
+msgid "This {screenDescription} has been flagged:"
+msgstr "{screenDescription} 已被標記:"
+
+#: src/components/moderation/ScreenHider.tsx:111
+msgid "This account has requested that users sign in to view their profile."
+msgstr "此帳號要求使用者登入後才能查看其個人資料。"
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:204
+msgid "This appeal will be sent to <0>{0}0>."
+msgstr "此申訴將被提交至 <0>{0}0>。"
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:19
+msgid "This content has been hidden by the moderators."
+msgstr "此內容已被限制提供者隱藏。"
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:24
+msgid "This content has received a general warning from moderators."
+msgstr "此內容已套用限制提供者所設定的一般警告。"
+
+#: src/components/dialogs/EmbedConsent.tsx:64
+msgid "This content is hosted by {0}. Do you want to enable external media?"
+msgstr "此內容由 {0} 托管。是否要啟用外部媒體?"
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:77
+#: src/lib/moderation/useModerationCauseDescription.ts:77
+msgid "This content is not available because one of the users involved has blocked the other."
+msgstr "由於其中一個使用者封鎖了另一個使用者,無法查看此內容。"
+
+#: src/view/com/posts/FeedErrorMessage.tsx:108
+msgid "This content is not viewable without a Bluesky account."
+msgstr "沒有 Bluesky 帳號,無法查看此內容。"
+
+#: src/view/screens/Settings/ExportCarDialog.tsx:75
+msgid "This feature is in beta. You can read more about repository exports in <0>this blogpost0>."
+msgstr "此功能目前為測試版本。你可以在<0>這篇部落格文章0>中了解更多有關資訊。"
+
+#: src/view/com/posts/FeedErrorMessage.tsx:114
+msgid "This feed is currently receiving high traffic and is temporarily unavailable. Please try again later."
+msgstr "此訊息流由於目前使用人數眾多而暫時無法使用。請稍後再試。"
+
+#: src/screens/Profile/Sections/Feed.tsx:59
+#: src/view/screens/ProfileFeed.tsx:488
+#: src/view/screens/ProfileList.tsx:677
+msgid "This feed is empty!"
+msgstr "這個訊息流是空的!"
+
+#: src/view/com/posts/CustomFeedEmptyState.tsx:37
+msgid "This feed is empty! You may need to follow more users or tune your language settings."
+msgstr "這個訊息流是空的!你或許需要先跟隨更多的人或檢查你的語言設定。"
+
+#: src/components/dialogs/BirthDateSettings.tsx:41
+msgid "This information is not shared with other users."
+msgstr "此資訊不會分享給其他使用者。"
+
+#: src/view/com/modals/VerifyEmail.tsx:119
+msgid "This is important in case you ever need to change your email or reset your password."
+msgstr "這很重要,以防你將來需要更改電子郵件地址或重設密碼。"
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:124
+msgid "This label was applied by {0}."
+msgstr "此標籤是由 {0} 套用的。"
+
+#: src/screens/Profile/Sections/Labels.tsx:178
+msgid "This labeler hasn't declared what labels it publishes, and may not be active."
+msgstr "此標籤者尚未宣告它發佈的標籤,可能不活躍。"
+
+#: src/view/com/modals/LinkWarning.tsx:72
+msgid "This link is taking you to the following website:"
+msgstr "此連結將帶你到以下網站:"
+
+#: src/view/screens/ProfileList.tsx:855
+msgid "This list is empty!"
+msgstr "此列表為空!"
+
+#: src/screens/Profile/ErrorState.tsx:40
+msgid "This moderation service is unavailable. See below for more details. If this issue persists, contact us."
+msgstr "此限制服務暫時無法使用,詳情請見下文。如果問題持續存在,請與我們聯絡。"
+
+#: src/view/com/modals/AddAppPasswords.tsx:107
+msgid "This name is already in use"
+msgstr "此名稱已被使用"
+
+#: src/view/com/post-thread/PostThreadItem.tsx:125
+msgid "This post has been deleted."
+msgstr "這則貼文已被刪除。"
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:366
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:250
+msgid "This post is only visible to logged-in users. It won't be visible to people who aren't logged in."
+msgstr "這則貼文僅對登入使用者可見。 未登入的人將看不到它。"
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:348
+msgid "This post will be hidden from feeds."
+msgstr "這則貼文將從訊息流中被隱藏。"
+
+#: src/view/com/profile/ProfileMenu.tsx:370
+msgid "This profile is only visible to logged-in users. It won't be visible to people who aren't logged in."
+msgstr "此個人資料僅對登入使用者可見。 未登入的人將看不到它。"
+
+#: src/screens/Signup/StepInfo/Policies.tsx:37
+msgid "This service has not provided terms of service or a privacy policy."
+msgstr "此服務尚未提供服務條款或隱私政策。"
+
+#: src/view/com/modals/ChangeHandle.tsx:445
+msgid "This should create a domain record at:"
+msgstr "這應該在以下位置創建一個域記錄:"
+
+#: src/view/com/profile/ProfileFollowers.tsx:87
+msgid "This user doesn't have any followers."
+msgstr "此使用者沒有任何追隨者。"
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:72
+#: src/lib/moderation/useModerationCauseDescription.ts:68
+msgid "This user has blocked you. You cannot view their content."
+msgstr "此使用者已封鎖你,你無法查看他們的內容。"
+
+#: src/lib/moderation/useGlobalLabelStrings.ts:30
+msgid "This user has requested that their content only be shown to signed-in users."
+msgstr "此用戶要求僅將其內容顯示給已登錄的用戶。"
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:55
+msgid "This user is included in the <0>{0}0> list which you have blocked."
+msgstr "此使用者包含在你已封鎖的 <0>{0}0> 列表中。"
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:84
+msgid "This user is included in the <0>{0}0> list which you have muted."
+msgstr "此使用者包含在你已靜音的 <0>{0}0> 列表中。"
+
+#: src/view/com/profile/ProfileFollows.tsx:87
+msgid "This user isn't following anyone."
+msgstr "此使用者未跟隨任何人。"
+
+#: src/view/com/modals/SelfLabel.tsx:137
+msgid "This warning is only available for posts with media attached."
+msgstr "此警告僅適用於附帶媒體的貼文。"
+
+#: src/components/dialogs/MutedWords.tsx:283
+msgid "This will delete {0} from your muted words. You can always add it back later."
+msgstr "這將從你的靜音詞中刪除 {0},你隨時可以在稍後添加回來。"
+
+#: src/view/screens/Settings/index.tsx:525
+msgid "Thread preferences"
+msgstr "對話串偏好"
+
+#: src/view/screens/PreferencesThreads.tsx:53
+#: src/view/screens/Settings/index.tsx:535
+msgid "Thread Preferences"
+msgstr "對話串偏好"
+
+#: src/view/screens/PreferencesThreads.tsx:119
+msgid "Threaded Mode"
+msgstr "對話串模式"
+
+#: src/Navigation.tsx:269
+msgid "Threads Preferences"
+msgstr "對話串偏好"
+
+#: src/components/ReportDialog/SelectLabelerView.tsx:33
+msgid "To whom would you like to send this report?"
+msgstr "你希望向誰提交此檢舉?"
+
+#: src/components/dialogs/MutedWords.tsx:112
+msgid "Toggle between muted word options."
+msgstr "在靜音詞選項之間切換。"
+
+#: src/view/com/util/forms/DropdownButton.tsx:246
+msgid "Toggle dropdown"
+msgstr "切換下拉式選單"
+
+#: src/screens/Moderation/index.tsx:332
+msgid "Toggle to enable or disable adult content"
+msgstr "切換以啟用或禁用成人內容"
+
+#: src/view/screens/Search/Search.tsx:427
+msgid "Top"
+msgstr ""
+
+#: src/view/com/modals/EditImage.tsx:272
+msgid "Transformations"
+msgstr "轉換"
+
+#: src/view/com/post-thread/PostThreadItem.tsx:638
+#: src/view/com/post-thread/PostThreadItem.tsx:640
+#: src/view/com/util/forms/PostDropdownBtn.tsx:220
+#: src/view/com/util/forms/PostDropdownBtn.tsx:222
+msgid "Translate"
+msgstr "翻譯"
+
+#: src/view/com/util/error/ErrorScreen.tsx:82
+msgctxt "action"
+msgid "Try again"
+msgstr "重試"
+
+#: src/view/com/modals/ChangeHandle.tsx:428
+msgid "Type:"
+msgstr "類型:"
+
+#: src/view/screens/ProfileList.tsx:480
+msgid "Un-block list"
+msgstr "取消封鎖列表"
+
+#: src/view/screens/ProfileList.tsx:463
+msgid "Un-mute list"
+msgstr "取消靜音列表"
+
+#: src/screens/Login/ForgotPasswordForm.tsx:74
+#: src/screens/Login/index.tsx:78
+#: src/screens/Login/LoginForm.tsx:119
+#: src/screens/Login/SetNewPasswordForm.tsx:77
+#: src/screens/Signup/index.tsx:64
+#: src/view/com/modals/ChangePassword.tsx:70
+msgid "Unable to contact your service. Please check your Internet connection."
+msgstr "無法連線到服務,請檢查你的網路連線。"
+
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:181
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:286
+#: src/view/com/profile/ProfileMenu.tsx:361
+#: src/view/screens/ProfileList.tsx:574
+msgid "Unblock"
+msgstr "取消封鎖"
+
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:186
+msgctxt "action"
+msgid "Unblock"
+msgstr "取消封鎖"
+
+#: src/view/com/profile/ProfileMenu.tsx:299
+#: src/view/com/profile/ProfileMenu.tsx:305
+msgid "Unblock Account"
+msgstr "取消封鎖"
+
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:280
+#: src/view/com/profile/ProfileMenu.tsx:343
+msgid "Unblock Account?"
+msgstr "取消封鎖?"
+
+#: src/view/com/modals/Repost.tsx:43
+#: src/view/com/modals/Repost.tsx:56
+#: src/view/com/util/post-ctrls/RepostButton.tsx:60
+#: src/view/com/util/post-ctrls/RepostButton.web.tsx:48
+msgid "Undo repost"
+msgstr "取消轉發"
+
+#: src/view/com/auth/onboarding/RecommendedFollowsItem.tsx:141
+#: src/view/com/profile/ProfileHeaderSuggestedFollows.tsx:248
+msgid "Unfollow"
+msgstr "取消跟隨"
+
+#: src/view/com/profile/FollowButton.tsx:60
+msgctxt "action"
+msgid "Unfollow"
+msgstr "取消跟隨"
+
+#: src/screens/Profile/Header/ProfileHeaderStandard.tsx:220
+msgid "Unfollow {0}"
+msgstr "取消跟隨 {0}"
+
+#: src/view/com/profile/ProfileMenu.tsx:241
+#: src/view/com/profile/ProfileMenu.tsx:251
+msgid "Unfollow Account"
+msgstr "取消跟隨"
+
+#: src/view/com/util/post-ctrls/PostCtrls.tsx:197
+msgid "Unlike"
+msgstr "取消喜歡"
+
+#: src/view/screens/ProfileFeed.tsx:585
+msgid "Unlike this feed"
+msgstr "取消喜歡這個訊息流"
+
+#: src/components/TagMenu/index.tsx:249
+#: src/view/screens/ProfileList.tsx:581
+msgid "Unmute"
+msgstr "取消靜音"
+
+#: src/components/TagMenu/index.web.tsx:104
+msgid "Unmute {truncatedTag}"
+msgstr "取消靜音 {truncatedTag}"
+
+#: src/view/com/profile/ProfileMenu.tsx:278
+#: src/view/com/profile/ProfileMenu.tsx:284
+msgid "Unmute Account"
+msgstr "取消靜音帳號"
+
+#: src/components/TagMenu/index.tsx:208
+msgid "Unmute all {displayTag} posts"
+msgstr "取消對所有 {displayTag} 貼文的靜音"
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:269
+#: src/view/com/util/forms/PostDropdownBtn.tsx:274
+msgid "Unmute thread"
+msgstr "取消靜音對話串"
+
+#: src/view/screens/ProfileFeed.tsx:306
+#: src/view/screens/ProfileList.tsx:565
+msgid "Unpin"
+msgstr "取消固定"
+
+#: src/view/screens/ProfileFeed.tsx:303
+msgid "Unpin from home"
+msgstr "取消固定在首頁"
+
+#: src/view/screens/ProfileList.tsx:446
+msgid "Unpin moderation list"
+msgstr "取消固定限制列表"
+
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:225
+msgid "Unsubscribe"
+msgstr "取消訂閱"
+
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:190
+msgid "Unsubscribe from this labeler"
+msgstr "取消訂閱這個標籤者"
+
+#: src/lib/moderation/useReportOptions.ts:70
+msgid "Unwanted Sexual Content"
+msgstr "無關情色內容"
+
+#: src/view/com/modals/UserAddRemoveLists.tsx:70
+msgid "Update {displayName} in Lists"
+msgstr "更新列表中的 {displayName}"
+
+#: src/view/com/modals/ChangeHandle.tsx:508
+msgid "Update to {handle}"
+msgstr "更新至 {handle}"
+
+#: src/screens/Login/SetNewPasswordForm.tsx:186
+msgid "Updating..."
+msgstr "更新中…"
+
+#: src/view/com/modals/ChangeHandle.tsx:454
+msgid "Upload a text file to:"
+msgstr "上傳文字檔案至:"
+
+#: src/view/com/util/UserAvatar.tsx:328
+#: src/view/com/util/UserAvatar.tsx:331
+#: src/view/com/util/UserBanner.tsx:116
+#: src/view/com/util/UserBanner.tsx:119
+msgid "Upload from Camera"
+msgstr "從相機上傳"
+
+#: src/view/com/util/UserAvatar.tsx:345
+#: src/view/com/util/UserBanner.tsx:133
+msgid "Upload from Files"
+msgstr "從檔案上傳"
+
+#: src/view/com/util/UserAvatar.tsx:339
+#: src/view/com/util/UserAvatar.tsx:343
+#: src/view/com/util/UserBanner.tsx:127
+#: src/view/com/util/UserBanner.tsx:131
+msgid "Upload from Library"
+msgstr "從圖庫上傳"
+
+#: src/view/com/modals/ChangeHandle.tsx:408
+msgid "Use a file on your server"
+msgstr "使用伺服器上的檔案"
+
+#: src/view/screens/AppPasswords.tsx:197
+msgid "Use app passwords to login to other Bluesky clients without giving full access to your account or password."
+msgstr "使用應用程式專用密碼登入到其他 Bluesky 使用者端,而無需提供你的帳號或密碼。"
+
+#: src/view/com/modals/ChangeHandle.tsx:517
+msgid "Use bsky.social as hosting provider"
+msgstr "使用 bsky.social 作為主機提供商"
+
+#: src/view/com/modals/ChangeHandle.tsx:516
+msgid "Use default provider"
+msgstr "使用預設提供商"
+
+#: src/view/com/modals/InAppBrowserConsent.tsx:56
+#: src/view/com/modals/InAppBrowserConsent.tsx:58
+msgid "Use in-app browser"
+msgstr "使用內建瀏覽器"
+
+#: src/view/com/modals/InAppBrowserConsent.tsx:66
+#: src/view/com/modals/InAppBrowserConsent.tsx:68
+msgid "Use my default browser"
+msgstr "使用我的預設瀏覽器"
+
+#: src/view/com/modals/ChangeHandle.tsx:400
+msgid "Use the DNS panel"
+msgstr "使用 DNS 控制台"
+
+#: src/view/com/modals/AddAppPasswords.tsx:156
+msgid "Use this to sign into the other app along with your handle."
+msgstr "使用這個和你的帳號代碼一起登入其他應用程式。"
+
+#: src/view/com/modals/InviteCodes.tsx:201
+msgid "Used by:"
+msgstr "使用者:"
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:64
+#: src/lib/moderation/useModerationCauseDescription.ts:56
+msgid "User Blocked"
+msgstr "使用者被封鎖"
+
+#: src/lib/moderation/useModerationCauseDescription.ts:48
+msgid "User Blocked by \"{0}\""
+msgstr "使用者被\"{0}\"封鎖"
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:53
+msgid "User Blocked by List"
+msgstr "使用者被列表封鎖"
+
+#: src/lib/moderation/useModerationCauseDescription.ts:66
+msgid "User Blocking You"
+msgstr "使用者封鎖了你"
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:70
+msgid "User Blocks You"
+msgstr "使用者封鎖了你"
+
+#: src/view/com/lists/ListCard.tsx:85
+#: src/view/com/modals/UserAddRemoveLists.tsx:198
+msgid "User list by {0}"
+msgstr "{0} 的使用者列表"
+
+#: src/view/screens/ProfileList.tsx:779
+msgid "User list by <0/>"
+msgstr "<0/> 的使用者列表"
+
+#: src/view/com/lists/ListCard.tsx:83
+#: src/view/com/modals/UserAddRemoveLists.tsx:196
+#: src/view/screens/ProfileList.tsx:777
+msgid "User list by you"
+msgstr "你的使用者列表"
+
+#: src/view/com/modals/CreateOrEditList.tsx:197
+msgid "User list created"
+msgstr "使用者列表已建立"
+
+#: src/view/com/modals/CreateOrEditList.tsx:183
+msgid "User list updated"
+msgstr "使用者列表已更新"
+
+#: src/view/screens/Lists.tsx:58
+msgid "User Lists"
+msgstr "使用者列表"
+
+#: src/screens/Login/LoginForm.tsx:151
+msgid "Username or email address"
+msgstr "使用者名稱或電子郵件地址"
+
+#: src/view/screens/ProfileList.tsx:813
+#: src/view/screens/Search/Search.tsx:473
+#: src/view/screens/Search/Search.tsx:482
+msgid "Users"
+msgstr "使用者"
+
+#: src/view/com/threadgate/WhoCanReply.tsx:143
+msgid "users followed by <0/>"
+msgstr "跟隨 <0/> 的使用者"
+
+#: src/view/com/modals/Threadgate.tsx:106
+msgid "Users in \"{0}\""
+msgstr "「{0}」中的使用者"
+
+#: src/components/LikesDialog.tsx:85
+msgid "Users that have liked this content or profile"
+msgstr "喜歡此內容或個人資料的使用者"
+
+#: src/view/com/modals/ChangeHandle.tsx:436
+msgid "Value:"
+msgstr "值:"
+
+#: src/view/com/modals/ChangeHandle.tsx:509
+msgid "Verify {0}"
+msgstr "驗證 {0}"
+
+#: src/view/screens/Settings/index.tsx:906
+msgid "Verify email"
+msgstr "驗證電子郵件"
+
+#: src/view/screens/Settings/index.tsx:931
+msgid "Verify my email"
+msgstr "驗證我的電子郵件"
+
+#: src/view/screens/Settings/index.tsx:940
+msgid "Verify My Email"
+msgstr "驗證我的電子郵件"
+
+#: src/view/com/modals/ChangeEmail.tsx:205
+#: src/view/com/modals/ChangeEmail.tsx:207
+msgid "Verify New Email"
+msgstr "驗證新的電子郵件"
+
+#: src/view/com/modals/VerifyEmail.tsx:103
+msgid "Verify Your Email"
+msgstr "驗證你的電子郵件"
+
+#: src/view/screens/Settings/index.tsx:857
+msgid "Version {0}"
+msgstr "版本 {0}"
+
+#: src/screens/Onboarding/index.tsx:42
+msgid "Video Games"
+msgstr "電子遊戲"
+
+#: src/screens/Profile/Header/Shell.tsx:107
+msgid "View {0}'s avatar"
+msgstr "查看{0}的頭貼"
+
+#: src/view/screens/Log.tsx:52
+msgid "View debug entry"
+msgstr "查看除錯項目"
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:132
+msgid "View details"
+msgstr "查看詳細信息"
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:127
+msgid "View details for reporting a copyright violation"
+msgstr "查看詳細信息以檢舉侵權"
+
+#: src/view/com/posts/FeedSlice.tsx:99
+msgid "View full thread"
+msgstr "查看整個對話串"
+
+#: src/components/moderation/LabelsOnMe.tsx:51
+msgid "View information about these labels"
+msgstr "查看有關這些標籤的信息"
+
+#: src/components/ProfileHoverCard/index.web.tsx:264
+#: src/components/ProfileHoverCard/index.web.tsx:293
+#: src/view/com/posts/FeedErrorMessage.tsx:166
+msgid "View profile"
+msgstr "查看資料"
+
+#: src/view/com/profile/ProfileSubpageHeader.tsx:128
+msgid "View the avatar"
+msgstr "查看頭像"
+
+#: src/components/LabelingServiceCard/index.tsx:140
+msgid "View the labeling service provided by @{0}"
+msgstr "查看由 @{0} 提供的標籤服務"
+
+#: src/view/screens/ProfileFeed.tsx:597
+msgid "View users who like this feed"
+msgstr "查看喜歡此訊息流的使用者"
+
+#: src/view/com/modals/LinkWarning.tsx:89
+#: src/view/com/modals/LinkWarning.tsx:95
+msgid "Visit Site"
+msgstr "造訪網站"
+
+#: src/components/moderation/LabelPreference.tsx:135
+#: src/lib/moderation/useLabelBehaviorDescription.ts:17
+#: src/lib/moderation/useLabelBehaviorDescription.ts:22
+#: src/screens/Onboarding/StepModeration/ModerationOption.tsx:53
+msgid "Warn"
+msgstr "警告"
+
+#: src/lib/moderation/useLabelBehaviorDescription.ts:48
+msgid "Warn content"
+msgstr "警告內容"
+
+#: src/lib/moderation/useLabelBehaviorDescription.ts:46
+msgid "Warn content and filter from feeds"
+msgstr "警告內容並從訊息流中過濾"
+
+#: src/screens/Hashtag.tsx:133
+msgid "We couldn't find any results for that hashtag."
+msgstr "我們找不到任何與該標籤相關的結果。"
+
+#: src/screens/Deactivated.tsx:133
+msgid "We estimate {estimatedTime} until your account is ready."
+msgstr "我們估計還需要 {estimatedTime} 才能準備好你的帳號。"
+
+#: src/screens/Onboarding/StepFinished.tsx:97
+msgid "We hope you have a wonderful time. Remember, Bluesky is:"
+msgstr "我們希望你在此度過愉快的時光。請記住,Bluesky 是:"
+
+#: src/view/com/posts/DiscoverFallbackHeader.tsx:29
+msgid "We ran out of posts from your follows. Here's the latest from <0/>."
+msgstr "你已看完了你跟隨的貼文。這是 <0/> 的最新貼文。"
+
+#: src/components/dialogs/MutedWords.tsx:203
+msgid "We recommend avoiding common words that appear in many posts, since it can result in no posts being shown."
+msgstr "我們建議避免使用出現在許多貼文中的常用詞語,因為這可能導致沒有貼文可顯示。"
+
+#: src/screens/Onboarding/StepAlgoFeeds/index.tsx:125
+msgid "We recommend our \"Discover\" feed:"
+msgstr "我們推薦我們的「Discover」訊息流:"
+
+#: src/components/dialogs/BirthDateSettings.tsx:52
+msgid "We were unable to load your birth date preferences. Please try again."
+msgstr "我們無法加載你的出生日期設定偏好,請再試一次。"
+
+#: src/screens/Moderation/index.tsx:385
+msgid "We were unable to load your configured labelers at this time."
+msgstr "我們目前無法加載你已配置的標籤者。"
+
+#: src/screens/Onboarding/StepInterests/index.tsx:137
+msgid "We weren't able to connect. Please try again to continue setting up your account. If it continues to fail, you can skip this flow."
+msgstr "我們無法連線到網際網路,請重試以繼續設定你的帳號。如果仍繼續失敗,你可以選擇跳過此流程。"
+
+#: src/screens/Deactivated.tsx:137
+msgid "We will let you know when your account is ready."
+msgstr "我們會在你的帳號準備好時通知你。"
+
+#: src/screens/Onboarding/StepInterests/index.tsx:142
+msgid "We'll use this to help customize your experience."
+msgstr "我們將使用這些資訊來幫助定制你的體驗。"
+
+#: src/screens/Signup/index.tsx:131
+msgid "We're so excited to have you join us!"
+msgstr "我們非常高興你加入我們!"
+
+#: src/view/screens/ProfileList.tsx:90
+msgid "We're sorry, but we were unable to resolve this list. If this persists, please contact the list creator, @{handleOrDid}."
+msgstr "很抱歉,我們無法解析此列表。如果問題持續發生,請聯繫列表建立者 @{handleOrDid}。"
+
+#: src/components/dialogs/MutedWords.tsx:229
+msgid "We're sorry, but we weren't able to load your muted words at this time. Please try again."
+msgstr "很抱歉,我們目前無法加載你的靜音詞。請稍後再試。"
+
+#: src/view/screens/Search/Search.tsx:322
+msgid "We're sorry, but your search could not be completed. Please try again in a few minutes."
+msgstr "很抱歉,無法完成你的搜尋請求。請稍後再試。"
+
+#: src/components/Lists.tsx:188
+#: src/view/screens/NotFound.tsx:48
+msgid "We're sorry! We can't find the page you were looking for."
+msgstr "很抱歉!我們找不到你正在尋找的頁面。"
+
+#: src/screens/Profile/Header/ProfileHeaderLabeler.tsx:327
+msgid "We're sorry! You can only subscribe to ten labelers, and you've reached your limit of ten."
+msgstr "抱歉!你只能訂閱十個標籤者,你已達到十個的限制。"
+
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:48
+msgid "Welcome to <0>Bluesky0>"
+msgstr "歡迎來到 <0>Bluesky0>"
+
+#: src/screens/Onboarding/StepInterests/index.tsx:134
+msgid "What are your interests?"
+msgstr "你感興趣的是什麼?"
+
+#: src/view/com/auth/SplashScreen.tsx:40
+#: src/view/com/auth/SplashScreen.web.tsx:81
+#: src/view/com/composer/Composer.tsx:296
+msgid "What's up?"
+msgstr "發生了什麼新鮮事?"
+
+#: src/view/com/modals/lang-settings/PostLanguagesSettings.tsx:78
+msgid "Which languages are used in this post?"
+msgstr "這個貼文使用了哪些語言?"
+
+#: src/view/com/modals/lang-settings/ContentLanguagesSettings.tsx:77
+msgid "Which languages would you like to see in your algorithmic feeds?"
+msgstr "你想在演算法訊息流中看到哪些語言?"
+
+#: src/view/com/composer/threadgate/ThreadgateBtn.tsx:47
+#: src/view/com/modals/Threadgate.tsx:66
+msgid "Who can reply"
+msgstr "誰可以回覆"
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:43
+msgid "Why should this content be reviewed?"
+msgstr "為什麼應該審查這個內容?"
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:56
+msgid "Why should this feed be reviewed?"
+msgstr "為什麼應該審查這個訊息流?"
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:53
+msgid "Why should this list be reviewed?"
+msgstr "為什麼應該審查這個列表?"
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:50
+msgid "Why should this post be reviewed?"
+msgstr "為什麼應該審查這則貼文?"
+
+#: src/components/ReportDialog/SelectReportOptionView.tsx:47
+msgid "Why should this user be reviewed?"
+msgstr "為什麼應該審查這個使用者?"
+
+#: src/view/com/modals/crop-image/CropImage.web.tsx:103
+msgid "Wide"
+msgstr "寬"
+
+#: src/view/com/composer/Composer.tsx:436
+msgid "Write post"
+msgstr "撰寫貼文"
+
+#: src/view/com/composer/Composer.tsx:295
+#: src/view/com/composer/Prompt.tsx:37
+msgid "Write your reply"
+msgstr "撰寫你的回覆"
+
+#: src/screens/Onboarding/index.tsx:28
+msgid "Writers"
+msgstr "作家"
+
+#: src/view/com/composer/select-language/SuggestedLanguage.tsx:77
+#: src/view/screens/PreferencesFollowingFeed.tsx:129
+#: src/view/screens/PreferencesFollowingFeed.tsx:201
+#: src/view/screens/PreferencesFollowingFeed.tsx:236
+#: src/view/screens/PreferencesFollowingFeed.tsx:271
+#: src/view/screens/PreferencesThreads.tsx:106
+#: src/view/screens/PreferencesThreads.tsx:129
+msgid "Yes"
+msgstr "開"
+
+#: src/screens/Deactivated.tsx:130
+msgid "You are in line."
+msgstr "輪到你了。"
+
+#: src/view/com/profile/ProfileFollows.tsx:86
+msgid "You are not following anyone."
+msgstr "你沒有跟隨任何人。"
+
+#: src/view/com/posts/FollowingEmptyState.tsx:67
+#: src/view/com/posts/FollowingEndOfFeed.tsx:68
+msgid "You can also discover new Custom Feeds to follow."
+msgstr "你也可以探索並跟隨新的自訂訊息流。"
+
+#: src/screens/Onboarding/StepFollowingFeed.tsx:143
+msgid "You can change these settings later."
+msgstr "你可以稍後在設定中更改。"
+
+#: src/screens/Login/index.tsx:158
+#: src/screens/Login/PasswordUpdatedForm.tsx:33
+msgid "You can now sign in with your new password."
+msgstr "你現在可以使用新密碼登入。"
+
+#: src/view/com/profile/ProfileFollowers.tsx:86
+msgid "You do not have any followers."
+msgstr "你沒有任何跟隨者。"
+
+#: src/view/com/modals/InviteCodes.tsx:67
+msgid "You don't have any invite codes yet! We'll send you some when you've been on Bluesky for a little longer."
+msgstr "你目前還沒有邀請碼!當你持續使用 Bluesky 一段時間後,我們將提供一些新的邀請碼給你。"
+
+#: src/view/screens/SavedFeeds.tsx:103
+msgid "You don't have any pinned feeds."
+msgstr "你目前還沒有任何固定的訊息流。"
+
+#: src/view/screens/Feeds.tsx:477
+msgid "You don't have any saved feeds!"
+msgstr "你目前還沒有任何儲存的訊息流!"
+
+#: src/view/screens/SavedFeeds.tsx:136
+msgid "You don't have any saved feeds."
+msgstr "你目前還沒有任何儲存的訊息流。"
+
+#: src/view/com/post-thread/PostThread.tsx:159
+msgid "You have blocked the author or you have been blocked by the author."
+msgstr "你已封鎖該作者,或你已被該作者封鎖。"
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:66
+#: src/lib/moderation/useModerationCauseDescription.ts:50
+#: src/lib/moderation/useModerationCauseDescription.ts:58
+msgid "You have blocked this user. You cannot view their content."
+msgstr "你已封鎖了此使用者,你將無法查看他們發佈的內容。"
+
+#: src/screens/Login/SetNewPasswordForm.tsx:54
+#: src/screens/Login/SetNewPasswordForm.tsx:91
+#: src/view/com/modals/ChangePassword.tsx:87
+#: src/view/com/modals/ChangePassword.tsx:121
+msgid "You have entered an invalid code. It should look like XXXXX-XXXXX."
+msgstr "你輸入的邀請碼無效。它應該長得像這樣 XXXXX-XXXXX。"
+
+#: src/lib/moderation/useModerationCauseDescription.ts:109
+msgid "You have hidden this post"
+msgstr "你已隱藏這則貼文"
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:101
+msgid "You have hidden this post."
+msgstr "你已隱藏這則貼文。"
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:94
+#: src/lib/moderation/useModerationCauseDescription.ts:92
+msgid "You have muted this account."
+msgstr "你已隱藏這個帳號。"
+
+#: src/lib/moderation/useModerationCauseDescription.ts:86
+msgid "You have muted this user"
+msgstr "你已隱藏這個使用者。"
+
+#: src/view/com/feeds/ProfileFeedgens.tsx:144
+msgid "You have no feeds."
+msgstr "你沒有訂閱訊息流。"
+
+#: src/view/com/lists/MyLists.tsx:89
+#: src/view/com/lists/ProfileLists.tsx:148
+msgid "You have no lists."
+msgstr "你沒有列表。"
+
+#: src/view/screens/ModerationBlockedAccounts.tsx:138
+msgid "You have not blocked any accounts yet. To block an account, go to their profile and select \"Block account\" from the menu on their account."
+msgstr "你還沒有封鎖任何帳號。要封鎖帳號,請轉到其個人資料並在其帳號上的選單中選擇「封鎖帳號」。"
+
+#: src/view/screens/AppPasswords.tsx:89
+msgid "You have not created any app passwords yet. You can create one by pressing the button below."
+msgstr "你還沒有建立任何應用程式專用密碼,如你想建立一個,按下面的按鈕。"
+
+#: src/view/screens/ModerationMutedAccounts.tsx:136
+msgid "You have not muted any accounts yet. To mute an account, go to their profile and select \"Mute account\" from the menu on their account."
+msgstr "你還沒有靜音任何帳號。要靜音帳號,請轉到其個人資料並在其帳號上的選單中選擇「靜音帳號」。"
+
+#: src/components/dialogs/MutedWords.tsx:249
+msgid "You haven't muted any words or tags yet"
+msgstr "你还没有隐藏任何词或话题标签"
+
+#: src/components/moderation/LabelsOnMeDialog.tsx:68
+msgid "You may appeal these labels if you feel they were placed in error."
+msgstr "如果你覺得這些標籤是錯誤的,你可以申訴這些標籤。"
+
+#: src/screens/Signup/StepInfo/Policies.tsx:79
+msgid "You must be 13 years of age or older to sign up."
+msgstr "你必須年滿 13 歲才能註冊。"
+
+#: src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx:110
+msgid "You must be 18 years or older to enable adult content"
+msgstr "你必須年滿 18 歲才能啟用成人內容"
+
+#: src/components/ReportDialog/SubmitView.tsx:203
+msgid "You must select at least one labeler for a report"
+msgstr "你必須選擇至少一個標籤者來提交檢舉"
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:150
+msgid "You will no longer receive notifications for this thread"
+msgstr "你將不再收到這條對話串的通知"
+
+#: src/view/com/util/forms/PostDropdownBtn.tsx:153
+msgid "You will now receive notifications for this thread"
+msgstr "你將收到這條對話串的通知"
+
+#: src/screens/Login/SetNewPasswordForm.tsx:104
+msgid "You will receive an email with a \"reset code.\" Enter that code here, then enter your new password."
+msgstr "你將收到一封包含重設碼的電子郵件。請在此輸入該重設代碼,然後輸入你的新密碼。"
+
+#: src/screens/Onboarding/StepModeration/index.tsx:60
+msgid "You're in control"
+msgstr "你盡在掌控"
+
+#: src/screens/Deactivated.tsx:87
+#: src/screens/Deactivated.tsx:88
+#: src/screens/Deactivated.tsx:103
+msgid "You're in line"
+msgstr "輪到你了"
+
+#: src/screens/Onboarding/StepFinished.tsx:94
+msgid "You're ready to go!"
+msgstr "你已設定完成!"
+
+#: src/components/moderation/ModerationDetailsDialog.tsx:98
+#: src/lib/moderation/useModerationCauseDescription.ts:101
+msgid "You've chosen to hide a word or tag within this post."
+msgstr "您選擇在這則貼文中隱藏詞彙或標籤。"
+
+#: src/view/com/posts/FollowingEndOfFeed.tsx:48
+msgid "You've reached the end of your feed! Find some more accounts to follow."
+msgstr "你已經瀏覽完你的訂閱訊息流啦!跟隨其他帳號吧。"
+
+#: src/screens/Signup/index.tsx:151
+msgid "Your account"
+msgstr "你的帳號"
+
+#: src/view/com/modals/DeleteAccount.tsx:68
+msgid "Your account has been deleted"
+msgstr "你的帳號已刪除"
+
+#: src/view/screens/Settings/ExportCarDialog.tsx:47
+msgid "Your account repository, containing all public data records, can be downloaded as a \"CAR\" file. This file does not include media embeds, such as images, or your private data, which must be fetched separately."
+msgstr "你可以將你的帳號存放庫下載為一個「CAR」檔案。該檔案包含了所有公開的資料紀錄,但不包括嵌入媒體,例如圖片或你的私人資料,目前這些資料必須另外擷取。"
+
+#: src/screens/Signup/StepInfo/index.tsx:123
+msgid "Your birth date"
+msgstr "你的生日"
+
+#: src/view/com/modals/InAppBrowserConsent.tsx:47
+msgid "Your choice will be saved, but can be changed later in settings."
+msgstr "你的選擇將被儲存,但可以稍後在設定中更改。"
+
+#: src/screens/Onboarding/StepFollowingFeed.tsx:62
+msgid "Your default feed is \"Following\""
+msgstr "你的預設訊息流為「跟隨」"
+
+#: src/screens/Login/ForgotPasswordForm.tsx:57
+#: src/screens/Signup/state.ts:227
+#: src/view/com/modals/ChangePassword.tsx:54
+msgid "Your email appears to be invalid."
+msgstr "你的電子郵件地址似乎無效。"
+
+#: src/view/com/modals/ChangeEmail.tsx:125
+msgid "Your email has been updated but not verified. As a next step, please verify your new email."
+msgstr "你的電子郵件地址已更新但尚未驗證。作為下一步,請驗證你的新電子郵件地址。"
+
+#: src/view/com/modals/VerifyEmail.tsx:114
+msgid "Your email has not yet been verified. This is an important security step which we recommend."
+msgstr "你的電子郵件地址尚未驗證。這是一個我們建議的重要安全步驟。"
+
+#: src/view/com/posts/FollowingEmptyState.tsx:47
+msgid "Your following feed is empty! Follow more users to see what's happening."
+msgstr "你的跟隨訊息流是空的!跟隨更多使用者看看發生了什麼事情。"
+
+#: src/screens/Signup/StepHandle.tsx:73
+msgid "Your full handle will be"
+msgstr "你的完整帳號代碼將修改為"
+
+#: src/view/com/modals/ChangeHandle.tsx:271
+msgid "Your full handle will be <0>@{0}0>"
+msgstr "你的完整帳號代碼將修改為 <0>@{0}0>"
+
+#: src/components/dialogs/MutedWords.tsx:220
+msgid "Your muted words"
+msgstr "你的靜音詞"
+
+#: src/view/com/modals/ChangePassword.tsx:157
+msgid "Your password has been changed successfully!"
+msgstr "你的密碼已成功更改!"
+
+#: src/view/com/composer/Composer.tsx:284
+msgid "Your post has been published"
+msgstr "你的貼文已發佈"
+
+#: src/screens/Onboarding/StepFinished.tsx:109
+#: src/view/com/auth/onboarding/WelcomeDesktop.tsx:59
+#: src/view/com/auth/onboarding/WelcomeMobile.tsx:61
+msgid "Your posts, likes, and blocks are public. Mutes are private."
+msgstr "你的貼文、按喜歡和封鎖是公開可見的,而靜音是私人的。"
+
+#: src/view/screens/Settings/index.tsx:136
+msgid "Your profile"
+msgstr "你的個人資料"
+
+#: src/view/com/composer/Composer.tsx:283
+msgid "Your reply has been published"
+msgstr "你的回覆已發佈"
+
+#: src/screens/Signup/index.tsx:153
+msgid "Your user handle"
+msgstr "你的帳號代碼"
diff --git a/src/platform/polyfills.web.ts b/src/platform/polyfills.web.ts
index 0b4a282835..462f65a260 100644
--- a/src/platform/polyfills.web.ts
+++ b/src/platform/polyfills.web.ts
@@ -6,3 +6,32 @@ findLast.shim()
// @ts-ignore whatever typescript wants to complain about here, I dont care about -prf
window.setImmediate = (cb: () => void) => setTimeout(cb, 0)
+
+if (process.env.NODE_ENV !== 'production') {
+ // In development, react-native-web's tries to validate that
+ // text is wrapped into . It doesn't catch all cases but is useful.
+ // Unfortunately, it only does that via console.error so it's easy to miss.
+ // This is a hack to get it showing as a redbox on the web so we catch it early.
+ const realConsoleError = console.error
+ const thrownErrors = new WeakSet()
+ console.error = function consoleErrorWrapper(msgOrError) {
+ if (
+ typeof msgOrError === 'string' &&
+ msgOrError.startsWith('Unexpected text node')
+ ) {
+ if (
+ msgOrError ===
+ 'Unexpected text node: . A text node cannot be a child of a .'
+ ) {
+ // This is due to a stray empty string.
+ // React already handles this fine, so RNW warning is a false positive. Ignore.
+ return
+ }
+ const err = new Error(msgOrError)
+ thrownErrors.add(err)
+ throw err
+ } else if (!thrownErrors.has(msgOrError)) {
+ return realConsoleError.apply(this, arguments as any)
+ }
+ }
+}
diff --git a/src/screens/Deactivated.tsx b/src/screens/Deactivated.tsx
index f4c2014750..7e87973cb4 100644
--- a/src/screens/Deactivated.tsx
+++ b/src/screens/Deactivated.tsx
@@ -147,7 +147,7 @@ export function Deactivated() {
variant="ghost"
size="large"
label={_(msg`Log out`)}
- onPress={logout}>
+ onPress={() => logout('Deactivated')}>
Log out
@@ -176,7 +176,7 @@ export function Deactivated() {
variant="ghost"
size="large"
label={_(msg`Log out`)}
- onPress={logout}>
+ onPress={() => logout('Deactivated')}>
Log out
diff --git a/src/screens/Hashtag.tsx b/src/screens/Hashtag.tsx
index 46452f087e..5388593f14 100644
--- a/src/screens/Hashtag.tsx
+++ b/src/screens/Hashtag.tsx
@@ -1,28 +1,30 @@
import React from 'react'
import {ListRenderItemInfo, Pressable} from 'react-native'
-import {useFocusEffect} from '@react-navigation/native'
-import {useSetMinimalShellMode} from 'state/shell'
-import {ViewHeader} from 'view/com/util/ViewHeader'
-import {NativeStackScreenProps} from '@react-navigation/native-stack'
-import {CommonNavigatorParams} from 'lib/routes/types'
-import {useSearchPostsQuery} from 'state/queries/search-posts'
-import {Post} from 'view/com/post/Post'
import {PostView} from '@atproto/api/dist/client/types/app/bsky/feed/defs'
+import {msg} from '@lingui/macro'
+import {useLingui} from '@lingui/react'
+import {useFocusEffect} from '@react-navigation/native'
+import {NativeStackScreenProps} from '@react-navigation/native-stack'
+
+import {HITSLOP_10} from 'lib/constants'
+import {useInitialNumToRender} from 'lib/hooks/useInitialNumToRender'
+import {CommonNavigatorParams} from 'lib/routes/types'
+import {shareUrl} from 'lib/sharing'
+import {cleanError} from 'lib/strings/errors'
+import {sanitizeHandle} from 'lib/strings/handles'
import {enforceLen} from 'lib/strings/helpers'
+import {isNative} from 'platform/detection'
+import {useSearchPostsQuery} from 'state/queries/search-posts'
+import {useSetMinimalShellMode} from 'state/shell'
+import {Post} from 'view/com/post/Post'
+import {List} from 'view/com/util/List'
+import {ViewHeader} from 'view/com/util/ViewHeader'
+import {ArrowOutOfBox_Stroke2_Corner0_Rounded} from '#/components/icons/ArrowOutOfBox'
import {
ListFooter,
ListHeaderDesktop,
ListMaybePlaceholder,
} from '#/components/Lists'
-import {List} from 'view/com/util/List'
-import {msg} from '@lingui/macro'
-import {useLingui} from '@lingui/react'
-import {sanitizeHandle} from 'lib/strings/handles'
-import {ArrowOutOfBox_Stroke2_Corner0_Rounded} from '#/components/icons/ArrowOutOfBox'
-import {shareUrl} from 'lib/sharing'
-import {HITSLOP_10} from 'lib/constants'
-import {isNative} from 'platform/detection'
-import {useInitialNumToRender} from 'lib/hooks/useInitialNumToRender'
const renderItem = ({item}: ListRenderItemInfo) => {
return
@@ -61,9 +63,8 @@ export default function HashtagScreen({
const {
data,
- isFetching,
+ isFetchingNextPage,
isLoading,
- isRefetching,
isError,
error,
refetch,
@@ -97,9 +98,9 @@ export default function HashtagScreen({
}, [refetch])
const onEndReached = React.useCallback(() => {
- if (isFetching || !hasNextPage || error) return
+ if (isFetchingNextPage || !hasNextPage || error) return
fetchNextPage()
- }, [isFetching, hasNextPage, error, fetchNextPage])
+ }, [isFetchingNextPage, hasNextPage, error, fetchNextPage])
return (
<>
@@ -123,16 +124,16 @@ export default function HashtagScreen({
: undefined
}
/>
-
- {!isLoading && posts.length > 0 && (
-
+ {posts.length < 1 ? (
+
+ ) : (
+
}
diff --git a/src/screens/Login/ChooseAccountForm.tsx b/src/screens/Login/ChooseAccountForm.tsx
new file mode 100644
index 0000000000..134411903d
--- /dev/null
+++ b/src/screens/Login/ChooseAccountForm.tsx
@@ -0,0 +1,84 @@
+import React from 'react'
+import {View} from 'react-native'
+import {msg, Trans} from '@lingui/macro'
+import {useLingui} from '@lingui/react'
+
+import {useAnalytics} from '#/lib/analytics/analytics'
+import {logEvent} from '#/lib/statsig/statsig'
+import {SessionAccount, useSession, useSessionApi} from '#/state/session'
+import {useLoggedOutViewControls} from '#/state/shell/logged-out'
+import * as Toast from '#/view/com/util/Toast'
+import {atoms as a} from '#/alf'
+import {AccountList} from '#/components/AccountList'
+import {Button, ButtonText} from '#/components/Button'
+import * as TextField from '#/components/forms/TextField'
+import {FormContainer} from './FormContainer'
+
+export const ChooseAccountForm = ({
+ onSelectAccount,
+ onPressBack,
+}: {
+ onSelectAccount: (account?: SessionAccount) => void
+ onPressBack: () => void
+}) => {
+ const {track, screen} = useAnalytics()
+ const {_} = useLingui()
+ const {currentAccount} = useSession()
+ const {initSession} = useSessionApi()
+ const {setShowLoggedOut} = useLoggedOutViewControls()
+
+ React.useEffect(() => {
+ screen('Choose Account')
+ }, [screen])
+
+ const onSelect = React.useCallback(
+ async (account: SessionAccount) => {
+ if (account.accessJwt) {
+ if (account.did === currentAccount?.did) {
+ setShowLoggedOut(false)
+ Toast.show(_(msg`Already signed in as @${account.handle}`))
+ } else {
+ await initSession(account)
+ logEvent('account:loggedIn', {
+ logContext: 'ChooseAccountForm',
+ withPassword: false,
+ })
+ track('Sign In', {resumedSession: true})
+ setTimeout(() => {
+ Toast.show(_(msg`Signed in as @${account.handle}`))
+ }, 100)
+ }
+ } else {
+ onSelectAccount(account)
+ }
+ },
+ [currentAccount, track, initSession, onSelectAccount, setShowLoggedOut, _],
+ )
+
+ return (
+ Select account
}>
+
+
+ Sign in as...
+
+ onSelectAccount()}
+ />
+
+
+
+ {_(msg`Back`)}
+
+
+
+
+ )
+}
diff --git a/src/screens/Login/ForgotPasswordForm.tsx b/src/screens/Login/ForgotPasswordForm.tsx
new file mode 100644
index 0000000000..ec30bab4a8
--- /dev/null
+++ b/src/screens/Login/ForgotPasswordForm.tsx
@@ -0,0 +1,184 @@
+import React, {useEffect, useState} from 'react'
+import {ActivityIndicator, Keyboard, View} from 'react-native'
+import {ComAtprotoServerDescribeServer} from '@atproto/api'
+import {BskyAgent} from '@atproto/api'
+import {msg, Trans} from '@lingui/macro'
+import {useLingui} from '@lingui/react'
+import * as EmailValidator from 'email-validator'
+
+import {useAnalytics} from '#/lib/analytics/analytics'
+import {isNetworkError} from '#/lib/strings/errors'
+import {cleanError} from '#/lib/strings/errors'
+import {logger} from '#/logger'
+import {atoms as a, useTheme} from '#/alf'
+import {Button, ButtonText} from '#/components/Button'
+import {FormError} from '#/components/forms/FormError'
+import {HostingProvider} from '#/components/forms/HostingProvider'
+import * as TextField from '#/components/forms/TextField'
+import {At_Stroke2_Corner0_Rounded as At} from '#/components/icons/At'
+import {Text} from '#/components/Typography'
+import {FormContainer} from './FormContainer'
+
+type ServiceDescription = ComAtprotoServerDescribeServer.OutputSchema
+
+export const ForgotPasswordForm = ({
+ error,
+ serviceUrl,
+ serviceDescription,
+ setError,
+ setServiceUrl,
+ onPressBack,
+ onEmailSent,
+}: {
+ error: string
+ serviceUrl: string
+ serviceDescription: ServiceDescription | undefined
+ setError: (v: string) => void
+ setServiceUrl: (v: string) => void
+ onPressBack: () => void
+ onEmailSent: () => void
+}) => {
+ const t = useTheme()
+ const [isProcessing, setIsProcessing] = useState(false)
+ const [email, setEmail] = useState('')
+ const {screen} = useAnalytics()
+ const {_} = useLingui()
+
+ useEffect(() => {
+ screen('Signin:ForgotPassword')
+ }, [screen])
+
+ const onPressSelectService = React.useCallback(() => {
+ Keyboard.dismiss()
+ }, [])
+
+ const onPressNext = async () => {
+ if (!EmailValidator.validate(email)) {
+ return setError(_(msg`Your email appears to be invalid.`))
+ }
+
+ setError('')
+ setIsProcessing(true)
+
+ try {
+ const agent = new BskyAgent({service: serviceUrl})
+ await agent.com.atproto.server.requestPasswordReset({email})
+ onEmailSent()
+ } catch (e: any) {
+ const errMsg = e.toString()
+ logger.warn('Failed to request password reset', {error: e})
+ setIsProcessing(false)
+ if (isNetworkError(e)) {
+ setError(
+ _(
+ msg`Unable to contact your service. Please check your Internet connection.`,
+ ),
+ )
+ } else {
+ setError(cleanError(errMsg))
+ }
+ }
+ }
+
+ return (
+ Reset password }>
+
+
+ Hosting provider
+
+
+
+
+
+ Email address
+
+
+
+
+
+
+
+
+
+ Enter the email you used to create your account. We'll send you a
+ "reset code" so you can set a new password.
+
+
+
+
+
+
+
+
+ Back
+
+
+
+ {!serviceDescription || isProcessing ? (
+
+ ) : (
+
+
+ Next
+
+
+ )}
+ {!serviceDescription || isProcessing ? (
+
+ Processing...
+
+ ) : undefined}
+
+
+
+
+ Already have a code?
+
+
+
+
+ )
+}
diff --git a/src/screens/Login/FormContainer.tsx b/src/screens/Login/FormContainer.tsx
new file mode 100644
index 0000000000..d5e075bdb1
--- /dev/null
+++ b/src/screens/Login/FormContainer.tsx
@@ -0,0 +1,32 @@
+import React from 'react'
+import {type StyleProp, View, type ViewStyle} from 'react-native'
+
+import {atoms as a, useBreakpoints, useTheme} from '#/alf'
+import {Text} from '#/components/Typography'
+
+export function FormContainer({
+ testID,
+ titleText,
+ children,
+ style,
+}: {
+ testID?: string
+ titleText?: React.ReactNode
+ children: React.ReactNode
+ style?: StyleProp
+}) {
+ const {gtMobile} = useBreakpoints()
+ const t = useTheme()
+ return (
+
+ {titleText && !gtMobile && (
+
+ {titleText}
+
+ )}
+ {children}
+
+ )
+}
diff --git a/src/screens/Login/LoginForm.tsx b/src/screens/Login/LoginForm.tsx
new file mode 100644
index 0000000000..711619e85c
--- /dev/null
+++ b/src/screens/Login/LoginForm.tsx
@@ -0,0 +1,269 @@
+import React, {useRef, useState} from 'react'
+import {
+ ActivityIndicator,
+ Keyboard,
+ LayoutAnimation,
+ TextInput,
+ View,
+} from 'react-native'
+import {ComAtprotoServerDescribeServer} from '@atproto/api'
+import {msg, Trans} from '@lingui/macro'
+import {useLingui} from '@lingui/react'
+
+import {useAnalytics} from '#/lib/analytics/analytics'
+import {isNetworkError} from '#/lib/strings/errors'
+import {cleanError} from '#/lib/strings/errors'
+import {createFullHandle} from '#/lib/strings/handles'
+import {logger} from '#/logger'
+import {useSessionApi} from '#/state/session'
+import {atoms as a, useTheme} from '#/alf'
+import {Button, ButtonIcon, ButtonText} from '#/components/Button'
+import {FormError} from '#/components/forms/FormError'
+import {HostingProvider} from '#/components/forms/HostingProvider'
+import * as TextField from '#/components/forms/TextField'
+import {At_Stroke2_Corner0_Rounded as At} from '#/components/icons/At'
+import {Lock_Stroke2_Corner0_Rounded as Lock} from '#/components/icons/Lock'
+import {Loader} from '#/components/Loader'
+import {Text} from '#/components/Typography'
+import {FormContainer} from './FormContainer'
+
+type ServiceDescription = ComAtprotoServerDescribeServer.OutputSchema
+
+export const LoginForm = ({
+ error,
+ serviceUrl,
+ serviceDescription,
+ initialHandle,
+ setError,
+ setServiceUrl,
+ onPressRetryConnect,
+ onPressBack,
+ onPressForgotPassword,
+}: {
+ error: string
+ serviceUrl: string
+ serviceDescription: ServiceDescription | undefined
+ initialHandle: string
+ setError: (v: string) => void
+ setServiceUrl: (v: string) => void
+ onPressRetryConnect: () => void
+ onPressBack: () => void
+ onPressForgotPassword: () => void
+}) => {
+ const {track} = useAnalytics()
+ const t = useTheme()
+ const [isProcessing, setIsProcessing] = useState(false)
+ const [identifier, setIdentifier] = useState(initialHandle)
+ const [password, setPassword] = useState('')
+ const passwordInputRef = useRef(null)
+ const {_} = useLingui()
+ const {login} = useSessionApi()
+
+ const onPressSelectService = React.useCallback(() => {
+ Keyboard.dismiss()
+ track('Signin:PressedSelectService')
+ }, [track])
+
+ const onPressNext = async () => {
+ if (isProcessing) return
+ Keyboard.dismiss()
+ LayoutAnimation.configureNext(LayoutAnimation.Presets.easeInEaseOut)
+ setError('')
+ setIsProcessing(true)
+
+ try {
+ // try to guess the handle if the user just gave their own username
+ let fullIdent = identifier
+ if (
+ !identifier.includes('@') && // not an email
+ !identifier.includes('.') && // not a domain
+ serviceDescription &&
+ serviceDescription.availableUserDomains.length > 0
+ ) {
+ let matched = false
+ for (const domain of serviceDescription.availableUserDomains) {
+ if (fullIdent.endsWith(domain)) {
+ matched = true
+ }
+ }
+ if (!matched) {
+ fullIdent = createFullHandle(
+ identifier,
+ serviceDescription.availableUserDomains[0],
+ )
+ }
+ }
+
+ // TODO remove double login
+ await login(
+ {
+ service: serviceUrl,
+ identifier: fullIdent,
+ password,
+ },
+ 'LoginForm',
+ )
+ } catch (e: any) {
+ const errMsg = e.toString()
+ LayoutAnimation.configureNext(LayoutAnimation.Presets.easeInEaseOut)
+ setIsProcessing(false)
+ if (errMsg.includes('Authentication Required')) {
+ logger.debug('Failed to login due to invalid credentials', {
+ error: errMsg,
+ })
+ setError(_(msg`Invalid username or password`))
+ } else if (isNetworkError(e)) {
+ logger.warn('Failed to login due to network error', {error: errMsg})
+ setError(
+ _(
+ msg`Unable to contact your service. Please check your Internet connection.`,
+ ),
+ )
+ } else {
+ logger.warn('Failed to login', {error: errMsg})
+ setError(cleanError(errMsg))
+ }
+ }
+ }
+
+ const isReady = !!serviceDescription && !!identifier && !!password
+ return (
+ Sign in }>
+
+
+ Hosting provider
+
+
+
+
+
+ Account
+
+
+
+
+ {
+ passwordInputRef.current?.focus()
+ }}
+ blurOnSubmit={false} // prevents flickering due to onSubmitEditing going to next field
+ value={identifier}
+ onChangeText={str =>
+ setIdentifier((str || '').toLowerCase().trim())
+ }
+ editable={!isProcessing}
+ accessibilityHint={_(
+ msg`Input the username or email address you used at signup`,
+ )}
+ />
+
+
+
+
+
+
+
+ Forgot?
+
+
+
+
+
+
+
+
+
+ Back
+
+
+
+ {!serviceDescription && error ? (
+
+
+ Retry
+
+
+ ) : !serviceDescription ? (
+ <>
+
+
+ Connecting...
+
+ >
+ ) : isReady ? (
+
+
+ Next
+
+ {isProcessing && }
+
+ ) : undefined}
+
+
+ )
+}
diff --git a/src/screens/Login/PasswordUpdatedForm.tsx b/src/screens/Login/PasswordUpdatedForm.tsx
new file mode 100644
index 0000000000..5407f3f1e3
--- /dev/null
+++ b/src/screens/Login/PasswordUpdatedForm.tsx
@@ -0,0 +1,50 @@
+import React, {useEffect} from 'react'
+import {View} from 'react-native'
+import {msg, Trans} from '@lingui/macro'
+import {useLingui} from '@lingui/react'
+
+import {useAnalytics} from '#/lib/analytics/analytics'
+import {atoms as a, useBreakpoints} from '#/alf'
+import {Button, ButtonText} from '#/components/Button'
+import {Text} from '#/components/Typography'
+import {FormContainer} from './FormContainer'
+
+export const PasswordUpdatedForm = ({
+ onPressNext,
+}: {
+ onPressNext: () => void
+}) => {
+ const {screen} = useAnalytics()
+ const {_} = useLingui()
+ const {gtMobile} = useBreakpoints()
+
+ useEffect(() => {
+ screen('Signin:PasswordUpdatedForm')
+ }, [screen])
+
+ return (
+
+
+ Password updated!
+
+
+ You can now sign in with your new password.
+
+
+
+
+ Okay
+
+
+
+
+ )
+}
diff --git a/src/screens/Login/ScreenTransition.tsx b/src/screens/Login/ScreenTransition.tsx
new file mode 100644
index 0000000000..ab0a223678
--- /dev/null
+++ b/src/screens/Login/ScreenTransition.tsx
@@ -0,0 +1,10 @@
+import React from 'react'
+import Animated, {FadeInRight, FadeOutLeft} from 'react-native-reanimated'
+
+export function ScreenTransition({children}: {children: React.ReactNode}) {
+ return (
+
+ {children}
+
+ )
+}
diff --git a/src/screens/Login/ScreenTransition.web.tsx b/src/screens/Login/ScreenTransition.web.tsx
new file mode 100644
index 0000000000..4583720aa8
--- /dev/null
+++ b/src/screens/Login/ScreenTransition.web.tsx
@@ -0,0 +1 @@
+export {Fragment as ScreenTransition} from 'react'
diff --git a/src/screens/Login/SetNewPasswordForm.tsx b/src/screens/Login/SetNewPasswordForm.tsx
new file mode 100644
index 0000000000..88f7ec5416
--- /dev/null
+++ b/src/screens/Login/SetNewPasswordForm.tsx
@@ -0,0 +1,192 @@
+import React, {useEffect, useState} from 'react'
+import {ActivityIndicator, View} from 'react-native'
+import {BskyAgent} from '@atproto/api'
+import {msg, Trans} from '@lingui/macro'
+import {useLingui} from '@lingui/react'
+
+import {useAnalytics} from '#/lib/analytics/analytics'
+import {isNetworkError} from '#/lib/strings/errors'
+import {cleanError} from '#/lib/strings/errors'
+import {checkAndFormatResetCode} from '#/lib/strings/password'
+import {logger} from '#/logger'
+import {atoms as a, useTheme} from '#/alf'
+import {Button, ButtonText} from '#/components/Button'
+import {FormError} from '#/components/forms/FormError'
+import * as TextField from '#/components/forms/TextField'
+import {Lock_Stroke2_Corner0_Rounded as Lock} from '#/components/icons/Lock'
+import {Ticket_Stroke2_Corner0_Rounded as Ticket} from '#/components/icons/Ticket'
+import {Text} from '#/components/Typography'
+import {FormContainer} from './FormContainer'
+
+export const SetNewPasswordForm = ({
+ error,
+ serviceUrl,
+ setError,
+ onPressBack,
+ onPasswordSet,
+}: {
+ error: string
+ serviceUrl: string
+ setError: (v: string) => void
+ onPressBack: () => void
+ onPasswordSet: () => void
+}) => {
+ const {screen} = useAnalytics()
+ const {_} = useLingui()
+ const t = useTheme()
+
+ useEffect(() => {
+ screen('Signin:SetNewPasswordForm')
+ }, [screen])
+
+ const [isProcessing, setIsProcessing] = useState(false)
+ const [resetCode, setResetCode] = useState('')
+ const [password, setPassword] = useState('')
+
+ const onPressNext = async () => {
+ // Check that the code is correct. We do this again just incase the user enters the code after their pw and we
+ // don't get to call onBlur first
+ const formattedCode = checkAndFormatResetCode(resetCode)
+ // TODO Better password strength check
+ if (!formattedCode || !password) {
+ setError(
+ _(
+ msg`You have entered an invalid code. It should look like XXXXX-XXXXX.`,
+ ),
+ )
+ return
+ }
+
+ setError('')
+ setIsProcessing(true)
+
+ try {
+ const agent = new BskyAgent({service: serviceUrl})
+ await agent.com.atproto.server.resetPassword({
+ token: formattedCode,
+ password,
+ })
+ onPasswordSet()
+ } catch (e: any) {
+ const errMsg = e.toString()
+ logger.warn('Failed to set new password', {error: e})
+ setIsProcessing(false)
+ if (isNetworkError(e)) {
+ setError(
+ _(
+ msg`Unable to contact your service. Please check your Internet connection.`,
+ ),
+ )
+ } else {
+ setError(cleanError(errMsg))
+ }
+ }
+ }
+
+ const onBlur = () => {
+ const formattedCode = checkAndFormatResetCode(resetCode)
+ if (!formattedCode) {
+ setError(
+ _(
+ msg`You have entered an invalid code. It should look like XXXXX-XXXXX.`,
+ ),
+ )
+ return
+ }
+ setResetCode(formattedCode)
+ }
+
+ return (
+ Set new password }>
+
+
+ You will receive an email with a "reset code." Enter that code here,
+ then enter your new password.
+
+
+
+
+ Reset code
+
+
+ setError('')}
+ onBlur={onBlur}
+ editable={!isProcessing}
+ accessibilityHint={_(
+ msg`Input code sent to your email for password reset`,
+ )}
+ />
+
+
+
+
+ New password
+
+
+
+
+
+
+
+
+
+
+
+ Back
+
+
+
+ {isProcessing ? (
+
+ ) : (
+
+
+ Next
+
+
+ )}
+ {isProcessing ? (
+
+ Updating...
+
+ ) : undefined}
+
+
+ )
+}
diff --git a/src/screens/Login/index.tsx b/src/screens/Login/index.tsx
new file mode 100644
index 0000000000..1fce63d298
--- /dev/null
+++ b/src/screens/Login/index.tsx
@@ -0,0 +1,178 @@
+import React from 'react'
+import {KeyboardAvoidingView} from 'react-native'
+import {LayoutAnimationConfig} from 'react-native-reanimated'
+import {msg} from '@lingui/macro'
+import {useLingui} from '@lingui/react'
+
+import {useAnalytics} from '#/lib/analytics/analytics'
+import {DEFAULT_SERVICE} from '#/lib/constants'
+import {logger} from '#/logger'
+import {useServiceQuery} from '#/state/queries/service'
+import {SessionAccount, useSession} from '#/state/session'
+import {useLoggedOutView} from '#/state/shell/logged-out'
+import {LoggedOutLayout} from '#/view/com/util/layouts/LoggedOutLayout'
+import {ForgotPasswordForm} from '#/screens/Login/ForgotPasswordForm'
+import {LoginForm} from '#/screens/Login/LoginForm'
+import {PasswordUpdatedForm} from '#/screens/Login/PasswordUpdatedForm'
+import {SetNewPasswordForm} from '#/screens/Login/SetNewPasswordForm'
+import {atoms as a} from '#/alf'
+import {ChooseAccountForm} from './ChooseAccountForm'
+import {ScreenTransition} from './ScreenTransition'
+
+enum Forms {
+ Login,
+ ChooseAccount,
+ ForgotPassword,
+ SetNewPassword,
+ PasswordUpdated,
+}
+
+export const Login = ({onPressBack}: {onPressBack: () => void}) => {
+ const {_} = useLingui()
+
+ const {accounts} = useSession()
+ const {track} = useAnalytics()
+ const {requestedAccountSwitchTo} = useLoggedOutView()
+ const requestedAccount = accounts.find(
+ acc => acc.did === requestedAccountSwitchTo,
+ )
+
+ const [error, setError] = React.useState('')
+ const [serviceUrl, setServiceUrl] = React.useState(
+ requestedAccount?.service || DEFAULT_SERVICE,
+ )
+ const [initialHandle, setInitialHandle] = React.useState(
+ requestedAccount?.handle || '',
+ )
+ const [currentForm, setCurrentForm] = React.useState(
+ requestedAccount
+ ? Forms.Login
+ : accounts.length
+ ? Forms.ChooseAccount
+ : Forms.Login,
+ )
+
+ const {
+ data: serviceDescription,
+ error: serviceError,
+ refetch: refetchService,
+ } = useServiceQuery(serviceUrl)
+
+ const onSelectAccount = (account?: SessionAccount) => {
+ if (account?.service) {
+ setServiceUrl(account.service)
+ }
+ setInitialHandle(account?.handle || '')
+ setCurrentForm(Forms.Login)
+ }
+
+ const gotoForm = (form: Forms) => {
+ setError('')
+ setCurrentForm(form)
+ }
+
+ React.useEffect(() => {
+ if (serviceError) {
+ setError(
+ _(
+ msg`Unable to contact your service. Please check your Internet connection.`,
+ ),
+ )
+ logger.warn(`Failed to fetch service description for ${serviceUrl}`, {
+ error: String(serviceError),
+ })
+ } else {
+ setError('')
+ }
+ }, [serviceError, serviceUrl, _])
+
+ const onPressForgotPassword = () => {
+ track('Signin:PressedForgotPassword')
+ setCurrentForm(Forms.ForgotPassword)
+ }
+
+ let content = null
+ let title = ''
+ let description = ''
+
+ switch (currentForm) {
+ case Forms.Login:
+ title = _(msg`Sign in`)
+ description = _(msg`Enter your username and password`)
+ content = (
+
+ accounts.length ? gotoForm(Forms.ChooseAccount) : onPressBack()
+ }
+ onPressForgotPassword={onPressForgotPassword}
+ onPressRetryConnect={refetchService}
+ />
+ )
+ break
+ case Forms.ChooseAccount:
+ title = _(msg`Sign in`)
+ description = _(msg`Select from an existing account`)
+ content = (
+
+ )
+ break
+ case Forms.ForgotPassword:
+ title = _(msg`Forgot Password`)
+ description = _(msg`Let's get your password reset!`)
+ content = (
+ gotoForm(Forms.Login)}
+ onEmailSent={() => gotoForm(Forms.SetNewPassword)}
+ />
+ )
+ break
+ case Forms.SetNewPassword:
+ title = _(msg`Forgot Password`)
+ description = _(msg`Let's get your password reset!`)
+ content = (
+ gotoForm(Forms.ForgotPassword)}
+ onPasswordSet={() => gotoForm(Forms.PasswordUpdated)}
+ />
+ )
+ break
+ case Forms.PasswordUpdated:
+ title = _(msg`Password updated`)
+ description = _(msg`You can now sign in with your new password.`)
+ content = (
+ gotoForm(Forms.Login)} />
+ )
+ break
+ }
+
+ return (
+
+
+
+ {content}
+
+
+
+ )
+}
diff --git a/src/screens/Moderation/index.tsx b/src/screens/Moderation/index.tsx
index d73823fadf..a874e745cc 100644
--- a/src/screens/Moderation/index.tsx
+++ b/src/screens/Moderation/index.tsx
@@ -1,51 +1,49 @@
import React from 'react'
import {View} from 'react-native'
-import {useFocusEffect} from '@react-navigation/native'
-import {ComAtprotoLabelDefs} from '@atproto/api'
-import {Trans, msg} from '@lingui/macro'
-import {useLingui} from '@lingui/react'
-import {LABELS} from '@atproto/api'
import {useSafeAreaFrame} from 'react-native-safe-area-context'
+import {ComAtprotoLabelDefs} from '@atproto/api'
+import {LABELS} from '@atproto/api'
+import {msg, Trans} from '@lingui/macro'
+import {useLingui} from '@lingui/react'
+import {useFocusEffect} from '@react-navigation/native'
-import {NativeStackScreenProps, CommonNavigatorParams} from '#/lib/routes/types'
-import {CenteredView} from '#/view/com/util/Views'
-import {ViewHeader} from '#/view/com/util/ViewHeader'
-import {useAnalytics} from 'lib/analytics/analytics'
-import {useSetMinimalShellMode} from '#/state/shell'
-import {useSession} from '#/state/session'
+import {getLabelingServiceTitle} from '#/lib/moderation'
+import {CommonNavigatorParams, NativeStackScreenProps} from '#/lib/routes/types'
+import {logger} from '#/logger'
+import {
+ useMyLabelersQuery,
+ usePreferencesQuery,
+ UsePreferencesQueryResponse,
+ usePreferencesSetAdultContentMutation,
+} from '#/state/queries/preferences'
import {
useProfileQuery,
useProfileUpdateMutation,
} from '#/state/queries/profile'
+import {useSession} from '#/state/session'
+import {useSetMinimalShellMode} from '#/state/shell'
+import {useAnalytics} from 'lib/analytics/analytics'
+import {ViewHeader} from '#/view/com/util/ViewHeader'
+import {CenteredView} from '#/view/com/util/Views'
import {ScrollView} from '#/view/com/util/Views'
-
-import {
- UsePreferencesQueryResponse,
- useMyLabelersQuery,
- usePreferencesQuery,
- usePreferencesSetAdultContentMutation,
-} from '#/state/queries/preferences'
-
-import {getLabelingServiceTitle} from '#/lib/moderation'
-import {logger} from '#/logger'
-import {useTheme, atoms as a, useBreakpoints, ViewStyleProp} from '#/alf'
+import {atoms as a, useBreakpoints, useTheme, ViewStyleProp} from '#/alf'
+import {Button, ButtonText} from '#/components/Button'
+import * as Dialog from '#/components/Dialog'
+import {BirthDateSettingsDialog} from '#/components/dialogs/BirthDateSettings'
+import {useGlobalDialogsControlContext} from '#/components/dialogs/Context'
import {Divider} from '#/components/Divider'
+import * as Toggle from '#/components/forms/Toggle'
+import {ChevronRight_Stroke2_Corner0_Rounded as ChevronRight} from '#/components/icons/Chevron'
import {CircleBanSign_Stroke2_Corner0_Rounded as CircleBanSign} from '#/components/icons/CircleBanSign'
+import {Props as SVGIconProps} from '#/components/icons/common'
+import {Filter_Stroke2_Corner0_Rounded as Filter} from '#/components/icons/Filter'
import {Group3_Stroke2_Corner0_Rounded as Group} from '#/components/icons/Group'
import {Person_Stroke2_Corner0_Rounded as Person} from '#/components/icons/Person'
-import {ChevronRight_Stroke2_Corner0_Rounded as ChevronRight} from '#/components/icons/Chevron'
-import {Filter_Stroke2_Corner0_Rounded as Filter} from '#/components/icons/Filter'
-import {Text} from '#/components/Typography'
-import * as Toggle from '#/components/forms/Toggle'
-import {InlineLink, Link} from '#/components/Link'
-import {Button, ButtonText} from '#/components/Button'
-import {Loader} from '#/components/Loader'
import * as LabelingService from '#/components/LabelingServiceCard'
-import {GlobalModerationLabelPref} from '#/components/moderation/GlobalModerationLabelPref'
-import {useGlobalDialogsControlContext} from '#/components/dialogs/Context'
-import {Props as SVGIconProps} from '#/components/icons/common'
-import {BirthDateSettingsDialog} from '#/components/dialogs/BirthDateSettings'
-import * as Dialog from '#/components/Dialog'
+import {InlineLinkText, Link} from '#/components/Link'
+import {Loader} from '#/components/Loader'
+import {GlobalLabelPreference} from '#/components/moderation/LabelPreference'
+import {Text} from '#/components/Typography'
function ErrorState({error}: {error: string}) {
const t = useTheme()
@@ -352,17 +350,17 @@ export function ModerationScreenInner({
)}
{!isUnderage && adultContentEnabled && (
<>
-
+
-
+
-
>
)}
-
+
@@ -520,11 +518,11 @@ function PwiOptOut() {
msg`Discourage apps from showing my account to logged-out users`,
)}>
-
+
Discourage apps from showing my account to logged-out users
-
+
{updateProfile.isPending && }
@@ -547,9 +545,9 @@ function PwiOptOut() {
-
+
Learn more about what is public on Bluesky.
-
+
)
diff --git a/src/screens/Onboarding/Layout.tsx b/src/screens/Onboarding/Layout.tsx
index 0cb74bfbf2..4a8cfca800 100644
--- a/src/screens/Onboarding/Layout.tsx
+++ b/src/screens/Onboarding/Layout.tsx
@@ -1,29 +1,27 @@
import React from 'react'
import {View} from 'react-native'
import {useSafeAreaInsets} from 'react-native-safe-area-context'
-import {useLingui} from '@lingui/react'
import {msg} from '@lingui/macro'
+import {useLingui} from '@lingui/react'
-import {IS_DEV} from '#/env'
import {isWeb} from '#/platform/detection'
import {useOnboardingDispatch} from '#/state/shell'
-
-import {
- useTheme,
- atoms as a,
- useBreakpoints,
- web,
- native,
- flatten,
- TextStyleProp,
-} from '#/alf'
-import {P, leading, Text} from '#/components/Typography'
-import {ChevronLeft_Stroke2_Corner0_Rounded as ChevronLeft} from '#/components/icons/Chevron'
-import {Button, ButtonIcon} from '#/components/Button'
import {ScrollView} from '#/view/com/util/Views'
-import {createPortalGroup} from '#/components/Portal'
-
import {Context} from '#/screens/Onboarding/state'
+import {
+ atoms as a,
+ flatten,
+ native,
+ TextStyleProp,
+ useBreakpoints,
+ useTheme,
+ web,
+} from '#/alf'
+import {Button, ButtonIcon, ButtonText} from '#/components/Button'
+import {ChevronLeft_Stroke2_Corner0_Rounded as ChevronLeft} from '#/components/icons/Chevron'
+import {createPortalGroup} from '#/components/Portal'
+import {leading, P, Text} from '#/components/Typography'
+import {IS_DEV} from '#/env'
const COL_WIDTH = 500
@@ -75,7 +73,7 @@ export function Layout({children}: React.PropsWithChildren<{}>) {
onPress={() => onboardDispatch({type: 'skip'})}
// DEV ONLY
label="Clear onboarding state">
- Clear
+ Clear
)}
@@ -203,7 +201,7 @@ export function Layout({children}: React.PropsWithChildren<{}>) {
)
}
-export function Title({
+export function TitleText({
children,
style,
}: React.PropsWithChildren) {
@@ -223,7 +221,7 @@ export function Title({
)
}
-export function Description({
+export function DescriptionText({
children,
style,
}: React.PropsWithChildren) {
diff --git a/src/screens/Onboarding/StepAlgoFeeds/FeedCard.tsx b/src/screens/Onboarding/StepAlgoFeeds/FeedCard.tsx
index 1123f26755..06b5a145af 100644
--- a/src/screens/Onboarding/StepAlgoFeeds/FeedCard.tsx
+++ b/src/screens/Onboarding/StepAlgoFeeds/FeedCard.tsx
@@ -1,18 +1,17 @@
import React from 'react'
import {View} from 'react-native'
-import LinearGradient from 'react-native-linear-gradient'
import {Image} from 'expo-image'
-import {useLingui} from '@lingui/react'
+import {LinearGradient} from 'expo-linear-gradient'
import {msg} from '@lingui/macro'
+import {useLingui} from '@lingui/react'
-import {useTheme, atoms as a} from '#/alf'
-import * as Toggle from '#/components/forms/Toggle'
-import {useFeedSourceInfoQuery, FeedSourceInfo} from '#/state/queries/feed'
-import {Text} from '#/components/Typography'
-import {RichText} from '#/components/RichText'
-
-import {Check_Stroke2_Corner0_Rounded as Check} from '#/components/icons/Check'
+import {FeedSourceInfo, useFeedSourceInfoQuery} from '#/state/queries/feed'
import {FeedConfig} from '#/screens/Onboarding/StepAlgoFeeds'
+import {atoms as a, useTheme} from '#/alf'
+import * as Toggle from '#/components/forms/Toggle'
+import {Check_Stroke2_Corner0_Rounded as Check} from '#/components/icons/Check'
+import {RichText} from '#/components/RichText'
+import {Text} from '#/components/Typography'
function PrimaryFeedCardInner({
feed,
diff --git a/src/screens/Onboarding/StepAlgoFeeds/index.tsx b/src/screens/Onboarding/StepAlgoFeeds/index.tsx
index 6c7f060a7a..cc24958e39 100644
--- a/src/screens/Onboarding/StepAlgoFeeds/index.tsx
+++ b/src/screens/Onboarding/StepAlgoFeeds/index.tsx
@@ -1,26 +1,26 @@
import React from 'react'
import {View} from 'react-native'
-import {useLingui} from '@lingui/react'
import {msg, Trans} from '@lingui/macro'
+import {useLingui} from '@lingui/react'
-import {IS_PROD} from '#/env'
-import {atoms as a, tokens, useBreakpoints, useTheme} from '#/alf'
-import {ChevronRight_Stroke2_Corner0_Rounded as ChevronRight} from '#/components/icons/Chevron'
+import {useAnalytics} from '#/lib/analytics/analytics'
+import {logEvent} from '#/lib/statsig/statsig'
+import {
+ DescriptionText,
+ OnboardingControls,
+ TitleText,
+} from '#/screens/Onboarding/Layout'
+import {Context} from '#/screens/Onboarding/state'
+import {FeedCard} from '#/screens/Onboarding/StepAlgoFeeds/FeedCard'
+import {atoms as a, tokens, useTheme, useBreakpoints} from '#/alf'
import {Button, ButtonIcon, ButtonText} from '#/components/Button'
import * as Toggle from '#/components/forms/Toggle'
-import {Text} from '#/components/Typography'
-import {Loader} from '#/components/Loader'
-import {ListSparkle_Stroke2_Corner0_Rounded as ListSparkle} from '#/components/icons/ListSparkle'
-import {useAnalytics} from '#/lib/analytics/analytics'
-
-import {Context} from '#/screens/Onboarding/state'
-import {
- Title,
- Description,
- OnboardingControls,
-} from '#/screens/Onboarding/Layout'
-import {FeedCard} from '#/screens/Onboarding/StepAlgoFeeds/FeedCard'
import {IconCircle} from '#/components/IconCircle'
+import {ChevronRight_Stroke2_Corner0_Rounded as ChevronRight} from '#/components/icons/Chevron'
+import {ListSparkle_Stroke2_Corner0_Rounded as ListSparkle} from '#/components/icons/ListSparkle'
+import {Loader} from '#/components/Loader'
+import {Text} from '#/components/Typography'
+import {IS_PROD} from '#/env'
export type FeedConfig = {
default: boolean
@@ -34,11 +34,6 @@ export const PRIMARY_FEEDS: FeedConfig[] = [
uri: 'at://did:plc:z72i7hdynmk6r22z27h6tvur/app.bsky.feed.generator/whats-hot',
gradient: tokens.gradients.midnight,
},
- {
- default: IS_PROD, // these feeds are only available in prod
- uri: 'at://did:plc:wqowuobffl66jv3kpsvo7ak4/app.bsky.feed.generator/the-algorithm',
- gradient: tokens.gradients.midnight,
- },
]
const SECONDARY_FEEDS: FeedConfig[] = [
@@ -90,6 +85,12 @@ export function StepAlgoFeeds() {
selectedSecondaryFeeds: secondaryFeedUris,
selectedSecondaryFeedsLength: secondaryFeedUris.length,
})
+ logEvent('onboarding:algoFeeds:nextPressed', {
+ selectedPrimaryFeeds: primaryFeedUris,
+ selectedPrimaryFeedsLength: primaryFeedUris.length,
+ selectedSecondaryFeeds: secondaryFeedUris,
+ selectedSecondaryFeedsLength: secondaryFeedUris.length,
+ })
}, [primaryFeedUris, secondaryFeedUris, dispatch, track])
React.useEffect(() => {
@@ -100,15 +101,15 @@ export function StepAlgoFeeds() {
-
+
Choose your main feeds
-
-
+
+
Custom feeds built by the community bring you new experiences and help
you find the content you love.
-
+
We recommend our "Discover" feed:
-
- We also think you'll like "For You" by Skygaze:
-
-
{
await getAgent().setInterestsPref({tags: selectedInterests})
@@ -98,7 +101,8 @@ export function StepFinished() {
onboardDispatch({type: 'finish'})
track('OnboardingV2:StepFinished:End')
track('OnboardingV2:Complete')
- }, [dispatch, onboardDispatch, saveFeeds, state, track])
+ logEvent('onboarding:finished:nextPressed', {})
+ }, [state, dispatch, onboardDispatch, setSaving, saveFeeds, track])
React.useEffect(() => {
track('OnboardingV2:StepFinished:Start')
@@ -108,12 +112,12 @@ export function StepFinished() {
-
+
You're ready to go!
-
-
+
+
We hope you have a wonderful time. Remember, Bluesky is:
-
+
diff --git a/src/screens/Onboarding/StepFollowingFeed.tsx b/src/screens/Onboarding/StepFollowingFeed.tsx
index 385c30a0b3..525af014c7 100644
--- a/src/screens/Onboarding/StepFollowingFeed.tsx
+++ b/src/screens/Onboarding/StepFollowingFeed.tsx
@@ -1,28 +1,28 @@
import React from 'react'
import {View} from 'react-native'
-import {useLingui} from '@lingui/react'
import {msg, Trans} from '@lingui/macro'
+import {useLingui} from '@lingui/react'
-import {atoms as a, useBreakpoints} from '#/alf'
-import {ChevronRight_Stroke2_Corner0_Rounded as ChevronRight} from '#/components/icons/Chevron'
-import {FilterTimeline_Stroke2_Corner0_Rounded as FilterTimeline} from '#/components/icons/FilterTimeline'
-import {Button, ButtonIcon, ButtonText} from '#/components/Button'
-import {Text} from '#/components/Typography'
-import {Divider} from '#/components/Divider'
-import * as Toggle from '#/components/forms/Toggle'
import {useAnalytics} from '#/lib/analytics/analytics'
-
-import {Context} from '#/screens/Onboarding/state'
-import {
- Title,
- Description,
- OnboardingControls,
-} from '#/screens/Onboarding/Layout'
+import {logEvent} from '#/lib/statsig/statsig'
import {
usePreferencesQuery,
useSetFeedViewPreferencesMutation,
} from 'state/queries/preferences'
+import {
+ DescriptionText,
+ OnboardingControls,
+ TitleText,
+} from '#/screens/Onboarding/Layout'
+import {Context} from '#/screens/Onboarding/state'
+import {atoms as a, useBreakpoints} from '#/alf'
+import {Button, ButtonIcon, ButtonText} from '#/components/Button'
+import {Divider} from '#/components/Divider'
+import * as Toggle from '#/components/forms/Toggle'
import {IconCircle} from '#/components/IconCircle'
+import {ChevronRight_Stroke2_Corner0_Rounded as ChevronRight} from '#/components/icons/Chevron'
+import {FilterTimeline_Stroke2_Corner0_Rounded as FilterTimeline} from '#/components/icons/FilterTimeline'
+import {Text} from '#/components/Typography'
export function StepFollowingFeed() {
const {_} = useLingui()
@@ -47,6 +47,7 @@ export function StepFollowingFeed() {
const onContinue = React.useCallback(() => {
dispatch({type: 'next'})
track('OnboardingV2:StepFollowingFeed:End')
+ logEvent('onboarding:followingFeed:nextPressed', {})
}, [track, dispatch])
React.useEffect(() => {
@@ -58,12 +59,12 @@ export function StepFollowingFeed() {
-
+
Your default feed is "Following"
-
-
+
+
It shows posts from the people you follow as they happen.
-
+
-
+
You can change these settings later.
-
+
- {title}
- {description}
+ {title}
+ {description}
{isLoading ? (
diff --git a/src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx b/src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx
index aaacaea0a4..7563bece10 100644
--- a/src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx
+++ b/src/screens/Onboarding/StepModeration/AdultContentEnabledPref.tsx
@@ -1,18 +1,18 @@
import React from 'react'
import {View} from 'react-native'
-import {useLingui} from '@lingui/react'
import {msg, Trans} from '@lingui/macro'
+import {useLingui} from '@lingui/react'
import {UseMutateFunction} from '@tanstack/react-query'
+import {logger} from '#/logger'
+import {isIOS} from '#/platform/detection'
+import {usePreferencesQuery} from '#/state/queries/preferences'
import * as Toast from '#/view/com/util/Toast'
import {atoms as a, useTheme} from '#/alf'
-import {usePreferencesQuery} from '#/state/queries/preferences'
-import {logger} from '#/logger'
-import {Text} from '#/components/Typography'
import * as Toggle from '#/components/forms/Toggle'
import {CircleInfo_Stroke2_Corner0_Rounded as CircleInfo} from '#/components/icons/CircleInfo'
import * as Prompt from '#/components/Prompt'
-import {isIOS} from '#/platform/detection'
+import {Text} from '#/components/Typography'
function Card({children}: React.PropsWithChildren<{}>) {
const t = useTheme()
@@ -113,19 +113,17 @@ export function AdultContentEnabledPref({
)}
-
+
Adult Content
-
-
+
+
Due to Apple policies, adult content can only be enabled on the web
after completing sign up.
-
+
- prompt.close()}>
- OK
-
+ prompt.close()} cta={_(msg`OK`)} />
>
diff --git a/src/screens/Onboarding/StepModeration/ModerationOption.tsx b/src/screens/Onboarding/StepModeration/ModerationOption.tsx
index ac02a874cb..d6334e6bda 100644
--- a/src/screens/Onboarding/StepModeration/ModerationOption.tsx
+++ b/src/screens/Onboarding/StepModeration/ModerationOption.tsx
@@ -1,17 +1,17 @@
import React from 'react'
import {View} from 'react-native'
-import {LabelPreference, InterpretedLabelValueDefinition} from '@atproto/api'
-import {useLingui} from '@lingui/react'
+import {InterpretedLabelValueDefinition, LabelPreference} from '@atproto/api'
import {msg, Trans} from '@lingui/macro'
+import {useLingui} from '@lingui/react'
+import {useGlobalLabelStrings} from '#/lib/moderation/useGlobalLabelStrings'
import {
usePreferencesQuery,
usePreferencesSetContentLabelMutation,
} from '#/state/queries/preferences'
import {atoms as a, useTheme} from '#/alf'
-import {Text} from '#/components/Typography'
import * as ToggleButton from '#/components/forms/ToggleButton'
-import {useGlobalLabelStrings} from '#/lib/moderation/useGlobalLabelStrings'
+import {Text} from '#/components/Typography'
export function ModerationOption({
labelValueDefinition,
@@ -83,13 +83,13 @@ export function ModerationOption({
values={[visibility ?? 'hide']}
onChange={onChange}>
- {labels.show}
+ {labels.show}
- {labels.warn}
+ {labels.warn}
- {labels.hide}
+ {labels.hide}
)}
diff --git a/src/screens/Onboarding/StepModeration/index.tsx b/src/screens/Onboarding/StepModeration/index.tsx
index b9c46fbd61..09adcf3bcf 100644
--- a/src/screens/Onboarding/StepModeration/index.tsx
+++ b/src/screens/Onboarding/StepModeration/index.tsx
@@ -1,27 +1,27 @@
import React from 'react'
import {View} from 'react-native'
-import {useLingui} from '@lingui/react'
-import {msg, Trans} from '@lingui/macro'
import {LABELS} from '@atproto/api'
+import {msg, Trans} from '@lingui/macro'
+import {useLingui} from '@lingui/react'
import {atoms as a, useBreakpoints} from '#/alf'
+import {useAnalytics} from '#/lib/analytics/analytics'
+import {logEvent} from '#/lib/statsig/statsig'
+import {usePreferencesQuery} from '#/state/queries/preferences'
import {usePreferencesSetAdultContentMutation} from 'state/queries/preferences'
+import {
+ DescriptionText,
+ OnboardingControls,
+ TitleText,
+} from '#/screens/Onboarding/Layout'
+import {Context} from '#/screens/Onboarding/state'
+import {AdultContentEnabledPref} from '#/screens/Onboarding/StepModeration/AdultContentEnabledPref'
+import {ModerationOption} from '#/screens/Onboarding/StepModeration/ModerationOption'
import {Button, ButtonIcon, ButtonText} from '#/components/Button'
+import {IconCircle} from '#/components/IconCircle'
import {ChevronRight_Stroke2_Corner0_Rounded as ChevronRight} from '#/components/icons/Chevron'
import {EyeSlash_Stroke2_Corner0_Rounded as EyeSlash} from '#/components/icons/EyeSlash'
-import {usePreferencesQuery} from '#/state/queries/preferences'
import {Loader} from '#/components/Loader'
-import {useAnalytics} from '#/lib/analytics/analytics'
-
-import {
- Description,
- OnboardingControls,
- Title,
-} from '#/screens/Onboarding/Layout'
-import {ModerationOption} from '#/screens/Onboarding/StepModeration/ModerationOption'
-import {AdultContentEnabledPref} from '#/screens/Onboarding/StepModeration/AdultContentEnabledPref'
-import {Context} from '#/screens/Onboarding/state'
-import {IconCircle} from '#/components/IconCircle'
export function StepModeration() {
const {_} = useLingui()
@@ -46,6 +46,7 @@ export function StepModeration() {
const onContinue = React.useCallback(() => {
dispatch({type: 'next'})
track('OnboardingV2:StepModeration:End')
+ logEvent('onboarding:moderation:nextPressed', {})
}, [track, dispatch])
React.useEffect(() => {
@@ -56,14 +57,14 @@ export function StepModeration() {
-
+
You're in control
-
-
+
+
Select what you want to see (or not see), and we’ll handle the rest.
-
+
{!preferences ? (
diff --git a/src/screens/Onboarding/StepProfile/index.tsx b/src/screens/Onboarding/StepProfile/index.tsx
index 319c3af0c4..fdca3037c5 100644
--- a/src/screens/Onboarding/StepProfile/index.tsx
+++ b/src/screens/Onboarding/StepProfile/index.tsx
@@ -8,8 +8,8 @@ import {atoms as a, useBreakpoints, useTheme} from '#/alf'
import {StreamingLive_Stroke2_Corner0_Rounded as StreamingLive} from '#/components/icons/StreamingLive'
import {Context} from '#/screens/Onboarding/state'
import {
- Title,
- Description,
+ TitleText,
+ DescriptionText,
OnboardingControls,
} from '#/screens/Onboarding/Layout'
import {Emoji, emojiItems, AvatarColor, avatarColors} from './types'
@@ -165,15 +165,15 @@ export function StepProfile() {
-
+
Give your profile a face
-
-
+
+
Help people know you're not a bot by uploading a picture or
creating an avatar.
-
+
-
+
diff --git a/src/screens/Onboarding/StepSuggestedAccounts/index.tsx b/src/screens/Onboarding/StepSuggestedAccounts/index.tsx
index 72eb913ff0..906c54379a 100644
--- a/src/screens/Onboarding/StepSuggestedAccounts/index.tsx
+++ b/src/screens/Onboarding/StepSuggestedAccounts/index.tsx
@@ -1,33 +1,33 @@
import React from 'react'
import {View} from 'react-native'
import {AppBskyActorDefs} from '@atproto/api'
-import {useLingui} from '@lingui/react'
import {msg, Trans} from '@lingui/macro'
+import {useLingui} from '@lingui/react'
-import {atoms as a, useBreakpoints} from '#/alf'
-import {PlusLarge_Stroke2_Corner0_Rounded as Plus} from '#/components/icons/Plus'
-import {At_Stroke2_Corner0_Rounded as At} from '#/components/icons/At'
-import {Button, ButtonIcon, ButtonText} from '#/components/Button'
-import {Text} from '#/components/Typography'
-import {useProfilesQuery} from '#/state/queries/profile'
-import {Loader} from '#/components/Loader'
-import * as Toggle from '#/components/forms/Toggle'
-import {useModerationOpts} from '#/state/queries/preferences'
import {useAnalytics} from '#/lib/analytics/analytics'
+import {logEvent} from '#/lib/statsig/statsig'
import {capitalize} from '#/lib/strings/capitalize'
-
-import {Context} from '#/screens/Onboarding/state'
+import {useModerationOpts} from '#/state/queries/preferences'
+import {useProfilesQuery} from '#/state/queries/profile'
import {
- Title,
- Description,
+ DescriptionText,
OnboardingControls,
+ TitleText,
} from '#/screens/Onboarding/Layout'
+import {Context} from '#/screens/Onboarding/state'
import {
SuggestedAccountCard,
SuggestedAccountCardPlaceholder,
} from '#/screens/Onboarding/StepSuggestedAccounts/SuggestedAccountCard'
import {aggregateInterestItems} from '#/screens/Onboarding/util'
+import {atoms as a, useBreakpoints} from '#/alf'
+import {Button, ButtonIcon, ButtonText} from '#/components/Button'
+import * as Toggle from '#/components/forms/Toggle'
import {IconCircle} from '#/components/IconCircle'
+import {At_Stroke2_Corner0_Rounded as At} from '#/components/icons/At'
+import {PlusLarge_Stroke2_Corner0_Rounded as Plus} from '#/components/icons/Plus'
+import {Loader} from '#/components/Loader'
+import {Text} from '#/components/Typography'
export function Inner({
profiles,
@@ -110,12 +110,20 @@ export function StepSuggestedAccounts() {
track('OnboardingV2:StepSuggestedAccounts:End', {
selectedAccountsLength: dids.length,
})
+ logEvent('onboarding:suggestedAccounts:nextPressed', {
+ selectedAccountsLength: dids.length,
+ skipped: false,
+ })
}, [dids, setSaving, dispatch, track])
const handleSkip = React.useCallback(() => {
// if a user comes back and clicks skip, erase follows
dispatch({type: 'setSuggestedAccountsStepResults', accountDids: []})
dispatch({type: 'next'})
+ logEvent('onboarding:suggestedAccounts:nextPressed', {
+ selectedAccountsLength: 0,
+ skipped: true,
+ })
}, [dispatch])
const isLoading = isProfilesLoading && moderationOpts
@@ -128,16 +136,16 @@ export function StepSuggestedAccounts() {
-
+
Here are some accounts for you to follow
-
-
+
+
{state.interestsStepResults.selectedInterests.length ? (
Based on your interest in {interestsText}
) : (
These are popular accounts you might like:
)}
-
+
{isLoading ? (
diff --git a/src/screens/Onboarding/StepTopicalFeeds.tsx b/src/screens/Onboarding/StepTopicalFeeds.tsx
index d79a469605..86ad779243 100644
--- a/src/screens/Onboarding/StepTopicalFeeds.tsx
+++ b/src/screens/Onboarding/StepTopicalFeeds.tsx
@@ -1,28 +1,28 @@
import React from 'react'
import {View} from 'react-native'
-import {useLingui} from '@lingui/react'
import {msg, Trans} from '@lingui/macro'
+import {useLingui} from '@lingui/react'
-import {atoms as a, useBreakpoints} from '#/alf'
-import {ChevronRight_Stroke2_Corner0_Rounded as ChevronRight} from '#/components/icons/Chevron'
-import {ListMagnifyingGlass_Stroke2_Corner0_Rounded as ListMagnifyingGlass} from '#/components/icons/ListMagnifyingGlass'
-import {Button, ButtonIcon, ButtonText} from '#/components/Button'
-import * as Toggle from '#/components/forms/Toggle'
-import {Loader} from '#/components/Loader'
import {useAnalytics} from '#/lib/analytics/analytics'
+import {logEvent} from '#/lib/statsig/statsig'
import {capitalize} from '#/lib/strings/capitalize'
-
-import {Context} from '#/screens/Onboarding/state'
-import {
- Title,
- Description,
- OnboardingControls,
-} from '#/screens/Onboarding/Layout'
-import {FeedCard} from '#/screens/Onboarding/StepAlgoFeeds/FeedCard'
-import {aggregateInterestItems} from '#/screens/Onboarding/util'
-import {IconCircle} from '#/components/IconCircle'
import {IS_TEST_USER} from 'lib/constants'
import {useSession} from 'state/session'
+import {
+ DescriptionText,
+ OnboardingControls,
+ TitleText,
+} from '#/screens/Onboarding/Layout'
+import {Context} from '#/screens/Onboarding/state'
+import {FeedCard} from '#/screens/Onboarding/StepAlgoFeeds/FeedCard'
+import {aggregateInterestItems} from '#/screens/Onboarding/util'
+import {atoms as a, useBreakpoints} from '#/alf'
+import {Button, ButtonIcon, ButtonText} from '#/components/Button'
+import * as Toggle from '#/components/forms/Toggle'
+import {IconCircle} from '#/components/IconCircle'
+import {ChevronRight_Stroke2_Corner0_Rounded as ChevronRight} from '#/components/icons/Chevron'
+import {ListMagnifyingGlass_Stroke2_Corner0_Rounded as ListMagnifyingGlass} from '#/components/icons/ListMagnifyingGlass'
+import {Loader} from '#/components/Loader'
export function StepTopicalFeeds() {
const {_} = useLingui()
@@ -63,6 +63,10 @@ export function StepTopicalFeeds() {
selectedFeeds: selectedFeedUris,
selectedFeedsLength: selectedFeedUris.length,
})
+ logEvent('onboarding:topicalFeeds:nextPressed', {
+ selectedFeeds: selectedFeedUris,
+ selectedFeedsLength: selectedFeedUris.length,
+ })
}, [selectedFeedUris, dispatch, track])
React.useEffect(() => {
@@ -73,10 +77,10 @@ export function StepTopicalFeeds() {
-
+
Feeds can be topical as well!
-
-
+
+
{state.interestsStepResults.selectedInterests.length ? (
Here are some topical feeds based on your interests: {interestsText}
@@ -88,7 +92,7 @@ export function StepTopicalFeeds() {
many as you like.
)}
-
+
) : undefined}
{invalidHandle ? ⚠Invalid Handle : `@${profile.handle}`}
diff --git a/src/screens/Profile/Header/Metrics.tsx b/src/screens/Profile/Header/Metrics.tsx
index d9a8a01a86..8789e0354f 100644
--- a/src/screens/Profile/Header/Metrics.tsx
+++ b/src/screens/Profile/Header/Metrics.tsx
@@ -1,17 +1,16 @@
import React from 'react'
import {View} from 'react-native'
import {AppBskyActorDefs} from '@atproto/api'
-import {Trans, msg} from '@lingui/macro'
+import {msg, Trans} from '@lingui/macro'
import {useLingui} from '@lingui/react'
-import {Shadow} from '#/state/cache/types'
import {pluralize} from '#/lib/strings/helpers'
+import {Shadow} from '#/state/cache/types'
import {makeProfileLink} from 'lib/routes/links'
import {formatCount} from 'view/com/util/numeric/format'
-
import {atoms as a, useTheme} from '#/alf'
+import {InlineLinkText} from '#/components/Link'
import {Text} from '#/components/Typography'
-import {InlineLink} from '#/components/Link'
export function ProfileHeaderMetrics({
profile,
@@ -28,7 +27,7 @@ export function ProfileHeaderMetrics({
-
{pluralizedFollowers}
-
-
+
-
+
{formatCount(profile.postsCount || 0)}{' '}
diff --git a/src/screens/Profile/Header/ProfileHeaderLabeler.tsx b/src/screens/Profile/Header/ProfileHeaderLabeler.tsx
index 6722ed09b2..b9145822c9 100644
--- a/src/screens/Profile/Header/ProfileHeaderLabeler.tsx
+++ b/src/screens/Profile/Header/ProfileHeaderLabeler.tsx
@@ -3,43 +3,42 @@ import {View} from 'react-native'
import {
AppBskyActorDefs,
AppBskyLabelerDefs,
- ModerationOpts,
moderateProfile,
+ ModerationOpts,
RichText as RichTextAPI,
} from '@atproto/api'
-import {Trans, msg} from '@lingui/macro'
+import {msg, Trans} from '@lingui/macro'
import {useLingui} from '@lingui/react'
-import {RichText} from '#/components/RichText'
-import {useModalControls} from '#/state/modals'
-import {usePreferencesQuery} from '#/state/queries/preferences'
-import {useAnalytics} from 'lib/analytics/analytics'
-import {useSession} from '#/state/session'
+import {isAppLabeler} from '#/lib/moderation'
+import {pluralize} from '#/lib/strings/helpers'
+import {logger} from '#/logger'
import {Shadow} from '#/state/cache/types'
-import {useProfileShadow} from 'state/cache/profile-shadow'
+import {useModalControls} from '#/state/modals'
import {useLabelerSubscriptionMutation} from '#/state/queries/labeler'
import {useLikeMutation, useUnlikeMutation} from '#/state/queries/like'
-import {logger} from '#/logger'
-import {Haptics} from '#/lib/haptics'
-import {pluralize} from '#/lib/strings/helpers'
-import {isAppLabeler} from '#/lib/moderation'
-
-import {atoms as a, useTheme, tokens} from '#/alf'
-import {Button, ButtonText} from '#/components/Button'
-import {Text} from '#/components/Typography'
-import * as Toast from '#/view/com/util/Toast'
-import {ProfileHeaderShell} from './Shell'
+import {usePreferencesQuery} from '#/state/queries/preferences'
+import {useRequireAuth, useSession} from '#/state/session'
+import {useAnalytics} from 'lib/analytics/analytics'
+import {useHaptics} from 'lib/haptics'
+import {useProfileShadow} from 'state/cache/profile-shadow'
import {ProfileMenu} from '#/view/com/profile/ProfileMenu'
+import * as Toast from '#/view/com/util/Toast'
+import {atoms as a, tokens, useTheme} from '#/alf'
+import {Button, ButtonText} from '#/components/Button'
+import {DialogOuterProps} from '#/components/Dialog'
+import {
+ Heart2_Filled_Stroke2_Corner0_Rounded as HeartFilled,
+ Heart2_Stroke2_Corner0_Rounded as Heart,
+} from '#/components/icons/Heart2'
+import {Link} from '#/components/Link'
+import * as Prompt from '#/components/Prompt'
+import {RichText} from '#/components/RichText'
+import {Text} from '#/components/Typography'
import {ProfileHeaderDisplayName} from './DisplayName'
import {ProfileHeaderHandle} from './Handle'
import {ProfileHeaderMetrics} from './Metrics'
-import {
- Heart2_Stroke2_Corner0_Rounded as Heart,
- Heart2_Filled_Stroke2_Corner0_Rounded as HeartFilled,
-} from '#/components/icons/Heart2'
-import {DialogOuterProps} from '#/components/Dialog'
-import * as Prompt from '#/components/Prompt'
-import {Link} from '#/components/Link'
+import {ProfileHeaderShell} from './Shell'
interface Props {
profile: AppBskyActorDefs.ProfileViewDetailed
@@ -65,6 +64,8 @@ let ProfileHeaderLabeler = ({
const {currentAccount, hasSession} = useSession()
const {openModal} = useModalControls()
const {track} = useAnalytics()
+ const requireAuth = useRequireAuth()
+ const playHaptic = useHaptics()
const cantSubscribePrompt = Prompt.usePromptControl()
const isSelf = currentAccount?.did === profile.did
@@ -94,7 +95,7 @@ let ProfileHeaderLabeler = ({
return
}
try {
- Haptics.default()
+ playHaptic()
if (likeUri) {
await unlikeMod({uri: likeUri})
@@ -115,7 +116,7 @@ let ProfileHeaderLabeler = ({
)
logger.error(`Failed to toggle labeler like`, {message: e.message})
}
- }, [labeler, likeUri, likeMod, unlikeMod, track, _])
+ }, [labeler, playHaptic, likeUri, unlikeMod, track, likeMod, _])
const onPressEditProfile = React.useCallback(() => {
track('ProfileHeader:EditProfileButtonClicked')
@@ -125,27 +126,32 @@ let ProfileHeaderLabeler = ({
})
}, [track, openModal, profile])
- const onPressSubscribe = React.useCallback(async () => {
- if (!canSubscribe) {
- cantSubscribePrompt.open()
- return
- }
- try {
- await toggleSubscription({
- did: profile.did,
- subscribe: !isSubscribed,
- })
- } catch (e: any) {
- // setSubscriptionError(e.message)
- logger.error(`Failed to subscribe to labeler`, {message: e.message})
- }
- }, [
- toggleSubscription,
- isSubscribed,
- profile,
- canSubscribe,
- cantSubscribePrompt,
- ])
+ const onPressSubscribe = React.useCallback(
+ () =>
+ requireAuth(async () => {
+ if (!canSubscribe) {
+ cantSubscribePrompt.open()
+ return
+ }
+ try {
+ await toggleSubscription({
+ did: profile.did,
+ subscribe: !isSubscribed,
+ })
+ } catch (e: any) {
+ // setSubscriptionError(e.message)
+ logger.error(`Failed to subscribe to labeler`, {message: e.message})
+ }
+ }),
+ [
+ requireAuth,
+ toggleSubscription,
+ isSubscribed,
+ profile,
+ canSubscribe,
+ cantSubscribePrompt,
+ ],
+ )
const isMe = React.useMemo(
() => currentAccount?.did === profile.did,
@@ -184,7 +190,6 @@ let ProfileHeaderLabeler = ({
? _(msg`Unsubscribe from this labeler`)
: _(msg`Subscribe to this labeler`)
}
- disabled={!hasSession}
onPress={onPressSubscribe}>
{state => (
) : undefined}
@@ -312,17 +319,18 @@ function CantSubscribePrompt({
}: {
control: DialogOuterProps['control']
}) {
+ const {_} = useLingui()
return (
- Unable to subscribe
-
+ Unable to subscribe
+
We're sorry! You can only subscribe to ten labelers, and you've
reached your limit of ten.
-
+
- OK
+
)
diff --git a/src/screens/Profile/Header/ProfileHeaderStandard.tsx b/src/screens/Profile/Header/ProfileHeaderStandard.tsx
index 8b90382441..accef12ed3 100644
--- a/src/screens/Profile/Header/ProfileHeaderStandard.tsx
+++ b/src/screens/Profile/Header/ProfileHeaderStandard.tsx
@@ -2,39 +2,40 @@ import React, {memo, useMemo} from 'react'
import {View} from 'react-native'
import {
AppBskyActorDefs,
- ModerationOpts,
moderateProfile,
+ ModerationOpts,
RichText as RichTextAPI,
} from '@atproto/api'
-import {Trans, msg} from '@lingui/macro'
-import {useLingui} from '@lingui/react'
import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome'
+import {msg, Trans} from '@lingui/macro'
+import {useLingui} from '@lingui/react'
-import {useModalControls} from '#/state/modals'
-import {useAnalytics} from 'lib/analytics/analytics'
-import {useSession, useRequireAuth} from '#/state/session'
-import {Shadow} from '#/state/cache/types'
-import {useProfileShadow} from 'state/cache/profile-shadow'
-import {
- useProfileFollowMutationQueue,
- useProfileBlockMutationQueue,
-} from '#/state/queries/profile'
+import {useGate} from '#/lib/statsig/statsig'
import {logger} from '#/logger'
+import {isWeb} from '#/platform/detection'
+import {Shadow} from '#/state/cache/types'
+import {useModalControls} from '#/state/modals'
+import {
+ useProfileBlockMutationQueue,
+ useProfileFollowMutationQueue,
+} from '#/state/queries/profile'
+import {useRequireAuth, useSession} from '#/state/session'
+import {useAnalytics} from 'lib/analytics/analytics'
import {sanitizeDisplayName} from 'lib/strings/display-names'
-
-import {atoms as a, useTheme} from '#/alf'
-import {Button, ButtonText, ButtonIcon} from '#/components/Button'
-import * as Toast from '#/view/com/util/Toast'
-import {ProfileHeaderShell} from './Shell'
+import {useProfileShadow} from 'state/cache/profile-shadow'
+import {ProfileHeaderSuggestedFollows} from '#/view/com/profile/ProfileHeaderSuggestedFollows'
import {ProfileMenu} from '#/view/com/profile/ProfileMenu'
+import * as Toast from '#/view/com/util/Toast'
+import {atoms as a, useTheme} from '#/alf'
+import {Button, ButtonIcon, ButtonText} from '#/components/Button'
+import {Check_Stroke2_Corner0_Rounded as Check} from '#/components/icons/Check'
+import {PlusLarge_Stroke2_Corner0_Rounded as Plus} from '#/components/icons/Plus'
+import * as Prompt from '#/components/Prompt'
+import {RichText} from '#/components/RichText'
import {ProfileHeaderDisplayName} from './DisplayName'
import {ProfileHeaderHandle} from './Handle'
import {ProfileHeaderMetrics} from './Metrics'
-import {ProfileHeaderSuggestedFollows} from '#/view/com/profile/ProfileHeaderSuggestedFollows'
-import {RichText} from '#/components/RichText'
-import * as Prompt from '#/components/Prompt'
-import {Check_Stroke2_Corner0_Rounded as Check} from '#/components/icons/Check'
-import {PlusLarge_Stroke2_Corner0_Rounded as Plus} from '#/components/icons/Plus'
+import {ProfileHeaderShell} from './Shell'
interface Props {
profile: AppBskyActorDefs.ProfileViewDetailed
@@ -79,6 +80,9 @@ let ProfileHeaderStandard = ({
})
}, [track, openModal, profile])
+ const autoExpandSuggestionsOnProfileFollow = useGate(
+ 'autoexpand_suggestions_on_profile_follow',
+ )
const onPressFollow = () => {
requireAuth(async () => {
try {
@@ -92,6 +96,9 @@ let ProfileHeaderStandard = ({
)}`,
),
)
+ if (isWeb && autoExpandSuggestionsOnProfileFollow) {
+ setShowSuggestedFollows(true)
+ }
} catch (e: any) {
if (e?.name !== 'AbortError') {
logger.error('Failed to follow', {message: String(e)})
@@ -213,7 +220,6 @@ let ProfileHeaderStandard = ({
? _(msg`Unfollow ${profile.handle}`)
: _(msg`Follow ${profile.handle}`)
}
- disabled={!hasSession}
onPress={
profile.viewer?.following ? onPressUnfollow : onPressFollow
}
@@ -248,6 +254,8 @@ let ProfileHeaderStandard = ({
style={[a.text_md]}
numberOfLines={15}
value={descriptionRT}
+ enableTags
+ authorHandle={profile.handle}
/>
) : undefined}
diff --git a/src/screens/Profile/Header/Shell.tsx b/src/screens/Profile/Header/Shell.tsx
index c470cb2861..c6063591c6 100644
--- a/src/screens/Profile/Header/Shell.tsx
+++ b/src/screens/Profile/Header/Shell.tsx
@@ -1,23 +1,22 @@
import React, {memo} from 'react'
import {StyleSheet, TouchableWithoutFeedback, View} from 'react-native'
-import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome'
-import {useNavigation} from '@react-navigation/native'
import {AppBskyActorDefs, ModerationDecision} from '@atproto/api'
+import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome'
import {msg} from '@lingui/macro'
import {useLingui} from '@lingui/react'
-import {NavigationProp} from 'lib/routes/types'
-import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries'
-import {BACK_HITSLOP} from 'lib/constants'
-import {useSession} from '#/state/session'
-import {Shadow} from '#/state/cache/types'
-import {useLightboxControls, ProfileImageLightbox} from '#/state/lightbox'
+import {useNavigation} from '@react-navigation/native'
-import {atoms as a, useTheme} from '#/alf'
-import {LabelsOnMe} from '#/components/moderation/LabelsOnMe'
-import {BlurView} from 'view/com/util/BlurView'
+import {Shadow} from '#/state/cache/types'
+import {ProfileImageLightbox, useLightboxControls} from '#/state/lightbox'
+import {useSession} from '#/state/session'
+import {BACK_HITSLOP} from 'lib/constants'
+import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries'
+import {NavigationProp} from 'lib/routes/types'
import {LoadingPlaceholder} from 'view/com/util/LoadingPlaceholder'
import {UserAvatar} from 'view/com/util/UserAvatar'
import {UserBanner} from 'view/com/util/UserBanner'
+import {atoms as a, useTheme} from '#/alf'
+import {LabelsOnMe} from '#/components/moderation/LabelsOnMe'
import {ProfileHeaderAlerts} from '#/components/moderation/ProfileHeaderAlerts'
interface Props {
@@ -97,9 +96,7 @@ let ProfileHeaderShell = ({
accessibilityLabel={_(msg`Back`)}
accessibilityHint="">
-
-
-
+
)}
diff --git a/src/screens/Profile/ProfileLabelerLikedBy.tsx b/src/screens/Profile/ProfileLabelerLikedBy.tsx
index 1d21675208..8650ac2e64 100644
--- a/src/screens/Profile/ProfileLabelerLikedBy.tsx
+++ b/src/screens/Profile/ProfileLabelerLikedBy.tsx
@@ -4,13 +4,11 @@ import {msg} from '@lingui/macro'
import {useLingui} from '@lingui/react'
import {useFocusEffect} from '@react-navigation/native'
-import {NativeStackScreenProps, CommonNavigatorParams} from '#/lib/routes/types'
+import {CommonNavigatorParams, NativeStackScreenProps} from '#/lib/routes/types'
+import {makeRecordUri} from '#/lib/strings/url-helpers'
+import {useSetMinimalShellMode} from '#/state/shell'
import {ViewHeader} from '#/view/com/util/ViewHeader'
import {LikedByList} from '#/components/LikedByList'
-import {useSetMinimalShellMode} from '#/state/shell'
-import {makeRecordUri} from '#/lib/strings/url-helpers'
-
-import {atoms as a, useBreakpoints} from '#/alf'
export function ProfileLabelerLikedByScreen({
route,
@@ -19,7 +17,6 @@ export function ProfileLabelerLikedByScreen({
const {name: handleOrDid} = route.params
const uri = makeRecordUri(handleOrDid, 'app.bsky.labeler.service', 'self')
const {_} = useLingui()
- const {gtMobile} = useBreakpoints()
useFocusEffect(
React.useCallback(() => {
@@ -28,17 +25,7 @@ export function ProfileLabelerLikedByScreen({
)
return (
-
+
diff --git a/src/screens/Profile/Sections/Feed.tsx b/src/screens/Profile/Sections/Feed.tsx
index 0a5e2208d6..bc106fcfb9 100644
--- a/src/screens/Profile/Sections/Feed.tsx
+++ b/src/screens/Profile/Sections/Feed.tsx
@@ -1,18 +1,19 @@
import React from 'react'
-import {View} from 'react-native'
+import {findNodeHandle, View} from 'react-native'
import {msg, Trans} from '@lingui/macro'
import {useLingui} from '@lingui/react'
-import {ListRef} from 'view/com/util/List'
-import {Feed} from 'view/com/posts/Feed'
-import {EmptyState} from 'view/com/util/EmptyState'
+import {useQueryClient} from '@tanstack/react-query'
+
+import {isNative} from '#/platform/detection'
import {FeedDescriptor} from '#/state/queries/post-feed'
import {RQKEY as FEED_RQKEY} from '#/state/queries/post-feed'
-import {LoadLatestBtn} from 'view/com/util/load-latest/LoadLatestBtn'
-import {useQueryClient} from '@tanstack/react-query'
import {truncateAndInvalidate} from '#/state/queries/util'
-import {Text} from '#/view/com/util/text/Text'
import {usePalette} from 'lib/hooks/usePalette'
-import {isNative} from '#/platform/detection'
+import {Text} from '#/view/com/util/text/Text'
+import {Feed} from 'view/com/posts/Feed'
+import {EmptyState} from 'view/com/util/EmptyState'
+import {ListRef} from 'view/com/util/List'
+import {LoadLatestBtn} from 'view/com/util/load-latest/LoadLatestBtn'
import {SectionRef} from './types'
interface FeedSectionProps {
@@ -21,12 +22,20 @@ interface FeedSectionProps {
isFocused: boolean
scrollElRef: ListRef
ignoreFilterFor?: string
+ setScrollViewTag: (tag: number | null) => void
}
export const ProfileFeedSection = React.forwardRef<
SectionRef,
FeedSectionProps
>(function FeedSectionImpl(
- {feed, headerHeight, isFocused, scrollElRef, ignoreFilterFor},
+ {
+ feed,
+ headerHeight,
+ isFocused,
+ scrollElRef,
+ ignoreFilterFor,
+ setScrollViewTag,
+ },
ref,
) {
const {_} = useLingui()
@@ -50,6 +59,13 @@ export const ProfileFeedSection = React.forwardRef<
return
}, [_])
+ React.useEffect(() => {
+ if (isFocused && scrollElRef.current) {
+ const nativeTag = findNodeHandle(scrollElRef.current)
+ setScrollViewTag(nativeTag)
+ }
+ }, [isFocused, scrollElRef, setScrollViewTag])
+
return (
void
}
export const ProfileLabelsSection = React.forwardRef<
SectionRef,
@@ -45,6 +46,8 @@ export const ProfileLabelsSection = React.forwardRef<
moderationOpts,
scrollElRef,
headerHeight,
+ isFocused,
+ setScrollViewTag,
},
ref,
) {
@@ -64,6 +67,13 @@ export const ProfileLabelsSection = React.forwardRef<
scrollToTop: onScrollToTop,
}))
+ React.useEffect(() => {
+ if (isFocused && scrollElRef.current) {
+ const nativeTag = findNodeHandle(scrollElRef.current)
+ setScrollViewTag(nativeTag)
+ }
+ }, [isFocused, scrollElRef, setScrollViewTag])
+
return (
{isLabelerLoading ? (
@@ -197,9 +207,9 @@ export function ProfileLabelsSectionInner({
return (
{i !== 0 && }
-
diff --git a/src/view/com/auth/create/CaptchaWebView.tsx b/src/screens/Signup/StepCaptcha/CaptchaWebView.tsx
similarity index 86%
rename from src/view/com/auth/create/CaptchaWebView.tsx
rename to src/screens/Signup/StepCaptcha/CaptchaWebView.tsx
index b0de8b4a4b..50918c4ce6 100644
--- a/src/view/com/auth/create/CaptchaWebView.tsx
+++ b/src/screens/Signup/StepCaptcha/CaptchaWebView.tsx
@@ -1,8 +1,9 @@
import React from 'react'
+import {StyleSheet} from 'react-native'
import {WebView, WebViewNavigation} from 'react-native-webview'
import {ShouldStartLoadRequest} from 'react-native-webview/lib/WebViewTypes'
-import {StyleSheet} from 'react-native'
-import {CreateAccountState} from 'view/com/auth/create/state'
+
+import {SignupState} from '#/screens/Signup/state'
const ALLOWED_HOSTS = [
'bsky.social',
@@ -17,24 +18,24 @@ const ALLOWED_HOSTS = [
export function CaptchaWebView({
url,
stateParam,
- uiState,
+ state,
onSuccess,
onError,
}: {
url: string
stateParam: string
- uiState?: CreateAccountState
+ state?: SignupState
onSuccess: (code: string) => void
onError: () => void
}) {
const redirectHost = React.useMemo(() => {
- if (!uiState?.serviceUrl) return 'bsky.app'
+ if (!state?.serviceUrl) return 'bsky.app'
- return uiState?.serviceUrl &&
- new URL(uiState?.serviceUrl).host === 'staging.bsky.dev'
+ return state?.serviceUrl &&
+ new URL(state?.serviceUrl).host === 'staging.bsky.dev'
? 'staging.bsky.app'
: 'bsky.app'
- }, [uiState?.serviceUrl])
+ }, [state?.serviceUrl])
const wasSuccessful = React.useRef(false)
diff --git a/src/view/com/auth/create/CaptchaWebView.web.tsx b/src/screens/Signup/StepCaptcha/CaptchaWebView.web.tsx
similarity index 100%
rename from src/view/com/auth/create/CaptchaWebView.web.tsx
rename to src/screens/Signup/StepCaptcha/CaptchaWebView.web.tsx
diff --git a/src/screens/Signup/StepCaptcha/index.tsx b/src/screens/Signup/StepCaptcha/index.tsx
new file mode 100644
index 0000000000..2429b0c5e9
--- /dev/null
+++ b/src/screens/Signup/StepCaptcha/index.tsx
@@ -0,0 +1,80 @@
+import React from 'react'
+import {ActivityIndicator, View} from 'react-native'
+import {msg} from '@lingui/macro'
+import {useLingui} from '@lingui/react'
+import {nanoid} from 'nanoid/non-secure'
+
+import {createFullHandle} from '#/lib/strings/handles'
+import {ScreenTransition} from '#/screens/Login/ScreenTransition'
+import {useSignupContext, useSubmitSignup} from '#/screens/Signup/state'
+import {CaptchaWebView} from '#/screens/Signup/StepCaptcha/CaptchaWebView'
+import {atoms as a, useTheme} from '#/alf'
+import {FormError} from '#/components/forms/FormError'
+
+const CAPTCHA_PATH = '/gate/signup'
+
+export function StepCaptcha() {
+ const {_} = useLingui()
+ const theme = useTheme()
+ const {state, dispatch} = useSignupContext()
+ const submit = useSubmitSignup({state, dispatch})
+
+ const [completed, setCompleted] = React.useState(false)
+
+ const stateParam = React.useMemo(() => nanoid(15), [])
+ const url = React.useMemo(() => {
+ const newUrl = new URL(state.serviceUrl)
+ newUrl.pathname = CAPTCHA_PATH
+ newUrl.searchParams.set(
+ 'handle',
+ createFullHandle(state.handle, state.userDomain),
+ )
+ newUrl.searchParams.set('state', stateParam)
+ newUrl.searchParams.set('colorScheme', theme.name)
+
+ return newUrl.href
+ }, [state.serviceUrl, state.handle, state.userDomain, stateParam, theme.name])
+
+ const onSuccess = React.useCallback(
+ (code: string) => {
+ setCompleted(true)
+ submit(code)
+ },
+ [submit],
+ )
+
+ const onError = React.useCallback(() => {
+ dispatch({
+ type: 'setError',
+ value: _(msg`Error receiving captcha response.`),
+ })
+ }, [_, dispatch])
+
+ return (
+
+
+
+ {!completed ? (
+
+ ) : (
+
+ )}
+
+
+
+
+ )
+}
diff --git a/src/screens/Signup/StepHandle.tsx b/src/screens/Signup/StepHandle.tsx
new file mode 100644
index 0000000000..2266f43879
--- /dev/null
+++ b/src/screens/Signup/StepHandle.tsx
@@ -0,0 +1,135 @@
+import React from 'react'
+import {View} from 'react-native'
+import {msg, Trans} from '@lingui/macro'
+import {useLingui} from '@lingui/react'
+import {useFocusEffect} from '@react-navigation/native'
+
+import {
+ createFullHandle,
+ IsValidHandle,
+ validateHandle,
+} from '#/lib/strings/handles'
+import {ScreenTransition} from '#/screens/Login/ScreenTransition'
+import {useSignupContext} from '#/screens/Signup/state'
+import {atoms as a, useTheme} from '#/alf'
+import * as TextField from '#/components/forms/TextField'
+import {At_Stroke2_Corner0_Rounded as At} from '#/components/icons/At'
+import {Check_Stroke2_Corner0_Rounded as Check} from '#/components/icons/Check'
+import {TimesLarge_Stroke2_Corner0_Rounded as Times} from '#/components/icons/Times'
+import {Text} from '#/components/Typography'
+
+export function StepHandle() {
+ const {_} = useLingui()
+ const t = useTheme()
+ const {state, dispatch} = useSignupContext()
+
+ const [validCheck, setValidCheck] = React.useState({
+ handleChars: false,
+ hyphenStartOrEnd: false,
+ frontLength: false,
+ totalLength: true,
+ overall: false,
+ })
+
+ useFocusEffect(
+ React.useCallback(() => {
+ setValidCheck(validateHandle(state.handle, state.userDomain))
+ }, [state.handle, state.userDomain]),
+ )
+
+ const onHandleChange = React.useCallback(
+ (value: string) => {
+ if (state.error) {
+ dispatch({type: 'setError', value: ''})
+ }
+
+ dispatch({
+ type: 'setHandle',
+ value,
+ })
+ },
+ [dispatch, state.error],
+ )
+
+ return (
+
+
+
+
+
+
+
+
+
+ Your full handle will be {' '}
+
+ @{createFullHandle(state.handle, state.userDomain)}
+
+
+
+
+ {state.error ? (
+
+
+ {state.error}
+
+ ) : undefined}
+ {validCheck.hyphenStartOrEnd ? (
+
+
+
+ Only contains letters, numbers, and hyphens
+
+
+ ) : (
+
+
+
+ Doesn't begin or end with a hyphen
+
+
+ )}
+
+
+ {!validCheck.totalLength ? (
+
+ No longer than 253 characters
+
+ ) : (
+
+ At least 3 characters
+
+ )}
+
+
+
+
+ )
+}
+
+function IsValidIcon({valid}: {valid: boolean}) {
+ const t = useTheme()
+ if (!valid) {
+ return
+ }
+ return
+}
diff --git a/src/screens/Signup/StepInfo/Policies.tsx b/src/screens/Signup/StepInfo/Policies.tsx
new file mode 100644
index 0000000000..f25bda274f
--- /dev/null
+++ b/src/screens/Signup/StepInfo/Policies.tsx
@@ -0,0 +1,97 @@
+import React from 'react'
+import {View} from 'react-native'
+import {ComAtprotoServerDescribeServer} from '@atproto/api'
+import {msg, Trans} from '@lingui/macro'
+import {useLingui} from '@lingui/react'
+
+import {atoms as a, useTheme} from '#/alf'
+import {CircleInfo_Stroke2_Corner0_Rounded as CircleInfo} from '#/components/icons/CircleInfo'
+import {InlineLinkText} from '#/components/Link'
+import {Text} from '#/components/Typography'
+
+export const Policies = ({
+ serviceDescription,
+ needsGuardian,
+ under13,
+}: {
+ serviceDescription: ComAtprotoServerDescribeServer.OutputSchema
+ needsGuardian: boolean
+ under13: boolean
+}) => {
+ const t = useTheme()
+ const {_} = useLingui()
+
+ if (!serviceDescription) {
+ return
+ }
+
+ const tos = validWebLink(serviceDescription.links?.termsOfService)
+ const pp = validWebLink(serviceDescription.links?.privacyPolicy)
+
+ if (!tos && !pp) {
+ return (
+
+
+
+
+
+ This service has not provided terms of service or a privacy policy.
+
+
+
+ )
+ }
+
+ const els = []
+ if (tos) {
+ els.push(
+
+ {_(msg`Terms of Service`)}
+ ,
+ )
+ }
+ if (pp) {
+ els.push(
+
+ {_(msg`Privacy Policy`)}
+ ,
+ )
+ }
+ if (els.length === 2) {
+ els.splice(
+ 1,
+ 0,
+
+ {' '}
+ and{' '}
+ ,
+ )
+ }
+
+ return (
+
+
+ By creating an account you agree to the {els}.
+
+
+ {under13 ? (
+
+ You must be 13 years of age or older to sign up.
+
+ ) : needsGuardian ? (
+
+
+ If you are not yet an adult according to the laws of your country,
+ your parent or legal guardian must read these Terms on your behalf.
+
+
+ ) : undefined}
+
+ )
+}
+
+function validWebLink(url?: string): string | undefined {
+ return url && (url.startsWith('http://') || url.startsWith('https://'))
+ ? url
+ : undefined
+}
diff --git a/src/screens/Signup/StepInfo/index.tsx b/src/screens/Signup/StepInfo/index.tsx
new file mode 100644
index 0000000000..4104b79b35
--- /dev/null
+++ b/src/screens/Signup/StepInfo/index.tsx
@@ -0,0 +1,148 @@
+import React from 'react'
+import {View} from 'react-native'
+import {msg, Trans} from '@lingui/macro'
+import {useLingui} from '@lingui/react'
+
+import {logger} from '#/logger'
+import {ScreenTransition} from '#/screens/Login/ScreenTransition'
+import {is13, is18, useSignupContext} from '#/screens/Signup/state'
+import {Policies} from '#/screens/Signup/StepInfo/Policies'
+import {atoms as a} from '#/alf'
+import * as DateField from '#/components/forms/DateField'
+import {FormError} from '#/components/forms/FormError'
+import {HostingProvider} from '#/components/forms/HostingProvider'
+import * as TextField from '#/components/forms/TextField'
+import {Envelope_Stroke2_Corner0_Rounded as Envelope} from '#/components/icons/Envelope'
+import {Lock_Stroke2_Corner0_Rounded as Lock} from '#/components/icons/Lock'
+import {Ticket_Stroke2_Corner0_Rounded as Ticket} from '#/components/icons/Ticket'
+import {Loader} from '#/components/Loader'
+
+function sanitizeDate(date: Date): Date {
+ if (!date || date.toString() === 'Invalid Date') {
+ logger.error(`Create account: handled invalid date for birthDate`, {
+ hasDate: !!date,
+ })
+ return new Date()
+ }
+ return date
+}
+
+export function StepInfo() {
+ const {_} = useLingui()
+ const {state, dispatch} = useSignupContext()
+
+ return (
+
+
+
+
+
+ Hosting provider
+
+
+ dispatch({type: 'setServiceUrl', value: v})
+ }
+ />
+
+ {state.isLoading ? (
+
+
+
+ ) : state.serviceDescription ? (
+ <>
+ {state.serviceDescription.inviteCodeRequired && (
+
+
+ Invite code
+
+
+
+ {
+ dispatch({
+ type: 'setInviteCode',
+ value: value.trim(),
+ })
+ }}
+ label={_(msg`Required for this provider`)}
+ defaultValue={state.inviteCode}
+ autoCapitalize="none"
+ autoComplete="email"
+ keyboardType="email-address"
+ />
+
+
+ )}
+
+
+ Email
+
+
+
+ {
+ dispatch({
+ type: 'setEmail',
+ value: value.trim(),
+ })
+ }}
+ label={_(msg`Enter your email address`)}
+ defaultValue={state.email}
+ autoCapitalize="none"
+ autoComplete="email"
+ keyboardType="email-address"
+ />
+
+
+
+
+ Password
+
+
+
+ {
+ dispatch({
+ type: 'setPassword',
+ value,
+ })
+ }}
+ label={_(msg`Choose your password`)}
+ defaultValue={state.password}
+ secureTextEntry
+ autoComplete="new-password"
+ />
+
+
+
+
+ Your birth date
+
+ {
+ dispatch({
+ type: 'setDateOfBirth',
+ value: sanitizeDate(new Date(date)),
+ })
+ }}
+ label={_(msg`Date of birth`)}
+ accessibilityHint={_(msg`Select your date of birth`)}
+ />
+
+
+ >
+ ) : undefined}
+
+
+ )
+}
diff --git a/src/screens/Signup/index.tsx b/src/screens/Signup/index.tsx
new file mode 100644
index 0000000000..7708599fb4
--- /dev/null
+++ b/src/screens/Signup/index.tsx
@@ -0,0 +1,234 @@
+import React from 'react'
+import {View} from 'react-native'
+import {LayoutAnimationConfig} from 'react-native-reanimated'
+import {msg, Trans} from '@lingui/macro'
+import {useLingui} from '@lingui/react'
+
+import {useAnalytics} from '#/lib/analytics/analytics'
+import {FEEDBACK_FORM_URL} from '#/lib/constants'
+import {logEvent} from '#/lib/statsig/statsig'
+import {createFullHandle} from '#/lib/strings/handles'
+import {useServiceQuery} from '#/state/queries/service'
+import {getAgent} from '#/state/session'
+import {LoggedOutLayout} from '#/view/com/util/layouts/LoggedOutLayout'
+import {
+ initialState,
+ reducer,
+ SignupContext,
+ SignupStep,
+ useSubmitSignup,
+} from '#/screens/Signup/state'
+import {StepCaptcha} from '#/screens/Signup/StepCaptcha'
+import {StepHandle} from '#/screens/Signup/StepHandle'
+import {StepInfo} from '#/screens/Signup/StepInfo'
+import {atoms as a, useBreakpoints, useTheme} from '#/alf'
+import {AppLanguageDropdown} from '#/components/AppLanguageDropdown'
+import {Button, ButtonText} from '#/components/Button'
+import {Divider} from '#/components/Divider'
+import {InlineLinkText} from '#/components/Link'
+import {Text} from '#/components/Typography'
+
+export function Signup({onPressBack}: {onPressBack: () => void}) {
+ const {_} = useLingui()
+ const t = useTheme()
+ const {screen} = useAnalytics()
+ const [state, dispatch] = React.useReducer(reducer, initialState)
+ const submit = useSubmitSignup({state, dispatch})
+ const {gtMobile} = useBreakpoints()
+
+ const {
+ data: serviceInfo,
+ isFetching,
+ isError,
+ refetch,
+ } = useServiceQuery(state.serviceUrl)
+
+ React.useEffect(() => {
+ screen('CreateAccount')
+ }, [screen])
+
+ React.useEffect(() => {
+ if (isFetching) {
+ dispatch({type: 'setIsLoading', value: true})
+ } else if (!isFetching) {
+ dispatch({type: 'setIsLoading', value: false})
+ }
+ }, [isFetching])
+
+ React.useEffect(() => {
+ if (isError) {
+ dispatch({type: 'setServiceDescription', value: undefined})
+ dispatch({
+ type: 'setError',
+ value: _(
+ msg`Unable to contact your service. Please check your Internet connection.`,
+ ),
+ })
+ } else if (serviceInfo) {
+ dispatch({type: 'setServiceDescription', value: serviceInfo})
+ dispatch({type: 'setError', value: ''})
+ }
+ }, [_, serviceInfo, isError])
+
+ const onNextPress = React.useCallback(async () => {
+ if (state.activeStep === SignupStep.HANDLE) {
+ try {
+ dispatch({type: 'setIsLoading', value: true})
+
+ const res = await getAgent().resolveHandle({
+ handle: createFullHandle(state.handle, state.userDomain),
+ })
+
+ if (res.data.did) {
+ dispatch({
+ type: 'setError',
+ value: _(msg`That handle is already taken.`),
+ })
+ return
+ }
+ } catch (e) {
+ // Don't have to handle
+ } finally {
+ dispatch({type: 'setIsLoading', value: false})
+ }
+ }
+
+ // phoneVerificationRequired is actually whether a captcha is required
+ if (
+ state.activeStep === SignupStep.HANDLE &&
+ !state.serviceDescription?.phoneVerificationRequired
+ ) {
+ submit()
+ return
+ }
+
+ dispatch({type: 'next'})
+ logEvent('signup:nextPressed', {
+ activeStep: state.activeStep,
+ })
+ }, [
+ _,
+ state.activeStep,
+ state.handle,
+ state.serviceDescription?.phoneVerificationRequired,
+ state.userDomain,
+ submit,
+ ])
+
+ const onBackPress = React.useCallback(() => {
+ if (state.activeStep !== SignupStep.INFO) {
+ dispatch({type: 'prev'})
+ } else {
+ onPressBack()
+ }
+ }, [onPressBack, state.activeStep])
+
+ return (
+
+
+
+
+
+
+ Step {state.activeStep + 1} of {' '}
+ {state.serviceDescription &&
+ !state.serviceDescription.phoneVerificationRequired
+ ? '2'
+ : '3'}
+
+
+ {state.activeStep === SignupStep.INFO ? (
+ Your account
+ ) : state.activeStep === SignupStep.HANDLE ? (
+ Your user handle
+ ) : (
+ Complete the challenge
+ )}
+
+
+
+
+
+ {state.activeStep === SignupStep.INFO ? (
+
+ ) : state.activeStep === SignupStep.HANDLE ? (
+
+ ) : (
+
+ )}
+
+
+
+
+
+
+ Back
+
+
+ {state.activeStep !== SignupStep.CAPTCHA && (
+ <>
+ {isError ? (
+ refetch()}>
+
+ Retry
+
+
+ ) : (
+
+
+ Next
+
+
+ )}
+ >
+ )}
+
+
+
+
+
+
+
+ Having trouble? {' '}
+
+ Contact support
+
+
+
+
+
+
+
+ )
+}
diff --git a/src/screens/Signup/state.ts b/src/screens/Signup/state.ts
new file mode 100644
index 0000000000..86a144368f
--- /dev/null
+++ b/src/screens/Signup/state.ts
@@ -0,0 +1,320 @@
+import React, {useCallback} from 'react'
+import {LayoutAnimation} from 'react-native'
+import {
+ ComAtprotoServerCreateAccount,
+ ComAtprotoServerDescribeServer,
+} from '@atproto/api'
+import {msg} from '@lingui/macro'
+import {useLingui} from '@lingui/react'
+import * as EmailValidator from 'email-validator'
+
+import {DEFAULT_SERVICE, IS_PROD_SERVICE} from '#/lib/constants'
+import {cleanError} from '#/lib/strings/errors'
+import {createFullHandle, validateHandle} from '#/lib/strings/handles'
+import {getAge} from '#/lib/strings/time'
+import {logger} from '#/logger'
+import {
+ DEFAULT_PROD_FEEDS,
+ usePreferencesSetBirthDateMutation,
+ useSetSaveFeedsMutation,
+} from '#/state/queries/preferences'
+import {useSessionApi} from '#/state/session'
+import {useOnboardingDispatch} from '#/state/shell'
+
+export type ServiceDescription = ComAtprotoServerDescribeServer.OutputSchema
+
+const DEFAULT_DATE = new Date(Date.now() - 60e3 * 60 * 24 * 365 * 20) // default to 20 years ago
+
+export enum SignupStep {
+ INFO,
+ HANDLE,
+ CAPTCHA,
+}
+
+export type SignupState = {
+ hasPrev: boolean
+ canNext: boolean
+ activeStep: SignupStep
+
+ serviceUrl: string
+ serviceDescription?: ServiceDescription
+ userDomain: string
+ dateOfBirth: Date
+ email: string
+ password: string
+ inviteCode: string
+ handle: string
+
+ error: string
+ isLoading: boolean
+}
+
+export type SignupAction =
+ | {type: 'prev'}
+ | {type: 'next'}
+ | {type: 'finish'}
+ | {type: 'setStep'; value: SignupStep}
+ | {type: 'setServiceUrl'; value: string}
+ | {type: 'setServiceDescription'; value: ServiceDescription | undefined}
+ | {type: 'setEmail'; value: string}
+ | {type: 'setPassword'; value: string}
+ | {type: 'setDateOfBirth'; value: Date}
+ | {type: 'setInviteCode'; value: string}
+ | {type: 'setHandle'; value: string}
+ | {type: 'setVerificationCode'; value: string}
+ | {type: 'setError'; value: string}
+ | {type: 'setCanNext'; value: boolean}
+ | {type: 'setIsLoading'; value: boolean}
+
+export const initialState: SignupState = {
+ hasPrev: false,
+ canNext: false,
+ activeStep: SignupStep.INFO,
+
+ serviceUrl: DEFAULT_SERVICE,
+ serviceDescription: undefined,
+ userDomain: '',
+ dateOfBirth: DEFAULT_DATE,
+ email: '',
+ password: '',
+ handle: '',
+ inviteCode: '',
+
+ error: '',
+ isLoading: false,
+}
+
+export function is13(date: Date) {
+ return getAge(date) >= 13
+}
+
+export function is18(date: Date) {
+ return getAge(date) >= 18
+}
+
+export function reducer(s: SignupState, a: SignupAction): SignupState {
+ let next = {...s}
+
+ switch (a.type) {
+ case 'prev': {
+ if (s.activeStep !== SignupStep.INFO) {
+ LayoutAnimation.configureNext(LayoutAnimation.Presets.easeInEaseOut)
+ next.activeStep--
+ next.error = ''
+ }
+ break
+ }
+ case 'next': {
+ if (s.activeStep !== SignupStep.CAPTCHA) {
+ LayoutAnimation.configureNext(LayoutAnimation.Presets.easeInEaseOut)
+ next.activeStep++
+ next.error = ''
+ }
+ break
+ }
+ case 'setStep': {
+ next.activeStep = a.value
+ break
+ }
+ case 'setServiceUrl': {
+ next.serviceUrl = a.value
+ break
+ }
+ case 'setServiceDescription': {
+ LayoutAnimation.configureNext(LayoutAnimation.Presets.easeInEaseOut)
+
+ next.serviceDescription = a.value
+ next.userDomain = a.value?.availableUserDomains[0] ?? ''
+ next.isLoading = false
+ break
+ }
+
+ case 'setEmail': {
+ next.email = a.value
+ break
+ }
+ case 'setPassword': {
+ next.password = a.value
+ break
+ }
+ case 'setDateOfBirth': {
+ next.dateOfBirth = a.value
+ break
+ }
+ case 'setInviteCode': {
+ next.inviteCode = a.value
+ break
+ }
+ case 'setHandle': {
+ next.handle = a.value
+ break
+ }
+ case 'setCanNext': {
+ next.canNext = a.value
+ break
+ }
+ case 'setIsLoading': {
+ next.isLoading = a.value
+ break
+ }
+ case 'setError': {
+ next.error = a.value
+ break
+ }
+ }
+
+ next.hasPrev = next.activeStep !== SignupStep.INFO
+
+ switch (next.activeStep) {
+ case SignupStep.INFO: {
+ const isValidEmail = EmailValidator.validate(next.email)
+ next.canNext =
+ !!(next.email && next.password && next.dateOfBirth) &&
+ (!next.serviceDescription?.inviteCodeRequired || !!next.inviteCode) &&
+ is13(next.dateOfBirth) &&
+ isValidEmail
+ break
+ }
+ case SignupStep.HANDLE: {
+ next.canNext =
+ !!next.handle && validateHandle(next.handle, next.userDomain).overall
+ break
+ }
+ }
+
+ logger.debug('signup', next)
+
+ if (s.activeStep !== next.activeStep) {
+ logger.debug('signup: step changed', {activeStep: next.activeStep})
+ }
+
+ return next
+}
+
+interface IContext {
+ state: SignupState
+ dispatch: React.Dispatch
+}
+export const SignupContext = React.createContext({} as IContext)
+export const useSignupContext = () => React.useContext(SignupContext)
+
+export function useSubmitSignup({
+ state,
+ dispatch,
+}: {
+ state: SignupState
+ dispatch: (action: SignupAction) => void
+}) {
+ const {_} = useLingui()
+ const {createAccount} = useSessionApi()
+ const {mutateAsync: setBirthDate} = usePreferencesSetBirthDateMutation()
+ const {mutate: setSavedFeeds} = useSetSaveFeedsMutation()
+ const onboardingDispatch = useOnboardingDispatch()
+
+ return useCallback(
+ async (verificationCode?: string) => {
+ if (!state.email) {
+ dispatch({type: 'setStep', value: SignupStep.INFO})
+ return dispatch({
+ type: 'setError',
+ value: _(msg`Please enter your email.`),
+ })
+ }
+ if (!EmailValidator.validate(state.email)) {
+ dispatch({type: 'setStep', value: SignupStep.INFO})
+ return dispatch({
+ type: 'setError',
+ value: _(msg`Your email appears to be invalid.`),
+ })
+ }
+ if (!state.password) {
+ dispatch({type: 'setStep', value: SignupStep.INFO})
+ return dispatch({
+ type: 'setError',
+ value: _(msg`Please choose your password.`),
+ })
+ }
+ if (!state.handle) {
+ dispatch({type: 'setStep', value: SignupStep.HANDLE})
+ return dispatch({
+ type: 'setError',
+ value: _(msg`Please choose your handle.`),
+ })
+ }
+ if (
+ state.serviceDescription?.phoneVerificationRequired &&
+ !verificationCode
+ ) {
+ dispatch({type: 'setStep', value: SignupStep.CAPTCHA})
+ return dispatch({
+ type: 'setError',
+ value: _(msg`Please complete the verification captcha.`),
+ })
+ }
+ dispatch({type: 'setError', value: ''})
+ dispatch({type: 'setIsLoading', value: true})
+
+ try {
+ onboardingDispatch({type: 'start'}) // start now to avoid flashing the wrong view
+ await createAccount({
+ service: state.serviceUrl,
+ email: state.email,
+ handle: createFullHandle(state.handle, state.userDomain),
+ password: state.password,
+ inviteCode: state.inviteCode.trim(),
+ verificationCode: verificationCode,
+ })
+ await setBirthDate({birthDate: state.dateOfBirth})
+ if (IS_PROD_SERVICE(state.serviceUrl)) {
+ setSavedFeeds(DEFAULT_PROD_FEEDS)
+ }
+ } catch (e: any) {
+ onboardingDispatch({type: 'skip'}) // undo starting the onboard
+ let errMsg = e.toString()
+ if (e instanceof ComAtprotoServerCreateAccount.InvalidInviteCodeError) {
+ dispatch({
+ type: 'setError',
+ value: _(
+ msg`Invite code not accepted. Check that you input it correctly and try again.`,
+ ),
+ })
+ dispatch({type: 'setStep', value: SignupStep.INFO})
+ return
+ }
+
+ if ([400, 429].includes(e.status)) {
+ logger.warn('Failed to create account', {message: e})
+ } else {
+ logger.error(`Failed to create account (${e.status} status)`, {
+ message: e,
+ })
+ }
+
+ const error = cleanError(errMsg)
+ const isHandleError = error.toLowerCase().includes('handle')
+
+ dispatch({type: 'setIsLoading', value: false})
+ dispatch({type: 'setError', value: cleanError(errMsg)})
+ dispatch({type: 'setStep', value: isHandleError ? 2 : 1})
+ } finally {
+ dispatch({type: 'setIsLoading', value: false})
+ }
+ },
+ [
+ state.email,
+ state.password,
+ state.handle,
+ state.serviceDescription?.phoneVerificationRequired,
+ state.serviceUrl,
+ state.userDomain,
+ state.inviteCode,
+ state.dateOfBirth,
+ dispatch,
+ _,
+ onboardingDispatch,
+ createAccount,
+ setBirthDate,
+ setSavedFeeds,
+ ],
+ )
+}
diff --git a/src/state/cache/post-shadow.ts b/src/state/cache/post-shadow.ts
index 7cf72fae43..48183739b2 100644
--- a/src/state/cache/post-shadow.ts
+++ b/src/state/cache/post-shadow.ts
@@ -1,13 +1,14 @@
-import {useEffect, useState, useMemo} from 'react'
-import EventEmitter from 'eventemitter3'
+import {useEffect, useMemo, useState} from 'react'
import {AppBskyFeedDefs} from '@atproto/api'
+import {QueryClient} from '@tanstack/react-query'
+import EventEmitter from 'eventemitter3'
+
import {batchedUpdates} from '#/lib/batchedUpdates'
-import {Shadow, castAsShadow} from './types'
import {findAllPostsInQueryData as findAllPostsInNotifsQueryData} from '../queries/notifications/feed'
import {findAllPostsInQueryData as findAllPostsInFeedQueryData} from '../queries/post-feed'
import {findAllPostsInQueryData as findAllPostsInThreadQueryData} from '../queries/post-thread'
import {findAllPostsInQueryData as findAllPostsInSearchQueryData} from '../queries/search-posts'
-import {queryClient} from 'lib/react-query'
+import {castAsShadow, Shadow} from './types'
export type {Shadow} from './types'
export interface PostShadow {
@@ -61,25 +62,29 @@ function mergeShadow(
return POST_TOMBSTONE
}
- const wasLiked = !!post.viewer?.like
- const isLiked = !!shadow.likeUri
let likeCount = post.likeCount ?? 0
- if (wasLiked && !isLiked) {
- likeCount--
- } else if (!wasLiked && isLiked) {
- likeCount++
+ if ('likeUri' in shadow) {
+ const wasLiked = !!post.viewer?.like
+ const isLiked = !!shadow.likeUri
+ if (wasLiked && !isLiked) {
+ likeCount--
+ } else if (!wasLiked && isLiked) {
+ likeCount++
+ }
+ likeCount = Math.max(0, likeCount)
}
- likeCount = Math.max(0, likeCount)
- const wasReposted = !!post.viewer?.repost
- const isReposted = !!shadow.repostUri
let repostCount = post.repostCount ?? 0
- if (wasReposted && !isReposted) {
- repostCount--
- } else if (!wasReposted && isReposted) {
- repostCount++
+ if ('repostUri' in shadow) {
+ const wasReposted = !!post.viewer?.repost
+ const isReposted = !!shadow.repostUri
+ if (wasReposted && !isReposted) {
+ repostCount--
+ } else if (!wasReposted && isReposted) {
+ repostCount++
+ }
+ repostCount = Math.max(0, repostCount)
}
- repostCount = Math.max(0, repostCount)
return castAsShadow({
...post,
@@ -93,8 +98,12 @@ function mergeShadow(
})
}
-export function updatePostShadow(uri: string, value: Partial) {
- const cachedPosts = findPostsInCache(uri)
+export function updatePostShadow(
+ queryClient: QueryClient,
+ uri: string,
+ value: Partial,
+) {
+ const cachedPosts = findPostsInCache(queryClient, uri)
for (let post of cachedPosts) {
shadows.set(post, {...shadows.get(post), ...value})
}
@@ -104,6 +113,7 @@ export function updatePostShadow(uri: string, value: Partial) {
}
function* findPostsInCache(
+ queryClient: QueryClient,
uri: string,
): Generator {
for (let post of findAllPostsInFeedQueryData(queryClient, uri)) {
diff --git a/src/state/cache/profile-shadow.ts b/src/state/cache/profile-shadow.ts
index 34fe5995d3..ca791bc9e8 100644
--- a/src/state/cache/profile-shadow.ts
+++ b/src/state/cache/profile-shadow.ts
@@ -1,7 +1,10 @@
-import {useEffect, useState, useMemo} from 'react'
-import EventEmitter from 'eventemitter3'
+import {useEffect, useMemo, useState} from 'react'
import {AppBskyActorDefs} from '@atproto/api'
+import {QueryClient} from '@tanstack/react-query'
+import EventEmitter from 'eventemitter3'
+
import {batchedUpdates} from '#/lib/batchedUpdates'
+import {findAllProfilesInQueryData as findAllProfilesInActorSearchQueryData} from '../queries/actor-search'
import {findAllProfilesInQueryData as findAllProfilesInListMembersQueryData} from '../queries/list-members'
import {findAllProfilesInQueryData as findAllProfilesInMyBlockedAccountsQueryData} from '../queries/my-blocked-accounts'
import {findAllProfilesInQueryData as findAllProfilesInMyMutedAccountsQueryData} from '../queries/my-muted-accounts'
@@ -11,9 +14,7 @@ import {findAllProfilesInQueryData as findAllProfilesInProfileQueryData} from '.
import {findAllProfilesInQueryData as findAllProfilesInProfileFollowersQueryData} from '../queries/profile-followers'
import {findAllProfilesInQueryData as findAllProfilesInProfileFollowsQueryData} from '../queries/profile-follows'
import {findAllProfilesInQueryData as findAllProfilesInSuggestedFollowsQueryData} from '../queries/suggested-follows'
-import {findAllProfilesInQueryData as findAllProfilesInActorSearchQueryData} from '../queries/actor-search'
-import {Shadow, castAsShadow} from './types'
-import {queryClient} from 'lib/react-query'
+import {castAsShadow, Shadow} from './types'
export type {Shadow} from './types'
export interface ProfileShadow {
@@ -58,10 +59,11 @@ export function useProfileShadow<
}
export function updateProfileShadow(
+ queryClient: QueryClient,
did: string,
value: Partial,
) {
- const cachedProfiles = findProfilesInCache(did)
+ const cachedProfiles = findProfilesInCache(queryClient, did)
for (let post of cachedProfiles) {
shadows.set(post, {...shadows.get(post), ...value})
}
@@ -90,6 +92,7 @@ function mergeShadow(
}
function* findProfilesInCache(
+ queryClient: QueryClient,
did: string,
): Generator {
yield* findAllProfilesInListMembersQueryData(queryClient, did)
diff --git a/src/state/dialogs/index.tsx b/src/state/dialogs/index.tsx
index 951105a509..26bb6792fd 100644
--- a/src/state/dialogs/index.tsx
+++ b/src/state/dialogs/index.tsx
@@ -1,5 +1,6 @@
import React from 'react'
import {SharedValue, useSharedValue} from 'react-native-reanimated'
+
import {DialogControlRefProps} from '#/components/Dialog'
import {Provider as GlobalDialogsProvider} from '#/components/dialogs/Context'
@@ -53,7 +54,10 @@ export function Provider({children}: React.PropsWithChildren<{}>) {
>('auto')
const closeAllDialogs = React.useCallback(() => {
- activeDialogs.current.forEach(dialog => dialog.current.close())
+ openDialogs.current.forEach(id => {
+ const dialog = activeDialogs.current.get(id)
+ if (dialog) dialog.current.close()
+ })
return openDialogs.current.size > 0
}, [])
@@ -74,15 +78,11 @@ export function Provider({children}: React.PropsWithChildren<{}>) {
const context = React.useMemo(
() => ({
- activeDialogs: {
- current: new Map(),
- },
- openDialogs: {
- current: new Set(),
- },
+ activeDialogs,
+ openDialogs,
importantForAccessibility,
}),
- [importantForAccessibility],
+ [importantForAccessibility, activeDialogs, openDialogs],
)
const controls = React.useMemo(
() => ({closeAllDialogs, setDialogIsOpen}),
diff --git a/src/state/modals/index.tsx b/src/state/modals/index.tsx
index 524dcb1bac..cc0f9c8b83 100644
--- a/src/state/modals/index.tsx
+++ b/src/state/modals/index.tsx
@@ -1,11 +1,10 @@
import React from 'react'
-import {AppBskyActorDefs, AppBskyGraphDefs} from '@atproto/api'
import {Image as RNImage} from 'react-native-image-crop-picker'
+import {AppBskyActorDefs, AppBskyGraphDefs} from '@atproto/api'
-import {ImageModel} from '#/state/models/media/image'
-import {GalleryModel} from '#/state/models/media/gallery'
import {useNonReactiveCallback} from '#/lib/hooks/useNonReactiveCallback'
-import {EmbedPlayerSource} from '#/lib/strings/embed-player'
+import {GalleryModel} from '#/state/models/media/gallery'
+import {ImageModel} from '#/state/models/media/image'
import {ThreadgateSetting} from '../queries/threadgate'
export interface EditProfileModal {
@@ -118,20 +117,11 @@ export interface ChangePasswordModal {
name: 'change-password'
}
-export interface SwitchAccountModal {
- name: 'switch-account'
-}
-
export interface LinkWarningModal {
name: 'link-warning'
text: string
href: string
-}
-
-export interface EmbedConsentModal {
- name: 'embed-consent'
- source: EmbedPlayerSource
- onAccept: () => void
+ share?: boolean
}
export interface InAppBrowserConsentModal {
@@ -148,7 +138,6 @@ export type Modal =
| VerifyEmailModal
| ChangeEmailModal
| ChangePasswordModal
- | SwitchAccountModal
// Curation
| ContentLanguagesSettingsModal
@@ -173,7 +162,6 @@ export type Modal =
// Generic
| LinkWarningModal
- | EmbedConsentModal
| InAppBrowserConsentModal
const ModalContext = React.createContext<{
diff --git a/src/state/persisted/legacy.ts b/src/state/persisted/legacy.ts
index fd94a96a24..ca7967cd2e 100644
--- a/src/state/persisted/legacy.ts
+++ b/src/state/persisted/legacy.ts
@@ -2,7 +2,7 @@ import AsyncStorage from '@react-native-async-storage/async-storage'
import {logger} from '#/logger'
import {defaults, Schema, schema} from '#/state/persisted/schema'
-import {write, read} from '#/state/persisted/store'
+import {read, write} from '#/state/persisted/store'
/**
* The shape of the serialized data from our legacy Mobx store.
@@ -113,6 +113,7 @@ export function transform(legacy: Partial): Schema {
externalEmbeds: defaults.externalEmbeds,
lastSelectedHomeFeed: defaults.lastSelectedHomeFeed,
pdsAddressHistory: defaults.pdsAddressHistory,
+ disableHaptics: defaults.disableHaptics,
}
}
diff --git a/src/state/persisted/schema.ts b/src/state/persisted/schema.ts
index 0aefaa4744..67e082a95d 100644
--- a/src/state/persisted/schema.ts
+++ b/src/state/persisted/schema.ts
@@ -1,4 +1,5 @@
import {z} from 'zod'
+
import {deviceLocales} from '#/platform/detection'
const externalEmbedOptions = ['show', 'hide'] as const
@@ -58,6 +59,7 @@ export const schema = z.object({
useInAppBrowser: z.boolean().optional(),
lastSelectedHomeFeed: z.string().optional(),
pdsAddressHistory: z.array(z.string()).optional(),
+ disableHaptics: z.boolean().optional(),
})
export type Schema = z.infer
@@ -93,4 +95,5 @@ export const defaults: Schema = {
useInAppBrowser: undefined,
lastSelectedHomeFeed: undefined,
pdsAddressHistory: [],
+ disableHaptics: false,
}
diff --git a/src/state/preferences/disable-haptics.tsx b/src/state/preferences/disable-haptics.tsx
new file mode 100644
index 0000000000..af2c55a182
--- /dev/null
+++ b/src/state/preferences/disable-haptics.tsx
@@ -0,0 +1,42 @@
+import React from 'react'
+
+import * as persisted from '#/state/persisted'
+
+type StateContext = boolean
+type SetContext = (v: boolean) => void
+
+const stateContext = React.createContext(
+ Boolean(persisted.defaults.disableHaptics),
+)
+const setContext = React.createContext((_: boolean) => {})
+
+export function Provider({children}: {children: React.ReactNode}) {
+ const [state, setState] = React.useState(
+ Boolean(persisted.get('disableHaptics')),
+ )
+
+ const setStateWrapped = React.useCallback(
+ (hapticsEnabled: persisted.Schema['disableHaptics']) => {
+ setState(Boolean(hapticsEnabled))
+ persisted.write('disableHaptics', hapticsEnabled)
+ },
+ [setState],
+ )
+
+ React.useEffect(() => {
+ return persisted.onUpdate(() => {
+ setState(Boolean(persisted.get('disableHaptics')))
+ })
+ }, [setStateWrapped])
+
+ return (
+
+
+ {children}
+
+
+ )
+}
+
+export const useHapticsDisabled = () => React.useContext(stateContext)
+export const useSetHapticsDisabled = () => React.useContext(setContext)
diff --git a/src/state/preferences/in-app-browser.tsx b/src/state/preferences/in-app-browser.tsx
index 2398f1f812..73c4bbbe78 100644
--- a/src/state/preferences/in-app-browser.tsx
+++ b/src/state/preferences/in-app-browser.tsx
@@ -1,15 +1,16 @@
import React from 'react'
-import * as persisted from '#/state/persisted'
import {Linking} from 'react-native'
import * as WebBrowser from 'expo-web-browser'
+
import {isNative} from '#/platform/detection'
-import {useModalControls} from '../modals'
+import * as persisted from '#/state/persisted'
import {usePalette} from 'lib/hooks/usePalette'
import {
+ createBskyAppAbsoluteUrl,
isBskyRSSUrl,
isRelativeUrl,
- createBskyAppAbsoluteUrl,
} from 'lib/strings/url-helpers'
+import {useModalControls} from '../modals'
type StateContext = persisted.Schema['useInAppBrowser']
type SetContext = (v: persisted.Schema['useInAppBrowser']) => void
@@ -78,6 +79,7 @@ export function useOpenLink() {
presentationStyle:
WebBrowser.WebBrowserPresentationStyle.FULL_SCREEN,
toolbarColor: pal.colors.backgroundLight,
+ createTask: false,
})
return
}
diff --git a/src/state/preferences/index.tsx b/src/state/preferences/index.tsx
index cf1d901511..804d0fc310 100644
--- a/src/state/preferences/index.tsx
+++ b/src/state/preferences/index.tsx
@@ -1,11 +1,12 @@
import React from 'react'
-import {Provider as LanguagesProvider} from './languages'
+
import {Provider as AltTextRequiredProvider} from '../preferences/alt-text-required'
import {Provider as HiddenPostsProvider} from '../preferences/hidden-posts'
+import {Provider as DisableHapticsProvider} from './disable-haptics'
import {Provider as ExternalEmbedsProvider} from './external-embeds-prefs'
import {Provider as InAppBrowserProvider} from './in-app-browser'
+import {Provider as LanguagesProvider} from './languages'
-export {useLanguagePrefs, useLanguagePrefsApi} from './languages'
export {
useRequireAltTextEnabled,
useSetRequireAltTextEnabled,
@@ -16,6 +17,7 @@ export {
} from './external-embeds-prefs'
export * from './hidden-posts'
export {useLabelDefinitions} from './label-defs'
+export {useLanguagePrefs, useLanguagePrefsApi} from './languages'
export function Provider({children}: React.PropsWithChildren<{}>) {
return (
@@ -23,7 +25,9 @@ export function Provider({children}: React.PropsWithChildren<{}>) {
- {children}
+
+ {children}
+
diff --git a/src/state/preferences/languages.tsx b/src/state/preferences/languages.tsx
index df774c05e2..b7494c1f93 100644
--- a/src/state/preferences/languages.tsx
+++ b/src/state/preferences/languages.tsx
@@ -1,6 +1,7 @@
import React from 'react'
-import * as persisted from '#/state/persisted'
+
import {AppLanguage} from '#/locale/languages'
+import * as persisted from '#/state/persisted'
type SetStateCb = (
s: persisted.Schema['languagePrefs'],
@@ -9,6 +10,7 @@ type StateContext = persisted.Schema['languagePrefs']
type ApiContext = {
setPrimaryLanguage: (code2: string) => void
setPostLanguage: (commaSeparatedLangCodes: string) => void
+ setContentLanguage: (code2: string) => void
toggleContentLanguage: (code2: string) => void
togglePostLanguage: (code2: string) => void
savePostLanguageToHistory: () => void
@@ -21,6 +23,7 @@ const stateContext = React.createContext(
const apiContext = React.createContext({
setPrimaryLanguage: (_: string) => {},
setPostLanguage: (_: string) => {},
+ setContentLanguage: (_: string) => {},
toggleContentLanguage: (_: string) => {},
togglePostLanguage: (_: string) => {},
savePostLanguageToHistory: () => {},
@@ -53,6 +56,9 @@ export function Provider({children}: React.PropsWithChildren<{}>) {
setPostLanguage(commaSeparatedLangCodes: string) {
setStateWrapped(s => ({...s, postLanguage: commaSeparatedLangCodes}))
},
+ setContentLanguage(code2: string) {
+ setStateWrapped(s => ({...s, contentLanguages: [code2]}))
+ },
toggleContentLanguage(code2: string) {
setStateWrapped(s => {
const exists = s.contentLanguages.includes(code2)
diff --git a/src/state/queries/actor-autocomplete.ts b/src/state/queries/actor-autocomplete.ts
index e6bf04ba3d..10bc951c1a 100644
--- a/src/state/queries/actor-autocomplete.ts
+++ b/src/state/queries/actor-autocomplete.ts
@@ -1,21 +1,22 @@
import React from 'react'
-import {AppBskyActorDefs, ModerationOpts, moderateProfile} from '@atproto/api'
+import {AppBskyActorDefs, moderateProfile, ModerationOpts} from '@atproto/api'
import {useQuery, useQueryClient} from '@tanstack/react-query'
-import {logger} from '#/logger'
-import {getAgent} from '#/state/session'
-import {useMyFollowsQuery} from '#/state/queries/my-follows'
-import {STALE} from '#/state/queries'
-import {DEFAULT_LOGGED_OUT_PREFERENCES, useModerationOpts} from './preferences'
-import {isInvalidHandle} from '#/lib/strings/handles'
import {isJustAMute} from '#/lib/moderation'
+import {isInvalidHandle} from '#/lib/strings/handles'
+import {logger} from '#/logger'
+import {STALE} from '#/state/queries'
+import {useMyFollowsQuery} from '#/state/queries/my-follows'
+import {getAgent} from '#/state/session'
+import {DEFAULT_LOGGED_OUT_PREFERENCES, useModerationOpts} from './preferences'
const DEFAULT_MOD_OPTS = {
userDid: undefined,
prefs: DEFAULT_LOGGED_OUT_PREFERENCES.moderationPrefs,
}
-export const RQKEY = (prefix: string) => ['actor-autocomplete', prefix]
+const RQKEY_ROOT = 'actor-autocomplete'
+export const RQKEY = (prefix: string) => [RQKEY_ROOT, prefix]
export function useActorAutocompleteQuery(prefix: string) {
const {data: follows, isFetching} = useMyFollowsQuery()
@@ -29,7 +30,7 @@ export function useActorAutocompleteQuery(prefix: string) {
async queryFn() {
const res = prefix
? await getAgent().searchActorsTypeahead({
- term: prefix,
+ q: prefix,
limit: 8,
})
: undefined
@@ -67,7 +68,7 @@ export function useActorAutocompleteFn() {
queryKey: RQKEY(query || ''),
queryFn: () =>
getAgent().searchActorsTypeahead({
- term: query,
+ q: query,
limit,
}),
})
diff --git a/src/state/queries/actor-search.ts b/src/state/queries/actor-search.ts
index f72511548c..eb065b6cf5 100644
--- a/src/state/queries/actor-search.ts
+++ b/src/state/queries/actor-search.ts
@@ -1,22 +1,29 @@
import {AppBskyActorDefs} from '@atproto/api'
import {QueryClient, useQuery} from '@tanstack/react-query'
-import {getAgent} from '#/state/session'
import {STALE} from '#/state/queries'
+import {getAgent} from '#/state/session'
-export const RQKEY = (prefix: string) => ['actor-search', prefix]
+const RQKEY_ROOT = 'actor-search'
+export const RQKEY = (query: string) => [RQKEY_ROOT, query]
-export function useActorSearch(prefix: string) {
+export function useActorSearch({
+ query,
+ enabled,
+}: {
+ query: string
+ enabled?: boolean
+}) {
return useQuery({
staleTime: STALE.MINUTES.ONE,
- queryKey: RQKEY(prefix || ''),
+ queryKey: RQKEY(query || ''),
async queryFn() {
const res = await getAgent().searchActors({
- term: prefix,
+ q: query,
})
return res.data.actors
},
- enabled: !!prefix,
+ enabled: enabled && !!query,
})
}
@@ -26,7 +33,7 @@ export function* findAllProfilesInQueryData(
) {
const queryDatas = queryClient.getQueriesData(
{
- queryKey: ['actor-search'],
+ queryKey: [RQKEY_ROOT],
},
)
for (const [_queryKey, queryData] of queryDatas) {
diff --git a/src/state/queries/app-passwords.ts b/src/state/queries/app-passwords.ts
index 014244f01c..ddfe6643dd 100644
--- a/src/state/queries/app-passwords.ts
+++ b/src/state/queries/app-passwords.ts
@@ -1,10 +1,11 @@
import {ComAtprotoServerCreateAppPassword} from '@atproto/api'
-import {useQuery, useQueryClient, useMutation} from '@tanstack/react-query'
+import {useMutation, useQuery, useQueryClient} from '@tanstack/react-query'
import {STALE} from '#/state/queries'
import {getAgent} from '../session'
-export const RQKEY = () => ['app-passwords']
+const RQKEY_ROOT = 'app-passwords'
+export const RQKEY = () => [RQKEY_ROOT]
export function useAppPasswordsQuery() {
return useQuery({
diff --git a/src/state/queries/feed.ts b/src/state/queries/feed.ts
index 1fa92c291f..0d3de89697 100644
--- a/src/state/queries/feed.ts
+++ b/src/state/queries/feed.ts
@@ -1,24 +1,24 @@
import {
- useQuery,
- useInfiniteQuery,
- InfiniteData,
- QueryKey,
- useMutation,
-} from '@tanstack/react-query'
-import {
- AtUri,
- RichText,
AppBskyFeedDefs,
AppBskyGraphDefs,
AppBskyUnspeccedGetPopularFeedGenerators,
+ AtUri,
+ RichText,
} from '@atproto/api'
+import {
+ InfiniteData,
+ QueryKey,
+ useInfiniteQuery,
+ useMutation,
+ useQuery,
+} from '@tanstack/react-query'
-import {router} from '#/routes'
import {sanitizeDisplayName} from '#/lib/strings/display-names'
import {sanitizeHandle} from '#/lib/strings/handles'
-import {getAgent} from '#/state/session'
-import {usePreferencesQuery} from '#/state/queries/preferences'
import {STALE} from '#/state/queries'
+import {usePreferencesQuery} from '#/state/queries/preferences'
+import {getAgent, useSession} from '#/state/session'
+import {router} from '#/routes'
export type FeedSourceFeedInfo = {
type: 'feed'
@@ -56,8 +56,9 @@ export type FeedSourceListInfo = {
export type FeedSourceInfo = FeedSourceFeedInfo | FeedSourceListInfo
+const feedSourceInfoQueryKeyRoot = 'getFeedSourceInfo'
export const feedSourceInfoQueryKey = ({uri}: {uri: string}) => [
- 'getFeedSourceInfo',
+ feedSourceInfoQueryKeyRoot,
uri,
]
@@ -215,15 +216,38 @@ const FOLLOWING_FEED_STUB: FeedSourceInfo = {
likeCount: 0,
likeUri: '',
}
+const DISCOVER_FEED_STUB: FeedSourceInfo = {
+ type: 'feed',
+ displayName: 'Discover',
+ uri: '',
+ route: {
+ href: '/',
+ name: 'Home',
+ params: {},
+ },
+ cid: '',
+ avatar: '',
+ description: new RichText({text: ''}),
+ creatorDid: '',
+ creatorHandle: '',
+ likeCount: 0,
+ likeUri: '',
+}
+
+const pinnedFeedInfosQueryKeyRoot = 'pinnedFeedsInfos'
export function usePinnedFeedsInfos() {
+ const {hasSession} = useSession()
const {data: preferences, isLoading: isLoadingPrefs} = usePreferencesQuery()
const pinnedUris = preferences?.feeds?.pinned ?? []
return useQuery({
staleTime: STALE.INFINITY,
enabled: !isLoadingPrefs,
- queryKey: ['pinnedFeedsInfos', pinnedUris.join(',')],
+ queryKey: [
+ pinnedFeedInfosQueryKeyRoot,
+ (hasSession ? 'authed:' : 'unauthed:') + pinnedUris.join(','),
+ ],
queryFn: async () => {
let resolved = new Map()
@@ -261,7 +285,7 @@ export function usePinnedFeedsInfos() {
)
// The returned result will have the original order.
- const result = [FOLLOWING_FEED_STUB]
+ const result = [hasSession ? FOLLOWING_FEED_STUB : DISCOVER_FEED_STUB]
await Promise.allSettled([feedsPromise, ...listsPromises])
for (let pinnedUri of pinnedUris) {
if (resolved.has(pinnedUri)) {
diff --git a/src/state/queries/handle.ts b/src/state/queries/handle.ts
index d7c4116999..ddeb35ce7b 100644
--- a/src/state/queries/handle.ts
+++ b/src/state/queries/handle.ts
@@ -1,11 +1,16 @@
import React from 'react'
-import {useQueryClient, useMutation} from '@tanstack/react-query'
+import {useMutation, useQueryClient} from '@tanstack/react-query'
-import {getAgent} from '#/state/session'
import {STALE} from '#/state/queries'
+import {getAgent} from '#/state/session'
-const fetchHandleQueryKey = (handleOrDid: string) => ['handle', handleOrDid]
-const fetchDidQueryKey = (handleOrDid: string) => ['did', handleOrDid]
+const handleQueryKeyRoot = 'handle'
+const fetchHandleQueryKey = (handleOrDid: string) => [
+ handleQueryKeyRoot,
+ handleOrDid,
+]
+const didQueryKeyRoot = 'did'
+const fetchDidQueryKey = (handleOrDid: string) => [didQueryKeyRoot, handleOrDid]
export function useFetchHandle() {
const queryClient = useQueryClient()
diff --git a/src/state/queries/invites.ts b/src/state/queries/invites.ts
index 9ae9c707f4..d5d6ecf97e 100644
--- a/src/state/queries/invites.ts
+++ b/src/state/queries/invites.ts
@@ -1,14 +1,16 @@
import {ComAtprotoServerDefs} from '@atproto/api'
import {useQuery} from '@tanstack/react-query'
-import {getAgent} from '#/state/session'
-import {STALE} from '#/state/queries'
import {cleanError} from '#/lib/strings/errors'
+import {STALE} from '#/state/queries'
+import {getAgent} from '#/state/session'
function isInviteAvailable(invite: ComAtprotoServerDefs.InviteCode): boolean {
return invite.available - invite.uses.length > 0 && !invite.disabled
}
+const inviteCodesQueryKeyRoot = 'inviteCodes'
+
export type InviteCodesQueryResponse = Exclude<
ReturnType['data'],
undefined
@@ -16,7 +18,7 @@ export type InviteCodesQueryResponse = Exclude<
export function useInviteCodesQuery() {
return useQuery({
staleTime: STALE.MINUTES.FIVE,
- queryKey: ['inviteCodes'],
+ queryKey: [inviteCodesQueryKeyRoot],
queryFn: async () => {
const res = await getAgent()
.com.atproto.server.getAccountInviteCodes({})
diff --git a/src/state/queries/labeler.ts b/src/state/queries/labeler.ts
index b2f93c4a4a..78301eb0df 100644
--- a/src/state/queries/labeler.ts
+++ b/src/state/queries/labeler.ts
@@ -1,18 +1,26 @@
-import {z} from 'zod'
-import {useQuery, useMutation, useQueryClient} from '@tanstack/react-query'
import {AppBskyLabelerDefs} from '@atproto/api'
+import {useMutation, useQuery, useQueryClient} from '@tanstack/react-query'
+import {z} from 'zod'
-import {getAgent} from '#/state/session'
-import {preferencesQueryKey} from '#/state/queries/preferences'
+import {labelersDetailedInfoQueryKeyRoot} from '#/lib/react-query'
import {STALE} from '#/state/queries'
+import {preferencesQueryKey} from '#/state/queries/preferences'
+import {getAgent} from '#/state/session'
-export const labelerInfoQueryKey = (did: string) => ['labeler-info', did]
-export const labelersInfoQueryKey = (dids: string[]) => [
- 'labelers-info',
- dids.sort(),
+const labelerInfoQueryKeyRoot = 'labeler-info'
+export const labelerInfoQueryKey = (did: string) => [
+ labelerInfoQueryKeyRoot,
+ did,
]
+
+const labelersInfoQueryKeyRoot = 'labelers-info'
+export const labelersInfoQueryKey = (dids: string[]) => [
+ labelersInfoQueryKeyRoot,
+ dids.slice().sort(),
+]
+
export const labelersDetailedInfoQueryKey = (dids: string[]) => [
- 'labelers-detailed-info',
+ labelersDetailedInfoQueryKeyRoot,
dids,
]
diff --git a/src/state/queries/list-members.ts b/src/state/queries/list-members.ts
index d84089c90d..87a409b88c 100644
--- a/src/state/queries/list-members.ts
+++ b/src/state/queries/list-members.ts
@@ -1,18 +1,19 @@
import {AppBskyActorDefs, AppBskyGraphGetList} from '@atproto/api'
import {
- useInfiniteQuery,
InfiniteData,
QueryClient,
QueryKey,
+ useInfiniteQuery,
} from '@tanstack/react-query'
-import {getAgent} from '#/state/session'
import {STALE} from '#/state/queries'
+import {getAgent} from '#/state/session'
const PAGE_SIZE = 30
type RQPageParam = string | undefined
-export const RQKEY = (uri: string) => ['list-members', uri]
+const RQKEY_ROOT = 'list-members'
+export const RQKEY = (uri: string) => [RQKEY_ROOT, uri]
export function useListMembersQuery(uri: string) {
return useInfiniteQuery<
@@ -44,7 +45,7 @@ export function* findAllProfilesInQueryData(
const queryDatas = queryClient.getQueriesData<
InfiniteData
>({
- queryKey: ['list-members'],
+ queryKey: [RQKEY_ROOT],
})
for (const [_queryKey, queryData] of queryDatas) {
if (!queryData) {
diff --git a/src/state/queries/list-memberships.ts b/src/state/queries/list-memberships.ts
index 6cae3fa2e8..d5ddd5a706 100644
--- a/src/state/queries/list-memberships.ts
+++ b/src/state/queries/list-memberships.ts
@@ -17,16 +17,17 @@
import {AtUri} from '@atproto/api'
import {useMutation, useQuery, useQueryClient} from '@tanstack/react-query'
-import {useSession, getAgent} from '#/state/session'
-import {RQKEY as LIST_MEMBERS_RQKEY} from '#/state/queries/list-members'
import {STALE} from '#/state/queries'
+import {RQKEY as LIST_MEMBERS_RQKEY} from '#/state/queries/list-members'
+import {getAgent, useSession} from '#/state/session'
// sanity limit is SANITY_PAGE_LIMIT*PAGE_SIZE total records
const SANITY_PAGE_LIMIT = 1000
const PAGE_SIZE = 100
// ...which comes 100,000k list members
-export const RQKEY = () => ['list-memberships']
+const RQKEY_ROOT = 'list-memberships'
+export const RQKEY = () => [RQKEY_ROOT]
export interface ListMembersip {
membershipUri: string
diff --git a/src/state/queries/list.ts b/src/state/queries/list.ts
index 845658a279..c653d53765 100644
--- a/src/state/queries/list.ts
+++ b/src/state/queries/list.ts
@@ -1,21 +1,23 @@
+import {Image as RNImage} from 'react-native-image-crop-picker'
import {
- AtUri,
+ AppBskyGraphDefs,
AppBskyGraphGetList,
AppBskyGraphList,
- AppBskyGraphDefs,
+ AtUri,
Facet,
} from '@atproto/api'
-import {Image as RNImage} from 'react-native-image-crop-picker'
-import {useQuery, useMutation, useQueryClient} from '@tanstack/react-query'
+import {useMutation, useQuery, useQueryClient} from '@tanstack/react-query'
import chunk from 'lodash.chunk'
-import {useSession, getAgent} from '../session'
-import {invalidate as invalidateMyLists} from './my-lists'
-import {RQKEY as PROFILE_LISTS_RQKEY} from './profile-lists'
+
import {uploadBlob} from '#/lib/api'
import {until} from '#/lib/async/until'
import {STALE} from '#/state/queries'
+import {getAgent, useSession} from '../session'
+import {invalidate as invalidateMyLists} from './my-lists'
+import {RQKEY as PROFILE_LISTS_RQKEY} from './profile-lists'
-export const RQKEY = (uri: string) => ['list', uri]
+const RQKEY_ROOT = 'list'
+export const RQKEY = (uri: string) => [RQKEY_ROOT, uri]
export function useListQuery(uri?: string) {
return useQuery({
diff --git a/src/state/queries/my-blocked-accounts.ts b/src/state/queries/my-blocked-accounts.ts
index badaaec34d..36b9ac5804 100644
--- a/src/state/queries/my-blocked-accounts.ts
+++ b/src/state/queries/my-blocked-accounts.ts
@@ -1,14 +1,15 @@
import {AppBskyActorDefs, AppBskyGraphGetBlocks} from '@atproto/api'
import {
- useInfiniteQuery,
InfiniteData,
QueryClient,
QueryKey,
+ useInfiniteQuery,
} from '@tanstack/react-query'
import {getAgent} from '#/state/session'
-export const RQKEY = () => ['my-blocked-accounts']
+const RQKEY_ROOT = 'my-blocked-accounts'
+export const RQKEY = () => [RQKEY_ROOT]
type RQPageParam = string | undefined
export function useMyBlockedAccountsQuery() {
@@ -39,7 +40,7 @@ export function* findAllProfilesInQueryData(
const queryDatas = queryClient.getQueriesData<
InfiniteData
>({
- queryKey: ['my-blocked-accounts'],
+ queryKey: [RQKEY_ROOT],
})
for (const [_queryKey, queryData] of queryDatas) {
if (!queryData?.pages) {
diff --git a/src/state/queries/my-follows.ts b/src/state/queries/my-follows.ts
index f95c3f5a7c..a130347f83 100644
--- a/src/state/queries/my-follows.ts
+++ b/src/state/queries/my-follows.ts
@@ -1,14 +1,16 @@
import {AppBskyActorDefs} from '@atproto/api'
import {useQuery} from '@tanstack/react-query'
-import {useSession, getAgent} from '../session'
+
import {STALE} from '#/state/queries'
+import {getAgent, useSession} from '../session'
// sanity limit is SANITY_PAGE_LIMIT*PAGE_SIZE total records
const SANITY_PAGE_LIMIT = 1000
const PAGE_SIZE = 100
// ...which comes 10,000k follows
-export const RQKEY = () => ['my-follows']
+const RQKEY_ROOT = 'my-follows'
+export const RQKEY = () => [RQKEY_ROOT]
export function useMyFollowsQuery() {
const {currentAccount} = useSession()
diff --git a/src/state/queries/my-lists.ts b/src/state/queries/my-lists.ts
index d53e130327..284b757c6d 100644
--- a/src/state/queries/my-lists.ts
+++ b/src/state/queries/my-lists.ts
@@ -1,16 +1,18 @@
import {AppBskyGraphDefs} from '@atproto/api'
-import {useQuery, QueryClient} from '@tanstack/react-query'
+import {QueryClient, useQuery} from '@tanstack/react-query'
import {accumulate} from '#/lib/async/accumulate'
-import {useSession, getAgent} from '#/state/session'
import {STALE} from '#/state/queries'
+import {getAgent, useSession} from '#/state/session'
export type MyListsFilter =
| 'all'
| 'curate'
| 'mod'
| 'all-including-subscribed'
-export const RQKEY = (filter: MyListsFilter) => ['my-lists', filter]
+
+const RQKEY_ROOT = 'my-lists'
+export const RQKEY = (filter: MyListsFilter) => [RQKEY_ROOT, filter]
export function useMyListsQuery(filter: MyListsFilter) {
const {currentAccount} = useSession()
@@ -91,6 +93,6 @@ export function invalidate(qc: QueryClient, filter?: MyListsFilter) {
if (filter) {
qc.invalidateQueries({queryKey: RQKEY(filter)})
} else {
- qc.invalidateQueries({queryKey: ['my-lists']})
+ qc.invalidateQueries({queryKey: [RQKEY_ROOT]})
}
}
diff --git a/src/state/queries/my-muted-accounts.ts b/src/state/queries/my-muted-accounts.ts
index 8929e04d3e..9e90044bf4 100644
--- a/src/state/queries/my-muted-accounts.ts
+++ b/src/state/queries/my-muted-accounts.ts
@@ -1,14 +1,15 @@
import {AppBskyActorDefs, AppBskyGraphGetMutes} from '@atproto/api'
import {
- useInfiniteQuery,
InfiniteData,
QueryClient,
QueryKey,
+ useInfiniteQuery,
} from '@tanstack/react-query'
import {getAgent} from '#/state/session'
-export const RQKEY = () => ['my-muted-accounts']
+const RQKEY_ROOT = 'my-muted-accounts'
+export const RQKEY = () => [RQKEY_ROOT]
type RQPageParam = string | undefined
export function useMyMutedAccountsQuery() {
@@ -39,7 +40,7 @@ export function* findAllProfilesInQueryData(
const queryDatas = queryClient.getQueriesData<
InfiniteData
>({
- queryKey: ['my-muted-accounts'],
+ queryKey: [RQKEY_ROOT],
})
for (const [_queryKey, queryData] of queryDatas) {
if (!queryData?.pages) {
diff --git a/src/state/queries/notifications/feed.ts b/src/state/queries/notifications/feed.ts
index 405d054d44..b4bdd741ea 100644
--- a/src/state/queries/notifications/feed.ts
+++ b/src/state/queries/notifications/feed.ts
@@ -19,28 +19,30 @@
import {useEffect, useRef} from 'react'
import {AppBskyFeedDefs} from '@atproto/api'
import {
- useInfiniteQuery,
InfiniteData,
- QueryKey,
- useQueryClient,
QueryClient,
+ QueryKey,
+ useInfiniteQuery,
+ useQueryClient,
} from '@tanstack/react-query'
-import {useModerationOpts} from '../preferences'
-import {useUnreadNotificationsApi} from './unread'
-import {fetchPage} from './util'
-import {FeedPage} from './types'
+
import {useMutedThreads} from '#/state/muted-threads'
import {STALE} from '..'
+import {useModerationOpts} from '../preferences'
import {embedViewRecordToPostView, getEmbeddedPost} from '../util'
+import {FeedPage} from './types'
+import {useUnreadNotificationsApi} from './unread'
+import {fetchPage} from './util'
-export type {NotificationType, FeedNotification, FeedPage} from './types'
+export type {FeedNotification, FeedPage, NotificationType} from './types'
const PAGE_SIZE = 30
type RQPageParam = string | undefined
+const RQKEY_ROOT = 'notification-feed'
export function RQKEY() {
- return ['notification-feed']
+ return [RQKEY_ROOT]
}
export function useNotificationFeedQuery(opts?: {enabled?: boolean}) {
@@ -138,7 +140,7 @@ export function* findAllPostsInQueryData(
uri: string,
): Generator {
const queryDatas = queryClient.getQueriesData>({
- queryKey: ['notification-feed'],
+ queryKey: [RQKEY_ROOT],
})
for (const [_queryKey, queryData] of queryDatas) {
if (!queryData?.pages) {
diff --git a/src/state/queries/notifications/unread.tsx b/src/state/queries/notifications/unread.tsx
index e7a0631ecf..1c01d71a5e 100644
--- a/src/state/queries/notifications/unread.tsx
+++ b/src/state/queries/notifications/unread.tsx
@@ -3,24 +3,28 @@
*/
import React from 'react'
+import {AppState} from 'react-native'
import * as Notifications from 'expo-notifications'
import {useQueryClient} from '@tanstack/react-query'
+import EventEmitter from 'eventemitter3'
+
import BroadcastChannel from '#/lib/broadcast'
-import {useSession, getAgent} from '#/state/session'
-import {useModerationOpts} from '../preferences'
-import {fetchPage} from './util'
-import {CachedFeedPage, FeedPage} from './types'
+import {logger} from '#/logger'
import {isNative} from '#/platform/detection'
import {useMutedThreads} from '#/state/muted-threads'
-import {RQKEY as RQKEY_NOTIFS} from './feed'
-import {logger} from '#/logger'
+import {getAgent, useSession} from '#/state/session'
+import {useModerationOpts} from '../preferences'
import {truncateAndInvalidate} from '../util'
-import {AppState} from 'react-native'
+import {RQKEY as RQKEY_NOTIFS} from './feed'
+import {CachedFeedPage, FeedPage} from './types'
+import {fetchPage} from './util'
const UPDATE_INTERVAL = 30 * 1e3 // 30sec
const broadcast = new BroadcastChannel('NOTIFS_BROADCAST_CHANNEL')
+const emitter = new EventEmitter()
+
type StateContext = string
interface ApiContext {
@@ -56,6 +60,18 @@ export function Provider({children}: React.PropsWithChildren<{}>) {
unreadCount: 0,
})
+ React.useEffect(() => {
+ function markAsUnusable() {
+ if (cacheRef.current) {
+ cacheRef.current.usableInFeed = false
+ }
+ }
+ emitter.addListener('invalidate', markAsUnusable)
+ return () => {
+ emitter.removeListener('invalidate', markAsUnusable)
+ }
+ }, [])
+
// periodic sync
React.useEffect(() => {
if (!hasSession || !checkUnreadRef.current) {
@@ -214,3 +230,7 @@ function countUnread(page: FeedPage) {
}
return num
}
+
+export function invalidateCachedUnreadPage() {
+ emitter.emit('invalidate')
+}
diff --git a/src/state/queries/post-feed.ts b/src/state/queries/post-feed.ts
index 0e6eef52ca..3453a77648 100644
--- a/src/state/queries/post-feed.ts
+++ b/src/state/queries/post-feed.ts
@@ -3,37 +3,37 @@ import {AppState} from 'react-native'
import {
AppBskyFeedDefs,
AppBskyFeedPost,
- ModerationDecision,
AtUri,
+ ModerationDecision,
} from '@atproto/api'
import {
- useInfiniteQuery,
InfiniteData,
- QueryKey,
QueryClient,
+ QueryKey,
+ useInfiniteQuery,
useQueryClient,
} from '@tanstack/react-query'
-import {moderatePost_wrapped as moderatePost} from '#/lib/moderatePost_wrapped'
-import {useFeedTuners} from '../preferences/feed-tuners'
-import {FeedTuner, FeedTunerFn, NoopFeedTuner} from 'lib/api/feed-manip'
-import {FeedAPI, ReasonFeedSource} from 'lib/api/feed/types'
-import {FollowingFeedAPI} from 'lib/api/feed/following'
-import {AuthorFeedAPI} from 'lib/api/feed/author'
-import {LikesFeedAPI} from 'lib/api/feed/likes'
-import {CustomFeedAPI} from 'lib/api/feed/custom'
-import {ListFeedAPI} from 'lib/api/feed/list'
-import {MergeFeedAPI} from 'lib/api/feed/merge'
+
import {HomeFeedAPI} from '#/lib/api/feed/home'
+import {moderatePost_wrapped as moderatePost} from '#/lib/moderatePost_wrapped'
import {logger} from '#/logger'
import {STALE} from '#/state/queries'
-import {precacheFeedPostProfiles} from './profile'
-import {getAgent} from '#/state/session'
import {DEFAULT_LOGGED_OUT_PREFERENCES} from '#/state/queries/preferences/const'
-import {KnownError} from '#/view/com/posts/FeedErrorMessage'
-import {embedViewRecordToPostView, getEmbeddedPost} from './util'
-import {useModerationOpts} from './preferences'
-import {queryClient} from 'lib/react-query'
+import {getAgent} from '#/state/session'
+import {AuthorFeedAPI} from 'lib/api/feed/author'
+import {CustomFeedAPI} from 'lib/api/feed/custom'
+import {FollowingFeedAPI} from 'lib/api/feed/following'
+import {LikesFeedAPI} from 'lib/api/feed/likes'
+import {ListFeedAPI} from 'lib/api/feed/list'
+import {MergeFeedAPI} from 'lib/api/feed/merge'
+import {FeedAPI, ReasonFeedSource} from 'lib/api/feed/types'
+import {FeedTuner, FeedTunerFn, NoopFeedTuner} from 'lib/api/feed-manip'
import {BSKY_FEED_OWNER_DIDS} from 'lib/constants'
+import {KnownError} from '#/view/com/posts/FeedErrorMessage'
+import {useFeedTuners} from '../preferences/feed-tuners'
+import {useModerationOpts} from './preferences'
+import {precacheFeedPostProfiles} from './profile'
+import {embedViewRecordToPostView, getEmbeddedPost} from './util'
type ActorDid = string
type AuthorFilter =
@@ -58,8 +58,9 @@ export interface FeedParams {
type RQPageParam = {cursor: string | undefined; api: FeedAPI} | undefined
+const RQKEY_ROOT = 'post-feed'
export function RQKEY(feedDesc: FeedDescriptor, params?: FeedParams) {
- return ['post-feed', feedDesc, params || {}]
+ return [RQKEY_ROOT, feedDesc, params || {}]
}
export interface FeedPostSliceItem {
@@ -402,7 +403,7 @@ export function* findAllPostsInQueryData(
const queryDatas = queryClient.getQueriesData<
InfiniteData
>({
- queryKey: ['post-feed'],
+ queryKey: [RQKEY_ROOT],
})
for (const [_queryKey, queryData] of queryDatas) {
if (!queryData?.pages) {
@@ -458,12 +459,24 @@ function assertSomePostsPassModeration(feed: AppBskyFeedDefs.FeedViewPost[]) {
}
}
-export function resetProfilePostsQueries(did: string, timeout = 0) {
+export function resetPostsFeedQueries(queryClient: QueryClient, timeout = 0) {
+ setTimeout(() => {
+ queryClient.resetQueries({
+ predicate: query => query.queryKey[0] === RQKEY_ROOT,
+ })
+ }, timeout)
+}
+
+export function resetProfilePostsQueries(
+ queryClient: QueryClient,
+ did: string,
+ timeout = 0,
+) {
setTimeout(() => {
queryClient.resetQueries({
predicate: query =>
!!(
- query.queryKey[0] === 'post-feed' &&
+ query.queryKey[0] === RQKEY_ROOT &&
(query.queryKey[1] as string)?.includes(did)
),
})
diff --git a/src/state/queries/post-liked-by.ts b/src/state/queries/post-liked-by.ts
index a0498ada44..6fa341b773 100644
--- a/src/state/queries/post-liked-by.ts
+++ b/src/state/queries/post-liked-by.ts
@@ -1,9 +1,9 @@
import {AppBskyActorDefs, AppBskyFeedGetLikes} from '@atproto/api'
import {
- useInfiniteQuery,
InfiniteData,
QueryClient,
QueryKey,
+ useInfiniteQuery,
} from '@tanstack/react-query'
import {getAgent} from '#/state/session'
@@ -12,7 +12,8 @@ const PAGE_SIZE = 30
type RQPageParam = string | undefined
// TODO refactor invalidate on mutate?
-export const RQKEY = (resolvedUri: string) => ['liked-by', resolvedUri]
+const RQKEY_ROOT = 'liked-by'
+export const RQKEY = (resolvedUri: string) => [RQKEY_ROOT, resolvedUri]
export function useLikedByQuery(resolvedUri: string | undefined) {
return useInfiniteQuery<
@@ -44,7 +45,7 @@ export function* findAllProfilesInQueryData(
const queryDatas = queryClient.getQueriesData<
InfiniteData
>({
- queryKey: ['post-liked-by'],
+ queryKey: [RQKEY_ROOT],
})
for (const [_queryKey, queryData] of queryDatas) {
if (!queryData?.pages) {
diff --git a/src/state/queries/post-reposted-by.ts b/src/state/queries/post-reposted-by.ts
index db5fa65140..f8cfff0d28 100644
--- a/src/state/queries/post-reposted-by.ts
+++ b/src/state/queries/post-reposted-by.ts
@@ -1,9 +1,9 @@
import {AppBskyActorDefs, AppBskyFeedGetRepostedBy} from '@atproto/api'
import {
- useInfiniteQuery,
InfiniteData,
QueryClient,
QueryKey,
+ useInfiniteQuery,
} from '@tanstack/react-query'
import {getAgent} from '#/state/session'
@@ -12,7 +12,8 @@ const PAGE_SIZE = 30
type RQPageParam = string | undefined
// TODO refactor invalidate on mutate?
-export const RQKEY = (resolvedUri: string) => ['post-reposted-by', resolvedUri]
+const RQKEY_ROOT = 'post-reposted-by'
+export const RQKEY = (resolvedUri: string) => [RQKEY_ROOT, resolvedUri]
export function usePostRepostedByQuery(resolvedUri: string | undefined) {
return useInfiniteQuery<
@@ -44,7 +45,7 @@ export function* findAllProfilesInQueryData(
const queryDatas = queryClient.getQueriesData<
InfiniteData
>({
- queryKey: ['post-reposted-by'],
+ queryKey: [RQKEY_ROOT],
})
for (const [_queryKey, queryData] of queryDatas) {
if (!queryData?.pages) {
diff --git a/src/state/queries/post-thread.ts b/src/state/queries/post-thread.ts
index 26d40599c6..521fc4751b 100644
--- a/src/state/queries/post-thread.ts
+++ b/src/state/queries/post-thread.ts
@@ -1,19 +1,21 @@
import {
- AppBskyFeedDefs,
- AppBskyFeedPost,
- AppBskyFeedGetPostThread,
AppBskyEmbedRecord,
+ AppBskyFeedDefs,
+ AppBskyFeedGetPostThread,
+ AppBskyFeedPost,
} from '@atproto/api'
-import {useQuery, useQueryClient, QueryClient} from '@tanstack/react-query'
+import {QueryClient, useQuery, useQueryClient} from '@tanstack/react-query'
-import {getAgent} from '#/state/session'
import {UsePreferencesQueryResponse} from '#/state/queries/preferences/types'
-import {findAllPostsInQueryData as findAllPostsInFeedQueryData} from './post-feed'
+import {getAgent} from '#/state/session'
+import {findAllPostsInQueryData as findAllPostsInSearchQueryData} from 'state/queries/search-posts'
import {findAllPostsInQueryData as findAllPostsInNotifsQueryData} from './notifications/feed'
+import {findAllPostsInQueryData as findAllPostsInFeedQueryData} from './post-feed'
import {precacheThreadPostProfiles} from './profile'
-import {getEmbeddedPost} from './util'
+import {embedViewRecordToPostView, getEmbeddedPost} from './util'
-export const RQKEY = (uri: string) => ['post-thread', uri]
+const RQKEY_ROOT = 'post-thread'
+export const RQKEY = (uri: string) => [RQKEY_ROOT, uri]
type ThreadViewNode = AppBskyFeedGetPostThread.OutputSchema['thread']
export interface ThreadCtx {
@@ -233,7 +235,7 @@ export function* findAllPostsInQueryData(
uri: string,
): Generator {
const queryDatas = queryClient.getQueriesData({
- queryKey: ['post-thread'],
+ queryKey: [RQKEY_ROOT],
})
for (const [_queryKey, queryData] of queryDatas) {
if (!queryData) {
@@ -259,6 +261,9 @@ export function* findAllPostsInQueryData(
for (let post of findAllPostsInNotifsQueryData(queryClient, uri)) {
yield postViewToPlaceholderThread(post)
}
+ for (let post of findAllPostsInSearchQueryData(queryClient, uri)) {
+ yield postViewToPlaceholderThread(post)
+ }
}
function* traverseThread(node: ThreadNode): Generator {
@@ -331,14 +336,7 @@ function embedViewRecordToPlaceholderThread(
type: 'post',
_reactKey: record.uri,
uri: record.uri,
- post: {
- uri: record.uri,
- cid: record.cid,
- author: record.author,
- record: record.value,
- indexedAt: record.indexedAt,
- labels: record.labels,
- },
+ post: embedViewRecordToPostView(record),
record: record.value as AppBskyFeedPost.Record, // validated in getEmbeddedPost
parent: undefined,
replies: undefined,
diff --git a/src/state/queries/post.ts b/src/state/queries/post.ts
index e3682e304d..77497f6bab 100644
--- a/src/state/queries/post.ts
+++ b/src/state/queries/post.ts
@@ -1,14 +1,17 @@
import {useCallback} from 'react'
-import {AppBskyFeedDefs, AtUri} from '@atproto/api'
-import {useQuery, useMutation, useQueryClient} from '@tanstack/react-query'
-import {Shadow} from '#/state/cache/types'
-import {getAgent} from '#/state/session'
-import {updatePostShadow} from '#/state/cache/post-shadow'
-import {track} from '#/lib/analytics/analytics'
-import {logEvent, LogEvents} from '#/lib/statsig/statsig'
-import {useToggleMutationQueue} from '#/lib/hooks/useToggleMutationQueue'
+import {AppBskyActorDefs, AppBskyFeedDefs, AtUri} from '@atproto/api'
+import {useMutation, useQuery, useQueryClient} from '@tanstack/react-query'
-export const RQKEY = (postUri: string) => ['post', postUri]
+import {track} from '#/lib/analytics/analytics'
+import {useToggleMutationQueue} from '#/lib/hooks/useToggleMutationQueue'
+import {logEvent, LogEvents, toClout} from '#/lib/statsig/statsig'
+import {updatePostShadow} from '#/state/cache/post-shadow'
+import {Shadow} from '#/state/cache/types'
+import {getAgent, useSession} from '#/state/session'
+import {findProfileQueryData} from './profile'
+
+const RQKEY_ROOT = 'post'
+export const RQKEY = (postUri: string) => [RQKEY_ROOT, postUri]
export function usePostQuery(uri: string | undefined) {
return useQuery({
@@ -62,10 +65,11 @@ export function usePostLikeMutationQueue(
logContext: LogEvents['post:like']['logContext'] &
LogEvents['post:unlike']['logContext'],
) {
+ const queryClient = useQueryClient()
const postUri = post.uri
const postCid = post.cid
const initialLikeUri = post.viewer?.like
- const likeMutation = usePostLikeMutation(logContext)
+ const likeMutation = usePostLikeMutation(logContext, post)
const unlikeMutation = usePostUnlikeMutation(logContext)
const queueToggle = useToggleMutationQueue({
@@ -89,7 +93,7 @@ export function usePostLikeMutationQueue(
},
onSuccess(finalLikeUri) {
// finalize
- updatePostShadow(postUri, {
+ updatePostShadow(queryClient, postUri, {
likeUri: finalLikeUri,
})
},
@@ -97,32 +101,57 @@ export function usePostLikeMutationQueue(
const queueLike = useCallback(() => {
// optimistically update
- updatePostShadow(postUri, {
+ updatePostShadow(queryClient, postUri, {
likeUri: 'pending',
})
return queueToggle(true)
- }, [postUri, queueToggle])
+ }, [queryClient, postUri, queueToggle])
const queueUnlike = useCallback(() => {
// optimistically update
- updatePostShadow(postUri, {
+ updatePostShadow(queryClient, postUri, {
likeUri: undefined,
})
return queueToggle(false)
- }, [postUri, queueToggle])
+ }, [queryClient, postUri, queueToggle])
return [queueLike, queueUnlike]
}
-function usePostLikeMutation(logContext: LogEvents['post:like']['logContext']) {
+function usePostLikeMutation(
+ logContext: LogEvents['post:like']['logContext'],
+ post: Shadow,
+) {
+ const {currentAccount} = useSession()
+ const queryClient = useQueryClient()
+ const postAuthor = post.author
return useMutation<
{uri: string}, // responds with the uri of the like
Error,
{uri: string; cid: string} // the post's uri and cid
>({
- mutationFn: post => {
- logEvent('post:like', {logContext})
- return getAgent().like(post.uri, post.cid)
+ mutationFn: ({uri, cid}) => {
+ let ownProfile: AppBskyActorDefs.ProfileViewDetailed | undefined
+ if (currentAccount) {
+ ownProfile = findProfileQueryData(queryClient, currentAccount.did)
+ }
+ logEvent('post:like', {
+ logContext,
+ doesPosterFollowLiker: postAuthor.viewer
+ ? Boolean(postAuthor.viewer.followedBy)
+ : undefined,
+ doesLikerFollowPoster: postAuthor.viewer
+ ? Boolean(postAuthor.viewer.following)
+ : undefined,
+ likerClout: toClout(ownProfile?.followersCount),
+ postClout:
+ post.likeCount != null &&
+ post.repostCount != null &&
+ post.replyCount != null
+ ? toClout(post.likeCount + post.repostCount + post.replyCount)
+ : undefined,
+ })
+ return getAgent().like(uri, cid)
},
onSuccess() {
track('Post:Like')
@@ -149,6 +178,7 @@ export function usePostRepostMutationQueue(
logContext: LogEvents['post:repost']['logContext'] &
LogEvents['post:unrepost']['logContext'],
) {
+ const queryClient = useQueryClient()
const postUri = post.uri
const postCid = post.cid
const initialRepostUri = post.viewer?.repost
@@ -176,7 +206,7 @@ export function usePostRepostMutationQueue(
},
onSuccess(finalRepostUri) {
// finalize
- updatePostShadow(postUri, {
+ updatePostShadow(queryClient, postUri, {
repostUri: finalRepostUri,
})
},
@@ -184,19 +214,19 @@ export function usePostRepostMutationQueue(
const queueRepost = useCallback(() => {
// optimistically update
- updatePostShadow(postUri, {
+ updatePostShadow(queryClient, postUri, {
repostUri: 'pending',
})
return queueToggle(true)
- }, [postUri, queueToggle])
+ }, [queryClient, postUri, queueToggle])
const queueUnrepost = useCallback(() => {
// optimistically update
- updatePostShadow(postUri, {
+ updatePostShadow(queryClient, postUri, {
repostUri: undefined,
})
return queueToggle(false)
- }, [postUri, queueToggle])
+ }, [queryClient, postUri, queueToggle])
return [queueRepost, queueUnrepost]
}
@@ -234,12 +264,13 @@ function usePostUnrepostMutation(
}
export function usePostDeleteMutation() {
+ const queryClient = useQueryClient()
return useMutation({
mutationFn: async ({uri}) => {
await getAgent().deletePost(uri)
},
onSuccess(data, variables) {
- updatePostShadow(variables.uri, {isDeleted: true})
+ updatePostShadow(queryClient, variables.uri, {isDeleted: true})
track('Post:Delete')
},
})
diff --git a/src/state/queries/preferences/index.ts b/src/state/queries/preferences/index.ts
index f9cd59cda8..85e3f9a25d 100644
--- a/src/state/queries/preferences/index.ts
+++ b/src/state/queries/preferences/index.ts
@@ -1,35 +1,36 @@
-import {useMemo, createContext, useContext} from 'react'
-import {useQuery, useMutation, useQueryClient} from '@tanstack/react-query'
+import {createContext, useContext, useMemo} from 'react'
import {
- LabelPreference,
- BskyFeedViewPreference,
- ModerationOpts,
AppBskyActorDefs,
BSKY_LABELER_DID,
+ BskyFeedViewPreference,
+ LabelPreference,
+ ModerationOpts,
} from '@atproto/api'
+import {useMutation, useQuery, useQueryClient} from '@tanstack/react-query'
import {track} from '#/lib/analytics/analytics'
import {getAge} from '#/lib/strings/time'
-import {getAgent, useSession} from '#/state/session'
-import {
- UsePreferencesQueryResponse,
- ThreadViewPreferences,
-} from '#/state/queries/preferences/types'
+import {useHiddenPosts, useLabelDefinitions} from '#/state/preferences'
+import {STALE} from '#/state/queries'
import {
DEFAULT_HOME_FEED_PREFS,
- DEFAULT_THREAD_VIEW_PREFS,
DEFAULT_LOGGED_OUT_PREFERENCES,
+ DEFAULT_THREAD_VIEW_PREFS,
} from '#/state/queries/preferences/const'
import {DEFAULT_LOGGED_OUT_LABEL_PREFERENCES} from '#/state/queries/preferences/moderation'
-import {STALE} from '#/state/queries'
-import {useHiddenPosts, useLabelDefinitions} from '#/state/preferences'
+import {
+ ThreadViewPreferences,
+ UsePreferencesQueryResponse,
+} from '#/state/queries/preferences/types'
+import {getAgent, useSession} from '#/state/session'
import {saveLabelers} from '#/state/session/agent-config'
-export * from '#/state/queries/preferences/types'
-export * from '#/state/queries/preferences/moderation'
export * from '#/state/queries/preferences/const'
+export * from '#/state/queries/preferences/moderation'
+export * from '#/state/queries/preferences/types'
-export const preferencesQueryKey = ['getPreferences']
+const preferencesQueryKeyRoot = 'getPreferences'
+export const preferencesQueryKey = [preferencesQueryKeyRoot]
export function usePreferencesQuery() {
return useQuery({
diff --git a/src/state/queries/profile-feedgens.ts b/src/state/queries/profile-feedgens.ts
index 7d33eb9c80..c690be1979 100644
--- a/src/state/queries/profile-feedgens.ts
+++ b/src/state/queries/profile-feedgens.ts
@@ -1,5 +1,5 @@
import {AppBskyFeedGetActorFeeds} from '@atproto/api'
-import {useInfiniteQuery, InfiniteData, QueryKey} from '@tanstack/react-query'
+import {InfiniteData, QueryKey, useInfiniteQuery} from '@tanstack/react-query'
import {getAgent} from '#/state/session'
@@ -7,7 +7,8 @@ const PAGE_SIZE = 30
type RQPageParam = string | undefined
// TODO refactor invalidate on mutate?
-export const RQKEY = (did: string) => ['profile-feedgens', did]
+const RQKEY_ROOT = 'profile-feedgens'
+export const RQKEY = (did: string) => [RQKEY_ROOT, did]
export function useProfileFeedgensQuery(
did: string,
diff --git a/src/state/queries/profile-followers.ts b/src/state/queries/profile-followers.ts
index fdefc82536..d7dfe25c64 100644
--- a/src/state/queries/profile-followers.ts
+++ b/src/state/queries/profile-followers.ts
@@ -1,9 +1,9 @@
import {AppBskyActorDefs, AppBskyGraphGetFollowers} from '@atproto/api'
import {
- useInfiniteQuery,
InfiniteData,
QueryClient,
QueryKey,
+ useInfiniteQuery,
} from '@tanstack/react-query'
import {getAgent} from '#/state/session'
@@ -11,7 +11,8 @@ import {getAgent} from '#/state/session'
const PAGE_SIZE = 30
type RQPageParam = string | undefined
-export const RQKEY = (did: string) => ['profile-followers', did]
+const RQKEY_ROOT = 'profile-followers'
+export const RQKEY = (did: string) => [RQKEY_ROOT, did]
export function useProfileFollowersQuery(did: string | undefined) {
return useInfiniteQuery<
@@ -43,7 +44,7 @@ export function* findAllProfilesInQueryData(
const queryDatas = queryClient.getQueriesData<
InfiniteData
>({
- queryKey: ['profile-followers'],
+ queryKey: [RQKEY_ROOT],
})
for (const [_queryKey, queryData] of queryDatas) {
if (!queryData?.pages) {
diff --git a/src/state/queries/profile-follows.ts b/src/state/queries/profile-follows.ts
index 428c8aebd1..3abac2f108 100644
--- a/src/state/queries/profile-follows.ts
+++ b/src/state/queries/profile-follows.ts
@@ -1,19 +1,20 @@
import {AppBskyActorDefs, AppBskyGraphGetFollows} from '@atproto/api'
import {
- useInfiniteQuery,
InfiniteData,
QueryClient,
QueryKey,
+ useInfiniteQuery,
} from '@tanstack/react-query'
-import {getAgent} from '#/state/session'
import {STALE} from '#/state/queries'
+import {getAgent} from '#/state/session'
const PAGE_SIZE = 30
type RQPageParam = string | undefined
// TODO refactor invalidate on mutate?
-export const RQKEY = (did: string) => ['profile-follows', did]
+const RQKEY_ROOT = 'profile-follows'
+export const RQKEY = (did: string) => [RQKEY_ROOT, did]
export function useProfileFollowsQuery(did: string | undefined) {
return useInfiniteQuery<
@@ -46,7 +47,7 @@ export function* findAllProfilesInQueryData(
const queryDatas = queryClient.getQueriesData<
InfiniteData
>({
- queryKey: ['profile-follows'],
+ queryKey: [RQKEY_ROOT],
})
for (const [_queryKey, queryData] of queryDatas) {
if (!queryData?.pages) {
diff --git a/src/state/queries/profile-lists.ts b/src/state/queries/profile-lists.ts
index 505d33b9fa..9cc395e435 100644
--- a/src/state/queries/profile-lists.ts
+++ b/src/state/queries/profile-lists.ts
@@ -1,11 +1,13 @@
import {AppBskyGraphGetLists} from '@atproto/api'
-import {useInfiniteQuery, InfiniteData, QueryKey} from '@tanstack/react-query'
+import {InfiniteData, QueryKey, useInfiniteQuery} from '@tanstack/react-query'
+
import {getAgent} from '#/state/session'
const PAGE_SIZE = 30
type RQPageParam = string | undefined
-export const RQKEY = (did: string) => ['profile-lists', did]
+const RQKEY_ROOT = 'profile-lists'
+export const RQKEY = (did: string) => [RQKEY_ROOT, did]
export function useProfileListsQuery(did: string, opts?: {enabled?: boolean}) {
const enabled = opts?.enabled !== false
diff --git a/src/state/queries/profile.ts b/src/state/queries/profile.ts
index 3c9e3e41c3..7842d53d4d 100644
--- a/src/state/queries/profile.ts
+++ b/src/state/queries/profile.ts
@@ -1,38 +1,47 @@
import {useCallback} from 'react'
+import {Image as RNImage} from 'react-native-image-crop-picker'
import {
- AtUri,
AppBskyActorDefs,
- AppBskyActorProfile,
AppBskyActorGetProfile,
- AppBskyFeedDefs,
+ AppBskyActorProfile,
AppBskyEmbedRecord,
AppBskyEmbedRecordWithMedia,
+ AppBskyFeedDefs,
+ AtUri,
} from '@atproto/api'
import {
+ QueryClient,
+ useMutation,
useQuery,
useQueryClient,
- useMutation,
- QueryClient,
} from '@tanstack/react-query'
-import {Image as RNImage} from 'react-native-image-crop-picker'
-import {useSession, getAgent} from '../session'
-import {updateProfileShadow} from '../cache/profile-shadow'
+
+import {track} from '#/lib/analytics/analytics'
import {uploadBlob} from '#/lib/api'
import {until} from '#/lib/async/until'
-import {Shadow} from '#/state/cache/types'
-import {resetProfilePostsQueries} from '#/state/queries/post-feed'
import {useToggleMutationQueue} from '#/lib/hooks/useToggleMutationQueue'
-import {RQKEY as RQKEY_MY_MUTED} from './my-muted-accounts'
-import {RQKEY as RQKEY_MY_BLOCKED} from './my-blocked-accounts'
+import {logEvent, LogEvents, toClout} from '#/lib/statsig/statsig'
+import {Shadow} from '#/state/cache/types'
import {STALE} from '#/state/queries'
-import {track} from '#/lib/analytics/analytics'
-import {logEvent, LogEvents} from '#/lib/statsig/statsig'
+import {resetProfilePostsQueries} from '#/state/queries/post-feed'
+import {updateProfileShadow} from '../cache/profile-shadow'
+import {getAgent, useSession} from '../session'
+import {RQKEY as RQKEY_MY_BLOCKED} from './my-blocked-accounts'
+import {RQKEY as RQKEY_MY_MUTED} from './my-muted-accounts'
import {ThreadNode} from './post-thread'
-export const RQKEY = (did: string) => ['profile', did]
-export const profilesQueryKey = (handles: string[]) => ['profiles', handles]
+const RQKEY_ROOT = 'profile'
+export const RQKEY = (did: string) => [RQKEY_ROOT, did]
+
+const profilesQueryKeyRoot = 'profiles'
+export const profilesQueryKey = (handles: string[]) => [
+ profilesQueryKeyRoot,
+ handles,
+]
+
+const profileBasicQueryKeyRoot = 'profileBasic'
export const profileBasicQueryKey = (didOrHandle: string) => [
- 'profileBasic',
+ profileBasicQueryKeyRoot,
didOrHandle,
]
@@ -81,8 +90,8 @@ export function useProfilesQuery({handles}: {handles: string[]}) {
export function usePrefetchProfileQuery() {
const queryClient = useQueryClient()
const prefetchProfileQuery = useCallback(
- (did: string) => {
- queryClient.prefetchQuery({
+ async (did: string) => {
+ await queryClient.prefetchQuery({
queryKey: RQKEY(did),
queryFn: async () => {
const res = await getAgent().getProfile({actor: did || ''})
@@ -190,9 +199,10 @@ export function useProfileFollowMutationQueue(
logContext: LogEvents['profile:follow']['logContext'] &
LogEvents['profile:unfollow']['logContext'],
) {
+ const queryClient = useQueryClient()
const did = profile.did
const initialFollowingUri = profile.viewer?.following
- const followMutation = useProfileFollowMutation(logContext)
+ const followMutation = useProfileFollowMutation(logContext, profile)
const unfollowMutation = useProfileUnfollowMutation(logContext)
const queueToggle = useToggleMutationQueue({
@@ -215,7 +225,7 @@ export function useProfileFollowMutationQueue(
},
onSuccess(finalFollowingUri) {
// finalize
- updateProfileShadow(did, {
+ updateProfileShadow(queryClient, did, {
followingUri: finalFollowingUri,
})
},
@@ -223,29 +233,43 @@ export function useProfileFollowMutationQueue(
const queueFollow = useCallback(() => {
// optimistically update
- updateProfileShadow(did, {
+ updateProfileShadow(queryClient, did, {
followingUri: 'pending',
})
return queueToggle(true)
- }, [did, queueToggle])
+ }, [queryClient, did, queueToggle])
const queueUnfollow = useCallback(() => {
// optimistically update
- updateProfileShadow(did, {
+ updateProfileShadow(queryClient, did, {
followingUri: undefined,
})
return queueToggle(false)
- }, [did, queueToggle])
+ }, [queryClient, did, queueToggle])
return [queueFollow, queueUnfollow]
}
function useProfileFollowMutation(
logContext: LogEvents['profile:follow']['logContext'],
+ profile: Shadow,
) {
+ const {currentAccount} = useSession()
+ const queryClient = useQueryClient()
return useMutation<{uri: string; cid: string}, Error, {did: string}>({
mutationFn: async ({did}) => {
- logEvent('profile:follow', {logContext})
+ let ownProfile: AppBskyActorDefs.ProfileViewDetailed | undefined
+ if (currentAccount) {
+ ownProfile = findProfileQueryData(queryClient, currentAccount.did)
+ }
+ logEvent('profile:follow', {
+ logContext,
+ didBecomeMutual: profile.viewer
+ ? Boolean(profile.viewer.followedBy)
+ : undefined,
+ followeeClout: toClout(profile.followersCount),
+ followerClout: toClout(ownProfile?.followersCount),
+ })
return await getAgent().follow(did)
},
onSuccess(data, variables) {
@@ -269,6 +293,7 @@ function useProfileUnfollowMutation(
export function useProfileMuteMutationQueue(
profile: Shadow,
) {
+ const queryClient = useQueryClient()
const did = profile.did
const initialMuted = profile.viewer?.muted
const muteMutation = useProfileMuteMutation()
@@ -291,25 +316,25 @@ export function useProfileMuteMutationQueue(
},
onSuccess(finalMuted) {
// finalize
- updateProfileShadow(did, {muted: finalMuted})
+ updateProfileShadow(queryClient, did, {muted: finalMuted})
},
})
const queueMute = useCallback(() => {
// optimistically update
- updateProfileShadow(did, {
+ updateProfileShadow(queryClient, did, {
muted: true,
})
return queueToggle(true)
- }, [did, queueToggle])
+ }, [queryClient, did, queueToggle])
const queueUnmute = useCallback(() => {
// optimistically update
- updateProfileShadow(did, {
+ updateProfileShadow(queryClient, did, {
muted: false,
})
return queueToggle(false)
- }, [did, queueToggle])
+ }, [queryClient, did, queueToggle])
return [queueMute, queueUnmute]
}
@@ -341,6 +366,7 @@ function useProfileUnmuteMutation() {
export function useProfileBlockMutationQueue(
profile: Shadow,
) {
+ const queryClient = useQueryClient()
const did = profile.did
const initialBlockingUri = profile.viewer?.blocking
const blockMutation = useProfileBlockMutation()
@@ -366,7 +392,7 @@ export function useProfileBlockMutationQueue(
},
onSuccess(finalBlockingUri) {
// finalize
- updateProfileShadow(did, {
+ updateProfileShadow(queryClient, did, {
blockingUri: finalBlockingUri,
})
},
@@ -374,19 +400,19 @@ export function useProfileBlockMutationQueue(
const queueBlock = useCallback(() => {
// optimistically update
- updateProfileShadow(did, {
+ updateProfileShadow(queryClient, did, {
blockingUri: 'pending',
})
return queueToggle(true)
- }, [did, queueToggle])
+ }, [queryClient, did, queueToggle])
const queueUnblock = useCallback(() => {
// optimistically update
- updateProfileShadow(did, {
+ updateProfileShadow(queryClient, did, {
blockingUri: undefined,
})
return queueToggle(false)
- }, [did, queueToggle])
+ }, [queryClient, did, queueToggle])
return [queueBlock, queueUnblock]
}
@@ -406,13 +432,14 @@ function useProfileBlockMutation() {
},
onSuccess(_, {did}) {
queryClient.invalidateQueries({queryKey: RQKEY_MY_BLOCKED()})
- resetProfilePostsQueries(did, 1000)
+ resetProfilePostsQueries(queryClient, did, 1000)
},
})
}
function useProfileUnblockMutation() {
const {currentAccount} = useSession()
+ const queryClient = useQueryClient()
return useMutation({
mutationFn: async ({blockUri}) => {
if (!currentAccount) {
@@ -425,7 +452,7 @@ function useProfileUnblockMutation() {
})
},
onSuccess(_, {did}) {
- resetProfilePostsQueries(did, 1000)
+ resetProfilePostsQueries(queryClient, did, 1000)
},
})
}
@@ -506,7 +533,7 @@ export function* findAllProfilesInQueryData(
): Generator {
const queryDatas =
queryClient.getQueriesData({
- queryKey: ['profile'],
+ queryKey: [RQKEY_ROOT],
})
for (const [_queryKey, queryData] of queryDatas) {
if (!queryData) {
@@ -517,3 +544,12 @@ export function* findAllProfilesInQueryData(
}
}
}
+
+export function findProfileQueryData(
+ queryClient: QueryClient,
+ did: string,
+): AppBskyActorDefs.ProfileViewDetailed | undefined {
+ return queryClient.getQueryData(
+ RQKEY(did),
+ )
+}
diff --git a/src/state/queries/resolve-uri.ts b/src/state/queries/resolve-uri.ts
index 95fc867ddf..18005cccf9 100644
--- a/src/state/queries/resolve-uri.ts
+++ b/src/state/queries/resolve-uri.ts
@@ -1,11 +1,12 @@
+import {AppBskyActorDefs, AtUri} from '@atproto/api'
import {useQuery, useQueryClient, UseQueryResult} from '@tanstack/react-query'
-import {AtUri, AppBskyActorDefs} from '@atproto/api'
-import {profileBasicQueryKey as RQKEY_PROFILE_BASIC} from './profile'
-import {getAgent} from '#/state/session'
import {STALE} from '#/state/queries'
+import {getAgent} from '#/state/session'
+import {profileBasicQueryKey as RQKEY_PROFILE_BASIC} from './profile'
-export const RQKEY = (didOrHandle: string) => ['resolved-did', didOrHandle]
+const RQKEY_ROOT = 'resolved-did'
+export const RQKEY = (didOrHandle: string) => [RQKEY_ROOT, didOrHandle]
type UriUseQueryResult = UseQueryResult<{did: string; uri: string}, Error>
export function useResolveUriQuery(uri: string | undefined): UriUseQueryResult {
diff --git a/src/state/queries/search-posts.ts b/src/state/queries/search-posts.ts
index e0b317ca9d..1822577c93 100644
--- a/src/state/queries/search-posts.ts
+++ b/src/state/queries/search-posts.ts
@@ -1,20 +1,30 @@
import {AppBskyFeedDefs, AppBskyFeedSearchPosts} from '@atproto/api'
import {
- useInfiniteQuery,
InfiniteData,
- QueryKey,
QueryClient,
+ QueryKey,
+ useInfiniteQuery,
} from '@tanstack/react-query'
import {getAgent} from '#/state/session'
import {embedViewRecordToPostView, getEmbeddedPost} from './util'
-const searchPostsQueryKey = ({query}: {query: string}) => [
- 'search-posts',
+const searchPostsQueryKeyRoot = 'search-posts'
+const searchPostsQueryKey = ({query, sort}: {query: string; sort?: string}) => [
+ searchPostsQueryKeyRoot,
query,
+ sort,
]
-export function useSearchPostsQuery({query}: {query: string}) {
+export function useSearchPostsQuery({
+ query,
+ sort,
+ enabled,
+}: {
+ query: string
+ sort?: 'top' | 'latest'
+ enabled?: boolean
+}) {
return useInfiniteQuery<
AppBskyFeedSearchPosts.OutputSchema,
Error,
@@ -22,17 +32,24 @@ export function useSearchPostsQuery({query}: {query: string}) {
QueryKey,
string | undefined
>({
- queryKey: searchPostsQueryKey({query}),
+ queryKey: searchPostsQueryKey({query, sort}),
queryFn: async ({pageParam}) => {
- const res = await getAgent().app.bsky.feed.searchPosts({
- q: query,
- limit: 25,
- cursor: pageParam,
- })
- return res.data
+ // waiting on new APIs
+ switch (sort) {
+ // case 'top':
+ // case 'latest':
+ default:
+ const res = await getAgent().app.bsky.feed.searchPosts({
+ q: query,
+ limit: 25,
+ cursor: pageParam,
+ })
+ return res.data
+ }
},
initialPageParam: undefined,
getNextPageParam: lastPage => lastPage.cursor,
+ enabled,
})
}
@@ -43,7 +60,7 @@ export function* findAllPostsInQueryData(
const queryDatas = queryClient.getQueriesData<
InfiniteData
>({
- queryKey: ['search-posts'],
+ queryKey: [searchPostsQueryKeyRoot],
})
for (const [_queryKey, queryData] of queryDatas) {
if (!queryData?.pages) {
diff --git a/src/state/queries/service.ts b/src/state/queries/service.ts
index 5f7e10778b..6bfd0b0114 100644
--- a/src/state/queries/service.ts
+++ b/src/state/queries/service.ts
@@ -1,7 +1,8 @@
import {BskyAgent} from '@atproto/api'
import {useQuery} from '@tanstack/react-query'
-export const RQKEY = (serviceUrl: string) => ['service', serviceUrl]
+const RQKEY_ROOT = 'service'
+export const RQKEY = (serviceUrl: string) => [RQKEY_ROOT, serviceUrl]
export function useServiceQuery(serviceUrl: string) {
return useQuery({
diff --git a/src/state/queries/suggested-feeds.ts b/src/state/queries/suggested-feeds.ts
index 7e6b534ad5..3be0c0b892 100644
--- a/src/state/queries/suggested-feeds.ts
+++ b/src/state/queries/suggested-feeds.ts
@@ -1,10 +1,11 @@
-import {useInfiniteQuery, InfiniteData, QueryKey} from '@tanstack/react-query'
import {AppBskyFeedGetSuggestedFeeds} from '@atproto/api'
+import {InfiniteData, QueryKey, useInfiniteQuery} from '@tanstack/react-query'
-import {getAgent} from '#/state/session'
import {STALE} from '#/state/queries'
+import {getAgent} from '#/state/session'
-export const suggestedFeedsQueryKey = ['suggestedFeeds']
+const suggestedFeedsQueryKeyRoot = 'suggestedFeeds'
+export const suggestedFeedsQueryKey = [suggestedFeedsQueryKeyRoot]
export function useSuggestedFeedsQuery() {
return useInfiniteQuery<
diff --git a/src/state/queries/suggested-follows.ts b/src/state/queries/suggested-follows.ts
index 45b3ebb62f..a93f935f25 100644
--- a/src/state/queries/suggested-follows.ts
+++ b/src/state/queries/suggested-follows.ts
@@ -6,21 +6,24 @@ import {
moderateProfile,
} from '@atproto/api'
import {
- useInfiniteQuery,
- useQueryClient,
- useQuery,
InfiniteData,
QueryClient,
QueryKey,
+ useInfiniteQuery,
+ useQuery,
+ useQueryClient,
} from '@tanstack/react-query'
-import {useSession, getAgent} from '#/state/session'
-import {useModerationOpts} from '#/state/queries/preferences'
import {STALE} from '#/state/queries'
+import {useModerationOpts} from '#/state/queries/preferences'
+import {getAgent, useSession} from '#/state/session'
-const suggestedFollowsQueryKey = ['suggested-follows']
+const suggestedFollowsQueryKeyRoot = 'suggested-follows'
+const suggestedFollowsQueryKey = [suggestedFollowsQueryKeyRoot]
+
+const suggestedFollowsByActorQueryKeyRoot = 'suggested-follows-by-actor'
const suggestedFollowsByActorQueryKey = (did: string) => [
- 'suggested-follows-by-actor',
+ suggestedFollowsByActorQueryKeyRoot,
did,
]
@@ -125,7 +128,7 @@ function* findAllProfilesInSuggestedFollowsQueryData(
const queryDatas = queryClient.getQueriesData<
InfiniteData
>({
- queryKey: ['suggested-follows'],
+ queryKey: [suggestedFollowsQueryKeyRoot],
})
for (const [_queryKey, queryData] of queryDatas) {
if (!queryData?.pages) {
@@ -148,7 +151,7 @@ function* findAllProfilesInSuggestedFollowsByActorQueryData(
const queryDatas =
queryClient.getQueriesData(
{
- queryKey: ['suggested-follows-by-actor'],
+ queryKey: [suggestedFollowsByActorQueryKeyRoot],
},
)
for (const [_queryKey, queryData] of queryDatas) {
diff --git a/src/state/queries/util.ts b/src/state/queries/util.ts
index 54752b332a..94d6c9df7c 100644
--- a/src/state/queries/util.ts
+++ b/src/state/queries/util.ts
@@ -1,10 +1,10 @@
-import {QueryClient, QueryKey, InfiniteData} from '@tanstack/react-query'
import {
AppBskyEmbedRecord,
AppBskyEmbedRecordWithMedia,
AppBskyFeedDefs,
AppBskyFeedPost,
} from '@atproto/api'
+import {InfiniteData, QueryClient, QueryKey} from '@tanstack/react-query'
export function truncateAndInvalidate(
queryClient: QueryClient,
@@ -54,5 +54,9 @@ export function embedViewRecordToPostView(
indexedAt: v.indexedAt,
labels: v.labels,
embed: v.embeds?.[0],
+ // TODO we can remove the `as` once we update @atproto/api
+ likeCount: v.likeCount as number | undefined,
+ replyCount: v.replyCount as number | undefined,
+ repostCount: v.repostCount as number | undefined,
}
}
diff --git a/src/state/session/index.tsx b/src/state/session/index.tsx
index 6b14748393..b88181ebda 100644
--- a/src/state/session/index.tsx
+++ b/src/state/session/index.tsx
@@ -1,24 +1,24 @@
import React from 'react'
import {
- BskyAgent,
AtpPersistSessionHandler,
BSKY_LABELER_DID,
+ BskyAgent,
} from '@atproto/api'
-import {useQueryClient} from '@tanstack/react-query'
import {jwtDecode} from 'jwt-decode'
-import {IS_DEV} from '#/env'
-import {IS_TEST_USER} from '#/lib/constants'
-import {isWeb} from '#/platform/detection'
+import {track} from '#/lib/analytics/analytics'
import {networkRetry} from '#/lib/async/retry'
+import {IS_TEST_USER} from '#/lib/constants'
+import {logEvent, LogEvents} from '#/lib/statsig/statsig'
+import {hasProp} from '#/lib/type-guards'
import {logger} from '#/logger'
+import {isWeb} from '#/platform/detection'
import * as persisted from '#/state/persisted'
import {PUBLIC_BSKY_AGENT} from '#/state/queries'
-import {emitSessionDropped} from '../events'
-import {useLoggedOutViewControls} from '#/state/shell/logged-out'
import {useCloseAllActiveElements} from '#/state/util'
-import {track} from '#/lib/analytics/analytics'
-import {hasProp} from '#/lib/type-guards'
+import {useGlobalDialogsControlContext} from '#/components/dialogs/Context'
+import {IS_DEV} from '#/env'
+import {emitSessionDropped} from '../events'
import {readLabelers} from './agent-config'
let __globalAgent: BskyAgent = PUBLIC_BSKY_AGENT
@@ -54,17 +54,22 @@ export type ApiContext = {
verificationPhone?: string
verificationCode?: string
}) => Promise
- login: (props: {
- service: string
- identifier: string
- password: string
- }) => Promise
+ login: (
+ props: {
+ service: string
+ identifier: string
+ password: string
+ },
+ logContext: LogEvents['account:loggedIn']['logContext'],
+ ) => Promise
/**
* A full logout. Clears the `currentAccount` from session, AND removes
* access tokens from all accounts, so that returning as any user will
* require a full login.
*/
- logout: () => Promise
+ logout: (
+ logContext: LogEvents['account:loggedOut']['logContext'],
+ ) => Promise
/**
* A partial logout. Clears the `currentAccount` from session, but DOES NOT
* clear access tokens from accounts, allowing the user to return to their
@@ -76,7 +81,10 @@ export type ApiContext = {
initSession: (account: SessionAccount) => Promise
resumeSession: (account?: SessionAccount) => Promise
removeAccount: (account: SessionAccount) => void
- selectAccount: (account: SessionAccount) => Promise
+ selectAccount: (
+ account: SessionAccount,
+ logContext: LogEvents['account:loggedIn']['logContext'],
+ ) => Promise
updateCurrentAccount: (
account: Partial<
Pick
@@ -169,7 +177,6 @@ function createPersistSessionHandler(
}
export function Provider({children}: React.PropsWithChildren<{}>) {
- const queryClient = useQueryClient()
const isDirty = React.useRef(false)
const [state, setState] = React.useState({
isInitialLoad: true,
@@ -202,12 +209,11 @@ export function Provider({children}: React.PropsWithChildren<{}>) {
const clearCurrentAccount = React.useCallback(() => {
logger.warn(`session: clear current account`)
__globalAgent = PUBLIC_BSKY_AGENT
- queryClient.clear()
setStateAndPersist(s => ({
...s,
currentAccount: undefined,
}))
- }, [setStateAndPersist, queryClient])
+ }, [setStateAndPersist])
const createAccount = React.useCallback(
async ({
@@ -221,6 +227,7 @@ export function Provider({children}: React.PropsWithChildren<{}>) {
}: any) => {
logger.info(`session: creating account`)
track('Try Create Account')
+ logEvent('account:create:begin', {})
const agent = new BskyAgent({service})
@@ -276,17 +283,17 @@ export function Provider({children}: React.PropsWithChildren<{}>) {
)
__globalAgent = agent
- queryClient.clear()
upsertAccount(account)
logger.debug(`session: created account`, {}, logger.DebugContext.session)
track('Create Account')
+ logEvent('account:create:success', {})
},
- [upsertAccount, queryClient, clearCurrentAccount],
+ [upsertAccount, clearCurrentAccount],
)
const login = React.useCallback(
- async ({service, identifier, password}) => {
+ async ({service, identifier, password}, logContext) => {
logger.debug(`session: login`, {}, logger.DebugContext.session)
const agent = new BskyAgent({service})
@@ -323,30 +330,34 @@ export function Provider({children}: React.PropsWithChildren<{}>) {
__globalAgent = agent
// @ts-ignore
if (IS_DEV && isWeb) window.agent = agent
- queryClient.clear()
upsertAccount(account)
logger.debug(`session: logged in`, {}, logger.DebugContext.session)
track('Sign In', {resumedSession: false})
+ logEvent('account:loggedIn', {logContext, withPassword: true})
},
- [upsertAccount, queryClient, clearCurrentAccount],
+ [upsertAccount, clearCurrentAccount],
)
- const logout = React.useCallback(async () => {
- logger.debug(`session: logout`)
- clearCurrentAccount()
- setStateAndPersist(s => {
- return {
- ...s,
- accounts: s.accounts.map(a => ({
- ...a,
- refreshJwt: undefined,
- accessJwt: undefined,
- })),
- }
- })
- }, [clearCurrentAccount, setStateAndPersist])
+ const logout = React.useCallback(
+ async logContext => {
+ logger.debug(`session: logout`)
+ clearCurrentAccount()
+ setStateAndPersist(s => {
+ return {
+ ...s,
+ accounts: s.accounts.map(a => ({
+ ...a,
+ refreshJwt: undefined,
+ accessJwt: undefined,
+ })),
+ }
+ })
+ logEvent('account:loggedOut', {logContext})
+ },
+ [clearCurrentAccount, setStateAndPersist],
+ )
const initSession = React.useCallback(
async account => {
@@ -395,7 +406,6 @@ export function Provider({children}: React.PropsWithChildren<{}>) {
agent.session = prevSession
__globalAgent = agent
- queryClient.clear()
upsertAccount(account)
if (prevSession.deactivated) {
@@ -432,7 +442,6 @@ export function Provider({children}: React.PropsWithChildren<{}>) {
try {
const freshAccount = await resumeSessionWithFreshAccount()
__globalAgent = agent
- queryClient.clear()
upsertAccount(freshAccount)
} catch (e) {
/*
@@ -473,7 +482,7 @@ export function Provider({children}: React.PropsWithChildren<{}>) {
}
}
},
- [upsertAccount, queryClient, clearCurrentAccount],
+ [upsertAccount, clearCurrentAccount],
)
const resumeSession = React.useCallback(
@@ -540,11 +549,12 @@ export function Provider({children}: React.PropsWithChildren<{}>) {
)
const selectAccount = React.useCallback(
- async account => {
+ async (account, logContext) => {
setState(s => ({...s, isSwitchingAccounts: true}))
try {
await initSession(account)
setState(s => ({...s, isSwitchingAccounts: false}))
+ logEvent('account:loggedIn', {logContext, withPassword: false})
} catch (e) {
// reset this in case of error
setState(s => ({...s, isSwitchingAccounts: false}))
@@ -692,8 +702,8 @@ export function useSessionApi() {
export function useRequireAuth() {
const {hasSession} = useSession()
- const {setShowLoggedOut} = useLoggedOutViewControls()
const closeAll = useCloseAllActiveElements()
+ const {signinDialogControl} = useGlobalDialogsControlContext()
return React.useCallback(
(fn: () => void) => {
@@ -701,10 +711,10 @@ export function useRequireAuth() {
fn()
} else {
closeAll()
- setShowLoggedOut(true)
+ signinDialogControl.open()
}
},
- [hasSession, setShowLoggedOut, closeAll],
+ [hasSession, signinDialogControl, closeAll],
)
}
diff --git a/src/state/shell/selected-feed.tsx b/src/state/shell/selected-feed.tsx
index a05d8661b4..5c0ac0b02a 100644
--- a/src/state/shell/selected-feed.tsx
+++ b/src/state/shell/selected-feed.tsx
@@ -1,6 +1,8 @@
import React from 'react'
-import * as persisted from '#/state/persisted'
+
+import {useGate} from '#/lib/statsig/statsig'
import {isWeb} from '#/platform/detection'
+import * as persisted from '#/state/persisted'
type StateContext = string
type SetContext = (v: string) => void
@@ -8,7 +10,7 @@ type SetContext = (v: string) => void
const stateContext = React.createContext('home')
const setContext = React.createContext((_: string) => {})
-function getInitialFeed() {
+function getInitialFeed(startSessionWithFollowing: boolean) {
if (isWeb) {
if (window.location.pathname === '/') {
const params = new URLSearchParams(window.location.search)
@@ -24,16 +26,21 @@ function getInitialFeed() {
return feedFromSession
}
}
- const feedFromPersisted = persisted.get('lastSelectedHomeFeed')
- if (feedFromPersisted) {
- // Fall back to the last chosen one across all tabs.
- return feedFromPersisted
+ if (!startSessionWithFollowing) {
+ const feedFromPersisted = persisted.get('lastSelectedHomeFeed')
+ if (feedFromPersisted) {
+ // Fall back to the last chosen one across all tabs.
+ return feedFromPersisted
+ }
}
return 'home'
}
export function Provider({children}: React.PropsWithChildren<{}>) {
- const [state, setState] = React.useState(getInitialFeed)
+ const startSessionWithFollowing = useGate('start_session_with_following')
+ const [state, setState] = React.useState(() =>
+ getInitialFeed(startSessionWithFollowing),
+ )
const saveState = React.useCallback((feed: string) => {
setState(feed)
diff --git a/src/view/com/auth/HomeLoggedOutCTA.tsx b/src/view/com/auth/HomeLoggedOutCTA.tsx
deleted file mode 100644
index a5b5bf7ba6..0000000000
--- a/src/view/com/auth/HomeLoggedOutCTA.tsx
+++ /dev/null
@@ -1,169 +0,0 @@
-import React from 'react'
-import {StyleSheet, TouchableOpacity, View} from 'react-native'
-import {useLingui} from '@lingui/react'
-import {Trans, msg} from '@lingui/macro'
-import {ScrollView} from '../util/Views'
-import {Text} from '../util/text/Text'
-import {usePalette} from '#/lib/hooks/usePalette'
-import {colors, s} from '#/lib/styles'
-import {TextLink} from '../util/Link'
-import {useWebMediaQueries} from '#/lib/hooks/useWebMediaQueries'
-import {useLoggedOutViewControls} from '#/state/shell/logged-out'
-
-export function HomeLoggedOutCTA() {
- const pal = usePalette('default')
- const {_} = useLingui()
- const {isMobile} = useWebMediaQueries()
- const {requestSwitchToAccount} = useLoggedOutViewControls()
-
- const showCreateAccount = React.useCallback(() => {
- requestSwitchToAccount({requestedAccount: 'new'})
- }, [requestSwitchToAccount])
-
- const showSignIn = React.useCallback(() => {
- requestSwitchToAccount({requestedAccount: 'none'})
- }, [requestSwitchToAccount])
-
- return (
-
-
-
- Bluesky
-
-
- See what's next
-
-
-
-
-
- Create a new account
-
-
-
-
- Sign In
-
-
-
-
-
-
-
-
-
-
- )
-}
-
-const styles = StyleSheet.create({
- container: {
- height: '100%',
- },
- hero: {
- justifyContent: 'center',
- paddingTop: 100,
- paddingBottom: 30,
- },
- heroMobile: {
- paddingBottom: 50,
- },
- title: {
- textAlign: 'center',
- fontSize: 68,
- fontWeight: 'bold',
- },
- subtitle: {
- textAlign: 'center',
- fontSize: 48,
- fontWeight: 'bold',
- },
- subtitleMobile: {
- fontSize: 42,
- },
- btnsDesktop: {
- flexDirection: 'row',
- justifyContent: 'center',
- gap: 20,
- marginHorizontal: 20,
- },
- btn: {
- borderRadius: 32,
- width: 230,
- paddingVertical: 12,
- marginBottom: 20,
- },
- btnMobile: {
- flex: 1,
- width: 'auto',
- marginHorizontal: 20,
- paddingVertical: 16,
- },
- btnLabel: {
- textAlign: 'center',
- fontSize: 18,
- },
- btnLabelMobile: {
- textAlign: 'center',
- fontSize: 21,
- },
-
- footer: {
- flexDirection: 'row',
- gap: 20,
- justifyContent: 'center',
- },
- footerLink: {},
-})
diff --git a/src/view/com/auth/LoggedOut.tsx b/src/view/com/auth/LoggedOut.tsx
index 603abbab2d..c8c81dd771 100644
--- a/src/view/com/auth/LoggedOut.tsx
+++ b/src/view/com/auth/LoggedOut.tsx
@@ -1,27 +1,28 @@
import React from 'react'
-import {View, Pressable} from 'react-native'
+import {Pressable, View} from 'react-native'
import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome'
+import {msg, Trans} from '@lingui/macro'
import {useLingui} from '@lingui/react'
-import {Trans, msg} from '@lingui/macro'
import {useNavigation} from '@react-navigation/native'
-import {isIOS, isNative} from 'platform/detection'
-import {Login} from 'view/com/auth/login/Login'
-import {CreateAccount} from 'view/com/auth/create/CreateAccount'
-import {ErrorBoundary} from 'view/com/util/ErrorBoundary'
-import {s} from 'lib/styles'
-import {usePalette} from 'lib/hooks/usePalette'
-import {useAnalytics} from 'lib/analytics/analytics'
-import {SplashScreen} from './SplashScreen'
-import {useSetMinimalShellMode} from '#/state/shell/minimal-mode'
-import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries'
+import {useAnalytics} from '#/lib/analytics/analytics'
+import {usePalette} from '#/lib/hooks/usePalette'
+import {useWebMediaQueries} from '#/lib/hooks/useWebMediaQueries'
+import {logEvent} from '#/lib/statsig/statsig'
+import {s} from '#/lib/styles'
+import {isIOS, isNative} from '#/platform/detection'
+import {useSession} from '#/state/session'
import {
useLoggedOutView,
useLoggedOutViewControls,
} from '#/state/shell/logged-out'
-import {useSession} from '#/state/session'
-import {Text} from '#/view/com/util/text/Text'
+import {useSetMinimalShellMode} from '#/state/shell/minimal-mode'
import {NavigationProp} from 'lib/routes/types'
+import {ErrorBoundary} from '#/view/com/util/ErrorBoundary'
+import {Text} from '#/view/com/util/text/Text'
+import {Login} from '#/screens/Login'
+import {Signup} from '#/screens/Signup'
+import {SplashScreen} from './SplashScreen'
enum ScreenState {
S_LoginOrCreateAccount,
@@ -133,10 +134,14 @@ export function LoggedOut({onDismiss}: {onDismiss?: () => void}) {
{screenState === ScreenState.S_LoginOrCreateAccount ? (
setScreenState(ScreenState.S_Login)}
- onPressCreateAccount={() =>
+ onPressSignin={() => {
+ setScreenState(ScreenState.S_Login)
+ logEvent('splash:signInPressed', {})
+ }}
+ onPressCreateAccount={() => {
setScreenState(ScreenState.S_CreateAccount)
- }
+ logEvent('splash:createAccountPressed', {})
+ }}
/>
) : undefined}
{screenState === ScreenState.S_Login ? (
@@ -148,7 +153,7 @@ export function LoggedOut({onDismiss}: {onDismiss?: () => void}) {
/>
) : undefined}
{screenState === ScreenState.S_CreateAccount ? (
-
setScreenState(ScreenState.S_LoginOrCreateAccount)
}
diff --git a/src/view/com/auth/SplashScreen.tsx b/src/view/com/auth/SplashScreen.tsx
index f3d7834766..8eac1ab82f 100644
--- a/src/view/com/auth/SplashScreen.tsx
+++ b/src/view/com/auth/SplashScreen.tsx
@@ -1,23 +1,17 @@
import React from 'react'
-import {StyleSheet, TouchableOpacity, View} from 'react-native'
+import {View} from 'react-native'
import {useSafeAreaInsets} from 'react-native-safe-area-context'
-import {Text} from 'view/com/util/text/Text'
-import {ErrorBoundary} from 'view/com/util/ErrorBoundary'
-import {s, colors} from 'lib/styles'
-import {usePalette} from 'lib/hooks/usePalette'
-import {CenteredView} from '../util/Views'
-import {Trans, msg} from '@lingui/macro'
+import {msg, Trans} from '@lingui/macro'
import {useLingui} from '@lingui/react'
+
import {Logo} from '#/view/icons/Logo'
import {Logotype} from '#/view/icons/Logotype'
-import {
- FontAwesomeIcon,
- FontAwesomeIconStyle,
-} from '@fortawesome/react-native-fontawesome'
-import RNPickerSelect, {PickerSelectProps} from 'react-native-picker-select'
-import {sanitizeAppLanguageSetting} from '#/locale/helpers'
-import {useLanguagePrefs, useLanguagePrefsApi} from '#/state/preferences'
-import {APP_LANGUAGES} from '#/locale/languages'
+import {ErrorBoundary} from 'view/com/util/ErrorBoundary'
+import {atoms as a, useTheme} from '#/alf'
+import {AppLanguageDropdown} from '#/components/AppLanguageDropdown'
+import {Button, ButtonText} from '#/components/Button'
+import {Text} from '#/components/Typography'
+import {CenteredView} from '../util/Views'
export const SplashScreen = ({
onPressSignin,
@@ -26,154 +20,71 @@ export const SplashScreen = ({
onPressSignin: () => void
onPressCreateAccount: () => void
}) => {
- const pal = usePalette('default')
+ const t = useTheme()
const {_} = useLingui()
- const langPrefs = useLanguagePrefs()
- const setLangPrefs = useLanguagePrefsApi()
const insets = useSafeAreaInsets()
- const sanitizedLang = sanitizeAppLanguageSetting(langPrefs.appLanguage)
-
- const onChangeAppLanguage = React.useCallback(
- (value: Parameters[0]) => {
- if (!value) return
- if (sanitizedLang !== value) {
- setLangPrefs.setAppLanguage(sanitizeAppLanguageSetting(value))
- }
- },
- [sanitizedLang, setLangPrefs],
- )
-
return (
-
+
-
+
-
-
+
+
-
+
What's up?
-
-
+
-
+ )}
+ style={[a.mx_xl, a.mb_xl]}
+ size="large"
+ variant="solid"
+ color="primary">
+
Create a new account
-
-
-
+
+
-
- Sign In
-
-
+ )}
+ style={[a.mx_xl, a.mb_xl]}
+ size="large"
+ variant="solid"
+ color="secondary">
+
+ Sign in
+
+
-
-
- Boolean(l.code2)).map(l => ({
- label: l.name,
- value: l.code2,
- key: l.code2,
- }))}
- useNativeAndroidPickerStyle={false}
- style={{
- inputAndroid: {
- color: pal.textLight.color,
- fontSize: 16,
- paddingRight: 10 + 4,
- },
- inputIOS: {
- color: pal.text.color,
- fontSize: 16,
- paddingRight: 10 + 4,
- },
- }}
- />
-
-
-
-
-
+
+
)
}
-
-const styles = StyleSheet.create({
- container: {
- height: '100%',
- },
- hero: {
- flex: 2,
- justifyContent: 'center',
- alignItems: 'center',
- },
- btns: {
- paddingBottom: 0,
- },
- title: {
- textAlign: 'center',
- fontSize: 68,
- fontWeight: 'bold',
- },
- subtitle: {
- textAlign: 'center',
- fontSize: 42,
- fontWeight: 'bold',
- },
- btn: {
- borderRadius: 32,
- paddingVertical: 16,
- marginBottom: 20,
- marginHorizontal: 20,
- },
- btnLabel: {
- textAlign: 'center',
- fontSize: 21,
- },
- footer: {
- paddingHorizontal: 16,
- paddingTop: 12,
- paddingBottom: 24,
- justifyContent: 'center',
- alignItems: 'center',
- },
-})
diff --git a/src/view/com/auth/SplashScreen.web.tsx b/src/view/com/auth/SplashScreen.web.tsx
index f1921c7ffb..f905e1e8d5 100644
--- a/src/view/com/auth/SplashScreen.web.tsx
+++ b/src/view/com/auth/SplashScreen.web.tsx
@@ -1,21 +1,19 @@
import React from 'react'
-import {StyleSheet, TouchableOpacity, View, Pressable} from 'react-native'
+import {Pressable, View} from 'react-native'
import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome'
-import {Text} from 'view/com/util/text/Text'
-import {TextLink} from '../util/Link'
-import {ErrorBoundary} from 'view/com/util/ErrorBoundary'
-import {s, colors} from 'lib/styles'
-import {usePalette} from 'lib/hooks/usePalette'
-import {CenteredView} from '../util/Views'
-import {isWeb} from 'platform/detection'
+import {msg, Trans} from '@lingui/macro'
+import {useLingui} from '@lingui/react'
+
import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries'
-import {Trans, msg} from '@lingui/macro'
import {Logo} from '#/view/icons/Logo'
import {Logotype} from '#/view/icons/Logotype'
-import {useLingui} from '@lingui/react'
-import {sanitizeAppLanguageSetting} from '#/locale/helpers'
-import {useLanguagePrefs, useLanguagePrefsApi} from '#/state/preferences'
-import {APP_LANGUAGES} from '#/locale/languages'
+import {ErrorBoundary} from 'view/com/util/ErrorBoundary'
+import {atoms as a, useTheme} from '#/alf'
+import {AppLanguageDropdown} from '#/components/AppLanguageDropdown'
+import {Button, ButtonText} from '#/components/Button'
+import {InlineLinkText} from '#/components/Link'
+import {Text} from '#/components/Typography'
+import {CenteredView} from '../util/Views'
export const SplashScreen = ({
onDismiss,
@@ -26,10 +24,9 @@ export const SplashScreen = ({
onPressSignin: () => void
onPressCreateAccount: () => void
}) => {
- const pal = usePalette('default')
- const {isTabletOrMobile} = useWebMediaQueries()
- const styles = useStyles()
- const isMobileWeb = isWeb && isTabletOrMobile
+ const {_} = useLingui()
+ const t = useTheme()
+ const {isTabletOrMobile: isMobileWeb} = useWebMediaQueries()
return (
<>
@@ -48,214 +45,116 @@ export const SplashScreen = ({
icon="x"
size={24}
style={{
- color: String(pal.text.color),
+ color: String(t.atoms.text.color),
}}
/>
)}
-
+
-
+
+
-
-
+
+
+
+
+
+ What's up?
+
-
-
+
-
+ accessibilityRole="button"
+ label={_(msg`Create new account`)}
+ accessibilityHint={_(
+ msg`Opens flow to create a new Bluesky account`,
+ )}
+ style={[a.mx_xl, a.mb_xl]}
+ size="large"
+ variant="solid"
+ color="primary">
+
Create a new account
-
-
-
+
+
-
- Sign In
-
-
+ label={_(msg`Sign in`)}
+ accessibilityHint={_(
+ msg`Opens flow to sign into your existing Bluesky account`,
+ )}
+ style={[a.mx_xl, a.mb_xl]}
+ size="large"
+ variant="solid"
+ color="secondary">
+
+ Sign in
+
+
-
+
>
)
}
-function Footer({styles}: {styles: ReturnType}) {
- const pal = usePalette('default')
- const {_} = useLingui()
-
- const langPrefs = useLanguagePrefs()
- const setLangPrefs = useLanguagePrefsApi()
-
- const sanitizedLang = sanitizeAppLanguageSetting(langPrefs.appLanguage)
-
- const onChangeAppLanguage = React.useCallback(
- (ev: React.ChangeEvent) => {
- const value = ev.target.value
-
- if (!value) return
- if (sanitizedLang !== value) {
- setLangPrefs.setAppLanguage(sanitizeAppLanguageSetting(value))
- }
- },
- [sanitizedLang, setLangPrefs],
- )
+function Footer() {
+ const t = useTheme()
return (
-
-
-
-
+
+
+ Business
+
+
+ Blog
+
+
+ Jobs
+
-
+
-
-
- {APP_LANGUAGES.find(l => l.code2 === sanitizedLang)?.name}
-
-
-
-
- {APP_LANGUAGES.filter(l => Boolean(l.code2)).map(l => (
-
- {l.name}
-
- ))}
-
-
+
)
}
-const useStyles = () => {
- return StyleSheet.create({
- container: {
- height: '100%',
- },
- containerInner: {
- height: '100%',
- justifyContent: 'center',
- // @ts-ignore web only
- paddingBottom: '20vh',
- paddingHorizontal: 20,
- },
- containerInnerMobile: {
- paddingBottom: 50,
- },
- title: {
- textAlign: 'center',
- color: colors.blue3,
- fontSize: 68,
- fontWeight: 'bold',
- paddingBottom: 10,
- },
- titleMobile: {
- textAlign: 'center',
- color: colors.blue3,
- fontSize: 58,
- fontWeight: 'bold',
- },
- subtitle: {
- textAlign: 'center',
- color: colors.gray5,
- fontSize: 52,
- fontWeight: 'bold',
- paddingBottom: 30,
- },
- subtitleMobile: {
- textAlign: 'center',
- color: colors.gray5,
- fontSize: 42,
- fontWeight: 'bold',
- paddingBottom: 30,
- },
- btns: {
- gap: 10,
- justifyContent: 'center',
- paddingBottom: 40,
- },
- btn: {
- borderRadius: 30,
- paddingHorizontal: 24,
- paddingVertical: 12,
- minWidth: 220,
- },
- btnLabel: {
- textAlign: 'center',
- fontSize: 18,
- },
- notice: {
- paddingHorizontal: 40,
- textAlign: 'center',
- },
- footer: {
- position: 'absolute',
- left: 0,
- right: 0,
- bottom: 0,
- padding: 20,
- borderTopWidth: 1,
- flexDirection: 'row',
- flexWrap: 'wrap',
- gap: 20,
- },
- footerDivider: {flexGrow: 1},
- footerLink: {},
- })
-}
diff --git a/src/view/com/auth/create/CreateAccount.tsx b/src/view/com/auth/create/CreateAccount.tsx
deleted file mode 100644
index d193802fe0..0000000000
--- a/src/view/com/auth/create/CreateAccount.tsx
+++ /dev/null
@@ -1,230 +0,0 @@
-import React from 'react'
-import {
- ActivityIndicator,
- ScrollView,
- StyleSheet,
- TouchableOpacity,
- View,
-} from 'react-native'
-import {useAnalytics} from 'lib/analytics/analytics'
-import {Text} from '../../util/text/Text'
-import {LoggedOutLayout} from 'view/com/util/layouts/LoggedOutLayout'
-import {s} from 'lib/styles'
-import {usePalette} from 'lib/hooks/usePalette'
-import {msg, Trans} from '@lingui/macro'
-import {useLingui} from '@lingui/react'
-import {useCreateAccount, useSubmitCreateAccount} from './state'
-import {useServiceQuery} from '#/state/queries/service'
-import {FEEDBACK_FORM_URL, HITSLOP_10} from '#/lib/constants'
-
-import {Step1} from './Step1'
-import {Step2} from './Step2'
-import {Step3} from './Step3'
-import {useWebMediaQueries} from '#/lib/hooks/useWebMediaQueries'
-import {TextLink} from '../../util/Link'
-import {getAgent} from 'state/session'
-import {createFullHandle, validateHandle} from 'lib/strings/handles'
-
-export function CreateAccount({onPressBack}: {onPressBack: () => void}) {
- const {screen} = useAnalytics()
- const pal = usePalette('default')
- const {_} = useLingui()
- const [uiState, uiDispatch] = useCreateAccount()
- const {isTabletOrDesktop} = useWebMediaQueries()
- const submit = useSubmitCreateAccount(uiState, uiDispatch)
-
- React.useEffect(() => {
- screen('CreateAccount')
- }, [screen])
-
- // fetch service info
- // =
-
- const {
- data: serviceInfo,
- isFetching: serviceInfoIsFetching,
- error: serviceInfoError,
- refetch: refetchServiceInfo,
- } = useServiceQuery(uiState.serviceUrl)
-
- React.useEffect(() => {
- if (serviceInfo) {
- uiDispatch({type: 'set-service-description', value: serviceInfo})
- uiDispatch({type: 'set-error', value: ''})
- } else if (serviceInfoError) {
- uiDispatch({
- type: 'set-error',
- value: _(
- msg`Unable to contact your service. Please check your Internet connection.`,
- ),
- })
- }
- }, [_, uiDispatch, serviceInfo, serviceInfoError])
-
- // event handlers
- // =
-
- const onPressBackInner = React.useCallback(() => {
- if (uiState.canBack) {
- uiDispatch({type: 'back'})
- } else {
- onPressBack()
- }
- }, [uiState, uiDispatch, onPressBack])
-
- const onPressNext = React.useCallback(async () => {
- if (!uiState.canNext) {
- return
- }
-
- if (uiState.step === 2) {
- if (!validateHandle(uiState.handle, uiState.userDomain).overall) {
- return
- }
-
- uiDispatch({type: 'set-processing', value: true})
- try {
- const res = await getAgent().resolveHandle({
- handle: createFullHandle(uiState.handle, uiState.userDomain),
- })
-
- if (res.data.did) {
- uiDispatch({
- type: 'set-error',
- value: _(msg`That handle is already taken.`),
- })
- return
- }
- } catch (e) {
- // Don't need to handle
- } finally {
- uiDispatch({type: 'set-processing', value: false})
- }
-
- if (!uiState.isCaptchaRequired) {
- try {
- await submit()
- } catch {
- // dont need to handle here
- }
- // We don't need to go to the next page if there wasn't a captcha required
- return
- }
- }
-
- uiDispatch({type: 'next'})
- }, [
- uiState.canNext,
- uiState.step,
- uiState.isCaptchaRequired,
- uiState.handle,
- uiState.userDomain,
- uiDispatch,
- _,
- submit,
- ])
-
- // rendering
- // =
-
- return (
-
-
-
- {uiState.step === 1 && (
-
- )}
- {uiState.step === 2 && (
-
- )}
- {uiState.step === 3 && (
-
- )}
-
-
-
-
- Back
-
-
-
- {uiState.canNext ? (
-
- {uiState.isProcessing ? (
-
- ) : (
-
- Next
-
- )}
-
- ) : serviceInfoError ? (
- refetchServiceInfo()}
- accessibilityRole="button"
- accessibilityLabel={_(msg`Retry`)}
- accessibilityHint=""
- accessibilityLiveRegion="polite"
- hitSlop={HITSLOP_10}>
-
- Retry
-
-
- ) : serviceInfoIsFetching ? (
- <>
-
-
- Connecting...
-
- >
- ) : undefined}
-
-
-
-
-
- Having trouble? {' '}
-
-
-
-
-
-
-
-
- )
-}
-
-const styles = StyleSheet.create({
- stepContainer: {
- paddingHorizontal: 20,
- paddingVertical: 20,
- },
-})
diff --git a/src/view/com/auth/create/Policies.tsx b/src/view/com/auth/create/Policies.tsx
deleted file mode 100644
index 803e2ad32b..0000000000
--- a/src/view/com/auth/create/Policies.tsx
+++ /dev/null
@@ -1,121 +0,0 @@
-import React from 'react'
-import {StyleSheet, View} from 'react-native'
-import {
- FontAwesomeIcon,
- FontAwesomeIconStyle,
-} from '@fortawesome/react-native-fontawesome'
-import {ComAtprotoServerDescribeServer} from '@atproto/api'
-import {TextLink} from '../../util/Link'
-import {Text} from '../../util/text/Text'
-import {s, colors} from 'lib/styles'
-import {usePalette} from 'lib/hooks/usePalette'
-import {Trans, msg} from '@lingui/macro'
-import {useLingui} from '@lingui/react'
-
-type ServiceDescription = ComAtprotoServerDescribeServer.OutputSchema
-
-export const Policies = ({
- serviceDescription,
- needsGuardian,
-}: {
- serviceDescription: ServiceDescription
- needsGuardian: boolean
-}) => {
- const pal = usePalette('default')
- const {_} = useLingui()
- if (!serviceDescription) {
- return
- }
- const tos = validWebLink(serviceDescription.links?.termsOfService)
- const pp = validWebLink(serviceDescription.links?.privacyPolicy)
- if (!tos && !pp) {
- return (
-
-
-
-
-
-
- This service has not provided terms of service or a privacy policy.
-
-
-
- )
- }
- const els = []
- if (tos) {
- els.push(
- ,
- )
- }
- if (pp) {
- els.push(
- ,
- )
- }
- if (els.length === 2) {
- els.splice(
- 1,
- 0,
-
- {' '}
- and{' '}
- ,
- )
- }
- return (
-
-
- By creating an account you agree to the {els}.
-
- {needsGuardian && (
-
-
- If you are not yet an adult according to the laws of your country,
- your parent or legal guardian must read these Terms on your behalf.
-
-
- )}
-
- )
-}
-
-function validWebLink(url?: string): string | undefined {
- return url && (url.startsWith('http://') || url.startsWith('https://'))
- ? url
- : undefined
-}
-
-const styles = StyleSheet.create({
- policies: {
- flexDirection: 'column',
- gap: 8,
- },
- errorIcon: {
- borderWidth: 1,
- borderColor: colors.white,
- borderRadius: 30,
- width: 16,
- height: 16,
- alignItems: 'center',
- justifyContent: 'center',
- },
-})
diff --git a/src/view/com/auth/create/Step1.tsx b/src/view/com/auth/create/Step1.tsx
deleted file mode 100644
index 1f6852f8cc..0000000000
--- a/src/view/com/auth/create/Step1.tsx
+++ /dev/null
@@ -1,261 +0,0 @@
-import React from 'react'
-import {
- ActivityIndicator,
- Keyboard,
- StyleSheet,
- TouchableOpacity,
- View,
-} from 'react-native'
-import {CreateAccountState, CreateAccountDispatch, is18} from './state'
-import {Text} from 'view/com/util/text/Text'
-import {DateInput} from 'view/com/util/forms/DateInput'
-import {StepHeader} from './StepHeader'
-import {s} from 'lib/styles'
-import {usePalette} from 'lib/hooks/usePalette'
-import {TextInput} from '../util/TextInput'
-import {Policies} from './Policies'
-import {ErrorMessage} from 'view/com/util/error/ErrorMessage'
-import {isWeb} from 'platform/detection'
-import {Trans, msg} from '@lingui/macro'
-import {useLingui} from '@lingui/react'
-import {logger} from '#/logger'
-import {
- FontAwesomeIcon,
- FontAwesomeIconStyle,
-} from '@fortawesome/react-native-fontawesome'
-import {useDialogControl} from '#/components/Dialog'
-
-import {ServerInputDialog} from '../server-input'
-import {toNiceDomain} from '#/lib/strings/url-helpers'
-
-function sanitizeDate(date: Date): Date {
- if (!date || date.toString() === 'Invalid Date') {
- logger.error(`Create account: handled invalid date for birthDate`, {
- hasDate: !!date,
- })
- return new Date()
- }
- return date
-}
-
-export function Step1({
- uiState,
- uiDispatch,
-}: {
- uiState: CreateAccountState
- uiDispatch: CreateAccountDispatch
-}) {
- const pal = usePalette('default')
- const {_} = useLingui()
- const serverInputControl = useDialogControl()
-
- const onPressSelectService = React.useCallback(() => {
- serverInputControl.open()
- Keyboard.dismiss()
- }, [serverInputControl])
-
- const birthDate = React.useMemo(() => {
- return sanitizeDate(uiState.birthDate)
- }, [uiState.birthDate])
-
- return (
-
- uiDispatch({type: 'set-service-url', value: url})}
- />
-
-
- {uiState.error ? (
-
- ) : undefined}
-
-
-
- Hosting provider
-
-
-
-
-
-
- {toNiceDomain(uiState.serviceUrl)}
-
-
-
-
-
-
-
-
-
- {!uiState.serviceDescription ? (
-
- ) : (
- <>
- {uiState.isInviteCodeRequired && (
-
-
- Invite code
-
- uiDispatch({type: 'set-invite-code', value})}
- accessibilityLabel={_(msg`Invite code`)}
- accessibilityHint={_(msg`Input invite code to proceed`)}
- autoCapitalize="none"
- autoComplete="off"
- autoCorrect={false}
- autoFocus={true}
- />
-
- )}
-
- {!uiState.isInviteCodeRequired || uiState.inviteCode ? (
- <>
-
-
- Email address
-
- uiDispatch({type: 'set-email', value})}
- accessibilityLabel={_(msg`Email`)}
- accessibilityHint={_(msg`Input email for Bluesky account`)}
- accessibilityLabelledBy="email"
- autoCapitalize="none"
- autoComplete="email"
- autoCorrect={false}
- autoFocus={!uiState.isInviteCodeRequired}
- />
-
-
-
-
- Password
-
- uiDispatch({type: 'set-password', value})}
- accessibilityLabel={_(msg`Password`)}
- accessibilityHint={_(msg`Set password`)}
- accessibilityLabelledBy="password"
- autoCapitalize="none"
- autoComplete="new-password"
- autoCorrect={false}
- />
-
-
-
-
- Your birth date
-
-
- uiDispatch({type: 'set-birth-date', value})
- }
- buttonType="default-light"
- buttonStyle={[pal.border, styles.dateInputButton]}
- buttonLabelType="lg"
- accessibilityLabel={_(msg`Birthday`)}
- accessibilityHint={_(msg`Enter your birth date`)}
- accessibilityLabelledBy="birthDate"
- />
-
-
- {uiState.serviceDescription && (
-
- )}
- >
- ) : undefined}
- >
- )}
-
- )
-}
-
-const styles = StyleSheet.create({
- error: {
- borderRadius: 6,
- marginBottom: 10,
- },
- dateInputButton: {
- borderWidth: 1,
- borderRadius: 6,
- paddingVertical: 14,
- },
- // @ts-expect-error: Suppressing error due to incomplete `ViewStyle` type definition in react-native-web, missing `cursor` prop as discussed in https://github.com/necolas/react-native-web/issues/832.
- touchable: {
- ...(isWeb && {cursor: 'pointer'}),
- },
-})
diff --git a/src/view/com/auth/create/Step2.tsx b/src/view/com/auth/create/Step2.tsx
deleted file mode 100644
index 5c262977f1..0000000000
--- a/src/view/com/auth/create/Step2.tsx
+++ /dev/null
@@ -1,140 +0,0 @@
-import React from 'react'
-import {View} from 'react-native'
-import {CreateAccountState, CreateAccountDispatch} from './state'
-import {Text} from 'view/com/util/text/Text'
-import {StepHeader} from './StepHeader'
-import {s} from 'lib/styles'
-import {TextInput} from '../util/TextInput'
-import {
- createFullHandle,
- IsValidHandle,
- validateHandle,
-} from 'lib/strings/handles'
-import {usePalette} from 'lib/hooks/usePalette'
-import {msg, Trans} from '@lingui/macro'
-import {useLingui} from '@lingui/react'
-import {atoms as a, useTheme} from '#/alf'
-import {Check_Stroke2_Corner0_Rounded as Check} from '#/components/icons/Check'
-import {TimesLarge_Stroke2_Corner0_Rounded as Times} from '#/components/icons/Times'
-import {useFocusEffect} from '@react-navigation/native'
-
-/** STEP 3: Your user handle
- * @field User handle
- */
-export function Step2({
- uiState,
- uiDispatch,
-}: {
- uiState: CreateAccountState
- uiDispatch: CreateAccountDispatch
-}) {
- const pal = usePalette('default')
- const {_} = useLingui()
- const t = useTheme()
-
- const [validCheck, setValidCheck] = React.useState({
- handleChars: false,
- frontLength: false,
- totalLength: true,
- overall: false,
- })
-
- useFocusEffect(
- React.useCallback(() => {
- setValidCheck(validateHandle(uiState.handle, uiState.userDomain))
-
- // Disabling this, because we only want to run this when we focus the screen
- // eslint-disable-next-line react-hooks/exhaustive-deps
- }, []),
- )
-
- const onHandleChange = React.useCallback(
- (value: string) => {
- if (uiState.error) {
- uiDispatch({type: 'set-error', value: ''})
- }
-
- setValidCheck(validateHandle(value, uiState.userDomain))
- uiDispatch({type: 'set-handle', value})
- },
- [uiDispatch, uiState.error, uiState.userDomain],
- )
-
- return (
-
-
-
-
-
-
- Your full handle will be {' '}
-
- @{createFullHandle(uiState.handle, uiState.userDomain)}
-
-
-
-
- {uiState.error ? (
-
-
-
- {uiState.error}
-
-
- ) : undefined}
-
-
-
- May only contain letters and numbers
-
-
-
-
- {!validCheck.totalLength ? (
-
- May not be longer than 253 characters
-
- ) : (
-
- Must be at least 3 characters
-
- )}
-
-
-
-
- )
-}
-
-function IsValidIcon({valid}: {valid: boolean}) {
- const t = useTheme()
-
- if (!valid) {
- return
- }
-
- return
-}
diff --git a/src/view/com/auth/create/Step3.tsx b/src/view/com/auth/create/Step3.tsx
deleted file mode 100644
index 53fdfdde81..0000000000
--- a/src/view/com/auth/create/Step3.tsx
+++ /dev/null
@@ -1,114 +0,0 @@
-import React from 'react'
-import {ActivityIndicator, StyleSheet, View} from 'react-native'
-import {
- CreateAccountState,
- CreateAccountDispatch,
- useSubmitCreateAccount,
-} from './state'
-import {StepHeader} from './StepHeader'
-import {ErrorMessage} from 'view/com/util/error/ErrorMessage'
-import {isWeb} from 'platform/detection'
-import {msg} from '@lingui/macro'
-import {useLingui} from '@lingui/react'
-
-import {nanoid} from 'nanoid/non-secure'
-import {CaptchaWebView} from 'view/com/auth/create/CaptchaWebView'
-import {useTheme} from 'lib/ThemeContext'
-import {createFullHandle} from 'lib/strings/handles'
-
-const CAPTCHA_PATH = '/gate/signup'
-
-export function Step3({
- uiState,
- uiDispatch,
-}: {
- uiState: CreateAccountState
- uiDispatch: CreateAccountDispatch
-}) {
- const {_} = useLingui()
- const theme = useTheme()
- const submit = useSubmitCreateAccount(uiState, uiDispatch)
-
- const [completed, setCompleted] = React.useState(false)
-
- const stateParam = React.useMemo(() => nanoid(15), [])
- const url = React.useMemo(() => {
- const newUrl = new URL(uiState.serviceUrl)
- newUrl.pathname = CAPTCHA_PATH
- newUrl.searchParams.set(
- 'handle',
- createFullHandle(uiState.handle, uiState.userDomain),
- )
- newUrl.searchParams.set('state', stateParam)
- newUrl.searchParams.set('colorScheme', theme.colorScheme)
-
- console.log(newUrl)
-
- return newUrl.href
- }, [
- uiState.serviceUrl,
- uiState.handle,
- uiState.userDomain,
- stateParam,
- theme.colorScheme,
- ])
-
- const onSuccess = React.useCallback(
- (code: string) => {
- setCompleted(true)
- submit(code)
- },
- [submit],
- )
-
- const onError = React.useCallback(() => {
- uiDispatch({
- type: 'set-error',
- value: _(msg`Error receiving captcha response.`),
- })
- }, [_, uiDispatch])
-
- return (
-
-
-
- {!completed ? (
-
- ) : (
-
- )}
-
-
- {uiState.error ? (
-
- ) : undefined}
-
- )
-}
-
-const styles = StyleSheet.create({
- error: {
- borderRadius: 6,
- marginTop: 10,
- },
- // @ts-expect-error: Suppressing error due to incomplete `ViewStyle` type definition in react-native-web, missing `cursor` prop as discussed in https://github.com/necolas/react-native-web/issues/832.
- touchable: {
- ...(isWeb && {cursor: 'pointer'}),
- },
- container: {
- minHeight: 500,
- width: '100%',
- paddingBottom: 20,
- overflow: 'hidden',
- },
- center: {
- alignItems: 'center',
- justifyContent: 'center',
- },
-})
diff --git a/src/view/com/auth/create/StepHeader.tsx b/src/view/com/auth/create/StepHeader.tsx
deleted file mode 100644
index a98b392d8d..0000000000
--- a/src/view/com/auth/create/StepHeader.tsx
+++ /dev/null
@@ -1,44 +0,0 @@
-import React from 'react'
-import {StyleSheet, View} from 'react-native'
-import {Text} from 'view/com/util/text/Text'
-import {usePalette} from 'lib/hooks/usePalette'
-import {Trans} from '@lingui/macro'
-import {CreateAccountState} from './state'
-
-export function StepHeader({
- uiState,
- title,
- children,
-}: React.PropsWithChildren<{uiState: CreateAccountState; title: string}>) {
- const pal = usePalette('default')
- const numSteps = 3
- return (
-
-
-
- {uiState.step === 3 ? (
- Last step!
- ) : (
-
- Step {uiState.step} of {numSteps}
-
- )}
-
-
-
- {title}
-
-
- {children}
-
- )
-}
-
-const styles = StyleSheet.create({
- container: {
- flexDirection: 'row',
- justifyContent: 'space-between',
- alignItems: 'center',
- marginBottom: 20,
- },
-})
diff --git a/src/view/com/auth/create/state.ts b/src/view/com/auth/create/state.ts
deleted file mode 100644
index 840084dcb7..0000000000
--- a/src/view/com/auth/create/state.ts
+++ /dev/null
@@ -1,298 +0,0 @@
-import {useCallback, useReducer} from 'react'
-import {
- ComAtprotoServerDescribeServer,
- ComAtprotoServerCreateAccount,
-} from '@atproto/api'
-import {I18nContext, useLingui} from '@lingui/react'
-import {msg} from '@lingui/macro'
-import * as EmailValidator from 'email-validator'
-import {getAge} from 'lib/strings/time'
-import {logger} from '#/logger'
-import {createFullHandle, validateHandle} from '#/lib/strings/handles'
-import {cleanError} from '#/lib/strings/errors'
-import {useOnboardingDispatch} from '#/state/shell/onboarding'
-import {useSessionApi} from '#/state/session'
-import {DEFAULT_SERVICE, IS_TEST_USER} from '#/lib/constants'
-import {
- DEFAULT_PROD_FEEDS,
- usePreferencesSetBirthDateMutation,
- useSetSaveFeedsMutation,
-} from 'state/queries/preferences'
-
-export type ServiceDescription = ComAtprotoServerDescribeServer.OutputSchema
-const DEFAULT_DATE = new Date(Date.now() - 60e3 * 60 * 24 * 365 * 20) // default to 20 years ago
-
-export type CreateAccountAction =
- | {type: 'set-step'; value: number}
- | {type: 'set-error'; value: string | undefined}
- | {type: 'set-processing'; value: boolean}
- | {type: 'set-service-url'; value: string}
- | {type: 'set-service-description'; value: ServiceDescription | undefined}
- | {type: 'set-user-domain'; value: string}
- | {type: 'set-invite-code'; value: string}
- | {type: 'set-email'; value: string}
- | {type: 'set-password'; value: string}
- | {type: 'set-handle'; value: string}
- | {type: 'set-birth-date'; value: Date}
- | {type: 'next'}
- | {type: 'back'}
-
-export interface CreateAccountState {
- // state
- step: number
- error: string | undefined
- isProcessing: boolean
- serviceUrl: string
- serviceDescription: ServiceDescription | undefined
- userDomain: string
- inviteCode: string
- email: string
- password: string
- handle: string
- birthDate: Date
-
- // computed
- canBack: boolean
- canNext: boolean
- isInviteCodeRequired: boolean
- isCaptchaRequired: boolean
-}
-
-export type CreateAccountDispatch = (action: CreateAccountAction) => void
-
-export function useCreateAccount() {
- const {_} = useLingui()
-
- return useReducer(createReducer({_}), {
- step: 1,
- error: undefined,
- isProcessing: false,
- serviceUrl: DEFAULT_SERVICE,
- serviceDescription: undefined,
- userDomain: '',
- inviteCode: '',
- email: '',
- password: '',
- handle: '',
- birthDate: DEFAULT_DATE,
-
- canBack: false,
- canNext: false,
- isInviteCodeRequired: false,
- isCaptchaRequired: false,
- })
-}
-
-export function useSubmitCreateAccount(
- uiState: CreateAccountState,
- uiDispatch: CreateAccountDispatch,
-) {
- const {_} = useLingui()
- const {createAccount} = useSessionApi()
- const {mutate: setBirthDate} = usePreferencesSetBirthDateMutation()
- const {mutate: setSavedFeeds} = useSetSaveFeedsMutation()
- const onboardingDispatch = useOnboardingDispatch()
-
- return useCallback(
- async (verificationCode?: string) => {
- if (!uiState.email) {
- uiDispatch({type: 'set-step', value: 1})
- console.log('no email?')
- return uiDispatch({
- type: 'set-error',
- value: _(msg`Please enter your email.`),
- })
- }
- if (!EmailValidator.validate(uiState.email)) {
- uiDispatch({type: 'set-step', value: 1})
- return uiDispatch({
- type: 'set-error',
- value: _(msg`Your email appears to be invalid.`),
- })
- }
- if (!uiState.password) {
- uiDispatch({type: 'set-step', value: 1})
- return uiDispatch({
- type: 'set-error',
- value: _(msg`Please choose your password.`),
- })
- }
- if (!uiState.handle) {
- uiDispatch({type: 'set-step', value: 2})
- return uiDispatch({
- type: 'set-error',
- value: _(msg`Please choose your handle.`),
- })
- }
- if (uiState.isCaptchaRequired && !verificationCode) {
- uiDispatch({type: 'set-step', value: 3})
- return uiDispatch({
- type: 'set-error',
- value: _(msg`Please complete the verification captcha.`),
- })
- }
- uiDispatch({type: 'set-error', value: ''})
- uiDispatch({type: 'set-processing', value: true})
-
- try {
- onboardingDispatch({type: 'start'}) // start now to avoid flashing the wrong view
- await createAccount({
- service: uiState.serviceUrl,
- email: uiState.email,
- handle: createFullHandle(uiState.handle, uiState.userDomain),
- password: uiState.password,
- inviteCode: uiState.inviteCode.trim(),
- verificationCode: uiState.isCaptchaRequired
- ? verificationCode
- : undefined,
- })
- setBirthDate({birthDate: uiState.birthDate})
- if (!IS_TEST_USER(uiState.handle)) {
- setSavedFeeds(DEFAULT_PROD_FEEDS)
- }
- } catch (e: any) {
- onboardingDispatch({type: 'skip'}) // undo starting the onboard
- let errMsg = e.toString()
- if (e instanceof ComAtprotoServerCreateAccount.InvalidInviteCodeError) {
- errMsg = _(
- msg`Invite code not accepted. Check that you input it correctly and try again.`,
- )
- uiDispatch({type: 'set-step', value: 1})
- }
-
- if ([400, 429].includes(e.status)) {
- logger.warn('Failed to create account', {message: e})
- } else {
- logger.error(`Failed to create account (${e.status} status)`, {
- message: e,
- })
- }
-
- const error = cleanError(errMsg)
- const isHandleError = error.toLowerCase().includes('handle')
-
- uiDispatch({type: 'set-processing', value: false})
- uiDispatch({type: 'set-error', value: cleanError(errMsg)})
- uiDispatch({type: 'set-step', value: isHandleError ? 2 : 1})
- }
- },
- [
- uiState.email,
- uiState.password,
- uiState.handle,
- uiState.isCaptchaRequired,
- uiState.serviceUrl,
- uiState.userDomain,
- uiState.inviteCode,
- uiState.birthDate,
- uiDispatch,
- _,
- onboardingDispatch,
- createAccount,
- setBirthDate,
- setSavedFeeds,
- ],
- )
-}
-
-export function is13(state: CreateAccountState) {
- return getAge(state.birthDate) >= 13
-}
-
-export function is18(state: CreateAccountState) {
- return getAge(state.birthDate) >= 18
-}
-
-function createReducer({_}: {_: I18nContext['_']}) {
- return function reducer(
- state: CreateAccountState,
- action: CreateAccountAction,
- ): CreateAccountState {
- switch (action.type) {
- case 'set-step': {
- return compute({...state, step: action.value})
- }
- case 'set-error': {
- return compute({...state, error: action.value})
- }
- case 'set-processing': {
- return compute({...state, isProcessing: action.value})
- }
- case 'set-service-url': {
- return compute({
- ...state,
- serviceUrl: action.value,
- serviceDescription:
- state.serviceUrl !== action.value
- ? undefined
- : state.serviceDescription,
- })
- }
- case 'set-service-description': {
- return compute({
- ...state,
- serviceDescription: action.value,
- userDomain: action.value?.availableUserDomains[0] || '',
- })
- }
- case 'set-user-domain': {
- return compute({...state, userDomain: action.value})
- }
- case 'set-invite-code': {
- return compute({...state, inviteCode: action.value})
- }
- case 'set-email': {
- return compute({...state, email: action.value})
- }
- case 'set-password': {
- return compute({...state, password: action.value})
- }
- case 'set-handle': {
- return compute({...state, handle: action.value})
- }
- case 'set-birth-date': {
- return compute({...state, birthDate: action.value})
- }
- case 'next': {
- if (state.step === 1) {
- if (!is13(state)) {
- return compute({
- ...state,
- error: _(
- msg`Unfortunately, you do not meet the requirements to create an account.`,
- ),
- })
- }
- }
- return compute({...state, error: '', step: state.step + 1})
- }
- case 'back': {
- return compute({...state, error: '', step: state.step - 1})
- }
- }
- }
-}
-
-function compute(state: CreateAccountState): CreateAccountState {
- let canNext = true
- if (state.step === 1) {
- canNext =
- !!state.serviceDescription &&
- (!state.isInviteCodeRequired || !!state.inviteCode) &&
- !!state.email &&
- !!state.password
- } else if (state.step === 2) {
- canNext =
- !!state.handle && validateHandle(state.handle, state.userDomain).overall
- } else if (state.step === 3) {
- // Step 3 will automatically redirect as soon as the captcha completes
- canNext = false
- }
- return {
- ...state,
- canBack: state.step > 1,
- canNext,
- isInviteCodeRequired: !!state.serviceDescription?.inviteCodeRequired,
- isCaptchaRequired: !!state.serviceDescription?.phoneVerificationRequired,
- }
-}
diff --git a/src/view/com/auth/login/ChooseAccountForm.tsx b/src/view/com/auth/login/ChooseAccountForm.tsx
deleted file mode 100644
index d3b075fdb4..0000000000
--- a/src/view/com/auth/login/ChooseAccountForm.tsx
+++ /dev/null
@@ -1,162 +0,0 @@
-import React from 'react'
-import {ScrollView, TouchableOpacity, View} from 'react-native'
-import {
- FontAwesomeIcon,
- FontAwesomeIconStyle,
-} from '@fortawesome/react-native-fontawesome'
-import {useAnalytics} from 'lib/analytics/analytics'
-import {Text} from '../../util/text/Text'
-import {UserAvatar} from '../../util/UserAvatar'
-import {s, colors} from 'lib/styles'
-import {usePalette} from 'lib/hooks/usePalette'
-import {Trans, msg} from '@lingui/macro'
-import {useLingui} from '@lingui/react'
-import {styles} from './styles'
-import {useSession, useSessionApi, SessionAccount} from '#/state/session'
-import {useProfileQuery} from '#/state/queries/profile'
-import {useLoggedOutViewControls} from '#/state/shell/logged-out'
-import * as Toast from '#/view/com/util/Toast'
-
-function AccountItem({
- account,
- onSelect,
- isCurrentAccount,
-}: {
- account: SessionAccount
- onSelect: (account: SessionAccount) => void
- isCurrentAccount: boolean
-}) {
- const pal = usePalette('default')
- const {_} = useLingui()
- const {data: profile} = useProfileQuery({did: account.did})
-
- const onPress = React.useCallback(() => {
- onSelect(account)
- }, [account, onSelect])
-
- return (
-
-
-
-
-
-
-
- {profile?.displayName || account.handle}{' '}
-
-
- {account.handle}
-
-
- {isCurrentAccount ? (
-
- ) : (
-
- )}
-
-
- )
-}
-export const ChooseAccountForm = ({
- onSelectAccount,
- onPressBack,
-}: {
- onSelectAccount: (account?: SessionAccount) => void
- onPressBack: () => void
-}) => {
- const {track, screen} = useAnalytics()
- const pal = usePalette('default')
- const {_} = useLingui()
- const {accounts, currentAccount} = useSession()
- const {initSession} = useSessionApi()
- const {setShowLoggedOut} = useLoggedOutViewControls()
-
- React.useEffect(() => {
- screen('Choose Account')
- }, [screen])
-
- const onSelect = React.useCallback(
- async (account: SessionAccount) => {
- if (account.accessJwt) {
- if (account.did === currentAccount?.did) {
- setShowLoggedOut(false)
- Toast.show(_(msg`Already signed in as @${account.handle}`))
- } else {
- await initSession(account)
- track('Sign In', {resumedSession: true})
- setTimeout(() => {
- Toast.show(_(msg`Signed in as @${account.handle}`))
- }, 100)
- }
- } else {
- onSelectAccount(account)
- }
- },
- [currentAccount, track, initSession, onSelectAccount, setShowLoggedOut, _],
- )
-
- return (
-
-
- Sign in as...
-
- {accounts.map(account => (
-
- ))}
- onSelectAccount(undefined)}
- accessibilityRole="button"
- accessibilityLabel={_(msg`Login to account that is not listed`)}
- accessibilityHint="">
-
-
-
- Other account
-
-
-
-
-
-
-
-
- Back
-
-
-
-
-
- )
-}
diff --git a/src/view/com/auth/login/ForgotPasswordForm.tsx b/src/view/com/auth/login/ForgotPasswordForm.tsx
deleted file mode 100644
index 322da2b8fd..0000000000
--- a/src/view/com/auth/login/ForgotPasswordForm.tsx
+++ /dev/null
@@ -1,228 +0,0 @@
-import React, {useState, useEffect} from 'react'
-import {
- ActivityIndicator,
- Keyboard,
- TextInput,
- TouchableOpacity,
- View,
-} from 'react-native'
-import {
- FontAwesomeIcon,
- FontAwesomeIconStyle,
-} from '@fortawesome/react-native-fontawesome'
-import {ComAtprotoServerDescribeServer} from '@atproto/api'
-import * as EmailValidator from 'email-validator'
-import {BskyAgent} from '@atproto/api'
-import {useAnalytics} from 'lib/analytics/analytics'
-import {Text} from '../../util/text/Text'
-import {s} from 'lib/styles'
-import {toNiceDomain} from 'lib/strings/url-helpers'
-import {isNetworkError} from 'lib/strings/errors'
-import {usePalette} from 'lib/hooks/usePalette'
-import {useTheme} from 'lib/ThemeContext'
-import {cleanError} from 'lib/strings/errors'
-import {logger} from '#/logger'
-import {Trans, msg} from '@lingui/macro'
-import {useLingui} from '@lingui/react'
-import {styles} from './styles'
-import {useDialogControl} from '#/components/Dialog'
-
-import {ServerInputDialog} from '../server-input'
-
-type ServiceDescription = ComAtprotoServerDescribeServer.OutputSchema
-
-export const ForgotPasswordForm = ({
- error,
- serviceUrl,
- serviceDescription,
- setError,
- setServiceUrl,
- onPressBack,
- onEmailSent,
-}: {
- error: string
- serviceUrl: string
- serviceDescription: ServiceDescription | undefined
- setError: (v: string) => void
- setServiceUrl: (v: string) => void
- onPressBack: () => void
- onEmailSent: () => void
-}) => {
- const pal = usePalette('default')
- const theme = useTheme()
- const [isProcessing, setIsProcessing] = useState(false)
- const [email, setEmail] = useState('')
- const {screen} = useAnalytics()
- const {_} = useLingui()
- const serverInputControl = useDialogControl()
-
- useEffect(() => {
- screen('Signin:ForgotPassword')
- }, [screen])
-
- const onPressSelectService = React.useCallback(() => {
- serverInputControl.open()
- Keyboard.dismiss()
- }, [serverInputControl])
-
- const onPressNext = async () => {
- if (!EmailValidator.validate(email)) {
- return setError(_(msg`Your email appears to be invalid.`))
- }
-
- setError('')
- setIsProcessing(true)
-
- try {
- const agent = new BskyAgent({service: serviceUrl})
- await agent.com.atproto.server.requestPasswordReset({email})
- onEmailSent()
- } catch (e: any) {
- const errMsg = e.toString()
- logger.warn('Failed to request password reset', {error: e})
- setIsProcessing(false)
- if (isNetworkError(e)) {
- setError(
- _(
- msg`Unable to contact your service. Please check your Internet connection.`,
- ),
- )
- } else {
- setError(cleanError(errMsg))
- }
- }
- }
-
- return (
- <>
-
-
-
- Reset password
-
-
-
- Enter the email you used to create your account. We'll send you a
- "reset code" so you can set a new password.
-
-
-
-
-
-
- {toNiceDomain(serviceUrl)}
-
-
-
-
-
-
-
-
-
-
- {error ? (
-
-
-
-
-
- {error}
-
-
- ) : undefined}
-
-
-
- Back
-
-
-
- {!serviceDescription || isProcessing ? (
-
- ) : !email ? (
-
- Next
-
- ) : (
-
-
- Next
-
-
- )}
- {!serviceDescription || isProcessing ? (
-
- Processing...
-
- ) : undefined}
-
-
-
-
-
- Already have a code?
-
-
-
-
- >
- )
-}
diff --git a/src/view/com/auth/login/Login.tsx b/src/view/com/auth/login/Login.tsx
deleted file mode 100644
index bc931ac04c..0000000000
--- a/src/view/com/auth/login/Login.tsx
+++ /dev/null
@@ -1,164 +0,0 @@
-import React, {useState, useEffect} from 'react'
-import {KeyboardAvoidingView} from 'react-native'
-import {useAnalytics} from 'lib/analytics/analytics'
-import {LoggedOutLayout} from 'view/com/util/layouts/LoggedOutLayout'
-import {DEFAULT_SERVICE} from '#/lib/constants'
-import {usePalette} from 'lib/hooks/usePalette'
-import {logger} from '#/logger'
-import {ChooseAccountForm} from './ChooseAccountForm'
-import {LoginForm} from './LoginForm'
-import {ForgotPasswordForm} from './ForgotPasswordForm'
-import {SetNewPasswordForm} from './SetNewPasswordForm'
-import {PasswordUpdatedForm} from './PasswordUpdatedForm'
-import {useLingui} from '@lingui/react'
-import {msg} from '@lingui/macro'
-import {useSession, SessionAccount} from '#/state/session'
-import {useServiceQuery} from '#/state/queries/service'
-import {useLoggedOutView} from '#/state/shell/logged-out'
-
-enum Forms {
- Login,
- ChooseAccount,
- ForgotPassword,
- SetNewPassword,
- PasswordUpdated,
-}
-
-export const Login = ({onPressBack}: {onPressBack: () => void}) => {
- const {_} = useLingui()
- const pal = usePalette('default')
-
- const {accounts} = useSession()
- const {track} = useAnalytics()
- const {requestedAccountSwitchTo} = useLoggedOutView()
- const requestedAccount = accounts.find(
- a => a.did === requestedAccountSwitchTo,
- )
-
- const [error, setError] = useState('')
- const [serviceUrl, setServiceUrl] = useState(
- requestedAccount?.service || DEFAULT_SERVICE,
- )
- const [initialHandle, setInitialHandle] = useState(
- requestedAccount?.handle || '',
- )
- const [currentForm, setCurrentForm] = useState(
- requestedAccount
- ? Forms.Login
- : accounts.length
- ? Forms.ChooseAccount
- : Forms.Login,
- )
-
- const {
- data: serviceDescription,
- error: serviceError,
- refetch: refetchService,
- } = useServiceQuery(serviceUrl)
-
- const onSelectAccount = (account?: SessionAccount) => {
- if (account?.service) {
- setServiceUrl(account.service)
- }
- setInitialHandle(account?.handle || '')
- setCurrentForm(Forms.Login)
- }
-
- const gotoForm = (form: Forms) => () => {
- setError('')
- setCurrentForm(form)
- }
-
- useEffect(() => {
- if (serviceError) {
- setError(
- _(
- msg`Unable to contact your service. Please check your Internet connection.`,
- ),
- )
- logger.warn(`Failed to fetch service description for ${serviceUrl}`, {
- error: String(serviceError),
- })
- } else {
- setError('')
- }
- }, [serviceError, serviceUrl, _])
-
- const onPressRetryConnect = () => refetchService()
- const onPressForgotPassword = () => {
- track('Signin:PressedForgotPassword')
- setCurrentForm(Forms.ForgotPassword)
- }
-
- return (
-
- {currentForm === Forms.Login ? (
-
-
-
- ) : undefined}
- {currentForm === Forms.ChooseAccount ? (
-
-
-
- ) : undefined}
- {currentForm === Forms.ForgotPassword ? (
-
-
-
- ) : undefined}
- {currentForm === Forms.SetNewPassword ? (
-
-
-
- ) : undefined}
- {currentForm === Forms.PasswordUpdated ? (
-
-
-
- ) : undefined}
-
- )
-}
diff --git a/src/view/com/auth/login/LoginForm.tsx b/src/view/com/auth/login/LoginForm.tsx
deleted file mode 100644
index 3202d69c55..0000000000
--- a/src/view/com/auth/login/LoginForm.tsx
+++ /dev/null
@@ -1,298 +0,0 @@
-import React, {useState, useRef} from 'react'
-import {
- ActivityIndicator,
- Keyboard,
- TextInput,
- TouchableOpacity,
- View,
-} from 'react-native'
-import {
- FontAwesomeIcon,
- FontAwesomeIconStyle,
-} from '@fortawesome/react-native-fontawesome'
-import {ComAtprotoServerDescribeServer} from '@atproto/api'
-import {useAnalytics} from 'lib/analytics/analytics'
-import {Text} from '../../util/text/Text'
-import {s} from 'lib/styles'
-import {createFullHandle} from 'lib/strings/handles'
-import {toNiceDomain} from 'lib/strings/url-helpers'
-import {isNetworkError} from 'lib/strings/errors'
-import {usePalette} from 'lib/hooks/usePalette'
-import {useTheme} from 'lib/ThemeContext'
-import {useSessionApi} from '#/state/session'
-import {cleanError} from 'lib/strings/errors'
-import {logger} from '#/logger'
-import {Trans, msg} from '@lingui/macro'
-import {styles} from './styles'
-import {useLingui} from '@lingui/react'
-import {useDialogControl} from '#/components/Dialog'
-
-import {ServerInputDialog} from '../server-input'
-
-type ServiceDescription = ComAtprotoServerDescribeServer.OutputSchema
-
-export const LoginForm = ({
- error,
- serviceUrl,
- serviceDescription,
- initialHandle,
- setError,
- setServiceUrl,
- onPressRetryConnect,
- onPressBack,
- onPressForgotPassword,
-}: {
- error: string
- serviceUrl: string
- serviceDescription: ServiceDescription | undefined
- initialHandle: string
- setError: (v: string) => void
- setServiceUrl: (v: string) => void
- onPressRetryConnect: () => void
- onPressBack: () => void
- onPressForgotPassword: () => void
-}) => {
- const {track} = useAnalytics()
- const pal = usePalette('default')
- const theme = useTheme()
- const [isProcessing, setIsProcessing] = useState(false)
- const [identifier, setIdentifier] = useState(initialHandle)
- const [password, setPassword] = useState('')
- const passwordInputRef = useRef(null)
- const {_} = useLingui()
- const {login} = useSessionApi()
- const serverInputControl = useDialogControl()
-
- const onPressSelectService = () => {
- serverInputControl.open()
- Keyboard.dismiss()
- track('Signin:PressedSelectService')
- }
-
- const onPressNext = async () => {
- Keyboard.dismiss()
- setError('')
- setIsProcessing(true)
-
- try {
- // try to guess the handle if the user just gave their own username
- let fullIdent = identifier
- if (
- !identifier.includes('@') && // not an email
- !identifier.includes('.') && // not a domain
- serviceDescription &&
- serviceDescription.availableUserDomains.length > 0
- ) {
- let matched = false
- for (const domain of serviceDescription.availableUserDomains) {
- if (fullIdent.endsWith(domain)) {
- matched = true
- }
- }
- if (!matched) {
- fullIdent = createFullHandle(
- identifier,
- serviceDescription.availableUserDomains[0],
- )
- }
- }
-
- // TODO remove double login
- await login({
- service: serviceUrl,
- identifier: fullIdent,
- password,
- })
- } catch (e: any) {
- const errMsg = e.toString()
- setIsProcessing(false)
- if (errMsg.includes('Authentication Required')) {
- logger.debug('Failed to login due to invalid credentials', {
- error: errMsg,
- })
- setError(_(msg`Invalid username or password`))
- } else if (isNetworkError(e)) {
- logger.warn('Failed to login due to network error', {error: errMsg})
- setError(
- _(
- msg`Unable to contact your service. Please check your Internet connection.`,
- ),
- )
- } else {
- logger.warn('Failed to login', {error: errMsg})
- setError(cleanError(errMsg))
- }
- }
- }
-
- const isReady = !!serviceDescription && !!identifier && !!password
- return (
-
-
-
-
- Sign into
-
-
-
-
-
-
- {toNiceDomain(serviceUrl)}
-
-
-
-
-
-
-
-
- Account
-
-
-
-
- {
- passwordInputRef.current?.focus()
- }}
- blurOnSubmit={false} // prevents flickering due to onSubmitEditing going to next field
- keyboardAppearance={theme.colorScheme}
- value={identifier}
- onChangeText={str =>
- setIdentifier((str || '').toLowerCase().trim())
- }
- editable={!isProcessing}
- accessibilityLabel={_(msg`Username or email address`)}
- accessibilityHint={_(
- msg`Input the username or email address you used at signup`,
- )}
- />
-
-
-
-
-
-
- Forgot
-
-
-
-
- {error ? (
-
-
-
-
-
- {error}
-
-
- ) : undefined}
-
-
-
- Back
-
-
-
- {!serviceDescription && error ? (
-
-
- Retry
-
-
- ) : !serviceDescription ? (
- <>
-
-
- Connecting...
-
- >
- ) : isProcessing ? (
-
- ) : isReady ? (
-
-
- Next
-
-
- ) : undefined}
-
-
- )
-}
diff --git a/src/view/com/auth/login/PasswordUpdatedForm.tsx b/src/view/com/auth/login/PasswordUpdatedForm.tsx
deleted file mode 100644
index 71f750b141..0000000000
--- a/src/view/com/auth/login/PasswordUpdatedForm.tsx
+++ /dev/null
@@ -1,48 +0,0 @@
-import React, {useEffect} from 'react'
-import {TouchableOpacity, View} from 'react-native'
-import {useAnalytics} from 'lib/analytics/analytics'
-import {Text} from '../../util/text/Text'
-import {s} from 'lib/styles'
-import {usePalette} from 'lib/hooks/usePalette'
-import {styles} from './styles'
-import {msg, Trans} from '@lingui/macro'
-import {useLingui} from '@lingui/react'
-
-export const PasswordUpdatedForm = ({
- onPressNext,
-}: {
- onPressNext: () => void
-}) => {
- const {screen} = useAnalytics()
- const pal = usePalette('default')
- const {_} = useLingui()
-
- useEffect(() => {
- screen('Signin:PasswordUpdatedForm')
- }, [screen])
-
- return (
- <>
-
-
- Password updated!
-
-
- You can now sign in with your new password.
-
-
-
-
-
- Okay
-
-
-
-
- >
- )
-}
diff --git a/src/view/com/auth/login/SetNewPasswordForm.tsx b/src/view/com/auth/login/SetNewPasswordForm.tsx
deleted file mode 100644
index 6d1584c86c..0000000000
--- a/src/view/com/auth/login/SetNewPasswordForm.tsx
+++ /dev/null
@@ -1,211 +0,0 @@
-import React, {useState, useEffect} from 'react'
-import {
- ActivityIndicator,
- TextInput,
- TouchableOpacity,
- View,
-} from 'react-native'
-import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome'
-import {BskyAgent} from '@atproto/api'
-import {useAnalytics} from 'lib/analytics/analytics'
-import {Text} from '../../util/text/Text'
-import {s} from 'lib/styles'
-import {isNetworkError} from 'lib/strings/errors'
-import {usePalette} from 'lib/hooks/usePalette'
-import {useTheme} from 'lib/ThemeContext'
-import {cleanError} from 'lib/strings/errors'
-import {checkAndFormatResetCode} from 'lib/strings/password'
-import {logger} from '#/logger'
-import {styles} from './styles'
-import {Trans, msg} from '@lingui/macro'
-import {useLingui} from '@lingui/react'
-
-export const SetNewPasswordForm = ({
- error,
- serviceUrl,
- setError,
- onPressBack,
- onPasswordSet,
-}: {
- error: string
- serviceUrl: string
- setError: (v: string) => void
- onPressBack: () => void
- onPasswordSet: () => void
-}) => {
- const pal = usePalette('default')
- const theme = useTheme()
- const {screen} = useAnalytics()
- const {_} = useLingui()
-
- useEffect(() => {
- screen('Signin:SetNewPasswordForm')
- }, [screen])
-
- const [isProcessing, setIsProcessing] = useState(false)
- const [resetCode, setResetCode] = useState('')
- const [password, setPassword] = useState('')
-
- const onPressNext = async () => {
- // Check that the code is correct. We do this again just incase the user enters the code after their pw and we
- // don't get to call onBlur first
- const formattedCode = checkAndFormatResetCode(resetCode)
- // TODO Better password strength check
- if (!formattedCode || !password) {
- setError(
- _(
- msg`You have entered an invalid code. It should look like XXXXX-XXXXX.`,
- ),
- )
- return
- }
-
- setError('')
- setIsProcessing(true)
-
- try {
- const agent = new BskyAgent({service: serviceUrl})
- await agent.com.atproto.server.resetPassword({
- token: formattedCode,
- password,
- })
- onPasswordSet()
- } catch (e: any) {
- const errMsg = e.toString()
- logger.warn('Failed to set new password', {error: e})
- setIsProcessing(false)
- if (isNetworkError(e)) {
- setError(
- 'Unable to contact your service. Please check your Internet connection.',
- )
- } else {
- setError(cleanError(errMsg))
- }
- }
- }
-
- const onBlur = () => {
- const formattedCode = checkAndFormatResetCode(resetCode)
- if (!formattedCode) {
- setError(
- _(
- msg`You have entered an invalid code. It should look like XXXXX-XXXXX.`,
- ),
- )
- return
- }
- setResetCode(formattedCode)
- }
-
- return (
- <>
-
-
- Set new password
-
-
-
- You will receive an email with a "reset code." Enter that code here,
- then enter your new password.
-
-
-
-
-
- setError('')}
- onBlur={onBlur}
- editable={!isProcessing}
- accessible={true}
- accessibilityLabel={_(msg`Reset code`)}
- accessibilityHint={_(
- msg`Input code sent to your email for password reset`,
- )}
- />
-
-
-
-
-
-
- {error ? (
-
-
-
-
-
- {error}
-
-
- ) : undefined}
-
-
-
- Back
-
-
-
- {isProcessing ? (
-
- ) : !resetCode || !password ? (
-
- Next
-
- ) : (
-
-
- Next
-
-
- )}
- {isProcessing ? (
-
- Updating...
-
- ) : undefined}
-
-
- >
- )
-}
diff --git a/src/view/com/auth/login/styles.ts b/src/view/com/auth/login/styles.ts
deleted file mode 100644
index 9dccc2803b..0000000000
--- a/src/view/com/auth/login/styles.ts
+++ /dev/null
@@ -1,118 +0,0 @@
-import {StyleSheet} from 'react-native'
-import {colors} from 'lib/styles'
-import {isWeb} from '#/platform/detection'
-
-export const styles = StyleSheet.create({
- screenTitle: {
- marginBottom: 10,
- marginHorizontal: 20,
- },
- instructions: {
- marginBottom: 20,
- marginHorizontal: 20,
- },
- group: {
- borderWidth: 1,
- borderRadius: 10,
- marginBottom: 20,
- marginHorizontal: 20,
- },
- groupLabel: {
- paddingHorizontal: 20,
- paddingBottom: 5,
- },
- groupContent: {
- borderTopWidth: 1,
- flexDirection: 'row',
- alignItems: 'center',
- },
- noTopBorder: {
- borderTopWidth: 0,
- },
- groupContentIcon: {
- marginLeft: 10,
- },
- account: {
- borderTopWidth: 1,
- paddingHorizontal: 20,
- paddingVertical: 4,
- },
- accountLast: {
- borderBottomWidth: 1,
- marginBottom: 20,
- paddingVertical: 8,
- },
- textInput: {
- flex: 1,
- width: '100%',
- paddingVertical: 10,
- paddingHorizontal: 12,
- fontSize: 17,
- letterSpacing: 0.25,
- fontWeight: '400',
- borderRadius: 10,
- },
- textInputInnerBtn: {
- flexDirection: 'row',
- alignItems: 'center',
- paddingVertical: 6,
- paddingHorizontal: 8,
- marginHorizontal: 6,
- },
- textBtn: {
- flexDirection: 'row',
- flex: 1,
- alignItems: 'center',
- },
- textBtnLabel: {
- flex: 1,
- paddingVertical: 10,
- paddingHorizontal: 12,
- },
- textBtnFakeInnerBtn: {
- flexDirection: 'row',
- alignItems: 'center',
- borderRadius: 6,
- paddingVertical: 6,
- paddingHorizontal: 8,
- marginHorizontal: 6,
- },
- accountText: {
- flex: 1,
- flexDirection: 'row',
- alignItems: 'baseline',
- paddingVertical: 10,
- },
- accountTextOther: {
- paddingLeft: 12,
- },
- error: {
- backgroundColor: colors.red4,
- flexDirection: 'row',
- alignItems: 'center',
- marginTop: -5,
- marginHorizontal: 20,
- marginBottom: 15,
- borderRadius: 8,
- paddingHorizontal: 8,
- paddingVertical: 8,
- },
- errorIcon: {
- borderWidth: 1,
- borderColor: colors.white,
- color: colors.white,
- borderRadius: 30,
- width: 16,
- height: 16,
- alignItems: 'center',
- justifyContent: 'center',
- marginRight: 5,
- },
- dimmed: {opacity: 0.5},
-
- maxHeight: {
- // @ts-ignore web only -prf
- maxHeight: isWeb ? '100vh' : undefined,
- height: !isWeb ? '100%' : undefined,
- },
-})
diff --git a/src/view/com/auth/onboarding/RecommendedFeeds.tsx b/src/view/com/auth/onboarding/RecommendedFeeds.tsx
index d3318bffd8..95f8502f81 100644
--- a/src/view/com/auth/onboarding/RecommendedFeeds.tsx
+++ b/src/view/com/auth/onboarding/RecommendedFeeds.tsx
@@ -1,18 +1,19 @@
import React from 'react'
import {ActivityIndicator, FlatList, StyleSheet, View} from 'react-native'
import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome'
-import {TabletOrDesktop, Mobile} from 'view/com/util/layouts/Breakpoints'
+import {msg, Trans} from '@lingui/macro'
+import {useLingui} from '@lingui/react'
+
+import {useSuggestedFeedsQuery} from '#/state/queries/suggested-feeds'
+import {usePalette} from 'lib/hooks/usePalette'
+import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries'
+import {ErrorMessage} from 'view/com/util/error/ErrorMessage'
+import {Button} from 'view/com/util/forms/Button'
+import {Mobile, TabletOrDesktop} from 'view/com/util/layouts/Breakpoints'
+import {TitleColumnLayout} from 'view/com/util/layouts/TitleColumnLayout'
import {Text} from 'view/com/util/text/Text'
import {ViewHeader} from 'view/com/util/ViewHeader'
-import {TitleColumnLayout} from 'view/com/util/layouts/TitleColumnLayout'
-import {Button} from 'view/com/util/forms/Button'
import {RecommendedFeedsItem} from './RecommendedFeedsItem'
-import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries'
-import {usePalette} from 'lib/hooks/usePalette'
-import {ErrorMessage} from 'view/com/util/error/ErrorMessage'
-import {Trans, msg} from '@lingui/macro'
-import {useLingui} from '@lingui/react'
-import {useSuggestedFeedsQuery} from '#/state/queries/suggested-feeds'
type Props = {
next: () => void
@@ -130,6 +131,7 @@ export function RecommendedFeeds({next}: Props) {
renderItem={({item}) => }
keyExtractor={item => item.uri}
style={{flex: 1}}
+ showsVerticalScrollIndicator={false}
/>
) : isLoading ? (
diff --git a/src/view/com/auth/onboarding/RecommendedFollows.tsx b/src/view/com/auth/onboarding/RecommendedFollows.tsx
index d275f6c90e..a840f949e4 100644
--- a/src/view/com/auth/onboarding/RecommendedFollows.tsx
+++ b/src/view/com/auth/onboarding/RecommendedFollows.tsx
@@ -1,21 +1,22 @@
import React from 'react'
import {ActivityIndicator, FlatList, StyleSheet, View} from 'react-native'
-import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome'
import {AppBskyActorDefs, moderateProfile} from '@atproto/api'
-import {TabletOrDesktop, Mobile} from 'view/com/util/layouts/Breakpoints'
-import {Text} from 'view/com/util/text/Text'
-import {ViewHeader} from 'view/com/util/ViewHeader'
-import {TitleColumnLayout} from 'view/com/util/layouts/TitleColumnLayout'
-import {Button} from 'view/com/util/forms/Button'
-import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries'
-import {usePalette} from 'lib/hooks/usePalette'
-import {RecommendedFollowsItem} from './RecommendedFollowsItem'
+import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome'
+import {msg, Trans} from '@lingui/macro'
+import {useLingui} from '@lingui/react'
+
+import {logger} from '#/logger'
+import {useModerationOpts} from '#/state/queries/preferences'
import {useSuggestedFollowsQuery} from '#/state/queries/suggested-follows'
import {useGetSuggestedFollowersByActor} from '#/state/queries/suggested-follows'
-import {useModerationOpts} from '#/state/queries/preferences'
-import {logger} from '#/logger'
-import {Trans, msg} from '@lingui/macro'
-import {useLingui} from '@lingui/react'
+import {usePalette} from 'lib/hooks/usePalette'
+import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries'
+import {Button} from 'view/com/util/forms/Button'
+import {Mobile, TabletOrDesktop} from 'view/com/util/layouts/Breakpoints'
+import {TitleColumnLayout} from 'view/com/util/layouts/TitleColumnLayout'
+import {Text} from 'view/com/util/text/Text'
+import {ViewHeader} from 'view/com/util/ViewHeader'
+import {RecommendedFollowsItem} from './RecommendedFollowsItem'
type Props = {
next: () => void
@@ -202,6 +203,7 @@ export function RecommendedFollows({next}: Props) {
)}
keyExtractor={item => item.did}
style={{flex: 1}}
+ showsVerticalScrollIndicator={false}
/>
)}
- {_(msg`Bluesky`)}
+
+ {_(msg`Bluesky`)}
+
- {_(msg`Custom`)}
+
+ {_(msg`Custom`)}
+
@@ -106,9 +110,9 @@ export function ServerInputDialog({
a.px_md,
a.py_md,
]}>
-
+
Server address
-
+
control.close()}
label={_(msg`Done`)}>
- {_(msg`Done`)}
+ {_(msg`Done`)}
diff --git a/src/view/com/composer/Composer.tsx b/src/view/com/composer/Composer.tsx
index ddb01a8fa6..24f61a2ee1 100644
--- a/src/view/com/composer/Composer.tsx
+++ b/src/view/com/composer/Composer.tsx
@@ -1,5 +1,4 @@
import React, {useCallback, useEffect, useMemo, useRef, useState} from 'react'
-import {observer} from 'mobx-react-lite'
import {
ActivityIndicator,
BackHandler,
@@ -13,59 +12,61 @@ import {
View,
} from 'react-native'
import {useSafeAreaInsets} from 'react-native-safe-area-context'
-import LinearGradient from 'react-native-linear-gradient'
-import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome'
+import {LinearGradient} from 'expo-linear-gradient'
import {RichText} from '@atproto/api'
-import {useAnalytics} from 'lib/analytics/analytics'
-import {useIsKeyboardVisible} from 'lib/hooks/useIsKeyboardVisible'
-import {ExternalEmbed} from './ExternalEmbed'
-import {Text} from '../util/text/Text'
-import * as Toast from '../util/Toast'
-// TODO: Prevent naming components that coincide with RN primitives
-// due to linting false positives
-import {TextInput, TextInputRef} from './text-input/TextInput'
-import {CharProgress} from './char-progress/CharProgress'
-import {UserAvatar} from '../util/UserAvatar'
-import * as apilib from 'lib/api/index'
-import {ComposerOpts} from 'state/shell/composer'
-import {s, colors, gradients} from 'lib/styles'
-import {cleanError} from 'lib/strings/errors'
-import {shortenLinks} from 'lib/strings/rich-text-manip'
-import {toShortUrl} from 'lib/strings/url-helpers'
-import {SelectPhotoBtn} from './photos/SelectPhotoBtn'
-import {OpenCameraBtn} from './photos/OpenCameraBtn'
-import {ThreadgateBtn} from './threadgate/ThreadgateBtn'
-import {usePalette} from 'lib/hooks/usePalette'
-import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries'
-import {useExternalLinkFetch} from './useExternalLinkFetch'
-import {isWeb, isNative, isAndroid, isIOS} from 'platform/detection'
-import {QuoteEmbed} from '../util/post-embeds/QuoteEmbed'
-import {GalleryModel} from 'state/models/media/gallery'
-import {Gallery} from './photos/Gallery'
-import {MAX_GRAPHEME_LENGTH} from 'lib/constants'
-import {LabelsBtn} from './labels/LabelsBtn'
-import {SelectLangBtn} from './select-language/SelectLangBtn'
-import {SuggestedLanguage} from './select-language/SuggestedLanguage'
-import {insertMentionAt} from 'lib/strings/mention-manip'
-import {Trans, msg} from '@lingui/macro'
+import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome'
+import {msg, Trans} from '@lingui/macro'
import {useLingui} from '@lingui/react'
+import {observer} from 'mobx-react-lite'
+
+import {logEvent} from '#/lib/statsig/statsig'
+import {logger} from '#/logger'
+import {emitPostCreated} from '#/state/events'
import {useModals} from '#/state/modals'
import {useRequireAltTextEnabled} from '#/state/preferences'
import {
+ toPostLanguages,
useLanguagePrefs,
useLanguagePrefsApi,
- toPostLanguages,
} from '#/state/preferences/languages'
-import {useSession, getAgent} from '#/state/session'
import {useProfileQuery} from '#/state/queries/profile'
-import {useComposerControls} from '#/state/shell/composer'
-import {emitPostCreated} from '#/state/events'
import {ThreadgateSetting} from '#/state/queries/threadgate'
-import {logger} from '#/logger'
+import {getAgent, useSession} from '#/state/session'
+import {useComposerControls} from '#/state/shell/composer'
+import {useAnalytics} from 'lib/analytics/analytics'
+import * as apilib from 'lib/api/index'
+import {MAX_GRAPHEME_LENGTH} from 'lib/constants'
+import {useIsKeyboardVisible} from 'lib/hooks/useIsKeyboardVisible'
+import {usePalette} from 'lib/hooks/usePalette'
+import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries'
+import {cleanError} from 'lib/strings/errors'
+import {insertMentionAt} from 'lib/strings/mention-manip'
+import {shortenLinks} from 'lib/strings/rich-text-manip'
+import {toShortUrl} from 'lib/strings/url-helpers'
+import {colors, gradients, s} from 'lib/styles'
+import {isAndroid, isIOS, isNative, isWeb} from 'platform/detection'
+import {useDialogStateControlContext} from 'state/dialogs'
+import {GalleryModel} from 'state/models/media/gallery'
+import {ComposerOpts} from 'state/shell/composer'
import {ComposerReplyTo} from 'view/com/composer/ComposerReplyTo'
import * as Prompt from '#/components/Prompt'
-import {useDialogStateControlContext} from 'state/dialogs'
-import {logEvent} from '#/lib/statsig/statsig'
+import {QuoteEmbed} from '../util/post-embeds/QuoteEmbed'
+import {Text} from '../util/text/Text'
+import * as Toast from '../util/Toast'
+import {UserAvatar} from '../util/UserAvatar'
+import {CharProgress} from './char-progress/CharProgress'
+import {ExternalEmbed} from './ExternalEmbed'
+import {LabelsBtn} from './labels/LabelsBtn'
+import {Gallery} from './photos/Gallery'
+import {OpenCameraBtn} from './photos/OpenCameraBtn'
+import {SelectPhotoBtn} from './photos/SelectPhotoBtn'
+import {SelectLangBtn} from './select-language/SelectLangBtn'
+import {SuggestedLanguage} from './select-language/SuggestedLanguage'
+// TODO: Prevent naming components that coincide with RN primitives
+// due to linting false positives
+import {TextInput, TextInputRef} from './text-input/TextInput'
+import {ThreadgateBtn} from './threadgate/ThreadgateBtn'
+import {useExternalLinkFetch} from './useExternalLinkFetch'
type Props = ComposerOpts
export const ComposePost = observer(function ComposePost({
diff --git a/src/view/com/composer/ComposerReplyTo.tsx b/src/view/com/composer/ComposerReplyTo.tsx
index 0c1b87d04d..24a2373f5c 100644
--- a/src/view/com/composer/ComposerReplyTo.tsx
+++ b/src/view/com/composer/ComposerReplyTo.tsx
@@ -1,21 +1,22 @@
import React from 'react'
import {LayoutAnimation, Pressable, StyleSheet, View} from 'react-native'
import {Image} from 'expo-image'
-import {useLingui} from '@lingui/react'
-import {msg} from '@lingui/macro'
import {
AppBskyEmbedImages,
AppBskyEmbedRecord,
AppBskyEmbedRecordWithMedia,
AppBskyFeedPost,
} from '@atproto/api'
-import {ComposerOptsPostRef} from 'state/shell/composer'
+import {msg} from '@lingui/macro'
+import {useLingui} from '@lingui/react'
+
import {usePalette} from 'lib/hooks/usePalette'
import {sanitizeDisplayName} from 'lib/strings/display-names'
import {sanitizeHandle} from 'lib/strings/handles'
-import {UserAvatar} from 'view/com/util/UserAvatar'
-import {Text} from 'view/com/util/text/Text'
+import {ComposerOptsPostRef} from 'state/shell/composer'
import {QuoteEmbed} from 'view/com/util/post-embeds/QuoteEmbed'
+import {Text} from 'view/com/util/text/Text'
+import {PreviewableUserAvatar} from 'view/com/util/UserAvatar'
export function ComposerReplyTo({replyTo}: {replyTo: ComposerOptsPostRef}) {
const pal = usePalette('default')
@@ -83,9 +84,11 @@ export function ComposerReplyTo({replyTo}: {replyTo: ComposerOptsPostRef}) {
accessibilityHint={_(
msg`Expand or collapse the full post you are replying to`,
)}>
-
@@ -216,6 +219,7 @@ function ComposerReplyToImages({
const styles = StyleSheet.create({
replyToLayout: {
flexDirection: 'row',
+ alignItems: 'flex-start',
borderTopWidth: 1,
paddingTop: 16,
paddingBottom: 16,
diff --git a/src/view/com/composer/useExternalLinkFetch.e2e.ts b/src/view/com/composer/useExternalLinkFetch.e2e.ts
new file mode 100644
index 0000000000..ccf619db37
--- /dev/null
+++ b/src/view/com/composer/useExternalLinkFetch.e2e.ts
@@ -0,0 +1,45 @@
+import {useState, useEffect} from 'react'
+import * as apilib from 'lib/api/index'
+import {getLinkMeta} from 'lib/link-meta/link-meta'
+import {ComposerOpts} from 'state/shell/composer'
+import {getAgent} from '#/state/session'
+
+export function useExternalLinkFetch({}: {
+ setQuote: (opts: ComposerOpts['quote']) => void
+}) {
+ const [extLink, setExtLink] = useState(
+ undefined,
+ )
+
+ useEffect(() => {
+ let aborted = false
+ const cleanup = () => {
+ aborted = true
+ }
+ if (!extLink) {
+ return cleanup
+ }
+ if (!extLink.meta) {
+ getLinkMeta(getAgent(), extLink.uri).then(meta => {
+ if (aborted) {
+ return
+ }
+ setExtLink({
+ uri: extLink.uri,
+ isLoading: !!meta.image,
+ meta,
+ })
+ })
+ return cleanup
+ }
+ if (extLink.isLoading) {
+ setExtLink({
+ ...extLink,
+ isLoading: false, // done
+ })
+ }
+ return cleanup
+ }, [extLink])
+
+ return {extLink, setExtLink}
+}
diff --git a/src/view/com/feeds/FeedPage.tsx b/src/view/com/feeds/FeedPage.tsx
index e6b5d1fb68..25c7e1006d 100644
--- a/src/view/com/feeds/FeedPage.tsx
+++ b/src/view/com/feeds/FeedPage.tsx
@@ -1,27 +1,29 @@
import React from 'react'
-import {useNavigation} from '@react-navigation/native'
-import {useAnalytics} from 'lib/analytics/analytics'
-import {useQueryClient} from '@tanstack/react-query'
-import {RQKEY as FEED_RQKEY} from '#/state/queries/post-feed'
-import {MainScrollProvider} from '../util/MainScrollProvider'
-import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries'
-import {useSetMinimalShellMode} from '#/state/shell'
-import {FeedDescriptor, FeedParams} from '#/state/queries/post-feed'
-import {ComposeIcon2} from 'lib/icons'
-import {s} from 'lib/styles'
-import {View, useWindowDimensions} from 'react-native'
-import {ListMethods} from '../util/List'
-import {Feed} from '../posts/Feed'
-import {FAB} from '../util/fab/FAB'
-import {LoadLatestBtn} from '../util/load-latest/LoadLatestBtn'
+import {useWindowDimensions, View} from 'react-native'
import {msg} from '@lingui/macro'
import {useLingui} from '@lingui/react'
-import {useSession} from '#/state/session'
-import {useComposerControls} from '#/state/shell/composer'
-import {listenSoftReset} from '#/state/events'
-import {truncateAndInvalidate} from '#/state/queries/util'
-import {TabState, getTabState, getRootNavigation} from '#/lib/routes/helpers'
+import {useNavigation} from '@react-navigation/native'
+import {useQueryClient} from '@tanstack/react-query'
+
+import {getRootNavigation, getTabState, TabState} from '#/lib/routes/helpers'
+import {logEvent, useGate} from '#/lib/statsig/statsig'
import {isNative} from '#/platform/detection'
+import {listenSoftReset} from '#/state/events'
+import {RQKEY as FEED_RQKEY} from '#/state/queries/post-feed'
+import {FeedDescriptor, FeedParams} from '#/state/queries/post-feed'
+import {truncateAndInvalidate} from '#/state/queries/util'
+import {useSession} from '#/state/session'
+import {useSetMinimalShellMode} from '#/state/shell'
+import {useComposerControls} from '#/state/shell/composer'
+import {useAnalytics} from 'lib/analytics/analytics'
+import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries'
+import {ComposeIcon2} from 'lib/icons'
+import {s} from 'lib/styles'
+import {Feed} from '../posts/Feed'
+import {FAB} from '../util/fab/FAB'
+import {ListMethods} from '../util/List'
+import {LoadLatestBtn} from '../util/load-latest/LoadLatestBtn'
+import {MainScrollProvider} from '../util/MainScrollProvider'
const POLL_FREQ = 60e3 // 60sec
@@ -68,6 +70,11 @@ export function FeedPage({
scrollToTop()
truncateAndInvalidate(queryClient, FEED_RQKEY(feed))
setHasNew(false)
+ logEvent('feed:refresh', {
+ feedType: feed.split('|')[0],
+ feedUrl: feed,
+ reason: 'soft-reset',
+ })
}
}, [navigation, isPageFocused, scrollToTop, queryClient, feed, setHasNew])
@@ -89,8 +96,24 @@ export function FeedPage({
scrollToTop()
truncateAndInvalidate(queryClient, FEED_RQKEY(feed))
setHasNew(false)
+ logEvent('feed:refresh', {
+ feedType: feed.split('|')[0],
+ feedUrl: feed,
+ reason: 'load-latest',
+ })
}, [scrollToTop, feed, queryClient, setHasNew])
+ let feedPollInterval
+ if (
+ useGate('disable_poll_on_discover') &&
+ feed === // Discover
+ 'feedgen|at://did:plc:z72i7hdynmk6r22z27h6tvur/app.bsky.feed.generator/whats-hot'
+ ) {
+ feedPollInterval = undefined
+ } else {
+ feedPollInterval = POLL_FREQ
+ }
+
return (
@@ -99,7 +122,7 @@ export function FeedPage({
enabled={isPageFocused}
feed={feed}
feedParams={feedParams}
- pollInterval={POLL_FREQ}
+ pollInterval={feedPollInterval}
disablePoll={hasNew}
scrollElRef={scrollElRef}
onScrolledDownChange={setIsScrolledDown}
diff --git a/src/view/com/feeds/ProfileFeedgens.tsx b/src/view/com/feeds/ProfileFeedgens.tsx
index e9cf9e5359..a006b11c06 100644
--- a/src/view/com/feeds/ProfileFeedgens.tsx
+++ b/src/view/com/feeds/ProfileFeedgens.tsx
@@ -1,22 +1,29 @@
import React from 'react'
-import {StyleProp, StyleSheet, View, ViewStyle} from 'react-native'
+import {
+ findNodeHandle,
+ StyleProp,
+ StyleSheet,
+ View,
+ ViewStyle,
+} from 'react-native'
+import {msg, Trans} from '@lingui/macro'
+import {useLingui} from '@lingui/react'
import {useQueryClient} from '@tanstack/react-query'
-import {List, ListRef} from '../util/List'
-import {FeedSourceCardLoaded} from './FeedSourceCard'
-import {ErrorMessage} from '../util/error/ErrorMessage'
-import {LoadMoreRetryBtn} from '../util/LoadMoreRetryBtn'
-import {Text} from '../util/text/Text'
-import {usePalette} from 'lib/hooks/usePalette'
-import {useProfileFeedgensQuery, RQKEY} from '#/state/queries/profile-feedgens'
-import {logger} from '#/logger'
-import {Trans, msg} from '@lingui/macro'
+
import {cleanError} from '#/lib/strings/errors'
import {useTheme} from '#/lib/ThemeContext'
-import {usePreferencesQuery} from '#/state/queries/preferences'
-import {hydrateFeedGenerator} from '#/state/queries/feed'
-import {FeedLoadingPlaceholder} from '#/view/com/util/LoadingPlaceholder'
+import {logger} from '#/logger'
import {isNative} from '#/platform/detection'
-import {useLingui} from '@lingui/react'
+import {hydrateFeedGenerator} from '#/state/queries/feed'
+import {usePreferencesQuery} from '#/state/queries/preferences'
+import {RQKEY, useProfileFeedgensQuery} from '#/state/queries/profile-feedgens'
+import {usePalette} from 'lib/hooks/usePalette'
+import {FeedLoadingPlaceholder} from '#/view/com/util/LoadingPlaceholder'
+import {ErrorMessage} from '../util/error/ErrorMessage'
+import {List, ListRef} from '../util/List'
+import {LoadMoreRetryBtn} from '../util/LoadMoreRetryBtn'
+import {Text} from '../util/text/Text'
+import {FeedSourceCardLoaded} from './FeedSourceCard'
const LOADING = {_reactKey: '__loading__'}
const EMPTY = {_reactKey: '__empty__'}
@@ -34,13 +41,14 @@ interface ProfileFeedgensProps {
enabled?: boolean
style?: StyleProp
testID?: string
+ setScrollViewTag: (tag: number | null) => void
}
export const ProfileFeedgens = React.forwardRef<
SectionRef,
ProfileFeedgensProps
>(function ProfileFeedgensImpl(
- {did, scrollElRef, headerOffset, enabled, style, testID},
+ {did, scrollElRef, headerOffset, enabled, style, testID, setScrollViewTag},
ref,
) {
const pal = usePalette('default')
@@ -169,6 +177,13 @@ export const ProfileFeedgens = React.forwardRef<
[error, refetch, onPressRetryLoadMore, pal, preferences, _],
)
+ React.useEffect(() => {
+ if (enabled && scrollElRef.current) {
+ const nativeTag = findNodeHandle(scrollElRef.current)
+ setScrollViewTag(nativeTag)
+ }
+ }, [enabled, scrollElRef, setScrollViewTag])
+
return (
-
-
-
-
-
-
-
-
-
+ {hasSession && (
+
+
+
+
+
+
+
+
+
+ )}
{tabBarAnchor}
{
diff --git a/src/view/com/home/HomeHeaderLayoutMobile.tsx b/src/view/com/home/HomeHeaderLayoutMobile.tsx
index d7b7231c60..78fa9af865 100644
--- a/src/view/com/home/HomeHeaderLayoutMobile.tsx
+++ b/src/view/com/home/HomeHeaderLayoutMobile.tsx
@@ -1,23 +1,24 @@
import React from 'react'
import {StyleSheet, TouchableOpacity, View} from 'react-native'
-import {usePalette} from 'lib/hooks/usePalette'
-import {Link} from '../util/Link'
+import Animated from 'react-native-reanimated'
import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome'
import {FontAwesomeIconStyle} from '@fortawesome/react-native-fontawesome'
-import {HITSLOP_10} from 'lib/constants'
-import Animated from 'react-native-reanimated'
import {msg} from '@lingui/macro'
import {useLingui} from '@lingui/react'
-import {useMinimalShellMode} from 'lib/hooks/useMinimalShellMode'
+
+import {useSession} from '#/state/session'
import {useSetDrawerOpen} from '#/state/shell/drawer-open'
import {useShellLayout} from '#/state/shell/shell-layout'
+import {HITSLOP_10} from 'lib/constants'
+import {useMinimalShellMode} from 'lib/hooks/useMinimalShellMode'
+import {usePalette} from 'lib/hooks/usePalette'
import {isWeb} from 'platform/detection'
import {Logo} from '#/view/icons/Logo'
-
-import {IS_DEV} from '#/env'
import {atoms} from '#/alf'
-import {Link as Link2} from '#/components/Link'
import {ColorPalette_Stroke2_Corner0_Rounded as ColorPalette} from '#/components/icons/ColorPalette'
+import {Link as Link2} from '#/components/Link'
+import {IS_DEV} from '#/env'
+import {Link} from '../util/Link'
export function HomeHeaderLayoutMobile({
children,
@@ -30,6 +31,7 @@ export function HomeHeaderLayoutMobile({
const setDrawerOpen = useSetDrawerOpen()
const {headerHeight} = useShellLayout()
const {headerMinimalShellTransform} = useMinimalShellMode()
+ const {hasSession} = useSession()
const onPressAvi = React.useCallback(() => {
setDrawerOpen(true)
@@ -76,18 +78,20 @@ export function HomeHeaderLayoutMobile({
)}
-
-
-
+ {hasSession && (
+
+
+
+ )}
{children}
diff --git a/src/view/com/lists/ProfileLists.tsx b/src/view/com/lists/ProfileLists.tsx
index a47b25bed4..003d1c60e7 100644
--- a/src/view/com/lists/ProfileLists.tsx
+++ b/src/view/com/lists/ProfileLists.tsx
@@ -1,21 +1,28 @@
import React from 'react'
-import {StyleProp, StyleSheet, View, ViewStyle} from 'react-native'
+import {
+ findNodeHandle,
+ StyleProp,
+ StyleSheet,
+ View,
+ ViewStyle,
+} from 'react-native'
+import {msg, Trans} from '@lingui/macro'
+import {useLingui} from '@lingui/react'
import {useQueryClient} from '@tanstack/react-query'
-import {List, ListRef} from '../util/List'
-import {ListCard} from './ListCard'
-import {ErrorMessage} from '../util/error/ErrorMessage'
-import {LoadMoreRetryBtn} from '../util/LoadMoreRetryBtn'
-import {Text} from '../util/text/Text'
-import {useAnalytics} from 'lib/analytics/analytics'
-import {usePalette} from 'lib/hooks/usePalette'
-import {useProfileListsQuery, RQKEY} from '#/state/queries/profile-lists'
-import {logger} from '#/logger'
-import {Trans, msg} from '@lingui/macro'
+
import {cleanError} from '#/lib/strings/errors'
import {useTheme} from '#/lib/ThemeContext'
-import {FeedLoadingPlaceholder} from '#/view/com/util/LoadingPlaceholder'
+import {logger} from '#/logger'
import {isNative} from '#/platform/detection'
-import {useLingui} from '@lingui/react'
+import {RQKEY, useProfileListsQuery} from '#/state/queries/profile-lists'
+import {useAnalytics} from 'lib/analytics/analytics'
+import {usePalette} from 'lib/hooks/usePalette'
+import {FeedLoadingPlaceholder} from '#/view/com/util/LoadingPlaceholder'
+import {ErrorMessage} from '../util/error/ErrorMessage'
+import {List, ListRef} from '../util/List'
+import {LoadMoreRetryBtn} from '../util/LoadMoreRetryBtn'
+import {Text} from '../util/text/Text'
+import {ListCard} from './ListCard'
const LOADING = {_reactKey: '__loading__'}
const EMPTY = {_reactKey: '__empty__'}
@@ -33,11 +40,12 @@ interface ProfileListsProps {
enabled?: boolean
style?: StyleProp
testID?: string
+ setScrollViewTag: (tag: number | null) => void
}
export const ProfileLists = React.forwardRef(
function ProfileListsImpl(
- {did, scrollElRef, headerOffset, enabled, style, testID},
+ {did, scrollElRef, headerOffset, enabled, style, testID, setScrollViewTag},
ref,
) {
const pal = usePalette('default')
@@ -171,6 +179,13 @@ export const ProfileLists = React.forwardRef(
[error, refetch, onPressRetryLoadMore, pal, _],
)
+ React.useEffect(() => {
+ if (enabled && scrollElRef.current) {
+ const nativeTag = findNodeHandle(scrollElRef.current)
+ setScrollViewTag(nativeTag)
+ }
+ }, [enabled, scrollElRef, setScrollViewTag])
+
return (
{
if (appPassword) {
- Clipboard.setString(appPassword)
+ setStringAsync(appPassword)
Toast.show(_(msg`Copied to clipboard`))
setWasCopied(true)
}
diff --git a/src/view/com/modals/AltImage.tsx b/src/view/com/modals/AltImage.tsx
index 17ce05cda8..197a6079ea 100644
--- a/src/view/com/modals/AltImage.tsx
+++ b/src/view/com/modals/AltImage.tsx
@@ -1,28 +1,29 @@
-import React, {useMemo, useCallback, useState} from 'react'
+import React, {useCallback, useMemo, useState} from 'react'
import {
ImageStyle,
- StyleSheet,
- TouchableOpacity,
- View,
- TextInput as RNTextInput,
- useWindowDimensions,
ScrollView as RNScrollView,
+ StyleSheet,
+ TextInput as RNTextInput,
+ TouchableOpacity,
+ useWindowDimensions,
+ View,
} from 'react-native'
-import {ScrollView, TextInput} from './util'
import {Image} from 'expo-image'
-import {usePalette} from 'lib/hooks/usePalette'
-import {gradients, s} from 'lib/styles'
-import {enforceLen} from 'lib/strings/helpers'
+import {LinearGradient} from 'expo-linear-gradient'
+import {msg, Trans} from '@lingui/macro'
+import {useLingui} from '@lingui/react'
+
+import {useModalControls} from '#/state/modals'
import {MAX_ALT_TEXT} from 'lib/constants'
-import {useTheme} from 'lib/ThemeContext'
import {useIsKeyboardVisible} from 'lib/hooks/useIsKeyboardVisible'
-import {Text} from '../util/text/Text'
-import LinearGradient from 'react-native-linear-gradient'
+import {usePalette} from 'lib/hooks/usePalette'
+import {enforceLen} from 'lib/strings/helpers'
+import {gradients, s} from 'lib/styles'
+import {useTheme} from 'lib/ThemeContext'
import {isWeb} from 'platform/detection'
import {ImageModel} from 'state/models/media/image'
-import {useLingui} from '@lingui/react'
-import {Trans, msg} from '@lingui/macro'
-import {useModalControls} from '#/state/modals'
+import {Text} from '../util/text/Text'
+import {ScrollView, TextInput} from './util'
export const snapPoints = ['100%']
diff --git a/src/view/com/modals/ChangeHandle.tsx b/src/view/com/modals/ChangeHandle.tsx
index f04bdb0e4f..125da44be7 100644
--- a/src/view/com/modals/ChangeHandle.tsx
+++ b/src/view/com/modals/ChangeHandle.tsx
@@ -1,37 +1,38 @@
import React, {useState} from 'react'
-import Clipboard from '@react-native-clipboard/clipboard'
-import {ComAtprotoServerDescribeServer} from '@atproto/api'
-import * as Toast from '../util/Toast'
import {
ActivityIndicator,
StyleSheet,
TouchableOpacity,
View,
} from 'react-native'
+import {setStringAsync} from 'expo-clipboard'
+import {ComAtprotoServerDescribeServer} from '@atproto/api'
import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome'
-import {ScrollView, TextInput} from './util'
-import {Text} from '../util/text/Text'
-import {Button} from '../util/forms/Button'
-import {SelectableBtn} from '../util/forms/SelectableBtn'
-import {ErrorMessage} from '../util/error/ErrorMessage'
-import {s} from 'lib/styles'
-import {createFullHandle, makeValidHandle} from 'lib/strings/handles'
-import {usePalette} from 'lib/hooks/usePalette'
-import {useTheme} from 'lib/ThemeContext'
-import {useAnalytics} from 'lib/analytics/analytics'
-import {cleanError} from 'lib/strings/errors'
-import {logger} from '#/logger'
-import {Trans, msg} from '@lingui/macro'
+import {msg, Trans} from '@lingui/macro'
import {useLingui} from '@lingui/react'
+
+import {logger} from '#/logger'
import {useModalControls} from '#/state/modals'
+import {useFetchDid, useUpdateHandleMutation} from '#/state/queries/handle'
import {useServiceQuery} from '#/state/queries/service'
-import {useUpdateHandleMutation, useFetchDid} from '#/state/queries/handle'
import {
+ getAgent,
+ SessionAccount,
useSession,
useSessionApi,
- SessionAccount,
- getAgent,
} from '#/state/session'
+import {useAnalytics} from 'lib/analytics/analytics'
+import {usePalette} from 'lib/hooks/usePalette'
+import {cleanError} from 'lib/strings/errors'
+import {createFullHandle, makeValidHandle} from 'lib/strings/handles'
+import {s} from 'lib/styles'
+import {useTheme} from 'lib/ThemeContext'
+import {ErrorMessage} from '../util/error/ErrorMessage'
+import {Button} from '../util/forms/Button'
+import {SelectableBtn} from '../util/forms/SelectableBtn'
+import {Text} from '../util/text/Text'
+import * as Toast from '../util/Toast'
+import {ScrollView, TextInput} from './util'
export const snapPoints = ['100%']
@@ -321,9 +322,7 @@ function CustomHandleForm({
// events
// =
const onPressCopy = React.useCallback(() => {
- Clipboard.setString(
- isDNSForm ? `did=${currentAccount.did}` : currentAccount.did,
- )
+ setStringAsync(isDNSForm ? `did=${currentAccount.did}` : currentAccount.did)
Toast.show(_(msg`Copied to clipboard`))
}, [currentAccount, isDNSForm, _])
const onChangeHandle = React.useCallback(
diff --git a/src/view/com/modals/CreateOrEditList.tsx b/src/view/com/modals/CreateOrEditList.tsx
index 0e11fcffd5..f5f4f56db0 100644
--- a/src/view/com/modals/CreateOrEditList.tsx
+++ b/src/view/com/modals/CreateOrEditList.tsx
@@ -1,4 +1,4 @@
-import React, {useState, useCallback, useMemo} from 'react'
+import React, {useCallback, useMemo, useState} from 'react'
import {
ActivityIndicator,
KeyboardAvoidingView,
@@ -8,35 +8,36 @@ import {
TouchableOpacity,
View,
} from 'react-native'
+import {Image as RNImage} from 'react-native-image-crop-picker'
+import {LinearGradient} from 'expo-linear-gradient'
import {
AppBskyGraphDefs,
AppBskyRichtextFacet,
RichText as RichTextAPI,
} from '@atproto/api'
-import LinearGradient from 'react-native-linear-gradient'
-import {Image as RNImage} from 'react-native-image-crop-picker'
-import {Text} from '../util/text/Text'
-import {ErrorMessage} from '../util/error/ErrorMessage'
-import * as Toast from '../util/Toast'
-import {s, colors, gradients} from 'lib/styles'
-import {enforceLen} from 'lib/strings/helpers'
-import {compressIfNeeded} from 'lib/media/manip'
-import {EditableUserAvatar} from '../util/UserAvatar'
-import {usePalette} from 'lib/hooks/usePalette'
-import {useTheme} from 'lib/ThemeContext'
-import {useAnalytics} from 'lib/analytics/analytics'
-import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries'
-import {cleanError, isNetworkError} from 'lib/strings/errors'
-import {Trans, msg} from '@lingui/macro'
+import {msg, Trans} from '@lingui/macro'
import {useLingui} from '@lingui/react'
+
+import {richTextToString} from '#/lib/strings/rich-text-helpers'
+import {shortenLinks} from '#/lib/strings/rich-text-manip'
import {useModalControls} from '#/state/modals'
import {
useListCreateMutation,
useListMetadataMutation,
} from '#/state/queries/list'
-import {richTextToString} from '#/lib/strings/rich-text-helpers'
-import {shortenLinks} from '#/lib/strings/rich-text-manip'
import {getAgent} from '#/state/session'
+import {useAnalytics} from 'lib/analytics/analytics'
+import {usePalette} from 'lib/hooks/usePalette'
+import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries'
+import {compressIfNeeded} from 'lib/media/manip'
+import {cleanError, isNetworkError} from 'lib/strings/errors'
+import {enforceLen} from 'lib/strings/helpers'
+import {colors, gradients, s} from 'lib/styles'
+import {useTheme} from 'lib/ThemeContext'
+import {ErrorMessage} from '../util/error/ErrorMessage'
+import {Text} from '../util/text/Text'
+import * as Toast from '../util/Toast'
+import {EditableUserAvatar} from '../util/UserAvatar'
const MAX_NAME = 64 // todo
const MAX_DESCRIPTION = 300 // todo
diff --git a/src/view/com/modals/DeleteAccount.tsx b/src/view/com/modals/DeleteAccount.tsx
index 2301e7a66e..4c4fb20f18 100644
--- a/src/view/com/modals/DeleteAccount.tsx
+++ b/src/view/com/modals/DeleteAccount.tsx
@@ -1,27 +1,28 @@
import React from 'react'
import {
- SafeAreaView,
ActivityIndicator,
+ SafeAreaView,
StyleSheet,
TouchableOpacity,
View,
} from 'react-native'
-import {TextInput, ScrollView} from './util'
-import LinearGradient from 'react-native-linear-gradient'
-import * as Toast from '../util/Toast'
-import {Text} from '../util/text/Text'
-import {s, colors, gradients} from 'lib/styles'
-import {usePalette} from 'lib/hooks/usePalette'
-import {useTheme} from 'lib/ThemeContext'
-import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries'
-import {ErrorMessage} from '../util/error/ErrorMessage'
-import {cleanError} from 'lib/strings/errors'
-import {resetToTab} from '../../../Navigation'
-import {Trans, msg} from '@lingui/macro'
+import {LinearGradient} from 'expo-linear-gradient'
+import {msg, Trans} from '@lingui/macro'
import {useLingui} from '@lingui/react'
+
import {useModalControls} from '#/state/modals'
-import {useSession, useSessionApi, getAgent} from '#/state/session'
+import {getAgent, useSession, useSessionApi} from '#/state/session'
+import {usePalette} from 'lib/hooks/usePalette'
+import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries'
+import {cleanError} from 'lib/strings/errors'
+import {colors, gradients, s} from 'lib/styles'
+import {useTheme} from 'lib/ThemeContext'
import {isAndroid} from 'platform/detection'
+import {resetToTab} from '../../../Navigation'
+import {ErrorMessage} from '../util/error/ErrorMessage'
+import {Text} from '../util/text/Text'
+import * as Toast from '../util/Toast'
+import {ScrollView, TextInput} from './util'
export const snapPoints = isAndroid ? ['90%'] : ['55%']
@@ -79,9 +80,7 @@ export function Component({}: {}) {
}
return (
-
+
Delete Account
diff --git a/src/view/com/modals/EditImage.tsx b/src/view/com/modals/EditImage.tsx
index 3b35ffee21..b39dcd9364 100644
--- a/src/view/com/modals/EditImage.tsx
+++ b/src/view/com/modals/EditImage.tsx
@@ -1,26 +1,27 @@
import React, {useCallback, useEffect, useMemo, useRef, useState} from 'react'
import {Pressable, StyleSheet, View} from 'react-native'
-import {usePalette} from 'lib/hooks/usePalette'
import {useWindowDimensions} from 'react-native'
+import {LinearGradient} from 'expo-linear-gradient'
+import {MaterialIcons} from '@expo/vector-icons'
+import {msg, Trans} from '@lingui/macro'
+import {useLingui} from '@lingui/react'
+import {Slider} from '@miblanchard/react-native-slider'
+import {observer} from 'mobx-react-lite'
+import ImageEditor, {Position} from 'react-avatar-editor'
+
+import {useModalControls} from '#/state/modals'
+import {MAX_ALT_TEXT} from 'lib/constants'
+import {usePalette} from 'lib/hooks/usePalette'
+import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries'
+import {RectTallIcon, RectWideIcon, SquareIcon} from 'lib/icons'
+import {enforceLen} from 'lib/strings/helpers'
import {gradients, s} from 'lib/styles'
import {useTheme} from 'lib/ThemeContext'
-import {Text} from '../util/text/Text'
-import LinearGradient from 'react-native-linear-gradient'
-import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries'
-import ImageEditor, {Position} from 'react-avatar-editor'
-import {TextInput} from './util'
-import {enforceLen} from 'lib/strings/helpers'
-import {MAX_ALT_TEXT} from 'lib/constants'
+import {getKeys} from 'lib/type-assertions'
import {GalleryModel} from 'state/models/media/gallery'
import {ImageModel} from 'state/models/media/image'
-import {SquareIcon, RectWideIcon, RectTallIcon} from 'lib/icons'
-import {Slider} from '@miblanchard/react-native-slider'
-import {MaterialIcons} from '@expo/vector-icons'
-import {observer} from 'mobx-react-lite'
-import {getKeys} from 'lib/type-assertions'
-import {Trans, msg} from '@lingui/macro'
-import {useLingui} from '@lingui/react'
-import {useModalControls} from '#/state/modals'
+import {Text} from '../util/text/Text'
+import {TextInput} from './util'
export const snapPoints = ['80%']
diff --git a/src/view/com/modals/EditProfile.tsx b/src/view/com/modals/EditProfile.tsx
index 097b7b0d1b..4b94aeb42f 100644
--- a/src/view/com/modals/EditProfile.tsx
+++ b/src/view/com/modals/EditProfile.tsx
@@ -1,5 +1,4 @@
-import React, {useState, useCallback} from 'react'
-import * as Toast from '../util/Toast'
+import React, {useCallback, useState} from 'react'
import {
ActivityIndicator,
KeyboardAvoidingView,
@@ -9,28 +8,30 @@ import {
TouchableOpacity,
View,
} from 'react-native'
-import LinearGradient from 'react-native-linear-gradient'
import {Image as RNImage} from 'react-native-image-crop-picker'
-import {AppBskyActorDefs} from '@atproto/api'
-import {Text} from '../util/text/Text'
-import {ErrorMessage} from '../util/error/ErrorMessage'
-import {s, colors, gradients} from 'lib/styles'
-import {enforceLen} from 'lib/strings/helpers'
-import {MAX_DISPLAY_NAME, MAX_DESCRIPTION} from 'lib/constants'
-import {compressIfNeeded} from 'lib/media/manip'
-import {UserBanner} from '../util/UserBanner'
-import {EditableUserAvatar} from '../util/UserAvatar'
-import {usePalette} from 'lib/hooks/usePalette'
-import {useTheme} from 'lib/ThemeContext'
-import {useAnalytics} from 'lib/analytics/analytics'
-import {cleanError} from 'lib/strings/errors'
import Animated, {FadeOut} from 'react-native-reanimated'
-import {isWeb} from 'platform/detection'
-import {Trans, msg} from '@lingui/macro'
+import {LinearGradient} from 'expo-linear-gradient'
+import {AppBskyActorDefs} from '@atproto/api'
+import {msg, Trans} from '@lingui/macro'
import {useLingui} from '@lingui/react'
+
+import {logger} from '#/logger'
import {useModalControls} from '#/state/modals'
import {useProfileUpdateMutation} from '#/state/queries/profile'
-import {logger} from '#/logger'
+import {useAnalytics} from 'lib/analytics/analytics'
+import {MAX_DESCRIPTION, MAX_DISPLAY_NAME} from 'lib/constants'
+import {usePalette} from 'lib/hooks/usePalette'
+import {compressIfNeeded} from 'lib/media/manip'
+import {cleanError} from 'lib/strings/errors'
+import {enforceLen} from 'lib/strings/helpers'
+import {colors, gradients, s} from 'lib/styles'
+import {useTheme} from 'lib/ThemeContext'
+import {isWeb} from 'platform/detection'
+import {ErrorMessage} from '../util/error/ErrorMessage'
+import {Text} from '../util/text/Text'
+import * as Toast from '../util/Toast'
+import {EditableUserAvatar} from '../util/UserAvatar'
+import {UserBanner} from '../util/UserBanner'
const AnimatedTouchableOpacity =
Animated.createAnimatedComponent(TouchableOpacity)
diff --git a/src/view/com/modals/EmbedConsent.tsx b/src/view/com/modals/EmbedConsent.tsx
deleted file mode 100644
index 04104c52e1..0000000000
--- a/src/view/com/modals/EmbedConsent.tsx
+++ /dev/null
@@ -1,153 +0,0 @@
-import React from 'react'
-import {StyleSheet, TouchableOpacity, View} from 'react-native'
-import LinearGradient from 'react-native-linear-gradient'
-import {s, colors, gradients} from 'lib/styles'
-import {Text} from '../util/text/Text'
-import {ScrollView} from './util'
-import {usePalette} from 'lib/hooks/usePalette'
-import {
- EmbedPlayerSource,
- embedPlayerSources,
- externalEmbedLabels,
-} from '#/lib/strings/embed-player'
-import {msg, Trans} from '@lingui/macro'
-import {useLingui} from '@lingui/react'
-import {useModalControls} from '#/state/modals'
-import {useSetExternalEmbedPref} from '#/state/preferences/external-embeds-prefs'
-import {useWebMediaQueries} from '#/lib/hooks/useWebMediaQueries'
-
-export const snapPoints = [450]
-
-export function Component({
- onAccept,
- source,
-}: {
- onAccept: () => void
- source: EmbedPlayerSource
-}) {
- const pal = usePalette('default')
- const {closeModal} = useModalControls()
- const {_} = useLingui()
- const setExternalEmbedPref = useSetExternalEmbedPref()
- const {isMobile} = useWebMediaQueries()
-
- const onShowAllPress = React.useCallback(() => {
- for (const key of embedPlayerSources) {
- setExternalEmbedPref(key, 'show')
- }
- onAccept()
- closeModal()
- }, [closeModal, onAccept, setExternalEmbedPref])
-
- const onShowPress = React.useCallback(() => {
- setExternalEmbedPref(source, 'show')
- onAccept()
- closeModal()
- }, [closeModal, onAccept, setExternalEmbedPref, source])
-
- const onHidePress = React.useCallback(() => {
- setExternalEmbedPref(source, 'hide')
- closeModal()
- }, [closeModal, setExternalEmbedPref, source])
-
- return (
-
-
- External Media
-
-
-
-
- This content is hosted by {externalEmbedLabels[source]}. Do you want
- to enable external media?
-
-
-
-
-
- External media may allow websites to collect information about you and
- your device. No information is sent or requested until you press the
- "play" button.
-
-
-
-
-
-
- Enable External Media
-
-
-
-
-
-
-
- Enable {externalEmbedLabels[source]} only
-
-
-
-
-
-
-
- No thanks
-
-
-
-
- )
-}
-
-const styles = StyleSheet.create({
- title: {
- textAlign: 'center',
- fontWeight: 'bold',
- fontSize: 24,
- marginBottom: 12,
- },
- btn: {
- flexDirection: 'row',
- alignItems: 'center',
- justifyContent: 'center',
- width: '100%',
- borderRadius: 32,
- padding: 14,
- backgroundColor: colors.gray1,
- },
-})
diff --git a/src/view/com/modals/InviteCodes.tsx b/src/view/com/modals/InviteCodes.tsx
index c0318df015..f8cebec3f6 100644
--- a/src/view/com/modals/InviteCodes.tsx
+++ b/src/view/com/modals/InviteCodes.tsx
@@ -1,37 +1,38 @@
import React from 'react'
import {
+ ActivityIndicator,
StyleSheet,
TouchableOpacity,
View,
- ActivityIndicator,
} from 'react-native'
+import {setStringAsync} from 'expo-clipboard'
import {ComAtprotoServerDefs} from '@atproto/api'
import {
FontAwesomeIcon,
FontAwesomeIconStyle,
} from '@fortawesome/react-native-fontawesome'
-import Clipboard from '@react-native-clipboard/clipboard'
-import {Text} from '../util/text/Text'
-import {Button} from '../util/forms/Button'
-import * as Toast from '../util/Toast'
-import {ScrollView} from './util'
-import {usePalette} from 'lib/hooks/usePalette'
-import {isWeb} from 'platform/detection'
-import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries'
-import {Trans, msg} from '@lingui/macro'
-import {cleanError} from 'lib/strings/errors'
-import {useModalControls} from '#/state/modals'
-import {useInvitesState, useInvitesAPI} from '#/state/invites'
-import {UserInfoText} from '../util/UserInfoText'
-import {makeProfileLink} from '#/lib/routes/links'
-import {Link} from '../util/Link'
-import {ErrorMessage} from '../util/error/ErrorMessage'
-import {
- useInviteCodesQuery,
- InviteCodesQueryResponse,
-} from '#/state/queries/invites'
+import {msg, Trans} from '@lingui/macro'
import {useLingui} from '@lingui/react'
+import {makeProfileLink} from '#/lib/routes/links'
+import {useInvitesAPI, useInvitesState} from '#/state/invites'
+import {useModalControls} from '#/state/modals'
+import {
+ InviteCodesQueryResponse,
+ useInviteCodesQuery,
+} from '#/state/queries/invites'
+import {usePalette} from 'lib/hooks/usePalette'
+import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries'
+import {cleanError} from 'lib/strings/errors'
+import {isWeb} from 'platform/detection'
+import {ErrorMessage} from '../util/error/ErrorMessage'
+import {Button} from '../util/forms/Button'
+import {Link} from '../util/Link'
+import {Text} from '../util/text/Text'
+import * as Toast from '../util/Toast'
+import {UserInfoText} from '../util/UserInfoText'
+import {ScrollView} from './util'
+
export const snapPoints = ['70%']
export function Component() {
@@ -148,7 +149,7 @@ function InviteCode({
const uses = invite.uses
const onPress = React.useCallback(() => {
- Clipboard.setString(invite.code)
+ setStringAsync(invite.code)
Toast.show(_(msg`Copied to clipboard`))
setInviteCopied(invite.code)
}, [setInviteCopied, invite, _])
diff --git a/src/view/com/modals/LinkWarning.tsx b/src/view/com/modals/LinkWarning.tsx
index b5ff6700dd..bf5bf6d29a 100644
--- a/src/view/com/modals/LinkWarning.tsx
+++ b/src/view/com/modals/LinkWarning.tsx
@@ -1,22 +1,32 @@
import React from 'react'
import {SafeAreaView, StyleSheet, View} from 'react-native'
-import {ScrollView} from './util'
import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome'
-import {Text} from '../util/text/Text'
-import {Button} from '../util/forms/Button'
-import {s, colors} from 'lib/styles'
-import {usePalette} from 'lib/hooks/usePalette'
-import {isWeb} from 'platform/detection'
-import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries'
-import {isPossiblyAUrl, splitApexDomain} from 'lib/strings/url-helpers'
-import {Trans, msg} from '@lingui/macro'
+import {msg, Trans} from '@lingui/macro'
import {useLingui} from '@lingui/react'
+
+import {usePalette} from '#/lib/hooks/usePalette'
+import {useWebMediaQueries} from '#/lib/hooks/useWebMediaQueries'
+import {shareUrl} from '#/lib/sharing'
+import {isPossiblyAUrl, splitApexDomain} from '#/lib/strings/url-helpers'
+import {colors, s} from '#/lib/styles'
+import {isWeb} from '#/platform/detection'
import {useModalControls} from '#/state/modals'
import {useOpenLink} from '#/state/preferences/in-app-browser'
+import {Button} from '#/view/com/util/forms/Button'
+import {Text} from '#/view/com/util/text/Text'
+import {ScrollView} from './util'
export const snapPoints = ['50%']
-export function Component({text, href}: {text: string; href: string}) {
+export function Component({
+ text,
+ href,
+ share,
+}: {
+ text: string
+ href: string
+ share?: boolean
+}) {
const pal = usePalette('default')
const {closeModal} = useModalControls()
const {isMobile} = useWebMediaQueries()
@@ -26,7 +36,11 @@ export function Component({text, href}: {text: string; href: string}) {
const onPressVisit = () => {
closeModal()
- openLink(href)
+ if (share) {
+ shareUrl(href)
+ } else {
+ openLink(href)
+ }
}
return (
@@ -72,9 +86,13 @@ export function Component({text, href}: {text: string; href: string}) {
testID="confirmBtn"
type="primary"
onPress={onPressVisit}
- accessibilityLabel={_(msg`Visit Site`)}
- accessibilityHint={_(msg`Opens the linked website`)}
- label={_(msg`Visit Site`)}
+ accessibilityLabel={share ? _(msg`Share Link`) : _(msg`Visit Site`)}
+ accessibilityHint={
+ share
+ ? _(msg`Shares the linked website`)
+ : _(msg`Opens the linked website`)
+ }
+ label={share ? _(msg`Share Link`) : _(msg`Visit Site`)}
labelContainerStyle={{justifyContent: 'center', padding: 4}}
labelStyle={[s.f18]}
/>
diff --git a/src/view/com/modals/Modal.tsx b/src/view/com/modals/Modal.tsx
index 238cfc502c..6524813015 100644
--- a/src/view/com/modals/Modal.tsx
+++ b/src/view/com/modals/Modal.tsx
@@ -1,33 +1,31 @@
-import React, {useRef, useEffect} from 'react'
+import React, {useEffect, useRef} from 'react'
import {StyleSheet} from 'react-native'
import {SafeAreaView} from 'react-native-safe-area-context'
-import BottomSheet from '@gorhom/bottom-sheet'
-import {createCustomBackdrop} from '../util/BottomSheetCustomBackdrop'
-import {usePalette} from 'lib/hooks/usePalette'
+import BottomSheet from '@discord/bottom-sheet/src'
-import {useModals, useModalControls} from '#/state/modals'
+import {useModalControls, useModals} from '#/state/modals'
+import {usePalette} from 'lib/hooks/usePalette'
+import {createCustomBackdrop} from '../util/BottomSheetCustomBackdrop'
+import * as AddAppPassword from './AddAppPasswords'
+import * as AltImageModal from './AltImage'
+import * as EditImageModal from './AltImage'
+import * as ChangeEmailModal from './ChangeEmail'
+import * as ChangeHandleModal from './ChangeHandle'
+import * as ChangePasswordModal from './ChangePassword'
+import * as CreateOrEditListModal from './CreateOrEditList'
+import * as DeleteAccountModal from './DeleteAccount'
import * as EditProfileModal from './EditProfile'
+import * as InAppBrowserConsentModal from './InAppBrowserConsent'
+import * as InviteCodesModal from './InviteCodes'
+import * as ContentLanguagesSettingsModal from './lang-settings/ContentLanguagesSettings'
+import * as PostLanguagesSettingsModal from './lang-settings/PostLanguagesSettings'
+import * as LinkWarningModal from './LinkWarning'
+import * as ListAddUserModal from './ListAddRemoveUsers'
import * as RepostModal from './Repost'
import * as SelfLabelModal from './SelfLabel'
import * as ThreadgateModal from './Threadgate'
-import * as CreateOrEditListModal from './CreateOrEditList'
import * as UserAddRemoveListsModal from './UserAddRemoveLists'
-import * as ListAddUserModal from './ListAddRemoveUsers'
-import * as AltImageModal from './AltImage'
-import * as EditImageModal from './AltImage'
-import * as DeleteAccountModal from './DeleteAccount'
-import * as ChangeHandleModal from './ChangeHandle'
-import * as InviteCodesModal from './InviteCodes'
-import * as AddAppPassword from './AddAppPasswords'
-import * as ContentLanguagesSettingsModal from './lang-settings/ContentLanguagesSettings'
-import * as PostLanguagesSettingsModal from './lang-settings/PostLanguagesSettings'
import * as VerifyEmailModal from './VerifyEmail'
-import * as ChangeEmailModal from './ChangeEmail'
-import * as ChangePasswordModal from './ChangePassword'
-import * as SwitchAccountModal from './SwitchAccount'
-import * as LinkWarningModal from './LinkWarning'
-import * as EmbedConsentModal from './EmbedConsent'
-import * as InAppBrowserConsentModal from './InAppBrowserConsent'
const DEFAULT_SNAPPOINTS = ['90%']
const HANDLE_HEIGHT = 24
@@ -114,15 +112,9 @@ export function ModalsContainer() {
} else if (activeModal?.name === 'change-password') {
snapPoints = ChangePasswordModal.snapPoints
element =
- } else if (activeModal?.name === 'switch-account') {
- snapPoints = SwitchAccountModal.snapPoints
- element =
} else if (activeModal?.name === 'link-warning') {
snapPoints = LinkWarningModal.snapPoints
element =
- } else if (activeModal?.name === 'embed-consent') {
- snapPoints = EmbedConsentModal.snapPoints
- element =
} else if (activeModal?.name === 'in-app-browser-consent') {
snapPoints = InAppBrowserConsentModal.snapPoints
element =
diff --git a/src/view/com/modals/Modal.web.tsx b/src/view/com/modals/Modal.web.tsx
index 7e5d548ace..f95c748111 100644
--- a/src/view/com/modals/Modal.web.tsx
+++ b/src/view/com/modals/Modal.web.tsx
@@ -1,33 +1,32 @@
import React from 'react'
-import {TouchableWithoutFeedback, StyleSheet, View} from 'react-native'
+import {StyleSheet, TouchableWithoutFeedback, View} from 'react-native'
import Animated, {FadeIn, FadeOut} from 'react-native-reanimated'
+
+import {useWebBodyScrollLock} from '#/lib/hooks/useWebBodyScrollLock'
+import type {Modal as ModalIface} from '#/state/modals'
+import {useModalControls, useModals} from '#/state/modals'
import {usePalette} from 'lib/hooks/usePalette'
import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries'
-import {useWebBodyScrollLock} from '#/lib/hooks/useWebBodyScrollLock'
-
-import {useModals, useModalControls} from '#/state/modals'
-import type {Modal as ModalIface} from '#/state/modals'
-import * as EditProfileModal from './EditProfile'
+import * as AddAppPassword from './AddAppPasswords'
+import * as AltTextImageModal from './AltImage'
+import * as ChangeEmailModal from './ChangeEmail'
+import * as ChangeHandleModal from './ChangeHandle'
+import * as ChangePasswordModal from './ChangePassword'
import * as CreateOrEditListModal from './CreateOrEditList'
-import * as UserAddRemoveLists from './UserAddRemoveLists'
-import * as ListAddUserModal from './ListAddRemoveUsers'
+import * as CropImageModal from './crop-image/CropImage.web'
import * as DeleteAccountModal from './DeleteAccount'
+import * as EditImageModal from './EditImage'
+import * as EditProfileModal from './EditProfile'
+import * as InviteCodesModal from './InviteCodes'
+import * as ContentLanguagesSettingsModal from './lang-settings/ContentLanguagesSettings'
+import * as PostLanguagesSettingsModal from './lang-settings/PostLanguagesSettings'
+import * as LinkWarningModal from './LinkWarning'
+import * as ListAddUserModal from './ListAddRemoveUsers'
import * as RepostModal from './Repost'
import * as SelfLabelModal from './SelfLabel'
import * as ThreadgateModal from './Threadgate'
-import * as CropImageModal from './crop-image/CropImage.web'
-import * as AltTextImageModal from './AltImage'
-import * as EditImageModal from './EditImage'
-import * as ChangeHandleModal from './ChangeHandle'
-import * as InviteCodesModal from './InviteCodes'
-import * as AddAppPassword from './AddAppPasswords'
-import * as ContentLanguagesSettingsModal from './lang-settings/ContentLanguagesSettings'
-import * as PostLanguagesSettingsModal from './lang-settings/PostLanguagesSettings'
+import * as UserAddRemoveLists from './UserAddRemoveLists'
import * as VerifyEmailModal from './VerifyEmail'
-import * as ChangeEmailModal from './ChangeEmail'
-import * as ChangePasswordModal from './ChangePassword'
-import * as LinkWarningModal from './LinkWarning'
-import * as EmbedConsentModal from './EmbedConsent'
export function ModalsContainer() {
const {isModalActive, activeModals} = useModals()
@@ -112,8 +111,6 @@ function Modal({modal}: {modal: ModalIface}) {
element =
} else if (modal.name === 'link-warning') {
element =
- } else if (modal.name === 'embed-consent') {
- element =
} else {
return null
}
diff --git a/src/view/com/modals/Repost.tsx b/src/view/com/modals/Repost.tsx
index 6e4881adcd..5dedee832b 100644
--- a/src/view/com/modals/Repost.tsx
+++ b/src/view/com/modals/Repost.tsx
@@ -1,14 +1,15 @@
import React from 'react'
import {StyleSheet, TouchableOpacity, View} from 'react-native'
-import LinearGradient from 'react-native-linear-gradient'
-import {s, colors, gradients} from 'lib/styles'
-import {Text} from '../util/text/Text'
+import {LinearGradient} from 'expo-linear-gradient'
+import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome'
+import {msg, Trans} from '@lingui/macro'
+import {useLingui} from '@lingui/react'
+
+import {useModalControls} from '#/state/modals'
import {usePalette} from 'lib/hooks/usePalette'
import {RepostIcon} from 'lib/icons'
-import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome'
-import {Trans, msg} from '@lingui/macro'
-import {useLingui} from '@lingui/react'
-import {useModalControls} from '#/state/modals'
+import {colors, gradients, s} from 'lib/styles'
+import {Text} from '../util/text/Text'
export const snapPoints = [250]
diff --git a/src/view/com/modals/SwitchAccount.tsx b/src/view/com/modals/SwitchAccount.tsx
deleted file mode 100644
index 0658805bda..0000000000
--- a/src/view/com/modals/SwitchAccount.tsx
+++ /dev/null
@@ -1,166 +0,0 @@
-import React from 'react'
-import {
- ActivityIndicator,
- StyleSheet,
- TouchableOpacity,
- View,
-} from 'react-native'
-import {Text} from '../util/text/Text'
-import {s} from 'lib/styles'
-import {usePalette} from 'lib/hooks/usePalette'
-import {useAnalytics} from 'lib/analytics/analytics'
-import {useAccountSwitcher} from 'lib/hooks/useAccountSwitcher'
-import {UserAvatar} from '../util/UserAvatar'
-import {AccountDropdownBtn} from '../util/AccountDropdownBtn'
-import {Link} from '../util/Link'
-import {makeProfileLink} from 'lib/routes/links'
-import {BottomSheetScrollView} from '@gorhom/bottom-sheet'
-import {Haptics} from 'lib/haptics'
-import {Trans, msg} from '@lingui/macro'
-import {useLingui} from '@lingui/react'
-import {useSession, useSessionApi, SessionAccount} from '#/state/session'
-import {useProfileQuery} from '#/state/queries/profile'
-import {useCloseAllActiveElements} from '#/state/util'
-
-export const snapPoints = ['40%', '90%']
-
-function SwitchAccountCard({account}: {account: SessionAccount}) {
- const pal = usePalette('default')
- const {_} = useLingui()
- const {track} = useAnalytics()
- const {isSwitchingAccounts, currentAccount} = useSession()
- const {logout} = useSessionApi()
- const {data: profile} = useProfileQuery({did: account.did})
- const isCurrentAccount = account.did === currentAccount?.did
- const {onPressSwitchAccount} = useAccountSwitcher()
- const closeAllActiveElements = useCloseAllActiveElements()
-
- const onPressSignout = React.useCallback(() => {
- track('Settings:SignOutButtonClicked')
- closeAllActiveElements()
- // needs to be in timeout or the modal re-opens
- setTimeout(() => logout(), 0)
- }, [track, logout, closeAllActiveElements])
-
- const contents = (
-
-
-
-
-
-
- {profile?.displayName || account?.handle}
-
-
- {account?.handle}
-
-
-
- {isCurrentAccount ? (
-
-
- Sign out
-
-
- ) : (
-
- )}
-
- )
-
- return isCurrentAccount ? (
-
- {contents}
-
- ) : (
- onPressSwitchAccount(account)
- }
- accessibilityRole="button"
- accessibilityLabel={_(msg`Switch to ${account.handle}`)}
- accessibilityHint={_(msg`Switches the account you are logged in to`)}>
- {contents}
-
- )
-}
-
-export function Component({}: {}) {
- const pal = usePalette('default')
- const {isSwitchingAccounts, currentAccount, accounts} = useSession()
-
- React.useEffect(() => {
- Haptics.default()
- })
-
- return (
-
-
- Switch Account
-
-
- {isSwitchingAccounts || !currentAccount ? (
-
-
-
- ) : (
-
- )}
-
- {accounts
- .filter(a => a.did !== currentAccount?.did)
- .map(account => (
-
- ))}
-
- )
-}
-
-const styles = StyleSheet.create({
- container: {
- flex: 1,
- },
- innerContainer: {
- paddingBottom: 40,
- },
- title: {
- textAlign: 'center',
- marginTop: 12,
- marginBottom: 12,
- },
- linkCard: {
- flexDirection: 'row',
- alignItems: 'center',
- paddingVertical: 12,
- paddingHorizontal: 18,
- marginBottom: 1,
- },
- avi: {
- marginRight: 12,
- },
- dimmed: {
- opacity: 0.5,
- },
-})
diff --git a/src/view/com/modals/crop-image/CropImage.web.tsx b/src/view/com/modals/crop-image/CropImage.web.tsx
index 98a2494edc..79ff5a02ab 100644
--- a/src/view/com/modals/crop-image/CropImage.web.tsx
+++ b/src/view/com/modals/crop-image/CropImage.web.tsx
@@ -1,18 +1,19 @@
import React from 'react'
import {StyleSheet, TouchableOpacity, View} from 'react-native'
-import ImageEditor from 'react-avatar-editor'
+import {Image as RNImage} from 'react-native-image-crop-picker'
+import {LinearGradient} from 'expo-linear-gradient'
+import {msg, Trans} from '@lingui/macro'
+import {useLingui} from '@lingui/react'
import {Slider} from '@miblanchard/react-native-slider'
-import LinearGradient from 'react-native-linear-gradient'
-import {Text} from 'view/com/util/text/Text'
+import ImageEditor from 'react-avatar-editor'
+
+import {useModalControls} from '#/state/modals'
+import {usePalette} from 'lib/hooks/usePalette'
+import {RectTallIcon, RectWideIcon, SquareIcon} from 'lib/icons'
import {Dimensions} from 'lib/media/types'
import {getDataUriSize} from 'lib/media/util'
-import {s, gradients} from 'lib/styles'
-import {usePalette} from 'lib/hooks/usePalette'
-import {SquareIcon, RectWideIcon, RectTallIcon} from 'lib/icons'
-import {Image as RNImage} from 'react-native-image-crop-picker'
-import {Trans, msg} from '@lingui/macro'
-import {useLingui} from '@lingui/react'
-import {useModalControls} from '#/state/modals'
+import {gradients, s} from 'lib/styles'
+import {Text} from 'view/com/util/text/Text'
enum AspectRatio {
Square = 'square',
diff --git a/src/view/com/modals/lang-settings/ConfirmLanguagesButton.tsx b/src/view/com/modals/lang-settings/ConfirmLanguagesButton.tsx
index 91e11a19ca..ab21ba65af 100644
--- a/src/view/com/modals/lang-settings/ConfirmLanguagesButton.tsx
+++ b/src/view/com/modals/lang-settings/ConfirmLanguagesButton.tsx
@@ -1,11 +1,12 @@
import React from 'react'
-import {StyleSheet, Text, View, Pressable} from 'react-native'
-import LinearGradient from 'react-native-linear-gradient'
-import {s, colors, gradients} from 'lib/styles'
+import {Pressable, StyleSheet, Text, View} from 'react-native'
+import {LinearGradient} from 'expo-linear-gradient'
+import {msg, Trans} from '@lingui/macro'
+import {useLingui} from '@lingui/react'
+
import {usePalette} from 'lib/hooks/usePalette'
import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries'
-import {Trans, msg} from '@lingui/macro'
-import {useLingui} from '@lingui/react'
+import {colors, gradients, s} from 'lib/styles'
export const ConfirmLanguagesButton = ({
onPress,
diff --git a/src/view/com/modals/util.tsx b/src/view/com/modals/util.tsx
index 06f394ec49..c047a0523c 100644
--- a/src/view/com/modals/util.tsx
+++ b/src/view/com/modals/util.tsx
@@ -1,4 +1,4 @@
export {
BottomSheetScrollView as ScrollView,
BottomSheetTextInput as TextInput,
-} from '@gorhom/bottom-sheet'
+} from '@discord/bottom-sheet/src'
diff --git a/src/view/com/notifications/FeedItem.tsx b/src/view/com/notifications/FeedItem.tsx
index 78b1677c3d..3c9c64061a 100644
--- a/src/view/com/notifications/FeedItem.tsx
+++ b/src/view/com/notifications/FeedItem.tsx
@@ -1,20 +1,20 @@
-import React, {memo, useMemo, useState, useEffect} from 'react'
+import React, {memo, useEffect, useMemo, useState} from 'react'
import {
Animated,
- TouchableOpacity,
Pressable,
StyleSheet,
+ TouchableOpacity,
View,
} from 'react-native'
import {
+ AppBskyActorDefs,
AppBskyEmbedImages,
+ AppBskyEmbedRecordWithMedia,
AppBskyFeedDefs,
AppBskyFeedPost,
- ModerationOpts,
- ModerationDecision,
moderateProfile,
- AppBskyEmbedRecordWithMedia,
- AppBskyActorDefs,
+ ModerationDecision,
+ ModerationOpts,
} from '@atproto/api'
import {AtUri} from '@atproto/api'
import {
@@ -22,28 +22,30 @@ import {
FontAwesomeIconStyle,
Props,
} from '@fortawesome/react-native-fontawesome'
+import {msg, Trans} from '@lingui/macro'
+import {useLingui} from '@lingui/react'
+
import {FeedNotification} from '#/state/queries/notifications/feed'
-import {s, colors} from 'lib/styles'
-import {niceDate} from 'lib/strings/time'
+import {useAnimatedValue} from 'lib/hooks/useAnimatedValue'
+import {usePalette} from 'lib/hooks/usePalette'
+import {HeartIconSolid} from 'lib/icons'
+import {makeProfileLink} from 'lib/routes/links'
import {sanitizeDisplayName} from 'lib/strings/display-names'
import {sanitizeHandle} from 'lib/strings/handles'
import {pluralize} from 'lib/strings/helpers'
-import {HeartIconSolid} from 'lib/icons'
-import {Text} from '../util/text/Text'
-import {UserAvatar, PreviewableUserAvatar} from '../util/UserAvatar'
-import {UserPreviewLink} from '../util/UserPreviewLink'
-import {ImageHorzList} from '../util/images/ImageHorzList'
-import {Post} from '../post/Post'
-import {Link, TextLink} from '../util/Link'
-import {usePalette} from 'lib/hooks/usePalette'
-import {useAnimatedValue} from 'lib/hooks/useAnimatedValue'
-import {formatCount} from '../util/numeric/format'
-import {makeProfileLink} from 'lib/routes/links'
-import {TimeElapsed} from '../util/TimeElapsed'
+import {niceDate} from 'lib/strings/time'
+import {colors, s} from 'lib/styles'
import {isWeb} from 'platform/detection'
-import {Trans, msg} from '@lingui/macro'
-import {useLingui} from '@lingui/react'
+import {Link as NewLink} from '#/components/Link'
+import {ProfileHoverCard} from '#/components/ProfileHoverCard'
import {FeedSourceCard} from '../feeds/FeedSourceCard'
+import {Post} from '../post/Post'
+import {ImageHorzList} from '../util/images/ImageHorzList'
+import {Link, TextLink} from '../util/Link'
+import {formatCount} from '../util/numeric/format'
+import {Text} from '../util/text/Text'
+import {TimeElapsed} from '../util/TimeElapsed'
+import {PreviewableUserAvatar, UserAvatar} from '../util/UserAvatar'
const MAX_AUTHORS = 5
@@ -356,8 +358,10 @@ function CondensedAuthorsList({
{authors.slice(0, MAX_AUTHORS).map(author => (
-
{authors.map(author => (
-
-
+
+
+
-
+
))}
)
diff --git a/src/view/com/pager/Pager.tsx b/src/view/com/pager/Pager.tsx
index 06ec2e4503..26070fb880 100644
--- a/src/view/com/pager/Pager.tsx
+++ b/src/view/com/pager/Pager.tsx
@@ -1,17 +1,22 @@
import React, {forwardRef} from 'react'
import {Animated, View} from 'react-native'
import PagerView, {
- PagerViewOnPageSelectedEvent,
PagerViewOnPageScrollEvent,
+ PagerViewOnPageSelectedEvent,
PageScrollStateChangedNativeEvent,
} from 'react-native-pager-view'
+
+import {LogEvents} from '#/lib/statsig/events'
import {s} from 'lib/styles'
export type PageSelectedEvent = PagerViewOnPageSelectedEvent
const AnimatedPagerView = Animated.createAnimatedComponent(PagerView)
export interface PagerRef {
- setPage: (index: number) => void
+ setPage: (
+ index: number,
+ reason: LogEvents['home:feedDisplayed']['reason'],
+ ) => void
}
export interface RenderTabBarFnProps {
@@ -25,7 +30,10 @@ interface Props {
initialPage?: number
renderTabBar: RenderTabBarFn
onPageSelected?: (index: number) => void
- onPageSelecting?: (index: number) => void
+ onPageSelecting?: (
+ index: number,
+ reason: LogEvents['home:feedDisplayed']['reason'],
+ ) => void
onPageScrollStateChanged?: (
scrollState: 'idle' | 'dragging' | 'settling',
) => void
@@ -51,7 +59,13 @@ export const Pager = forwardRef>(
const pagerView = React.useRef(null)
React.useImperativeHandle(ref, () => ({
- setPage: (index: number) => pagerView.current?.setPage(index),
+ setPage: (
+ index: number,
+ reason: LogEvents['home:feedDisplayed']['reason'],
+ ) => {
+ pagerView.current?.setPage(index)
+ onPageSelecting?.(index, reason)
+ },
}))
const onPageSelectedInner = React.useCallback(
@@ -79,14 +93,14 @@ export const Pager = forwardRef>(
// -prf
if (scrollState.current === 'settling') {
if (lastDirection.current === -1 && offset < lastOffset.current) {
- onPageSelecting?.(position)
+ onPageSelecting?.(position, 'pager-swipe')
setSelectedPage(position)
lastDirection.current = 0
} else if (
lastDirection.current === 1 &&
offset > lastOffset.current
) {
- onPageSelecting?.(position + 1)
+ onPageSelecting?.(position + 1, 'pager-swipe')
setSelectedPage(position + 1)
lastDirection.current = 0
}
@@ -113,7 +127,7 @@ export const Pager = forwardRef>(
const onTabBarSelect = React.useCallback(
(index: number) => {
pagerView.current?.setPage(index)
- onPageSelecting?.(index)
+ onPageSelecting?.(index, 'tabbar-click')
},
[pagerView, onPageSelecting],
)
diff --git a/src/view/com/pager/Pager.web.tsx b/src/view/com/pager/Pager.web.tsx
index 42982ef7f8..abba12b2cc 100644
--- a/src/view/com/pager/Pager.web.tsx
+++ b/src/view/com/pager/Pager.web.tsx
@@ -1,6 +1,8 @@
import React from 'react'
-import {flushSync} from 'react-dom'
import {View} from 'react-native'
+import {flushSync} from 'react-dom'
+
+import {LogEvents} from '#/lib/statsig/events'
import {s} from 'lib/styles'
export interface RenderTabBarFnProps {
@@ -14,7 +16,10 @@ interface Props {
initialPage?: number
renderTabBar: RenderTabBarFn
onPageSelected?: (index: number) => void
- onPageSelecting?: (index: number) => void
+ onPageSelecting?: (
+ index: number,
+ reason: LogEvents['home:feedDisplayed']['reason'],
+ ) => void
}
export const Pager = React.forwardRef(function PagerImpl(
{
@@ -31,11 +36,16 @@ export const Pager = React.forwardRef(function PagerImpl(
const anchorRef = React.useRef(null)
React.useImperativeHandle(ref, () => ({
- setPage: (index: number) => onTabBarSelect(index),
+ setPage: (
+ index: number,
+ reason: LogEvents['home:feedDisplayed']['reason'],
+ ) => {
+ onTabBarSelect(index, reason)
+ },
}))
const onTabBarSelect = React.useCallback(
- (index: number) => {
+ (index: number, reason: LogEvents['home:feedDisplayed']['reason']) => {
const scrollY = window.scrollY
// We want to determine if the tabbar is already "sticking" at the top (in which
// case we should preserve and restore scroll), or if it is somewhere below in the
@@ -54,7 +64,7 @@ export const Pager = React.forwardRef(function PagerImpl(
flushSync(() => {
setSelectedPage(index)
onPageSelected?.(index)
- onPageSelecting?.(index)
+ onPageSelecting?.(index, reason)
})
if (isSticking) {
const restoredScrollY = scrollYs.current[index]
@@ -73,7 +83,7 @@ export const Pager = React.forwardRef(function PagerImpl(
{renderTabBar({
selectedPage,
tabBarAnchor: ,
- onSelect: onTabBarSelect,
+ onSelect: e => onTabBarSelect(e, 'tabbar-click'),
})}
{React.Children.map(children, (child, i) => (
diff --git a/src/view/com/post-thread/PostThread.tsx b/src/view/com/post-thread/PostThread.tsx
index 8042e7bd52..f4bf3b1ac8 100644
--- a/src/view/com/post-thread/PostThread.tsx
+++ b/src/view/com/post-thread/PostThread.tsx
@@ -1,36 +1,36 @@
import React, {useEffect, useRef} from 'react'
import {StyleSheet, useWindowDimensions, View} from 'react-native'
import {AppBskyFeedDefs} from '@atproto/api'
-import {Trans, msg} from '@lingui/macro'
+import {msg, Trans} from '@lingui/macro'
import {useLingui} from '@lingui/react'
-import {List, ListMethods} from '../util/List'
-import {PostThreadItem} from './PostThreadItem'
-import {ComposePrompt} from '../composer/Prompt'
-import {ViewHeader} from '../util/ViewHeader'
-import {Text} from '../util/text/Text'
-import {usePalette} from 'lib/hooks/usePalette'
-import {useSetTitle} from 'lib/hooks/useSetTitle'
+import {moderatePost_wrapped as moderatePost} from '#/lib/moderatePost_wrapped'
+import {isAndroid, isNative, isWeb} from '#/platform/detection'
import {
- ThreadNode,
- ThreadPost,
- ThreadNotFound,
- ThreadBlocked,
- usePostThreadQuery,
sortThread,
+ ThreadBlocked,
+ ThreadNode,
+ ThreadNotFound,
+ ThreadPost,
+ usePostThreadQuery,
} from '#/state/queries/post-thread'
-import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries'
-import {sanitizeDisplayName} from 'lib/strings/display-names'
import {
useModerationOpts,
usePreferencesQuery,
} from '#/state/queries/preferences'
import {useSession} from '#/state/session'
-import {isAndroid, isNative, isWeb} from '#/platform/detection'
-import {moderatePost_wrapped as moderatePost} from '#/lib/moderatePost_wrapped'
import {useInitialNumToRender} from 'lib/hooks/useInitialNumToRender'
-import {ListFooter, ListMaybePlaceholder} from '#/components/Lists'
+import {usePalette} from 'lib/hooks/usePalette'
+import {useSetTitle} from 'lib/hooks/useSetTitle'
+import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries'
+import {sanitizeDisplayName} from 'lib/strings/display-names'
import {cleanError} from 'lib/strings/errors'
+import {ListFooter, ListMaybePlaceholder} from '#/components/Lists'
+import {ComposePrompt} from '../composer/Prompt'
+import {List, ListMethods} from '../util/List'
+import {Text} from '../util/text/Text'
+import {ViewHeader} from '../util/ViewHeader'
+import {PostThreadItem} from './PostThreadItem'
// FlatList maintainVisibleContentPosition breaks if too many items
// are prepended. This seems to be an optimal number based on *shrug*.
@@ -108,7 +108,8 @@ export function PostThread({
?.ui('contentList')
.blurs.find(
cause =>
- cause.type === 'label' && cause.labelDef.id === '!no-unauthenticated',
+ cause.type === 'label' &&
+ cause.labelDef.identifier === '!no-unauthenticated',
)
}, [rootPost, moderationOpts])
@@ -367,47 +368,52 @@ export function PostThread({
],
)
- return (
- <>
+ if (error || !thread) {
+ return (
- {!error && thread && (
-
- }
- initialNumToRender={initialNumToRender}
- windowSize={11}
+ )
+ }
+
+ return (
+
- )}
- >
+ }
+ initialNumToRender={initialNumToRender}
+ windowSize={11}
+ />
)
}
diff --git a/src/view/com/post-thread/PostThreadFollowBtn.tsx b/src/view/com/post-thread/PostThreadFollowBtn.tsx
index 45c3771f50..8b297121eb 100644
--- a/src/view/com/post-thread/PostThreadFollowBtn.tsx
+++ b/src/view/com/post-thread/PostThreadFollowBtn.tsx
@@ -1,24 +1,25 @@
import React from 'react'
import {StyleSheet, TouchableOpacity, View} from 'react-native'
-import {useNavigation} from '@react-navigation/native'
import {AppBskyActorDefs} from '@atproto/api'
+import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome'
import {msg, Trans} from '@lingui/macro'
import {useLingui} from '@lingui/react'
-import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome'
+import {useNavigation} from '@react-navigation/native'
+import {useGate} from '#/lib/statsig/statsig'
import {logger} from '#/logger'
-import {Text} from 'view/com/util/text/Text'
-import * as Toast from 'view/com/util/Toast'
-import {s} from 'lib/styles'
+import {track} from 'lib/analytics/analytics'
import {usePalette} from 'lib/hooks/usePalette'
import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries'
+import {s} from 'lib/styles'
import {Shadow, useProfileShadow} from 'state/cache/profile-shadow'
-import {track} from 'lib/analytics/analytics'
import {
useProfileFollowMutationQueue,
useProfileQuery,
} from 'state/queries/profile'
import {useRequireAuth} from 'state/session'
+import {Text} from 'view/com/util/text/Text'
+import * as Toast from 'view/com/util/Toast'
export function PostThreadFollowBtn({did}: {did: string}) {
const {data: profile, isLoading} = useProfileQuery({did})
@@ -47,8 +48,10 @@ function PostThreadFollowBtnLoaded({
'PostThreadItem',
)
const requireAuth = useRequireAuth()
+ const showFollowBackLabel = useGate('show_follow_back_label')
const isFollowing = !!profile.viewer?.following
+ const isFollowedBy = !!profile.viewer?.followedBy
const [wasFollowing, setWasFollowing] = React.useState(isFollowing)
// This prevents the button from disappearing as soon as we follow.
@@ -136,7 +139,15 @@ function PostThreadFollowBtnLoaded({
type="button"
style={[!isFollowing ? palInverted.text : pal.text, s.bold]}
numberOfLines={1}>
- {!isFollowing ? Follow : Following }
+ {!isFollowing ? (
+ showFollowBackLabel && isFollowedBy ? (
+ Follow Back
+ ) : (
+ Follow
+ )
+ ) : (
+ Following
+ )}
diff --git a/src/view/com/post-thread/PostThreadItem.tsx b/src/view/com/post-thread/PostThreadItem.tsx
index 6555bdf73c..089714c727 100644
--- a/src/view/com/post-thread/PostThreadItem.tsx
+++ b/src/view/com/post-thread/PostThreadItem.tsx
@@ -1,50 +1,50 @@
import React, {memo, useMemo} from 'react'
import {StyleSheet, View} from 'react-native'
import {
- AtUri,
AppBskyFeedDefs,
AppBskyFeedPost,
- RichText as RichTextAPI,
+ AtUri,
ModerationDecision,
+ RichText as RichTextAPI,
} from '@atproto/api'
-import {moderatePost_wrapped as moderatePost} from '#/lib/moderatePost_wrapped'
import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome'
-import {PostThreadFollowBtn} from 'view/com/post-thread/PostThreadFollowBtn'
-import {Link, TextLink} from '../util/Link'
-import {RichText} from '#/components/RichText'
-import {Text} from '../util/text/Text'
-import {PreviewableUserAvatar} from '../util/UserAvatar'
-import {s} from 'lib/styles'
-import {niceDate} from 'lib/strings/time'
+import {msg, Trans} from '@lingui/macro'
+import {useLingui} from '@lingui/react'
+
+import {moderatePost_wrapped as moderatePost} from '#/lib/moderatePost_wrapped'
+import {POST_TOMBSTONE, Shadow, usePostShadow} from '#/state/cache/post-shadow'
+import {useLanguagePrefs} from '#/state/preferences'
+import {useOpenLink} from '#/state/preferences/in-app-browser'
+import {ThreadPost} from '#/state/queries/post-thread'
+import {useModerationOpts} from '#/state/queries/preferences'
+import {useComposerControls} from '#/state/shell/composer'
+import {MAX_POST_LINES} from 'lib/constants'
+import {usePalette} from 'lib/hooks/usePalette'
+import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries'
+import {makeProfileLink} from 'lib/routes/links'
import {sanitizeDisplayName} from 'lib/strings/display-names'
import {sanitizeHandle} from 'lib/strings/handles'
import {countLines, pluralize} from 'lib/strings/helpers'
-import {getTranslatorLink, isPostInLanguage} from '../../../locale/helpers'
-import {PostMeta} from '../util/PostMeta'
-import {PostEmbeds} from '../util/post-embeds'
-import {PostCtrls} from '../util/post-ctrls/PostCtrls'
-import {PostHider} from '../../../components/moderation/PostHider'
-import {ContentHider} from '../../../components/moderation/ContentHider'
-import {PostAlerts} from '../../../components/moderation/PostAlerts'
-import {LabelsOnMyPost} from '../../../components/moderation/LabelsOnMe'
-import {ErrorMessage} from '../util/error/ErrorMessage'
-import {usePalette} from 'lib/hooks/usePalette'
-import {formatCount} from '../util/numeric/format'
-import {makeProfileLink} from 'lib/routes/links'
-import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries'
-import {MAX_POST_LINES} from 'lib/constants'
-import {Trans, msg} from '@lingui/macro'
-import {useLingui} from '@lingui/react'
-import {useLanguagePrefs} from '#/state/preferences'
-import {useComposerControls} from '#/state/shell/composer'
-import {useModerationOpts} from '#/state/queries/preferences'
-import {useOpenLink} from '#/state/preferences/in-app-browser'
-import {Shadow, usePostShadow, POST_TOMBSTONE} from '#/state/cache/post-shadow'
-import {ThreadPost} from '#/state/queries/post-thread'
+import {niceDate} from 'lib/strings/time'
+import {s} from 'lib/styles'
import {useSession} from 'state/session'
-import {WhoCanReply} from '../threadgate/WhoCanReply'
-import {LoadingPlaceholder} from '../util/LoadingPlaceholder'
+import {PostThreadFollowBtn} from 'view/com/post-thread/PostThreadFollowBtn'
import {atoms as a} from '#/alf'
+import {RichText} from '#/components/RichText'
+import {ContentHider} from '../../../components/moderation/ContentHider'
+import {LabelsOnMyPost} from '../../../components/moderation/LabelsOnMe'
+import {PostAlerts} from '../../../components/moderation/PostAlerts'
+import {PostHider} from '../../../components/moderation/PostHider'
+import {getTranslatorLink, isPostInLanguage} from '../../../locale/helpers'
+import {WhoCanReply} from '../threadgate/WhoCanReply'
+import {ErrorMessage} from '../util/error/ErrorMessage'
+import {Link, TextLink} from '../util/Link'
+import {formatCount} from '../util/numeric/format'
+import {PostCtrls} from '../util/post-ctrls/PostCtrls'
+import {PostEmbeds} from '../util/post-embeds'
+import {PostMeta} from '../util/PostMeta'
+import {Text} from '../util/text/Text'
+import {PreviewableUserAvatar} from '../util/UserAvatar'
export function PostThreadItem({
post,
@@ -325,12 +325,6 @@ let PostThreadItemLoaded = ({
{post.repostCount !== 0 || post.likeCount !== 0 ? (
// Show this section unless we're *sure* it has no engagement.
- {post.repostCount == null && post.likeCount == null && (
- // If we're still loading and not sure, assume this post has engagement.
- // This lets us avoid a layout shift for the common case (embedded post with likes/reposts).
- // TODO: embeds should include metrics to avoid us having to guess.
-
- )}
{post.repostCount != null && post.repostCount !== 0 ? (
}) {
+ const queryClient = useQueryClient()
const pal = usePalette('default')
const {_} = useLingui()
const {openComposer} = useComposerControls()
@@ -129,8 +133,15 @@ function PostInner({
setLimitLines(false)
}, [setLimitLines])
+ const onBeforePress = React.useCallback(() => {
+ queryClient.setQueryData(RQKEY_URI(post.author.handle), post.author.did)
+ }, [queryClient, post.author.handle, post.author.did])
+
return (
-
+
{showReplyLine && }
diff --git a/src/view/com/posts/Feed.tsx b/src/view/com/posts/Feed.tsx
index b86646a4dc..fb67d35c5c 100644
--- a/src/view/com/posts/Feed.tsx
+++ b/src/view/com/posts/Feed.tsx
@@ -8,32 +8,33 @@ import {
View,
ViewStyle,
} from 'react-native'
-import {useQueryClient} from '@tanstack/react-query'
-import {List, ListRef} from '../util/List'
-import {PostFeedLoadingPlaceholder} from '../util/LoadingPlaceholder'
-import {FeedErrorMessage} from './FeedErrorMessage'
-import {FeedSlice} from './FeedSlice'
-import {LoadMoreRetryBtn} from '../util/LoadMoreRetryBtn'
-import {useAnalytics} from 'lib/analytics/analytics'
-import {useTheme} from 'lib/ThemeContext'
-import {logger} from '#/logger'
-import {
- RQKEY,
- FeedDescriptor,
- FeedParams,
- usePostFeedQuery,
- pollLatest,
-} from '#/state/queries/post-feed'
-import {isWeb} from '#/platform/detection'
-import {listenPostCreated} from '#/state/events'
-import {useSession} from '#/state/session'
-import {STALE} from '#/state/queries'
import {msg} from '@lingui/macro'
import {useLingui} from '@lingui/react'
-import {DiscoverFallbackHeader} from './DiscoverFallbackHeader'
+import {useQueryClient} from '@tanstack/react-query'
+
import {FALLBACK_MARKER_POST} from '#/lib/api/feed/home'
-import {useInitialNumToRender} from 'lib/hooks/useInitialNumToRender'
import {logEvent} from '#/lib/statsig/statsig'
+import {logger} from '#/logger'
+import {isWeb} from '#/platform/detection'
+import {listenPostCreated} from '#/state/events'
+import {STALE} from '#/state/queries'
+import {
+ FeedDescriptor,
+ FeedParams,
+ pollLatest,
+ RQKEY,
+ usePostFeedQuery,
+} from '#/state/queries/post-feed'
+import {useSession} from '#/state/session'
+import {useAnalytics} from 'lib/analytics/analytics'
+import {useInitialNumToRender} from 'lib/hooks/useInitialNumToRender'
+import {useTheme} from 'lib/ThemeContext'
+import {List, ListRef} from '../util/List'
+import {PostFeedLoadingPlaceholder} from '../util/LoadingPlaceholder'
+import {LoadMoreRetryBtn} from '../util/LoadMoreRetryBtn'
+import {DiscoverFallbackHeader} from './DiscoverFallbackHeader'
+import {FeedErrorMessage} from './FeedErrorMessage'
+import {FeedSlice} from './FeedSlice'
const LOADING_ITEM = {_reactKey: '__loading__'}
const EMPTY_FEED_ITEM = {_reactKey: '__empty__'}
@@ -90,6 +91,7 @@ let Feed = ({
const [isPTRing, setIsPTRing] = React.useState(false)
const checkForNewRef = React.useRef<(() => void) | null>(null)
const lastFetchRef = React.useRef(Date.now())
+ const feedType = feed.split('|')[0]
const opts = React.useMemo(
() => ({enabled, ignoreFilterFor}),
@@ -214,6 +216,11 @@ let Feed = ({
const onRefresh = React.useCallback(async () => {
track('Feed:onRefresh')
+ logEvent('feed:refresh', {
+ feedType: feedType,
+ feedUrl: feed,
+ reason: 'pull-to-refresh',
+ })
setIsPTRing(true)
try {
await refetch()
@@ -222,14 +229,14 @@ let Feed = ({
logger.error('Failed to refresh posts feed', {message: err})
}
setIsPTRing(false)
- }, [refetch, track, setIsPTRing, onHasNew])
+ }, [refetch, track, setIsPTRing, onHasNew, feed, feedType])
- const feedType = feed.split('|')[0]
const onEndReached = React.useCallback(async () => {
if (isFetching || !hasNextPage || isError) return
logEvent('feed:endReached', {
feedType: feedType,
+ feedUrl: feed,
itemCount: feedItems.length,
})
track('Feed:onEndReached')
@@ -244,6 +251,7 @@ let Feed = ({
isError,
fetchNextPage,
track,
+ feed,
feedType,
feedItems.length,
])
diff --git a/src/view/com/posts/FeedErrorMessage.tsx b/src/view/com/posts/FeedErrorMessage.tsx
index c52090f975..d4ca38d07e 100644
--- a/src/view/com/posts/FeedErrorMessage.tsx
+++ b/src/view/com/posts/FeedErrorMessage.tsx
@@ -46,7 +46,7 @@ export function FeedErrorMessage({
if (
typeof knownError !== 'undefined' &&
knownError !== KnownError.Unknown &&
- feedDesc.startsWith('feedgen')
+ (feedDesc.startsWith('feedgen') || knownError === KnownError.FeedNSFPublic)
) {
return (
Reposted by{' '}
-
+
+
+
diff --git a/src/view/com/profile/ProfileCard.tsx b/src/view/com/profile/ProfileCard.tsx
index 235139fff0..b52573a018 100644
--- a/src/view/com/profile/ProfileCard.tsx
+++ b/src/view/com/profile/ProfileCard.tsx
@@ -1,4 +1,4 @@
-import * as React from 'react'
+import React from 'react'
import {StyleProp, StyleSheet, View, ViewStyle} from 'react-native'
import {
AppBskyActorDefs,
@@ -6,22 +6,26 @@ import {
ModerationCause,
ModerationDecision,
} from '@atproto/api'
-import {Link} from '../util/Link'
-import {Text} from '../util/text/Text'
-import {UserAvatar} from '../util/UserAvatar'
-import {s} from 'lib/styles'
-import {usePalette} from 'lib/hooks/usePalette'
-import {FollowButton} from './FollowButton'
-import {sanitizeDisplayName} from 'lib/strings/display-names'
-import {sanitizeHandle} from 'lib/strings/handles'
-import {makeProfileLink} from 'lib/routes/links'
-import {getModerationCauseKey, isJustAMute} from 'lib/moderation'
+import {Trans} from '@lingui/macro'
+import {useQueryClient} from '@tanstack/react-query'
+
+import {useModerationCauseDescription} from '#/lib/moderation/useModerationCauseDescription'
+import {useProfileShadow} from '#/state/cache/profile-shadow'
import {Shadow} from '#/state/cache/types'
import {useModerationOpts} from '#/state/queries/preferences'
-import {useProfileShadow} from '#/state/cache/profile-shadow'
import {useSession} from '#/state/session'
-import {Trans} from '@lingui/macro'
-import {useModerationCauseDescription} from '#/lib/moderation/useModerationCauseDescription'
+import {usePalette} from 'lib/hooks/usePalette'
+import {getModerationCauseKey, isJustAMute} from 'lib/moderation'
+import {makeProfileLink} from 'lib/routes/links'
+import {sanitizeDisplayName} from 'lib/strings/display-names'
+import {sanitizeHandle} from 'lib/strings/handles'
+import {s} from 'lib/styles'
+import {profileBasicQueryKey as RQKEY_PROFILE_BASIC} from 'state/queries/profile'
+import {RQKEY as RQKEY_URI} from 'state/queries/resolve-uri'
+import {Link} from '../util/Link'
+import {Text} from '../util/text/Text'
+import {PreviewableUserAvatar} from '../util/UserAvatar'
+import {FollowButton} from './FollowButton'
export function ProfileCard({
testID,
@@ -46,10 +50,19 @@ export function ProfileCard({
onPress?: () => void
style?: StyleProp
}) {
+ const queryClient = useQueryClient()
const pal = usePalette('default')
const profile = useProfileShadow(profileUnshadowed)
const moderationOpts = useModerationOpts()
const isLabeler = profile?.associated?.labeler
+
+ const onBeforePress = React.useCallback(() => {
+ onPress?.()
+
+ queryClient.setQueryData(RQKEY_URI(profile.handle), profile.did)
+ queryClient.setQueryData(RQKEY_PROFILE_BASIC(profile.did), profile)
+ }, [onPress, profile, queryClient])
+
if (!moderationOpts) {
return null
}
@@ -71,13 +84,15 @@ export function ProfileCard({
]}
href={makeProfileLink(profile)}
title={profile.handle}
- onBeforePress={onPress}
asAnchor
+ onBeforePress={onBeforePress}
anchorNoUnderline>
- (
-
diff --git a/src/view/com/profile/ProfileFollowers.tsx b/src/view/com/profile/ProfileFollowers.tsx
index b11a33f273..94ca33e6e1 100644
--- a/src/view/com/profile/ProfileFollowers.tsx
+++ b/src/view/com/profile/ProfileFollowers.tsx
@@ -1,21 +1,21 @@
import React from 'react'
import {AppBskyActorDefs as ActorDefs} from '@atproto/api'
-import {List} from '../util/List'
-import {ProfileCardWithFollowBtn} from './ProfileCard'
+import {msg} from '@lingui/macro'
+import {useLingui} from '@lingui/react'
+
+import {cleanError} from '#/lib/strings/errors'
+import {logger} from '#/logger'
import {useProfileFollowersQuery} from '#/state/queries/profile-followers'
import {useResolveDidQuery} from '#/state/queries/resolve-uri'
-import {logger} from '#/logger'
-import {cleanError} from '#/lib/strings/errors'
import {useInitialNumToRender} from 'lib/hooks/useInitialNumToRender'
+import {useSession} from 'state/session'
import {
ListFooter,
ListHeaderDesktop,
ListMaybePlaceholder,
} from '#/components/Lists'
-import {msg} from '@lingui/macro'
-import {useLingui} from '@lingui/react'
-import {useSession} from 'state/session'
-import {View} from 'react-native'
+import {List} from '../util/List'
+import {ProfileCardWithFollowBtn} from './ProfileCard'
function renderItem({item}: {item: ActorDefs.ProfileViewBasic}) {
return
@@ -39,7 +39,6 @@ export function ProfileFollowers({name}: {name: string}) {
const {
data,
isLoading: isFollowersLoading,
- isFetching,
isFetchingNextPage,
hasNextPage,
fetchNextPage,
@@ -47,14 +46,8 @@ export function ProfileFollowers({name}: {name: string}) {
refetch,
} = useProfileFollowersQuery(resolvedDid)
- const isError = React.useMemo(
- () => !!resolveError || !!error,
- [resolveError, error],
- )
-
- const isMe = React.useMemo(() => {
- return resolvedDid === currentAccount?.did
- }, [resolvedDid, currentAccount?.did])
+ const isError = !!resolveError || !!error
+ const isMe = resolvedDid === currentAccount?.did
const followers = React.useMemo(() => {
if (data?.pages) {
@@ -73,20 +66,19 @@ export function ProfileFollowers({name}: {name: string}) {
setIsPTRing(false)
}, [refetch, setIsPTRing])
- const onEndReached = async () => {
- if (isFetching || !hasNextPage || !!error) return
+ const onEndReached = React.useCallback(async () => {
+ if (isFetchingNextPage || !hasNextPage || !!error) return
try {
await fetchNextPage()
} catch (err) {
logger.error('Failed to load more followers', {message: err})
}
- }
+ }, [isFetchingNextPage, hasNextPage, error, fetchNextPage])
- return (
-
+ if (followers.length < 1) {
+ return (
- {followers.length > 0 && (
-
}
- ListFooterComponent={ }
- // @ts-ignore our .web version only -prf
- desktopFixedHeight
- initialNumToRender={initialNumToRender}
- windowSize={11}
+ )
+ }
+
+ return (
+
}
+ ListFooterComponent={
+
- )}
-
+ }
+ // @ts-ignore our .web version only -prf
+ desktopFixedHeight
+ initialNumToRender={initialNumToRender}
+ windowSize={11}
+ />
)
}
diff --git a/src/view/com/profile/ProfileFollows.tsx b/src/view/com/profile/ProfileFollows.tsx
index d99e2b840e..9b447c955a 100644
--- a/src/view/com/profile/ProfileFollows.tsx
+++ b/src/view/com/profile/ProfileFollows.tsx
@@ -1,20 +1,21 @@
import React from 'react'
import {AppBskyActorDefs as ActorDefs} from '@atproto/api'
-import {List} from '../util/List'
-import {ProfileCardWithFollowBtn} from './ProfileCard'
+import {msg} from '@lingui/macro'
+import {useLingui} from '@lingui/react'
+
+import {cleanError} from '#/lib/strings/errors'
+import {logger} from '#/logger'
import {useProfileFollowsQuery} from '#/state/queries/profile-follows'
import {useResolveDidQuery} from '#/state/queries/resolve-uri'
-import {logger} from '#/logger'
-import {cleanError} from '#/lib/strings/errors'
+import {useInitialNumToRender} from 'lib/hooks/useInitialNumToRender'
+import {useSession} from 'state/session'
import {
ListFooter,
ListHeaderDesktop,
ListMaybePlaceholder,
} from '#/components/Lists'
-import {useInitialNumToRender} from 'lib/hooks/useInitialNumToRender'
-import {useSession} from 'state/session'
-import {msg} from '@lingui/macro'
-import {useLingui} from '@lingui/react'
+import {List} from '../util/List'
+import {ProfileCardWithFollowBtn} from './ProfileCard'
function renderItem({item}: {item: ActorDefs.ProfileViewBasic}) {
return
@@ -38,7 +39,6 @@ export function ProfileFollows({name}: {name: string}) {
const {
data,
isLoading: isFollowsLoading,
- isFetching,
isFetchingNextPage,
hasNextPage,
fetchNextPage,
@@ -46,14 +46,8 @@ export function ProfileFollows({name}: {name: string}) {
refetch,
} = useProfileFollowsQuery(resolvedDid)
- const isError = React.useMemo(
- () => !!resolveError || !!error,
- [resolveError, error],
- )
-
- const isMe = React.useMemo(() => {
- return resolvedDid === currentAccount?.did
- }, [resolvedDid, currentAccount?.did])
+ const isError = !!resolveError || !!error
+ const isMe = resolvedDid === currentAccount?.did
const follows = React.useMemo(() => {
if (data?.pages) {
@@ -72,20 +66,19 @@ export function ProfileFollows({name}: {name: string}) {
setIsPTRing(false)
}, [refetch, setIsPTRing])
- const onEndReached = async () => {
- if (isFetching || !hasNextPage || !!error) return
+ const onEndReached = React.useCallback(async () => {
+ if (isFetchingNextPage || !hasNextPage || !!error) return
try {
await fetchNextPage()
} catch (err) {
logger.error('Failed to load more follows', {error: err})
}
- }
+ }, [error, fetchNextPage, hasNextPage, isFetchingNextPage])
- return (
- <>
+ if (follows.length < 1) {
+ return (
- {follows.length > 0 && (
-
}
- ListFooterComponent={ }
- // @ts-ignore our .web version only -prf
- desktopFixedHeight
- initialNumToRender={initialNumToRender}
- windowSize={11}
+ )
+ }
+
+ return (
+
}
+ ListFooterComponent={
+
- )}
- >
+ }
+ // @ts-ignore our .web version only -prf
+ desktopFixedHeight
+ initialNumToRender={initialNumToRender}
+ windowSize={11}
+ />
)
}
diff --git a/src/view/com/profile/ProfileHeaderSuggestedFollows.tsx b/src/view/com/profile/ProfileHeaderSuggestedFollows.tsx
index 3602cdb9a8..cf35885cd2 100644
--- a/src/view/com/profile/ProfileHeaderSuggestedFollows.tsx
+++ b/src/view/com/profile/ProfileHeaderSuggestedFollows.tsx
@@ -1,28 +1,28 @@
import React from 'react'
-import {View, StyleSheet, Pressable, ScrollView} from 'react-native'
+import {Pressable, ScrollView, StyleSheet, View} from 'react-native'
import {AppBskyActorDefs, moderateProfile} from '@atproto/api'
import {
FontAwesomeIcon,
FontAwesomeIconStyle,
} from '@fortawesome/react-native-fontawesome'
+import {msg, Trans} from '@lingui/macro'
+import {useLingui} from '@lingui/react'
-import * as Toast from '../util/Toast'
+import {useProfileShadow} from '#/state/cache/profile-shadow'
+import {useModerationOpts} from '#/state/queries/preferences'
+import {useProfileFollowMutationQueue} from '#/state/queries/profile'
+import {useSuggestedFollowsByActorQuery} from '#/state/queries/suggested-follows'
+import {useAnalytics} from 'lib/analytics/analytics'
import {usePalette} from 'lib/hooks/usePalette'
-import {Text} from 'view/com/util/text/Text'
-import {UserAvatar} from 'view/com/util/UserAvatar'
-import {Button} from 'view/com/util/forms/Button'
+import {makeProfileLink} from 'lib/routes/links'
import {sanitizeDisplayName} from 'lib/strings/display-names'
import {sanitizeHandle} from 'lib/strings/handles'
-import {makeProfileLink} from 'lib/routes/links'
-import {Link} from 'view/com/util/Link'
-import {useAnalytics} from 'lib/analytics/analytics'
import {isWeb} from 'platform/detection'
-import {useModerationOpts} from '#/state/queries/preferences'
-import {useSuggestedFollowsByActorQuery} from '#/state/queries/suggested-follows'
-import {useProfileShadow} from '#/state/cache/profile-shadow'
-import {useProfileFollowMutationQueue} from '#/state/queries/profile'
-import {useLingui} from '@lingui/react'
-import {Trans, msg} from '@lingui/macro'
+import {Button} from 'view/com/util/forms/Button'
+import {Link} from 'view/com/util/Link'
+import {Text} from 'view/com/util/text/Text'
+import {PreviewableUserAvatar} from 'view/com/util/UserAvatar'
+import * as Toast from '../util/Toast'
const OUTER_PADDING = 10
const INNER_PADDING = 14
@@ -218,8 +218,10 @@ function SuggestedFollow({
backgroundColor: pal.view.backgroundColor,
},
]}>
-
diff --git a/src/view/com/testing/TestCtrls.e2e.tsx b/src/view/com/testing/TestCtrls.e2e.tsx
index e1e8994882..1eb99c4f5e 100644
--- a/src/view/com/testing/TestCtrls.e2e.tsx
+++ b/src/view/com/testing/TestCtrls.e2e.tsx
@@ -22,18 +22,24 @@ export function TestCtrls() {
const {mutate: setFeedViewPref} = useSetFeedViewPreferencesMutation()
const {setShowLoggedOut} = useLoggedOutViewControls()
const onPressSignInAlice = async () => {
- await login({
- service: 'http://localhost:3000',
- identifier: 'alice.test',
- password: 'hunter2',
- })
+ await login(
+ {
+ service: 'http://localhost:3000',
+ identifier: 'alice.test',
+ password: 'hunter2',
+ },
+ 'LoginForm',
+ )
}
const onPressSignInBob = async () => {
- await login({
- service: 'http://localhost:3000',
- identifier: 'bob.test',
- password: 'hunter2',
- })
+ await login(
+ {
+ service: 'http://localhost:3000',
+ identifier: 'bob.test',
+ password: 'hunter2',
+ },
+ 'LoginForm',
+ )
}
return (
@@ -51,7 +57,7 @@ export function TestCtrls() {
/>
logout()}
+ onPress={() => logout('Settings')}
accessibilityRole="button"
style={BTN}
/>
diff --git a/src/view/com/util/BlurView.android.tsx b/src/view/com/util/BlurView.android.tsx
deleted file mode 100644
index eee1d9d867..0000000000
--- a/src/view/com/util/BlurView.android.tsx
+++ /dev/null
@@ -1,30 +0,0 @@
-import React from 'react'
-import {StyleSheet, View, ViewProps} from 'react-native'
-import {addStyle} from 'lib/styles'
-
-type BlurViewProps = ViewProps & {
- blurType?: 'dark' | 'light'
- blurAmount?: number
-}
-
-export const BlurView = ({
- style,
- blurType,
- ...props
-}: React.PropsWithChildren) => {
- if (blurType === 'dark') {
- style = addStyle(style, styles.dark)
- } else {
- style = addStyle(style, styles.light)
- }
- return
-}
-
-const styles = StyleSheet.create({
- dark: {
- backgroundColor: '#0008',
- },
- light: {
- backgroundColor: '#fff8',
- },
-})
diff --git a/src/view/com/util/BlurView.tsx b/src/view/com/util/BlurView.tsx
deleted file mode 100644
index 66b41cc26c..0000000000
--- a/src/view/com/util/BlurView.tsx
+++ /dev/null
@@ -1 +0,0 @@
-export {BlurView} from '@react-native-community/blur'
diff --git a/src/view/com/util/BlurView.web.tsx b/src/view/com/util/BlurView.web.tsx
deleted file mode 100644
index d1fb4665fb..0000000000
--- a/src/view/com/util/BlurView.web.tsx
+++ /dev/null
@@ -1,35 +0,0 @@
-import React from 'react'
-import {StyleSheet, View, ViewProps} from 'react-native'
-import {addStyle} from 'lib/styles'
-
-type BlurViewProps = ViewProps & {
- blurType?: 'dark' | 'light'
- blurAmount?: number
-}
-
-export const BlurView = ({
- style,
- blurType,
- blurAmount,
- ...props
-}: React.PropsWithChildren) => {
- // @ts-ignore using an RNW-specific attribute here -prf
- let blur = `blur(${blurAmount || 10}px`
- // @ts-ignore using an RNW-specific attribute here -prf
- style = addStyle(style, {backdropFilter: blur, WebkitBackdropFilter: blur})
- if (blurType === 'dark') {
- style = addStyle(style, styles.dark)
- } else {
- style = addStyle(style, styles.light)
- }
- return
-}
-
-const styles = StyleSheet.create({
- dark: {
- backgroundColor: '#0008',
- },
- light: {
- backgroundColor: '#fff8',
- },
-})
diff --git a/src/view/com/util/BottomSheetCustomBackdrop.tsx b/src/view/com/util/BottomSheetCustomBackdrop.tsx
index ab6570252c..0d15c5e555 100644
--- a/src/view/com/util/BottomSheetCustomBackdrop.tsx
+++ b/src/view/com/util/BottomSheetCustomBackdrop.tsx
@@ -1,11 +1,11 @@
import React, {useMemo} from 'react'
import {TouchableWithoutFeedback} from 'react-native'
-import {BottomSheetBackdropProps} from '@gorhom/bottom-sheet'
import Animated, {
Extrapolate,
interpolate,
useAnimatedStyle,
} from 'react-native-reanimated'
+import {BottomSheetBackdropProps} from '@discord/bottom-sheet/src'
import {msg} from '@lingui/macro'
import {useLingui} from '@lingui/react'
diff --git a/src/view/com/util/List.tsx b/src/view/com/util/List.tsx
index d30a9d805b..b3bde2a118 100644
--- a/src/view/com/util/List.tsx
+++ b/src/view/com/util/List.tsx
@@ -1,11 +1,14 @@
import React, {memo} from 'react'
import {FlatListProps, RefreshControl} from 'react-native'
-import {FlatList_INTERNAL} from './Views'
-import {addStyle} from 'lib/styles'
-import {useScrollHandlers} from '#/lib/ScrollContext'
import {runOnJS, useSharedValue} from 'react-native-reanimated'
+
import {useAnimatedScrollHandler} from '#/lib/hooks/useAnimatedScrollHandler_FIXED'
import {usePalette} from '#/lib/hooks/usePalette'
+import {useScrollHandlers} from '#/lib/ScrollContext'
+import {useGate} from 'lib/statsig/statsig'
+import {addStyle} from 'lib/styles'
+import {isWeb} from 'platform/detection'
+import {FlatList_INTERNAL} from './Views'
export type ListMethods = FlatList_INTERNAL
export type ListProps = Omit<
@@ -37,7 +40,8 @@ function ListImpl(
const isScrolledDown = useSharedValue(false)
const contextScrollHandlers = useScrollHandlers()
const pal = usePalette('default')
-
+ const showsVerticalScrollIndicator =
+ !useGate('hide_vertical_scroll_indicators') || isWeb
function handleScrolledDownChange(didScrollDown: boolean) {
onScrolledDownChange?.(didScrollDown)
}
@@ -93,6 +97,7 @@ function ListImpl(
scrollEventThrottle={1}
style={style}
ref={ref}
+ showsVerticalScrollIndicator={showsVerticalScrollIndicator}
/>
)
}
diff --git a/src/view/com/util/PostMeta.tsx b/src/view/com/util/PostMeta.tsx
index 529fc54e01..b37c69448e 100644
--- a/src/view/com/util/PostMeta.tsx
+++ b/src/view/com/util/PostMeta.tsx
@@ -1,18 +1,19 @@
import React, {memo} from 'react'
import {StyleProp, StyleSheet, TextStyle, View, ViewStyle} from 'react-native'
-import {Text} from './text/Text'
-import {TextLinkOnWebOnly} from './Link'
-import {niceDate} from 'lib/strings/time'
+import {AppBskyActorDefs, ModerationDecision, ModerationUI} from '@atproto/api'
+
+import {usePrefetchProfileQuery} from '#/state/queries/profile'
import {usePalette} from 'lib/hooks/usePalette'
-import {TypographyVariant} from 'lib/ThemeContext'
-import {UserAvatar} from './UserAvatar'
+import {makeProfileLink} from 'lib/routes/links'
import {sanitizeDisplayName} from 'lib/strings/display-names'
import {sanitizeHandle} from 'lib/strings/handles'
+import {niceDate} from 'lib/strings/time'
+import {TypographyVariant} from 'lib/ThemeContext'
import {isAndroid, isWeb} from 'platform/detection'
+import {TextLinkOnWebOnly} from './Link'
+import {Text} from './text/Text'
import {TimeElapsed} from './TimeElapsed'
-import {makeProfileLink} from 'lib/routes/links'
-import {AppBskyActorDefs, ModerationDecision, ModerationUI} from '@atproto/api'
-import {usePrefetchProfileQuery} from '#/state/queries/profile'
+import {PreviewableUserAvatar} from './UserAvatar'
interface PostMetaOpts {
author: AppBskyActorDefs.ProfileViewBasic
@@ -38,9 +39,11 @@ let PostMeta = (opts: PostMetaOpts): React.ReactNode => {
{opts.showAvatar && (
-
diff --git a/src/view/com/util/UserAvatar.tsx b/src/view/com/util/UserAvatar.tsx
index 8656c3f518..89aa56b736 100644
--- a/src/view/com/util/UserAvatar.tsx
+++ b/src/view/com/util/UserAvatar.tsx
@@ -1,30 +1,32 @@
import React, {memo, useMemo} from 'react'
import {Image, StyleSheet, TouchableOpacity, View} from 'react-native'
-import Svg, {Circle, Rect, Path} from 'react-native-svg'
import {Image as RNImage} from 'react-native-image-crop-picker'
-import {useLingui} from '@lingui/react'
-import {msg, Trans} from '@lingui/macro'
-import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome'
+import Svg, {Circle, Path, Rect} from 'react-native-svg'
import {ModerationUI} from '@atproto/api'
+import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome'
+import {msg, Trans} from '@lingui/macro'
+import {useLingui} from '@lingui/react'
-import {HighPriorityImage} from 'view/com/util/images/Image'
-import {openCamera, openCropper, openPicker} from '../../../lib/media/picker'
-import {
- usePhotoLibraryPermission,
- useCameraPermission,
-} from 'lib/hooks/usePermissions'
-import {colors} from 'lib/styles'
import {usePalette} from 'lib/hooks/usePalette'
-import {isWeb, isAndroid, isNative} from 'platform/detection'
-import {UserPreviewLink} from './UserPreviewLink'
-import * as Menu from '#/components/Menu'
import {
- Camera_Stroke2_Corner0_Rounded as Camera,
+ useCameraPermission,
+ usePhotoLibraryPermission,
+} from 'lib/hooks/usePermissions'
+import {makeProfileLink} from 'lib/routes/links'
+import {colors} from 'lib/styles'
+import {isAndroid, isNative, isWeb} from 'platform/detection'
+import {HighPriorityImage} from 'view/com/util/images/Image'
+import {tokens, useTheme} from '#/alf'
+import {
Camera_Filled_Stroke2_Corner0_Rounded as CameraFilled,
+ Camera_Stroke2_Corner0_Rounded as Camera,
} from '#/components/icons/Camera'
import {StreamingLive_Stroke2_Corner0_Rounded as Library} from '#/components/icons/StreamingLive'
import {Trash_Stroke2_Corner0_Rounded as Trash} from '#/components/icons/Trash'
-import {useTheme, tokens} from '#/alf'
+import {Link} from '#/components/Link'
+import * as Menu from '#/components/Menu'
+import {ProfileHoverCard} from '#/components/ProfileHoverCard'
+import {openCamera, openCropper, openPicker} from '../../../lib/media/picker'
export type UserAvatarType = 'user' | 'algo' | 'list' | 'labeler'
@@ -298,7 +300,10 @@ let EditableUserAvatar = ({
{({props}) => (
-
+
{avatar ? (
{
+ const {_} = useLingui()
return (
-
-
-
+
+
+
+
+
)
}
PreviewableUserAvatar = memo(PreviewableUserAvatar)
diff --git a/src/view/com/util/UserBanner.tsx b/src/view/com/util/UserBanner.tsx
index 4fb3726cd7..4d73b853bb 100644
--- a/src/view/com/util/UserBanner.tsx
+++ b/src/view/com/util/UserBanner.tsx
@@ -84,7 +84,10 @@ export function UserBanner({
{({props}) => (
-
+
{banner ? (
-}
-export function UserPreviewLink(
- props: React.PropsWithChildren,
-) {
- const prefetchProfileQuery = usePrefetchProfileQuery()
- return (
- {
- if (isWeb) {
- prefetchProfileQuery(props.did)
- }
- }}
- href={makeProfileLink(props)}
- title={props.handle}
- asAnchor
- style={props.style}>
- {props.children}
-
- )
-}
diff --git a/src/view/com/util/Views.jsx b/src/view/com/util/Views.jsx
index 7d6120583f..6850f42a48 100644
--- a/src/view/com/util/Views.jsx
+++ b/src/view/com/util/Views.jsx
@@ -2,8 +2,22 @@ import React from 'react'
import {View} from 'react-native'
import Animated from 'react-native-reanimated'
+import {useGate} from 'lib/statsig/statsig'
+
export const FlatList_INTERNAL = Animated.FlatList
-export const ScrollView = Animated.ScrollView
export function CenteredView(props) {
return
}
+
+export function ScrollView(props) {
+ const showsVerticalScrollIndicator = !useGate(
+ 'hide_vertical_scroll_indicators',
+ )
+
+ return (
+
+ )
+}
diff --git a/src/view/com/util/fab/FABInner.tsx b/src/view/com/util/fab/FABInner.tsx
index 27a16117bd..a01756da06 100644
--- a/src/view/com/util/fab/FABInner.tsx
+++ b/src/view/com/util/fab/FABInner.tsx
@@ -1,13 +1,14 @@
import React, {ComponentProps} from 'react'
import {StyleSheet, TouchableWithoutFeedback} from 'react-native'
-import LinearGradient from 'react-native-linear-gradient'
-import {gradients} from 'lib/styles'
-import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries'
-import {useSafeAreaInsets} from 'react-native-safe-area-context'
-import {clamp} from 'lib/numbers'
-import {useMinimalShellMode} from 'lib/hooks/useMinimalShellMode'
-import {isWeb} from '#/platform/detection'
import Animated from 'react-native-reanimated'
+import {useSafeAreaInsets} from 'react-native-safe-area-context'
+import {LinearGradient} from 'expo-linear-gradient'
+
+import {isWeb} from '#/platform/detection'
+import {useMinimalShellMode} from 'lib/hooks/useMinimalShellMode'
+import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries'
+import {clamp} from 'lib/numbers'
+import {gradients} from 'lib/styles'
export interface FABProps
extends ComponentProps {
diff --git a/src/view/com/util/forms/PostDropdownBtn.tsx b/src/view/com/util/forms/PostDropdownBtn.tsx
index 70fbb907f7..31032396f3 100644
--- a/src/view/com/util/forms/PostDropdownBtn.tsx
+++ b/src/view/com/util/forms/PostDropdownBtn.tsx
@@ -1,50 +1,52 @@
import React, {memo} from 'react'
-import {StyleProp, ViewStyle, Pressable, PressableProps} from 'react-native'
-import Clipboard from '@react-native-clipboard/clipboard'
-import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome'
-import {useNavigation} from '@react-navigation/native'
+import {Pressable, PressableProps, StyleProp, ViewStyle} from 'react-native'
+import {setStringAsync} from 'expo-clipboard'
import {
AppBskyActorDefs,
AppBskyFeedPost,
AtUri,
RichText as RichTextAPI,
} from '@atproto/api'
-import {toShareUrl} from 'lib/strings/url-helpers'
-import {useTheme} from 'lib/ThemeContext'
-import {shareUrl} from 'lib/sharing'
-import * as Toast from '../Toast'
-import {EventStopper} from '../EventStopper'
-import {useDialogControl} from '#/components/Dialog'
-import * as Prompt from '#/components/Prompt'
+import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome'
+import {msg} from '@lingui/macro'
+import {useLingui} from '@lingui/react'
+import {useNavigation} from '@react-navigation/native'
+
import {makeProfileLink} from '#/lib/routes/links'
import {CommonNavigatorParams} from '#/lib/routes/types'
-import {getCurrentRoute} from 'lib/routes/helpers'
+import {richTextToString} from '#/lib/strings/rich-text-helpers'
import {getTranslatorLink} from '#/locale/helpers'
-import {usePostDeleteMutation} from '#/state/queries/post'
+import {logger} from '#/logger'
+import {isWeb} from '#/platform/detection'
import {useMutedThreads, useToggleThreadMute} from '#/state/muted-threads'
import {useLanguagePrefs} from '#/state/preferences'
import {useHiddenPosts, useHiddenPostsApi} from '#/state/preferences'
import {useOpenLink} from '#/state/preferences/in-app-browser'
-import {logger} from '#/logger'
-import {msg} from '@lingui/macro'
-import {useLingui} from '@lingui/react'
+import {usePostDeleteMutation} from '#/state/queries/post'
import {useSession} from '#/state/session'
-import {isWeb} from '#/platform/detection'
-import {richTextToString} from '#/lib/strings/rich-text-helpers'
+import {getCurrentRoute} from 'lib/routes/helpers'
+import {shareUrl} from 'lib/sharing'
+import {toShareUrl} from 'lib/strings/url-helpers'
+import {useTheme} from 'lib/ThemeContext'
+import {atoms as a, useBreakpoints, useTheme as useAlf} from '#/alf'
+import {useDialogControl} from '#/components/Dialog'
import {useGlobalDialogsControlContext} from '#/components/dialogs/Context'
-import {ReportDialog, useReportDialogControl} from '#/components/ReportDialog'
-
-import {atoms as a, useTheme as useAlf} from '#/alf'
-import * as Menu from '#/components/Menu'
-import {Clipboard_Stroke2_Corner2_Rounded as ClipboardIcon} from '#/components/icons/Clipboard'
-import {Filter_Stroke2_Corner0_Rounded as Filter} from '#/components/icons/Filter'
+import {EmbedDialog} from '#/components/dialogs/Embed'
import {ArrowOutOfBox_Stroke2_Corner0_Rounded as Share} from '#/components/icons/ArrowOutOfBox'
+import {BubbleQuestion_Stroke2_Corner0_Rounded as Translate} from '#/components/icons/Bubble'
+import {Clipboard_Stroke2_Corner2_Rounded as ClipboardIcon} from '#/components/icons/Clipboard'
+import {CodeBrackets_Stroke2_Corner0_Rounded as CodeBrackets} from '#/components/icons/CodeBrackets'
import {EyeSlash_Stroke2_Corner0_Rounded as EyeSlash} from '#/components/icons/EyeSlash'
+import {Filter_Stroke2_Corner0_Rounded as Filter} from '#/components/icons/Filter'
import {Mute_Stroke2_Corner0_Rounded as Mute} from '#/components/icons/Mute'
import {SpeakerVolumeFull_Stroke2_Corner0_Rounded as Unmute} from '#/components/icons/Speaker'
-import {BubbleQuestion_Stroke2_Corner0_Rounded as Translate} from '#/components/icons/Bubble'
-import {Warning_Stroke2_Corner0_Rounded as Warning} from '#/components/icons/Warning'
import {Trash_Stroke2_Corner0_Rounded as Trash} from '#/components/icons/Trash'
+import {Warning_Stroke2_Corner0_Rounded as Warning} from '#/components/icons/Warning'
+import * as Menu from '#/components/Menu'
+import * as Prompt from '#/components/Prompt'
+import {ReportDialog, useReportDialogControl} from '#/components/ReportDialog'
+import {EventStopper} from '../EventStopper'
+import * as Toast from '../Toast'
let PostDropdownBtn = ({
testID,
@@ -55,6 +57,7 @@ let PostDropdownBtn = ({
richText,
style,
hitSlop,
+ timestamp,
}: {
testID: string
postAuthor: AppBskyActorDefs.ProfileViewBasic
@@ -64,10 +67,12 @@ let PostDropdownBtn = ({
richText: RichTextAPI
style?: StyleProp
hitSlop?: PressableProps['hitSlop']
+ timestamp: string
}): React.ReactNode => {
const {hasSession, currentAccount} = useSession()
const theme = useTheme()
const alf = useAlf()
+ const {gtMobile} = useBreakpoints()
const {_} = useLingui()
const defaultCtrlColor = theme.palette.default.postCtrl
const langPrefs = useLanguagePrefs()
@@ -83,6 +88,7 @@ let PostDropdownBtn = ({
const deletePromptControl = useDialogControl()
const hidePromptControl = useDialogControl()
const loggedOutWarningPromptControl = useDialogControl()
+ const embedPostControl = useDialogControl()
const rootUri = record.reply?.root?.uri || postUri
const isThreadMuted = mutedThreads.includes(rootUri)
@@ -154,7 +160,7 @@ let PostDropdownBtn = ({
const onCopyPostText = React.useCallback(() => {
const str = richTextToString(richText, true)
- Clipboard.setString(str)
+ setStringAsync(str)
Toast.show(_(msg`Copied to clipboard`))
}, [_, richText])
@@ -177,6 +183,8 @@ let PostDropdownBtn = ({
shareUrl(url)
}, [href])
+ const canEmbed = isWeb && gtMobile && !shouldShowLoggedOutWarning
+
return (
@@ -238,6 +246,16 @@ let PostDropdownBtn = ({
+
+ {canEmbed && (
+
+ {_(msg`Embed post`)}
+
+
+ )}
{hasSession && (
@@ -283,29 +301,33 @@ let PostDropdownBtn = ({
>
)}
-
+ {hasSession && (
+ <>
+
-
- {!isAuthor && (
- reportDialogControl.open()}>
- {_(msg`Report post`)}
-
-
- )}
+
+ {!isAuthor && (
+ reportDialogControl.open()}>
+ {_(msg`Report post`)}
+
+
+ )}
- {isAuthor && (
-
- {_(msg`Delete post`)}
-
-
- )}
-
+ {isAuthor && (
+
+ {_(msg`Delete post`)}
+
+
+ )}
+
+ >
+ )}
@@ -346,6 +368,17 @@ let PostDropdownBtn = ({
onConfirm={onSharePost}
confirmButtonCta={_(msg`Share anyway`)}
/>
+
+ {canEmbed && (
+
+ )}
)
}
diff --git a/src/view/com/util/layouts/LoggedOutLayout.tsx b/src/view/com/util/layouts/LoggedOutLayout.tsx
index 9424a7154b..0272a44c6b 100644
--- a/src/view/com/util/layouts/LoggedOutLayout.tsx
+++ b/src/view/com/util/layouts/LoggedOutLayout.tsx
@@ -1,19 +1,24 @@
import React from 'react'
-import {StyleSheet, View} from 'react-native'
-import {Text} from '../text/Text'
+import {ScrollView, StyleSheet, View} from 'react-native'
+
+import {isWeb} from '#/platform/detection'
+import {useColorSchemeStyle} from 'lib/hooks/useColorSchemeStyle'
import {usePalette} from 'lib/hooks/usePalette'
import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries'
-import {useColorSchemeStyle} from 'lib/hooks/useColorSchemeStyle'
+import {atoms as a} from '#/alf'
+import {Text} from '../text/Text'
export const LoggedOutLayout = ({
leadin,
title,
description,
children,
+ scrollable,
}: React.PropsWithChildren<{
leadin: string
title: string
description: string
+ scrollable?: boolean
}>) => {
const {isMobile, isTabletOrMobile} = useWebMediaQueries()
const pal = usePalette('default')
@@ -25,7 +30,18 @@ export const LoggedOutLayout = ({
})
if (isMobile) {
- return {children}
+ if (scrollable) {
+ return (
+
+ {children}
+
+ )
+ } else {
+ return {children}
+ }
}
return (
@@ -50,9 +66,23 @@ export const LoggedOutLayout = ({
{description}
-
- {children}
-
+ {scrollable ? (
+
+
+
+ {children}
+
+
+
+ ) : (
+
+ {children}
+
+ )}
)
}
@@ -74,7 +104,16 @@ const styles = StyleSheet.create({
paddingHorizontal: 40,
justifyContent: 'center',
},
-
+ scrollableContent: {
+ flex: 2,
+ },
+ scrollview: {
+ flex: 1,
+ },
+ scrollViewContentContainer: {
+ flex: 1,
+ paddingHorizontal: 40,
+ },
leadinText: {
fontSize: 36,
fontWeight: '800',
diff --git a/src/view/com/util/post-ctrls/PostCtrls.tsx b/src/view/com/util/post-ctrls/PostCtrls.tsx
index 3fa347a6d8..cb50ee6dc3 100644
--- a/src/view/com/util/post-ctrls/PostCtrls.tsx
+++ b/src/view/com/util/post-ctrls/PostCtrls.tsx
@@ -12,29 +12,32 @@ import {
AtUri,
RichText as RichTextAPI,
} from '@atproto/api'
-import {Text} from '../text/Text'
-import {PostDropdownBtn} from '../forms/PostDropdownBtn'
-import {HeartIcon, HeartIconSolid, CommentBottomArrow} from 'lib/icons'
-import {s} from 'lib/styles'
-import {pluralize} from 'lib/strings/helpers'
-import {useTheme} from 'lib/ThemeContext'
-import {RepostButton} from './RepostButton'
-import {Haptics} from 'lib/haptics'
-import {HITSLOP_10, HITSLOP_20} from 'lib/constants'
+import {msg} from '@lingui/macro'
+import {useLingui} from '@lingui/react'
+
+import {HITSLOP_10, HITSLOP_20} from '#/lib/constants'
+import {CommentBottomArrow, HeartIcon, HeartIconSolid} from '#/lib/icons'
+import {makeProfileLink} from '#/lib/routes/links'
+import {shareUrl} from '#/lib/sharing'
+import {pluralize} from '#/lib/strings/helpers'
+import {toShareUrl} from '#/lib/strings/url-helpers'
+import {s} from '#/lib/styles'
+import {useTheme} from '#/lib/ThemeContext'
+import {Shadow} from '#/state/cache/types'
import {useModalControls} from '#/state/modals'
import {
usePostLikeMutationQueue,
usePostRepostMutationQueue,
} from '#/state/queries/post'
-import {useComposerControls} from '#/state/shell/composer'
-import {Shadow} from '#/state/cache/types'
import {useRequireAuth} from '#/state/session'
-import {msg} from '@lingui/macro'
-import {useLingui} from '@lingui/react'
+import {useComposerControls} from '#/state/shell/composer'
+import {useHaptics} from 'lib/haptics'
+import {useDialogControl} from '#/components/Dialog'
import {ArrowOutOfBox_Stroke2_Corner0_Rounded as ArrowOutOfBox} from '#/components/icons/ArrowOutOfBox'
-import {toShareUrl} from 'lib/strings/url-helpers'
-import {shareUrl} from 'lib/sharing'
-import {makeProfileLink} from 'lib/routes/links'
+import * as Prompt from '#/components/Prompt'
+import {PostDropdownBtn} from '../forms/PostDropdownBtn'
+import {Text} from '../text/Text'
+import {RepostButton} from './RepostButton'
let PostCtrls = ({
big,
@@ -63,6 +66,14 @@ let PostCtrls = ({
logContext,
)
const requireAuth = useRequireAuth()
+ const loggedOutWarningPromptControl = useDialogControl()
+ const playHaptic = useHaptics()
+
+ const shouldShowLoggedOutWarning = React.useMemo(() => {
+ return !!post.author.labels?.find(
+ label => label.val === '!no-unauthenticated',
+ )
+ }, [post])
const defaultCtrlColor = React.useMemo(
() => ({
@@ -74,7 +85,7 @@ let PostCtrls = ({
const onPressToggleLike = React.useCallback(async () => {
try {
if (!post.viewer?.like) {
- Haptics.default()
+ playHaptic()
await queueLike()
} else {
await queueUnlike()
@@ -84,13 +95,13 @@ let PostCtrls = ({
throw e
}
}
- }, [post.viewer?.like, queueLike, queueUnlike])
+ }, [playHaptic, post.viewer?.like, queueLike, queueUnlike])
const onRepost = useCallback(async () => {
closeModal()
try {
if (!post.viewer?.repost) {
- Haptics.default()
+ playHaptic()
await queueRepost()
} else {
await queueUnrepost()
@@ -100,7 +111,7 @@ let PostCtrls = ({
throw e
}
}
- }, [post.viewer?.repost, queueRepost, queueUnrepost, closeModal])
+ }, [closeModal, post.viewer?.repost, playHaptic, queueRepost, queueUnrepost])
const onQuote = useCallback(() => {
closeModal()
@@ -113,15 +124,16 @@ let PostCtrls = ({
indexedAt: post.indexedAt,
},
})
- Haptics.default()
+ playHaptic()
}, [
+ closeModal,
+ openComposer,
post.uri,
post.cid,
post.author,
post.indexedAt,
record.text,
- openComposer,
- closeModal,
+ playHaptic,
])
const onShare = useCallback(() => {
@@ -209,18 +221,38 @@ let PostCtrls = ({
{big && (
-
-
-
-
-
+ <>
+
+ {
+ if (shouldShowLoggedOutWarning) {
+ loggedOutWarningPromptControl.open()
+ } else {
+ onShare()
+ }
+ }}
+ accessibilityRole="button"
+ accessibilityLabel={`${_(msg`Share`)}`}
+ accessibilityHint=""
+ hitSlop={big ? HITSLOP_20 : HITSLOP_10}>
+
+
+
+
+ >
)}
diff --git a/src/view/com/util/post-embeds/ExternalGifEmbed.tsx b/src/view/com/util/post-embeds/ExternalGifEmbed.tsx
index f06c8b794d..b2720752ca 100644
--- a/src/view/com/util/post-embeds/ExternalGifEmbed.tsx
+++ b/src/view/com/util/post-embeds/ExternalGifEmbed.tsx
@@ -1,6 +1,4 @@
-import {EmbedPlayerParams, getGifDims} from 'lib/strings/embed-player'
import React from 'react'
-import {Image, ImageLoadEventData} from 'expo-image'
import {
ActivityIndicator,
GestureResponderEvent,
@@ -9,13 +7,17 @@ import {
StyleSheet,
View,
} from 'react-native'
-import {isIOS, isNative, isWeb} from '#/platform/detection'
-import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome'
-import {useExternalEmbedsPrefs} from 'state/preferences'
-import {useModalControls} from 'state/modals'
-import {useLingui} from '@lingui/react'
-import {msg} from '@lingui/macro'
+import {Image, ImageLoadEventData} from 'expo-image'
import {AppBskyEmbedExternal} from '@atproto/api'
+import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome'
+import {msg} from '@lingui/macro'
+import {useLingui} from '@lingui/react'
+
+import {EmbedPlayerParams, getGifDims} from '#/lib/strings/embed-player'
+import {isIOS, isNative, isWeb} from '#/platform/detection'
+import {useExternalEmbedsPrefs} from '#/state/preferences'
+import {useDialogControl} from '#/components/Dialog'
+import {EmbedConsentDialog} from '#/components/dialogs/EmbedConsent'
export function ExternalGifEmbed({
link,
@@ -25,8 +27,9 @@ export function ExternalGifEmbed({
params: EmbedPlayerParams
}) {
const externalEmbedsPrefs = useExternalEmbedsPrefs()
- const {openModal} = useModalControls()
+
const {_} = useLingui()
+ const consentDialogControl = useDialogControl()
const thumbHasLoaded = React.useRef(false)
const viewWidth = React.useRef(0)
@@ -57,11 +60,7 @@ export function ExternalGifEmbed({
// Show consent if this is the first load
if (externalEmbedsPrefs?.[params.source] === undefined) {
- openModal({
- name: 'embed-consent',
- source: params.source,
- onAccept: load,
- })
+ consentDialogControl.open()
return
}
// If the player isn't active, we want to activate it and prefetch the gif
@@ -84,7 +83,13 @@ export function ExternalGifEmbed({
}
})
},
- [externalEmbedsPrefs, isPlayerActive, load, openModal, params.source],
+ [
+ consentDialogControl,
+ externalEmbedsPrefs,
+ isPlayerActive,
+ load,
+ params.source,
+ ],
)
const onLoad = React.useCallback((e: ImageLoadEventData) => {
@@ -98,47 +103,55 @@ export function ExternalGifEmbed({
}, [])
return (
-
- {(!isPrefetched || !isAnimating) && ( // If we have not loaded or are not animating, show the overlay
-
-
- {!isAnimating || !isPlayerActive ? ( // Play button when not animating or not active
-
- ) : (
- // Activity indicator while gif loads
-
- )}
-
-
- )}
-
+
-
+
+
+ {(!isPrefetched || !isAnimating) && ( // If we have not loaded or are not animating, show the overlay
+
+
+ {!isAnimating || !isPlayerActive ? ( // Play button when not animating or not active
+
+ ) : (
+ // Activity indicator while gif loads
+
+ )}
+
+
+ )}
+
+
+ >
)
}
diff --git a/src/view/com/util/post-embeds/ExternalPlayerEmbed.tsx b/src/view/com/util/post-embeds/ExternalPlayerEmbed.tsx
index cf2db5b333..9fdede877d 100644
--- a/src/view/com/util/post-embeds/ExternalPlayerEmbed.tsx
+++ b/src/view/com/util/post-embeds/ExternalPlayerEmbed.tsx
@@ -13,20 +13,23 @@ import Animated, {
useAnimatedRef,
useFrameCallback,
} from 'react-native-reanimated'
-import {Image} from 'expo-image'
-import {WebView} from 'react-native-webview'
import {useSafeAreaInsets} from 'react-native-safe-area-context'
+import {WebView} from 'react-native-webview'
+import {Image} from 'expo-image'
+import {AppBskyEmbedExternal} from '@atproto/api'
import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome'
import {msg} from '@lingui/macro'
import {useLingui} from '@lingui/react'
import {useNavigation} from '@react-navigation/native'
-import {AppBskyEmbedExternal} from '@atproto/api'
-import {EmbedPlayerParams, getPlayerAspect} from 'lib/strings/embed-player'
+
+import {NavigationProp} from '#/lib/routes/types'
+import {EmbedPlayerParams, getPlayerAspect} from '#/lib/strings/embed-player'
+import {isNative} from '#/platform/detection'
+import {useExternalEmbedsPrefs} from '#/state/preferences'
+import {atoms as a} from '#/alf'
+import {useDialogControl} from '#/components/Dialog'
+import {EmbedConsentDialog} from '#/components/dialogs/EmbedConsent'
import {EventStopper} from '../EventStopper'
-import {isNative} from 'platform/detection'
-import {NavigationProp} from 'lib/routes/types'
-import {useExternalEmbedsPrefs} from 'state/preferences'
-import {useModalControls} from 'state/modals'
interface ShouldStartLoadRequest {
url: string
@@ -48,7 +51,7 @@ function PlaceholderOverlay({
if (isPlayerActive && !isLoading) return null
return (
-
+
+
{
- setPlayerActive(true)
- },
- })
+ consentDialogControl.open()
return
}
setPlayerActive(true)
},
- [externalEmbedsPrefs, openModal, params.source],
+ [externalEmbedsPrefs, consentDialogControl, params.source],
)
+ const onAcceptConsent = React.useCallback(() => {
+ setPlayerActive(true)
+ }, [])
+
return (
-
- {link.thumb && (!isPlayerActive || isLoading) && (
-
- )}
-
+
-
-
+
+
+ {link.thumb && (!isPlayerActive || isLoading) && (
+
+ )}
+
+
+
+ >
)
}
@@ -226,13 +239,6 @@ const styles = StyleSheet.create({
borderTopLeftRadius: 6,
borderTopRightRadius: 6,
},
- layer: {
- position: 'absolute',
- top: 0,
- left: 0,
- right: 0,
- bottom: 0,
- },
overlayContainer: {
flex: 1,
justifyContent: 'center',
diff --git a/src/view/com/util/post-embeds/QuoteEmbed.tsx b/src/view/com/util/post-embeds/QuoteEmbed.tsx
index 2b1c3e6179..b5f57825b6 100644
--- a/src/view/com/util/post-embeds/QuoteEmbed.tsx
+++ b/src/view/com/util/post-embeds/QuoteEmbed.tsx
@@ -1,31 +1,34 @@
import React from 'react'
import {StyleProp, StyleSheet, View, ViewStyle} from 'react-native'
import {
- AppBskyFeedDefs,
- AppBskyEmbedRecord,
- AppBskyFeedPost,
- AppBskyEmbedImages,
- AppBskyEmbedRecordWithMedia,
AppBskyEmbedExternal,
- RichText as RichTextAPI,
+ AppBskyEmbedImages,
+ AppBskyEmbedRecord,
+ AppBskyEmbedRecordWithMedia,
+ AppBskyFeedDefs,
+ AppBskyFeedPost,
moderatePost,
ModerationDecision,
+ RichText as RichTextAPI,
} from '@atproto/api'
import {AtUri} from '@atproto/api'
-import {PostMeta} from '../PostMeta'
-import {Link} from '../Link'
-import {Text} from '../text/Text'
-import {usePalette} from 'lib/hooks/usePalette'
-import {ComposerOptsQuote} from 'state/shell/composer'
-import {PostEmbeds} from '.'
-import {PostAlerts} from '../../../../components/moderation/PostAlerts'
-import {makeProfileLink} from 'lib/routes/links'
-import {InfoCircleIcon} from 'lib/icons'
import {Trans} from '@lingui/macro'
+import {useQueryClient} from '@tanstack/react-query'
+
import {useModerationOpts} from '#/state/queries/preferences'
-import {ContentHider} from '../../../../components/moderation/ContentHider'
-import {RichText} from '#/components/RichText'
+import {RQKEY as RQKEY_URI} from '#/state/queries/resolve-uri'
+import {usePalette} from 'lib/hooks/usePalette'
+import {InfoCircleIcon} from 'lib/icons'
+import {makeProfileLink} from 'lib/routes/links'
+import {ComposerOptsQuote} from 'state/shell/composer'
import {atoms as a} from '#/alf'
+import {RichText} from '#/components/RichText'
+import {ContentHider} from '../../../../components/moderation/ContentHider'
+import {PostAlerts} from '../../../../components/moderation/PostAlerts'
+import {Link} from '../Link'
+import {PostMeta} from '../PostMeta'
+import {Text} from '../text/Text'
+import {PostEmbeds} from '.'
export function MaybeQuoteEmbed({
embed,
@@ -107,6 +110,7 @@ export function QuoteEmbed({
moderation?: ModerationDecision
style?: StyleProp
}) {
+ const queryClient = useQueryClient()
const pal = usePalette('default')
const itemUrip = new AtUri(quote.uri)
const itemHref = makeProfileLink(quote.author, 'post', itemUrip.rkey)
@@ -134,13 +138,18 @@ export function QuoteEmbed({
}
}, [quote.embeds])
+ const onBeforePress = React.useCallback(() => {
+ queryClient.setQueryData(RQKEY_URI(quote.author.handle), quote.author.did)
+ }, [queryClient, quote.author.did, quote.author.handle])
+
return (
+ title={itemTitle}
+ onBeforePress={onBeforePress}>
{children}
diff --git a/src/view/screens/DebugMod.tsx b/src/view/screens/DebugMod.tsx
index 64f2376a43..f88d500f97 100644
--- a/src/view/screens/DebugMod.tsx
+++ b/src/view/screens/DebugMod.tsx
@@ -1,51 +1,51 @@
import React from 'react'
-import {NativeStackScreenProps, CommonNavigatorParams} from 'lib/routes/types'
import {View} from 'react-native'
import {
+ AppBskyActorDefs,
+ AppBskyFeedDefs,
+ AppBskyFeedPost,
+ ComAtprotoLabelDefs,
+ interpretLabelValueDefinition,
+ LabelPreference,
LABELS,
mock,
moderatePost,
moderateProfile,
- ModerationOpts,
- AppBskyActorDefs,
- AppBskyFeedDefs,
- AppBskyFeedPost,
- LabelPreference,
- ModerationDecision,
ModerationBehavior,
+ ModerationDecision,
+ ModerationOpts,
RichText,
- ComAtprotoLabelDefs,
- interpretLabelValueDefinition,
} from '@atproto/api'
import {msg} from '@lingui/macro'
import {useLingui} from '@lingui/react'
-import {moderationOptsOverrideContext} from '#/state/queries/preferences'
-import {useSession} from '#/state/session'
+
+import {useGlobalLabelStrings} from '#/lib/moderation/useGlobalLabelStrings'
import {FeedNotification} from '#/state/queries/notifications/types'
import {
groupNotifications,
shouldFilterNotif,
} from '#/state/queries/notifications/util'
-
-import {atoms as a, useTheme} from '#/alf'
+import {moderationOptsOverrideContext} from '#/state/queries/preferences'
+import {useSession} from '#/state/session'
+import {CommonNavigatorParams, NativeStackScreenProps} from 'lib/routes/types'
import {CenteredView, ScrollView} from '#/view/com/util/Views'
-import {H1, H3, P, Text} from '#/components/Typography'
-import {useGlobalLabelStrings} from '#/lib/moderation/useGlobalLabelStrings'
+import {ProfileHeaderStandard} from '#/screens/Profile/Header/ProfileHeaderStandard'
+import {atoms as a, useTheme} from '#/alf'
+import {Button, ButtonIcon, ButtonText} from '#/components/Button'
+import {Divider} from '#/components/Divider'
import * as Toggle from '#/components/forms/Toggle'
import * as ToggleButton from '#/components/forms/ToggleButton'
-import {Button, ButtonIcon, ButtonText} from '#/components/Button'
import {Check_Stroke2_Corner0_Rounded as Check} from '#/components/icons/Check'
import {
ChevronBottom_Stroke2_Corner0_Rounded as ChevronBottom,
ChevronTop_Stroke2_Corner0_Rounded as ChevronTop,
} from '#/components/icons/Chevron'
+import {H1, H3, P, Text} from '#/components/Typography'
import {ScreenHider} from '../../components/moderation/ScreenHider'
-import {ProfileHeaderStandard} from '#/screens/Profile/Header/ProfileHeaderStandard'
-import {ProfileCard} from '../com/profile/ProfileCard'
-import {FeedItem} from '../com/posts/FeedItem'
import {FeedItem as NotifFeedItem} from '../com/notifications/FeedItem'
import {PostThreadItem} from '../com/post-thread/PostThreadItem'
-import {Divider} from '#/components/Divider'
+import {FeedItem} from '../com/posts/FeedItem'
+import {ProfileCard} from '../com/profile/ProfileCard'
const LABEL_VALUES: (keyof typeof LABELS)[] = Object.keys(
LABELS,
@@ -274,13 +274,13 @@ export const DebugModScreen = ({}: NativeStackScreenProps<
values={scenario}
onChange={setScenario}>
- Label
+ Label
- Block
+ Block
- Mute
+ Mute
@@ -320,7 +320,7 @@ export const DebugModScreen = ({}: NativeStackScreenProps<
disabled={disabled}
style={disabled ? {opacity: 0.5} : undefined}>
- {labelValue}
+ {labelValue}
)
})}
@@ -330,7 +330,7 @@ export const DebugModScreen = ({}: NativeStackScreenProps<
disabled={isSelfLabel}
style={isSelfLabel ? {opacity: 0.5} : undefined}>
- Custom label
+ Custom label
@@ -358,23 +358,23 @@ export const DebugModScreen = ({}: NativeStackScreenProps<
- Target is me
+ Target is me
- Following target
+ Following target
- Self label
+ Self label
- Adult disabled
+ Adult disabled
- Logged out
+ Logged out
@@ -400,15 +400,15 @@ export const DebugModScreen = ({}: NativeStackScreenProps<
]}>
- Hide
+ Hide
- Warn
+ Warn
- Ignore
+ Ignore
@@ -446,19 +446,19 @@ export const DebugModScreen = ({}: NativeStackScreenProps<
- Account
+ Account
- Profile
+ Profile
- Post
+ Post
- Embed
+ Embed
@@ -474,16 +474,16 @@ export const DebugModScreen = ({}: NativeStackScreenProps<
- Post
+ Post
- Notifications
+ Notifications
- Account
+ Account
- Data
+ Data
@@ -623,15 +623,15 @@ function CustomLabelForm({
- Content
+ Content
- Media
+ Media
- None
+ None
@@ -658,15 +658,15 @@ function CustomLabelForm({
- Alert
+ Alert
- Inform
+ Inform
- None
+ None
diff --git a/src/view/screens/Feeds.tsx b/src/view/screens/Feeds.tsx
index 2e3bf08db5..e64ab08df2 100644
--- a/src/view/screens/Feeds.tsx
+++ b/src/view/screens/Feeds.tsx
@@ -1,52 +1,53 @@
import React from 'react'
import {
ActivityIndicator,
- StyleSheet,
- View,
type FlatList,
Pressable,
+ StyleSheet,
+ View,
} from 'react-native'
import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome'
import {FontAwesomeIconStyle} from '@fortawesome/react-native-fontawesome'
-import {ViewHeader} from 'view/com/util/ViewHeader'
-import {FAB} from 'view/com/util/fab/FAB'
-import {Link} from 'view/com/util/Link'
-import {NativeStackScreenProps, FeedsTabNavigatorParams} from 'lib/routes/types'
-import {usePalette} from 'lib/hooks/usePalette'
-import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries'
-import {ComposeIcon2, CogIcon, MagnifyingGlassIcon2} from 'lib/icons'
-import {s} from 'lib/styles'
-import {atoms as a, useTheme} from '#/alf'
-import {SearchInput, SearchInputRef} from 'view/com/util/forms/SearchInput'
-import {UserAvatar} from 'view/com/util/UserAvatar'
-import {
- LoadingPlaceholder,
- FeedFeedLoadingPlaceholder,
-} from 'view/com/util/LoadingPlaceholder'
-import {ErrorMessage} from 'view/com/util/error/ErrorMessage'
-import debounce from 'lodash.debounce'
-import {Text} from 'view/com/util/text/Text'
-import {List} from 'view/com/util/List'
-import {useFocusEffect} from '@react-navigation/native'
-import {FeedSourceCard} from 'view/com/feeds/FeedSourceCard'
-import {Trans, msg} from '@lingui/macro'
+import {msg, Trans} from '@lingui/macro'
import {useLingui} from '@lingui/react'
-import {useSetMinimalShellMode} from '#/state/shell'
-import {usePreferencesQuery} from '#/state/queries/preferences'
+import {useFocusEffect} from '@react-navigation/native'
+import debounce from 'lodash.debounce'
+
+import {isNative, isWeb} from '#/platform/detection'
import {
+ getAvatarTypeFromUri,
useFeedSourceInfoQuery,
useGetPopularFeedsQuery,
useSearchPopularFeedsMutation,
- getAvatarTypeFromUri,
} from '#/state/queries/feed'
-import {cleanError} from 'lib/strings/errors'
-import {useComposerControls} from '#/state/shell/composer'
+import {usePreferencesQuery} from '#/state/queries/preferences'
import {useSession} from '#/state/session'
-import {isNative, isWeb} from '#/platform/detection'
+import {useSetMinimalShellMode} from '#/state/shell'
+import {useComposerControls} from '#/state/shell/composer'
import {HITSLOP_10} from 'lib/constants'
+import {usePalette} from 'lib/hooks/usePalette'
+import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries'
+import {CogIcon, ComposeIcon2, MagnifyingGlassIcon2} from 'lib/icons'
+import {FeedsTabNavigatorParams, NativeStackScreenProps} from 'lib/routes/types'
+import {cleanError} from 'lib/strings/errors'
+import {s} from 'lib/styles'
+import {FeedSourceCard} from 'view/com/feeds/FeedSourceCard'
+import {ErrorMessage} from 'view/com/util/error/ErrorMessage'
+import {FAB} from 'view/com/util/fab/FAB'
+import {SearchInput, SearchInputRef} from 'view/com/util/forms/SearchInput'
+import {Link} from 'view/com/util/Link'
+import {List} from 'view/com/util/List'
+import {
+ FeedFeedLoadingPlaceholder,
+ LoadingPlaceholder,
+} from 'view/com/util/LoadingPlaceholder'
+import {Text} from 'view/com/util/text/Text'
+import {UserAvatar} from 'view/com/util/UserAvatar'
+import {ViewHeader} from 'view/com/util/ViewHeader'
+import {atoms as a, useTheme} from '#/alf'
import {IconCircle} from '#/components/IconCircle'
-import {ListSparkle_Stroke2_Corner0_Rounded} from '#/components/icons/ListSparkle'
import {ListMagnifyingGlass_Stroke2_Corner0_Rounded} from '#/components/icons/ListMagnifyingGlass'
+import {ListSparkle_Stroke2_Corner0_Rounded} from '#/components/icons/ListSparkle'
type Props = NativeStackScreenProps
@@ -100,6 +101,22 @@ type FlatlistSlice =
key: string
}
+// HACK
+// the protocol doesn't yet tell us which feeds are personalized
+// this list is used to filter out feed recommendations from logged out users
+// for the ones we know need it
+// -prf
+const KNOWN_AUTHED_ONLY_FEEDS = [
+ 'at://did:plc:z72i7hdynmk6r22z27h6tvur/app.bsky.feed.generator/with-friends', // popular with friends, by bsky.app
+ 'at://did:plc:tenurhgjptubkk5zf5qhi3og/app.bsky.feed.generator/mutuals', // mutuals, by skyfeed
+ 'at://did:plc:tenurhgjptubkk5zf5qhi3og/app.bsky.feed.generator/only-posts', // only posts, by skyfeed
+ 'at://did:plc:wzsilnxf24ehtmmc3gssy5bu/app.bsky.feed.generator/mentions', // mentions, by flicknow
+ 'at://did:plc:q6gjnaw2blty4crticxkmujt/app.bsky.feed.generator/bangers', // my bangers, by jaz
+ 'at://did:plc:z72i7hdynmk6r22z27h6tvur/app.bsky.feed.generator/mutuals', // mutuals, by bluesky
+ 'at://did:plc:q6gjnaw2blty4crticxkmujt/app.bsky.feed.generator/my-followers', // followers, by jaz
+ 'at://did:plc:vpkhqolt662uhesyj6nxm7ys/app.bsky.feed.generator/followpics', // the gram, by why
+]
+
export function FeedsScreen(_props: Props) {
const pal = usePalette('default')
const {openComposer} = useComposerControls()
@@ -299,7 +316,15 @@ export function FeedsScreen(_props: Props) {
for (const page of popularFeeds.pages || []) {
slices = slices.concat(
page.feeds
- .filter(feed => !preferences?.feeds?.saved.includes(feed.uri))
+ .filter(feed => {
+ if (
+ !hasSession &&
+ KNOWN_AUTHED_ONLY_FEEDS.includes(feed.uri)
+ ) {
+ return false
+ }
+ return !preferences?.feeds?.saved.includes(feed.uri)
+ })
.map(feed => ({
key: `popularFeed:${feed.uri}`,
type: 'popularFeed',
diff --git a/src/view/screens/Home.tsx b/src/view/screens/Home.tsx
index 99ac8c44af..b55053af0a 100644
--- a/src/view/screens/Home.tsx
+++ b/src/view/screens/Home.tsx
@@ -1,23 +1,27 @@
import React from 'react'
-import {View, ActivityIndicator, StyleSheet} from 'react-native'
+import {ActivityIndicator, AppState, StyleSheet, View} from 'react-native'
import {useFocusEffect} from '@react-navigation/native'
-import {NativeStackScreenProps, HomeTabNavigatorParams} from 'lib/routes/types'
+
+import {PROD_DEFAULT_FEED} from '#/lib/constants'
+import {useNonReactiveCallback} from '#/lib/hooks/useNonReactiveCallback'
+import {useSetTitle} from '#/lib/hooks/useSetTitle'
+import {logEvent, LogEvents, useGate} from '#/lib/statsig/statsig'
+import {emitSoftReset} from '#/state/events'
+import {FeedSourceInfo, usePinnedFeedsInfos} from '#/state/queries/feed'
import {FeedDescriptor, FeedParams} from '#/state/queries/post-feed'
+import {usePreferencesQuery} from '#/state/queries/preferences'
+import {UsePreferencesQueryResponse} from '#/state/queries/preferences/types'
+import {useSession} from '#/state/session'
+import {useSetDrawerSwipeDisabled, useSetMinimalShellMode} from '#/state/shell'
+import {useSelectedFeed, useSetSelectedFeed} from '#/state/shell/selected-feed'
+import {useOTAUpdates} from 'lib/hooks/useOTAUpdates'
+import {HomeTabNavigatorParams, NativeStackScreenProps} from 'lib/routes/types'
+import {FeedPage} from 'view/com/feeds/FeedPage'
+import {Pager, PagerRef, RenderTabBarFnProps} from 'view/com/pager/Pager'
+import {CustomFeedEmptyState} from 'view/com/posts/CustomFeedEmptyState'
import {FollowingEmptyState} from 'view/com/posts/FollowingEmptyState'
import {FollowingEndOfFeed} from 'view/com/posts/FollowingEndOfFeed'
-import {CustomFeedEmptyState} from 'view/com/posts/CustomFeedEmptyState'
import {HomeHeader} from '../com/home/HomeHeader'
-import {Pager, RenderTabBarFnProps, PagerRef} from 'view/com/pager/Pager'
-import {FeedPage} from 'view/com/feeds/FeedPage'
-import {HomeLoggedOutCTA} from '../com/auth/HomeLoggedOutCTA'
-import {useSetMinimalShellMode, useSetDrawerSwipeDisabled} from '#/state/shell'
-import {usePreferencesQuery} from '#/state/queries/preferences'
-import {usePinnedFeedsInfos, FeedSourceInfo} from '#/state/queries/feed'
-import {UsePreferencesQueryResponse} from '#/state/queries/preferences/types'
-import {emitSoftReset} from '#/state/events'
-import {useSession} from '#/state/session'
-import {useSelectedFeed, useSetSelectedFeed} from '#/state/shell/selected-feed'
-import {useSetTitle} from '#/lib/hooks/useSetTitle'
type Props = NativeStackScreenProps
export function HomeScreen(props: Props) {
@@ -48,6 +52,8 @@ function HomeScreenReady({
preferences: UsePreferencesQueryResponse
pinnedFeedInfos: FeedSourceInfo[]
}) {
+ useOTAUpdates()
+
const allFeeds = React.useMemo(() => {
const feeds: FeedDescriptor[] = []
feeds.push('home')
@@ -77,7 +83,7 @@ function HomeScreenReady({
// This is supposed to only happen on the web when you use the right nav.
if (selectedIndex !== lastPagerReportedIndexRef.current) {
lastPagerReportedIndexRef.current = selectedIndex
- pagerRef.current?.setPage(selectedIndex)
+ pagerRef.current?.setPage(selectedIndex, 'desktop-sidebar-click')
}
}, [selectedIndex])
@@ -94,6 +100,33 @@ function HomeScreenReady({
}, [setDrawerSwipeDisabled, selectedIndex, setMinimalShellMode]),
)
+ useFocusEffect(
+ useNonReactiveCallback(() => {
+ logEvent('home:feedDisplayed', {
+ index: selectedIndex,
+ feedType: selectedFeed.split('|')[0],
+ feedUrl: selectedFeed,
+ reason: 'focus',
+ })
+ }),
+ )
+
+ const disableMinShellOnForegrounding = useGate(
+ 'disable_min_shell_on_foregrounding',
+ )
+ React.useEffect(() => {
+ if (disableMinShellOnForegrounding) {
+ const listener = AppState.addEventListener('change', nextAppState => {
+ if (nextAppState === 'active') {
+ setMinimalShellMode(false)
+ }
+ })
+ return () => {
+ listener.remove()
+ }
+ }
+ }, [setMinimalShellMode, disableMinShellOnForegrounding])
+
const onPageSelected = React.useCallback(
(index: number) => {
setMinimalShellMode(false)
@@ -105,6 +138,19 @@ function HomeScreenReady({
[setDrawerSwipeDisabled, setSelectedFeed, setMinimalShellMode, allFeeds],
)
+ const onPageSelecting = React.useCallback(
+ (index: number, reason: LogEvents['home:feedDisplayed']['reason']) => {
+ const feed = allFeeds[index]
+ logEvent('home:feedDisplayed', {
+ index,
+ feedType: feed.split('|')[0],
+ feedUrl: feed,
+ reason,
+ })
+ },
+ [allFeeds],
+ )
+
const onPressSelected = React.useCallback(() => {
emitSoftReset()
}, [])
@@ -157,6 +203,7 @@ function HomeScreenReady({
ref={pagerRef}
testID="homeScreen"
initialPage={selectedIndex}
+ onPageSelecting={onPageSelecting}
onPageSelected={onPageSelected}
onPageScrollStateChanged={onPageScrollStateChanged}
renderTabBar={renderTabBar}>
@@ -187,7 +234,12 @@ function HomeScreenReady({
onPageSelected={onPageSelected}
onPageScrollStateChanged={onPageScrollStateChanged}
renderTabBar={renderTabBar}>
-
+
)
}
diff --git a/src/view/screens/ModerationBlockedAccounts.tsx b/src/view/screens/ModerationBlockedAccounts.tsx
index eb3b270488..7b68c22560 100644
--- a/src/view/screens/ModerationBlockedAccounts.tsx
+++ b/src/view/screens/ModerationBlockedAccounts.tsx
@@ -7,23 +7,26 @@ import {
View,
} from 'react-native'
import {AppBskyActorDefs as ActorDefs} from '@atproto/api'
-import {Text} from '../com/util/text/Text'
+import {msg, Trans} from '@lingui/macro'
+import {useLingui} from '@lingui/react'
+import {useFocusEffect} from '@react-navigation/native'
+import {NativeStackScreenProps} from '@react-navigation/native-stack'
+
+import {cleanError} from '#/lib/strings/errors'
+import {logger} from '#/logger'
+import {useMyBlockedAccountsQuery} from '#/state/queries/my-blocked-accounts'
+import {useSetMinimalShellMode} from '#/state/shell'
+import {useAnalytics} from 'lib/analytics/analytics'
import {usePalette} from 'lib/hooks/usePalette'
import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries'
-import {NativeStackScreenProps} from '@react-navigation/native-stack'
import {CommonNavigatorParams} from 'lib/routes/types'
-import {useAnalytics} from 'lib/analytics/analytics'
-import {useFocusEffect} from '@react-navigation/native'
-import {ViewHeader} from '../com/util/ViewHeader'
+import {useGate} from 'lib/statsig/statsig'
+import {isWeb} from 'platform/detection'
+import {ProfileCard} from 'view/com/profile/ProfileCard'
import {CenteredView} from 'view/com/util/Views'
import {ErrorScreen} from '../com/util/error/ErrorScreen'
-import {ProfileCard} from 'view/com/profile/ProfileCard'
-import {logger} from '#/logger'
-import {useSetMinimalShellMode} from '#/state/shell'
-import {Trans, msg} from '@lingui/macro'
-import {useLingui} from '@lingui/react'
-import {useMyBlockedAccountsQuery} from '#/state/queries/my-blocked-accounts'
-import {cleanError} from '#/lib/strings/errors'
+import {Text} from '../com/util/text/Text'
+import {ViewHeader} from '../com/util/ViewHeader'
type Props = NativeStackScreenProps<
CommonNavigatorParams,
@@ -35,6 +38,9 @@ export function ModerationBlockedAccounts({}: Props) {
const setMinimalShellMode = useSetMinimalShellMode()
const {isTabletOrDesktop} = useWebMediaQueries()
const {screen} = useAnalytics()
+ const showsVerticalScrollIndicator =
+ !useGate('hide_vertical_scroll_indicators') || isWeb
+
const [isPTRing, setIsPTRing] = React.useState(false)
const {
data,
@@ -163,6 +169,7 @@ export function ModerationBlockedAccounts({}: Props) {
)}
// @ts-ignore our .web version only -prf
desktopFixedHeight
+ showsVerticalScrollIndicator={showsVerticalScrollIndicator}
/>
)}
diff --git a/src/view/screens/ModerationMutedAccounts.tsx b/src/view/screens/ModerationMutedAccounts.tsx
index 911ace7782..22dd5a2784 100644
--- a/src/view/screens/ModerationMutedAccounts.tsx
+++ b/src/view/screens/ModerationMutedAccounts.tsx
@@ -7,23 +7,26 @@ import {
View,
} from 'react-native'
import {AppBskyActorDefs as ActorDefs} from '@atproto/api'
-import {Text} from '../com/util/text/Text'
+import {msg, Trans} from '@lingui/macro'
+import {useLingui} from '@lingui/react'
+import {useFocusEffect} from '@react-navigation/native'
+import {NativeStackScreenProps} from '@react-navigation/native-stack'
+
+import {cleanError} from '#/lib/strings/errors'
+import {logger} from '#/logger'
+import {useMyMutedAccountsQuery} from '#/state/queries/my-muted-accounts'
+import {useSetMinimalShellMode} from '#/state/shell'
+import {useAnalytics} from 'lib/analytics/analytics'
import {usePalette} from 'lib/hooks/usePalette'
import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries'
-import {NativeStackScreenProps} from '@react-navigation/native-stack'
import {CommonNavigatorParams} from 'lib/routes/types'
-import {useAnalytics} from 'lib/analytics/analytics'
-import {useFocusEffect} from '@react-navigation/native'
-import {ViewHeader} from '../com/util/ViewHeader'
+import {useGate} from 'lib/statsig/statsig'
+import {isWeb} from 'platform/detection'
+import {ProfileCard} from 'view/com/profile/ProfileCard'
import {CenteredView} from 'view/com/util/Views'
import {ErrorScreen} from '../com/util/error/ErrorScreen'
-import {ProfileCard} from 'view/com/profile/ProfileCard'
-import {logger} from '#/logger'
-import {useSetMinimalShellMode} from '#/state/shell'
-import {Trans, msg} from '@lingui/macro'
-import {useLingui} from '@lingui/react'
-import {useMyMutedAccountsQuery} from '#/state/queries/my-muted-accounts'
-import {cleanError} from '#/lib/strings/errors'
+import {Text} from '../com/util/text/Text'
+import {ViewHeader} from '../com/util/ViewHeader'
type Props = NativeStackScreenProps<
CommonNavigatorParams,
@@ -35,6 +38,8 @@ export function ModerationMutedAccounts({}: Props) {
const setMinimalShellMode = useSetMinimalShellMode()
const {isTabletOrDesktop} = useWebMediaQueries()
const {screen} = useAnalytics()
+ const showsVerticalScrollIndicator =
+ !useGate('hide_vertical_scroll_indicators') || isWeb
const [isPTRing, setIsPTRing] = React.useState(false)
const {
data,
@@ -162,6 +167,7 @@ export function ModerationMutedAccounts({}: Props) {
)}
// @ts-ignore our .web version only -prf
desktopFixedHeight
+ showsVerticalScrollIndicator={showsVerticalScrollIndicator}
/>
)}
diff --git a/src/view/screens/Profile.tsx b/src/view/screens/Profile.tsx
index d5a46c5c98..f71e1330ef 100644
--- a/src/view/screens/Profile.tsx
+++ b/src/view/screens/Profile.tsx
@@ -1,6 +1,5 @@
import React, {useMemo} from 'react'
import {StyleSheet} from 'react-native'
-import {useFocusEffect} from '@react-navigation/native'
import {
AppBskyActorDefs,
moderateProfile,
@@ -9,36 +8,40 @@ import {
} from '@atproto/api'
import {msg} from '@lingui/macro'
import {useLingui} from '@lingui/react'
-import {NativeStackScreenProps, CommonNavigatorParams} from 'lib/routes/types'
-import {CenteredView} from '../com/util/Views'
-import {ListRef} from '../com/util/List'
-import {ScreenHider} from '#/components/moderation/ScreenHider'
-import {ProfileLists} from '../com/lists/ProfileLists'
-import {ProfileFeedgens} from '../com/feeds/ProfileFeedgens'
-import {PagerWithHeader} from 'view/com/pager/PagerWithHeader'
-import {ErrorScreen} from '../com/util/error/ErrorScreen'
-import {FAB} from '../com/util/fab/FAB'
-import {s, colors} from 'lib/styles'
-import {useAnalytics} from 'lib/analytics/analytics'
-import {ComposeIcon2} from 'lib/icons'
-import {useSetTitle} from 'lib/hooks/useSetTitle'
-import {combinedDisplayName} from 'lib/strings/display-names'
-import {resetProfilePostsQueries} from '#/state/queries/post-feed'
-import {useResolveDidQuery} from '#/state/queries/resolve-uri'
-import {useProfileQuery} from '#/state/queries/profile'
-import {useProfileShadow} from '#/state/cache/profile-shadow'
-import {useSession, getAgent} from '#/state/session'
-import {useModerationOpts} from '#/state/queries/preferences'
-import {useLabelerInfoQuery} from '#/state/queries/labeler'
-import {useSetDrawerSwipeDisabled, useSetMinimalShellMode} from '#/state/shell'
-import {cleanError} from '#/lib/strings/errors'
-import {useComposerControls} from '#/state/shell/composer'
-import {listenSoftReset} from '#/state/events'
-import {isInvalidHandle} from '#/lib/strings/handles'
+import {useFocusEffect} from '@react-navigation/native'
+import {useQueryClient} from '@tanstack/react-query'
+import {cleanError} from '#/lib/strings/errors'
+import {useProfileShadow} from '#/state/cache/profile-shadow'
+import {useLabelerInfoQuery} from '#/state/queries/labeler'
+import {resetProfilePostsQueries} from '#/state/queries/post-feed'
+import {useModerationOpts} from '#/state/queries/preferences'
+import {useProfileQuery} from '#/state/queries/profile'
+import {useResolveDidQuery} from '#/state/queries/resolve-uri'
+import {getAgent, useSession} from '#/state/session'
+import {useSetDrawerSwipeDisabled, useSetMinimalShellMode} from '#/state/shell'
+import {useComposerControls} from '#/state/shell/composer'
+import {useAnalytics} from 'lib/analytics/analytics'
+import {useSetTitle} from 'lib/hooks/useSetTitle'
+import {ComposeIcon2} from 'lib/icons'
+import {CommonNavigatorParams, NativeStackScreenProps} from 'lib/routes/types'
+import {useGate} from 'lib/statsig/statsig'
+import {combinedDisplayName} from 'lib/strings/display-names'
+import {isInvalidHandle} from 'lib/strings/handles'
+import {colors, s} from 'lib/styles'
+import {listenSoftReset} from 'state/events'
+import {PagerWithHeader} from 'view/com/pager/PagerWithHeader'
+import {ProfileHeader, ProfileHeaderLoading} from '#/screens/Profile/Header'
import {ProfileFeedSection} from '#/screens/Profile/Sections/Feed'
import {ProfileLabelsSection} from '#/screens/Profile/Sections/Labels'
-import {ProfileHeader, ProfileHeaderLoading} from '#/screens/Profile/Header'
+import {ScreenHider} from '#/components/moderation/ScreenHider'
+import {ExpoScrollForwarderView} from '../../../modules/expo-scroll-forwarder'
+import {ProfileFeedgens} from '../com/feeds/ProfileFeedgens'
+import {ProfileLists} from '../com/lists/ProfileLists'
+import {ErrorScreen} from '../com/util/error/ErrorScreen'
+import {FAB} from '../com/util/fab/FAB'
+import {ListRef} from '../com/util/List'
+import {CenteredView} from '../com/util/Views'
interface SectionRef {
scrollToTop: () => void
@@ -48,6 +51,7 @@ type Props = NativeStackScreenProps
export function ProfileScreen({route}: Props) {
const {_} = useLingui()
const {currentAccount} = useSession()
+ const queryClient = useQueryClient()
const name =
route.params.name === 'me' ? currentAccount?.did : route.params.name
const moderationOpts = useModerationOpts()
@@ -78,9 +82,9 @@ export function ProfileScreen({route}: Props) {
// When we open the profile, we want to reset the posts query if we are blocked.
React.useEffect(() => {
if (resolvedDid && profile?.viewer?.blockedBy) {
- resetProfilePostsQueries(resolvedDid)
+ resetProfilePostsQueries(queryClient, resolvedDid)
}
- }, [profile?.viewer?.blockedBy, resolvedDid])
+ }, [queryClient, profile?.viewer?.blockedBy, resolvedDid])
// Most pushes will happen here, since we will have only placeholder data
if (isLoadingDid || isLoadingProfile) {
@@ -139,6 +143,7 @@ function ProfileScreenLoaded({
const setMinimalShellMode = useSetMinimalShellMode()
const {openComposer} = useComposerControls()
const {screen, track} = useAnalytics()
+ const shouldUseScrollableHeader = useGate('new_profile_scroll_component')
const {
data: labelerInfo,
error: labelerError,
@@ -150,6 +155,9 @@ function ProfileScreenLoaded({
const [currentPage, setCurrentPage] = React.useState(0)
const {_} = useLingui()
const setDrawerSwipeDisabled = useSetDrawerSwipeDisabled()
+
+ const [scrollViewTag, setScrollViewTag] = React.useState(null)
+
const postsSectionRef = React.useRef(null)
const repliesSectionRef = React.useRef(null)
const mediaSectionRef = React.useRef(null)
@@ -176,8 +184,7 @@ function ProfileScreenLoaded({
const showRepliesTab = hasSession
const showMediaTab = !hasLabeler
const showLikesTab = isMe
- const showFeedsTab =
- hasSession && (isMe || (profile.associated?.feedgens || 0) > 0)
+ const showFeedsTab = isMe || (profile.associated?.feedgens || 0) > 0
const showListsTab =
hasSession && (isMe || (profile.associated?.lists || 0) > 0)
@@ -295,12 +302,9 @@ function ProfileScreenLoaded({
openComposer({mention})
}, [openComposer, currentAccount, track, profile])
- const onPageSelected = React.useCallback(
- (i: number) => {
- setCurrentPage(i)
- },
- [setCurrentPage],
- )
+ const onPageSelected = React.useCallback((i: number) => {
+ setCurrentPage(i)
+ }, [])
const onCurrentPageSelected = React.useCallback(
(index: number) => {
@@ -313,21 +317,38 @@ function ProfileScreenLoaded({
// =
const renderHeader = React.useCallback(() => {
- return (
-
- )
+ if (shouldUseScrollableHeader) {
+ return (
+
+
+
+ )
+ } else {
+ return (
+
+ )
+ }
}, [
+ shouldUseScrollableHeader,
+ scrollViewTag,
profile,
labelerInfo,
- descriptionRT,
hasDescription,
+ descriptionRT,
moderationOpts,
hideBackButton,
showPlaceholder,
@@ -347,7 +368,7 @@ function ProfileScreenLoaded({
onCurrentPageSelected={onCurrentPageSelected}
renderHeader={renderHeader}>
{showFiltersTab
- ? ({headerHeight, scrollElRef}) => (
+ ? ({headerHeight, isFocused, scrollElRef}) => (
)
: null}
@@ -367,6 +390,7 @@ function ProfileScreenLoaded({
scrollElRef={scrollElRef as ListRef}
headerOffset={headerHeight}
enabled={isFocused}
+ setScrollViewTag={setScrollViewTag}
/>
)
: null}
@@ -379,6 +403,7 @@ function ProfileScreenLoaded({
isFocused={isFocused}
scrollElRef={scrollElRef as ListRef}
ignoreFilterFor={profile.did}
+ setScrollViewTag={setScrollViewTag}
/>
)
: null}
@@ -391,6 +416,7 @@ function ProfileScreenLoaded({
isFocused={isFocused}
scrollElRef={scrollElRef as ListRef}
ignoreFilterFor={profile.did}
+ setScrollViewTag={setScrollViewTag}
/>
)
: null}
@@ -403,6 +429,7 @@ function ProfileScreenLoaded({
isFocused={isFocused}
scrollElRef={scrollElRef as ListRef}
ignoreFilterFor={profile.did}
+ setScrollViewTag={setScrollViewTag}
/>
)
: null}
@@ -415,6 +442,7 @@ function ProfileScreenLoaded({
isFocused={isFocused}
scrollElRef={scrollElRef as ListRef}
ignoreFilterFor={profile.did}
+ setScrollViewTag={setScrollViewTag}
/>
)
: null}
@@ -426,6 +454,7 @@ function ProfileScreenLoaded({
scrollElRef={scrollElRef as ListRef}
headerOffset={headerHeight}
enabled={isFocused}
+ setScrollViewTag={setScrollViewTag}
/>
)
: null}
@@ -437,6 +466,7 @@ function ProfileScreenLoaded({
scrollElRef={scrollElRef as ListRef}
headerOffset={headerHeight}
enabled={isFocused}
+ setScrollViewTag={setScrollViewTag}
/>
)
: null}
diff --git a/src/view/screens/ProfileFeed.tsx b/src/view/screens/ProfileFeed.tsx
index 8eeeb5d908..814c1e8558 100644
--- a/src/view/screens/ProfileFeed.tsx
+++ b/src/view/screens/ProfileFeed.tsx
@@ -1,70 +1,71 @@
-import React, {useMemo, useCallback} from 'react'
-import {StyleSheet, View, Pressable} from 'react-native'
-import {NativeStackScreenProps} from '@react-navigation/native-stack'
-import {useIsFocused, useNavigation} from '@react-navigation/native'
-import {useQueryClient} from '@tanstack/react-query'
-import {usePalette} from 'lib/hooks/usePalette'
-import {CommonNavigatorParams} from 'lib/routes/types'
-import {makeRecordUri} from 'lib/strings/url-helpers'
-import {s} from 'lib/styles'
-import {FeedDescriptor} from '#/state/queries/post-feed'
-import {PagerWithHeader} from 'view/com/pager/PagerWithHeader'
-import {ProfileSubpageHeader} from 'view/com/profile/ProfileSubpageHeader'
-import {Feed} from 'view/com/posts/Feed'
-import {InlineLink} from '#/components/Link'
-import {ListRef} from 'view/com/util/List'
-import {Button} from 'view/com/util/forms/Button'
-import {Text} from 'view/com/util/text/Text'
-import {RichText} from '#/components/RichText'
-import {LoadLatestBtn} from 'view/com/util/load-latest/LoadLatestBtn'
-import {FAB} from 'view/com/util/fab/FAB'
-import {EmptyState} from 'view/com/util/EmptyState'
-import {LoadingScreen} from 'view/com/util/LoadingScreen'
-import * as Toast from 'view/com/util/Toast'
-import {useSetTitle} from 'lib/hooks/useSetTitle'
-import {RQKEY as FEED_RQKEY} from '#/state/queries/post-feed'
-import {shareUrl} from 'lib/sharing'
-import {toShareUrl} from 'lib/strings/url-helpers'
-import {Haptics} from 'lib/haptics'
-import {useAnalytics} from 'lib/analytics/analytics'
-import {makeCustomFeedLink} from 'lib/routes/links'
-import {pluralize} from 'lib/strings/helpers'
-import {CenteredView} from 'view/com/util/Views'
-import {NavigationProp} from 'lib/routes/types'
-import {ComposeIcon2} from 'lib/icons'
-import {logger} from '#/logger'
-import {Trans, msg} from '@lingui/macro'
+import React, {useCallback, useMemo} from 'react'
+import {Pressable, StyleSheet, View} from 'react-native'
+import {msg, Trans} from '@lingui/macro'
import {useLingui} from '@lingui/react'
-import {ReportDialog, useReportDialogControl} from '#/components/ReportDialog'
-import {useFeedSourceInfoQuery, FeedSourceFeedInfo} from '#/state/queries/feed'
-import {useResolveUriQuery} from '#/state/queries/resolve-uri'
-import {
- UsePreferencesQueryResponse,
- usePreferencesQuery,
- useSaveFeedMutation,
- useRemoveFeedMutation,
- usePinFeedMutation,
- useUnpinFeedMutation,
-} from '#/state/queries/preferences'
-import {useSession} from '#/state/session'
-import {useLikeMutation, useUnlikeMutation} from '#/state/queries/like'
-import {useComposerControls} from '#/state/shell/composer'
-import {truncateAndInvalidate} from '#/state/queries/util'
+import {useIsFocused, useNavigation} from '@react-navigation/native'
+import {NativeStackScreenProps} from '@react-navigation/native-stack'
+import {useQueryClient} from '@tanstack/react-query'
+
+import {HITSLOP_20} from '#/lib/constants'
+import {logger} from '#/logger'
import {isNative} from '#/platform/detection'
import {listenSoftReset} from '#/state/events'
-import {atoms as a, useTheme} from '#/alf'
-import * as Menu from '#/components/Menu'
-import {HITSLOP_20} from '#/lib/constants'
-import {DotGrid_Stroke2_Corner0_Rounded as Ellipsis} from '#/components/icons/DotGrid'
-import {Trash_Stroke2_Corner0_Rounded as Trash} from '#/components/icons/Trash'
-import {PlusLarge_Stroke2_Corner0_Rounded as Plus} from '#/components/icons/Plus'
-import {CircleInfo_Stroke2_Corner0_Rounded as CircleInfo} from '#/components/icons/CircleInfo'
-import {ArrowOutOfBox_Stroke2_Corner0_Rounded as Share} from '#/components/icons/ArrowOutOfBox'
+import {FeedSourceFeedInfo, useFeedSourceInfoQuery} from '#/state/queries/feed'
+import {useLikeMutation, useUnlikeMutation} from '#/state/queries/like'
+import {FeedDescriptor} from '#/state/queries/post-feed'
+import {RQKEY as FEED_RQKEY} from '#/state/queries/post-feed'
import {
- Heart2_Stroke2_Corner0_Rounded as HeartOutline,
- Heart2_Filled_Stroke2_Corner0_Rounded as HeartFilled,
-} from '#/components/icons/Heart2'
+ usePinFeedMutation,
+ usePreferencesQuery,
+ UsePreferencesQueryResponse,
+ useRemoveFeedMutation,
+ useSaveFeedMutation,
+ useUnpinFeedMutation,
+} from '#/state/queries/preferences'
+import {useResolveUriQuery} from '#/state/queries/resolve-uri'
+import {truncateAndInvalidate} from '#/state/queries/util'
+import {useSession} from '#/state/session'
+import {useComposerControls} from '#/state/shell/composer'
+import {useAnalytics} from 'lib/analytics/analytics'
+import {useHaptics} from 'lib/haptics'
+import {usePalette} from 'lib/hooks/usePalette'
+import {useSetTitle} from 'lib/hooks/useSetTitle'
+import {ComposeIcon2} from 'lib/icons'
+import {makeCustomFeedLink} from 'lib/routes/links'
+import {CommonNavigatorParams} from 'lib/routes/types'
+import {NavigationProp} from 'lib/routes/types'
+import {shareUrl} from 'lib/sharing'
+import {pluralize} from 'lib/strings/helpers'
+import {makeRecordUri} from 'lib/strings/url-helpers'
+import {toShareUrl} from 'lib/strings/url-helpers'
+import {s} from 'lib/styles'
+import {PagerWithHeader} from 'view/com/pager/PagerWithHeader'
+import {Feed} from 'view/com/posts/Feed'
+import {ProfileSubpageHeader} from 'view/com/profile/ProfileSubpageHeader'
+import {EmptyState} from 'view/com/util/EmptyState'
+import {FAB} from 'view/com/util/fab/FAB'
+import {Button} from 'view/com/util/forms/Button'
+import {ListRef} from 'view/com/util/List'
+import {LoadLatestBtn} from 'view/com/util/load-latest/LoadLatestBtn'
+import {LoadingScreen} from 'view/com/util/LoadingScreen'
+import {Text} from 'view/com/util/text/Text'
+import * as Toast from 'view/com/util/Toast'
+import {CenteredView} from 'view/com/util/Views'
+import {atoms as a, useTheme} from '#/alf'
import {Button as NewButton, ButtonText} from '#/components/Button'
+import {ArrowOutOfBox_Stroke2_Corner0_Rounded as Share} from '#/components/icons/ArrowOutOfBox'
+import {CircleInfo_Stroke2_Corner0_Rounded as CircleInfo} from '#/components/icons/CircleInfo'
+import {DotGrid_Stroke2_Corner0_Rounded as Ellipsis} from '#/components/icons/DotGrid'
+import {
+ Heart2_Filled_Stroke2_Corner0_Rounded as HeartFilled,
+ Heart2_Stroke2_Corner0_Rounded as HeartOutline,
+} from '#/components/icons/Heart2'
+import {PlusLarge_Stroke2_Corner0_Rounded as Plus} from '#/components/icons/Plus'
+import {Trash_Stroke2_Corner0_Rounded as Trash} from '#/components/icons/Trash'
+import {InlineLinkText} from '#/components/Link'
+import * as Menu from '#/components/Menu'
+import {ReportDialog, useReportDialogControl} from '#/components/ReportDialog'
+import {RichText} from '#/components/RichText'
const SECTION_TITLES = ['Posts']
@@ -158,6 +159,7 @@ export function ProfileFeedScreenInner({
const reportDialogControl = useReportDialogControl()
const {openComposer} = useComposerControls()
const {track} = useAnalytics()
+ const playHaptic = useHaptics()
const feedSectionRef = React.useRef(null)
const isScreenFocused = useIsFocused()
@@ -200,7 +202,7 @@ export function ProfileFeedScreenInner({
const onToggleSaved = React.useCallback(async () => {
try {
- Haptics.default()
+ playHaptic()
if (isSaved) {
await removeFeed({uri: feedInfo.uri})
@@ -220,18 +222,19 @@ export function ProfileFeedScreenInner({
logger.error('Failed up update feeds', {message: err})
}
}, [
- feedInfo,
+ playHaptic,
isSaved,
- saveFeed,
removeFeed,
- resetSaveFeed,
+ feedInfo,
resetRemoveFeed,
_,
+ saveFeed,
+ resetSaveFeed,
])
const onTogglePinned = React.useCallback(async () => {
try {
- Haptics.default()
+ playHaptic()
if (isPinned) {
await unpinFeed({uri: feedInfo.uri})
@@ -244,7 +247,16 @@ export function ProfileFeedScreenInner({
Toast.show(_(msg`There was an issue contacting the server`))
logger.error('Failed to toggle pinned feed', {message: e})
}
- }, [isPinned, feedInfo, pinFeed, unpinFeed, resetPinFeed, resetUnpinFeed, _])
+ }, [
+ playHaptic,
+ isPinned,
+ unpinFeed,
+ feedInfo,
+ resetUnpinFeed,
+ pinFeed,
+ resetPinFeed,
+ _,
+ ])
const onPressShare = React.useCallback(() => {
const url = toShareUrl(feedInfo.route.href)
@@ -516,6 +528,7 @@ function AboutSection({
const [likeUri, setLikeUri] = React.useState(feedInfo.likeUri)
const {hasSession} = useSession()
const {track} = useAnalytics()
+ const playHaptic = useHaptics()
const {mutateAsync: likeFeed, isPending: isLikePending} = useLikeMutation()
const {mutateAsync: unlikeFeed, isPending: isUnlikePending} =
useUnlikeMutation()
@@ -526,7 +539,7 @@ function AboutSection({
const onToggleLiked = React.useCallback(async () => {
try {
- Haptics.default()
+ playHaptic()
if (isLiked && likeUri) {
await unlikeFeed({uri: likeUri})
@@ -545,7 +558,7 @@ function AboutSection({
)
logger.error('Failed up toggle like', {message: err})
}
- }, [likeUri, isLiked, feedInfo, likeFeed, unlikeFeed, track, _])
+ }, [playHaptic, isLiked, likeUri, unlikeFeed, track, likeFeed, feedInfo, _])
return (
@@ -580,12 +593,12 @@ function AboutSection({
)}
{typeof likeCount === 'number' && (
-
{_(msg`Liked by ${likeCount} ${pluralize(likeCount, 'user')}`)}
-
+
)}
diff --git a/src/view/screens/ProfileList.tsx b/src/view/screens/ProfileList.tsx
index 58b89f2399..1d93a9fd7d 100644
--- a/src/view/screens/ProfileList.tsx
+++ b/src/view/screens/ProfileList.tsx
@@ -1,69 +1,70 @@
import React, {useCallback, useMemo} from 'react'
import {Pressable, StyleSheet, View} from 'react-native'
-import {useFocusEffect, useIsFocused} from '@react-navigation/native'
-import {NativeStackScreenProps, CommonNavigatorParams} from 'lib/routes/types'
-import {useNavigation} from '@react-navigation/native'
-import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome'
import {AppBskyGraphDefs, AtUri, RichText as RichTextAPI} from '@atproto/api'
+import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome'
+import {msg, Trans} from '@lingui/macro'
+import {useLingui} from '@lingui/react'
+import {useFocusEffect, useIsFocused} from '@react-navigation/native'
+import {useNavigation} from '@react-navigation/native'
import {useQueryClient} from '@tanstack/react-query'
-import {PagerWithHeader} from 'view/com/pager/PagerWithHeader'
-import {ProfileSubpageHeader} from 'view/com/profile/ProfileSubpageHeader'
-import {Feed} from 'view/com/posts/Feed'
-import {Text} from 'view/com/util/text/Text'
-import {NativeDropdown, DropdownItem} from 'view/com/util/forms/NativeDropdown'
-import {CenteredView} from 'view/com/util/Views'
-import {EmptyState} from 'view/com/util/EmptyState'
-import {LoadingScreen} from 'view/com/util/LoadingScreen'
-import {RichText} from '#/components/RichText'
-import {Button} from 'view/com/util/forms/Button'
-import {TextLink} from 'view/com/util/Link'
-import {ListRef} from 'view/com/util/List'
-import * as Toast from 'view/com/util/Toast'
-import {LoadLatestBtn} from 'view/com/util/load-latest/LoadLatestBtn'
-import {FAB} from 'view/com/util/fab/FAB'
-import {Haptics} from 'lib/haptics'
+
+import {useAnalytics} from '#/lib/analytics/analytics'
+import {cleanError} from '#/lib/strings/errors'
+import {logger} from '#/logger'
+import {isNative, isWeb} from '#/platform/detection'
+import {listenSoftReset} from '#/state/events'
+import {useModalControls} from '#/state/modals'
+import {
+ useListBlockMutation,
+ useListDeleteMutation,
+ useListMuteMutation,
+ useListQuery,
+} from '#/state/queries/list'
import {FeedDescriptor} from '#/state/queries/post-feed'
+import {RQKEY as FEED_RQKEY} from '#/state/queries/post-feed'
+import {
+ usePinFeedMutation,
+ usePreferencesQuery,
+ useSetSaveFeedsMutation,
+ useUnpinFeedMutation,
+} from '#/state/queries/preferences'
+import {useResolveUriQuery} from '#/state/queries/resolve-uri'
+import {truncateAndInvalidate} from '#/state/queries/util'
+import {useSession} from '#/state/session'
+import {useSetMinimalShellMode} from '#/state/shell'
+import {useComposerControls} from '#/state/shell/composer'
+import {useHaptics} from 'lib/haptics'
import {usePalette} from 'lib/hooks/usePalette'
import {useSetTitle} from 'lib/hooks/useSetTitle'
import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries'
-import {RQKEY as FEED_RQKEY} from '#/state/queries/post-feed'
-import {NavigationProp} from 'lib/routes/types'
-import {toShareUrl} from 'lib/strings/url-helpers'
-import {shareUrl} from 'lib/sharing'
-import {s} from 'lib/styles'
-import {sanitizeHandle} from 'lib/strings/handles'
-import {makeProfileLink, makeListLink} from 'lib/routes/links'
import {ComposeIcon2} from 'lib/icons'
+import {makeListLink, makeProfileLink} from 'lib/routes/links'
+import {CommonNavigatorParams, NativeStackScreenProps} from 'lib/routes/types'
+import {NavigationProp} from 'lib/routes/types'
+import {shareUrl} from 'lib/sharing'
+import {sanitizeHandle} from 'lib/strings/handles'
+import {toShareUrl} from 'lib/strings/url-helpers'
+import {s} from 'lib/styles'
import {ListMembers} from '#/view/com/lists/ListMembers'
-import {Trans, msg} from '@lingui/macro'
-import {useLingui} from '@lingui/react'
-import {useSetMinimalShellMode} from '#/state/shell'
-import {useModalControls} from '#/state/modals'
-import {ReportDialog, useReportDialogControl} from '#/components/ReportDialog'
-import {useResolveUriQuery} from '#/state/queries/resolve-uri'
-import {
- useListQuery,
- useListMuteMutation,
- useListBlockMutation,
- useListDeleteMutation,
-} from '#/state/queries/list'
-import {cleanError} from '#/lib/strings/errors'
-import {useSession} from '#/state/session'
-import {useComposerControls} from '#/state/shell/composer'
-import {isNative, isWeb} from '#/platform/detection'
-import {truncateAndInvalidate} from '#/state/queries/util'
-import {
- usePreferencesQuery,
- usePinFeedMutation,
- useUnpinFeedMutation,
- useSetSaveFeedsMutation,
-} from '#/state/queries/preferences'
-import {logger} from '#/logger'
-import {useAnalytics} from '#/lib/analytics/analytics'
-import {listenSoftReset} from '#/state/events'
+import {PagerWithHeader} from 'view/com/pager/PagerWithHeader'
+import {Feed} from 'view/com/posts/Feed'
+import {ProfileSubpageHeader} from 'view/com/profile/ProfileSubpageHeader'
+import {EmptyState} from 'view/com/util/EmptyState'
+import {FAB} from 'view/com/util/fab/FAB'
+import {Button} from 'view/com/util/forms/Button'
+import {DropdownItem, NativeDropdown} from 'view/com/util/forms/NativeDropdown'
+import {TextLink} from 'view/com/util/Link'
+import {ListRef} from 'view/com/util/List'
+import {LoadLatestBtn} from 'view/com/util/load-latest/LoadLatestBtn'
+import {LoadingScreen} from 'view/com/util/LoadingScreen'
+import {Text} from 'view/com/util/text/Text'
+import * as Toast from 'view/com/util/Toast'
+import {CenteredView} from 'view/com/util/Views'
import {atoms as a, useTheme} from '#/alf'
-import * as Prompt from '#/components/Prompt'
import {useDialogControl} from '#/components/Dialog'
+import * as Prompt from '#/components/Prompt'
+import {ReportDialog, useReportDialogControl} from '#/components/ReportDialog'
+import {RichText} from '#/components/RichText'
const SECTION_TITLES_CURATE = ['Posts', 'About']
const SECTION_TITLES_MOD = ['About']
@@ -254,6 +255,7 @@ function Header({rkey, list}: {rkey: string; list: AppBskyGraphDefs.ListView}) {
const {data: preferences} = usePreferencesQuery()
const {mutate: setSavedFeeds} = useSetSaveFeedsMutation()
const {track} = useAnalytics()
+ const playHaptic = useHaptics()
const deleteListPromptControl = useDialogControl()
const subscribeMutePromptControl = useDialogControl()
@@ -263,7 +265,7 @@ function Header({rkey, list}: {rkey: string; list: AppBskyGraphDefs.ListView}) {
const isSaved = preferences?.feeds?.saved?.includes(list.uri)
const onTogglePinned = React.useCallback(async () => {
- Haptics.default()
+ playHaptic()
try {
if (isPinned) {
@@ -275,7 +277,7 @@ function Header({rkey, list}: {rkey: string; list: AppBskyGraphDefs.ListView}) {
Toast.show(_(msg`There was an issue contacting the server`))
logger.error('Failed to toggle pinned feed', {message: e})
}
- }, [list.uri, isPinned, pinFeed, unpinFeed, _])
+ }, [playHaptic, isPinned, unpinFeed, list.uri, pinFeed, _])
const onSubscribeMute = useCallback(async () => {
try {
diff --git a/src/view/screens/SavedFeeds.tsx b/src/view/screens/SavedFeeds.tsx
index 251c706384..0003dbd5d9 100644
--- a/src/view/screens/SavedFeeds.tsx
+++ b/src/view/screens/SavedFeeds.tsx
@@ -1,31 +1,32 @@
import React from 'react'
-import {StyleSheet, View, ActivityIndicator, Pressable} from 'react-native'
+import {ActivityIndicator, Pressable, StyleSheet, View} from 'react-native'
+import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome'
+import {msg, Trans} from '@lingui/macro'
+import {useLingui} from '@lingui/react'
import {useFocusEffect} from '@react-navigation/native'
import {NativeStackScreenProps} from '@react-navigation/native-stack'
+
import {track} from '#/lib/analytics/analytics'
-import {useAnalytics} from 'lib/analytics/analytics'
-import {usePalette} from 'lib/hooks/usePalette'
-import {CommonNavigatorParams} from 'lib/routes/types'
-import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries'
-import {ViewHeader} from 'view/com/util/ViewHeader'
-import {ScrollView, CenteredView} from 'view/com/util/Views'
-import {Text} from 'view/com/util/text/Text'
-import {s, colors} from 'lib/styles'
-import {FeedSourceCard} from 'view/com/feeds/FeedSourceCard'
-import {FontAwesomeIcon} from '@fortawesome/react-native-fontawesome'
-import * as Toast from 'view/com/util/Toast'
-import {Haptics} from 'lib/haptics'
-import {TextLink} from 'view/com/util/Link'
import {logger} from '#/logger'
-import {useSetMinimalShellMode} from '#/state/shell'
-import {Trans, msg} from '@lingui/macro'
-import {useLingui} from '@lingui/react'
import {
- usePreferencesQuery,
usePinFeedMutation,
- useUnpinFeedMutation,
+ usePreferencesQuery,
useSetSaveFeedsMutation,
+ useUnpinFeedMutation,
} from '#/state/queries/preferences'
+import {useSetMinimalShellMode} from '#/state/shell'
+import {useAnalytics} from 'lib/analytics/analytics'
+import {useHaptics} from 'lib/haptics'
+import {usePalette} from 'lib/hooks/usePalette'
+import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries'
+import {CommonNavigatorParams} from 'lib/routes/types'
+import {colors, s} from 'lib/styles'
+import {FeedSourceCard} from 'view/com/feeds/FeedSourceCard'
+import {TextLink} from 'view/com/util/Link'
+import {Text} from 'view/com/util/text/Text'
+import * as Toast from 'view/com/util/Toast'
+import {ViewHeader} from 'view/com/util/ViewHeader'
+import {CenteredView, ScrollView} from 'view/com/util/Views'
const HITSLOP_TOP = {
top: 20,
@@ -189,13 +190,14 @@ function ListItem({
}) {
const pal = usePalette('default')
const {_} = useLingui()
+ const playHaptic = useHaptics()
const {isPending: isPinPending, mutateAsync: pinFeed} = usePinFeedMutation()
const {isPending: isUnpinPending, mutateAsync: unpinFeed} =
useUnpinFeedMutation()
const isPending = isPinPending || isUnpinPending
const onTogglePinned = React.useCallback(async () => {
- Haptics.default()
+ playHaptic()
try {
resetSaveFeedsMutationState()
@@ -209,7 +211,15 @@ function ListItem({
Toast.show(_(msg`There was an issue contacting the server`))
logger.error('Failed to toggle pinned feed', {message: e})
}
- }, [feedUri, isPinned, pinFeed, unpinFeed, resetSaveFeedsMutationState, _])
+ }, [
+ playHaptic,
+ resetSaveFeedsMutationState,
+ isPinned,
+ unpinFeed,
+ feedUri,
+ pinFeed,
+ _,
+ ])
const onPressUp = React.useCallback(async () => {
if (!isPinned) return
diff --git a/src/view/screens/Search/Search.tsx b/src/view/screens/Search/Search.tsx
index d39f37ed78..f5ebd155c8 100644
--- a/src/view/screens/Search/Search.tsx
+++ b/src/view/screens/Search/Search.tsx
@@ -1,59 +1,64 @@
import React from 'react'
import {
- View,
- StyleSheet,
ActivityIndicator,
- TextInput,
- Pressable,
Platform,
+ Pressable,
+ StyleSheet,
+ TextInput,
+ View,
} from 'react-native'
-import {ScrollView, CenteredView} from '#/view/com/util/Views'
-import {List} from '#/view/com/util/List'
import {AppBskyActorDefs, AppBskyFeedDefs, moderateProfile} from '@atproto/api'
-import {msg, Trans} from '@lingui/macro'
-import {useLingui} from '@lingui/react'
import {
FontAwesomeIcon,
FontAwesomeIconStyle,
} from '@fortawesome/react-native-fontawesome'
+import {msg, Trans} from '@lingui/macro'
+import {useLingui} from '@lingui/react'
+import AsyncStorage from '@react-native-async-storage/async-storage'
import {useFocusEffect, useNavigation} from '@react-navigation/native'
+import {useAnalytics} from '#/lib/analytics/analytics'
+import {HITSLOP_10} from '#/lib/constants'
+import {usePalette} from '#/lib/hooks/usePalette'
+import {MagnifyingGlassIcon} from '#/lib/icons'
+import {NavigationProp} from '#/lib/routes/types'
+import {useGate} from '#/lib/statsig/statsig'
+import {augmentSearchQuery} from '#/lib/strings/helpers'
+import {s} from '#/lib/styles'
import {logger} from '#/logger'
+import {isNative, isWeb} from '#/platform/detection'
+import {listenSoftReset} from '#/state/events'
+import {useActorAutocompleteFn} from '#/state/queries/actor-autocomplete'
+import {useActorSearch} from '#/state/queries/actor-search'
+import {useModerationOpts} from '#/state/queries/preferences'
+import {useSearchPostsQuery} from '#/state/queries/search-posts'
+import {
+ useGetSuggestedFollowersByActor,
+ useSuggestedFollowsQuery,
+} from '#/state/queries/suggested-follows'
+import {useSession} from '#/state/session'
+import {useSetDrawerOpen} from '#/state/shell'
+import {useSetDrawerSwipeDisabled, useSetMinimalShellMode} from '#/state/shell'
+import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries'
import {
NativeStackScreenProps,
SearchTabNavigatorParams,
} from 'lib/routes/types'
-import {Text} from '#/view/com/util/text/Text'
-import {ProfileCardFeedLoadingPlaceholder} from 'view/com/util/LoadingPlaceholder'
-import {ProfileCardWithFollowBtn} from '#/view/com/profile/ProfileCard'
-import {Post} from '#/view/com/post/Post'
+import {useTheme} from 'lib/ThemeContext'
import {Pager} from '#/view/com/pager/Pager'
import {TabBar} from '#/view/com/pager/TabBar'
-import {HITSLOP_10} from '#/lib/constants'
-import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries'
-import {usePalette} from '#/lib/hooks/usePalette'
-import {useTheme} from 'lib/ThemeContext'
-import {useSession} from '#/state/session'
-import {useGetSuggestedFollowersByActor} from '#/state/queries/suggested-follows'
-import {useSearchPostsQuery} from '#/state/queries/search-posts'
-import {useActorSearch} from '#/state/queries/actor-search'
-import {useActorAutocompleteFn} from '#/state/queries/actor-autocomplete'
-import {useSetDrawerOpen} from '#/state/shell'
-import {useAnalytics} from '#/lib/analytics/analytics'
-import {MagnifyingGlassIcon} from '#/lib/icons'
-import {useModerationOpts} from '#/state/queries/preferences'
+import {Post} from '#/view/com/post/Post'
+import {ProfileCardWithFollowBtn} from '#/view/com/profile/ProfileCard'
+import {List} from '#/view/com/util/List'
+import {Text} from '#/view/com/util/text/Text'
+import {CenteredView, ScrollView} from '#/view/com/util/Views'
import {
MATCH_HANDLE,
SearchLinkCard,
SearchProfileCard,
} from '#/view/shell/desktop/Search'
-import {useSetMinimalShellMode, useSetDrawerSwipeDisabled} from '#/state/shell'
-import {isNative, isWeb} from '#/platform/detection'
-import {listenSoftReset} from '#/state/events'
-import {s} from '#/lib/styles'
-import AsyncStorage from '@react-native-async-storage/async-storage'
-import {augmentSearchQuery} from '#/lib/strings/helpers'
-import {NavigationProp} from '#/lib/routes/types'
+import {ProfileCardFeedLoadingPlaceholder} from 'view/com/util/LoadingPlaceholder'
+import {atoms as a} from '#/alf'
function Loader() {
const pal = usePalette('default')
@@ -116,8 +121,10 @@ function EmptyState({message, error}: {message: string; error?: string}) {
)
}
-function SearchScreenSuggestedFollows() {
- const pal = usePalette('default')
+function useSuggestedFollowsV1(): [
+ AppBskyActorDefs.ProfileViewBasic[],
+ () => void,
+] {
const {currentAccount} = useSession()
const [suggestions, setSuggestions] = React.useState<
AppBskyActorDefs.ProfileViewBasic[]
@@ -160,6 +167,56 @@ function SearchScreenSuggestedFollows() {
}
}, [currentAccount, setSuggestions, getSuggestedFollowsByActor])
+ return [suggestions, () => {}]
+}
+
+function useSuggestedFollowsV2(): [
+ AppBskyActorDefs.ProfileViewBasic[],
+ () => void,
+] {
+ const {
+ data: suggestions,
+ hasNextPage,
+ isFetchingNextPage,
+ isError,
+ fetchNextPage,
+ } = useSuggestedFollowsQuery()
+
+ const onEndReached = React.useCallback(async () => {
+ if (isFetchingNextPage || !hasNextPage || isError) return
+ try {
+ await fetchNextPage()
+ } catch (err) {
+ logger.error('Failed to load more suggested follows', {message: err})
+ }
+ }, [isFetchingNextPage, hasNextPage, isError, fetchNextPage])
+
+ const items: AppBskyActorDefs.ProfileViewBasic[] = []
+ if (suggestions) {
+ // Currently the responses contain duplicate items.
+ // Needs to be fixed on backend, but let's dedupe to be safe.
+ let seen = new Set()
+ for (const page of suggestions.pages) {
+ for (const actor of page.actors) {
+ if (!seen.has(actor.did)) {
+ seen.add(actor.did)
+ items.push(actor)
+ }
+ }
+ }
+ }
+ return [items, onEndReached]
+}
+
+function SearchScreenSuggestedFollows() {
+ const pal = usePalette('default')
+ const useSuggestedFollows = useGate('use_new_suggestions_endpoint')
+ ? // Conditional hook call here is *only* OK because useGate()
+ // result won't change until a remount.
+ useSuggestedFollowsV2
+ : useSuggestedFollowsV1
+ const [suggestions, onEndReached] = useSuggestedFollows()
+
return suggestions.length ? (
item.did}
// @ts-ignore web only -prf
desktopFixedHeight
- contentContainerStyle={{paddingBottom: 1200}}
+ contentContainerStyle={{paddingBottom: 200}}
keyboardShouldPersistTaps="handled"
keyboardDismissMode="on-drag"
+ onEndReached={onEndReached}
+ onEndReachedThreshold={2}
/>
) : (
@@ -190,7 +249,15 @@ type SearchResultSlice =
key: string
}
-function SearchScreenPostResults({query}: {query: string}) {
+function SearchScreenPostResults({
+ query,
+ sort,
+ active,
+}: {
+ query: string
+ sort?: 'top' | 'latest'
+ active: boolean
+}) {
const {_} = useLingui()
const {currentAccount} = useSession()
const [isPTR, setIsPTR] = React.useState(false)
@@ -208,7 +275,7 @@ function SearchScreenPostResults({query}: {query: string}) {
fetchNextPage,
isFetchingNextPage,
hasNextPage,
- } = useSearchPostsQuery({query: augmentedQuery})
+ } = useSearchPostsQuery({query: augmentedQuery, sort, enabled: active})
const onPullToRefresh = React.useCallback(async () => {
setIsPTR(true)
@@ -289,9 +356,19 @@ function SearchScreenPostResults({query}: {query: string}) {
)
}
-function SearchScreenUserResults({query}: {query: string}) {
+function SearchScreenUserResults({
+ query,
+ active,
+}: {
+ query: string
+ active: boolean
+}) {
const {_} = useLingui()
- const {data: results, isFetched} = useActorSearch(query)
+
+ const {data: results, isFetched} = useActorSearch({
+ query,
+ enabled: active,
+ })
return isFetched && results ? (
<>
@@ -315,8 +392,6 @@ function SearchScreenUserResults({query}: {query: string}) {
)
}
-const SECTIONS_LOGGEDOUT = ['Users']
-const SECTIONS_LOGGEDIN = ['Posts', 'Users']
export function SearchScreenInner({
query,
primarySearch,
@@ -329,15 +404,91 @@ export function SearchScreenInner({
const setDrawerSwipeDisabled = useSetDrawerSwipeDisabled()
const {hasSession} = useSession()
const {isDesktop} = useWebMediaQueries()
+ const [activeTab, setActiveTab] = React.useState(0)
+ const {_} = useLingui()
+
+ const isNewSearch = useGate('new_search')
const onPageSelected = React.useCallback(
(index: number) => {
setMinimalShellMode(false)
setDrawerSwipeDisabled(index > 0)
+ setActiveTab(index)
},
[setDrawerSwipeDisabled, setMinimalShellMode],
)
+ const sections = React.useMemo(() => {
+ if (!query) return []
+ if (isNewSearch) {
+ if (hasSession) {
+ return [
+ {
+ title: _(msg`Top`),
+ component: (
+
+ ),
+ },
+ {
+ title: _(msg`Latest`),
+ component: (
+
+ ),
+ },
+ {
+ title: _(msg`People`),
+ component: (
+
+ ),
+ },
+ ]
+ } else {
+ return [
+ {
+ title: _(msg`People`),
+ component: (
+
+ ),
+ },
+ ]
+ }
+ } else {
+ if (hasSession) {
+ return [
+ {
+ title: _(msg`Posts`),
+ component: (
+
+ ),
+ },
+ {
+ title: _(msg`Users`),
+ component: (
+
+ ),
+ },
+ ]
+ } else {
+ return [
+ {
+ title: _(msg`Users`),
+ component: (
+
+ ),
+ },
+ ]
+ }
+ }
+ }, [hasSession, isNewSearch, _, query, activeTab])
+
if (hasSession) {
return query ? (
-
+ section.title)} {...props} />
)}
initialPage={0}>
-
-
-
-
-
-
+ {sections.map((section, i) => (
+ {section.component}
+ ))}
) : (
@@ -388,13 +536,13 @@ export function SearchScreenInner({
-
+ section.title)} {...props} />
)}
initialPage={0}>
-
-
-
+ {sections.map((section, i) => (
+ {section.component}
+ ))}
) : (
@@ -776,16 +924,24 @@ export function SearchScreen(
Recent Searches
{searchHistory.map((historyItem, index) => (
-
+
handleHistoryItemClick(historyItem)}
- style={styles.historyItem}>
+ style={[a.flex_1, a.py_sm]}>
{historyItem}
handleRemoveHistoryItem(historyItem)}>
+ onPress={() => handleRemoveHistoryItem(historyItem)}
+ style={[a.px_md, a.py_xs, a.justify_center]}>
This feature is in beta. You can read more about repository
exports in{' '}
-
this blogpost
-
+
.
@@ -92,7 +92,9 @@ export function ExportCarDialog({
size={gtMobile ? 'small' : 'large'}
onPress={() => control.close()}
label={_(msg`Done`)}>
- {_(msg`Done`)}
+
+ Done
+
diff --git a/src/view/screens/Settings/index.tsx b/src/view/screens/Settings/index.tsx
index 7e808f9100..b97faafad1 100644
--- a/src/view/screens/Settings/index.tsx
+++ b/src/view/screens/Settings/index.tsx
@@ -3,72 +3,76 @@ import {
ActivityIndicator,
Linking,
Platform,
- StyleSheet,
Pressable,
+ StyleSheet,
TextStyle,
TouchableOpacity,
View,
ViewStyle,
} from 'react-native'
-import {useFocusEffect, useNavigation} from '@react-navigation/native'
+import {setStringAsync} from 'expo-clipboard'
import {
FontAwesomeIcon,
FontAwesomeIconStyle,
} from '@fortawesome/react-native-fontawesome'
-import {NativeStackScreenProps, CommonNavigatorParams} from 'lib/routes/types'
-import * as AppInfo from 'lib/app-info'
-import {usePalette} from 'lib/hooks/usePalette'
-import {useCustomPalette} from 'lib/hooks/useCustomPalette'
-import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries'
-import {useAccountSwitcher} from 'lib/hooks/useAccountSwitcher'
-import {useAnalytics} from 'lib/analytics/analytics'
-import {NavigationProp} from 'lib/routes/types'
-import {HandIcon, HashtagIcon} from 'lib/icons'
-import Clipboard from '@react-native-clipboard/clipboard'
-import {makeProfileLink} from 'lib/routes/links'
-import {RQKEY as RQKEY_PROFILE} from '#/state/queries/profile'
+import {msg, Trans} from '@lingui/macro'
+import {useLingui} from '@lingui/react'
+import {useFocusEffect, useNavigation} from '@react-navigation/native'
+import {useQueryClient} from '@tanstack/react-query'
+
+import {isIOS, isNative} from '#/platform/detection'
import {useModalControls} from '#/state/modals'
-import {
- useSetMinimalShellMode,
- useThemePrefs,
- useSetThemePrefs,
- useOnboardingDispatch,
-} from '#/state/shell'
+import {clearLegacyStorage} from '#/state/persisted/legacy'
+import {clear as clearStorage} from '#/state/persisted/store'
import {
useRequireAltTextEnabled,
useSetRequireAltTextEnabled,
} from '#/state/preferences'
-import {useSession, useSessionApi, SessionAccount} from '#/state/session'
-import {useProfileQuery} from '#/state/queries/profile'
-import {useClearPreferencesMutation} from '#/state/queries/preferences'
-// TODO import {useInviteCodesQuery} from '#/state/queries/invites'
-import {clear as clearStorage} from '#/state/persisted/store'
-import {clearLegacyStorage} from '#/state/persisted/legacy'
-import {STATUS_PAGE_URL} from 'lib/constants'
-import {Trans, msg} from '@lingui/macro'
-import {useLingui} from '@lingui/react'
-import {useQueryClient} from '@tanstack/react-query'
-import {useLoggedOutViewControls} from '#/state/shell/logged-out'
-import {useCloseAllActiveElements} from '#/state/util'
import {
useInAppBrowser,
useSetInAppBrowser,
} from '#/state/preferences/in-app-browser'
-import {isNative} from '#/platform/detection'
-import {useDialogControl} from '#/components/Dialog'
-
-import {s, colors} from 'lib/styles'
-import {ScrollView} from 'view/com/util/Views'
+import {useClearPreferencesMutation} from '#/state/queries/preferences'
+import {RQKEY as RQKEY_PROFILE} from '#/state/queries/profile'
+import {useProfileQuery} from '#/state/queries/profile'
+import {SessionAccount, useSession, useSessionApi} from '#/state/session'
+import {
+ useOnboardingDispatch,
+ useSetMinimalShellMode,
+ useSetThemePrefs,
+ useThemePrefs,
+} from '#/state/shell'
+import {useLoggedOutViewControls} from '#/state/shell/logged-out'
+import {useCloseAllActiveElements} from '#/state/util'
+import {useAnalytics} from 'lib/analytics/analytics'
+import * as AppInfo from 'lib/app-info'
+import {STATUS_PAGE_URL} from 'lib/constants'
+import {useAccountSwitcher} from 'lib/hooks/useAccountSwitcher'
+import {useCustomPalette} from 'lib/hooks/useCustomPalette'
+import {usePalette} from 'lib/hooks/usePalette'
+import {useWebMediaQueries} from 'lib/hooks/useWebMediaQueries'
+import {HandIcon, HashtagIcon} from 'lib/icons'
+import {makeProfileLink} from 'lib/routes/links'
+import {CommonNavigatorParams, NativeStackScreenProps} from 'lib/routes/types'
+import {NavigationProp} from 'lib/routes/types'
+import {colors, s} from 'lib/styles'
+import {
+ useHapticsDisabled,
+ useSetHapticsDisabled,
+} from 'state/preferences/disable-haptics'
+import {AccountDropdownBtn} from 'view/com/util/AccountDropdownBtn'
+import {SelectableBtn} from 'view/com/util/forms/SelectableBtn'
+import {ToggleButton} from 'view/com/util/forms/ToggleButton'
import {Link, TextLink} from 'view/com/util/Link'
+import {SimpleViewHeader} from 'view/com/util/SimpleViewHeader'
import {Text} from 'view/com/util/text/Text'
import * as Toast from 'view/com/util/Toast'
import {UserAvatar} from 'view/com/util/UserAvatar'
-import {ToggleButton} from 'view/com/util/forms/ToggleButton'
-import {SelectableBtn} from 'view/com/util/forms/SelectableBtn'
-import {AccountDropdownBtn} from 'view/com/util/AccountDropdownBtn'
-import {SimpleViewHeader} from 'view/com/util/SimpleViewHeader'
-import {ExportCarDialog} from './ExportCarDialog'
+import {ScrollView} from 'view/com/util/Views'
+import {useDialogControl} from '#/components/Dialog'
import {BirthDateSettingsDialog} from '#/components/dialogs/BirthDateSettings'
+import {navigate, resetToTab} from '#/Navigation'
+import {ExportCarDialog} from './ExportCarDialog'
function SettingsAccountCard({account}: {account: SessionAccount}) {
const pal = usePalette('default')
@@ -100,7 +104,16 @@ function SettingsAccountCard({account}: {account: SessionAccount}) {
{isCurrentAccount ? (
{
+ if (isNative) {
+ logout('Settings')
+ resetToTab('HomeTab')
+ } else {
+ navigate('Home').then(() => {
+ logout('Settings')
+ })
+ }
+ }}
accessibilityRole="button"
accessibilityLabel={_(msg`Sign out`)}
accessibilityHint={`Signs ${profile?.displayName} out of Bluesky`}>
@@ -129,7 +142,9 @@ function SettingsAccountCard({account}: {account: SessionAccount}) {
testID={`switchToAccountBtn-${account.handle}`}
key={account.did}
onPress={
- isSwitchingAccounts ? undefined : () => onPressSwitchAccount(account)
+ isSwitchingAccounts
+ ? undefined
+ : () => onPressSwitchAccount(account, 'Settings')
}
accessibilityRole="button"
accessibilityLabel={_(msg`Switch to ${account.handle}`)}
@@ -151,6 +166,8 @@ export function SettingsScreen({}: Props) {
const setRequireAltTextEnabled = useSetRequireAltTextEnabled()
const inAppBrowserPref = useInAppBrowser()
const setUseInAppBrowser = useSetInAppBrowser()
+ const isHapticsDisabled = useHapticsDisabled()
+ const setHapticsDisabled = useSetHapticsDisabled()
const onboardingDispatch = useOnboardingDispatch()
const navigation = useNavigation()
const {isMobile} = useWebMediaQueries()
@@ -158,9 +175,6 @@ export function SettingsScreen({}: Props) {
const {openModal} = useModalControls()
const {isSwitchingAccounts, accounts, currentAccount} = useSession()
const {mutate: clearPreferences} = useClearPreferencesMutation()
- // TODO
- // const {data: invites} = useInviteCodesQuery()
- // const invitesAvailable = invites?.available?.length ?? 0
const {setShowLoggedOut} = useLoggedOutViewControls()
const closeAllActiveElements = useCloseAllActiveElements()
const exportCarControl = useDialogControl()
@@ -216,13 +230,6 @@ export function SettingsScreen({}: Props) {
exportCarControl.open()
}, [exportCarControl])
- /* TODO
- const onPressInviteCodes = React.useCallback(() => {
- track('Settings:InvitecodesButtonClicked')
- openModal({name: 'invite-codes'})
- }, [track, openModal])
- */
-
const onPressLanguageSettings = React.useCallback(() => {
navigation.navigate('LanguageSettings')
}, [navigation])
@@ -241,7 +248,7 @@ export function SettingsScreen({}: Props) {
}, [onboardingDispatch, _])
const onPressBuildInfo = React.useCallback(() => {
- Clipboard.setString(
+ setStringAsync(
`Build version: ${AppInfo.appVersion}; Platform: ${Platform.OS}`,
)
Toast.show(_(msg`Copied build version to clipboard`))
@@ -410,58 +417,6 @@ export function SettingsScreen({}: Props) {
- {/* TODO (
- <>
-
- Invite a Friend
-
-
-
- 0 ? primaryBg : pal.btn,
- ]}>
- 0
- ? primaryText
- : pal.text) as FontAwesomeIconStyle
- }
- />
-
- 0 ? pal.link : pal.text}>
- {invites?.disabled ? (
-
- Your invite codes are hidden when logged in using an App
- Password
-
- ) : invitesAvailable === 1 ? (
- {invitesAvailable} invite code available
- ) : (
- {invitesAvailable} invite codes available
- )}
-
-
-
-
- >
- )*/}
-
Accessibility
@@ -734,6 +689,19 @@ export function SettingsScreen({}: Props) {
/>
)}
+ {isNative && (
+
+ setHapticsDisabled(!isHapticsDisabled)}
+ />
+
+ )}
Account
@@ -886,9 +854,7 @@ export function SettingsScreen({}: Props) {
accessibilityRole="button"
onPress={onPressBuildInfo}>
-
- Build version {AppInfo.appVersion} {AppInfo.updateChannel}
-
+ Version {AppInfo.appVersion}
diff --git a/src/view/screens/Storybook/Buttons.tsx b/src/view/screens/Storybook/Buttons.tsx
index ad2fff3f4a..cae8ec3144 100644
--- a/src/view/screens/Storybook/Buttons.tsx
+++ b/src/view/screens/Storybook/Buttons.tsx
@@ -4,15 +4,15 @@ import {View} from 'react-native'
import {atoms as a} from '#/alf'
import {
Button,
- ButtonVariant,
ButtonColor,
ButtonIcon,
ButtonText,
+ ButtonVariant,
} from '#/components/Button'
-import {H1} from '#/components/Typography'
import {ArrowTopRight_Stroke2_Corner0_Rounded as ArrowTopRight} from '#/components/icons/ArrowTopRight'
import {ChevronLeft_Stroke2_Corner0_Rounded as ChevronLeft} from '#/components/icons/Chevron'
import {Globe_Stroke2_Corner0_Rounded as Globe} from '#/components/icons/Globe'
+import {H1} from '#/components/Typography'
export function Buttons() {
return (
@@ -29,7 +29,7 @@ export function Buttons() {
color={color as ButtonColor}
size="large"
label="Click here">
- Button
+ Button
- Button
+ Button
))}
@@ -54,7 +54,7 @@ export function Buttons() {
color={name as ButtonColor}
size="large"
label="Click here">
- Button
+ Button
- Button
+ Button
),
@@ -77,7 +77,7 @@ export function Buttons() {
color={name as ButtonColor}
size="large"
label="Click here">
- Button
+ Button
- Button
+ Button
),
diff --git a/src/view/screens/Storybook/Dialogs.tsx b/src/view/screens/Storybook/Dialogs.tsx
index c2eaf19acf..f68f9f4ddf 100644
--- a/src/view/screens/Storybook/Dialogs.tsx
+++ b/src/view/screens/Storybook/Dialogs.tsx
@@ -1,17 +1,18 @@
import React from 'react'
import {View} from 'react-native'
+import {useDialogStateControlContext} from '#/state/dialogs'
import {atoms as a} from '#/alf'
-import {Button} from '#/components/Button'
-import {H3, P} from '#/components/Typography'
+import {Button, ButtonText} from '#/components/Button'
import * as Dialog from '#/components/Dialog'
import * as Prompt from '#/components/Prompt'
-import {useDialogStateControlContext} from '#/state/dialogs'
+import {H3, P, Text} from '#/components/Typography'
export function Dialogs() {
const scrollable = Dialog.useDialogControl()
const basic = Dialog.useDialogControl()
const prompt = Prompt.usePromptControl()
+ const testDialog = Dialog.useDialogControl()
const {closeAllDialogs} = useDialogStateControlContext()
return (
@@ -26,7 +27,7 @@ export function Dialogs() {
basic.open()
}}
label="Open basic dialog">
- Open all dialogs
+ Open all dialogs
- Open scrollable dialog
+ Open scrollable dialog
- Open basic dialog
+ Open basic dialog
prompt.open()}
label="Open prompt">
- Open prompt
+ Open prompt
+
+
+
+ Open Tester
- This is a prompt
-
+ This is a prompt
+
This is a generic prompt component. It accepts a title and a
description, as well as two actions.
-
+
- Cancel
- {}}>Confirm
+
+ {}} />
@@ -102,7 +112,7 @@ export function Dialogs() {
size="small"
onPress={closeAllDialogs}
label="Close all dialogs">
- Close all dialogs
+ Close all dialogs
@@ -116,12 +126,137 @@ export function Dialogs() {
})
}
label="Open basic dialog">
- Close dialog
+ Close dialog
+
+
+
+
+
+
+
+ Watch the console logs to test each of these dialog edge cases.
+ Functionality should be consistent across both native and web. If
+ not then *sad face* something is wrong.
+
+
+ {
+ testDialog.close(() => {
+ console.log('close callback')
+ })
+ }}
+ label="Close It">
+ Normal Use (Should just log)
+
+
+ {
+ testDialog.close(() => {
+ console.log('close callback')
+ })
+
+ setTimeout(() => {
+ testDialog.open()
+ }, 100)
+ }}
+ label="Close It">
+
+ Calls `.open()` in 100ms (Should log when the animation switches
+ to open)
+
+
+
+ {
+ setTimeout(() => {
+ testDialog.open()
+ }, 2e3)
+
+ testDialog.close(() => {
+ console.log('close callback')
+ })
+ }}
+ label="Close It">
+
+ Calls `.open()` in 2000ms (Should log after close animation and
+ not log on open)
+
+
+
+ {
+ testDialog.close(() => {
+ console.log('close callback')
+ })
+ setTimeout(() => {
+ testDialog.close(() => {
+ console.log('close callback after 100ms')
+ })
+ }, 100)
+ }}
+ label="Close It">
+
+ Calls `.close()` then again in 100ms (should log twice)
+
+
+
+ {
+ testDialog.close(() => {
+ console.log('close callback')
+ })
+ testDialog.close(() => {
+ console.log('close callback 2')
+ })
+ }}
+ label="Close It">
+
+ Call `close()` twice immediately (should just log twice)
+
+
+
+ {
+ console.log('Step 1')
+ testDialog.close(() => {
+ console.log('Step 3')
+ })
+ console.log('Step 2')
+ }}
+ label="Close It">
+
+ Log before `close()`, after `close()` and in the `close()`
+ callback. Should be an order of 1 2 3
+
+
+
+
+
)
}
diff --git a/src/view/screens/Storybook/Forms.tsx b/src/view/screens/Storybook/Forms.tsx
index 2d5495d706..1e4efdcc7d 100644
--- a/src/view/screens/Storybook/Forms.tsx
+++ b/src/view/screens/Storybook/Forms.tsx
@@ -2,13 +2,13 @@ import React from 'react'
import {View} from 'react-native'
import {atoms as a} from '#/alf'
-import {H1, H3} from '#/components/Typography'
+import {Button, ButtonText} from '#/components/Button'
+import {DateField, LabelText} from '#/components/forms/DateField'
import * as TextField from '#/components/forms/TextField'
-import {DateField, Label} from '#/components/forms/DateField'
import * as Toggle from '#/components/forms/Toggle'
import * as ToggleButton from '#/components/forms/ToggleButton'
-import {Button} from '#/components/Button'
import {Globe_Stroke2_Corner0_Rounded as Globe} from '#/components/icons/Globe'
+import {H1, H3} from '#/components/Typography'
export function Forms() {
const [toggleGroupAValues, setToggleGroupAValues] = React.useState(['a'])
@@ -42,7 +42,7 @@ export function Forms() {
- Text field
+ Text field
- @gmail.com
+
+ @gmail.com
+
- Textarea
+ Textarea
DateField
- Date
+ Date
- Uncontrolled toggle
+ Uncontrolled toggle
- Click me
+ Click me
- Click me
+ Click me
- Click me
+ Click me
- Click me
+ Click me
- Click me
+ Click me
@@ -128,23 +130,23 @@ export function Forms() {
- Click me
+ Click me
- Click me
+ Click me
- Click me
+ Click me
- Click me
+ Click me
- Click me
+ Click me
@@ -157,23 +159,23 @@ export function Forms() {
- Click me
+ Click me
- Click me
+ Click me
- Click me
+ Click me
- Click me
+ Click me
- Click me
+ Click me
@@ -189,7 +191,7 @@ export function Forms() {
setToggleGroupBValues(['a', 'b'])
setToggleGroupCValues(['a'])
}}>
- Reset all toggles
+ Reset all toggles
@@ -200,13 +202,13 @@ export function Forms() {
values={toggleGroupDValues}
onChange={setToggleGroupDValues}>
- Hide
+ Hide
- Warn
+ Warn
- Show
+ Show
@@ -216,13 +218,13 @@ export function Forms() {
values={toggleGroupDValues}
onChange={setToggleGroupDValues}>
- Hide
+ Hide
- Warn
+ Warn
- Show
+ Show
diff --git a/src/view/screens/Storybook/Links.tsx b/src/view/screens/Storybook/Links.tsx
index f9ecfba554..d35db79bc4 100644
--- a/src/view/screens/Storybook/Links.tsx
+++ b/src/view/screens/Storybook/Links.tsx
@@ -1,9 +1,9 @@
import React from 'react'
import {View} from 'react-native'
-import {useTheme, atoms as a} from '#/alf'
+import {atoms as a, useTheme} from '#/alf'
import {ButtonText} from '#/components/Button'
-import {InlineLink, Link} from '#/components/Link'
+import {InlineLinkText, Link} from '#/components/Link'
import {H1, Text} from '#/components/Typography'
export function Links() {
@@ -13,20 +13,22 @@ export function Links() {
Links
-
+
https://google.com
-
-
+
+
External with custom children (google.com)
-
-
+
Internal (bsky.social)
-
-
+
+
Internal (bsky.app)
-
+
setColorMode('system')}>
- System
+ System
setColorMode('light')}>
- Light
+ Light
- Dim
+ Dim
- Dark
+ Dark
diff --git a/src/view/shell/Drawer.tsx b/src/view/shell/Drawer.tsx
index 1bf5647f66..3972797b76 100644
--- a/src/view/shell/Drawer.tsx
+++ b/src/view/shell/Drawer.tsx
@@ -9,49 +9,49 @@ import {
View,
ViewStyle,
} from 'react-native'
-import {useNavigation, StackActions} from '@react-navigation/native'
import {
FontAwesomeIcon,
FontAwesomeIconStyle,
} from '@fortawesome/react-native-fontawesome'
-import {s, colors} from 'lib/styles'
+import {msg, Trans} from '@lingui/macro'
+import {useLingui} from '@lingui/react'
+import {StackActions, useNavigation} from '@react-navigation/native'
+
+import {emitSoftReset} from '#/state/events'
+import {useUnreadNotifications} from '#/state/queries/notifications/unread'
+import {useProfileQuery} from '#/state/queries/profile'
+import {SessionAccount, useSession} from '#/state/session'
+import {useSetDrawerOpen} from '#/state/shell'
+import {useAnalytics} from 'lib/analytics/analytics'
import {FEEDBACK_FORM_URL, HELP_DESK_URL} from 'lib/constants'
+import {useNavigationTabState} from 'lib/hooks/useNavigationTabState'
+import {usePalette} from 'lib/hooks/usePalette'
import {
- HomeIcon,
- HomeIconSolid,
BellIcon,
BellIconSolid,
- UserIcon,
CogIcon,
+ HandIcon,
+ HashtagIcon,
+ HomeIcon,
+ HomeIconSolid,
+ ListIcon,
MagnifyingGlassIcon2,
MagnifyingGlassIcon2Solid,
+ UserIcon,
UserIconSolid,
- HashtagIcon,
- ListIcon,
- HandIcon,
} from 'lib/icons'
-import {UserAvatar} from 'view/com/util/UserAvatar'
-import {Text} from 'view/com/util/text/Text'
-import {useTheme} from 'lib/ThemeContext'
-import {usePalette} from 'lib/hooks/usePalette'
-import {useAnalytics} from 'lib/analytics/analytics'
-import {pluralize} from 'lib/strings/helpers'
import {getTabState, TabState} from 'lib/routes/helpers'
import {NavigationProp} from 'lib/routes/types'
-import {useNavigationTabState} from 'lib/hooks/useNavigationTabState'
+import {pluralize} from 'lib/strings/helpers'
+import {colors, s} from 'lib/styles'
+import {useTheme} from 'lib/ThemeContext'
import {isWeb} from 'platform/detection'
-import {formatCountShortOnly} from 'view/com/util/numeric/format'
-import {Trans, msg} from '@lingui/macro'
-import {useLingui} from '@lingui/react'
-import {useSetDrawerOpen} from '#/state/shell'
-import {useSession, SessionAccount} from '#/state/session'
-import {useProfileQuery} from '#/state/queries/profile'
-import {useUnreadNotifications} from '#/state/queries/notifications/unread'
-import {emitSoftReset} from '#/state/events'
import {NavSignupCard} from '#/view/shell/NavSignupCard'
-import {TextLink} from '../com/util/Link'
-
+import {formatCountShortOnly} from 'view/com/util/numeric/format'
+import {Text} from 'view/com/util/text/Text'
+import {UserAvatar} from 'view/com/util/UserAvatar'
import {useTheme as useAlfTheme} from '#/alf'
+import {TextLink} from '../com/util/Link'
let DrawerProfileCard = ({
account,
@@ -224,7 +224,9 @@ let DrawerContent = ({}: {}): React.ReactNode => {
/>
) : (
-
+
+
+
)}
{hasSession ? (
@@ -246,7 +248,11 @@ let DrawerContent = ({}: {}): React.ReactNode => {
>
) : (
-
+ <>
+
+
+
+ >
)}
diff --git a/src/view/shell/NavSignupCard.tsx b/src/view/shell/NavSignupCard.tsx
index 83d1414984..12bfa7ea05 100644
--- a/src/view/shell/NavSignupCard.tsx
+++ b/src/view/shell/NavSignupCard.tsx
@@ -3,13 +3,16 @@ import {View} from 'react-native'
import {msg, Trans} from '@lingui/macro'
import {useLingui} from '@lingui/react'
-import {s} from 'lib/styles'
-import {usePalette} from 'lib/hooks/usePalette'
-import {Text} from '#/view/com/util/text/Text'
-import {Button} from '#/view/com/util/forms/Button'
import {useLoggedOutViewControls} from '#/state/shell/logged-out'
import {useCloseAllActiveElements} from '#/state/util'
+import {usePalette} from 'lib/hooks/usePalette'
+import {s} from 'lib/styles'
+import {Button} from '#/view/com/util/forms/Button'
+import {Text} from '#/view/com/util/text/Text'
import {Logo} from '#/view/icons/Logo'
+import {atoms as a} from '#/alf'
+import {AppLanguageDropdown} from '#/components/AppLanguageDropdown'
+import {Link} from '#/components/Link'
let NavSignupCard = ({}: {}): React.ReactNode => {
const {_} = useLingui()
@@ -35,7 +38,9 @@ let NavSignupCard = ({}: {}): React.ReactNode => {
paddingTop: 6,
marginBottom: 24,
}}>
-
+
+
+
@@ -43,7 +48,13 @@ let NavSignupCard = ({}: {}): React.ReactNode => {
-
+
{
+
+
+
+
)
}
diff --git a/src/view/shell/bottom-bar/BottomBar.tsx b/src/view/shell/bottom-bar/BottomBar.tsx
index 8a19a0b4fe..4caff6c4d9 100644
--- a/src/view/shell/bottom-bar/BottomBar.tsx
+++ b/src/view/shell/bottom-bar/BottomBar.tsx
@@ -1,47 +1,49 @@
import React, {ComponentProps} from 'react'
import {GestureResponderEvent, TouchableOpacity, View} from 'react-native'
import Animated from 'react-native-reanimated'
-import {StackActions} from '@react-navigation/native'
-import {BottomTabBarProps} from '@react-navigation/bottom-tabs'
import {useSafeAreaInsets} from 'react-native-safe-area-context'
-import {Text} from 'view/com/util/text/Text'
-import {useAnalytics} from 'lib/analytics/analytics'
-import {clamp} from 'lib/numbers'
+import {msg, Trans} from '@lingui/macro'
+import {useLingui} from '@lingui/react'
+import {BottomTabBarProps} from '@react-navigation/bottom-tabs'
+import {StackActions} from '@react-navigation/native'
+
+import {useAnalytics} from '#/lib/analytics/analytics'
+import {useHaptics} from '#/lib/haptics'
+import {useDedupe} from '#/lib/hooks/useDedupe'
+import {useMinimalShellMode} from '#/lib/hooks/useMinimalShellMode'
+import {useNavigationTabState} from '#/lib/hooks/useNavigationTabState'
+import {usePalette} from '#/lib/hooks/usePalette'
import {
+ BellIcon,
+ BellIconSolid,
+ HashtagIcon,
HomeIcon,
HomeIconSolid,
MagnifyingGlassIcon2,
MagnifyingGlassIcon2Solid,
- HashtagIcon,
- BellIcon,
- BellIconSolid,
-} from 'lib/icons'
-import {usePalette} from 'lib/hooks/usePalette'
-import {getTabState, TabState} from 'lib/routes/helpers'
-import {styles} from './BottomBarStyles'
-import {useMinimalShellMode} from 'lib/hooks/useMinimalShellMode'
-import {useNavigationTabState} from 'lib/hooks/useNavigationTabState'
-import {UserAvatar} from 'view/com/util/UserAvatar'
-import {useLingui} from '@lingui/react'
-import {msg, Trans} from '@lingui/macro'
-import {useModalControls} from '#/state/modals'
-import {useShellLayout} from '#/state/shell/shell-layout'
-import {useUnreadNotifications} from '#/state/queries/notifications/unread'
+} from '#/lib/icons'
+import {clamp} from '#/lib/numbers'
+import {getTabState, TabState} from '#/lib/routes/helpers'
+import {s} from '#/lib/styles'
import {emitSoftReset} from '#/state/events'
-import {useSession} from '#/state/session'
+import {useUnreadNotifications} from '#/state/queries/notifications/unread'
import {useProfileQuery} from '#/state/queries/profile'
+import {useSession} from '#/state/session'
import {useLoggedOutViewControls} from '#/state/shell/logged-out'
+import {useShellLayout} from '#/state/shell/shell-layout'
import {useCloseAllActiveElements} from '#/state/util'
import {Button} from '#/view/com/util/forms/Button'
-import {s} from 'lib/styles'
+import {Text} from '#/view/com/util/text/Text'
+import {UserAvatar} from '#/view/com/util/UserAvatar'
import {Logo} from '#/view/icons/Logo'
import {Logotype} from '#/view/icons/Logotype'
-import {useDedupe} from 'lib/hooks/useDedupe'
+import {useDialogControl} from '#/components/Dialog'
+import {SwitchAccountDialog} from '#/components/dialogs/SwitchAccount'
+import {styles} from './BottomBarStyles'
type TabOptions = 'Home' | 'Search' | 'Notifications' | 'MyProfile' | 'Feeds'
export function BottomBar({navigation}: BottomTabBarProps) {
- const {openModal} = useModalControls()
const {hasSession, currentAccount} = useSession()
const pal = usePalette('default')
const {_} = useLingui()
@@ -56,6 +58,8 @@ export function BottomBar({navigation}: BottomTabBarProps) {
const {requestSwitchToAccount} = useLoggedOutViewControls()
const closeAllActiveElements = useCloseAllActiveElements()
const dedupe = useDedupe()
+ const accountSwitchControl = useDialogControl()
+ const playHaptic = useHaptics()
const showSignIn = React.useCallback(() => {
closeAllActiveElements()
@@ -99,204 +103,213 @@ export function BottomBar({navigation}: BottomTabBarProps) {
const onPressProfile = React.useCallback(() => {
onPressTab('MyProfile')
}, [onPressTab])
+
const onLongPressProfile = React.useCallback(() => {
- openModal({name: 'switch-account'})
- }, [openModal])
+ playHaptic()
+ accountSwitchControl.open()
+ }, [accountSwitchControl, playHaptic])
return (
- {
- footerHeight.value = e.nativeEvent.layout.height
- }}>
- {hasSession ? (
- <>
-
- ) : (
-
- )
- }
- onPress={onPressHome}
- accessibilityRole="tab"
- accessibilityLabel={_(msg`Home`)}
- accessibilityHint=""
- />
-
- ) : (
-
- )
- }
- onPress={onPressSearch}
- accessibilityRole="search"
- accessibilityLabel={_(msg`Search`)}
- accessibilityHint=""
- />
-
- ) : (
-
- )
- }
- onPress={onPressFeeds}
- accessibilityRole="tab"
- accessibilityLabel={_(msg`Feeds`)}
- accessibilityHint=""
- />
-
- ) : (
-
- )
- }
- onPress={onPressNotifications}
- notificationCount={numUnreadNotifications}
- accessible={true}
- accessibilityRole="tab"
- accessibilityLabel={_(msg`Notifications`)}
- accessibilityHint={
- numUnreadNotifications === ''
- ? ''
- : `${numUnreadNotifications} unread`
- }
- />
-
- {isAtMyProfile ? (
-
-
-
+ <>
+
+
+ {
+ footerHeight.value = e.nativeEvent.layout.height
+ }}>
+ {hasSession ? (
+ <>
+
) : (
-
-
-
- )}
+
+ )
+ }
+ onPress={onPressHome}
+ accessibilityRole="tab"
+ accessibilityLabel={_(msg`Home`)}
+ accessibilityHint=""
+ />
+
+ ) : (
+
+ )
+ }
+ onPress={onPressSearch}
+ accessibilityRole="search"
+ accessibilityLabel={_(msg`Search`)}
+ accessibilityHint=""
+ />
+
+ ) : (
+
+ )
+ }
+ onPress={onPressFeeds}
+ accessibilityRole="tab"
+ accessibilityLabel={_(msg`Feeds`)}
+ accessibilityHint=""
+ />
+
+ ) : (
+
+ )
+ }
+ onPress={onPressNotifications}
+ notificationCount={numUnreadNotifications}
+ accessible={true}
+ accessibilityRole="tab"
+ accessibilityLabel={_(msg`Notifications`)}
+ accessibilityHint={
+ numUnreadNotifications === ''
+ ? ''
+ : `${numUnreadNotifications} unread`
+ }
+ />
+
+ {isAtMyProfile ? (
+
+
+
+ ) : (
+
+
+
+ )}
+
+ }
+ onPress={onPressProfile}
+ onLongPress={onLongPressProfile}
+ accessibilityRole="tab"
+ accessibilityLabel={_(msg`Profile`)}
+ accessibilityHint=""
+ />
+ >
+ ) : (
+ <>
+
+
+
+
+
+
- }
- onPress={onPressProfile}
- onLongPress={onLongPressProfile}
- accessibilityRole="tab"
- accessibilityLabel={_(msg`Profile`)}
- accessibilityHint=""
- />
- >
- ) : (
- <>
-
-
-
-
-
+
+
+
+
+ Sign up
+
+
+
+
+
+ Sign in
+
+
-
-
-
-
- Sign up
-
-
-
-
-
- Sign in
-
-
-
-
- >
- )}
-
+ >
+ )}
+
+ >
)
}
@@ -335,12 +348,12 @@ function Btn({
accessible={accessible}
accessibilityLabel={accessibilityLabel}
accessibilityHint={accessibilityHint}>
+ {icon}
{notificationCount ? (
{notificationCount}
) : undefined}
- {icon}
)
}
diff --git a/src/view/shell/index.tsx b/src/view/shell/index.tsx
index f29183095a..562abc56cb 100644
--- a/src/view/shell/index.tsx
+++ b/src/view/shell/index.tsx
@@ -1,37 +1,40 @@
import React from 'react'
-import {StatusBar} from 'expo-status-bar'
import {
+ BackHandler,
DimensionValue,
StyleSheet,
useWindowDimensions,
View,
- BackHandler,
} from 'react-native'
-import {useSafeAreaInsets} from 'react-native-safe-area-context'
import {Drawer} from 'react-native-drawer-layout'
+import Animated from 'react-native-reanimated'
+import {useSafeAreaInsets} from 'react-native-safe-area-context'
+import * as NavigationBar from 'expo-navigation-bar'
+import {StatusBar} from 'expo-status-bar'
import {useNavigationState} from '@react-navigation/native'
-import {ModalsContainer} from 'view/com/modals/Modal'
-import {Lightbox} from 'view/com/lightbox/Lightbox'
-import {ErrorBoundary} from 'view/com/util/ErrorBoundary'
-import {DrawerContent} from './Drawer'
-import {Composer} from './Composer'
-import {useTheme} from 'lib/ThemeContext'
-import {usePalette} from 'lib/hooks/usePalette'
-import {RoutesContainer, TabsNavigator} from '../../Navigation'
-import {isStateAtTabRoot} from 'lib/routes/helpers'
+
+import {useSession} from '#/state/session'
import {
useIsDrawerOpen,
- useSetDrawerOpen,
useIsDrawerSwipeDisabled,
+ useSetDrawerOpen,
} from '#/state/shell'
-import {isAndroid} from 'platform/detection'
-import {useSession} from '#/state/session'
import {useCloseAnyActiveElement} from '#/state/util'
+import {usePalette} from 'lib/hooks/usePalette'
import * as notifications from 'lib/notifications/notifications'
-import {Outlet as PortalOutlet} from '#/components/Portal'
-import {MutedWordsDialog} from '#/components/dialogs/MutedWords'
+import {isStateAtTabRoot} from 'lib/routes/helpers'
+import {useTheme} from 'lib/ThemeContext'
+import {isAndroid} from 'platform/detection'
import {useDialogStateContext} from 'state/dialogs'
-import Animated from 'react-native-reanimated'
+import {Lightbox} from 'view/com/lightbox/Lightbox'
+import {ModalsContainer} from 'view/com/modals/Modal'
+import {ErrorBoundary} from 'view/com/util/ErrorBoundary'
+import {MutedWordsDialog} from '#/components/dialogs/MutedWords'
+import {SigninDialog} from '#/components/dialogs/Signin'
+import {Outlet as PortalOutlet} from '#/components/Portal'
+import {RoutesContainer, TabsNavigator} from '../../Navigation'
+import {Composer} from './Composer'
+import {DrawerContent} from './Drawer'
function ShellInner() {
const isDrawerOpen = useIsDrawerOpen()
@@ -101,6 +104,7 @@ function ShellInner() {
+
>
@@ -110,6 +114,15 @@ function ShellInner() {
export const Shell: React.FC = function ShellImpl() {
const pal = usePalette('default')
const theme = useTheme()
+ React.useEffect(() => {
+ if (isAndroid) {
+ NavigationBar.setBackgroundColorAsync(theme.palette.default.background)
+ NavigationBar.setBorderColorAsync(theme.palette.default.background)
+ NavigationBar.setButtonStyleAsync(
+ theme.colorScheme === 'dark' ? 'light' : 'dark',
+ )
+ }
+ }, [theme])
return (
diff --git a/src/view/shell/index.web.tsx b/src/view/shell/index.web.tsx
index 02993ac462..9dab23671f 100644
--- a/src/view/shell/index.web.tsx
+++ b/src/view/shell/index.web.tsx
@@ -1,24 +1,25 @@
import React, {useEffect} from 'react'
-import {View, StyleSheet, TouchableOpacity} from 'react-native'
-import {useNavigation} from '@react-navigation/native'
+import {StyleSheet, TouchableWithoutFeedback, View} from 'react-native'
import {msg} from '@lingui/macro'
import {useLingui} from '@lingui/react'
+import {useNavigation} from '@react-navigation/native'
-import {ErrorBoundary} from '../com/util/ErrorBoundary'
-import {Lightbox} from '../com/lightbox/Lightbox'
-import {ModalsContainer} from '../com/modals/Modal'
-import {Composer} from './Composer.web'
-import {useColorSchemeStyle} from 'lib/hooks/useColorSchemeStyle'
-import {s, colors} from 'lib/styles'
-import {RoutesContainer, FlatNavigator} from '../../Navigation'
-import {DrawerContent} from './Drawer'
-import {useWebMediaQueries} from '../../lib/hooks/useWebMediaQueries'
-import {NavigationProp} from 'lib/routes/types'
+import {useWebBodyScrollLock} from '#/lib/hooks/useWebBodyScrollLock'
import {useIsDrawerOpen, useSetDrawerOpen} from '#/state/shell'
import {useCloseAllActiveElements} from '#/state/util'
-import {useWebBodyScrollLock} from '#/lib/hooks/useWebBodyScrollLock'
-import {Outlet as PortalOutlet} from '#/components/Portal'
+import {useColorSchemeStyle} from 'lib/hooks/useColorSchemeStyle'
+import {NavigationProp} from 'lib/routes/types'
+import {colors, s} from 'lib/styles'
import {MutedWordsDialog} from '#/components/dialogs/MutedWords'
+import {SigninDialog} from '#/components/dialogs/Signin'
+import {Outlet as PortalOutlet} from '#/components/Portal'
+import {useWebMediaQueries} from '../../lib/hooks/useWebMediaQueries'
+import {FlatNavigator, RoutesContainer} from '../../Navigation'
+import {Lightbox} from '../com/lightbox/Lightbox'
+import {ModalsContainer} from '../com/modals/Modal'
+import {ErrorBoundary} from '../com/util/ErrorBoundary'
+import {Composer} from './Composer.web'
+import {DrawerContent} from './Drawer'
function ShellInner() {
const isDrawerOpen = useIsDrawerOpen()
@@ -45,19 +46,26 @@ function ShellInner() {
+
{!isDesktop && isDrawerOpen && (
- setDrawerOpen(false)}
- style={styles.drawerMask}
+ {
+ // Only close if press happens outside of the drawer
+ if (ev.target === ev.currentTarget) {
+ setDrawerOpen(false)
+ }
+ }}
accessibilityLabel={_(msg`Close navigation footer`)}
accessibilityHint={_(msg`Closes bottom navigation bar`)}>
-
-
+
+
+
+
-
+
)}
>
)
diff --git a/web/index.html b/web/index.html
index 7df097f224..b059e69e90 100644
--- a/web/index.html
+++ b/web/index.html
@@ -224,6 +224,31 @@
.nativeDropdown-item:focus {
outline: none;
}
+
+ /* Spinner component */
+ @keyframes rotate {
+ 0% {
+ transform: rotate(0deg);
+ }
+ 100% {
+ transform: rotate(360deg);
+ }
+ }
+ .rotate-500ms {
+ position: absolute;
+ inset:0;
+ animation: rotate 500ms linear infinite;
+ }
+
+ @keyframes avatarHoverFadeIn {
+ from { opacity: 0; }
+ to { opacity: 1; }
+ }
+
+ @keyframes avatarHoverFadeOut {
+ from { opacity: 1; }
+ to { opacity: 0; }
+ }
diff --git a/webpack.config.js b/webpack.config.js
index 7515db8e94..6f1de3b8b7 100644
--- a/webpack.config.js
+++ b/webpack.config.js
@@ -1,6 +1,10 @@
const createExpoWebpackConfigAsync = require('@expo/webpack-config')
const {withAlias} = require('@expo/webpack-config/addons')
const ReactRefreshWebpackPlugin = require('@pmmmwh/react-refresh-webpack-plugin')
+const {BundleAnalyzerPlugin} = require('webpack-bundle-analyzer')
+
+const GENERATE_STATS = process.env.EXPO_PUBLIC_GENERATE_STATS === '1'
+const OPEN_ANALYZER = process.env.EXPO_PUBLIC_OPEN_ANALYZER === '1'
const reactNativeWebWebviewConfiguration = {
test: /postMock.html$/,
@@ -16,7 +20,6 @@ module.exports = async function (env, argv) {
let config = await createExpoWebpackConfigAsync(env, argv)
config = withAlias(config, {
'react-native$': 'react-native-web',
- 'react-native-linear-gradient': 'react-native-web-linear-gradient',
'react-native-webview': 'react-native-web-webview',
})
config.module.rules = [
@@ -26,5 +29,17 @@ module.exports = async function (env, argv) {
if (env.mode === 'development') {
config.plugins.push(new ReactRefreshWebpackPlugin())
}
+
+ if (GENERATE_STATS || OPEN_ANALYZER) {
+ config.plugins.push(
+ new BundleAnalyzerPlugin({
+ openAnalyzer: OPEN_ANALYZER,
+ generateStatsFile: true,
+ statsFilename: '../stats.json',
+ analyzerMode: OPEN_ANALYZER ? 'server' : 'json',
+ defaultSizes: 'parsed',
+ }),
+ )
+ }
return config
}
diff --git a/yarn.lock b/yarn.lock
index ce2cfccb71..3440755750 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -46,28 +46,14 @@
multiformats "^9.9.0"
tlds "^1.234.0"
-"@atproto/api@^0.9.5":
- version "0.9.5"
- resolved "https://registry.yarnpkg.com/@atproto/api/-/api-0.9.5.tgz#630e5d9520bba38d0cd348c8028ddbb73bd074f8"
- integrity sha512-4vlwTbiWSkCV0DkfNMawiH+26Fv7txPr4x0vwq6KPIBz28UHPK9UyPseLKxi6/Aok74aPr8ySJ4+nfcmwcp08Q==
+"@atproto/aws@^0.2.0":
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/@atproto/aws/-/aws-0.2.0.tgz#17f3faf744824457cabd62f87be8bf08cacf8029"
+ integrity sha512-F09SHiC9CX3ydfrvYZbkpfES48UGCQNnznNVgJ3QyKSN8ON+BoWmGCpAFtn3AWeEoU0w9h0hypNvUm5nORv+5g==
dependencies:
- "@atproto/common-web" "^0.2.3"
- "@atproto/lexicon" "^0.3.1"
- "@atproto/syntax" "^0.1.5"
- "@atproto/xrpc" "^0.4.1"
- multiformats "^9.9.0"
- tlds "^1.234.0"
- typed-emitter "^2.1.0"
- zod "^3.21.4"
-
-"@atproto/aws@^0.1.6":
- version "0.1.6"
- resolved "https://registry.yarnpkg.com/@atproto/aws/-/aws-0.1.6.tgz#c6ecbfd92b325f3c5433688534d47f43358b415b"
- integrity sha512-ZWfETjv9ku/5gxs3SVVW1sbGsQMmdnwmjp3RCxXFhMgNkbNL2l7xb17nRQ1VibsFLBWpp0+MeFTZYlSEzAYfCw==
- dependencies:
- "@atproto/common" "^0.3.3"
- "@atproto/crypto" "^0.3.0"
- "@atproto/repo" "^0.3.6"
+ "@atproto/common" "^0.4.0"
+ "@atproto/crypto" "^0.4.0"
+ "@atproto/repo" "^0.4.0"
"@aws-sdk/client-cloudfront" "^3.261.0"
"@aws-sdk/client-kms" "^3.196.0"
"@aws-sdk/client-s3" "^3.224.0"
@@ -77,71 +63,58 @@
multiformats "^9.9.0"
uint8arrays "3.0.0"
-"@atproto/bsky@^0.0.28":
- version "0.0.28"
- resolved "https://registry.yarnpkg.com/@atproto/bsky/-/bsky-0.0.28.tgz#d9516f682883ceba60f52e3944d93dbd81375a7e"
- integrity sha512-Sq5/UWyxtIf/7UCPIHTcvE1ZUgWm+kYMkQVYRkMnNK5nN1G3/nY8Sm21qcVO/jxItOyua64XFoRss1zJf8G+Bw==
+"@atproto/bsky@^0.0.44":
+ version "0.0.44"
+ resolved "https://registry.yarnpkg.com/@atproto/bsky/-/bsky-0.0.44.tgz#990d6061d557cdf891d43656543ebb611f57bd82"
+ integrity sha512-SVOnvdUlDf9sKI1Tto+IY1tVS4/9VRoTTiI08ezvK9sew9sQVUVurwYI5E3EtAbEi3ukBPZ9+Cuoh3Me65iyjQ==
dependencies:
- "@atproto/api" "^0.9.5"
- "@atproto/common" "^0.3.3"
- "@atproto/crypto" "^0.3.0"
- "@atproto/identity" "^0.3.2"
- "@atproto/lexicon" "^0.3.1"
- "@atproto/repo" "^0.3.6"
- "@atproto/syntax" "^0.1.5"
- "@atproto/xrpc-server" "^0.4.2"
+ "@atproto/api" "^0.12.2"
+ "@atproto/common" "^0.4.0"
+ "@atproto/crypto" "^0.4.0"
+ "@atproto/identity" "^0.4.0"
+ "@atproto/lexicon" "^0.4.0"
+ "@atproto/repo" "^0.4.0"
+ "@atproto/syntax" "^0.3.0"
+ "@atproto/xrpc-server" "^0.5.1"
"@bufbuild/protobuf" "^1.5.0"
"@connectrpc/connect" "^1.1.4"
+ "@connectrpc/connect-express" "^1.1.4"
"@connectrpc/connect-node" "^1.1.4"
"@did-plc/lib" "^0.0.1"
- "@isaacs/ttlcache" "^1.4.1"
compression "^1.7.4"
cors "^2.8.5"
express "^4.17.2"
- express-async-errors "^3.1.1"
- form-data "^4.0.0"
http-errors "^2.0.0"
http-terminator "^3.2.0"
ioredis "^5.3.2"
+ jose "^5.0.1"
kysely "^0.22.0"
multiformats "^9.9.0"
- murmurhash "^2.0.1"
p-queue "^6.6.2"
pg "^8.10.0"
pino "^8.15.0"
pino-http "^8.2.1"
sharp "^0.32.6"
+ structured-headers "^1.0.1"
typed-emitter "^2.1.0"
uint8arrays "3.0.0"
-"@atproto/bsync@^0.0.0":
- version "0.0.0"
- resolved "https://registry.yarnpkg.com/@atproto/bsync/-/bsync-0.0.0.tgz#b08160ee8aca7d9fd9d8dc34a4719227b518df9d"
- integrity sha512-gv0dOnKGPhB0xyqLJhu3U3osZAPXLnaZQTRzwZlC5tm/Yc+c8myv2E3nIF+3Ojekh/cbg9SC8qRae4pEL0WHYg==
+"@atproto/bsync@^0.0.3":
+ version "0.0.3"
+ resolved "https://registry.yarnpkg.com/@atproto/bsync/-/bsync-0.0.3.tgz#2b0b8ef3686cf177846a80088317f2e89d1bf88f"
+ integrity sha512-tJRwNgXzfNV57lzgWPvjtb1OMlMJH9SpsMeYhIii16zcaFUWwsb474BicKpkGRT+iCvtYzBT6gWlZE2Ijnhf7w==
dependencies:
- "@atproto/common" "^0.3.3"
- "@atproto/syntax" "^0.1.5"
+ "@atproto/common" "^0.4.0"
+ "@atproto/syntax" "^0.3.0"
"@bufbuild/protobuf" "^1.5.0"
"@connectrpc/connect" "^1.1.4"
- "@connectrpc/connect-express" "^1.1.4"
"@connectrpc/connect-node" "^1.1.4"
http-terminator "^3.2.0"
kysely "^0.22.0"
pg "^8.10.0"
- pino "^8.15.0"
pino-http "^8.2.1"
typed-emitter "^2.1.0"
-"@atproto/common-web@^0.2.3":
- version "0.2.3"
- resolved "https://registry.yarnpkg.com/@atproto/common-web/-/common-web-0.2.3.tgz#c44c1e177ae8309d5116347d49850209e8e478cc"
- integrity sha512-k9VKGYUqjsRlI3wS31XyCbeb2U7ddS4X/eFgzos2CE5rIbk/uQGyKH+0Jcn1JIwRkvI1BemyNuUVrS8Ok3wiuw==
- dependencies:
- graphemer "^1.4.0"
- multiformats "^9.9.0"
- uint8arrays "3.0.0"
- zod "^3.21.4"
-
"@atproto/common-web@^0.3.0":
version "0.3.0"
resolved "https://registry.yarnpkg.com/@atproto/common-web/-/common-web-0.3.0.tgz#36da8c2c31d8cf8a140c3c8f03223319bf4430bb"
@@ -172,18 +145,17 @@
pino "^8.6.1"
zod "^3.14.2"
-"@atproto/common@^0.3.3":
- version "0.3.3"
- resolved "https://registry.yarnpkg.com/@atproto/common/-/common-0.3.3.tgz#bc0059929e528032a55aa32fd180c6e992959dd6"
- integrity sha512-ETYsHpQoytW3yJ1BoMDCZh3tdokV3HbZ2ThXq+EWbMxbGNsRDREgJK3JXJMHapf8PrnZZpE2VdWM9NHvlcmnQg==
+"@atproto/common@^0.4.0":
+ version "0.4.0"
+ resolved "https://registry.yarnpkg.com/@atproto/common/-/common-0.4.0.tgz#d77696c7eb545426df727837d9ee333b429fe7ef"
+ integrity sha512-yOXuPlCjT/OK9j+neIGYn9wkxx/AlxQSucysAF0xgwu0Ji8jAtKBf9Jv6R5ObYAjAD/kVUvEYumle+Yq/R9/7g==
dependencies:
- "@atproto/common-web" "^0.2.3"
+ "@atproto/common-web" "^0.3.0"
"@ipld/dag-cbor" "^7.0.3"
cbor-x "^1.5.1"
iso-datestring-validator "^2.2.2"
multiformats "^9.9.0"
pino "^8.15.0"
- zod "3.21.4"
"@atproto/crypto@0.1.0":
version "0.1.0"
@@ -196,63 +168,49 @@
one-webcrypto "^1.0.3"
uint8arrays "3.0.0"
-"@atproto/crypto@^0.3.0":
- version "0.3.0"
- resolved "https://registry.yarnpkg.com/@atproto/crypto/-/crypto-0.3.0.tgz#a79e05a85129810755f3456e9d419b49824407d7"
- integrity sha512-bhcxRTL4fgRY2YX/St0x4o0oDUp18QIPD7ek+7v8UKA0HpsCGQYbo8w9d9hUvwwty5X5p00cYF2tbggUWaPy7A==
+"@atproto/crypto@^0.4.0":
+ version "0.4.0"
+ resolved "https://registry.yarnpkg.com/@atproto/crypto/-/crypto-0.4.0.tgz#dcdd6bf5ba98261ae0ff3b96d7b8695c1ef788e6"
+ integrity sha512-Kj/4VgJ7hzzXvE42L0rjzP6lM0tai+OfPnP1rxJ+UZg/YUDtuewL4uapnVoWXvlNceKgaLZH98g5n9gXBVTe5Q==
dependencies:
"@noble/curves" "^1.1.0"
"@noble/hashes" "^1.3.1"
uint8arrays "3.0.0"
-"@atproto/dev-env@^0.2.28":
- version "0.2.28"
- resolved "https://registry.yarnpkg.com/@atproto/dev-env/-/dev-env-0.2.28.tgz#c7ed2f34af28fab7c02da85155f0e2dcd8ce447a"
- integrity sha512-RD6USl0m7usHl1MyuCf3dZPuaJFnlEfo3Eni5mRZQNTPgS1ItZcrjEYsd8djmA2RmndCOC2FMBNhemALN6uRMw==
+"@atproto/dev-env@^0.3.4":
+ version "0.3.4"
+ resolved "https://registry.yarnpkg.com/@atproto/dev-env/-/dev-env-0.3.4.tgz#153b7be8268b2dcfc8d0ba4abc5fd60ad7a6e241"
+ integrity sha512-ix33GBQ1hjesoieTQKx38VGxZWNKeXCnaMdalr0/SAFwaDPCqMOrvUTPCx8VWClgAd0qYMcBM98+0lBTohW1qQ==
dependencies:
- "@atproto/api" "^0.9.5"
- "@atproto/bsky" "^0.0.28"
- "@atproto/bsync" "^0.0.0"
- "@atproto/common-web" "^0.2.3"
- "@atproto/crypto" "^0.3.0"
- "@atproto/identity" "^0.3.2"
- "@atproto/lexicon" "^0.3.1"
- "@atproto/ozone" "^0.0.7"
- "@atproto/pds" "^0.3.16"
- "@atproto/syntax" "^0.1.5"
- "@atproto/xrpc-server" "^0.4.2"
+ "@atproto/api" "^0.12.2"
+ "@atproto/bsky" "^0.0.44"
+ "@atproto/bsync" "^0.0.3"
+ "@atproto/common-web" "^0.3.0"
+ "@atproto/crypto" "^0.4.0"
+ "@atproto/identity" "^0.4.0"
+ "@atproto/lexicon" "^0.4.0"
+ "@atproto/ozone" "^0.1.6"
+ "@atproto/pds" "^0.4.13"
+ "@atproto/syntax" "^0.3.0"
+ "@atproto/xrpc-server" "^0.5.1"
"@did-plc/lib" "^0.0.1"
"@did-plc/server" "^0.0.1"
axios "^0.27.2"
- better-sqlite3 "^7.6.2"
- chalk "^5.0.1"
dotenv "^16.0.3"
express "^4.18.2"
- get-port "^6.1.2"
+ get-port "^5.1.1"
multiformats "^9.9.0"
- sharp "^0.32.6"
uint8arrays "3.0.0"
-"@atproto/identity@^0.3.2":
- version "0.3.2"
- resolved "https://registry.yarnpkg.com/@atproto/identity/-/identity-0.3.2.tgz#8a0536bc19ccbc45a04df84c3f30d86f58f964ee"
- integrity sha512-xZSyB3gHn/avwdAIV+mECvjjvMYXxPSvSgVBUsETMvMY72H9d84utDD58y5aAU/9mL+founaNZmniKDaR633CQ==
+"@atproto/identity@^0.4.0":
+ version "0.4.0"
+ resolved "https://registry.yarnpkg.com/@atproto/identity/-/identity-0.4.0.tgz#f8a4d450a20606d221c4ec05b856c0ce55f0a3a7"
+ integrity sha512-KKdVlqBgkFuTUx3KFiiQe0LuK9kopej1bhKm6SHRPEYbSEPFmRZQMY9TAjWJQrvQt8DpQzz6kVGjASFEjd3teQ==
dependencies:
- "@atproto/common-web" "^0.2.3"
- "@atproto/crypto" "^0.3.0"
+ "@atproto/common-web" "^0.3.0"
+ "@atproto/crypto" "^0.4.0"
axios "^0.27.2"
-"@atproto/lexicon@^0.3.1":
- version "0.3.1"
- resolved "https://registry.yarnpkg.com/@atproto/lexicon/-/lexicon-0.3.1.tgz#5d7275d041883a1c930404e3274a6fe7affc151f"
- integrity sha512-yLy6GUNP4pn0mGUIyUHvN0UeBza0S03AgjTXVR6KliC4ut2+7SjNMe4cI4G1M8/bJMaccC6ooQSm2kvwiOdr3A==
- dependencies:
- "@atproto/common-web" "^0.2.3"
- "@atproto/syntax" "^0.1.5"
- iso-datestring-validator "^2.2.2"
- multiformats "^9.9.0"
- zod "^3.21.4"
-
"@atproto/lexicon@^0.4.0":
version "0.4.0"
resolved "https://registry.yarnpkg.com/@atproto/lexicon/-/lexicon-0.4.0.tgz#63e8829945d80c25524882caa8ed27b1151cc576"
@@ -264,50 +222,50 @@
multiformats "^9.9.0"
zod "^3.21.4"
-"@atproto/ozone@^0.0.7":
- version "0.0.7"
- resolved "https://registry.yarnpkg.com/@atproto/ozone/-/ozone-0.0.7.tgz#bfad82bc1d0900e79401a82f13581f707415505a"
- integrity sha512-XffjEBoNV0uXimtrnGdn3PTy0BAMGLrIExa8XuIDH5ZKOUmYlyepWA0VG0IhNIWWXOSdDltw0mFi9D5ViXsBow==
+"@atproto/ozone@^0.1.6":
+ version "0.1.6"
+ resolved "https://registry.yarnpkg.com/@atproto/ozone/-/ozone-0.1.6.tgz#b54c68360af19bfe6914d74b58759df0729461de"
+ integrity sha512-uAXhXdO75vU/VVGGrsifZfaq6h7cMbEdS3bH8GCJfgwtxOlCU0elV2YM88GHBfVGJ0ghYKNki+Dhvpe8i+Fe1Q==
dependencies:
- "@atproto/api" "^0.9.5"
- "@atproto/common" "^0.3.3"
- "@atproto/crypto" "^0.3.0"
- "@atproto/identity" "^0.3.2"
- "@atproto/lexicon" "^0.3.1"
- "@atproto/syntax" "^0.1.5"
- "@atproto/xrpc-server" "^0.4.2"
+ "@atproto/api" "^0.12.2"
+ "@atproto/common" "^0.4.0"
+ "@atproto/crypto" "^0.4.0"
+ "@atproto/identity" "^0.4.0"
+ "@atproto/lexicon" "^0.4.0"
+ "@atproto/syntax" "^0.3.0"
+ "@atproto/xrpc" "^0.5.0"
+ "@atproto/xrpc-server" "^0.5.1"
"@did-plc/lib" "^0.0.1"
+ axios "^1.6.7"
compression "^1.7.4"
cors "^2.8.5"
express "^4.17.2"
- express-async-errors "^3.1.1"
http-terminator "^3.2.0"
kysely "^0.22.0"
multiformats "^9.9.0"
p-queue "^6.6.2"
pg "^8.10.0"
- pino "^8.15.0"
pino-http "^8.2.1"
typed-emitter "^2.1.0"
uint8arrays "3.0.0"
-"@atproto/pds@^0.3.16":
- version "0.3.16"
- resolved "https://registry.yarnpkg.com/@atproto/pds/-/pds-0.3.16.tgz#5eb740934c1dc4cafeb6c57c2b857777c7cdfc0d"
- integrity sha512-+DwRYn3FBiCd/Nu/F3+onoFdtL67zYcVDYIl1Aq6jOXNzMyzQW+Z4Y33OsKz5SMHJMuri4wef2iy63nCdSGxtw==
+"@atproto/pds@^0.4.13":
+ version "0.4.13"
+ resolved "https://registry.yarnpkg.com/@atproto/pds/-/pds-0.4.13.tgz#9235d2c748d142a06d78da143ff1ad7e150b2d97"
+ integrity sha512-86fmaSFBP1HML0U85bsYkd06oO6XFFA/+VpRMeABy7cUShvvlkVq8anxp301Qaf89t+AM/tvjICqQ2syW8bgfA==
dependencies:
- "@atproto/api" "^0.9.5"
- "@atproto/aws" "^0.1.6"
- "@atproto/common" "^0.3.3"
- "@atproto/crypto" "^0.3.0"
- "@atproto/identity" "^0.3.2"
- "@atproto/lexicon" "^0.3.1"
- "@atproto/repo" "^0.3.6"
- "@atproto/syntax" "^0.1.5"
- "@atproto/xrpc" "^0.4.1"
- "@atproto/xrpc-server" "^0.4.2"
+ "@atproto/api" "^0.12.2"
+ "@atproto/aws" "^0.2.0"
+ "@atproto/common" "^0.4.0"
+ "@atproto/crypto" "^0.4.0"
+ "@atproto/identity" "^0.4.0"
+ "@atproto/lexicon" "^0.4.0"
+ "@atproto/repo" "^0.4.0"
+ "@atproto/syntax" "^0.3.0"
+ "@atproto/xrpc" "^0.5.0"
+ "@atproto/xrpc-server" "^0.5.1"
"@did-plc/lib" "^0.0.4"
- better-sqlite3 "^7.6.2"
+ better-sqlite3 "^9.4.0"
bytes "^3.1.2"
compression "^1.7.4"
cors "^2.8.5"
@@ -315,9 +273,8 @@
express "^4.17.2"
express-async-errors "^3.1.1"
file-type "^16.5.4"
- form-data "^4.0.0"
+ glob "^10.3.10"
handlebars "^4.7.7"
- http-errors "^2.0.0"
http-terminator "^3.2.0"
ioredis "^5.3.2"
jose "^5.0.1"
@@ -327,7 +284,6 @@
nodemailer "^6.8.0"
nodemailer-html-to-text "^3.2.0"
p-queue "^6.6.2"
- pg "^8.10.0"
pino "^8.15.0"
pino-http "^8.2.1"
sharp "^0.32.6"
@@ -335,43 +291,34 @@
uint8arrays "3.0.0"
zod "^3.21.4"
-"@atproto/repo@^0.3.6":
- version "0.3.6"
- resolved "https://registry.yarnpkg.com/@atproto/repo/-/repo-0.3.6.tgz#1732a5fdc71899be819b32b9c63c03815af4a6ce"
- integrity sha512-coCYHl/0V3ucyJ2Rgx/l0MK37ui3doph7AsDn8UFxrDeZrecOgkKu66/Zo3PtdmaAQfUPDWdx4cifKeX7IRD5Q==
+"@atproto/repo@^0.4.0":
+ version "0.4.0"
+ resolved "https://registry.yarnpkg.com/@atproto/repo/-/repo-0.4.0.tgz#e5d3195a8e4233c9bf060737b18ddee905af2d9a"
+ integrity sha512-LB0DF/D8r8hB+qiGB0sWZuq7TSJYbWel+t572aCrLeCOmbRgnLkGPLUTOOUvLFYv8xz1BPZTbI8hy/vcUV79VA==
dependencies:
- "@atproto/common" "^0.3.3"
- "@atproto/common-web" "^0.2.3"
- "@atproto/crypto" "^0.3.0"
- "@atproto/identity" "^0.3.2"
- "@atproto/lexicon" "^0.3.1"
- "@atproto/syntax" "^0.1.5"
+ "@atproto/common" "^0.4.0"
+ "@atproto/common-web" "^0.3.0"
+ "@atproto/crypto" "^0.4.0"
+ "@atproto/lexicon" "^0.4.0"
"@ipld/car" "^3.2.3"
"@ipld/dag-cbor" "^7.0.0"
multiformats "^9.9.0"
uint8arrays "3.0.0"
zod "^3.21.4"
-"@atproto/syntax@^0.1.5":
- version "0.1.5"
- resolved "https://registry.yarnpkg.com/@atproto/syntax/-/syntax-0.1.5.tgz#85b6488a33da3b864e8ac22a61b5586b271206ee"
- integrity sha512-pbY5lOnThoAbsmrdbN9LC/dNmckfqODJiX9zjW2t3BIHYFeGBc6w9bK3Vre8A0Hg8yWkQpv6gaBLu+ykgi2DJQ==
- dependencies:
- "@atproto/common-web" "^0.2.3"
-
"@atproto/syntax@^0.3.0":
version "0.3.0"
resolved "https://registry.yarnpkg.com/@atproto/syntax/-/syntax-0.3.0.tgz#fafa2dbea9add37253005cb663e7373e05e618b3"
integrity sha512-Weq0ZBxffGHDXHl9U7BQc2BFJi/e23AL+k+i5+D9hUq/bzT4yjGsrCejkjq0xt82xXDjmhhvQSZ0LqxyZ5woxA==
-"@atproto/xrpc-server@^0.4.2":
- version "0.4.2"
- resolved "https://registry.yarnpkg.com/@atproto/xrpc-server/-/xrpc-server-0.4.2.tgz#23efd89086b85933f1b0cc00c86e895adcaac315"
- integrity sha512-/m8rmFQFqFJ7WaVskPx27DLPeQfRCeEBMCdNxtyJZXElQZJMgcX5382SxAqsI3fVaW3EVwcQp0VuTNFOKFgHVg==
+"@atproto/xrpc-server@^0.5.1":
+ version "0.5.1"
+ resolved "https://registry.yarnpkg.com/@atproto/xrpc-server/-/xrpc-server-0.5.1.tgz#f63c86ba60bd5b9c5a641ea57191ff83d9db41fd"
+ integrity sha512-SXU6dscVe5iYxPeV79QIFs/yEEu7LLOzyHGoHG1kSNO6DjwxXTdcWOc8GSYGV6H+7VycOoPZPkyD9q4teJlj/w==
dependencies:
- "@atproto/common" "^0.3.3"
- "@atproto/crypto" "^0.3.0"
- "@atproto/lexicon" "^0.3.1"
+ "@atproto/common" "^0.4.0"
+ "@atproto/crypto" "^0.4.0"
+ "@atproto/lexicon" "^0.4.0"
cbor-x "^1.5.1"
express "^4.17.2"
http-errors "^2.0.0"
@@ -381,14 +328,6 @@
ws "^8.12.0"
zod "^3.21.4"
-"@atproto/xrpc@^0.4.1":
- version "0.4.1"
- resolved "https://registry.yarnpkg.com/@atproto/xrpc/-/xrpc-0.4.1.tgz#2fb7e81a159b019339bbcdcf4e7ce8dc4e83bef0"
- integrity sha512-EMRGiu6oDvFL03Hk2rG/WCL3QK0GjZs9psH80JVf8z2nfdsGON6yn0hw3jvRB26CBXqi58U8Uicyq8Ej5pVTAA==
- dependencies:
- "@atproto/lexicon" "^0.3.1"
- zod "^3.21.4"
-
"@atproto/xrpc@^0.5.0":
version "0.5.0"
resolved "https://registry.yarnpkg.com/@atproto/xrpc/-/xrpc-0.5.0.tgz#dacbfd8f7b13f0ab5bd56f8fdd4b460e132a6032"
@@ -2814,7 +2753,14 @@
pino "^8.11.0"
pino-http "^8.3.3"
-"@discoveryjs/json-ext@^0.5.0":
+"@discord/bottom-sheet@https://github.com/bluesky-social/react-native-bottom-sheet.git#discord-fork-4.6.1":
+ version "4.6.1"
+ resolved "https://github.com/bluesky-social/react-native-bottom-sheet.git#54dc2e0e318b0524a2d2d8fb817f6c48101bb0b1"
+ dependencies:
+ "@gorhom/portal" "1.0.14"
+ invariant "^2.2.4"
+
+"@discoveryjs/json-ext@0.5.7", "@discoveryjs/json-ext@^0.5.0":
version "0.5.7"
resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70"
integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==
@@ -2988,26 +2934,25 @@
mv "~2"
safe-json-stringify "~1"
-"@expo/cli@0.16.7":
- version "0.16.7"
- resolved "https://registry.yarnpkg.com/@expo/cli/-/cli-0.16.7.tgz#61c623d8869973bed96e9876a0ec52f3578dd76e"
- integrity sha512-e2zeT2/hs2KyV/aXl/1z5kDSPgCbqPgb7S2+211a+6178eqUr6JNn6TTIFdLNe9Q7/aJaLPFgO5KJhOkg9QgJw==
+"@expo/cli@0.17.8":
+ version "0.17.8"
+ resolved "https://registry.yarnpkg.com/@expo/cli/-/cli-0.17.8.tgz#4abe0d8c604b73a6e1d0a10f34e993cbf1cbad42"
+ integrity sha512-yfkoghCltbGPDbRI71Qu3puInjXx4wO82+uhW82qbWLvosfIN7ep5Gr0Lq54liJpvlUG6M0IXM1GiGqcCyP12w==
dependencies:
"@babel/runtime" "^7.20.0"
"@expo/code-signing-certificates" "0.0.5"
"@expo/config" "~8.5.0"
"@expo/config-plugins" "~7.8.0"
"@expo/devcert" "^1.0.0"
- "@expo/env" "~0.2.0"
+ "@expo/env" "~0.2.2"
"@expo/image-utils" "^0.4.0"
"@expo/json-file" "^8.2.37"
"@expo/metro-config" "~0.17.0"
"@expo/osascript" "^2.0.31"
"@expo/package-manager" "^1.1.1"
"@expo/plist" "^0.1.0"
- "@expo/prebuild-config" "6.7.3"
+ "@expo/prebuild-config" "6.7.4"
"@expo/rudder-sdk-node" "1.1.1"
- "@expo/server" "^0.3.0"
"@expo/spawn-async" "1.5.0"
"@expo/xcpretty" "^4.3.0"
"@react-native/dev-middleware" "^0.73.6"
@@ -3046,6 +2991,7 @@
npm-package-arg "^7.0.0"
open "^8.3.0"
ora "3.4.0"
+ picomatch "^3.0.1"
pretty-bytes "5.6.0"
progress "2.0.3"
prompts "^2.3.2"
@@ -3058,6 +3004,8 @@
semver "^7.5.3"
send "^0.18.0"
slugify "^1.3.4"
+ source-map-support "~0.5.21"
+ stacktrace-parser "^0.1.10"
structured-headers "^0.4.1"
tar "^6.0.5"
temp-dir "^2.0.0"
@@ -3098,10 +3046,10 @@
xcode "^3.0.1"
xml2js "0.6.0"
-"@expo/config-plugins@7.8.3":
- version "7.8.3"
- resolved "https://registry.yarnpkg.com/@expo/config-plugins/-/config-plugins-7.8.3.tgz#f507d4b94ce11fad0bac8ba269ea95e7d1051b83"
- integrity sha512-ix0pNLZgR29mNI5pcNRjuEClvioVjWCNWDiAxgZd1BXEVn7d2bqztDKQj03KU88e0KM7zKt9AbmIqn5aANZ8pg==
+"@expo/config-plugins@7.8.4":
+ version "7.8.4"
+ resolved "https://registry.yarnpkg.com/@expo/config-plugins/-/config-plugins-7.8.4.tgz#533b5d536c1dc8b5544d64878b51bda28f2e1a1f"
+ integrity sha512-hv03HYxb/5kX8Gxv/BTI8TLc9L06WzqAfHRRXdbar4zkLcP2oTzvsLEF4/L/TIpD3rsnYa0KU42d0gWRxzPCJg==
dependencies:
"@expo/config-types" "^50.0.0-alpha.1"
"@expo/fingerprint" "^0.6.0"
@@ -3175,10 +3123,10 @@
resolved "https://registry.yarnpkg.com/@expo/config-types/-/config-types-50.0.0.tgz#b534d3ec997ec60f8af24f6ad56244c8afc71a0b"
integrity sha512-0kkhIwXRT6EdFDwn+zTg9R2MZIAEYGn1MVkyRohAd+C9cXOb5RA8WLQi7vuxKF9m1SMtNAUrf0pO+ENK0+/KSw==
-"@expo/config@8.5.3":
- version "8.5.3"
- resolved "https://registry.yarnpkg.com/@expo/config/-/config-8.5.3.tgz#e1ce353e658f6bfefc8a1888532672c0f9f48894"
- integrity sha512-wMX96aLo7AVl7voEkGXwEI2hPoMMHgxyq0CMC51I2jOnYHqB4HkG71YeXBPZR3zLnY33CNjVT+hF5CAPfiiliw==
+"@expo/config@8.5.4":
+ version "8.5.4"
+ resolved "https://registry.yarnpkg.com/@expo/config/-/config-8.5.4.tgz#bb5eb06caa36e4e35dc8c7647fae63e147b830ca"
+ integrity sha512-ggOLJPHGzJSJHVBC1LzwXwR6qUn8Mw7hkc5zEKRIdhFRuIQ6s2FE4eOvP87LrNfDF7eZGa6tJQYsiHSmZKG+8Q==
dependencies:
"@babel/code-frame" "~7.10.4"
"@expo/config-plugins" "~7.8.2"
@@ -3190,7 +3138,7 @@
resolve-from "^5.0.0"
semver "7.5.3"
slugify "^1.3.4"
- sucrase "^3.20.0"
+ sucrase "3.34.0"
"@expo/config@~7.0.0":
version "7.0.3"
@@ -3256,6 +3204,17 @@
dotenv-expand "~10.0.0"
getenv "^1.0.0"
+"@expo/env@~0.2.2":
+ version "0.2.2"
+ resolved "https://registry.yarnpkg.com/@expo/env/-/env-0.2.2.tgz#49f589f32e9bae279a6509d7a02218c0f4e32a60"
+ integrity sha512-m9nGuaSpzdvMzevQ1H60FWgf4PG5s4J0dfKUzdAGnDu7sMUerY/yUeDaA4+OBo3vBwGVQ+UHcQS9vPSMBNaPcg==
+ dependencies:
+ chalk "^4.0.0"
+ debug "^4.3.4"
+ dotenv "~16.0.3"
+ dotenv-expand "~10.0.0"
+ getenv "^1.0.0"
+
"@expo/fingerprint@^0.6.0":
version "0.6.0"
resolved "https://registry.yarnpkg.com/@expo/fingerprint/-/fingerprint-0.6.0.tgz#77366934673d4ecea37284109b4dd67f9e6a7487"
@@ -3335,7 +3294,33 @@
json5 "^2.2.2"
write-file-atomic "^2.3.0"
-"@expo/metro-config@0.17.1", "@expo/metro-config@~0.17.0":
+"@expo/metro-config@0.17.6":
+ version "0.17.6"
+ resolved "https://registry.yarnpkg.com/@expo/metro-config/-/metro-config-0.17.6.tgz#f1f4ef056aa357c1dba3841de465f5d319f17216"
+ integrity sha512-WaC1C+sLX/Wa7irwUigLhng3ckmXIEQefZczB8DfYmleV6uhfWWo2kz/HijFBpV7FKs2cW6u8J/aBQpFkxlcqg==
+ dependencies:
+ "@babel/core" "^7.20.0"
+ "@babel/generator" "^7.20.5"
+ "@babel/parser" "^7.20.0"
+ "@babel/types" "^7.20.0"
+ "@expo/config" "~8.5.0"
+ "@expo/env" "~0.2.2"
+ "@expo/json-file" "~8.3.0"
+ "@expo/spawn-async" "^1.7.2"
+ babel-preset-fbjs "^3.4.0"
+ chalk "^4.1.0"
+ debug "^4.3.2"
+ find-yarn-workspace-root "~2.0.0"
+ fs-extra "^9.1.0"
+ getenv "^1.0.0"
+ glob "^7.2.3"
+ jsc-safe-url "^0.2.4"
+ lightningcss "~1.19.0"
+ postcss "~8.4.32"
+ resolve-from "^5.0.0"
+ sucrase "3.34.0"
+
+"@expo/metro-config@~0.17.0":
version "0.17.1"
resolved "https://registry.yarnpkg.com/@expo/metro-config/-/metro-config-0.17.1.tgz#8e1cd7b9f63ea84cc18696807cf23560d010e5d8"
integrity sha512-ZOE0Jx0YTZyPpsGiiE09orGEFgZ5sMrOOFSgOe8zrns925g/uCuEbowyNq38IfQt//3xSl5mW3z0l4rxgi7hHQ==
@@ -3420,10 +3405,10 @@
semver "7.5.3"
xml2js "0.6.0"
-"@expo/prebuild-config@6.7.3":
- version "6.7.3"
- resolved "https://registry.yarnpkg.com/@expo/prebuild-config/-/prebuild-config-6.7.3.tgz#8444c1630bd92931c2d1a510791535b7282d8fa6"
- integrity sha512-jZIHzlnvdg4Gnln06XR9tvirL3hSp/Jh48COhLKs51vb3THCWumUytZBS4DSMdvGwf8btnaB01Zg00xQhSDBsA==
+"@expo/prebuild-config@6.7.4":
+ version "6.7.4"
+ resolved "https://registry.yarnpkg.com/@expo/prebuild-config/-/prebuild-config-6.7.4.tgz#b3e4c8545d7a101bf1fc263c5b7290abc4635e69"
+ integrity sha512-x8EUdCa8DTMZ/dtEXjHAdlP+ljf6oSeSKNzhycXiHhpMSMG9jEhV28ocCwc6cKsjK5GziweEiHwvrj6+vsBlhA==
dependencies:
"@expo/config" "~8.5.0"
"@expo/config-plugins" "~7.8.0"
@@ -3454,16 +3439,6 @@
resolved "https://registry.yarnpkg.com/@expo/sdk-runtime-versions/-/sdk-runtime-versions-1.0.0.tgz#d7ebd21b19f1c6b0395e50d78da4416941c57f7c"
integrity sha512-Doz2bfiPndXYFPMRwPyGa1k5QaKDVpY806UJj570epIiMzWaYyCtobasyfC++qfIXVb5Ocy7r3tP9d62hAQ7IQ==
-"@expo/server@^0.3.0":
- version "0.3.0"
- resolved "https://registry.yarnpkg.com/@expo/server/-/server-0.3.0.tgz#b16767999382b0f5ea88d86609a5ceabcff1388c"
- integrity sha512-5oIqedpLVMnf1LGI9Xd5OOGmK3DjgH9VpuqVN4e/6DwLT05RZJMyI7ylfG6QSy1e44yOgjv242tLyg0e/zdZ+A==
- dependencies:
- "@remix-run/node" "^1.19.3"
- abort-controller "^3.0.0"
- debug "^4.3.4"
- source-map-support "~0.5.21"
-
"@expo/spawn-async@1.5.0":
version "1.5.0"
resolved "https://registry.yarnpkg.com/@expo/spawn-async/-/spawn-async-1.5.0.tgz#799827edd8c10ef07eb1a2ff9dcfe081d596a395"
@@ -3536,6 +3511,13 @@
resolved "https://registry.yarnpkg.com/@flatten-js/interval-tree/-/interval-tree-1.1.2.tgz#fcc891da48bc230392884be01c26fe8c625702e8"
integrity sha512-OwLoV9E/XM6b7bes2rSFnGNjyRy7vcoIHFTnmBR2WAaZTf0Fe4EX4GdA65vU1KgFAasti7iRSg2dZfYd1Zt00Q==
+"@floating-ui/core@^1.0.0":
+ version "1.6.0"
+ resolved "https://registry.yarnpkg.com/@floating-ui/core/-/core-1.6.0.tgz#fa41b87812a16bf123122bf945946bae3fdf7fc1"
+ integrity sha512-PcF++MykgmTj3CIyOQbKA/hDzOAiqI3mhuoN44WRCopIs1sgoDoU4oty4Jtqaj/y3oDU6fnVSm4QG0a3t5i0+g==
+ dependencies:
+ "@floating-ui/utils" "^0.2.1"
+
"@floating-ui/core@^1.4.1":
version "1.4.1"
resolved "https://registry.yarnpkg.com/@floating-ui/core/-/core-1.4.1.tgz#0d633f4b76052668afb932492ac452f7ebe97f17"
@@ -3551,6 +3533,14 @@
"@floating-ui/core" "^1.4.1"
"@floating-ui/utils" "^0.1.1"
+"@floating-ui/dom@^1.6.1", "@floating-ui/dom@^1.6.3":
+ version "1.6.3"
+ resolved "https://registry.yarnpkg.com/@floating-ui/dom/-/dom-1.6.3.tgz#954e46c1dd3ad48e49db9ada7218b0985cee75ef"
+ integrity sha512-RnDthu3mzPlQ31Ss/BTwQ1zjzIhr3lk1gZB1OC56h/1vEtaXkESrOqL5fQVMfXpwGtRwX+YsZBdyHtJMQnkArw==
+ dependencies:
+ "@floating-ui/core" "^1.0.0"
+ "@floating-ui/utils" "^0.2.0"
+
"@floating-ui/react-dom@^2.0.0":
version "2.0.1"
resolved "https://registry.yarnpkg.com/@floating-ui/react-dom/-/react-dom-2.0.1.tgz#7972a4fc488a8c746cded3cfe603b6057c308a91"
@@ -3558,11 +3548,23 @@
dependencies:
"@floating-ui/dom" "^1.3.0"
+"@floating-ui/react-dom@^2.0.8":
+ version "2.0.8"
+ resolved "https://registry.yarnpkg.com/@floating-ui/react-dom/-/react-dom-2.0.8.tgz#afc24f9756d1b433e1fe0d047c24bd4d9cefaa5d"
+ integrity sha512-HOdqOt3R3OGeTKidaLvJKcgg75S6tibQ3Tif4eyd91QnIJWr0NLvoXFpJA/j8HqkFSL68GDca9AuyWEHlhyClw==
+ dependencies:
+ "@floating-ui/dom" "^1.6.1"
+
"@floating-ui/utils@^0.1.1":
version "0.1.1"
resolved "https://registry.yarnpkg.com/@floating-ui/utils/-/utils-0.1.1.tgz#1a5b1959a528e374e8037c4396c3e825d6cf4a83"
integrity sha512-m0G6wlnhm/AX0H12IOWtK8gASEMffnX08RtKkCgTdHb9JpHKGloI7icFfLg9ZmQeavcvR0PKmzxClyuFPSjKWw==
+"@floating-ui/utils@^0.2.0", "@floating-ui/utils@^0.2.1":
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/@floating-ui/utils/-/utils-0.2.1.tgz#16308cea045f0fc777b6ff20a9f25474dd8293d2"
+ integrity sha512-9TANp6GPoMtYzQdt54kfAyMmz1+osLlXdg2ENroU7zzrtflTLrrC/lgrIfaSe+Wu0b89GKccT7vxXA0MoAIO+Q==
+
"@fortawesome/fontawesome-common-types@6.4.2":
version "6.4.2"
resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.4.2.tgz#1766039cad33f8ad87f9467b98e0d18fbc8f01c5"
@@ -3602,14 +3604,6 @@
resolved "https://registry.yarnpkg.com/@gar/promisify/-/promisify-1.1.3.tgz#555193ab2e3bb3b6adc3d551c9c030d9e860daf6"
integrity sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==
-"@gorhom/bottom-sheet@^4.5.1":
- version "4.5.1"
- resolved "https://registry.yarnpkg.com/@gorhom/bottom-sheet/-/bottom-sheet-4.5.1.tgz#1ac4b234a80e7dff263f0b7ac207f92e41562849"
- integrity sha512-4Qy6hzvN32fXu2hDxDXOIS0IBGBT6huST7J7+K1V5bXemZ08KIx5ZffyLgwhCUl+CnyeG2KG6tqk6iYLkIwi7Q==
- dependencies:
- "@gorhom/portal" "1.0.14"
- invariant "^2.2.4"
-
"@gorhom/portal@1.0.14":
version "1.0.14"
resolved "https://registry.yarnpkg.com/@gorhom/portal/-/portal-1.0.14.tgz#1953edb76aaba80fb24021dc774550194a18e111"
@@ -3680,6 +3674,18 @@
cborg "^1.6.0"
multiformats "^9.5.4"
+"@isaacs/cliui@^8.0.2":
+ version "8.0.2"
+ resolved "https://registry.yarnpkg.com/@isaacs/cliui/-/cliui-8.0.2.tgz#b37667b7bc181c168782259bab42474fbf52b550"
+ integrity sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==
+ dependencies:
+ string-width "^5.1.2"
+ string-width-cjs "npm:string-width@^4.2.0"
+ strip-ansi "^7.0.1"
+ strip-ansi-cjs "npm:strip-ansi@^6.0.1"
+ wrap-ansi "^8.1.0"
+ wrap-ansi-cjs "npm:wrap-ansi@^7.0.0"
+
"@isaacs/ttlcache@^1.4.1":
version "1.4.1"
resolved "https://registry.yarnpkg.com/@isaacs/ttlcache/-/ttlcache-1.4.1.tgz#21fb23db34e9b6220c6ba023a0118a2dd3461ea2"
@@ -4442,6 +4448,11 @@
mkdirp "^1.0.4"
rimraf "^3.0.2"
+"@pkgjs/parseargs@^0.11.0":
+ version "0.11.0"
+ resolved "https://registry.yarnpkg.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33"
+ integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==
+
"@pmmmwh/react-refresh-webpack-plugin@^0.5.11", "@pmmmwh/react-refresh-webpack-plugin@^0.5.3":
version "0.5.11"
resolved "https://registry.yarnpkg.com/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.11.tgz#7c2268cedaa0644d677e8c4f377bc8fb304f714a"
@@ -4457,6 +4468,11 @@
schema-utils "^3.0.0"
source-map "^0.7.3"
+"@polka/url@^1.0.0-next.24":
+ version "1.0.0-next.25"
+ resolved "https://registry.yarnpkg.com/@polka/url/-/url-1.0.0-next.25.tgz#f077fdc0b5d0078d30893396ff4827a13f99e817"
+ integrity sha512-j7P6Rgr3mmtdkeDGTe0E/aYyWEWVtc5yFXtHCRHs28/jptDEWfaVOc5T7cblqy1XKPPfCxJc/8DwQ5YgLOZOVQ==
+
"@popperjs/core@^2.9.0":
version "2.11.8"
resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.11.8.tgz#6b79032e760a0899cd4204710beede972a3a185f"
@@ -4803,10 +4819,10 @@
dependencies:
"@babel/runtime" "^7.13.10"
-"@react-native-async-storage/async-storage@1.21.0":
- version "1.21.0"
- resolved "https://registry.yarnpkg.com/@react-native-async-storage/async-storage/-/async-storage-1.21.0.tgz#d7e370028e228ab84637016ceeb495878b7a44c8"
- integrity sha512-JL0w36KuFHFCvnbOXRekqVAUplmOyT/OuCQkogo6X98MtpSaJOKEAeZnYO8JB0U/RIEixZaGI5px73YbRm/oag==
+"@react-native-async-storage/async-storage@1.23.1":
+ version "1.23.1"
+ resolved "https://registry.yarnpkg.com/@react-native-async-storage/async-storage/-/async-storage-1.23.1.tgz#cad3cd4fab7dacfe9838dce6ecb352f79150c883"
+ integrity sha512-Qd2kQ3yi6Y3+AcUlrHxSLlnBvpdCEMVGFlVBneVOjaFaPU61g1huc38g339ysXspwY1QZA2aNhrk/KlHGO+ewA==
dependencies:
merge-options "^3.0.4"
@@ -4824,21 +4840,6 @@
dependencies:
merge-options "^3.0.4"
-"@react-native-camera-roll/camera-roll@^5.2.2":
- version "5.7.2"
- resolved "https://registry.yarnpkg.com/@react-native-camera-roll/camera-roll/-/camera-roll-5.7.2.tgz#db11525ae26c8a61630c424aebd323a7c784a921"
- integrity sha512-s8VAUG1Kvi+tEJkLHObmOJdXAL/uclnXJ/IdnJtx2fCKiWA3Ho0ln9gDQqCYHHHHu+sXk7wovsH/I2/AYy0brg==
-
-"@react-native-clipboard/clipboard@^1.10.0":
- version "1.11.2"
- resolved "https://registry.yarnpkg.com/@react-native-clipboard/clipboard/-/clipboard-1.11.2.tgz#e826d0336b34e67294aaffa6878308900bc7d197"
- integrity sha512-bHyZVW62TuleiZsXNHS1Pv16fWc0fh8O9WvBzl4h2fykqZRW9a+Pv/RGTH56E3X2PqzHP38K5go8zmCZUoIsoQ==
-
-"@react-native-community/blur@^4.3.0":
- version "4.3.2"
- resolved "https://registry.yarnpkg.com/@react-native-community/blur/-/blur-4.3.2.tgz#185a2c7dd03ba168cc95069bc4742e9505fd6c6c"
- integrity sha512-0ID+pyZKdC4RdgC7HePxUQ6JmsbNrgz03u+6SgqYpmBoK/rE+7JffqIw7IEsfoKitLEcRNLGekIBsfwCqiEkew==
-
"@react-native-community/cli-clean@12.3.0":
version "12.3.0"
resolved "https://registry.yarnpkg.com/@react-native-community/cli-clean/-/cli-clean-12.3.0.tgz#667b32daa58b4d11d5b5ab9eb0a2e216d500c90b"
@@ -5352,81 +5353,6 @@
dependencies:
type-fest "^2.19.0"
-"@remix-run/node@^1.19.3":
- version "1.19.3"
- resolved "https://registry.yarnpkg.com/@remix-run/node/-/node-1.19.3.tgz#d27e2f742fc45379525cb3fca466a883ca06d6c9"
- integrity sha512-z5qrVL65xLXIUpU4mkR4MKlMeKARLepgHAk4W5YY3IBXOreRqOGUC70POViYmY7x38c2Ia1NwqL80H+0h7jbMw==
- dependencies:
- "@remix-run/server-runtime" "1.19.3"
- "@remix-run/web-fetch" "^4.3.6"
- "@remix-run/web-file" "^3.0.3"
- "@remix-run/web-stream" "^1.0.4"
- "@web3-storage/multipart-parser" "^1.0.0"
- abort-controller "^3.0.0"
- cookie-signature "^1.1.0"
- source-map-support "^0.5.21"
- stream-slice "^0.1.2"
-
-"@remix-run/router@1.7.2":
- version "1.7.2"
- resolved "https://registry.yarnpkg.com/@remix-run/router/-/router-1.7.2.tgz#cba1cf0a04bc04cb66027c51fa600e9cbc388bc8"
- integrity sha512-7Lcn7IqGMV+vizMPoEl5F0XDshcdDYtMI6uJLQdQz5CfZAwy3vvGKYSUk789qndt5dEC4HfSjviSYlSoHGL2+A==
-
-"@remix-run/server-runtime@1.19.3":
- version "1.19.3"
- resolved "https://registry.yarnpkg.com/@remix-run/server-runtime/-/server-runtime-1.19.3.tgz#206b55337c266c5bc254878f8ff3cd5677cc60fb"
- integrity sha512-KzQ+htUsKqpBgKE2tWo7kIIGy3MyHP58Io/itUPvV+weDjApwr9tQr9PZDPA3yAY6rAzLax7BU0NMSYCXWFY5A==
- dependencies:
- "@remix-run/router" "1.7.2"
- "@types/cookie" "^0.4.1"
- "@web3-storage/multipart-parser" "^1.0.0"
- cookie "^0.4.1"
- set-cookie-parser "^2.4.8"
- source-map "^0.7.3"
-
-"@remix-run/web-blob@^3.1.0":
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/@remix-run/web-blob/-/web-blob-3.1.0.tgz#e0c669934c1eb6028960047e57a13ed38bbfb434"
- integrity sha512-owGzFLbqPH9PlKb8KvpNJ0NO74HWE2euAn61eEiyCXX/oteoVzTVSN8mpLgDjaxBf2btj5/nUllSUgpyd6IH6g==
- dependencies:
- "@remix-run/web-stream" "^1.1.0"
- web-encoding "1.1.5"
-
-"@remix-run/web-fetch@^4.3.6":
- version "4.4.2"
- resolved "https://registry.yarnpkg.com/@remix-run/web-fetch/-/web-fetch-4.4.2.tgz#ce7aedef72cc26e15060e8cf84674029f92809b6"
- integrity sha512-jgKfzA713/4kAW/oZ4bC3MoLWyjModOVDjFPNseVqcJKSafgIscrYL9G50SurEYLswPuoU3HzSbO0jQCMYWHhA==
- dependencies:
- "@remix-run/web-blob" "^3.1.0"
- "@remix-run/web-file" "^3.1.0"
- "@remix-run/web-form-data" "^3.1.0"
- "@remix-run/web-stream" "^1.1.0"
- "@web3-storage/multipart-parser" "^1.0.0"
- abort-controller "^3.0.0"
- data-uri-to-buffer "^3.0.1"
- mrmime "^1.0.0"
-
-"@remix-run/web-file@^3.0.3", "@remix-run/web-file@^3.1.0":
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/@remix-run/web-file/-/web-file-3.1.0.tgz#07219021a2910e90231bc30ca1ce693d0e9d3825"
- integrity sha512-dW2MNGwoiEYhlspOAXFBasmLeYshyAyhIdrlXBi06Duex5tDr3ut2LFKVj7tyHLmn8nnNwFf1BjNbkQpygC2aQ==
- dependencies:
- "@remix-run/web-blob" "^3.1.0"
-
-"@remix-run/web-form-data@^3.1.0":
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/@remix-run/web-form-data/-/web-form-data-3.1.0.tgz#47f9ad8ce8bf1c39ed83eab31e53967fe8e3df6a"
- integrity sha512-NdeohLMdrb+pHxMQ/Geuzdp0eqPbea+Ieo8M8Jx2lGC6TBHsgHzYcBvr0LyPdPVycNRDEpWpiDdCOdCryo3f9A==
- dependencies:
- web-encoding "1.1.5"
-
-"@remix-run/web-stream@^1.0.4", "@remix-run/web-stream@^1.1.0":
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/@remix-run/web-stream/-/web-stream-1.1.0.tgz#b93a8f806c2c22204930837c44d81fdedfde079f"
- integrity sha512-KRJtwrjRV5Bb+pM7zxcTJkhIqWWSy+MYsIxHK+0m5atcznsf15YwUBWHWulZerV2+vvHH1Lp1DD7pw6qKW8SgA==
- dependencies:
- web-streams-polyfill "^3.1.1"
-
"@rollup/plugin-babel@^5.2.0":
version "5.3.1"
resolved "https://registry.yarnpkg.com/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz#04bc0608f4aa4b2e4b1aebf284344d0f68fda283"
@@ -7519,11 +7445,6 @@
dependencies:
"@types/node" "*"
-"@types/cookie@^0.4.1":
- version "0.4.1"
- resolved "https://registry.yarnpkg.com/@types/cookie/-/cookie-0.4.1.tgz#bfd02c1f2224567676c1545199f87c3a861d878d"
- integrity sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==
-
"@types/elliptic@^6.4.9":
version "6.4.18"
resolved "https://registry.yarnpkg.com/@types/elliptic/-/elliptic-6.4.18.tgz#bc96e26e1ccccbabe8b6f0e409c85898635482e1"
@@ -7629,6 +7550,11 @@
dependencies:
"@types/node" "*"
+"@types/invariant@^2.2.37":
+ version "2.2.37"
+ resolved "https://registry.yarnpkg.com/@types/invariant/-/invariant-2.2.37.tgz#1709741e534364d653c87dff22fc76fa94aa7bc0"
+ integrity sha512-IwpIMieE55oGWiXkQPSBY1nw1nFs6bsKXTFskNY8sdS17K24vyEBRQZEwlRS7ZmXCWnJcQtbxWzly+cODWGs2A==
+
"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1":
version "2.0.4"
resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz#8467d4b3c087805d63580480890791277ce35c44"
@@ -8071,11 +7997,6 @@
"@urql/core" ">=2.3.1"
wonka "^4.0.14"
-"@web3-storage/multipart-parser@^1.0.0":
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/@web3-storage/multipart-parser/-/multipart-parser-1.0.0.tgz#6b69dc2a32a5b207ba43e556c25cc136a56659c4"
- integrity sha512-BEO6al7BYqcnfX15W2cnGR+Q566ACXAT9UQykORCWW80lmkpWsnEob6zJS1ZVBKsSJC8+7vJkHwlp+lXG1UCdw==
-
"@webassemblyjs/ast@1.11.6", "@webassemblyjs/ast@^1.11.5":
version "1.11.6"
resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.11.6.tgz#db046555d3c413f8966ca50a95176a0e2c642e24"
@@ -8237,7 +8158,7 @@
resolved "https://registry.yarnpkg.com/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz#e77a97fbd345b76d83245edcd17d393b1b41fb31"
integrity sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==
-"@zxing/text-encoding@0.9.0", "@zxing/text-encoding@^0.9.0":
+"@zxing/text-encoding@^0.9.0":
version "0.9.0"
resolved "https://registry.yarnpkg.com/@zxing/text-encoding/-/text-encoding-0.9.0.tgz#fb50ffabc6c7c66a0c96b4c03e3d9be74864b70b"
integrity sha512-U/4aVJ2mxI0aDNI8Uq0wEhMgY+u4CNtEb0om3+y3+niDAsoTCOB33UF0sxpzqzdqXLqmvc+vZyAt4O8pPdfkwA==
@@ -8293,6 +8214,11 @@ acorn-walk@^7.1.1:
resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc"
integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==
+acorn-walk@^8.0.0:
+ version "8.3.2"
+ resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.3.2.tgz#7703af9415f1b6db9315d6895503862e231d34aa"
+ integrity sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==
+
acorn-walk@^8.0.2, acorn-walk@^8.1.1:
version "8.2.0"
resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1"
@@ -8303,6 +8229,11 @@ acorn@^7.1.1:
resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa"
integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==
+acorn@^8.0.4:
+ version "8.11.3"
+ resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.11.3.tgz#71e0b14e13a4ec160724b38fb7b0f233b1b81d7a"
+ integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==
+
acorn@^8.1.0, acorn@^8.2.4, acorn@^8.4.1, acorn@^8.7.1, acorn@^8.8.1, acorn@^8.8.2, acorn@^8.9.0:
version "8.10.0"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.10.0.tgz#8be5b3907a67221a81ab23c7889c4c5526b62ec5"
@@ -8786,6 +8717,15 @@ axios@^1.3.4:
form-data "^4.0.0"
proxy-from-env "^1.1.0"
+axios@^1.6.7:
+ version "1.6.8"
+ resolved "https://registry.yarnpkg.com/axios/-/axios-1.6.8.tgz#66d294951f5d988a00e87a0ffb955316a619ea66"
+ integrity sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ==
+ dependencies:
+ follow-redirects "^1.15.6"
+ form-data "^4.0.0"
+ proxy-from-env "^1.1.0"
+
axobject-query@^3.1.1:
version "3.2.1"
resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-3.2.1.tgz#39c378a6e3b06ca679f29138151e45b2b32da62a"
@@ -9129,13 +9069,13 @@ better-opn@~3.0.2:
dependencies:
open "^8.0.4"
-better-sqlite3@^7.6.2:
- version "7.6.2"
- resolved "https://registry.yarnpkg.com/better-sqlite3/-/better-sqlite3-7.6.2.tgz#47cd8cad5b9573cace535f950ac321166bc31384"
- integrity sha512-S5zIU1Hink2AH4xPsN0W43T1/AJ5jrPh7Oy07ocuW/AKYYY02GWzz9NH0nbSMn/gw6fDZ5jZ1QsHt1BXAwJ6Lg==
+better-sqlite3@^9.4.0:
+ version "9.4.5"
+ resolved "https://registry.yarnpkg.com/better-sqlite3/-/better-sqlite3-9.4.5.tgz#1d3422443a9924637cb06cc3ccc941b2ae932c65"
+ integrity sha512-uFVyoyZR9BNcjSca+cp3MWCv6upAv+tbMC4SWM51NIMhoQOm4tjIkyxFO/ZsYdGAF61WJBgdzyJcz4OokJi0gQ==
dependencies:
bindings "^1.5.0"
- prebuild-install "^7.1.0"
+ prebuild-install "^7.1.1"
bfj@^7.0.2:
version "7.0.2"
@@ -9552,7 +9492,7 @@ cborg@^1.6.0:
resolved "https://registry.yarnpkg.com/cborg/-/cborg-1.10.2.tgz#83cd581b55b3574c816f82696307c7512db759a1"
integrity sha512-b3tFPA9pUr2zCUiCfRd2+wok2/LBSNUMKOuRRok+WlvvAgEt/PlbgPTsZUcwCOs53IJvLgTp0eotwtosE6njug==
-chalk@5.3.0, chalk@^5.0.1:
+chalk@5.3.0:
version "5.3.0"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-5.3.0.tgz#67c20a7ebef70e7f3970a01f90fa210cb6860385"
integrity sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==
@@ -10044,21 +9984,11 @@ cookie-signature@1.0.6:
resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c"
integrity sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==
-cookie-signature@^1.1.0:
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.2.1.tgz#790dea2cce64638c7ae04d9fabed193bd7ccf3b4"
- integrity sha512-78KWk9T26NhzXtuL26cIJ8/qNHANyJ/ZYrmEXFzUmhZdjpBv+DlWlOANRTGBt48YcyslsLrj0bMLFTmXvLRCOw==
-
cookie@0.5.0:
version "0.5.0"
resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.5.0.tgz#d1f5d71adec6558c58f389987c366aa47e994f8b"
integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==
-cookie@^0.4.1:
- version "0.4.2"
- resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.2.tgz#0e41f24de5ecf317947c82fc789e06a884824432"
- integrity sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==
-
copy-webpack-plugin@^10.2.0:
version "10.2.4"
resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-10.2.4.tgz#6c854be3fdaae22025da34b9112ccf81c63308fe"
@@ -10192,7 +10122,7 @@ cross-spawn@^6.0.0, cross-spawn@^6.0.5:
shebang-command "^1.2.0"
which "^1.2.9"
-cross-spawn@^7.0.2, cross-spawn@^7.0.3:
+cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3:
version "7.0.3"
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6"
integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==
@@ -10456,11 +10386,6 @@ dash-get@^1.0.2:
resolved "https://registry.yarnpkg.com/dash-get/-/dash-get-1.0.2.tgz#4c9e9ad5ef04c4bf9d3c9a451f6f7997298dcc7c"
integrity sha512-4FbVrHDwfOASx7uQVxeiCTo7ggSdYZbqs8lH+WU6ViypPlDbe9y6IP5VVUDQBv9DcnyaiPT5XT0UWHgJ64zLeQ==
-data-uri-to-buffer@^3.0.1:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/data-uri-to-buffer/-/data-uri-to-buffer-3.0.1.tgz#594b8973938c5bc2c33046535785341abc4f3636"
- integrity sha512-WboRycPNsVw3B3TL559F7kuBUM4d8CgMEvk6xEJlOp7OBPjt6G7z8WMWlD2rOFZLk6OYfFIUGsCOWzcQH9K2og==
-
data-urls@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-2.0.0.tgz#156485a72963a970f5d5821aaf642bef2bf2db9b"
@@ -10491,6 +10416,11 @@ dayjs@^1.8.15:
resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.9.tgz#9ca491933fadd0a60a2c19f6c237c03517d71d1a"
integrity sha512-QvzAURSbQ0pKdIye2txOzNaHmxtUBXerpY0FJsFXUMKbIZeFm5ht1LS/jFsrncjnmtv8HsG0W2g6c0zUjZWmpA==
+debounce@^1.2.1:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/debounce/-/debounce-1.2.1.tgz#38881d8f4166a5c5848020c11827b834bcb3e0a5"
+ integrity sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==
+
debug@2.6.9, debug@^2.2.0, debug@^2.6.0, debug@^2.6.9:
version "2.6.9"
resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
@@ -10674,11 +10604,6 @@ deprecated-react-native-prop-types@^5.0.0:
invariant "^2.2.4"
prop-types "^15.8.1"
-dequal@1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/dequal/-/dequal-1.0.0.tgz#41c6065e70de738541c82cdbedea5292277a017e"
- integrity sha512-/Nd1EQbQbI9UbSHrMiKZjFLrXSnU328iQdZKPQf78XQI6C+gutkFUeoHpG5J08Ioa6HeRbRNFpSIclh1xyG0mw==
-
dequal@^2.0.3:
version "2.0.3"
resolved "https://registry.yarnpkg.com/dequal/-/dequal-2.0.3.tgz#2644214f1997d39ed0ee0ece72335490a7ac67be"
@@ -11392,6 +11317,10 @@ eslint-module-utils@^2.8.0:
dependencies:
debug "^3.2.7"
+"eslint-plugin-bsky-internal@link:./eslint":
+ version "0.0.0"
+ uid ""
+
eslint-plugin-detox@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/eslint-plugin-detox/-/eslint-plugin-detox-1.0.0.tgz#2d9c0130e8ebc4ced56efb6eeaf0d0f5c163398d"
@@ -11545,6 +11474,11 @@ eslint-plugin-react@^7.27.1, eslint-plugin-react@^7.30.1, eslint-plugin-react@^7
semver "^6.3.1"
string.prototype.matchall "^4.0.8"
+eslint-plugin-simple-import-sort@^12.0.0:
+ version "12.0.0"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-simple-import-sort/-/eslint-plugin-simple-import-sort-12.0.0.tgz#3cfa05d74509bd4dc329a956938823812194dbb6"
+ integrity sha512-8o0dVEdAkYap0Cn5kNeklaKcT1nUsa3LITWEuFk3nJifOoD+5JQGoyDUW2W/iPWwBsNBJpyJS9y4je/BgxLcyQ==
+
eslint-plugin-testing-library@^5.0.1:
version "5.11.1"
resolved "https://registry.yarnpkg.com/eslint-plugin-testing-library/-/eslint-plugin-testing-library-5.11.1.tgz#5b46cdae96d4a78918711c0b4792f90088e62d20"
@@ -11805,16 +11739,16 @@ expect@^29.7.0:
jest-message-util "^29.7.0"
jest-util "^29.7.0"
+expo-application@^5.8.3:
+ version "5.8.3"
+ resolved "https://registry.yarnpkg.com/expo-application/-/expo-application-5.8.3.tgz#43991bd81d05c987b07b2f430c036cda1572bc62"
+ integrity sha512-IISxzpPX+Xe4ynnwX8yY52T6dm1g9sME1GCj4lvUlrdc5xeTPM6U35x7Wj82V7lLWBaVGe+/Tg9EeKqfylCEwA==
+
expo-application@~5.8.0:
version "5.8.0"
resolved "https://registry.yarnpkg.com/expo-application/-/expo-application-5.8.0.tgz#b82cb98a08f91d61f047f6578e883e0deb9661f2"
integrity sha512-nNQ/ayC4P1ue0ZQSmUlG/K2ZHTPwHyYGsb0QtEmCFUCitsjPKIx4coNvAreZMuELvY7pD1zKr+pdtN/ULnljBA==
-expo-application@~5.8.2:
- version "5.8.2"
- resolved "https://registry.yarnpkg.com/expo-application/-/expo-application-5.8.2.tgz#3847843203b87b9b67cc3b56f3c2639199cb0b07"
- integrity sha512-ySc5MzZFRnK7XxBho7kZoQcazz97y4j0Wj+p9n4UDlgQLGrp1IHFBgyZIq2y/qoED0RnFUCKUDeegvXXTiBENA==
-
expo-asset@~9.0.2:
version "9.0.2"
resolved "https://registry.yarnpkg.com/expo-asset/-/expo-asset-9.0.2.tgz#e8a6b6da356d5fc97955599d2fa49af78c7f0bfd"
@@ -11827,21 +11761,26 @@ expo-asset@~9.0.2:
invariant "^2.2.4"
md5-file "^3.2.3"
-expo-build-properties@^0.11.0:
- version "0.11.0"
- resolved "https://registry.yarnpkg.com/expo-build-properties/-/expo-build-properties-0.11.0.tgz#523e242b5db2f26b9fd397dcf2c841824aed348c"
- integrity sha512-14+UjV4uKCI5KsOw/BTL++T3N1OPWnOvLGoF39/o9XjB4t0wqXoSrcEl6ZbtH/b3xzd6dj9pnDDBLWDn/7uKvQ==
+expo-build-properties@^0.11.1:
+ version "0.11.1"
+ resolved "https://registry.yarnpkg.com/expo-build-properties/-/expo-build-properties-0.11.1.tgz#dc9ab9fb1ac989b97da500b3ec75139c961d8b26"
+ integrity sha512-m4j4aEjFaDuBE6KWYMxDhWgLzzSmpE7uHKAwtvXyNmRK+6JKF0gjiXi0sXgI5ngNppDQpsyPFMvqG7uQpRuCuw==
dependencies:
ajv "^8.11.0"
semver "^7.5.3"
-expo-camera@~14.0.1:
- version "14.0.1"
- resolved "https://registry.yarnpkg.com/expo-camera/-/expo-camera-14.0.1.tgz#d3567566e5f9c1a906b3ec8f66fde1e4c08fc99d"
- integrity sha512-72W8T9P+oYloWwFt2/ils15OS5X0R9u1p5vjRRo5fyGhbTA3qkS8UsV1tdSNTCUBcAxXHEXTO+iM4Xzabun8tg==
+expo-camera@~14.0.4:
+ version "14.0.6"
+ resolved "https://registry.yarnpkg.com/expo-camera/-/expo-camera-14.0.6.tgz#4d02ae2c7d734b2256111fa17a3b2c46fa712c78"
+ integrity sha512-PBkbAR0g/rFO9A01CmOoPHknXBBfJ1rXFm75XQY6kmMNH9BHJ89yAtlOaYJy/fw5xVxJkyVG+6uVGgbBeu7dyw==
dependencies:
invariant "^2.2.4"
+expo-clipboard@^5.0.1:
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/expo-clipboard/-/expo-clipboard-5.0.1.tgz#a62a021a9444740d180d60f915cca8242a323716"
+ integrity sha512-JH853QJPr5W3h87If3aDTnMK+ESSIrwzU2TdfZrqZttVDY2pMIf/w37mVHHNYodXM4ATHXadtOkjKbAa0DWwUg==
+
expo-constants@^13.0.2:
version "13.2.4"
resolved "https://registry.yarnpkg.com/expo-constants/-/expo-constants-13.2.4.tgz#eab4a553f074b2c60ad7a158d3b82e3484a94606"
@@ -11864,24 +11803,31 @@ expo-constants@~15.4.3:
dependencies:
"@expo/config" "~8.5.0"
-expo-dev-client@~3.3.5:
- version "3.3.5"
- resolved "https://registry.yarnpkg.com/expo-dev-client/-/expo-dev-client-3.3.5.tgz#243719f5613ec487461da15650413a3a0c6fbadf"
- integrity sha512-g1KZBfkn4jIlVCBiBaYDkacecICLFla1Cpc/eGjdZJGceInoJe25HPyrMtYr047QDQaqnzRM+hXoJFhiKDfRpg==
+expo-constants@~15.4.5:
+ version "15.4.5"
+ resolved "https://registry.yarnpkg.com/expo-constants/-/expo-constants-15.4.5.tgz#81756a4c4e1c020f840a419cd86a124a6d1fb35b"
+ integrity sha512-1pVVjwk733hbbIjtQcvUFCme540v4gFemdNlaxM2UXKbfRCOh2hzgKN5joHMOysoXQe736TTUrRj7UaZI5Yyhg==
dependencies:
- expo-dev-launcher "3.6.2"
- expo-dev-menu "4.5.3"
+ "@expo/config" "~8.5.0"
+
+expo-dev-client@~3.3.8:
+ version "3.3.11"
+ resolved "https://registry.yarnpkg.com/expo-dev-client/-/expo-dev-client-3.3.11.tgz#f2541ccbcfc2ba32bcea47293bc9beae4e10db60"
+ integrity sha512-9nhhbfbskfmjp/tlRS5KvDpCoW0BREJBxpu2GyjKu7nDB33W8fJLL0wXgNhP+QEb93r37o3uezKmUm2kibOvTw==
+ dependencies:
+ expo-dev-launcher "3.6.9"
+ expo-dev-menu "4.5.8"
expo-dev-menu-interface "1.7.2"
expo-manifests "~0.13.0"
expo-updates-interface "~0.15.1"
-expo-dev-launcher@3.6.2:
- version "3.6.2"
- resolved "https://registry.yarnpkg.com/expo-dev-launcher/-/expo-dev-launcher-3.6.2.tgz#901e8ab2040fbfb8a7f0a4bdceb30399cf831cfd"
- integrity sha512-f09rLzTdyGRlWTvt8UV5cA8bhMNbCnuXBHDVAkJ3Yz0I+dHq4oecyh6TNR2plAR+dKhMYnY7rtTCyIQvd2adfA==
+expo-dev-launcher@3.6.9:
+ version "3.6.9"
+ resolved "https://registry.yarnpkg.com/expo-dev-launcher/-/expo-dev-launcher-3.6.9.tgz#5e104e0533a46f3614c1691673da3351092e8d1d"
+ integrity sha512-MBDMAqjCMVYt1Zv47u2dJTp4d8gCZMfM4GWAFhfQy3G6XzkUlFtewaQefAqy93FcYOv6BYdC9yZOLOb06tqTfA==
dependencies:
ajv "8.11.0"
- expo-dev-menu "4.5.3"
+ expo-dev-menu "4.5.8"
expo-manifests "~0.13.0"
resolve-from "^5.0.0"
semver "^7.5.3"
@@ -11891,10 +11837,10 @@ expo-dev-menu-interface@1.7.2:
resolved "https://registry.yarnpkg.com/expo-dev-menu-interface/-/expo-dev-menu-interface-1.7.2.tgz#772fb97c6b0a44c27965cdfcfa078f316b0930ca"
integrity sha512-V/geSB9rW0IPTR+d7E5CcvkV0uVUCE7SMHZqE/J0/dH06Wo8AahB16fimXeh5/hTL2Qztq8CQ41xpFUBoA9TEw==
-expo-dev-menu@4.5.3:
- version "4.5.3"
- resolved "https://registry.yarnpkg.com/expo-dev-menu/-/expo-dev-menu-4.5.3.tgz#89632134eac59533b7867d3a87a71940ac7ee74b"
- integrity sha512-yYXCand6eiDDtyGzcdIaSyhaIUPf7KjAKA12FJZ7Ytb3f04Nc78NI1+rDSisLmgRqXaWsc04zx9XF0vBMjSF6w==
+expo-dev-menu@4.5.8:
+ version "4.5.8"
+ resolved "https://registry.yarnpkg.com/expo-dev-menu/-/expo-dev-menu-4.5.8.tgz#21940385124c7d2745066bbcb42185ebd35f66bc"
+ integrity sha512-GXfI0CmYlqjOqyFjtplXO9PSoJQoy89+50lbUSNZykDsGyvzCPzl4txdQcdHHSglKYr7lWV7aeMVeehuSct60w==
dependencies:
expo-dev-menu-interface "1.7.2"
semver "^7.5.3"
@@ -11906,10 +11852,10 @@ expo-device@~4.1.1:
dependencies:
ua-parser-js "^0.7.19"
-expo-device@~5.9.2:
- version "5.9.2"
- resolved "https://registry.yarnpkg.com/expo-device/-/expo-device-5.9.2.tgz#697e96f52d213a141b6f265f1e274e9d5e98c92c"
- integrity sha512-QYwcLyIoZGRFXt1czVphVQBkyfCfYqg+EsaFIhwWR+/lVU7X1cslaaGjoSx2ONTw0CV5iOvpasURqHeLWaexIw==
+expo-device@~5.9.3:
+ version "5.9.3"
+ resolved "https://registry.yarnpkg.com/expo-device/-/expo-device-5.9.3.tgz#0ad61da681424aa682fa03001d0344394c01f8a1"
+ integrity sha512-azH5rz8krDZUJb/arqkcA6oZGaX2T5s4aaXIMFsDDzvq8TW0CttZZy2HFp6itmFdiKGdRpFX3/Gj0n6ZmPoJ/w==
dependencies:
ua-parser-js "^0.7.33"
@@ -11923,18 +11869,23 @@ expo-file-system@~16.0.0:
resolved "https://registry.yarnpkg.com/expo-file-system/-/expo-file-system-16.0.1.tgz#326b7c2f6e53e1a0eaafc9769578aafb3f9c9f43"
integrity sha512-/U6ufN2wRPgg4m2a9sqbL3dThqQsysT022qulEXWnUTmNaqnzYSk9ihjDWqoqjXLi9slQLsyok5t6CNzhM7HPw==
-expo-file-system@~16.0.3:
- version "16.0.3"
- resolved "https://registry.yarnpkg.com/expo-file-system/-/expo-file-system-16.0.3.tgz#d7f45b77b6e085a106edb5178c3cbef884f42156"
- integrity sha512-F1RGwrkz70sIqdTswhsawFRSCwBgrQO0BEX8IxzWYRiucL2MnazeZ6tUx1vSQunuw49JexMcEozEccb0YEDzIw==
+expo-file-system@~16.0.8:
+ version "16.0.8"
+ resolved "https://registry.yarnpkg.com/expo-file-system/-/expo-file-system-16.0.8.tgz#13c79a8e06e42a8e76e9297df6920597a011d989"
+ integrity sha512-yDbVT0TUKd7ewQjaY5THum2VRFx2n/biskGhkUmLh3ai21xjIVtaeIzHXyv9ir537eVgt4ReqDNWi7jcXjdUcA==
-expo-font@~11.10.1:
- version "11.10.1"
- resolved "https://registry.yarnpkg.com/expo-font/-/expo-font-11.10.1.tgz#df9a853947d655c88f9286cfe6c11158958b066e"
- integrity sha512-eEi/EoJWFUy5CHJudfUtS8VKQdTW04f+OaKEBYj7eLUwW8bccRkA1ADtxyxLIkKdWlt2oZuVezvcgab5pYbCtQ==
+expo-font@~11.10.3:
+ version "11.10.3"
+ resolved "https://registry.yarnpkg.com/expo-font/-/expo-font-11.10.3.tgz#a3115ebda8e09bd7cb8052619a4bbe606f0c17f4"
+ integrity sha512-q1Td2zUvmLbCA9GV4OG4nLPw5gJuNY1VrPycsnemN1m8XWTzzs8nyECQQqrcBhgulCgcKZZJJ6U0kC2iuSoQHQ==
dependencies:
fontfaceobserver "^2.1.0"
+expo-haptics@^12.8.1:
+ version "12.8.1"
+ resolved "https://registry.yarnpkg.com/expo-haptics/-/expo-haptics-12.8.1.tgz#42b996763be33d661bd33bbc3b3958c3f2734b9d"
+ integrity sha512-ntLsHkfle8K8w9MW8pZEw92ZN3sguaGUSSIxv30fPKNeQFu7Cq/h47Qv3tONv2MO3wU48N9FbKnant6XlfptpA==
+
expo-image-loader@~4.6.0:
version "4.6.0"
resolved "https://registry.yarnpkg.com/expo-image-loader/-/expo-image-loader-4.6.0.tgz#ca7d4fdf53125bff2091d3a2c34a3155f10df147"
@@ -11954,10 +11905,10 @@ expo-image-picker@~14.7.1:
dependencies:
expo-image-loader "~4.6.0"
-expo-image@~1.10.3:
- version "1.10.3"
- resolved "https://registry.yarnpkg.com/expo-image/-/expo-image-1.10.3.tgz#142d2274388c2e32b9559e5e4a3513bc2bea7543"
- integrity sha512-/oVFgzRnSHTdKVGPB0gSkNemVwmWTznBOs8aCAHGbTx6vG2nYCzhmjM0Yc+io+q8v4sH0U3zE0U5ZHJtCJ9Wqg==
+expo-image@~1.10.6:
+ version "1.10.6"
+ resolved "https://registry.yarnpkg.com/expo-image/-/expo-image-1.10.6.tgz#b0e54d31d97742505296c076a5f18d094ba9a8cc"
+ integrity sha512-vcnAIym1eU8vQgV1re1E7rVQZStJimBa4aPDhjFfzMzbddAF7heJuagyewiUkTzbZUwYzPaZAie6VJPyWx9Ueg==
dependencies:
"@react-native/assets-registry" "~0.73.1"
@@ -11966,10 +11917,15 @@ expo-json-utils@~0.12.0:
resolved "https://registry.yarnpkg.com/expo-json-utils/-/expo-json-utils-0.12.0.tgz#15ad797e9518a6a47eae9b95599e6373e641f8f2"
integrity sha512-xsUsPUZcXZWoT4RY3FhEPYGYvr2iThMNNU5drdmkC/vmkePvqy5kK4aIqlIKzQboXxj7k1dXoNSSLg5mKy8uKg==
-expo-keep-awake@~12.8.1:
- version "12.8.1"
- resolved "https://registry.yarnpkg.com/expo-keep-awake/-/expo-keep-awake-12.8.1.tgz#3c8df9d86c265741b5e7bdd36965aa0c6fc17df0"
- integrity sha512-P/VZFV02Rzgj13skMwH+ceGOGZSEdaUu5n7pCS3wThh2LppZjPJ7sBxUwyzeLa3DXEVUtwLZi+BiQ91wPwy9Gg==
+expo-keep-awake@~12.8.2:
+ version "12.8.2"
+ resolved "https://registry.yarnpkg.com/expo-keep-awake/-/expo-keep-awake-12.8.2.tgz#6cfdf8ad02b5fa130f99d4a1eb98e459d5b4332e"
+ integrity sha512-uiQdGbSX24Pt8nGbnmBtrKq6xL/Tm3+DuDRGBk/3ZE/HlizzNosGRIufIMJ/4B4FRw4dw8KU81h2RLuTjbay6g==
+
+expo-linear-gradient@^12.7.2:
+ version "12.7.2"
+ resolved "https://registry.yarnpkg.com/expo-linear-gradient/-/expo-linear-gradient-12.7.2.tgz#2ff9593eae8448ac5630be1a36ce6133c4a6f074"
+ integrity sha512-Wwb2EF18ywgrlTodcXJ6Yt/UEcKitRMdXPNyP/IokmeKh4emoq9DxZJpZdkXm3HUTLlbRpi6/t32jrFVqXB9AQ==
expo-linking@^6.2.2:
version "6.2.2"
@@ -11979,10 +11935,10 @@ expo-linking@^6.2.2:
expo-constants "~15.4.3"
invariant "^2.2.4"
-expo-localization@~14.8.2:
- version "14.8.2"
- resolved "https://registry.yarnpkg.com/expo-localization/-/expo-localization-14.8.2.tgz#e0bbed2293265834d21a1c58d3a5f8d265bd04ae"
- integrity sha512-ZymzPq7Zjkr0j/w2N+sNNj6EPihW99D0yCEC8CVWed5Uv7GfjwlnN0dUOlNy7y987ecV7N4/T0sEiZ966vaGmg==
+expo-localization@~14.8.3:
+ version "14.8.3"
+ resolved "https://registry.yarnpkg.com/expo-localization/-/expo-localization-14.8.3.tgz#c1efa8a314b6bfe38425bbc6bcce9cf9b84a802d"
+ integrity sha512-leg1e+7ocUgfNWa7Men/g16waXtdSpBMR9tCdv3CG4wztmFU8C+87VAnnVkvHi4CCUkTLzhP3y0FcE6KIWTwdw==
dependencies:
rtl-detect "^1.0.2"
@@ -11999,10 +11955,10 @@ expo-media-library@~15.9.1:
resolved "https://registry.yarnpkg.com/expo-media-library/-/expo-media-library-15.9.1.tgz#1eaf5a0c8f51669f6f86d385a8fa411226042216"
integrity sha512-Y29uKFJ3qWwNejIrjoCppXp3OgIFs/RYHWXkF9xey6evpNrUlHoP1WHG2jYAMSrss6aIRVt3tO7EtYUCZxz50Q==
-expo-modules-autolinking@1.10.0:
- version "1.10.0"
- resolved "https://registry.yarnpkg.com/expo-modules-autolinking/-/expo-modules-autolinking-1.10.0.tgz#3ca55befdaf7bf0770d24df235be87597457ed78"
- integrity sha512-3mM/pi4xVlGBr/+soD/ywBMWk9edRu/fRimocUkSrcwmFkwHDdjBaJdncKmq8ysroSn0tC8yHkKuuKitS+qoeg==
+expo-modules-autolinking@1.10.3:
+ version "1.10.3"
+ resolved "https://registry.yarnpkg.com/expo-modules-autolinking/-/expo-modules-autolinking-1.10.3.tgz#19f349884a90f3f27ec9d64e8f2fa6be609558c5"
+ integrity sha512-pn4n2Dl4iRh/zUeiChjRIe1C7EqOw1qhccr85viQV7W6l5vgRpY0osE51ij5LKg/kJmGRcJfs12+PwbdTplbKw==
dependencies:
"@expo/config" "~8.5.0"
chalk "^4.1.0"
@@ -12011,17 +11967,25 @@ expo-modules-autolinking@1.10.0:
find-up "^5.0.0"
fs-extra "^9.1.0"
-expo-modules-core@1.11.6:
- version "1.11.6"
- resolved "https://registry.yarnpkg.com/expo-modules-core/-/expo-modules-core-1.11.6.tgz#3babed3b812a696ddec15cc4107ed4a77b7aaa05"
- integrity sha512-5EWAGtDNVfkqFOPO3zNmsHgBbx5Y+jLoRaTybA+iF165YFho3QjOy6FvVGNJs+P15vAgus1W8MSZZTreUulOfw==
+expo-modules-core@1.11.12:
+ version "1.11.12"
+ resolved "https://registry.yarnpkg.com/expo-modules-core/-/expo-modules-core-1.11.12.tgz#d5c7b3ed7ab57d4fb6885a0d8e10287dcf1ffe5f"
+ integrity sha512-/e8g4kis0pFLer7C0PLyx98AfmztIM6gU9jLkYnB1pU9JAfQf904XEi3bmszO7uoteBQwSL6FLp1m3TePKhDaA==
dependencies:
invariant "^2.2.4"
-expo-notifications@~0.27.3:
- version "0.27.3"
- resolved "https://registry.yarnpkg.com/expo-notifications/-/expo-notifications-0.27.3.tgz#18f3d6dadc14aefc32937bddc54572bbf68236a7"
- integrity sha512-P4zhbVYDhTtV7xCdcxpk4tTbWh33P+A0ZTbpUrp6vcpZk8QprhjhB2okr1/R1z0fpxUPv74KYex5fnAHxTVIvw==
+expo-navigation-bar@~2.8.1:
+ version "2.8.1"
+ resolved "https://registry.yarnpkg.com/expo-navigation-bar/-/expo-navigation-bar-2.8.1.tgz#c4152f878d9fb6ca74c90b80e934af76c29b5377"
+ integrity sha512-aT5G+7SUsXDVPsRwp8fF940ycka1ABb4g3QKvTZN3YP6kMWvsiYEmRqMIJVy0zUr/i6bxBG1ZergkXimWrFt3w==
+ dependencies:
+ "@react-native/normalize-color" "^2.0.0"
+ debug "^4.3.2"
+
+expo-notifications@~0.27.6:
+ version "0.27.6"
+ resolved "https://registry.yarnpkg.com/expo-notifications/-/expo-notifications-0.27.6.tgz#ef7c95504034ac8b5fa360e13f5b037c5bf7e80d"
+ integrity sha512-F2iu/lzsrvfMyHA5BfnbZfE8fVLV8aQmNLk3NPztZ0g7911QEriZzH7BK/NKOZ5UHhJYI+hhYvcZCq2nFm1NLA==
dependencies:
"@expo/image-utils" "^0.4.0"
"@ide/backoff" "^1.0.0"
@@ -12047,12 +12011,12 @@ expo-sharing@^11.10.0:
resolved "https://registry.yarnpkg.com/expo-sharing/-/expo-sharing-11.10.0.tgz#0e85197ee4d2634b00fe201e571fbdc64cf83eef"
integrity sha512-/64RyyKlZ25WfnMXa87HbPXhIIqWwNbIku/RaIYAq4SE0XTRC+KTH3v0XFkfDa+SCG/jKsAr1pJ3vQvsNo1sCQ==
-expo-splash-screen@~0.26.2:
- version "0.26.2"
- resolved "https://registry.yarnpkg.com/expo-splash-screen/-/expo-splash-screen-0.26.2.tgz#3bf733618a76efe7dc25af32254767673b13dda2"
- integrity sha512-yvKjO+3WA1HSA/fRCtiRweC/LPYaB5UKjJQs7kHyZHjObvjAZC95tNorUitGQYPkrjgywsaDsXKlJt5KspmVgg==
+expo-splash-screen@~0.26.4:
+ version "0.26.4"
+ resolved "https://registry.yarnpkg.com/expo-splash-screen/-/expo-splash-screen-0.26.4.tgz#bc1fb226c6eae03ee351a3ebe5521a37f868cbc7"
+ integrity sha512-2DwofTQ0FFQCsvDysm/msENsbyNsJiAJwK3qK/oXeizECAPqD7bK19J4z9kuEbr7ORPX9MLnTQYKl6kmX3keUg==
dependencies:
- "@expo/prebuild-config" "6.7.3"
+ "@expo/prebuild-config" "6.7.4"
expo-status-bar@~1.11.1:
version "1.11.1"
@@ -12072,10 +12036,10 @@ expo-system-ui@~2.9.3:
"@react-native/normalize-color" "^2.0.0"
debug "^4.3.2"
-expo-task-manager@~11.7.0:
- version "11.7.0"
- resolved "https://registry.yarnpkg.com/expo-task-manager/-/expo-task-manager-11.7.0.tgz#3e87a3c3d941a60d3c4447d837b3ae95be7dcb4b"
- integrity sha512-P5pmN3rQgDaIeLyEFMXixuimeRR4IDDU6nDo1kv/Y2JQrgpNKeOHjTbRdzd6iPOeqIa+/3k3tAooU8VYp534tA==
+expo-task-manager@~11.7.2:
+ version "11.7.2"
+ resolved "https://registry.yarnpkg.com/expo-task-manager/-/expo-task-manager-11.7.2.tgz#db09ee5ed4adf1ea586c131a60196cb387a7eb4a"
+ integrity sha512-cmn7xg8+mGP7gX6deYZhvrCkKMkoBRJ+E4o5aL17Z/4ihXMfo/PFcQsrpuSYRLXzgidEw0kpppxhmYm21Jswwg==
dependencies:
unimodules-app-loader "~4.5.0"
@@ -12084,10 +12048,10 @@ expo-updates-interface@~0.15.1:
resolved "https://registry.yarnpkg.com/expo-updates-interface/-/expo-updates-interface-0.15.1.tgz#b0242fa7ba05768ada2f0faf83b90aa8b8fa65d7"
integrity sha512-B42oOB0pw4TaPoOGE/yzt9ggwNNxo3PEJRU0kIOurQ8hW5UEUC8cAbGQDYWGbTyNGp8gLBG+T2MCg+YYaCYJUw==
-expo-updates@~0.24.7:
- version "0.24.7"
- resolved "https://registry.yarnpkg.com/expo-updates/-/expo-updates-0.24.7.tgz#d7d2eb12342e6c0b5afa3a64d8d4e03f933dbf30"
- integrity sha512-3mrFP8TO13kD0HejsKjpc/OSEm10yETkbj+5QIlLTtWmu6MPYdXYdMhx8gxR7HWXiptDtuzGlWi2imFW1sHE/g==
+expo-updates@~0.24.10:
+ version "0.24.12"
+ resolved "https://registry.yarnpkg.com/expo-updates/-/expo-updates-0.24.12.tgz#17a708f52f999d0a7dcbf3d4401b5a481ab12730"
+ integrity sha512-35ZpAMSqHIyVGT5mEptaZJBxytu0mv4PIG28i3BQe+GG4ifQtY94aCOCrUwZe8Myzaf4dNVGEUXWTPo+JPCgcw==
dependencies:
"@expo/code-signing-certificates" "0.0.5"
"@expo/config" "~8.5.0"
@@ -12101,32 +12065,32 @@ expo-updates@~0.24.7:
fbemitter "^3.0.0"
resolve-from "^5.0.0"
-expo-web-browser@~12.8.1:
- version "12.8.1"
- resolved "https://registry.yarnpkg.com/expo-web-browser/-/expo-web-browser-12.8.1.tgz#9f56e70fc16f0508d6e36344f65873ca15920201"
- integrity sha512-1x47xcOor6MRo43P3L65WTaBgsj/346pPA5v+wMb1ePH9XYfuAivKGAnn318q29yGx7VhX8K7WehmJx1muA+8Q==
+expo-web-browser@~12.8.2:
+ version "12.8.2"
+ resolved "https://registry.yarnpkg.com/expo-web-browser/-/expo-web-browser-12.8.2.tgz#f34fb85c80031e0dddd4f9b9efd03cb60333b089"
+ integrity sha512-Mw8WoFMSADecNjtC4PZVsVj1/lYdxIAH1jOVV+F8v8SEWYxORWofoShfXg7oUxRLu0iUG8JETfO5y4m8+fOgdg==
dependencies:
compare-urls "^2.0.0"
url "^0.11.0"
-expo@^50.0.0-preview.10:
- version "50.0.0-preview.10"
- resolved "https://registry.yarnpkg.com/expo/-/expo-50.0.0-preview.10.tgz#344186fc6ded29aa0aeb93eae662aac5d396acc0"
- integrity sha512-E+TIIXvhnNAOHBkVSohmW3uQhsWhPbyfpj05X4CA0Tr16ZmdYAW1V43q5Au1YULaptW6BtROcMopKFLEyGBlTA==
+expo@^50.0.8:
+ version "50.0.14"
+ resolved "https://registry.yarnpkg.com/expo/-/expo-50.0.14.tgz#ddcae86aa0ba8d1be3da9ad1bdda23fa539dc97d"
+ integrity sha512-yLPdxCMVAbmeEIpzzyAuJ79wvr6ToDDtQmuLDMAgWtjqP8x3CGddXxUe07PpKEQgzwJabdHvCLP5Bv94wMFIjQ==
dependencies:
"@babel/runtime" "^7.20.0"
- "@expo/cli" "0.16.7"
- "@expo/config" "8.5.3"
- "@expo/config-plugins" "7.8.3"
- "@expo/metro-config" "0.17.1"
+ "@expo/cli" "0.17.8"
+ "@expo/config" "8.5.4"
+ "@expo/config-plugins" "7.8.4"
+ "@expo/metro-config" "0.17.6"
"@expo/vector-icons" "^14.0.0"
babel-preset-expo "~10.0.1"
expo-asset "~9.0.2"
- expo-file-system "~16.0.3"
- expo-font "~11.10.1"
- expo-keep-awake "~12.8.1"
- expo-modules-autolinking "1.10.0"
- expo-modules-core "1.11.6"
+ expo-file-system "~16.0.8"
+ expo-font "~11.10.3"
+ expo-keep-awake "~12.8.2"
+ expo-modules-autolinking "1.10.3"
+ expo-modules-core "1.11.12"
fbemitter "^3.0.0"
whatwg-url-without-unicode "8.0.0-3"
@@ -12534,6 +12498,11 @@ follow-redirects@^1.0.0, follow-redirects@^1.14.9, follow-redirects@^1.15.0:
resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.2.tgz#b460864144ba63f2681096f274c4e57026da2c13"
integrity sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==
+follow-redirects@^1.15.6:
+ version "1.15.6"
+ resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.6.tgz#7f815c0cda4249c74ff09e95ef97c23b5fd0399b"
+ integrity sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==
+
fontfaceobserver@^2.1.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/fontfaceobserver/-/fontfaceobserver-2.3.0.tgz#5fb392116e75d5024b7ec8e4f2ce92106d1488c8"
@@ -12546,6 +12515,14 @@ for-each@^0.3.3:
dependencies:
is-callable "^1.1.3"
+foreground-child@^3.1.0:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-3.1.1.tgz#1d173e776d75d2772fed08efe4a0de1ea1b12d0d"
+ integrity sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==
+ dependencies:
+ cross-spawn "^7.0.0"
+ signal-exit "^4.0.1"
+
fork-ts-checker-webpack-plugin@^6.5.0:
version "6.5.3"
resolved "https://registry.yarnpkg.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.3.tgz#eda2eff6e22476a2688d10661688c47f611b37f3"
@@ -12752,10 +12729,10 @@ get-port@^3.2.0:
resolved "https://registry.yarnpkg.com/get-port/-/get-port-3.2.0.tgz#dd7ce7de187c06c8bf353796ac71e099f0980ebc"
integrity sha512-x5UJKlgeUiNT8nyo/AcnwLnZuZNcSjSw0kogRB+Whd1fjjFq4B1hySFxSFWWSn4mIBzg3sRNUDFYc4g5gjPoLg==
-get-port@^6.1.2:
- version "6.1.2"
- resolved "https://registry.yarnpkg.com/get-port/-/get-port-6.1.2.tgz#c1228abb67ba0e17fb346da33b15187833b9c08a"
- integrity sha512-BrGGraKm2uPqurfGVj/z97/zv8dPleC6x9JBNRTrDNtCkkRF4rPwrQXFgL7+I+q8QSdU4ntLQX2D7KIxSy8nGw==
+get-port@^5.1.1:
+ version "5.1.1"
+ resolved "https://registry.yarnpkg.com/get-port/-/get-port-5.1.1.tgz#0469ed07563479de6efb986baf053dcd7d4e3193"
+ integrity sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ==
get-stream@^4.0.0:
version "4.1.0"
@@ -12830,6 +12807,17 @@ glob@7.1.6:
once "^1.3.0"
path-is-absolute "^1.0.0"
+glob@^10.3.10:
+ version "10.3.12"
+ resolved "https://registry.yarnpkg.com/glob/-/glob-10.3.12.tgz#3a65c363c2e9998d220338e88a5f6ac97302960b"
+ integrity sha512-TCNv8vJ+xz4QiqTpfOJA7HvYv+tNIRHKfUWw/q+v2jdgN4ebz+KY9tGx5J4rHP0o84mNP+ApH66HRX8us3Khqg==
+ dependencies:
+ foreground-child "^3.1.0"
+ jackspeak "^2.3.6"
+ minimatch "^9.0.1"
+ minipass "^7.0.4"
+ path-scurry "^1.10.2"
+
glob@^6.0.1:
version "6.0.4"
resolved "https://registry.yarnpkg.com/glob/-/glob-6.0.4.tgz#0f08860f6a155127b2fadd4f9ce24b1aab6e4d22"
@@ -13146,7 +13134,7 @@ html-entities@^2.1.0, html-entities@^2.3.2:
resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-2.4.0.tgz#edd0cee70402584c8c76cc2c0556db09d1f45061"
integrity sha512-igBTJcNNNhvZFRtm8uA6xMY6xYleeDwn3PeBCkDz7tHttv4F2hsDI2aPgNERWzvRcNYHNT3ymRaQzllmXj4YsQ==
-html-escaper@^2.0.0:
+html-escaper@^2.0.0, html-escaper@^2.0.2:
version "2.0.2"
resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453"
integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==
@@ -13793,6 +13781,11 @@ is-plain-object@^2.0.4:
dependencies:
isobject "^3.0.1"
+is-plain-object@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-5.0.0.tgz#4427f50ab3429e9025ea7d52e9043a9ef4159344"
+ integrity sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==
+
is-potential-custom-element-name@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz#171ed6f19e3ac554394edf78caa05784a45bebb5"
@@ -14002,6 +13995,15 @@ iterator.prototype@^1.1.0:
has-tostringtag "^1.0.0"
reflect.getprototypeof "^1.0.3"
+jackspeak@^2.3.6:
+ version "2.3.6"
+ resolved "https://registry.yarnpkg.com/jackspeak/-/jackspeak-2.3.6.tgz#647ecc472238aee4b06ac0e461acc21a8c505ca8"
+ integrity sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==
+ dependencies:
+ "@isaacs/cliui" "^8.0.2"
+ optionalDependencies:
+ "@pkgjs/parseargs" "^0.11.0"
+
jake@^10.8.5:
version "10.8.7"
resolved "https://registry.yarnpkg.com/jake/-/jake-10.8.7.tgz#63a32821177940c33f356e0ba44ff9d34e1c7d8f"
@@ -15735,6 +15737,11 @@ lower-case@^2.0.2:
dependencies:
tslib "^2.0.3"
+lru-cache@^10.2.0:
+ version "10.2.0"
+ resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.2.0.tgz#0bd445ca57363465900f4d1f9bd8db343a4d95c3"
+ integrity sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==
+
lru-cache@^4.0.1:
version "4.1.5"
resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd"
@@ -15757,11 +15764,6 @@ lru-cache@^6.0.0:
dependencies:
yallist "^4.0.0"
-lru_map@^0.4.1:
- version "0.4.1"
- resolved "https://registry.yarnpkg.com/lru_map/-/lru_map-0.4.1.tgz#f7b4046283c79fb7370c36f8fca6aee4324b0a98"
- integrity sha512-I+lBvqMMFfqaV8CJCISjI3wbjmwVu/VyOoU7+qtu9d7ioW5klMgsTTiUOUp+DJvfTTzKXoPbyC6YfgkNcyPSOg==
-
magic-string@^0.25.0, magic-string@^0.25.7:
version "0.25.9"
resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.9.tgz#de7f9faf91ef8a1c91d02c2e5314c8277dbcdd1c"
@@ -16247,6 +16249,13 @@ minimatch@^5.0.1:
dependencies:
brace-expansion "^2.0.1"
+minimatch@^9.0.1:
+ version "9.0.4"
+ resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.4.tgz#8e49c731d1749cbec05050ee5145147b32496a51"
+ integrity sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==
+ dependencies:
+ brace-expansion "^2.0.1"
+
minimist@^1.2.0, minimist@^1.2.3, minimist@^1.2.5, minimist@^1.2.6:
version "1.2.8"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c"
@@ -16285,6 +16294,11 @@ minipass@^5.0.0:
resolved "https://registry.yarnpkg.com/minipass/-/minipass-5.0.0.tgz#3e9788ffb90b694a5d0ec94479a45b5d8738133d"
integrity sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==
+"minipass@^5.0.0 || ^6.0.2 || ^7.0.0", minipass@^7.0.4:
+ version "7.0.4"
+ resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.0.4.tgz#dbce03740f50a4786ba994c1fb908844d27b038c"
+ integrity sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==
+
minizlib@^2.1.1:
version "2.1.2"
resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.2.tgz#e90d3466ba209b932451508a11ce3d3632145931"
@@ -16335,10 +16349,10 @@ moo@^0.5.1:
resolved "https://registry.yarnpkg.com/moo/-/moo-0.5.2.tgz#f9fe82473bc7c184b0d32e2215d3f6e67278733c"
integrity sha512-iSAJLHYKnX41mKcJKjqvnAN9sf0LMDTXDEvFv+ffuRR9a1MIuXLjMNL6EsnDHSkKLTWNqQQ5uo61P4EbU4NU+Q==
-mrmime@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/mrmime/-/mrmime-1.0.1.tgz#5f90c825fad4bdd41dc914eff5d1a8cfdaf24f27"
- integrity sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==
+mrmime@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/mrmime/-/mrmime-2.0.0.tgz#151082a6e06e59a9a39b46b3e14d5cfe92b3abb4"
+ integrity sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==
ms@2.0.0:
version "2.0.0"
@@ -16381,11 +16395,6 @@ multipipe@^4.0.0:
duplexer2 "^0.1.2"
object-assign "^4.1.0"
-murmurhash@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/murmurhash/-/murmurhash-2.0.1.tgz#4097720e08cf978872194ad84ea5be2dec9b610f"
- integrity sha512-5vQEh3y+DG/lMPM0mCGPDnyV8chYg/g7rl6v3Gd8WMF9S429ox3Xk8qrk174kWhG767KQMqqxLD1WnGd77hiew==
-
mute-stream@0.0.8:
version "0.0.8"
resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d"
@@ -16419,6 +16428,11 @@ nanoid@^3.1.23, nanoid@^3.3.1, nanoid@^3.3.6:
resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.6.tgz#443380c856d6e9f9824267d960b4236ad583ea4c"
integrity sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==
+nanoid@^3.3.7:
+ version "3.3.7"
+ resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.7.tgz#d0c301a691bc8d54efa0a2226ccf3fe2fd656bd8"
+ integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==
+
nanoid@^5.0.5:
version "5.0.5"
resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-5.0.5.tgz#5112efb5c0caf4fc80680d66d303c65233a79fdd"
@@ -16862,6 +16876,11 @@ open@^8.0.4, open@^8.0.9, open@^8.3.0, open@^8.4.0:
is-docker "^2.1.1"
is-wsl "^2.2.0"
+opener@^1.5.2:
+ version "1.5.2"
+ resolved "https://registry.yarnpkg.com/opener/-/opener-1.5.2.tgz#5d37e1f35077b9dcac4301372271afdeb2a13598"
+ integrity sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==
+
optionator@^0.9.3:
version "0.9.3"
resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.3.tgz#007397d44ed1872fdc6ed31360190f81814e2c64"
@@ -17168,6 +17187,14 @@ path-parse@^1.0.5, path-parse@^1.0.7:
resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
+path-scurry@^1.10.2:
+ version "1.10.2"
+ resolved "https://registry.yarnpkg.com/path-scurry/-/path-scurry-1.10.2.tgz#8f6357eb1239d5fa1da8b9f70e9c080675458ba7"
+ integrity sha512-7xTavNy5RQXnsjANvVvMkEjvloOinkAjv/Z6Ildz9v2RinZ4SBKTWFOVRbaF8p0vpHnyjV/UwNDdKuUv6M5qcA==
+ dependencies:
+ lru-cache "^10.2.0"
+ minipass "^5.0.0 || ^6.0.2 || ^7.0.0"
+
path-to-regexp@0.1.7:
version "0.1.7"
resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c"
@@ -17266,6 +17293,11 @@ picomatch@^2.0.4, picomatch@^2.0.5, picomatch@^2.2.1, picomatch@^2.2.2, picomatc
resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42"
integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
+picomatch@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-3.0.1.tgz#817033161def55ec9638567a2f3bbc876b3e7516"
+ integrity sha512-I3EurrIQMlRc9IaAZnqRR044Phh2DXY+55o7uJ0V+hYZAcQYSuFWsc9q5PvyDHUSCe1Qxn/iBz+78s86zWnGag==
+
pidtree@0.6.0:
version "0.6.0"
resolved "https://registry.yarnpkg.com/pidtree/-/pidtree-0.6.0.tgz#90ad7b6d42d5841e69e0a2419ef38f8883aa057c"
@@ -17971,6 +18003,15 @@ postcss@~8.4.21:
picocolors "^1.0.0"
source-map-js "^1.0.2"
+postcss@~8.4.32:
+ version "8.4.38"
+ resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.38.tgz#b387d533baf2054288e337066d81c6bee9db9e0e"
+ integrity sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==
+ dependencies:
+ nanoid "^3.3.7"
+ picocolors "^1.0.0"
+ source-map-js "^1.2.0"
+
postgres-array@~2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/postgres-array/-/postgres-array-2.0.0.tgz#48f8fce054fbc69671999329b8834b772652d82e"
@@ -17998,7 +18039,7 @@ postinstall-postinstall@^2.1.0:
resolved "https://registry.yarnpkg.com/postinstall-postinstall/-/postinstall-postinstall-2.1.0.tgz#4f7f77441ef539d1512c40bd04c71b06a4704ca3"
integrity sha512-7hQX6ZlZXIoRiWNrbMQaLzUUfH+sSx39u8EJ9HYuDc1kLo9IXKWjM5RSquZN1ad5GnH8CGFM78fsAAQi3OKEEQ==
-prebuild-install@^7.1.0, prebuild-install@^7.1.1:
+prebuild-install@^7.1.1:
version "7.1.1"
resolved "https://registry.yarnpkg.com/prebuild-install/-/prebuild-install-7.1.1.tgz#de97d5b34a70a0c81334fd24641f2a1702352e45"
integrity sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw==
@@ -18515,11 +18556,6 @@ react-avatar-editor@^13.0.0:
"@babel/runtime" "^7.12.5"
prop-types "^15.7.2"
-react-circular-progressbar@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/react-circular-progressbar/-/react-circular-progressbar-2.1.0.tgz#99e5ae499c21de82223b498289e96f66adb8fa3a"
- integrity sha512-xp4THTrod4aLpGy68FX/k1Q3nzrfHUjUe5v6FsdwXBl3YVMwgeXYQKDrku7n/D6qsJA9CuunarAboC2xCiKs1g==
-
react-dev-utils@^12.0.1:
version "12.0.1"
resolved "https://registry.yarnpkg.com/react-dev-utils/-/react-dev-utils-12.0.1.tgz#ba92edb4a1f379bd46ccd6bcd4e7bc398df33e73"
@@ -18598,11 +18634,6 @@ react-keyed-flatten-children@^3.0.0:
dependencies:
react-is "^18.2.0"
-react-native-appstate-hook@^1.0.6:
- version "1.0.6"
- resolved "https://registry.yarnpkg.com/react-native-appstate-hook/-/react-native-appstate-hook-1.0.6.tgz#cbc16e7b89cfaea034cabd999f00e99053cabd06"
- integrity sha512-0hPVyf5yLxCSVrrNEuGqN1ZnSSj3Ye2gZex0NtcK/AHYwMc0rXWFNZjBKOoZSouspqu3hXBbQ6NOUSTzrME1AQ==
-
react-native-date-picker@^4.4.0:
version "4.4.0"
resolved "https://registry.yarnpkg.com/react-native-date-picker/-/react-native-date-picker-4.4.0.tgz#fe5b6eb8d85a4a30b2991ada5169a30ce5023ead"
@@ -18648,18 +18679,13 @@ react-native-get-random-values@^1.6.0:
dependencies:
fast-base64-decode "^1.0.0"
-react-native-get-random-values@~1.8.0:
- version "1.8.0"
- resolved "https://registry.yarnpkg.com/react-native-get-random-values/-/react-native-get-random-values-1.8.0.tgz#1cb4bd4bd3966a356e59697b8f372999fe97cb16"
- integrity sha512-H/zghhun0T+UIJLmig3+ZuBCvF66rdbiWUfRSNS6kv5oDSpa1ZiVyvRWtuPesQpT8dXj+Bv7WJRQOUP+5TB1sA==
+react-native-get-random-values@~1.11.0:
+ version "1.11.0"
+ resolved "https://registry.yarnpkg.com/react-native-get-random-values/-/react-native-get-random-values-1.11.0.tgz#1ca70d1271f4b08af92958803b89dccbda78728d"
+ integrity sha512-4BTbDbRmS7iPdhYLRcz3PGFIpFJBwNZg9g42iwa2P6FOv9vZj/xJc678RZXnLNZzd0qd7Q3CCF6Yd+CU2eoXKQ==
dependencies:
fast-base64-decode "^1.0.0"
-react-native-haptic-feedback@^1.14.0:
- version "1.14.0"
- resolved "https://registry.yarnpkg.com/react-native-haptic-feedback/-/react-native-haptic-feedback-1.14.0.tgz#b50f49dedda4980b3c37c5780823f753cf3ee717"
- integrity sha512-dSXZ6gAzl+W/L7BPjOpnT0bx0cgQiSr0sB3DjyDJbGIdVr4ISaktZC6gC9xYFTv2kMq0+KtbKi+dpd0WtxYZMw==
-
react-native-image-crop-picker@^0.38.1:
version "0.38.1"
resolved "https://registry.yarnpkg.com/react-native-image-crop-picker/-/react-native-image-crop-picker-0.38.1.tgz#5973b4a8b55835b987e6be2064de411e849ac005"
@@ -18672,11 +18698,6 @@ react-native-ios-context-menu@^1.15.3:
dependencies:
"@dominicstop/ts-event-emitter" "^1.1.0"
-react-native-linear-gradient@^2.6.2:
- version "2.8.2"
- resolved "https://registry.yarnpkg.com/react-native-linear-gradient/-/react-native-linear-gradient-2.8.2.tgz#9811c91751be673ef928ef4aa3ff3a70b82935d6"
- integrity sha512-hgmCsgzd58WNcDCyPtKrvxsaoETjb/jLGxis/dmU3Aqm2u4ICIduj4ECjbil7B7pm9OnuTkmpwXu08XV2mpg8g==
-
react-native-pager-view@6.2.3:
version "6.2.3"
resolved "https://registry.yarnpkg.com/react-native-pager-view/-/react-native-pager-view-6.2.3.tgz#698f6387fdf06cecc3d8d4792604419cb89cb775"
@@ -18732,9 +18753,10 @@ react-native-svg@14.1.0:
css-select "^5.1.0"
css-tree "^1.1.3"
-"react-native-ui-text-view@link:./modules/react-native-ui-text-view":
- version "0.0.0"
- uid ""
+react-native-uitextview@^1.1.6:
+ version "1.1.6"
+ resolved "https://registry.yarnpkg.com/react-native-uitextview/-/react-native-uitextview-1.1.6.tgz#a70d039f415158445c90de8e8e546a7c3b251d6d"
+ integrity sha512-OTGTw4Y2DDn4dHTwN7aKOndXP6NoS/AS35Rj/Rsss+KRsGHToiv2g3ZdzQ0ZhZabhwl1u+Oht+wSU/FU+SoJ+Q==
react-native-url-polyfill@^1.3.0:
version "1.3.0"
@@ -18748,11 +18770,6 @@ react-native-uuid@^2.0.1:
resolved "https://registry.yarnpkg.com/react-native-uuid/-/react-native-uuid-2.0.1.tgz#ed4e2dfb1683eddb66967eb5dca140dfe1abddb9"
integrity sha512-cptnoIbL53GTCrWlb/+jrDC6tvb7ypIyzbXNJcpR3Vab0mkeaaVd5qnB3f0whXYzS+SMoSQLcUUB0gEWqkPC0g==
-react-native-version-number@^0.3.6:
- version "0.3.6"
- resolved "https://registry.yarnpkg.com/react-native-version-number/-/react-native-version-number-0.3.6.tgz#dd8b1435fc217df0a166d7e4a61fdc993f3e7437"
- integrity sha512-TdyXiK90NiwmSbmAUlUBOV6WI1QGoqtvZZzI5zQY4fKl67B3ZrZn/h+Wy/OYIKKFMfePSiyfeIs8LtHGOZ/NgA==
-
react-native-view-shot@^3.8.0:
version "3.8.0"
resolved "https://registry.yarnpkg.com/react-native-view-shot/-/react-native-view-shot-3.8.0.tgz#1aa1905f0e79428ca32bf80c16fd4abc719c600b"
@@ -18760,11 +18777,6 @@ react-native-view-shot@^3.8.0:
dependencies:
html2canvas "^1.4.1"
-react-native-web-linear-gradient@^1.1.2:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/react-native-web-linear-gradient/-/react-native-web-linear-gradient-1.1.2.tgz#33f85f7085a0bb5ffa5106faf02ed105b92a9ed7"
- integrity sha512-SmUnpwT49CEe78pXvIvYf72Es8Pv+ZYKCnEOgb2zAKpEUDMo0+xElfRJhwt5nfI8krJ5WbFPKnoDgD0uUjAN1A==
-
react-native-web-webview@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/react-native-web-webview/-/react-native-web-webview-1.0.2.tgz#c215efa70c17589f2c8d640b1f1dc669b18c6e02"
@@ -19738,11 +19750,6 @@ set-blocking@^2.0.0:
resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7"
integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==
-set-cookie-parser@^2.4.8:
- version "2.6.0"
- resolved "https://registry.yarnpkg.com/set-cookie-parser/-/set-cookie-parser-2.6.0.tgz#131921e50f62ff1a66a461d7d62d7b21d5d15a51"
- integrity sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ==
-
set-function-name@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/set-function-name/-/set-function-name-2.0.1.tgz#12ce38b7954310b9f61faa12701620a0c882793a"
@@ -19851,6 +19858,11 @@ signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7:
resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9"
integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==
+signal-exit@^4.0.1:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-4.1.0.tgz#952188c1cbd546070e2dd20d0f41c0ae0530cb04"
+ integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==
+
simple-concat@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/simple-concat/-/simple-concat-1.0.1.tgz#f46976082ba35c2263f1c8ab5edfe26c41c9552f"
@@ -19881,6 +19893,15 @@ simple-swizzle@^0.2.2:
dependencies:
is-arrayish "^0.3.1"
+sirv@^2.0.3:
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/sirv/-/sirv-2.0.4.tgz#5dd9a725c578e34e449f332703eb2a74e46a29b0"
+ integrity sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==
+ dependencies:
+ "@polka/url" "^1.0.0-next.24"
+ mrmime "^2.0.0"
+ totalist "^3.0.0"
+
sisteransi@^1.0.5:
version "1.0.5"
resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed"
@@ -19961,6 +19982,11 @@ source-map-js@^1.0.1, source-map-js@^1.0.2:
resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c"
integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==
+source-map-js@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.0.tgz#16b809c162517b5b8c3e7dcd315a2a5c2612b2af"
+ integrity sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==
+
source-map-loader@^3.0.0, source-map-loader@^3.0.1:
version "3.0.2"
resolved "https://registry.yarnpkg.com/source-map-loader/-/source-map-loader-3.0.2.tgz#af23192f9b344daa729f6772933194cc5fa54fee"
@@ -19978,7 +20004,7 @@ source-map-support@0.5.13:
buffer-from "^1.0.0"
source-map "^0.6.0"
-source-map-support@^0.5.16, source-map-support@^0.5.21, source-map-support@^0.5.6, source-map-support@~0.5.20, source-map-support@~0.5.21:
+source-map-support@^0.5.16, source-map-support@^0.5.6, source-map-support@~0.5.20, source-map-support@~0.5.21:
version "0.5.21"
resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f"
integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==
@@ -20191,11 +20217,6 @@ stream-json@^1.7.4, stream-json@^1.7.5:
dependencies:
stream-chain "^2.2.5"
-stream-slice@^0.1.2:
- version "0.1.2"
- resolved "https://registry.yarnpkg.com/stream-slice/-/stream-slice-0.1.2.tgz#2dc4f4e1b936fb13f3eb39a2def1932798d07a4b"
- integrity sha512-QzQxpoacatkreL6jsxnVb7X5R/pGw9OUv2qWTYWnmLpg4NdN31snPy/f3TdQE1ZUXaThRvj1Zw4/OGg0ZkaLMA==
-
streamx@^2.15.0:
version "2.15.5"
resolved "https://registry.yarnpkg.com/streamx/-/streamx-2.15.5.tgz#87bcef4dc7f0b883f9359671203344a4e004c7f1"
@@ -20240,7 +20261,7 @@ string-natural-compare@^3.0.1:
resolved "https://registry.yarnpkg.com/string-natural-compare/-/string-natural-compare-3.0.1.tgz#7a42d58474454963759e8e8b7ae63d71c1e7fdf4"
integrity sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw==
-string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3:
+"string-width-cjs@npm:string-width@^4.2.0", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3:
version "4.2.3"
resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010"
integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
@@ -20249,7 +20270,7 @@ string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3:
is-fullwidth-code-point "^3.0.0"
strip-ansi "^6.0.1"
-string-width@^5.0.0, string-width@^5.0.1:
+string-width@^5.0.0, string-width@^5.0.1, string-width@^5.1.2:
version "5.1.2"
resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794"
integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==
@@ -20349,6 +20370,13 @@ stringify-object@^3.3.0:
is-obj "^1.0.1"
is-regexp "^1.0.0"
+"strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1:
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9"
+ integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==
+ dependencies:
+ ansi-regex "^5.0.1"
+
strip-ansi@^5.0.0, strip-ansi@^5.2.0:
version "5.2.0"
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae"
@@ -20356,13 +20384,6 @@ strip-ansi@^5.0.0, strip-ansi@^5.2.0:
dependencies:
ansi-regex "^4.1.0"
-strip-ansi@^6.0.0, strip-ansi@^6.0.1:
- version "6.0.1"
- resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9"
- integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==
- dependencies:
- ansi-regex "^5.0.1"
-
strip-ansi@^7.0.1:
version "7.1.0"
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.0.tgz#d5b6568ca689d8561370b0707685d22434faff45"
@@ -20435,6 +20456,11 @@ structured-headers@^0.4.1:
resolved "https://registry.yarnpkg.com/structured-headers/-/structured-headers-0.4.1.tgz#77abd9410622c6926261c09b9d16cf10592694d1"
integrity sha512-0MP/Cxx5SzeeZ10p/bZI0S6MpgD+yxAhi1BOQ34jgnMXsCq3j1t6tQnZu+KdlL7dvJTLT3g9xN8tl10TqgFMcg==
+structured-headers@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/structured-headers/-/structured-headers-1.0.1.tgz#1821e434e0fe45bdd78f07c779b16519ab520415"
+ integrity sha512-QYBxdBtA4Tl5rFPuqmbmdrS9kbtren74RTJTcs0VSQNVV5iRhJD4QlYTLD0+81SBwUQctjEQzjTRI3WG4DzICA==
+
style-loader@^3.3.1:
version "3.3.3"
resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-3.3.3.tgz#bba8daac19930169c0c9c96706749a597ae3acff"
@@ -20453,7 +20479,7 @@ styleq@^0.1.3:
resolved "https://registry.yarnpkg.com/styleq/-/styleq-0.1.3.tgz#8efb2892debd51ce7b31dc09c227ad920decab71"
integrity sha512-3ZUifmCDCQanjeej1f6kyl/BeP/Vae5EYkQ9iJfUm/QwZvlgnZzyflqAsAWYURdtea8Vkvswu2GrC57h3qffcA==
-sucrase@^3.20.0, sucrase@^3.32.0:
+sucrase@3.34.0, sucrase@^3.20.0, sucrase@^3.32.0:
version "3.34.0"
resolved "https://registry.yarnpkg.com/sucrase/-/sucrase-3.34.0.tgz#1e0e2d8fcf07f8b9c3569067d92fbd8690fb576f"
integrity sha512-70/LQEZ07TEcxiU2dz51FKaE6hCTWC6vr7FOk3Gr0U60C3shtAN+H+BFr9XlYe5xqf3RA8nrc+VIwzCfnxuXJw==
@@ -20866,6 +20892,11 @@ token-types@^4.1.1:
"@tokenizer/token" "^0.3.0"
ieee754 "^1.2.1"
+totalist@^3.0.0:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/totalist/-/totalist-3.0.1.tgz#ba3a3d600c915b1a97872348f79c127475f6acf8"
+ integrity sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==
+
tough-cookie@^4.0.0, tough-cookie@^4.1.2:
version "4.1.3"
resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.1.3.tgz#97b9adb0728b42280aa3d814b6b999b2ff0318bf"
@@ -21322,13 +21353,6 @@ use-callback-ref@^1.3.0:
dependencies:
tslib "^2.0.0"
-use-deep-compare@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/use-deep-compare/-/use-deep-compare-1.1.0.tgz#85580dde751f68400bf6ef7e043c7f986595cef8"
- integrity sha512-6yY3zmKNCJ1jjIivfZMZMReZjr8e6iC6Uqtp701jvWJ6ejC/usXD+JjmslZDPJQgX8P4B1Oi5XSLHkOLeYSJsA==
- dependencies:
- dequal "1.0.0"
-
use-latest-callback@^0.1.5:
version "0.1.6"
resolved "https://registry.yarnpkg.com/use-latest-callback/-/use-latest-callback-0.1.6.tgz#3fa6e7babbb5f9bfa24b5094b22939e1e92ebcf6"
@@ -21372,7 +21396,7 @@ util.promisify@~1.0.0:
has-symbols "^1.0.1"
object.getownpropertydescriptors "^2.1.0"
-util@^0.12.0, util@^0.12.3:
+util@^0.12.0:
version "0.12.5"
resolved "https://registry.yarnpkg.com/util/-/util-0.12.5.tgz#5f17a6059b73db61a875668781a1c2b136bd6fbc"
integrity sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==
@@ -21530,20 +21554,6 @@ wcwidth@^1.0.1:
dependencies:
defaults "^1.0.3"
-web-encoding@1.1.5:
- version "1.1.5"
- resolved "https://registry.yarnpkg.com/web-encoding/-/web-encoding-1.1.5.tgz#fc810cf7667364a6335c939913f5051d3e0c4864"
- integrity sha512-HYLeVCdJ0+lBYV2FvNZmv3HJ2Nt0QYXqZojk3d9FJOLkwnuhzM9tmamh8d7HPM8QqjKH8DeHkFTx+CFlWpZZDA==
- dependencies:
- util "^0.12.3"
- optionalDependencies:
- "@zxing/text-encoding" "0.9.0"
-
-web-streams-polyfill@^3.1.1:
- version "3.2.1"
- resolved "https://registry.yarnpkg.com/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz#71c2718c52b45fd49dbeee88634b3a60ceab42a6"
- integrity sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==
-
webidl-conversions@^3.0.0:
version "3.0.1"
resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871"
@@ -21569,6 +21579,25 @@ webidl-conversions@^7.0.0:
resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-7.0.0.tgz#256b4e1882be7debbf01d05f0aa2039778ea080a"
integrity sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==
+webpack-bundle-analyzer@^4.10.1:
+ version "4.10.1"
+ resolved "https://registry.yarnpkg.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.10.1.tgz#84b7473b630a7b8c21c741f81d8fe4593208b454"
+ integrity sha512-s3P7pgexgT/HTUSYgxJyn28A+99mmLq4HsJepMPzu0R8ImJc52QNqaFYW1Z2z2uIb1/J3eYgaAWVpaC+v/1aAQ==
+ dependencies:
+ "@discoveryjs/json-ext" "0.5.7"
+ acorn "^8.0.4"
+ acorn-walk "^8.0.0"
+ commander "^7.2.0"
+ debounce "^1.2.1"
+ escape-string-regexp "^4.0.0"
+ gzip-size "^6.0.0"
+ html-escaper "^2.0.2"
+ is-plain-object "^5.0.0"
+ opener "^1.5.2"
+ picocolors "^1.0.0"
+ sirv "^2.0.3"
+ ws "^7.3.1"
+
webpack-cli@^5.0.1:
version "5.1.4"
resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-5.1.4.tgz#c8e046ba7eaae4911d7e71e2b25b776fcc35759b"
@@ -22058,19 +22087,19 @@ workbox-window@6.6.1:
"@types/trusted-types" "^2.0.2"
workbox-core "6.6.1"
-wrap-ansi@^6.2.0:
- version "6.2.0"
- resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53"
- integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==
+"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0", wrap-ansi@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43"
+ integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==
dependencies:
ansi-styles "^4.0.0"
string-width "^4.1.0"
strip-ansi "^6.0.0"
-wrap-ansi@^7.0.0:
- version "7.0.0"
- resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43"
- integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==
+wrap-ansi@^6.2.0:
+ version "6.2.0"
+ resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53"
+ integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==
dependencies:
ansi-styles "^4.0.0"
string-width "^4.1.0"
@@ -22124,7 +22153,7 @@ ws@^6.2.2:
dependencies:
async-limiter "~1.0.0"
-ws@^7, ws@^7.0.0, ws@^7.4.6, ws@^7.5.1:
+ws@^7, ws@^7.0.0, ws@^7.3.1, ws@^7.4.6, ws@^7.5.1:
version "7.5.9"
resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591"
integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==
@@ -22340,11 +22369,6 @@ zeego@^1.6.2:
"@radix-ui/react-dropdown-menu" "^2.0.1"
sf-symbols-typescript "^1.0.0"
-zod@3.21.4:
- version "3.21.4"
- resolved "https://registry.yarnpkg.com/zod/-/zod-3.21.4.tgz#10882231d992519f0a10b5dd58a38c9dabbb64db"
- integrity sha512-m46AKbrzKVzOzs/DZgVnG5H55N1sv1M8qZU3A8RIKbs3mrACDNeIOeilDymVb2HdmP8uwshOCF4uJ8uM9rCqJw==
-
zod@^3.14.2, zod@^3.20.2, zod@^3.21.4:
version "3.22.2"
resolved "https://registry.yarnpkg.com/zod/-/zod-3.22.2.tgz#3add8c682b7077c05ac6f979fea6998b573e157b"